Jump to content

15 Screenshots

About This File

A Database editor for gooser's Apropos mod, powered by Java Swing and Google's JSON parser, GSON. Apropos relies on a folder structured database of JSON formatted text files, with one file for each stage of an animation. This usually means you need a minimum of four files open to browse or edit the lines for an animation or position, and it can be very easy to make mistakes that leave unparseable JSON.

As such, the aim when creating this editor was to provide a single application that makes browsing and editing an Apropos Database easier, faster, and more approachable.

 

Requirements:
Apropos. This editor isn't good for much else.
Java SE Runtime Environment 8. Can be ported to Java 7 on request, but I do make use of some of 8's features. Not to mention that you should always use the latest release

 

Current Features:
1.0

  • Select any database folder on your computer.
  • Browse through the list of automatically fetched Actor Combinations.
  • Display an entire position's file's, divided and indented by stage and perspective.
  • Edit any opened line simply by double clicking and typing away.
  • Add new lines, and duplicate or remove existing lines with the right click menu.
  • Wipe entire sections or stages if you wish to start over.
  • Write button to commit all your changes in perfect JSON to be immediately available in game.
  • Simulate Apropos on a set of files by replacing {TAGS} with randomly chosen synonyms and highlight one line from each section to form a set that could have been chosen in game.
  • Open scenes in new windows to make it easier to look for inspiration for new files.
  • Lines in new windows are fully editable, so if you spot a mistake while working on a file in the main window, you can edit and commit the changes from the external window.
  • Copy an existing position's lines to a new position provided by name, automatically renaming the files to match the new position name and loading the new files into the main window.
  • Unify Formatting across the entire database to match the format outputted by the editor, fixing any mixed tabs and spaces or redundant newlines. Will report any JSON Errors in the databases files.
  • Quick descriptions for each button are given with tooltips by hovering over the (?) symbol.
  • Program will remember it's position and size onscreen when closed, as well as any database locations you've added and the actor names chosen for simulation to be re-loaded when you next open it.
  • If a chosen folder has a listing in the UniqueAnimations list, the Unique position will be auto-selected.
  • Window is fully resizable, so make it as big or small as you want.
  • Minimising the main window will minimise every open sub window, and re-maximising any window will bring every window back up.

1.1

  • Copy an existing position's lines and add them to the matching sections in another existing position.
  • Hotkeys for navigating the application faster, visible by hovering over each button.
  • Add new Stages or remove existing ones.
  • Copy lines, perspectives and stages around in the open position.
  • Positions combo-box will only contain available positions.
  • Rape checkbox will auto-select based on available files.

1.2a2

  • Check a file for duplicate lines left by typo-corrections or mergeing files, then choose which lines, if any, you want to discard with a click of the 'Resolve Conflicts' button.
  • Automatically convert between 1st and 2nd Person when using the copy to options in a perspective's right click menu.
  • Get color coded warnings that scale from Yellow (Possible) to Red (Certain) based on probability that the line is long enough to get cut off in-game.

1.2a3

  • Update Available Notification in the header when a new release is made on GitHub.
  • Copy and Paste options in right click menu on stage and perspective headers to convert to and from JSON using the system's clipboard. You can now copy lines between windows or even just outside the program.
  • New Hotkey (F5) that re-selects the loaded animation in the drop-down boxes, in case you want to reload it or just forgot what was loaded.

1.2a4

  • Word Wrapping for each line of text
  • Tabs for each file opened in the main window. Close with CTRL + W, Cycle through with CTRL + TAB and CTRL + SHIFT + TAB.
  • Update Available Notification in a new Tab with Download button for the new release.
  • Synoynms Viewer to display the contents of the three Synonyms files.
  • Progress Bar in the bottom left will update during long tasks and display current tasks the editor is working on or has completed.
  • Alphabetical Line Sorting for Unify Formatting function, to aid with merging databases.
  • Shortened Filenames in Drop Down boxes and Tabs to free up space for text.
  • Unix Support, becuase why not.

