To better deal with the random savefile corruptions that occur for some
users. This should help? I tested it with each file in the chain
corrupted to make sure it was falling back onto the backups properly,
and made it delete the base file if all backups were corrupt, which is a
very unlikely scenario but might as well put a case to handle it.
Settings menu now fully works, but will need to add more changes in a
bit to make it save a settings file (so user won't have to change
settings every relaunch)
An ending that made me very, VERY teary-eyed, interrupted by an access
denied error…argh, code bugs, why! >~< Basically, the path to “My
Games” and the name of the journal’s executable are now defined by
oneshot.cpp and loaded into the Ruby script, so the ending isn’t
interrupted. Now all that’s left is to compile the journal!
Apparently there was already a function for reseting the frame wait,
used commonly after loading files. So we don't have to use the hacky
method of making the game wait for X number of frames anymore.
If you opened the fast travel or the item menu right before touching a
touch-run event, it would soft-lock you if the event changed niko's
move-route, since niko was unable to move due to his update function
being unreached.
This was causing a bug where if you had 4 choices you could access
another page with blank choices? Rather than try to figure out why
that's happening I'm opting to remove the functionality entirely, as
we're short on time and we don't even have any choice dialogues that
have more than 4 choices anyways.
The interpreter needs to +1 to the index before saving or else
quit_game_bed will have the game stuck in an infinite loop of quitting
the game when reloading, but we need to -1 immediately after because
otherwise the interpreter will skip a command after this is called.
The game would try to catch up in frames when a window prompt was
opened, so if the window was open for 140 frames the game would process
the next 140 frames instantly after the game was closed. To fix this, I
have the window prompt time how long it's opened and then I tell the
game to sleep for however many frames it was opened for.
Credits message works but does not yet have all the desired features,
will finish up later.
With these changes the game technically never "allows" you to quit, and
instead the input is handled by Scene_Map. This lets us run an event
before they quit.
In the barrens during the prophet bot scene, the game was comparing the
entered name to Oneshot::USER_NAME. But this was incorrect, as the name
could be either the steam name or the pc username and the name has some
preprocessing done to it. With this new script function, we can compare
the name correctly
-If niko's character graphic is one of the gasmask graphics, change all
his facepics to the gasmask facepic
-User can now prompt text to show instantly by pressing action or cancel
while text is scrolling
This lets the user fadein bgm after using a normal "play bgm" command in
the event editor. Just simply call "Script.fadein_bgm(target, speed)"
with the target being the target vol % that you want the fade in to
eventually reach and the speed being how fast you want it to reach it (1
- slowest, 100-instant)
This was causing footsteps tiles in the barrens to allow the player to
interact with objects an extra tile in front of them, which was causing
issues (ex: letting players talk to doors through walls)
With this, autoloading upon launching the game should be fully working.
Also added some randomness to the pitch of step_sfx to make them sound a
bit less repetitive, and made it so the game can only save if the
current scene is a Scene_Map (because auto_saving at the titlescreen
breaks things pretty badly).
This adds 2 new things to the vanilla text box. "\>" will now make the
script wait for user input before continuing to display text.
"\@facepic_name" will change the face graphic to facepic_name without
needing to reopen the message window.