Skip to content

Eventflags

F.stam edited this page Jun 28, 2022 · 8 revisions

Event flags

The souls games associate a number with certain in-game events. An in-game event can be anything, from unlocking a bonfire or killing a boss, each item in the world has a flag associated with it. The state of each flag is also stored in the save file.

By far the most flags are not useful in the context of autosplitting. They are used internally in the game to signal technical information from different parts of the game's scripting and coding to make everything work. They might be used to signal the player dying, or be requesting timers to start, etc. So the trick is to find flags that are useful for autosplitting.

By far the most flags can be found by looking at the game's parameters. This is how I find the item pickups, bosses and bonfires for most games. There are multiple tools that can be used to look at the game's parameters. I can recommend Yapped for this, which may require unpacking the games files with UXM.

Soulinjectee

If the flag you want can't be found via yapped, you can log event flags using a hack that I wrote. Currently supports DSR/DS2S/DS3/Sekiro/ER. It finds the SetEventFlag function and it will steal the event flag value before it is toggled by the game. Click this:

image

And you will see this window appear. It writes some debug information and then logs all flags.

image

After that, when you interact with the game world, you will see event flags being written by the game.

image

The date & time is logged, along with the event flag ID and the value the flag is receiving - 0 disables and 1 enables the flag.