Installation and Quickstart Guide:

  1. Download the .zip attached here or just the .jar from the Latest Release on GitHub.
  2. Extract the .zip, discarding the sources if you don't care about them.
  3. Place the .jar in the /Apropos/ directory, so in the same folder /db/ folder is in.
  4. Launch the jar by double clicking, or with command line "java -jar Apropos_Edit-1.0.1.jar".
  5. Select "<other>" from the combo-box to the right of "Apropos \db\ Location"
  6. Select the db folder that should be right in front of you, otherwise navigate to the database you want to open.
  7. Select a folder from the combo-box below Animation Options, a position from the box below that, and whether or not you want the Rape files.
  8. Load!
  9. Right click on lines for options like Clear, Remove or Duplicate, Double Click to edit, escape/click somewhere else to cancel, enter to save the new line.
  10. Click the write button to save your changes!

Hotkeys

  • CTRL + W - Close Tab or Window if no Tabs Open
  • CTRL + O - Open Selected Animation
  • CTRL + SHIFT + O - Open Selected Animation in New Window
  • CTRL + S - Save (Previously Write) your changes
  • CTRL + N - Copy Selected Animation to new position
  • CTRL + SHIFT + N - Copy Selected Animation and append it to an Existing Animation
  • CTRL + R - Simulate (Run) the lines, opening the names dialog
  • CTRL + SHIFT + R - Simulate (Run) the lines, skipping the names dialog
  • CTRL + TAB - Cycle to the next tab to the right
  • CTRL + SHIFT + TAB - Cycle to the next tab to the left
  • ALT + F - Select the Folder combo-box
  • ALT + P - Select the Positions combo-box
  • ALT + R - Select the Rape checkbox
  • F5 - Select the open animation in the Folder and Position combo-boxes

Planned Features:
Best way to keep up with planned features is to check the Open Enhancements on the Issue Tracker, where you can also suggest new features and be automatically notified when those features are worked on or completed.

 

Planned for the next release (1.2): Progress [ ||||||||||||| ]

  • (T) Making simulation pick a single arousal and wear and tear level for the entire simulation, optionally configured.
  • (T) Wordwrap on the description lines and their attached editors.
  • (T) Support for Editing the various Synonyms files.
  • (T) Regex powered entire database search, like grep but won't require you to navigate to each file, find the line, edit it correctly, etc. Would display every matching line for every animation in the entire database.
  • (T) List Broken Synonyms - Will scan the database for any lines that have {TAGS} that don't have any entries in Synonyms.txt or other synonym files, displaying the lines so you can fix the tags manually. Will find any typos in tags or tags from files that may have come from other databases without the synonyms entries to match.
  • (T) Suggest Synonyms - Will scan the database for any words that also exist under a Synonym tag, so you can add new tags to the Synonyms file and then retroactively replace words the tag produces in existing lines.
  • (T) Fuzzy Line comparison to see if two lines may be duplicates of eachother, where perhaps one may have a fixed typo instead.
  • (T) Copy to Existing Position will check for duplicates before completing the insert, since many files in Apropos share lines between them.
  • (T) Check existing file for duplicates, so you can clean up existing files - especially the larger ones.
  • (T) Warning when line may be too long to display in game, scaling from unlikely to certain based on longest and shortest possible combination of synonyms
  • (T) Button to select the currently open animation in the dropdown boxes.
  • (T) Perspective Shifting when copying between perspectives.
  • (T) Perspective/Stage copy/paste using system clipboard, to allow moving lines between windows and exporting to/importing from other text editors

Future Plans

  • (T) Fix Comma Errors - Will scan for JSON Validation errors in your database and automatically attempt to fix them by manually reading and rewriting the file.
  • (T) Support for Themes, to copy animations and synonyms between, adjust weighting, simulate with a given theme, etc.
  • (T) Support for Keyboard only navigation, so between lines, between animations and between databases.
  • (T) Load recently displayed lines from the Apropos logs for quick editing.
  • (T) Will only happen if I can find any existing libraries that support the process, but potentially, maybe, actually displaying the animation (or at least a few frames from it) while you work on lines for it. Ideally at least looking like Leito's Animation Previews. I don't have much hope for this one, but can't deny it would be sweet. If anyone has any ideas, even a non-java workflow, I'd love to hear it. Potential alternative would just be very dedicated screenshotting, I guess.

