Improve/Add Enums for Player, Items, and Quest (#275)

* Create enums (non-matching monkaBSS)

* Add effect enum

* Almost fix bss reordering (1 different word)

* Fix capacity

* Fully fix bss

* Add PlayerBoots

* PR Feedback & add missing playerForm enums

* Clean-Up

* Script to check global bss ordering

* Bit of cleanup

* Format

* Remove global_bss_check PR

* Fix bss

* Add enums to new PRs & previously missed ones

* Remove Effect Enums

* Missed one

* Format

* Remove old prevent_bss_reordering.h comments

* Use a better macro

* A few more uses of enums found

* Add enums to recent PRs

* Improve GI enums

* Add enums from new PRs

* PR Suggestions

* format

* Fix bss

* Fix mistake in GI

* No actually, part of it was correct before

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
engineer124
2021-11-12 02:04:57 +11:00
committed by GitHub
parent 25c60c6911
commit d825ef5de1
66 changed files with 914 additions and 368 deletions
+261 -24
View File
@@ -17,14 +17,15 @@ u32 gUpgradeNegMasks[] = {
0xFFFFFFF8, 0xFFFFFFC7, 0xFFFFFE3F, 0xFFFFF1FF, 0xFFFFCFFF, 0xFFFE3FFF, 0xFFF1FFFF, 0xFF8FFFFF,
};
u8 gEquipShifts[] = { 0, 4, 8, 12 };
u8 gUpgradeShifts[] = { 0, 3, 6, 9, 12, 14, 17, 20, 0, 0, 0, 30, 0, 40, 0, 50 };
u8 gUpgradeShifts[] = { 0, 3, 6, 9, 12, 14, 17, 20 };
u16 gUpgradeCapacities[][4] = {
{ 0, 30, 40, 50 }, // Quivers
{ 0, 20, 30, 40 }, // Bomb Bags
{ 0, 0, 0, 0 }, // Unused (Scale)
{ 0, 0, 0, 0 }, // Unused (Strength)
{ 99, 200, 500, 500 }, // Wallets
{ 0, 30, 40, 50 }, // Quivers
{ 0, 30, 40, 50 }, // Unused (Deku Seed Bullet Bags)
{ 0, 10, 20, 30 }, // Unused (Deku Stick)
{ 0, 20, 30, 40 }, // Unused (Deku Nut)
};
@@ -34,35 +35,271 @@ u32 gGsFlagsShift[] = { 0, 8, 16, 24 };
// TODO: use symbols for these icon textures once textures are properly in C
void* gItemIcons[] = {
0x08000000, 0x08001000, 0x08002000, 0x08003000, 0x08004000, 0x08005000, 0x08006000, 0x08007000, 0x08008000,
0x08009000, 0x0800A000, 0x0800B000, 0x0800C000, 0x0800D000, 0x0800E000, 0x0800F000, 0x08010000, 0x08011000,
0x08012000, 0x08013000, 0x08014000, 0x08015000, 0x08016000, 0x08017000, 0x08018000, 0x08019000, 0x0801A000,
0x0801B000, 0x0801C000, 0x0801D000, 0x0801E000, 0x0801F000, 0x08020000, 0x08021000, 0x08022000, 0x08023000,
0x08024000, 0x08025000, 0x08026000, 0x08027000, 0x08028000, 0x08029000, 0x0802A000, 0x0802B000, 0x0802C000,
0x0802D000, 0x0802E000, 0x0802F000, 0x08030000, 0x08031000, 0x08032000, 0x08033000, 0x08034000, 0x08035000,
0x08036000, 0x08037000, 0x08038000, 0x08039000, 0x0803A000, 0x0803B000, 0x0803C000, 0x0803D000, 0x0803E000,
0x0803F000, 0x08040000, 0x08041000, 0x08042000, 0x08043000, 0x08044000, 0x08045000, 0x08046000, 0x08047000,
0x08048000, 0x08049000, 0x0804A000, 0x0804B000, 0x0804C000, 0x0804D000, 0x0804E000, 0x0804F000, 0x08050000,
0x08051000, 0x08052000, 0x08053000, 0x08054000, 0x08055000, 0x08056000, 0x08057000, 0x08058000, 0x08059000,
0x0805A000, 0x0805B000, 0x0805C000, 0x0805D000, 0x0805E000, 0x0805F000, 0x08060000, 0x08062000, 0x08062000,
0x08062000, 0x08062000, 0x08062000, 0x08062000, 0x08062000, 0x08062000, 0x08062000, 0x08062000, 0x08062000,
0x08062000, 0x08061000, 0x09000000, 0x09000900, 0x09001200, 0x08062000, 0x08062000, 0x08062000, 0x09003600,
0x09004800, 0x09003F00, 0x09005100, 0x09005A00, 0x09006300, 0x09006C00, 0x08062180, 0x08062A80, 0x08063380,
0x020028A0, 0x020025A0, 0x020027A0, 0x020026A0, 0x020024A0,
0x08000000, // ITEM_OCARINA
0x08001000, // ITEM_BOW
0x08002000, // ITEM_ARROW_FIRE
0x08003000, // ITEM_ARROW_ICE
0x08004000, // ITEM_ARROW_LIGHT
0x08005000, // ITEM_OCARINA_FAIRY
0x08006000, // ITEM_BOMB
0x08007000, // ITEM_BOMBCHU
0x08008000, // ITEM_STICK
0x08009000, // ITEM_NUT
0x0800A000, // ITEM_BEAN
0x0800B000, // ITEM_SLINGSHOT
0x0800C000, // ITEM_POWDER_KEG
0x0800D000, // ITEM_PICTO_BOX
0x0800E000, // ITEM_LENS
0x0800F000, // ITEM_HOOKSHOT
0x08010000, // ITEM_SWORD_GREAT_FAIRY
0x08011000, // ITEM_LONGSHOT
0x08012000, // ITEM_BOTTLE
0x08013000, // ITEM_POTION_RED
0x08014000, // ITEM_POTION_GREEN
0x08015000, // ITEM_POTION_BLUE
0x08016000, // ITEM_FAIRY
0x08017000, // ITEM_DEKU_PRINCESS
0x08018000, // ITEM_MILK_BOTTLE
0x08019000, // ITEM_MILK_HALF
0x0801A000, // ITEM_FISH
0x0801B000, // ITEM_BUG
0x0801C000, // ITEM_BLUE_FIRE
0x0801D000, // ITEM_POE
0x0801E000, // ITEM_BIG_POE
0x0801F000, // ITEM_SPRING_WATER
0x08020000, // ITEM_HOT_SPRING_WATER
0x08021000, // ITEM_ZORA_EGG
0x08022000, // ITEM_GOLD_DUST
0x08023000, // ITEM_MUSHROOM
0x08024000, // ITEM_SEA_HORSE
0x08025000, // ITEM_CHATEAU
0x08026000, // ITEM_HYLIAN_LOACH
0x08027000, // ITEM_OBABA_DRINK
0x08028000, // ITEM_MOON_TEAR
0x08029000, // ITEM_DEED_LAND
0x0802A000, // ITEM_DEED_SWAMP
0x0802B000, // ITEM_DEED_MOUNTAIN
0x0802C000, // ITEM_DEED_OCEAN
0x0802D000, // ITEM_ROOM_KEY
0x0802E000, // ITEM_LETTER_MAMA
0x0802F000, // ITEM_LETTER_KAFEI
0x08030000, // ITEM_PENDANT_MEMORIES
0x08031000, // ITEM_TINGLE_MAP
0x08032000, // ITEM_MASK_DEKU
0x08033000, // ITEM_MASK_GORON
0x08034000, // ITEM_MASK_ZORA
0x08035000, // ITEM_MASK_FIERCE_DEITY
0x08036000, // ITEM_MASK_TRUTH
0x08037000, // ITEM_MASK_KAFEI
0x08038000, // ITEM_MASK_ALL_NIGHT
0x08039000, // ITEM_MASK_BUNNY
0x0803A000, // ITEM_MASK_KEATON
0x0803B000, // ITEM_MASK_GARO
0x0803C000, // ITEM_MASK_ROMANI
0x0803D000, // ITEM_MASK_CIRCUS_LEADER
0x0803E000, // ITEM_MASK_POSTMAN
0x0803F000, // ITEM_MASK_COUPLE
0x08040000, // ITEM_MASK_GREAT_FAIRY
0x08041000, // ITEM_MASK_GIBDO
0x08042000, // ITEM_MASK_DON_GERO
0x08043000, // ITEM_MASK_KAMARO
0x08044000, // ITEM_MASK_CAPTAIN
0x08045000, // ITEM_MASK_STONE
0x08046000, // ITEM_MASK_BREMEN
0x08047000, // ITEM_MASK_BLAST
0x08048000, // ITEM_MASK_SCENTS
0x08049000, // ITEM_MASK_GIANT
0x0804A000, // ITEM_BOW_ARROW_FIRE
0x0804B000, // ITEM_BOW_ARROW_ICE
0x0804C000, // ITEM_BOW_ARROW_LIGHT
0x0804D000, // ITEM_SWORD_KOKIRI
0x0804E000, // ITEM_SWORD_RAZOR
0x0804F000, // ITEM_SWORD_GILDED
0x08050000, // ITEM_SWORD_DEITY
0x08051000, // ITEM_SHIELD_HERO
0x08052000, // ITEM_SHIELD_MIRROR
0x08053000, // ITEM_QUIVER_30
0x08054000, // ITEM_QUIVER_40
0x08055000, // ITEM_QUIVER_50
0x08056000, // ITEM_BOMB_BAG_20
0x08057000, // ITEM_BOMB_BAG_30
0x08058000, // ITEM_BOMB_BAG_40
0x08059000, // ITEM_WALLET_DEFAULT
0x0805A000, // ITEM_WALLET_ADULT
0x0805B000, // ITEM_WALLET_GIANT
0x0805C000, // ITEM_FISHING_POLE
0x0805D000, // ITEM_REMAINS_ODOLWA
0x0805E000, // ITEM_REMAINS_GOHT
0x0805F000, // ITEM_REMAINS_GYORG
0x08060000, // ITEM_REMAINS_TWINMOLD
0x08062000, // ITEM_SONG_SONATA
0x08062000, // ITEM_SONG_LULLABY
0x08062000, // ITEM_SONG_NOVA
0x08062000, // ITEM_SONG_ELEGY
0x08062000, // ITEM_SONG_OATH
0x08062000, // ITEM_SONG_SARIA
0x08062000, // ITEM_SONG_TIME
0x08062000, // ITEM_SONG_HEALING
0x08062000, // ITEM_SONG_EPONA
0x08062000, // ITEM_SONG_SOARING
0x08062000, // ITEM_SONG_STORMS
0x08062000, // ITEM_SONG_SUN
0x08061000, // ITEM_BOMBERS_NOTEBOOK
0x09000000, // ITEM_SKULL_TOKEN
0x09000900, // ITEM_HEART_CONTAINER
0x09001200, // ITEM_HEART_PIECE
0x08062000, //
0x08062000, //
0x08062000, // ITEM_SONG_LULLABY_INTRO
0x09003600, // ITEM_KEY_BOSS
0x09004800, // ITEM_COMPASS
0x09003F00, // ITEM_DUNGEON_MAP
0x09005100, // ITEM_STRAY_FAIRIES
0x09005A00, // ITEM_KEY_SMALL
0x09006300, // ITEM_MAGIC_SMALL
0x09006C00, // ITEM_MAGIC_LARGE
0x08062180, // ITEM_HEART_PIECE_2
0x08062A80, // ITEM_INVALID_1
0x08063380, // ITEM_INVALID_2
0x020028A0, // ITEM_INVALID_3
0x020025A0, // ITEM_INVALID_4
0x020027A0, // ITEM_INVALID_5
0x020026A0, // ITEM_INVALID_6
0x020024A0, // ITEM_INVALID_7
};
// Used to map item IDs to inventory slots
u8 gItemSlots[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,
0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x05, 0x05, 0x05, 0x05, 0x05, 0x0B, 0x0B, 0x11,
0x11, 0x11, 0x1D, 0x23, 0x29, 0x2F, 0x28, 0x26, 0x19, 0x20, 0x1E, 0x2C, 0x24, 0x25, 0x18, 0x27,
0x1C, 0x2B, 0x21, 0x2A, 0x2D, 0x1B, 0x1F, 0x1A, 0x22, 0x2E, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
SLOT_OCARINA, // ITEM_OCARINA
SLOT_BOW, // ITEM_BOW
SLOT_ARROW_FIRE, // ITEM_ARROW_FIRE
SLOT_ARROW_ICE, // ITEM_ARROW_ICE
SLOT_ARROW_LIGHT, // ITEM_ARROW_LIGHT
SLOT_TRADE_DEED, // ITEM_OCARINA_FAIRY
SLOT_BOMB, // ITEM_BOMB
SLOT_BOMBCHU, // ITEM_BOMBCHU
SLOT_STICK, // ITEM_STICK
SLOT_NUT, // ITEM_NUT
SLOT_BEAN, // ITEM_BEAN
SLOT_TRADE_KEY_MAMA, // ITEM_SLINGSHOT
SLOT_POWDER_KEG, // ITEM_POWDER_KEG
SLOT_PICTO_BOX, // ITEM_PICTO_BOX
SLOT_LENS, // ITEM_LENS
SLOT_HOOKSHOT, // ITEM_HOOKSHOT
SLOT_SWORD_GREAT_FAIRY, // ITEM_SWORD_GREAT_FAIRY
SLOT_BOTTLE_1, //
SLOT_BOTTLE_1, // ITEM_BOTTLE
SLOT_BOTTLE_1, // ITEM_POTION_RED
SLOT_BOTTLE_1, // ITEM_POTION_GREEN
SLOT_BOTTLE_1, // ITEM_POTION_BLUE
SLOT_BOTTLE_1, // ITEM_FAIRY
SLOT_BOTTLE_1, // ITEM_DEKU_PRINCESS
SLOT_BOTTLE_1, // ITEM_MILK_BOTTLE
SLOT_BOTTLE_1, // ITEM_MILK_HALF
SLOT_BOTTLE_1, // ITEM_FISH
SLOT_BOTTLE_1, // ITEM_BUG
SLOT_BOTTLE_1, // ITEM_BLUE_FIRE
SLOT_BOTTLE_1, // ITEM_POE
SLOT_BOTTLE_1, // ITEM_BIG_POE
SLOT_BOTTLE_1, // ITEM_SPRING_WATER
SLOT_BOTTLE_1, // ITEM_HOT_SPRING_WATER
SLOT_BOTTLE_1, // ITEM_ZORA_EGG
SLOT_BOTTLE_1, // ITEM_GOLD_DUST
SLOT_BOTTLE_1, // ITEM_MUSHROOM
SLOT_BOTTLE_1, // ITEM_SEA_HORSE
SLOT_BOTTLE_1, // ITEM_CHATEAU
SLOT_BOTTLE_1, // ITEM_HYLIAN_LOACH
SLOT_BOTTLE_1, // ITEM_OBABA_DRINK
SLOT_TRADE_DEED, // ITEM_MOON_TEAR
SLOT_TRADE_DEED, // ITEM_DEED_LAND
SLOT_TRADE_DEED, // ITEM_DEED_SWAMP
SLOT_TRADE_DEED, // ITEM_DEED_MOUNTAIN
SLOT_TRADE_DEED, // ITEM_DEED_OCEAN
SLOT_TRADE_KEY_MAMA, // ITEM_ROOM_KEY
SLOT_TRADE_KEY_MAMA, // ITEM_LETTER_MAMA
SLOT_TRADE_COUPLE, // ITEM_LETTER_KAFEI
SLOT_TRADE_COUPLE, // ITEM_PENDANT_MEMORIES
SLOT_TRADE_COUPLE, // ITEM_TINGLE_MAP
SLOT_MASK_DEKU, // ITEM_MASK_DEKU
SLOT_MASK_GORON, // ITEM_MASK_GORON
SLOT_MASK_ZORA, // ITEM_MASK_ZORA
SLOT_MASK_FIERCE_DEITY, // ITEM_MASK_FIERCE_DEITY
SLOT_MASK_TRUTH, // ITEM_MASK_TRUTH
SLOT_MASK_KAFEI, // ITEM_MASK_KAFEI
SLOT_MASK_ALL_NIGHT, // ITEM_MASK_ALL_NIGHT
SLOT_MASK_BUNNY, // ITEM_MASK_BUNNY
SLOT_MASK_KEATON, // ITEM_MASK_KEATON
SLOT_MASK_GARO, // ITEM_MASK_GARO
SLOT_MASK_ROMANI, // ITEM_MASK_ROMANI
SLOT_MASK_CIRCUS_LEADER, // ITEM_MASK_CIRCUS_LEADER
SLOT_MASK_POSTMAN, // ITEM_MASK_POSTMAN
SLOT_MASK_COUPLE, // ITEM_MASK_COUPLE
SLOT_MASK_GREAT_FAIRY, // ITEM_MASK_GREAT_FAIRY
SLOT_MASK_GIBDO, // ITEM_MASK_GIBDO
SLOT_MASK_DON_GERO, // ITEM_MASK_DON_GERO
SLOT_MASK_KAMARO, // ITEM_MASK_KAMARO
SLOT_MASK_CAPTAIN, // ITEM_MASK_CAPTAIN
SLOT_MASK_STONE, // ITEM_MASK_STONE
SLOT_MASK_BREMEN, // ITEM_MASK_BREMEN
SLOT_MASK_BLAST, // ITEM_MASK_BLAST
SLOT_MASK_SCENTS, // ITEM_MASK_SCENTS
SLOT_MASK_GIANT, // ITEM_MASK_GIANT
SLOT_BOW, // ITEM_BOW_ARROW_FIRE
SLOT_BOW, // ITEM_BOW_ARROW_ICE
SLOT_BOW, // ITEM_BOW_ARROW_LIGHT
};
s16 gItemPrices[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 0, 20,
5, 20, 20, 50, 50, 200, 20, 20, 20, 200, 5, 0, 200, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, // ITEM_OCARINA
0, // ITEM_BOW
0, // ITEM_ARROW_FIRE
0, // ITEM_ARROW_ICE
0, // ITEM_ARROW_LIGHT
0, // ITEM_OCARINA_FAIRY
0, // ITEM_BOMB
0, // ITEM_BOMBCHU
0, // ITEM_STICK
0, // ITEM_NUT
0, // ITEM_BEAN
0, // ITEM_SLINGSHOT
0, // ITEM_POWDER_KEG
0, // ITEM_PICTO_BOX
0, // ITEM_LENS
0, // ITEM_HOOKSHOT
0, // ITEM_SWORD_GREAT_FAIRY
0, // ITEM_LONGSHOT
0, // ITEM_BOTTLE
20, // ITEM_POTION_RED
20, // ITEM_POTION_GREEN
20, // ITEM_POTION_BLUE
20, // ITEM_FAIRY
0, // ITEM_DEKU_PRINCESS
20, // ITEM_MILK_BOTTLE
5, // ITEM_MILK_HALF
20, // ITEM_FISH
20, // ITEM_BUG
50, // ITEM_BLUE_FIRE
50, // ITEM_POE
200, // ITEM_BIG_POE
20, // ITEM_SPRING_WATER
20, // ITEM_HOT_SPRING_WATER
20, // ITEM_ZORA_EGG
200, // ITEM_GOLD_DUST
5, // ITEM_MUSHROOM
0, // ITEM_SEA_HORSE
200, // ITEM_CHATEAU
20, // ITEM_HYLIAN_LOACH
0, // ITEM_OBABA_DRINK
0, // ITEM_MOON_TEAR
0, // ITEM_DEED_LAND
0, // ITEM_DEED_SWAMP
0, // ITEM_DEED_MOUNTAIN
0, // ITEM_DEED_OCEAN
0, // ITEM_ROOM_KEY
0, // ITEM_LETTER_MAMA
0, // ITEM_LETTER_KAFEI
0, // ITEM_PENDANT_MEMORIES
0, // ITEM_TINGLE_MAP
};
// Used to map scene indexes to their region in Termina
+15 -15
View File
@@ -136,7 +136,7 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
this->unk154 = 0.044999998f;
shadowOffset = 320.0f;
break;
case ITEM00_RUPEE_ORANGE:
case ITEM00_RUPEE_HUGE:
Actor_SetScale(&this->actor, 0.044999998f);
this->unk154 = 0.044999998f;
shadowOffset = 750.0f;
@@ -172,7 +172,7 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, shadowOffset, func_800B3FC0, shadowScale);
this->actor.shape.shadowAlpha = 180;
this->actor.focus.pos = this->actor.world.pos;
this->unk14A = 0;
this->unk14A = GI_NONE;
if (sp30 < 0) {
this->actionFunc = EnItem00_WaitForHeartObject;
@@ -205,8 +205,8 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
case ITEM00_RUPEE_PURPLE:
Item_Give(globalCtx, ITEM_RUPEE_PURPLE);
break;
case ITEM00_RUPEE_ORANGE:
Item_Give(globalCtx, ITEM_RUPEE_ORANGE);
case ITEM00_RUPEE_HUGE:
Item_Give(globalCtx, ITEM_RUPEE_HUGE);
break;
case ITEM00_HEART:
Item_Give(globalCtx, ITEM_HEART);
@@ -405,12 +405,12 @@ void func_800A6780(EnItem00* this, GlobalContext* globalCtx) {
void func_800A6A40(EnItem00* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
if (this->unk14A != 0) {
if (this->unk14A != GI_NONE) {
if (Actor_HasParent(&this->actor, globalCtx) == 0) {
func_800B8A1C(&this->actor, globalCtx, this->unk14A, 50.0f, 80.0f);
this->unk152++;
} else {
this->unk14A = 0;
this->unk14A = GI_NONE;
}
}
@@ -508,9 +508,9 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
this->unk1A4 = 1;
Item_Give(globalCtx, ITEM_RUPEE_PURPLE);
break;
case ITEM00_RUPEE_ORANGE:
case ITEM00_RUPEE_HUGE:
this->unk1A4 = 1;
Item_Give(globalCtx, ITEM_RUPEE_ORANGE);
Item_Give(globalCtx, ITEM_RUPEE_HUGE);
break;
case ITEM00_STICK:
getItemId = GI_STICKS_1;
@@ -594,7 +594,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
break;
}
if ((this->actor.params <= ITEM00_RUPEE_RED) || (this->actor.params == ITEM00_RUPEE_ORANGE)) {
if ((this->actor.params <= ITEM00_RUPEE_RED) || (this->actor.params == ITEM00_RUPEE_HUGE)) {
play_sound(NA_SE_SY_GET_RUPY);
} else if (getItemId != GI_NONE) {
if (Actor_HasParent(&this->actor, globalCtx)) {
@@ -617,7 +617,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetScale(&this->actor, this->unk154);
this->unk14A = 0;
this->unk14A = GI_NONE;
this->actionFunc = func_800A6A40;
}
@@ -635,7 +635,7 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) {
case ITEM00_RUPEE_GREEN:
case ITEM00_RUPEE_BLUE:
case ITEM00_RUPEE_RED:
case ITEM00_RUPEE_ORANGE:
case ITEM00_RUPEE_HUGE:
case ITEM00_RUPEE_PURPLE:
EnItem00_DrawRupee(this, globalCtx);
break;
@@ -1066,9 +1066,9 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
if (dropId == ITEM00_MASK) {
dropQuantity = 1;
if (gSaveContext.playerForm != 1) {
if (gSaveContext.playerForm != 2) {
if (gSaveContext.playerForm != 4) {
if (gSaveContext.playerForm != PLAYER_FORM_GORON) {
if (gSaveContext.playerForm != PLAYER_FORM_ZORA) {
if (gSaveContext.playerForm != PLAYER_FORM_HUMAN) {
dropId = ITEM00_RUPEE_GREEN;
} else {
dropId = ITEM00_ARROWS_10;
@@ -1172,7 +1172,7 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
#endif
s32 D_801AE194[32] = { ITEM00_NO_DROP, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP,
ITEM00_RUPEE_RED, ITEM00_RUPEE_PURPLE, ITEM00_NO_DROP, ITEM00_RUPEE_ORANGE,
ITEM00_RUPEE_RED, ITEM00_RUPEE_PURPLE, ITEM00_NO_DROP, ITEM00_RUPEE_HUGE,
ITEM00_COMPASS, ITEM00_MUSHROOM_CLOUD, ITEM00_HEART, ITEM00_3_HEARTS,
ITEM00_HEART_PIECE, ITEM00_HEART_CONTAINER, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE,
ITEM00_FLEXIBLE, ITEM00_BIG_FAIRY, ITEM00_NO_DROP, ITEM00_NUTS_10,
+21 -21
View File
@@ -2,28 +2,28 @@
/**
* Indices of the columns of this array:
* - index 0x00: PLAYER_MASK_MASK_OF_TRUTH
* - index 0x01: PLAYER_MASK_KAFEIS_MASK
* - index 0x02: PLAYER_MASK_ALL_NIGHT_MASK
* - index 0x03: PLAYER_MASK_BUNNY_HOOD
* - index 0x04: PLAYER_MASK_KEATON_MASK
* - index 0x05: PLAYER_MASK_GAROS_MASK
* - index 0x06: PLAYER_MASK_ROMANIS_MASK
* - index 0x07: PLAYER_MASK_CIRCUS_LEADERS_MASK
* - index 0x08: PLAYER_MASK_POSTMANS_HAT
* - index 0x09: PLAYER_MASK_COUPLES_MASK
* - index 0x0A: PLAYER_MASK_GREAT_FAIRYS_MASK
* - index 0x0B: PLAYER_MASK_GIBDO_MASK
* - index 0x0C: PLAYER_MASK_DON_GEROS_MASK
* - index 0x0D: PLAYER_MASK_KAMAROS_MASK
* - index 0x0E: PLAYER_MASK_CAPTAINS_HAT
* - index 0x0F: PLAYER_MASK_STONE_MASK
* - index 0x10: PLAYER_MASK_BREMEN_MASK
* - index 0x11: PLAYER_MASK_BLAST_MASK
* - index 0x12: PLAYER_MASK_MASK_OF_SCENTS
* - index 0x00: PLAYER_MASK_TRUTH
* - index 0x01: PLAYER_MASK_KAFEI
* - index 0x02: PLAYER_MASK_ALL_NIGHT
* - index 0x03: PLAYER_MASK_BUNNY
* - index 0x04: PLAYER_MASK_KEATON
* - index 0x05: PLAYER_MASK_GARO
* - index 0x06: PLAYER_MASK_ROMANI
* - index 0x07: PLAYER_MASK_CIRCUS_LEADER
* - index 0x08: PLAYER_MASK_POSTMAN
* - index 0x09: PLAYER_MASK_COUPLE
* - index 0x0A: PLAYER_MASK_GREAT_FAIRY
* - index 0x0B: PLAYER_MASK_GIBDO
* - index 0x0C: PLAYER_MASK_DON_GERO
* - index 0x0D: PLAYER_MASK_KAMARO
* - index 0x0E: PLAYER_MASK_CAPTAIN
* - index 0x0F: PLAYER_MASK_STONE
* - index 0x10: PLAYER_MASK_BREMEN
* - index 0x11: PLAYER_MASK_BLAST
* - index 0x12: PLAYER_MASK_SCENTS
*/
// clang-format off
static u16 sReactionTextIds[][PLAYER_MASK_GIANTS_MASK - 1] = {
static u16 sReactionTextIds[][PLAYER_MASK_GIANT - 1] = {
/* 0x00 */ { 0 },
/* 0x01 */ { 0 },
/* 0x02 */ { 0 },
@@ -179,7 +179,7 @@ static u16 sReactionTextIds[][PLAYER_MASK_GIANTS_MASK - 1] = {
// clang-format on
u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet) {
if ((Player_GetMask(globalCtx) > PLAYER_MASK_NONE) && (Player_GetMask(globalCtx) < PLAYER_MASK_GIANTS_MASK)) {
if ((Player_GetMask(globalCtx) > PLAYER_MASK_NONE) && (Player_GetMask(globalCtx) < PLAYER_MASK_GIANT)) {
return sReactionTextIds[reactionSet][Player_GetMask(globalCtx) - 1];
}
return 0;
+1 -1
View File
@@ -117,7 +117,7 @@ void FireObj_UpdateStateTransitions(GlobalContext* globalCtx, FireObj* fire) {
((fire->yScale * ((void)0, 6500.0f)) < (sp44 - fire->position.y))) { // Fake but IDK what else
FireObj_SetState(fire, fire->dynamicSizeStep, FIRE_STATE_3);
}
if ((fire->flags & 2) && (player->itemActionParam == 7)) {
if ((fire->flags & 2) && (player->itemActionParam == PLAYER_AP_STICK)) {
Math_Vec3f_Diff(&player->swordInfo[0].tip, &fire->position, &dist);
if (Math3D_LengthSquared(&dist) < 400.0f) {
sp40 = 1;
-1
View File
@@ -1,5 +1,4 @@
#include "global.h"
#include "prevent_bss_reordering.h"
static s16 sHeartsPrimColors[3][3] = { { 255, 70, 50 }, { 255, 190, 0 }, { 100, 100, 255 } };
static s16 sHeartsEnvColors[3][3] = { { 50, 40, 60 }, { 255, 0, 0 }, { 0, 0, 255 } };
-1
View File
@@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
QuakeRequest sQuakeRequest[4];
+1 -1
View File
@@ -393,7 +393,7 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->envCtx.unk_2 = 0;
}
if ((gSaveContext.inventory.items[0] == 0xFF) && (globalCtx->envCtx.unk_2 != 0)) {
if ((gSaveContext.inventory.items[SLOT_OCARINA] == ITEM_NONE) && (globalCtx->envCtx.unk_2 != 0)) {
globalCtx->envCtx.unk_2 = 5;
}
+1
View File
@@ -1,3 +1,4 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#define ANIM_INTERP 1