mirror of https://github.com/zeldaret/mm.git
WeekEventFlags: Entrance Cutscenes Watched (#1166)
* entrance regs * cleanup comments * add comment * comments * missed a space * fix placement of comment
This commit is contained in:
parent
69f7540e33
commit
e75c51e841
|
|
@ -503,36 +503,43 @@ typedef enum SunsSongState {
|
|||
#define PACK_WEEKEVENTREG_FLAG(index, mask) (((index) << 8) | (mask))
|
||||
|
||||
#define WEEKEVENTREG_00_01 PACK_WEEKEVENTREG_FLAG(0, 0x01)
|
||||
#define WEEKEVENTREG_00_02 PACK_WEEKEVENTREG_FLAG(0, 0x02)
|
||||
#define WEEKEVENTREG_00_04 PACK_WEEKEVENTREG_FLAG(0, 0x04)
|
||||
#define WEEKEVENTREG_00_08 PACK_WEEKEVENTREG_FLAG(0, 0x08)
|
||||
#define WEEKEVENTREG_00_10 PACK_WEEKEVENTREG_FLAG(0, 0x10)
|
||||
#define WEEKEVENTREG_00_20 PACK_WEEKEVENTREG_FLAG(0, 0x20)
|
||||
#define WEEKEVENTREG_00_40 PACK_WEEKEVENTREG_FLAG(0, 0x40)
|
||||
#define WEEKEVENTREG_00_80 PACK_WEEKEVENTREG_FLAG(0, 0x80)
|
||||
#define WEEKEVENTREG_01_01 PACK_WEEKEVENTREG_FLAG(1, 0x01)
|
||||
#define WEEKEVENTREG_01_02 PACK_WEEKEVENTREG_FLAG(1, 0x02)
|
||||
#define WEEKEVENTREG_01_04 PACK_WEEKEVENTREG_FLAG(1, 0x04)
|
||||
#define WEEKEVENTREG_01_08 PACK_WEEKEVENTREG_FLAG(1, 0x08)
|
||||
#define WEEKEVENTREG_01_10 PACK_WEEKEVENTREG_FLAG(1, 0x10)
|
||||
#define WEEKEVENTREG_01_20 PACK_WEEKEVENTREG_FLAG(1, 0x20)
|
||||
#define WEEKEVENTREG_01_40 PACK_WEEKEVENTREG_FLAG(1, 0x40)
|
||||
#define WEEKEVENTREG_01_80 PACK_WEEKEVENTREG_FLAG(1, 0x80)
|
||||
#define WEEKEVENTREG_02_01 PACK_WEEKEVENTREG_FLAG(2, 0x01)
|
||||
#define WEEKEVENTREG_02_02 PACK_WEEKEVENTREG_FLAG(2, 0x02)
|
||||
#define WEEKEVENTREG_02_04 PACK_WEEKEVENTREG_FLAG(2, 0x04)
|
||||
#define WEEKEVENTREG_02_08 PACK_WEEKEVENTREG_FLAG(2, 0x08)
|
||||
#define WEEKEVENTREG_02_10 PACK_WEEKEVENTREG_FLAG(2, 0x10)
|
||||
#define WEEKEVENTREG_02_20 PACK_WEEKEVENTREG_FLAG(2, 0x20)
|
||||
#define WEEKEVENTREG_02_40 PACK_WEEKEVENTREG_FLAG(2, 0x40)
|
||||
#define WEEKEVENTREG_02_80 PACK_WEEKEVENTREG_FLAG(2, 0x80)
|
||||
#define WEEKEVENTREG_03_01 PACK_WEEKEVENTREG_FLAG(3, 0x01)
|
||||
#define WEEKEVENTREG_03_02 PACK_WEEKEVENTREG_FLAG(3, 0x02)
|
||||
#define WEEKEVENTREG_03_04 PACK_WEEKEVENTREG_FLAG(3, 0x04)
|
||||
#define WEEKEVENTREG_03_08 PACK_WEEKEVENTREG_FLAG(3, 0x08)
|
||||
#define WEEKEVENTREG_03_10 PACK_WEEKEVENTREG_FLAG(3, 0x10)
|
||||
#define WEEKEVENTREG_03_20 PACK_WEEKEVENTREG_FLAG(3, 0x20)
|
||||
#define WEEKEVENTREG_03_40 PACK_WEEKEVENTREG_FLAG(3, 0x40)
|
||||
|
||||
/* Entrance cutscenes watched */
|
||||
|
||||
#define WEEKEVENTREG_ENTERED_TERMINA_FIELD PACK_WEEKEVENTREG_FLAG(0, 0x02)
|
||||
#define WEEKEVENTREG_ENTERED_IKANA_GRAVEYARD PACK_WEEKEVENTREG_FLAG(0, 0x04)
|
||||
#define WEEKEVENTREG_ENTERED_ROMANI_RANCH PACK_WEEKEVENTREG_FLAG(0, 0x08)
|
||||
#define WEEKEVENTREG_ENTERED_GORMAN_TRACK PACK_WEEKEVENTREG_FLAG(0, 0x10)
|
||||
#define WEEKEVENTREG_ENTERED_MOUNTAIN_VILLAGE_WINTER PACK_WEEKEVENTREG_FLAG(0, 0x20)
|
||||
#define WEEKEVENTREG_ENTERED_GORON_SHRINE PACK_WEEKEVENTREG_FLAG(0, 0x40)
|
||||
#define WEEKEVENTREG_ENTERED_SNOWHEAD PACK_WEEKEVENTREG_FLAG(0, 0x80)
|
||||
#define WEEKEVENTREG_ENTERED_SOUTHERN_SWAMP_POISONED PACK_WEEKEVENTREG_FLAG(1, 0x01)
|
||||
#define WEEKEVENTREG_ENTERED_WOODFALL PACK_WEEKEVENTREG_FLAG(1, 0x02)
|
||||
#define WEEKEVENTREG_ENTERED_DEKU_PALACE PACK_WEEKEVENTREG_FLAG(1, 0x04)
|
||||
#define WEEKEVENTREG_ENTERED_GREAT_BAY_COAST PACK_WEEKEVENTREG_FLAG(1, 0x08)
|
||||
#define WEEKEVENTREG_ENTERED_PIRATES_FORTRESS PACK_WEEKEVENTREG_FLAG(1, 0x10)
|
||||
#define WEEKEVENTREG_ENTERED_ZORA_HALL PACK_WEEKEVENTREG_FLAG(1, 0x20)
|
||||
#define WEEKEVENTREG_ENTERED_WATERFALL_RAPIDS PACK_WEEKEVENTREG_FLAG(1, 0x40)
|
||||
#define WEEKEVENTREG_ENTERED_IKANA_CANYON PACK_WEEKEVENTREG_FLAG(1, 0x80)
|
||||
// Attached to the scene but unused. Entrance cutscene is instead triggered by `ACTOR_OBJ_DEMO`
|
||||
#define WEEKEVENTREG_ENTERED_IKANA_CASTLE PACK_WEEKEVENTREG_FLAG(2, 0x01)
|
||||
#define WEEKEVENTREG_ENTERED_STONE_TOWER PACK_WEEKEVENTREG_FLAG(2, 0x02)
|
||||
#define WEEKEVENTREG_ENTERED_STONE_TOWER_INVERTED PACK_WEEKEVENTREG_FLAG(2, 0x04)
|
||||
#define WEEKEVENTREG_ENTERED_EAST_CLOCK_TOWN PACK_WEEKEVENTREG_FLAG(2, 0x08)
|
||||
#define WEEKEVENTREG_ENTERED_WEST_CLOCK_TOWN PACK_WEEKEVENTREG_FLAG(2, 0x10)
|
||||
#define WEEKEVENTREG_ENTERED_NORTH_CLOCK_TOWN PACK_WEEKEVENTREG_FLAG(2, 0x20)
|
||||
#define WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE PACK_WEEKEVENTREG_FLAG(2, 0x40)
|
||||
#define WEEKEVENTREG_ENTERED_SNOWHEAD_TEMPLE PACK_WEEKEVENTREG_FLAG(2, 0x80)
|
||||
// Attached to the scene but unused. Entrance cutscene is instead triggered by `ACTOR_OBJ_DEMO`
|
||||
#define WEEKEVENTREG_ENTERED_PIRATES_FORTRESS_EXTERIOR PACK_WEEKEVENTREG_FLAG(3, 0x01)
|
||||
#define WEEKEVENTREG_ENTERED_STONE_TOWER_TEMPLE PACK_WEEKEVENTREG_FLAG(3, 0x02)
|
||||
#define WEEKEVENTREG_ENTERED_STONE_TOWER_TEMPLE_INVERTED PACK_WEEKEVENTREG_FLAG(3, 0x04)
|
||||
// Unused as no cutscene is attached to this script
|
||||
#define WEEKEVENTREG_ENTERED_THE_MOON PACK_WEEKEVENTREG_FLAG(3, 0x08)
|
||||
#define WEEKEVENTREG_ENTERED_MOON_DEKU_TRIAL PACK_WEEKEVENTREG_FLAG(3, 0x10)
|
||||
#define WEEKEVENTREG_ENTERED_MOON_GORON_TRIAL PACK_WEEKEVENTREG_FLAG(3, 0x20)
|
||||
#define WEEKEVENTREG_ENTERED_MOON_ZORA_TRIAL PACK_WEEKEVENTREG_FLAG(3, 0x40)
|
||||
|
||||
#define WEEKEVENTREG_03_80 PACK_WEEKEVENTREG_FLAG(3, 0x80)
|
||||
#define WEEKEVENTREG_04_01 PACK_WEEKEVENTREG_FLAG(4, 0x01)
|
||||
#define WEEKEVENTREG_04_02 PACK_WEEKEVENTREG_FLAG(4, 0x02)
|
||||
|
|
@ -565,7 +572,8 @@ typedef enum SunsSongState {
|
|||
#define WEEKEVENTREG_07_10 PACK_WEEKEVENTREG_FLAG(7, 0x10)
|
||||
#define WEEKEVENTREG_07_20 PACK_WEEKEVENTREG_FLAG(7, 0x20)
|
||||
#define WEEKEVENTREG_07_40 PACK_WEEKEVENTREG_FLAG(7, 0x40)
|
||||
#define WEEKEVENTREG_07_80 PACK_WEEKEVENTREG_FLAG(7, 0x80)
|
||||
// Entrance cutscene watched to the prison where the deku princess is kept. Also set in door_warp1.c
|
||||
#define WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE_PRISON PACK_WEEKEVENTREG_FLAG(7, 0x80)
|
||||
#define WEEKEVENTREG_08_01 PACK_WEEKEVENTREG_FLAG(8, 0x01)
|
||||
#define WEEKEVENTREG_08_02 PACK_WEEKEVENTREG_FLAG(8, 0x02)
|
||||
#define WEEKEVENTREG_08_04 PACK_WEEKEVENTREG_FLAG(8, 0x04)
|
||||
|
|
@ -785,6 +793,9 @@ typedef enum SunsSongState {
|
|||
#define WEEKEVENTREG_31_10 PACK_WEEKEVENTREG_FLAG(31, 0x10)
|
||||
#define WEEKEVENTREG_31_20 PACK_WEEKEVENTREG_FLAG(31, 0x20)
|
||||
|
||||
//! @note: entrance cutscenes defined in `CutsceneEntry` can not use
|
||||
//! any of the below weekEventFlags due to bitpacking
|
||||
|
||||
// Cremia asked the player to accompany her to town
|
||||
#define WEEKEVENTREG_31_40 PACK_WEEKEVENTREG_FLAG(31, 0x40)
|
||||
// Player is playing the Milk Run
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ void DmRavine_Init(Actor* thisx, PlayState* play) {
|
|||
s32 pad;
|
||||
DmRavine* this = THIS;
|
||||
|
||||
if (CHECK_WEEKEVENTREG_ALT(WEEKEVENTREG_00_10) | cREG(0)) {
|
||||
if (CHECK_WEEKEVENTREG_ALT(WEEKEVENTREG_ENTERED_GORMAN_TRACK) | cREG(0)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
|||
|
||||
if (this->unk_202 != 0) {
|
||||
if (phi_v0_2 > 0) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_07_80);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE_PRISON);
|
||||
}
|
||||
|
||||
switch (phi_v0_2) {
|
||||
|
|
@ -711,7 +711,8 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
|||
switch (phi_v0_2) {
|
||||
case 0:
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_07_80);
|
||||
// Skips the entrance cutscene as this flag is attached to `ENTRANCE(WOODFALL_TEMPLE, 1)`
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE_PRISON);
|
||||
play->nextEntrance = ENTRANCE(WOODFALL_TEMPLE, 1);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
|
|
|||
|
|
@ -345,7 +345,8 @@ void func_808DF194(EnHorseLinkChild* this, PlayState* play) {
|
|||
sp4C = SkelAnime_Update(&this->skin.skelAnime);
|
||||
|
||||
if ((sp4C != 0) || (this->unk_148 == 1) || (this->unk_148 == 0)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_01_20)) {
|
||||
// The carry-over of this flag from OoT was not done correctly
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_ENTERED_ZORA_HALL)) {
|
||||
f32 sp44 = Math3D_Distance(&this->actor.world.pos, &this->actor.home.pos);
|
||||
s32 pad;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* File: z_obj_demo.c
|
||||
* Overlay: ovl_Obj_Demo
|
||||
* Description:
|
||||
* Description: Cutscene triggers when player is in range
|
||||
*/
|
||||
|
||||
#include "z_obj_demo.h"
|
||||
|
|
|
|||
|
|
@ -5,36 +5,36 @@ import re
|
|||
|
||||
weekEventReg = {
|
||||
( 0 << 8) | 0x01: "WEEKEVENTREG_00_01",
|
||||
( 0 << 8) | 0x02: "WEEKEVENTREG_00_02",
|
||||
( 0 << 8) | 0x04: "WEEKEVENTREG_00_04",
|
||||
( 0 << 8) | 0x08: "WEEKEVENTREG_00_08",
|
||||
( 0 << 8) | 0x10: "WEEKEVENTREG_00_10",
|
||||
( 0 << 8) | 0x20: "WEEKEVENTREG_00_20",
|
||||
( 0 << 8) | 0x40: "WEEKEVENTREG_00_40",
|
||||
( 0 << 8) | 0x80: "WEEKEVENTREG_00_80",
|
||||
( 1 << 8) | 0x01: "WEEKEVENTREG_01_01",
|
||||
( 1 << 8) | 0x02: "WEEKEVENTREG_01_02",
|
||||
( 1 << 8) | 0x04: "WEEKEVENTREG_01_04",
|
||||
( 1 << 8) | 0x08: "WEEKEVENTREG_01_08",
|
||||
( 1 << 8) | 0x10: "WEEKEVENTREG_01_10",
|
||||
( 1 << 8) | 0x20: "WEEKEVENTREG_01_20",
|
||||
( 1 << 8) | 0x40: "WEEKEVENTREG_01_40",
|
||||
( 1 << 8) | 0x80: "WEEKEVENTREG_01_80",
|
||||
( 2 << 8) | 0x01: "WEEKEVENTREG_02_01",
|
||||
( 2 << 8) | 0x02: "WEEKEVENTREG_02_02",
|
||||
( 2 << 8) | 0x04: "WEEKEVENTREG_02_04",
|
||||
( 2 << 8) | 0x08: "WEEKEVENTREG_02_08",
|
||||
( 2 << 8) | 0x10: "WEEKEVENTREG_02_10",
|
||||
( 2 << 8) | 0x20: "WEEKEVENTREG_02_20",
|
||||
( 2 << 8) | 0x40: "WEEKEVENTREG_02_40",
|
||||
( 2 << 8) | 0x80: "WEEKEVENTREG_02_80",
|
||||
( 3 << 8) | 0x01: "WEEKEVENTREG_03_01",
|
||||
( 3 << 8) | 0x02: "WEEKEVENTREG_03_02",
|
||||
( 3 << 8) | 0x04: "WEEKEVENTREG_03_04",
|
||||
( 3 << 8) | 0x08: "WEEKEVENTREG_03_08",
|
||||
( 3 << 8) | 0x10: "WEEKEVENTREG_03_10",
|
||||
( 3 << 8) | 0x20: "WEEKEVENTREG_03_20",
|
||||
( 3 << 8) | 0x40: "WEEKEVENTREG_03_40",
|
||||
( 0 << 8) | 0x02: "WEEKEVENTREG_ENTERED_TERMINA_FIELD",
|
||||
( 0 << 8) | 0x04: "WEEKEVENTREG_ENTERED_IKANA_GRAVEYARD",
|
||||
( 0 << 8) | 0x08: "WEEKEVENTREG_ENTERED_ROMANI_RANCH",
|
||||
( 0 << 8) | 0x10: "WEEKEVENTREG_ENTERED_GORMAN_TRACK",
|
||||
( 0 << 8) | 0x20: "WEEKEVENTREG_ENTERED_MOUNTAIN_VILLAGE_WINTER",
|
||||
( 0 << 8) | 0x40: "WEEKEVENTREG_ENTERED_GORON_SHRINE",
|
||||
( 0 << 8) | 0x80: "WEEKEVENTREG_ENTERED_SNOWHEAD",
|
||||
( 1 << 8) | 0x01: "WEEKEVENTREG_ENTERED_SOUTHERN_SWAMP_POISONED",
|
||||
( 1 << 8) | 0x02: "WEEKEVENTREG_ENTERED_WOODFALL",
|
||||
( 1 << 8) | 0x04: "WEEKEVENTREG_ENTERED_DEKU_PALACE",
|
||||
( 1 << 8) | 0x08: "WEEKEVENTREG_ENTERED_GREAT_BAY_COAST",
|
||||
( 1 << 8) | 0x10: "WEEKEVENTREG_ENTERED_PIRATES_FORTRESS",
|
||||
( 1 << 8) | 0x20: "WEEKEVENTREG_ENTERED_ZORA_HALL",
|
||||
( 1 << 8) | 0x40: "WEEKEVENTREG_ENTERED_WATERFALL_RAPIDS",
|
||||
( 1 << 8) | 0x80: "WEEKEVENTREG_ENTERED_IKANA_CANYON",
|
||||
( 2 << 8) | 0x01: "WEEKEVENTREG_ENTERED_IKANA_CASTLE",
|
||||
( 2 << 8) | 0x02: "WEEKEVENTREG_ENTERED_STONE_TOWER",
|
||||
( 2 << 8) | 0x04: "WEEKEVENTREG_ENTERED_STONE_TOWER_INVERTED",
|
||||
( 2 << 8) | 0x08: "WEEKEVENTREG_ENTERED_EAST_CLOCK_TOWN",
|
||||
( 2 << 8) | 0x10: "WEEKEVENTREG_ENTERED_WEST_CLOCK_TOWN",
|
||||
( 2 << 8) | 0x20: "WEEKEVENTREG_ENTERED_NORTH_CLOCK_TOWN",
|
||||
( 2 << 8) | 0x40: "WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE",
|
||||
( 2 << 8) | 0x80: "WEEKEVENTREG_ENTERED_SNOWHEAD_TEMPLE",
|
||||
( 3 << 8) | 0x01: "WEEKEVENTREG_ENTERED_PIRATES_FORTRESS_EXTERIOR",
|
||||
( 3 << 8) | 0x02: "WEEKEVENTREG_ENTERED_STONE_TOWER_TEMPLE",
|
||||
( 3 << 8) | 0x04: "WEEKEVENTREG_ENTERED_STONE_TOWER_TEMPLE_INVERTED",
|
||||
( 3 << 8) | 0x08: "WEEKEVENTREG_ENTERED_THE_MOON",
|
||||
( 3 << 8) | 0x10: "WEEKEVENTREG_ENTERED_MOON_DEKU_TRIAL",
|
||||
( 3 << 8) | 0x20: "WEEKEVENTREG_ENTERED_MOON_GORON_TRIAL",
|
||||
( 3 << 8) | 0x40: "WEEKEVENTREG_ENTERED_MOON_ZORA_TRIAL",
|
||||
( 3 << 8) | 0x80: "WEEKEVENTREG_03_80",
|
||||
( 4 << 8) | 0x01: "WEEKEVENTREG_04_01",
|
||||
( 4 << 8) | 0x02: "WEEKEVENTREG_04_02",
|
||||
|
|
@ -67,7 +67,7 @@ weekEventReg = {
|
|||
( 7 << 8) | 0x10: "WEEKEVENTREG_07_10",
|
||||
( 7 << 8) | 0x20: "WEEKEVENTREG_07_20",
|
||||
( 7 << 8) | 0x40: "WEEKEVENTREG_07_40",
|
||||
( 7 << 8) | 0x80: "WEEKEVENTREG_07_80",
|
||||
( 7 << 8) | 0x80: "WEEKEVENTREG_ENTERED_WOODFALL_TEMPLE_PRISON",
|
||||
( 8 << 8) | 0x01: "WEEKEVENTREG_08_01",
|
||||
( 8 << 8) | 0x02: "WEEKEVENTREG_08_02",
|
||||
( 8 << 8) | 0x04: "WEEKEVENTREG_08_04",
|
||||
|
|
|
|||
Loading…
Reference in New Issue