
This was a slow week, due to other obligations, but I still managed some exciting updates. Namely, modding documentation is now available! I also began on the HIA portion of chapter 2.
You can now generate a sample mod in the user mods directory by going to the options page and selecting modding. This sample mod also includes nearly 4000 words of documentation and a 1300-word extra story in the same setting as the main story. I went a bit overboard in the writing...
To assist with modding (and my future plans for chapter 3), I changed the inventory and text-replacement commands to execute in line order, rather than in a fixed by-command-type order. This will allow you to, for example, have an `ifreplace` which sets up for an `ifreplacelist`, or vice-versa (chapter 2 already includes an instance of `ifreplacelist` setting up for an `ifreplace`). It also allowed me to clean up the tutorial paragraphs a bit and even include a loop so you can try the page-percent tutorial multiple times.
I also got my first bit of critical feedback from the public! Namely, pre-collection creates a distracting mountain of rainbow text under the pager/banks. To address this, I added the "jumble limit" and "flying text" options. Side note: If you want your name/screenname included in these blog posts after you provide feedback, let me know at time of feedback. I default to omitting it for people I don't personally know, for privacy reasons.
I got a small amount of work done on chapter 2, but I have the plans for the rest of it bouncing around in my head, so I should be able to make good progress in the next week. The code work is going to start drying up, so story work will pick up the pace.
* writing: trip to HIA
* added trip to HIA and first sentence of unfollowed interaction with greeter * changed how exports work
* rather than doubling the number of export presets each time I add a feature flag, I now use feature files for store and re-use the Linux packs for Windows; will need to test this latter aspect
* re-organized stories directory to separate the actual story from the rest of the stuff (menus/licenses/etc.) * fixing minor issues with builds
* stores are no longer defined by feature flags, so the "print feature-flags" logic is useless
* DebugPath/DebugState tres files get a .remap slapped on the end in builds, so we need to strip that off * added ch01_end DebugState * parsed text commands are now also stored in-order
* when ParagraphGenerator is parsing text commands, it now stores in both commands_by_type (renamed from "commands") and commands_in_order, the latter being an array of all non-settings text commands
* this allows the replacer commands (ifreplace, ifreplacelist, storereplace) and inventory commands (addinventory, removeinventory, ifaddinventory) to be executed in any order the author prefers, rather than in a hard-coded order
* modified the tutorial to take advantage of this by putting both the removeinventory and addinventory commands in the same paragraph
* also added a new bookmark change command to the "good/bad" choice to allow the player to re-attempt the typing; and split up the two lines into "virtual" paragraphs (separated by underscore instead of newlines) * initial work on modding documentation
* changed DataLoader to only load from specific res:// folders
* added modding_samples folder with samples of Story and MusicGroup (still need to add sample Achievement)
* sample chapters include a basic summary (ch01), a detailed list of text commands (ch02), and a detailed list of word commands (ch03); I still need to add a "full" example (ch04) which shows off the text commands and word commands in-action * added "full" sample chapter
* added the ch04 sample chapter which contains a mini-story about a transient crin worker starting their day
* added sample achievements for said story
* changed folder name from 'modding_samples' to 'sample_mod', so I can just wholesale copy the folder to user://mods/sample_mod
* added some error tolerance/correction to AchievementManager * added OptionsChapter action to generate sample mod
* added a subpage to OptionsChapter's Other Actions with commands to generate (i.e. copy from res) a sample mod, or open the mods folder in a file browser
* added GENERATE_MOD change command to accommodate above
* fixed an issue with MusicGroup where it could not load user-mod music files, because Godot cannot load actual resources from non-res:// folders
* fixed some typos and editing errors in the sample mod * added options to limit flying and jumbled text
* per request from MemerBear for reduced distractions, I added JUMBLE_LIMIT and FLYING_TEXT options
* JUMBLE_LIMIT option allows limiting the number of jumbled labels to 100 (not going to bother soft-coding this)
* FLYING_TEXT option allows disabling words/letters from flying to the top, or even all precollected labels * fixed issue with exported music
* my method for loading music files from user:// does not work for music files in res://, so I need both the load() style and load_from_file() style