diff options
| author | Anghelo Carvajal <angheloalf95@gmail.com> | 2023-05-29 19:57:14 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-30 09:57:14 +1000 |
| commit | 4143097c5a6080a1ebbb3d328b85178ab13ab8e6 (patch) | |
| tree | 417951257bf68c371d5e9bd2641a36035955d59f /src/code/z_parameter.c | |
| parent | 65d72a54cf712292f0bb97af8eeaa10c2eeb2e8c (diff) | |
Scene table (#1207)
* scene_table.h
* Move restriction flgs to scene_table.h
* format
* rename D_801C5FC0 to sPersistentCycleFlags
* format
* move persistent flags to table
* cleanups
* review
* PERSISTENT_CYCLE_FLAGS_SET
* PERSISTENT_CYCLE_FLAGS_NONE
* move comment above the scene
* bss
* tons of bss
* whoops
* bss
* bss
* bss
* Update include/tables/scene_table.h
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* Update src/code/z_scene_table.c
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* SCENE_MAX
* bss
* bss
* bss
---------
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Diffstat (limited to 'src/code/z_parameter.c')
| -rw-r--r-- | src/code/z_parameter.c | 122 |
1 files changed, 9 insertions, 113 deletions
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index d0558d7f8..86b6d0107 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -73,125 +73,21 @@ Input sPostmanTimerInput[MAXCONTROLLERS]; #define RESTRICTIONS_MOON RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0) #define RESTRICTIONS_NO_DOUBLE_TIME RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0) +#define DEFINE_SCENE(_name, enumValue, _textId, _drawConfig, restrictionFlags, _persistentCycleFlags) \ + { enumValue, restrictionFlags }, + +#define DEFINE_SCENE_UNSET(enumValue) { enumValue, RESTRICTIONS_NONE }, + RestrictionFlags sRestrictionFlags[] = { - { SCENE_20SICHITAI2, RESTRICTIONS_NONE }, - { SCENE_UNSET_1, RESTRICTIONS_NONE }, - { SCENE_UNSET_2, RESTRICTIONS_NONE }, - { SCENE_UNSET_3, RESTRICTIONS_NONE }, - { SCENE_UNSET_4, RESTRICTIONS_NONE }, - { SCENE_UNSET_5, RESTRICTIONS_NONE }, - { SCENE_UNSET_6, RESTRICTIONS_NONE }, - { SCENE_KAKUSIANA, RESTRICTIONS_NONE }, - { SCENE_SPOT00, RESTRICTIONS_NONE }, - { SCENE_UNSET_9, RESTRICTIONS_NONE }, - { SCENE_WITCH_SHOP, RESTRICTIONS_INDOORS }, - { SCENE_LAST_BS, RESTRICTIONS_MOON }, - { SCENE_HAKASHITA, RESTRICTIONS_NONE }, - { SCENE_AYASHIISHOP, RESTRICTIONS_INDOORS }, - { SCENE_UNSET_E, RESTRICTIONS_NONE }, - { SCENE_UNSET_F, RESTRICTIONS_NONE }, - { SCENE_OMOYA, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0) }, - { SCENE_BOWLING, RESTRICTIONS_INDOORS }, - { SCENE_SONCHONOIE, RESTRICTIONS_INDOORS }, - { SCENE_IKANA, RESTRICTIONS_NONE }, - { SCENE_KAIZOKU, RESTRICTIONS_NONE }, - { SCENE_MILK_BAR, RESTRICTIONS_INDOORS }, - { SCENE_INISIE_N, RESTRICTIONS_NONE }, - { SCENE_TAKARAYA, RESTRICTIONS_INDOORS }, - { SCENE_INISIE_R, RESTRICTIONS_NONE }, - { SCENE_OKUJOU, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0) }, - { SCENE_OPENINGDAN, RESTRICTIONS_NONE }, - { SCENE_MITURIN, RESTRICTIONS_NONE }, - { SCENE_13HUBUKINOMITI, RESTRICTIONS_NONE }, - { SCENE_CASTLE, RESTRICTIONS_NONE }, - { SCENE_DEKUTES, RESTRICTIONS_SET(0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1) }, - { SCENE_MITURIN_BS, RESTRICTIONS_NONE }, - { SCENE_SYATEKI_MIZU, RESTRICTIONS_INDOORS }, - { SCENE_HAKUGIN, RESTRICTIONS_NONE }, - { SCENE_ROMANYMAE, RESTRICTIONS_NONE }, - { SCENE_PIRATE, RESTRICTIONS_NONE }, - { SCENE_SYATEKI_MORI, RESTRICTIONS_INDOORS }, - { SCENE_SINKAI, RESTRICTIONS_NONE }, - { SCENE_YOUSEI_IZUMI, RESTRICTIONS_NONE }, - { SCENE_KINSTA1, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_KINDAN2, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_TENMON_DAI, RESTRICTIONS_SET(0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0) }, - { SCENE_LAST_DEKU, RESTRICTIONS_MOON }, - { SCENE_22DEKUCITY, RESTRICTIONS_NONE }, - { SCENE_KAJIYA, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0) }, - { SCENE_00KEIKOKU, RESTRICTIONS_NONE }, - { SCENE_POSTHOUSE, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_LABO, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_DANPEI2TEST, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_UNSET_31, RESTRICTIONS_NONE }, - { SCENE_16GORON_HOUSE, RESTRICTIONS_NONE }, - { SCENE_33ZORACITY, RESTRICTIONS_SET(0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0) }, - { SCENE_8ITEMSHOP, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_F01, RESTRICTIONS_NONE }, - { SCENE_INISIE_BS, RESTRICTIONS_NONE }, - { SCENE_30GYOSON, RESTRICTIONS_NONE }, - { SCENE_31MISAKI, RESTRICTIONS_NONE }, - { SCENE_TAKARAKUJI, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_UNSET_3A, RESTRICTIONS_NONE }, - { SCENE_TORIDE, RESTRICTIONS_NONE }, - { SCENE_FISHERMAN, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_GORONSHOP, RESTRICTIONS_INDOORS }, - { SCENE_DEKU_KING, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0) }, - { SCENE_LAST_GORON, RESTRICTIONS_MOON }, - { SCENE_24KEMONOMITI, RESTRICTIONS_NONE }, - { SCENE_F01_B, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_F01C, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_BOTI, RESTRICTIONS_NONE }, - { SCENE_HAKUGIN_BS, RESTRICTIONS_NONE }, - { SCENE_20SICHITAI, RESTRICTIONS_NONE }, - { SCENE_21MITURINMAE, RESTRICTIONS_NONE }, - { SCENE_LAST_ZORA, RESTRICTIONS_MOON }, - { SCENE_11GORONNOSATO2, RESTRICTIONS_NONE }, - { SCENE_SEA, RESTRICTIONS_NONE }, - { SCENE_35TAKI, RESTRICTIONS_NONE }, - { SCENE_REDEAD, RESTRICTIONS_NONE }, - { SCENE_BANDROOM, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0) }, - { SCENE_11GORONNOSATO, RESTRICTIONS_NONE }, - { SCENE_GORON_HAKA, RESTRICTIONS_NONE }, - { SCENE_SECOM, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 0) }, - { SCENE_10YUKIYAMANOMURA, RESTRICTIONS_NONE }, - { SCENE_TOUGITES, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0) }, - { SCENE_DANPEI, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_IKANAMAE, RESTRICTIONS_NONE }, - { SCENE_DOUJOU, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 1) }, - { SCENE_MUSICHOUSE, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0) }, - { SCENE_IKNINSIDE, RESTRICTIONS_SET(0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0) }, - { SCENE_MAP_SHOP, RESTRICTIONS_INDOORS }, - { SCENE_F40, RESTRICTIONS_NONE }, - { SCENE_F41, RESTRICTIONS_NONE }, - { SCENE_10YUKIYAMANOMURA2, RESTRICTIONS_NONE }, - { SCENE_14YUKIDAMANOMITI, RESTRICTIONS_NONE }, - { SCENE_12HAKUGINMAE, RESTRICTIONS_NONE }, - { SCENE_17SETUGEN, RESTRICTIONS_NONE }, - { SCENE_17SETUGEN2, RESTRICTIONS_NONE }, - { SCENE_SEA_BS, RESTRICTIONS_NONE }, - { SCENE_RANDOM, RESTRICTIONS_NONE }, - { SCENE_YADOYA, RESTRICTIONS_INDOORS }, - { SCENE_KONPEKI_ENT, RESTRICTIONS_NONE }, - { SCENE_INSIDETOWER, RESTRICTIONS_SET(0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0) }, - { SCENE_26SARUNOMORI, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_LOST_WOODS, RESTRICTIONS_NONE }, - { SCENE_LAST_LINK, RESTRICTIONS_MOON }, - { SCENE_SOUGEN, RESTRICTIONS_MOON }, - { SCENE_BOMYA, RESTRICTIONS_INDOORS }, - { SCENE_KYOJINNOMA, RESTRICTIONS_NONE }, - { SCENE_KOEPONARACE, RESTRICTIONS_NO_DOUBLE_TIME }, - { SCENE_GORONRACE, RESTRICTIONS_NONE }, - { SCENE_TOWN, RESTRICTIONS_NONE }, - { SCENE_ICHIBA, RESTRICTIONS_NONE }, - { SCENE_BACKTOWN, RESTRICTIONS_NONE }, - { SCENE_CLOCKTOWER, RESTRICTIONS_NONE }, - { SCENE_ALLEY, RESTRICTIONS_NONE }, +#include "tables/scene_table.h" // { RESTRICTIONS_TABLE_END, RESTRICTIONS_NONE }, // See note below }; //! @note: in `Interface_SetSceneRestrictions`, `RESTRICTIONS_TABLE_END` act as a terminating value to // stop looping through the array. If a scene is missing, then this will cause issues. +#undef DEFINE_SCENE +#undef DEFINE_SCENE_UNSET + s16 sPictoState = PICTO_BOX_STATE_OFF; s16 sPictoPhotoBeingTaken = false; |
