mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Entrance Macro (#987)
* POC * fix * Fix typo * token POC * The rest * small cleanup * More small cleanup * ENTRANCE * arg renames * EntranceIndex -> Entrance * format * PR * PR2 * Remove layer from entrance macro * namefixer plus comments * format
This commit is contained in:
+6
-6
@@ -2154,8 +2154,8 @@ void Scene_HeaderCmdSetAreaVisitedFlag(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_HeaderCmdAnimatedMaterials(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_SetExitFade(PlayState* play);
|
||||
s32 Scene_ProcessHeader(PlayState* play, SceneCmd* header);
|
||||
u16 Entrance_CreateIndex(s32 sceneIndex, s32 spawnIndex, s32 sceneSetup);
|
||||
u16 Entrance_CreateIndexFromSpawn(s32 spawnIndex);
|
||||
u16 Entrance_Create(s32 scene, s32 spawn, s32 layer);
|
||||
u16 Entrance_CreateFromSpawn(s32 spawn);
|
||||
void Scene_ExecuteDrawConfig(PlayState* play);
|
||||
void Scene_DrawConfigDefault(PlayState* play);
|
||||
Gfx* AnimatedMat_TexScroll(PlayState* play, AnimatedMatTexScrollParams* params);
|
||||
@@ -2193,10 +2193,10 @@ void Scene_DrawConfig5(PlayState* play);
|
||||
void Scene_DrawConfigMatAnimManualStep(PlayState* play);
|
||||
void Scene_DrawConfigGreatBayTemple(PlayState* play);
|
||||
EntranceTableEntry* Entrance_GetTableEntry(u16 entrance);
|
||||
s32 Entrance_GetSceneNum(u16 entranceIndex);
|
||||
s32 Entrance_GetSceneNumAbsolute(u16 entranceIndex);
|
||||
s32 Entrance_GetSpawnNum(u16 entranceIndex);
|
||||
s32 Entrance_GetTransitionFlags(u16 entranceIndex);
|
||||
s32 Entrance_GetSceneNum(u16 entrance);
|
||||
s32 Entrance_GetSceneNumAbsolute(u16 entrance);
|
||||
s32 Entrance_GetSpawnNum(u16 entrance);
|
||||
s32 Entrance_GetTransitionFlags(u16 entrance);
|
||||
s32 Schedule_RunScript(PlayState* play, u8* script, ScheduleOutput* output);
|
||||
void SkelAnime_DrawLimbLod(PlayState* play, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor, s32 lod);
|
||||
void SkelAnime_DrawLod(PlayState* play, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor, s32 lod);
|
||||
|
||||
+1
-1
@@ -1157,7 +1157,7 @@ struct PlayState {
|
||||
/* 0x18875 */ s8 transitionTrigger; // "fade_direction"
|
||||
/* 0x18876 */ s16 unk_18876;
|
||||
/* 0x18878 */ s16 bgCoverAlpha;
|
||||
/* 0x1887A */ u16 nextEntranceIndex;
|
||||
/* 0x1887A */ u16 nextEntrance;
|
||||
/* 0x1887C */ s8 unk_1887C; // shootingGalleryStatus?
|
||||
/* 0x1887D */ s8 unk_1887D;
|
||||
/* 0x1887E */ s8 unk_1887E;
|
||||
|
||||
@@ -166,7 +166,7 @@ typedef union CutsceneData {
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ CutsceneData* segmentedData;
|
||||
/* 0x4 */ s16 nextEntranceIndex;
|
||||
/* 0x4 */ s16 nextEntrance;
|
||||
/* 0x6 */ u8 unk6;
|
||||
/* 0x7 */ u8 unk7; // a weekEventReg bitpack?
|
||||
} CutsceneEntry; // size = 0x8
|
||||
|
||||
+2
-2
@@ -65,7 +65,7 @@ typedef struct RespawnData {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 yaw;
|
||||
/* 0x0E */ s16 playerParams;
|
||||
/* 0x10 */ u16 entranceIndex;
|
||||
/* 0x10 */ u16 entrance;
|
||||
/* 0x12 */ u8 roomIndex;
|
||||
/* 0x13 */ s8 data;
|
||||
/* 0x14 */ u32 tempSwitchFlags;
|
||||
@@ -121,7 +121,7 @@ typedef struct SavePlayerData {
|
||||
} SavePlayerData; // size = 0x28
|
||||
|
||||
typedef struct Save {
|
||||
/* 0x0000 */ u32 entranceIndex; // "scene_no"
|
||||
/* 0x0000 */ u32 entrance; // "scene_no"
|
||||
/* 0x0004 */ u8 equippedMask; // "player_mask"
|
||||
/* 0x0005 */ u8 isFirstCycle; // "opening_flag"
|
||||
/* 0x0006 */ u8 unk_06;
|
||||
|
||||
+122
-1
@@ -648,7 +648,128 @@ typedef enum {
|
||||
/* 0x6F */ SCENE_CLOCKTOWER,
|
||||
/* 0x70 */ SCENE_ALLEY,
|
||||
/* 0x71 */ SCENE_MAX
|
||||
} SceneID;
|
||||
} SceneId;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ ENTR_SCENE_MAYORS_RESIDENCE,
|
||||
/* 0x01 */ ENTR_SCENE_MAJORAS_LAIR,
|
||||
/* 0x02 */ ENTR_SCENE_MAGIC_HAGS_POTION_SHOP,
|
||||
/* 0x03 */ ENTR_SCENE_RANCH_HOUSE,
|
||||
/* 0x04 */ ENTR_SCENE_HONEY_AND_DARLINGS_SHOP,
|
||||
/* 0x05 */ ENTR_SCENE_BENEATH_THE_GRAVERYARD,
|
||||
/* 0x06 */ ENTR_SCENE_SOUTHERN_SWAMP_CLEARED,
|
||||
/* 0x07 */ ENTR_SCENE_CURIOSITY_SHOP,
|
||||
/* 0x08 */ ENTR_SCENE_UNSET_08,
|
||||
/* 0x09 */ ENTR_SCENE_UNSET_09,
|
||||
/* 0x0A */ ENTR_SCENE_GROTTOS,
|
||||
/* 0x0B */ ENTR_SCENE_UNSET_0B,
|
||||
/* 0x0C */ ENTR_SCENE_UNSET_0C,
|
||||
/* 0x0D */ ENTR_SCENE_UNSET_0D,
|
||||
/* 0x0E */ ENTR_SCENE_CUTSCENE,
|
||||
/* 0x0F */ ENTR_SCENE_UNSET_0F,
|
||||
/* 0x10 */ ENTR_SCENE_IKANA_CANYON,
|
||||
/* 0x11 */ ENTR_SCENE_PIRATES_FORTRESS,
|
||||
/* 0x12 */ ENTR_SCENE_MILK_BAR,
|
||||
/* 0x13 */ ENTR_SCENE_STONE_TOWER_TEMPLE,
|
||||
/* 0x14 */ ENTR_SCENE_TREASURE_CHEST_SHOP,
|
||||
/* 0x15 */ ENTR_SCENE_STONE_TOWER_TEMPLE_INVERTED,
|
||||
/* 0x16 */ ENTR_SCENE_CLOCK_TOWER_ROOFTOP,
|
||||
/* 0x17 */ ENTR_SCENE_OPENING_DUNGEON,
|
||||
/* 0x18 */ ENTR_SCENE_WOODFALL_TEMPLE,
|
||||
/* 0x19 */ ENTR_SCENE_PATH_TO_MOUNTAIN_VILLAGE,
|
||||
/* 0x1A */ ENTR_SCENE_IKANA_CASTLE,
|
||||
/* 0x1B */ ENTR_SCENE_DEKU_SCRUB_PLAYGROUND,
|
||||
/* 0x1C */ ENTR_SCENE_ODOLWAS_LAIR,
|
||||
/* 0x1D */ ENTR_SCENE_TOWN_SHOOTING_GALLERY,
|
||||
/* 0x1E */ ENTR_SCENE_SNOWHEAD_TEMPLE,
|
||||
/* 0x1F */ ENTR_SCENE_MILK_ROAD,
|
||||
/* 0x20 */ ENTR_SCENE_PIRATES_FORTRESS_INTERIOR,
|
||||
/* 0x21 */ ENTR_SCENE_SWAMP_SHOOTING_GALLERY,
|
||||
/* 0x22 */ ENTR_SCENE_PINNACLE_ROCK,
|
||||
/* 0x23 */ ENTR_SCENE_FAIRY_FOUNTAIN,
|
||||
/* 0x24 */ ENTR_SCENE_SWAMP_SPIDER_HOUSE,
|
||||
/* 0x25 */ ENTR_SCENE_OCEANSIDE_SPIDER_HOUSE,
|
||||
/* 0x26 */ ENTR_SCENE_ASTRAL_OBSERVATORY,
|
||||
/* 0x27 */ ENTR_SCENE_MOON_DEKU_TRIAL,
|
||||
/* 0x28 */ ENTR_SCENE_DEKU_PALACE,
|
||||
/* 0x29 */ ENTR_SCENE_MOUNTAIN_SMITHY,
|
||||
/* 0x2A */ ENTR_SCENE_TERMINA_FIELD,
|
||||
/* 0x2B */ ENTR_SCENE_POST_OFFICE,
|
||||
/* 0x2C */ ENTR_SCENE_MARINE_RESEARCH_LAB,
|
||||
/* 0x2D */ ENTR_SCENE_DAMPES_HOUSE,
|
||||
/* 0x2E */ ENTR_SCENE_UNSET_2E,
|
||||
/* 0x2F */ ENTR_SCENE_GORON_SHRINE,
|
||||
/* 0x30 */ ENTR_SCENE_ZORA_HALL,
|
||||
/* 0x31 */ ENTR_SCENE_TRADING_POST,
|
||||
/* 0x32 */ ENTR_SCENE_ROMANI_RANCH,
|
||||
/* 0x33 */ ENTR_SCENE_TWINMOLDS_LAIR,
|
||||
/* 0x34 */ ENTR_SCENE_GREAT_BAY_COAST,
|
||||
/* 0x35 */ ENTR_SCENE_ZORA_CAPE,
|
||||
/* 0x36 */ ENTR_SCENE_LOTTERY_SHOP,
|
||||
/* 0x37 */ ENTR_SCENE_UNSET_37,
|
||||
/* 0x38 */ ENTR_SCENE_PIRATES_FORTRESS_EXTERIOR,
|
||||
/* 0x39 */ ENTR_SCENE_FISHERMANS_HUT,
|
||||
/* 0x3A */ ENTR_SCENE_GORON_SHOP,
|
||||
/* 0x3B */ ENTR_SCENE_DEKU_KINGS_CHAMBER,
|
||||
/* 0x3C */ ENTR_SCENE_MOON_GORON_TRIAL,
|
||||
/* 0x3D */ ENTR_SCENE_ROAD_TO_SOUTHERN_SWAMP,
|
||||
/* 0x3E */ ENTR_SCENE_DOGGY_RACETRACK,
|
||||
/* 0x3F */ ENTR_SCENE_CUCCO_SHACK,
|
||||
/* 0x40 */ ENTR_SCENE_IKANA_GRAVEYARD,
|
||||
/* 0x41 */ ENTR_SCENE_GOHTS_LAIR,
|
||||
/* 0x42 */ ENTR_SCENE_SOUTHERN_SWAMP_POISONED,
|
||||
/* 0x43 */ ENTR_SCENE_WOODFALL,
|
||||
/* 0x44 */ ENTR_SCENE_MOON_ZORA_TRIAL,
|
||||
/* 0x45 */ ENTR_SCENE_GORON_VILLAGE_SPRING,
|
||||
/* 0x46 */ ENTR_SCENE_GREAT_BAY_TEMPLE,
|
||||
/* 0x47 */ ENTR_SCENE_WATERFALL_RAPIDS,
|
||||
/* 0x48 */ ENTR_SCENE_BENEATH_THE_WELL,
|
||||
/* 0x49 */ ENTR_SCENE_ZORA_HALL_ROOMS,
|
||||
/* 0x4A */ ENTR_SCENE_GORON_VILLAGE_WINTER,
|
||||
/* 0x4B */ ENTR_SCENE_GORON_GRAVERYARD,
|
||||
/* 0x4C */ ENTR_SCENE_SAKONS_HIDEOUT,
|
||||
/* 0x4D */ ENTR_SCENE_MOUNTAIN_VILLAGE_WINTER,
|
||||
/* 0x4E */ ENTR_SCENE_GHOST_HUT,
|
||||
/* 0x4F */ ENTR_SCENE_DEKU_SHRINE,
|
||||
/* 0x50 */ ENTR_SCENE_ROAD_TO_IKANA,
|
||||
/* 0x51 */ ENTR_SCENE_SWORDMANS_SCHOOL,
|
||||
/* 0x52 */ ENTR_SCENE_MUSIC_BOX_HOUSE,
|
||||
/* 0x53 */ ENTR_SCENE_IGOS_DU_IKANAS_LAIR,
|
||||
/* 0x54 */ ENTR_SCENE_TOURIST_INFORMATION,
|
||||
/* 0x55 */ ENTR_SCENE_STONE_TOWER,
|
||||
/* 0x56 */ ENTR_SCENE_STONE_TOWER_INVERTED,
|
||||
/* 0x57 */ ENTR_SCENE_MOUNTAIN_VILLAGE_SPRING,
|
||||
/* 0x58 */ ENTR_SCENE_PATH_TO_SNOWHEAD,
|
||||
/* 0x59 */ ENTR_SCENE_SNOWHEAD,
|
||||
/* 0x5A */ ENTR_SCENE_PATH_TO_GORON_VILLAGE_WINTER,
|
||||
/* 0x5B */ ENTR_SCENE_PATH_TO_GORON_VILLAGE_SPRING,
|
||||
/* 0x5C */ ENTR_SCENE_GYORGS_LAIR,
|
||||
/* 0x5D */ ENTR_SCENE_SECRET_SHRINE,
|
||||
/* 0x5E */ ENTR_SCENE_STOCK_POT_INN,
|
||||
/* 0x5F */ ENTR_SCENE_GREAT_BAY_CUTSCENE,
|
||||
/* 0x60 */ ENTR_SCENE_CLOCK_TOWER_INTERIOR,
|
||||
/* 0x61 */ ENTR_SCENE_WOODS_OF_MYSTERY,
|
||||
/* 0x62 */ ENTR_SCENE_LOST_WOODS,
|
||||
/* 0x63 */ ENTR_SCENE_MOON_LINK_TRIAL,
|
||||
/* 0x64 */ ENTR_SCENE_THE_MOON,
|
||||
/* 0x65 */ ENTR_SCENE_BOMB_SHOP,
|
||||
/* 0x66 */ ENTR_SCENE_GIANTS_CHAMBER,
|
||||
/* 0x67 */ ENTR_SCENE_GORMAN_TRACK,
|
||||
/* 0x68 */ ENTR_SCENE_GORON_RACETRACK,
|
||||
/* 0x69 */ ENTR_SCENE_EAST_CLOCK_TOWN,
|
||||
/* 0x6A */ ENTR_SCENE_WEST_CLOCK_TOWN,
|
||||
/* 0x6B */ ENTR_SCENE_NORTH_CLOCK_TOWN,
|
||||
/* 0x6C */ ENTR_SCENE_SOUTH_CLOCK_TOWN,
|
||||
/* 0x6D */ ENTR_SCENE_LAUNDRY_POOL,
|
||||
/* 0x6E */ ENTR_SCENE_MAX
|
||||
} EntranceSceneId;
|
||||
|
||||
/*
|
||||
* 0xFE00: Index into sSceneEntranceTable (Scene)
|
||||
* 0x01F0: Index into the scenes specific entrance table (Spawn)
|
||||
* 0x000F: Index into the specific entrance table (Layer), stored seperately in sceneSetupIndex
|
||||
*/
|
||||
#define ENTRANCE(scene, spawn) ((((ENTR_SCENE_##scene) & 0x7F) << 9) | (((spawn) & 0x1F) << 4))
|
||||
|
||||
// SceneTableEntry draw configs
|
||||
typedef enum {
|
||||
|
||||
Reference in New Issue
Block a user