Known Issues (GitHub Tracker):

  • (T) Writes use Unix Line Endings instead of Windows CRLF. You will not be able to open the files in Notepad.exe after writing or unifying formatting, but any text editor worth using will handle it fine. Also of note, written lines will have the opening brace on the same line as the key, instead of on a newline as it is written in the current database downloads. If you aren't a fan of the One True Brace Style, I'm afraid I don't have an easy way to fix this. Could be done if it really bothers people, but it would add a fair bit of computation to every write.
  • (T) Synonyms Editor will throw lots of errors if you try to right click in it, since I reused basically all the code for the main window. A proper editor for those files is coming soon.

Reporting Issues or Suggesting Features:
If you find an issue that isn't listed above or have an idea for a feature that isn't currently planned, please tell me about it either in the Support Topic or on the Issue Tracker.
If the issue involved an exception, please include the StackTrace and any steps required to reproduce the error. If the program didn't display the stacktrace, open command line, CD to the .jar's location, and execute it with "java -jar Apropos_Edit-1.0.1.jar >> output.txt". Perform any steps you need to get to the error, then edit the application, and find the output.txt file that will be in the same directory as the .jar. Attach that to any post or issue you make.

 

Source:
The entire project is open source, and the included source zip is an importable Eclipse Project. Source files, commit log and release history is available on GitHub. If you're interested in contributing, feel free to fork and send a pull request.

 

Credits:
gooser for his work on the Apropos mod which is this program's sole reason for existing.
Google and the 41 Contributors who made gson.
Atlassian and the 16 Contributors who made commonmark-java.
James McMinn for his EditableJLabel that provided the base implementation for the editable fields I use for every line.


What's New in Version 1.2a4

Released

  • -------- 1.2a4 -------
  • (FEATURE) - Word Wrapping for description lines
  • (FEATURE) - Tabs for main window
  • (FEATURE) - Update Information and Auto-Updater
  • (FEATURE) - Synonyms Viewer
  • (FEATURE) - Progress Bar
  • (FEATURE) - Alphabetical Line Sorting for Unify Formatting
  • (FEATURE) - Unix Support
  • (UPDATE) - Shortened Filenames in Dropdown boxes
  • (FIXED) - Actually added MMMMMF support
  • (FIXED) - {}'s being stripped from pasted lines
  • (FIXED) - Refresh/Re-select button not working on subwindows
  • (FIXED) - Unhelpful perspective shifting
  • -------- 1.2a3 -------
  • (FEATURE) - Copy and Paste to clipboard for inter-window and inter-app transfers
  • (FEATURE) - Update Notification when new GitHub release posted
  • (FEATURE) - F5 Hotkey to reselect open file in combo-boxes
  • (UPDATE) - Added MMMF, MMMMF and MMMMMF tags for Positions
  • (UPDATE) - Improvements to duplicate matching for partially rewritten lines
  • (FIXED) - Bugs spawned by creating or opening animations with more than 9 stages
  • (FIXED) - Some options occasionally not appearing in right-click menu
  • -------- 1.2a2 -------
  • (FEATURE) - Duplicate Finding to clean up identical or similar lines
  • (FEATURE) - Perspective Shifting between 1st and 2nd Person
  • (FEATURE) - Color coded warnings scaling on probability that a line is too long to display in game
  • (FIXED) - Simulated lines would not show changes made until re-simulated
  • (FIXED) - Creating new rape files for an animation would leave '_Rape' in UniqueAnimations.txt
  • (FIXED) - Some exceptions that weren't being reported to the user
  • --------- 1.1 ---------
  • (FEATURE) - Hotkeys for Animation Option actions and selecting main combo-boxes
  • (FEATURE) - Full Stage Control, remove or insert new stages
  • (FEATURE) - Copy lines, perspectives or stages
  • (FEATURE) - Copy entire files to existing positions
  • (CHANGE) - Positions Combo-box only contains existing positions
  • (CHANGE) - Rape checkbox auto-selection
  • (CHANGE) - Load renamed to Open
  • (CHANGE) - Write renamed to Save
  • (FIXED) - Tabbing out would reset changes to opened line
  • (FIXED) - Windows could be opened off the edge of the screen
  • (FIXED) - Visual errors occurred when duplicating or removing lines
  • -------- 1.0.1 --------
  • (FIXED) - Fix for simulate on External Frames
  • --------- 1.0 ---------
  • Initial Release

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use