File information

Last updated

Original upload

Created by

Nova77

Uploaded by

Nova77x

Virus scan

Safe to use

Tags for this mod

About this mod

This tool will allow you to change the time, day, and save point location in your save files. It includes
just about every save point, and area entrance/exit zone. There are also many custom save locations
for convenience, or to get past barriers.

Permissions and credits
TimeWarp

This tool will allow you to change the time, day, and save point location in your save files. It includes
just about every save point, and area entrance/exit zone. There are also many custom save locations
for convenience, or to get past barriers.

v1.7 Update:

- Updated Event Fixer:

  - Fixed: Small issue with duo and solo runs.

v1.6 Update:

- Updated Event Fixer:

  - Fixed: Ability Alchemic Acumen didn't trigger after speaking with Grand Croix.

v1.5 Update:

- General code refinements and stability improvements.

- Major update to included mod Event Fixer.

v1.4 Update:

- Small correction to integrated Event Fixer.

v1.3 Update:

- Added companion mod Event Fixer. It has no impact on a game played normally, but handles all sorts of edge cases.
  Think of it as a safety mod for TimeWarp and Xchange Party. It doesn't just prevent, but also recovers from rare issues.

v1.2 Update:

- A rare issue with a save missing PlayerTransform data is fixed.

v1.1 Update:

- Selecting Beiser (depending on your save progress) is supposed to trigger a dialog with a confirmation just once.
  Not several times. This has been fixed.

Instructions for Optional Mod Event Fixer:

Put the "event_fixer.pak" file in your mod folder.

That's it.

To put things back the way they were, just remove the pak file.

Note: If you do not use "event_fixer.pak" visiting Beiser early can cause issues with a few NPCs. 
          But there's an option to fix it if you do. The option becomes disabled when you pass that point in the game.

Note 2: Save locations added in v1.1.0 are included, but only appear for v1.1.0 save files.

Details:

This tool will allow you to manually adjust the time of day, select the spirit day, and modify your spawn
location when you load your save file.

The time of day is a 24 hour clock, with daytime "Lumina Time" starting at 7:30am, and nightttime "Shade Time"
starting at 7:30pm. You can change it to whatever you want, unless time is currently disabled (Ghost Ship).
The day of the week starts on Mana Day, and ends on Gnome Day. Select whichever you want.

The location dropdown has presets for just about every save point, and area entrance/exit zone. When you select
an area, it shows you the index values below for that spawn point. You can change it manually if you want, and
the location text will update indicating a custom value. There are also special spawn locations that include 
transform data to manually place you in a specific location, such as crossing a barrier. You cannot set
custom transform data since there's no meaningful way to allow you to change it.

You can view all the data about your save location by selecting "Info". It will show the index values, 
new save point index values, and transform data (if there is any).

Pretty much every save point is included, and if not, it's because it's right next to an entrance already.
If there is something that was missed, or a new save point that's added to the game in the future, it
should be pretty obvious how to add a new preset to the list in the source code. You can use the "Info"
view to get the index values and any transform data.

If you want a custom location with transform data not included in the list, you'll need to get the values from memory.
I've included a cheat engine table that you can use to get the current data for the first player from memory.
You'll need to reposition yourself to get data for where you want the other two characters to be as well.
Then open the source code and use an existing entry as a template. Use "-1,-1,-2,-1" for the index values, 
and copy paste the rotation/translation/scale byte arrays from cheat engine into the PlayerTransform objects.

Note: Be careful with the debug locations. You might want to backup saves before you play with those.

How it works:

The program reads the time and day from the StG00World struct (if it exists). If there is no time data, then time is
disabled in the game (for example, the Ghost Ship) so it gets disabled in the program. The location data is read
from the StG00SaveDataMapInfo struct and the StG00NewSavePointDataInfo struct (if it exists), and gets rewritten
when you hit save.

For new v1.1.0 save points, data is written to both StG00SaveDataMapInfo and StG00NewSavePointDataInfo. With 
StG00SaveDataMapInfo keeping the last safe StartIndex, and StG00NewSavePointDataInfo containing the override StartIndex.
If you modify a new save point, StG00NewSavePointDataInfo is removed, and the custom data is written to StG00SaveDataMapInfo.

Event Fixer:

event_fixer_10NN_1_P.pak

Event Fixer is a shared library between multiple mods. It has no impact on a game played normally, but handles all sorts of
edge cases for situations the game isn't designed to normally handle. It also serves as a library for storing variables,
and various core functions and event handling.

It has a number to ensure you're always using the latest version. This allows for bugfixes that only affect one particular mod,
without requiring an update to every single mod that uses it.