mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-21 05:43:42 -07:00
Randomizer: Fixes LACS and Prelude checks under certain conditions (#961)
* Prevents LACS flag from getting set when it shouldn't be. * Fixes Prelude and LACS checks so they apply immediately if missed. * Refactors the scene-flag-setting code into its own function. * Renames new enums and props to be clearer and not specific to scene flags. * Refactors pendingFlag data into a separate struct.
This commit is contained in:
parent
8c25e9a992
commit
b59c9cdf02
4 changed files with 51 additions and 6 deletions
|
@ -356,7 +356,20 @@ typedef struct {
|
|||
/* 0x00 */ s32 active;
|
||||
/* 0x04 */ Vec3f tip;
|
||||
/* 0x10 */ Vec3f base;
|
||||
} WeaponInfo; // size = 0x1C
|
||||
} WeaponInfo; // size = 0x1C\
|
||||
|
||||
typedef enum {
|
||||
FLAG_NONE,
|
||||
FLAG_SCENE_SWITCH,
|
||||
FLAG_SCENE_TREASURE,
|
||||
FLAG_SCENE_CLEAR,
|
||||
FLAG_SCENE_COLLECTIBLE,
|
||||
} FlagType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 flagID; // which flag to set when Player_SetPendingFlag is called
|
||||
/* 0x04 */ FlagType flagType; // type of flag to set when Player_SetPendingFlag is called
|
||||
} PendingFlag; // size = 0x06
|
||||
|
||||
#define PLAYER_STATE1_0 (1 << 0)
|
||||
#define PLAYER_STATE1_1 (1 << 1)
|
||||
|
@ -612,6 +625,7 @@ typedef struct Player {
|
|||
/* 0x0A86 */ s8 unk_A86;
|
||||
/* 0x0A87 */ u8 unk_A87;
|
||||
/* 0x0A88 */ Vec3f unk_A88; // previous body part 0 position
|
||||
} Player; // size = 0xA94
|
||||
/* 0x0A94 */ PendingFlag pendingFlag;
|
||||
} Player; // size = 0xAA0
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue