mirror of
https://github.com/zeldaret/mm.git
synced 2026-09-04 02:09:46 -04:00
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:
+261
-24
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
@@ -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,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,4 +1,3 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
QuakeRequest sQuakeRequest[4];
|
||||
|
||||
+1
-1
@@ -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,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
#define ANIM_INTERP 1
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ void BgIcicle_Regrow(BgIcicle* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgIcicle_UpdateAttacked(BgIcicle* this, GlobalContext* globalCtx) {
|
||||
s32 sp24;
|
||||
s32 dropItem00Id;
|
||||
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
@@ -212,9 +212,9 @@ void BgIcicle_UpdateAttacked(BgIcicle* this, GlobalContext* globalCtx) {
|
||||
Item_DropCollectibleRandom(globalCtx, NULL, &this->dyna.actor.world.pos, this->unk_160 << 4);
|
||||
}
|
||||
} else if (this->dyna.actor.params == ICICLE_STALAGMITE_FIXED_DROP) {
|
||||
sp24 = func_800A8150(this->unk_160);
|
||||
dropItem00Id = func_800A8150(this->unk_160);
|
||||
BgIcicle_Break(this, globalCtx, 50.0f);
|
||||
Item_DropCollectible(globalCtx, &this->dyna.actor.world.pos, (this->unk_161 << 8) | sp24);
|
||||
Item_DropCollectible(globalCtx, &this->dyna.actor.world.pos, (this->unk_161 << 8) | dropItem00Id);
|
||||
} else {
|
||||
if (this->dyna.actor.params == ICICLE_STALACTITE_REGROW) {
|
||||
BgIcicle_Break(this, globalCtx, 40.0f);
|
||||
|
||||
@@ -99,7 +99,7 @@ void BgLotus_Wait(BgLotus* this, GlobalContext* globalCtx) {
|
||||
EffectSsGRipple_Spawn(globalCtx, &this->dyna.actor.world.pos, 1000, 1400, 8);
|
||||
this->timer = 40;
|
||||
}
|
||||
if (gSaveContext.playerForm != 3) {
|
||||
if (gSaveContext.playerForm != PLAYER_FORM_DEKU) {
|
||||
this->timer = 40;
|
||||
this->dyna.actor.flags |= 0x10;
|
||||
this->actionFunc = BgLotus_Sink;
|
||||
|
||||
@@ -146,7 +146,7 @@ void EnBaguo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void EnBaguo_UndergroundIdle(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->action = NEJIRON_ACTION_INACTIVE;
|
||||
if (this->actor.xzDistToPlayer < 200.0f && Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) {
|
||||
if (this->actor.xzDistToPlayer < 200.0f && Player_GetMask(globalCtx) != PLAYER_MASK_STONE) {
|
||||
this->actor.draw = EnBaguo_DrawBody;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_APPEAR);
|
||||
this->actor.world.rot.z = 0;
|
||||
@@ -225,7 +225,7 @@ void EnBaguo_Roll(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
f32 zDistanceFromHome = this->actor.home.pos.z - this->actor.world.pos.z;
|
||||
|
||||
if ((sqrtf(SQ(xDistanceFromHome) + SQ(zDistanceFromHome)) > this->maxDistanceFromHome) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE)) {
|
||||
EnBaguo_SetupRetreatUnderground(this);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ void func_80BE887C(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.weekEventReg[60] & 8) {
|
||||
this->textIdIndex = 1;
|
||||
}
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_COUPLES_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_COUPLE) {
|
||||
this->textIdIndex = 6;
|
||||
}
|
||||
if (this->unk2AC == 1) {
|
||||
|
||||
@@ -834,7 +834,7 @@ void EnBigpo_ScoopSoulIdle(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_LAUGH);
|
||||
EnBigpo_SetupScoopSoulLeaving(this);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0xBA, 35.0f, 60.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, 35.0f, 60.0f);
|
||||
this->actor.world.pos.y = (sin_rad(this->idleTimer * (M_PI / 20)) * 5.0f) + this->savedHeight;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
break;
|
||||
case PLAYER_FORM_HUMAN:
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) {
|
||||
this->textId = 0x236A;
|
||||
} else if (gSaveContext.weekEventReg[74] & 0x10) {
|
||||
this->textId = 0x5F6;
|
||||
|
||||
@@ -184,7 +184,7 @@ void func_809438F8(EnDaiku* this, GlobalContext* globalCtx) {
|
||||
s32 day = gSaveContext.day - 1;
|
||||
s32 pad2;
|
||||
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) {
|
||||
if (this->unk_278 == ENDAIKU_PARAMS_FF_1) {
|
||||
this->actor.textId = 0x2365;
|
||||
} else {
|
||||
|
||||
@@ -205,12 +205,12 @@ void func_808BD49C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->collider.dim.height = (s32)((CLAMP(this->skelAnime.curFrame, 9.0f, 12.0f) - 9.0f) * 9.0f) + 5;
|
||||
|
||||
if (!phi_v1 && (this->actor.params == ENDEKUNUTS_GET_FF00_0) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) && (this->actor.xzDistToPlayer < 120.0f)) {
|
||||
if (!phi_v1 && (this->actor.params == ENDEKUNUTS_GET_FF00_0) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE) &&
|
||||
(this->actor.xzDistToPlayer < 120.0f)) {
|
||||
func_808BDC9C(this);
|
||||
} else if (SkelAnime_Update(&this->skelAnime)) {
|
||||
if (((this->unk_190 == 0) && (this->actor.xzDistToPlayer > 320.0f)) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE)) {
|
||||
func_808BD78C(this);
|
||||
} else {
|
||||
if (this->actor.params == ENDEKUNUTS_GET_FF00_1) {
|
||||
@@ -247,7 +247,7 @@ void func_808BD7D4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->unk_190 == 0) ||
|
||||
((this->actor.xzDistToPlayer < 120.0f) && Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
((this->actor.xzDistToPlayer < 120.0f) && Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
func_808BDC9C(this);
|
||||
}
|
||||
}
|
||||
@@ -277,13 +277,13 @@ void func_808BD8D8(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_190 == 0x1000) {
|
||||
if ((this->actor.xzDistToPlayer > 480.0f) ||
|
||||
((this->actor.params == ENDEKUNUTS_GET_FF00_0) && (this->actor.xzDistToPlayer < 120.0f)) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE)) {
|
||||
func_808BDC9C(this);
|
||||
} else {
|
||||
func_808BDA08(this);
|
||||
}
|
||||
} else if (this->unk_190 == 0) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_STONE) {
|
||||
func_808BDC9C(this);
|
||||
} else {
|
||||
func_808BDA08(this);
|
||||
@@ -566,7 +566,7 @@ void func_808BE680(EnDekunuts* this) {
|
||||
|
||||
void func_808BE6C4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) {
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE) {
|
||||
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0xE38);
|
||||
}
|
||||
|
||||
|
||||
@@ -414,7 +414,7 @@ void func_80989E18(EnDg* this, GlobalContext* globalCtx) {
|
||||
func_80989140(&this->skelAnime, sAnimations, 5);
|
||||
this->actor.flags &= ~1;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_MASK_OF_TRUTH) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_TRUTH) {
|
||||
this->actor.flags |= 0x10000;
|
||||
func_800B8614(&this->actor, globalCtx, 100.0f);
|
||||
this->actionFunc = func_8098BBEC;
|
||||
|
||||
@@ -285,7 +285,7 @@ void EnDno_DoNothing(EnDno* this, GlobalContext* globalCtx) {
|
||||
void func_80A71B68(EnDno* this, GlobalContext* globalCtx) {
|
||||
this->unk_452 = 0;
|
||||
this->actor.textId = 0;
|
||||
if (CHECK_QUEST_ITEM(6)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
||||
if (gSaveContext.weekEventReg[27] & 1) {
|
||||
if (!(this->unk_3B0 & 0x20)) {
|
||||
func_8013E1C8(&this->skelAnime, sAnimations, 6, &this->unk_32C);
|
||||
@@ -349,7 +349,7 @@ void func_80A71C3C(EnDno* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80A71E54(EnDno* this, GlobalContext* globalCtx) {
|
||||
if (CHECK_QUEST_ITEM(6)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
||||
if (gSaveContext.weekEventReg[27] & 1) {
|
||||
this->unk_464 = 0x811;
|
||||
} else {
|
||||
@@ -566,7 +566,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||
} else if ((this->unk_32C == 5) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||
if (Flags_GetSwitch(globalCtx, ENDNO_GET_3F80(&this->actor))) {
|
||||
func_801518B0(globalCtx, 0x801, &this->actor);
|
||||
} else if (Player_GetMask(globalCtx) == PLAYER_MASK_MASK_OF_SCENTS) {
|
||||
} else if (Player_GetMask(globalCtx) == PLAYER_MASK_SCENTS) {
|
||||
func_801518B0(globalCtx, 0x806, &this->actor);
|
||||
} else {
|
||||
func_801518B0(globalCtx, 0x800, &this->actor);
|
||||
@@ -629,9 +629,9 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||
case 0x802:
|
||||
if (func_80147624(globalCtx)) {
|
||||
if (gSaveContext.inventory.items[D_801C20C0] == ITEM_MASK_SCENTS) {
|
||||
this->unk_458 = 4;
|
||||
this->unk_458 = GI_RUPEE_RED;
|
||||
} else {
|
||||
this->unk_458 = 142;
|
||||
this->unk_458 = GI_MASK_SCENTS;
|
||||
}
|
||||
func_800B8A1C(&this->actor, globalCtx, this->unk_458, 60.0f, 60.0f);
|
||||
func_801477B4(globalCtx);
|
||||
|
||||
@@ -418,7 +418,7 @@ void EnDnp_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
sp2C = this->collider.dim.radius + 50;
|
||||
sp28 = this->collider.dim.height + 30;
|
||||
if ((this->unk_322 & 0x400) && !(gSaveContext.weekEventReg[23] & 0x20)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0xBA, sp2C, sp28);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, sp2C, sp28);
|
||||
}
|
||||
func_8013C964(&this->actor, globalCtx, sp2C, sp28, 0, this->unk_322 & 7);
|
||||
Actor_SetHeight(&this->actor, 30.0f);
|
||||
|
||||
@@ -393,12 +393,12 @@ void func_80876B08(EnDodongo* this, GlobalContext* globalCtx) {
|
||||
s16 yDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
|
||||
|
||||
if (ABS_ALT(yDiff) < 0x4000) {
|
||||
if (!(player->stateFlags1 & 0x00800000) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
if (!(player->stateFlags1 & 0x00800000) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
func_808777A8(this);
|
||||
} else {
|
||||
func_80877494(this);
|
||||
}
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) {
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE) {
|
||||
func_80878354(this);
|
||||
} else {
|
||||
func_80877494(this);
|
||||
@@ -591,7 +591,7 @@ void func_80877500(EnDodongo* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((Math_Vec3f_DistXZ(&this->actor.home.pos, &player->actor.world.pos) < 400.0f) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
temp_v1 = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
|
||||
Math_ScaledStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 0x1F4);
|
||||
if (this->actor.xzDistToPlayer < (100.0f * this->unk_334)) {
|
||||
@@ -602,7 +602,7 @@ void func_80877500(EnDodongo* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
} else {
|
||||
if ((Actor_XZDistanceToPoint(&this->actor, &this->actor.home.pos) > 150.0f) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE)) {
|
||||
Math_ScaledStepToS(&this->actor.world.rot.y, Actor_YawToPoint(&this->actor, &this->actor.home.pos), 0x1F4);
|
||||
}
|
||||
|
||||
@@ -832,7 +832,7 @@ void func_80878424(EnDodongo* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->timer++;
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
if (!(player->stateFlags1 & 0x800000) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
if (!(player->stateFlags1 & 0x800000) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
this->collider1.base.atFlags &= ~AT_ON;
|
||||
func_808777A8(this);
|
||||
} else {
|
||||
|
||||
@@ -425,7 +425,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GREAT_FAIRYS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GREAT_FAIRY) {
|
||||
pos = player->bodyPartsPos[0];
|
||||
this->targetSpeedXZ = 5.0f;
|
||||
EnElforg_MoveToTarget(this, &pos);
|
||||
@@ -471,7 +471,7 @@ void EnElforg_FreeFloating(EnElforg* this, GlobalContext* globalCtx) {
|
||||
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 20.0f, 7);
|
||||
func_80ACCBB8(this, globalCtx);
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GREAT_FAIRYS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GREAT_FAIRY) {
|
||||
if (!(this->flags & STRAY_FAIRY_FLAG_GREAT_FAIRYS_MASK_EQUIPPED)) {
|
||||
play_sound(NA_SE_SY_FAIRY_MASK_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ void EnFirefly_FlyIdle(EnFirefly* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->timer == 0) && (this->actor.xzDistToPlayer < 200.0f) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
EnFirefly_SetupDiveAttack(this);
|
||||
}
|
||||
}
|
||||
@@ -462,7 +462,7 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
|
||||
}
|
||||
|
||||
if ((this->timer == 0) || (Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (player->stateFlags2 & 0x80) ||
|
||||
if ((this->timer == 0) || (Player_GetMask(globalCtx) == PLAYER_MASK_STONE) || (player->stateFlags2 & 0x80) ||
|
||||
(player->actor.freezeTimer > 0)) {
|
||||
EnFirefly_SetupFlyAway(this);
|
||||
}
|
||||
|
||||
@@ -125,12 +125,12 @@ u16 EnFsn_GetWelcome(GlobalContext* globalCtx) {
|
||||
switch (Player_GetMask(globalCtx)) {
|
||||
case PLAYER_MASK_NONE:
|
||||
return 0x29CC;
|
||||
case PLAYER_MASK_DEKU_MASK:
|
||||
case PLAYER_MASK_DEKU:
|
||||
return 0x29FC;
|
||||
case PLAYER_MASK_GORON_MASK:
|
||||
case PLAYER_MASK_ZORA_MASK:
|
||||
case PLAYER_MASK_GORON:
|
||||
case PLAYER_MASK_ZORA:
|
||||
return 0x29FD;
|
||||
case PLAYER_MASK_KAFEIS_MASK:
|
||||
case PLAYER_MASK_KAFEI:
|
||||
return 0x2364;
|
||||
default:
|
||||
return 0x29FE;
|
||||
@@ -827,7 +827,7 @@ void EnFsn_StartBuying(EnFsn* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = EnFsn_DeterminePrice;
|
||||
break;
|
||||
case 0x29CF:
|
||||
player->unk_A87 = 0;
|
||||
player->unk_A87 = PLAYER_AP_NONE;
|
||||
this->actionFunc = EnFsn_SetupDeterminePrice;
|
||||
break;
|
||||
}
|
||||
@@ -904,20 +904,21 @@ void EnFsn_SetupDeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
||||
|
||||
void EnFsn_DeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
s32 itemGiven;
|
||||
s32 itemActionParam;
|
||||
u8 buttonItem;
|
||||
|
||||
if (func_80152498(&globalCtx->msgCtx) == 16) {
|
||||
itemGiven = func_80123810(globalCtx);
|
||||
if (itemGiven > 0) {
|
||||
itemActionParam = func_80123810(globalCtx);
|
||||
if (itemActionParam > PLAYER_AP_NONE) {
|
||||
if (player->heldItemButton == 0) {
|
||||
buttonItem = CUR_FORM_EQUIP(player->heldItemButton);
|
||||
} else {
|
||||
buttonItem = gSaveContext.equips.buttonItems[0][player->heldItemButton];
|
||||
}
|
||||
this->price = (buttonItem < 40) ? gItemPrices[buttonItem] : 0;
|
||||
this->price = (buttonItem < ITEM_MOON_TEAR) ? gItemPrices[buttonItem] : 0;
|
||||
if (this->price > 0) {
|
||||
player->actor.textId = 0x29EF;
|
||||
// player->unk_A87 should be set to itemActionParam?
|
||||
player->unk_A87 = buttonItem;
|
||||
this->actionFunc = EnFsn_MakeOffer;
|
||||
} else {
|
||||
@@ -926,7 +927,7 @@ void EnFsn_DeterminePrice(EnFsn* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
this->actor.textId = player->actor.textId;
|
||||
func_801477B4(globalCtx);
|
||||
} else if (itemGiven < 0) {
|
||||
} else if (itemActionParam < PLAYER_AP_NONE) {
|
||||
if (CURRENT_DAY == 3) {
|
||||
this->actor.textId = 0x29DF;
|
||||
} else {
|
||||
@@ -967,14 +968,14 @@ void EnFsn_MakeOffer(EnFsn* this, GlobalContext* globalCtx) {
|
||||
this->getItemId = GI_RUPEE_PURPLE;
|
||||
break;
|
||||
case 200:
|
||||
this->getItemId = GI_RUPEE_GOLD;
|
||||
this->getItemId = GI_RUPEE_HUGE;
|
||||
break;
|
||||
}
|
||||
this->actionFunc = EnFsn_GiveItem;
|
||||
break;
|
||||
case 1:
|
||||
func_8019F230();
|
||||
player->unk_A87 = 0;
|
||||
player->unk_A87 = PLAYER_AP_NONE;
|
||||
this->actionFunc = EnFsn_SetupDeterminePrice;
|
||||
break;
|
||||
}
|
||||
@@ -989,7 +990,7 @@ void EnFsn_GiveItem(EnFsn* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
this->actor.parent = NULL;
|
||||
if (ENFSN_IS_SHOP(&this->actor) && !this->isSelling) {
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), 18, 21);
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE);
|
||||
}
|
||||
this->actionFunc = EnFsn_SetupResumeInteraction;
|
||||
} else if (this->isSelling == true) {
|
||||
@@ -1000,7 +1001,7 @@ void EnFsn_GiveItem(EnFsn* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnFsn_SetupResumeInteraction(EnFsn* this, GlobalContext* globalCtx) {
|
||||
if (CHECK_QUEST_ITEM(18)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if (globalCtx->msgCtx.unk120B1 == 0) {
|
||||
EnFsn_HandleSetupResumeInteraction(this, globalCtx);
|
||||
}
|
||||
@@ -1180,7 +1181,7 @@ void EnFsn_SetupEndInteraction(EnFsn* this, GlobalContext* globalCtx) {
|
||||
u8 talkState = func_80152498(&globalCtx->msgCtx);
|
||||
|
||||
if ((talkState == 5 || talkState == 6) && func_80147624(globalCtx)) {
|
||||
if (CHECK_QUEST_ITEM(18)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if (globalCtx->msgCtx.unk120B1 == 0) {
|
||||
EnFsn_EndInteraction(this, globalCtx);
|
||||
} else {
|
||||
@@ -1252,7 +1253,7 @@ void EnFsn_AskCanBuyMore(EnFsn* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
} else if ((talkState == 5 || talkState == 6) && func_80147624(globalCtx)) {
|
||||
if (CHECK_QUEST_ITEM(18)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if (globalCtx->msgCtx.unk120B1 == 0) {
|
||||
EnFsn_EndInteraction(this, globalCtx);
|
||||
} else {
|
||||
@@ -1299,7 +1300,7 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, GlobalContext* globalCtx)
|
||||
}
|
||||
}
|
||||
} else if ((talkState == 5 || talkState == 6) && func_80147624(globalCtx)) {
|
||||
if (CHECK_QUEST_ITEM(18)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if (globalCtx->msgCtx.unk120B1 == 0) {
|
||||
EnFsn_EndInteraction(this, globalCtx);
|
||||
} else {
|
||||
|
||||
@@ -77,7 +77,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) {
|
||||
case GIANT_TYPE_SWAMP_CLOCK_TOWER_SUCCESS:
|
||||
case GIANT_TYPE_SWAMP_GIANTS_CHAMBER_AND_ENDING:
|
||||
case GIANT_TYPE_SWAMP_CLOCK_TOWER_FAILURE:
|
||||
if (!CHECK_QUEST_ITEM(0)) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_ODOWLA)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@@ -85,7 +85,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) {
|
||||
case GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_SUCCESS:
|
||||
case GIANT_TYPE_MOUNTAIN_GIANTS_CHAMBER_AND_ENDING:
|
||||
case GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_FAILURE:
|
||||
if (!CHECK_QUEST_ITEM(1)) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@@ -93,7 +93,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) {
|
||||
case GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS:
|
||||
case GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING:
|
||||
case GIANT_TYPE_OCEAN_CLOCK_TOWER_FAILURE:
|
||||
if (!CHECK_QUEST_ITEM(2)) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@@ -101,7 +101,7 @@ s32 EnGiant_IsImprisoned(EnGiant* this) {
|
||||
case GIANT_TYPE_CANYON_CLOCK_TOWER_SUCCESS:
|
||||
case GIANT_TYPE_CANYON_GIANTS_CHAMBER_AND_ENDING:
|
||||
case GIANT_TYPE_CANYON_CLOCK_TOWER_FAILURE:
|
||||
if (!CHECK_QUEST_ITEM(3)) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -517,16 +517,16 @@ void EnGinkoMan_BankAward(EnGinkoMan* this, GlobalContext* globalCtx) {
|
||||
EnGinkoMan_SetupBankAward2(this);
|
||||
} else if (this->curTextId == 0x45B) { // "Whats this, you already saved up 200?"
|
||||
if (!(gSaveContext.weekEventReg[10] & 8)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, CUR_UPG_VALUE(UPG_WALLET) + 8, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_WALLET_ADULT + CUR_UPG_VALUE(UPG_WALLET), 500.0f, 100.0f);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 2, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
}
|
||||
} else if (this->curTextId == 0x45C) { // "Whats this, you already saved up 5000?"
|
||||
func_800B8A1C(&this->actor, globalCtx, 2, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
} else if (!(gSaveContext.weekEventReg[59] & 8)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 12, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_HEART_PIECE, 500.0f, 100.0f);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 2, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ s32 EnGirlA_CanBuyShieldHero(GlobalContext* globalCtx, EnGirlA* this) {
|
||||
}
|
||||
|
||||
s32 EnGirlA_CanBuyStick(GlobalContext* globalCtx, EnGirlA* this) {
|
||||
if (CUR_CAPACITY(UPG_STICK) != 0 && AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICK)) {
|
||||
if (CUR_CAPACITY(UPG_STICKS) != 0 && AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS)) {
|
||||
return CANBUY_RESULT_NO_ROOM;
|
||||
}
|
||||
if (gSaveContext.rupees < globalCtx->msgCtx.unk1206C) {
|
||||
|
||||
@@ -492,14 +492,14 @@ void func_808F3D40(EnIn* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = textId;
|
||||
this->actor.flags |= 0x10000;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x81, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_GARO, 500.0f, 100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
u16 func_808F3DD4(GlobalContext* globalCtx, EnIn* this, u32 arg2) {
|
||||
u16 textId = 0;
|
||||
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADERS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADER) {
|
||||
s32 requiredScopeTemp;
|
||||
|
||||
if (!(gSaveContext.weekEventReg[63] & 0x40)) {
|
||||
@@ -512,9 +512,9 @@ u16 func_808F3DD4(GlobalContext* globalCtx, EnIn* this, u32 arg2) {
|
||||
} else {
|
||||
switch (arg2) {
|
||||
case 0:
|
||||
if ((gSaveContext.playerForm == 2) || (gSaveContext.playerForm == 1)) {
|
||||
if ((gSaveContext.playerForm == PLAYER_FORM_ZORA) || (gSaveContext.playerForm == PLAYER_FORM_GORON)) {
|
||||
textId = 0x345C;
|
||||
} else if (gSaveContext.playerForm == 3) {
|
||||
} else if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x3460;
|
||||
} else if (!(gSaveContext.weekEventReg[15] & 8)) {
|
||||
textId = 0x3458;
|
||||
@@ -530,9 +530,10 @@ u16 func_808F3DD4(GlobalContext* globalCtx, EnIn* this, u32 arg2) {
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (gSaveContext.playerForm == 3) {
|
||||
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x3485;
|
||||
} else if (gSaveContext.playerForm == 2 || gSaveContext.playerForm == 1) {
|
||||
} else if (gSaveContext.playerForm == PLAYER_FORM_ZORA ||
|
||||
gSaveContext.playerForm == PLAYER_FORM_GORON) {
|
||||
textId = 0x3484;
|
||||
} else if (!(gSaveContext.weekEventReg[56] & 4)) {
|
||||
textId = 0x346D;
|
||||
@@ -541,9 +542,9 @@ u16 func_808F3DD4(GlobalContext* globalCtx, EnIn* this, u32 arg2) {
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (gSaveContext.playerForm == 2 || gSaveContext.playerForm == 1) {
|
||||
if (gSaveContext.playerForm == PLAYER_FORM_ZORA || gSaveContext.playerForm == PLAYER_FORM_GORON) {
|
||||
textId = 0x348A;
|
||||
} else if (gSaveContext.playerForm == 3) {
|
||||
} else if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x348B;
|
||||
} else if (!(gSaveContext.weekEventReg[16] & 1)) {
|
||||
textId = 0x3486;
|
||||
@@ -561,9 +562,10 @@ u16 func_808F3DD4(GlobalContext* globalCtx, EnIn* this, u32 arg2) {
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (gSaveContext.playerForm == 3) {
|
||||
if (gSaveContext.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x34A8;
|
||||
} else if (gSaveContext.playerForm == 2 || gSaveContext.playerForm == 1) {
|
||||
} else if (gSaveContext.playerForm == PLAYER_FORM_ZORA ||
|
||||
gSaveContext.playerForm == PLAYER_FORM_GORON) {
|
||||
textId = 0x34A7;
|
||||
} else if (!(gSaveContext.weekEventReg[16] & 4)) {
|
||||
textId = 0x3495;
|
||||
@@ -960,7 +962,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x347C:
|
||||
this->actionFunc = func_808F3D40;
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x81, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_GARO, 500.0f, 100.0f);
|
||||
func_808F35D8(this, globalCtx);
|
||||
ret = true;
|
||||
break;
|
||||
@@ -1125,7 +1127,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x349F:
|
||||
this->actionFunc = func_808F3D40;
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x81, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_GARO, 500.0f, 100.0f);
|
||||
func_808F35D8(this, globalCtx);
|
||||
ret = true;
|
||||
break;
|
||||
@@ -1345,7 +1347,7 @@ void func_808F5A94(EnIn* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_808F5B58(EnIn* this, GlobalContext* globalCtx) {
|
||||
if (func_800F41E4(globalCtx, &globalCtx->actorCtx)) {
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADERS_MASK && gSaveContext.weekEventReg[63] & 0x40) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.weekEventReg[63] & 0x40) ||
|
||||
gSaveContext.weekEventReg[56] & 8) {
|
||||
if (gSaveContext.day == 3) {
|
||||
func_808F5728(globalCtx, this, 6, &this->unk48C);
|
||||
@@ -1353,8 +1355,8 @@ void func_808F5B58(EnIn* this, GlobalContext* globalCtx) {
|
||||
func_808F5728(globalCtx, this, 2, &this->unk48C);
|
||||
}
|
||||
}
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_CIRCUS_LEADERS_MASK ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADERS_MASK && gSaveContext.weekEventReg[63] & 0x40)) {
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_CIRCUS_LEADER ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.weekEventReg[63] & 0x40)) {
|
||||
if (gSaveContext.day == 3) {
|
||||
func_808F5728(globalCtx, this, 4, &this->unk48C);
|
||||
} else {
|
||||
@@ -1367,7 +1369,7 @@ void func_808F5C98(EnIn* this, GlobalContext* globalCtx) {
|
||||
if (this->unk4B0 == 0) {
|
||||
this->actionFunc = func_808F5B58;
|
||||
}
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADERS_MASK && gSaveContext.weekEventReg[63] & 0x40) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.weekEventReg[63] & 0x40) ||
|
||||
gSaveContext.weekEventReg[56] & 8) {
|
||||
if (gSaveContext.day != 3) {
|
||||
func_808F5728(globalCtx, this, 2, &this->unk48C);
|
||||
@@ -1502,7 +1504,7 @@ void EnIn_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->unk4AC &= ~2;
|
||||
func_808F38F8(this, globalCtx);
|
||||
}
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADERS_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CIRCUS_LEADER) {
|
||||
this->unk4AC |= 0x40;
|
||||
} else {
|
||||
this->unk4AC &= ~0x40;
|
||||
|
||||
@@ -533,19 +533,19 @@ void func_80B41A48(EnKgy* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80B41ACC(EnKgy* this, GlobalContext* globalCtx) {
|
||||
s32 temp_v0;
|
||||
s32 itemActionParam;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (func_80152498(&globalCtx->msgCtx) == 0x10) {
|
||||
temp_v0 = func_80123810(globalCtx);
|
||||
if (temp_v0 != 0) {
|
||||
itemActionParam = func_80123810(globalCtx);
|
||||
if (itemActionParam != PLAYER_AP_NONE) {
|
||||
this->actionFunc = func_80B41E18;
|
||||
}
|
||||
|
||||
if (temp_v0 > 0) {
|
||||
if (itemActionParam > PLAYER_AP_NONE) {
|
||||
func_801477B4(globalCtx);
|
||||
if (temp_v0 == 0x1B) {
|
||||
if (itemActionParam == PLAYER_AP_BOTTLE_GOLD_DUST) {
|
||||
if (this->unk_29C & 0x10) {
|
||||
this->actor.textId = 0xC55;
|
||||
player->actor.textId = 0xC55;
|
||||
@@ -562,7 +562,7 @@ void func_80B41ACC(EnKgy* this, GlobalContext* globalCtx) {
|
||||
player->actor.textId = 0xC47;
|
||||
}
|
||||
this->unk_29C |= 8;
|
||||
} else if (temp_v0 < 0) {
|
||||
} else if (itemActionParam < PLAYER_AP_NONE) {
|
||||
if (this->unk_29C & 0x10) {
|
||||
this->actor.textId = 0xC57;
|
||||
} else {
|
||||
@@ -758,8 +758,8 @@ void func_80B41E18(EnKgy* this, GlobalContext* globalCtx) {
|
||||
|
||||
case 0xC46:
|
||||
case 0xC55:
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), 0x12, 0x15);
|
||||
player->unk_A87 = 0;
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE);
|
||||
player->unk_A87 = PLAYER_AP_NONE;
|
||||
this->unk_29C &= ~0x8;
|
||||
globalCtx->msgCtx.unk11F10 = 0;
|
||||
func_80B41368(this, globalCtx, 4);
|
||||
@@ -774,7 +774,7 @@ void func_80B41E18(EnKgy* this, GlobalContext* globalCtx) {
|
||||
case 0xC47:
|
||||
func_80B40BC0(this, 1);
|
||||
if (this->unk_29C & 8) {
|
||||
player->unk_A87 = 0;
|
||||
player->unk_A87 = PLAYER_AP_NONE;
|
||||
this->unk_29C &= ~8;
|
||||
}
|
||||
func_80B40EBC(this, globalCtx, temp);
|
||||
|
||||
@@ -439,7 +439,7 @@ void EnMa4_HandlePlayerChoice(EnMa4* this, GlobalContext* globalCtx) {
|
||||
func_8019F208();
|
||||
func_801518B0(globalCtx, 0x334E, &this->actor);
|
||||
this->textId = 0x334E;
|
||||
if (CHECK_QUEST_ITEM(14)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
func_80151BB4(globalCtx, 0x1C);
|
||||
}
|
||||
func_80151BB4(globalCtx, 5);
|
||||
@@ -611,7 +611,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||
EnMa4_SetFaceExpression(this, 0, 0);
|
||||
|
||||
// Check if player has Epona's song
|
||||
if (CHECK_QUEST_ITEM(14)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
func_801518B0(globalCtx, 0x334C, &this->actor);
|
||||
this->textId = 0x334C;
|
||||
} else {
|
||||
@@ -623,7 +623,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 0x3358:
|
||||
if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) || !(CHECK_QUEST_ITEM(14))) {
|
||||
if ((gSaveContext.playerForm != PLAYER_FORM_HUMAN) || !(CHECK_QUEST_ITEM(QUEST_SONG_EPONA))) {
|
||||
func_801518B0(globalCtx, 0x335C, &this->actor);
|
||||
this->textId = 0x335C;
|
||||
func_80151BB4(globalCtx, 5);
|
||||
@@ -662,7 +662,7 @@ void EnMa4_DialogueHandler(EnMa4* this, GlobalContext* globalCtx) {
|
||||
|
||||
case 6: // End conversation
|
||||
if (func_80147624(globalCtx) != 0) {
|
||||
if ((globalCtx->msgCtx.unk120B1 == 0) || !CHECK_QUEST_ITEM(18)) {
|
||||
if ((globalCtx->msgCtx.unk120B1 == 0) || !CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
EnMa4_SetupWait(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ void EnMaYto_ChooseAction(EnMaYto* this, GlobalContext* globalCtx) {
|
||||
|
||||
case MA_YTO_TYPE_AFTERMILKRUN:
|
||||
this->unk310 = 0;
|
||||
if (INV_CONTENT(ITEM_MASK_ROMANIS) == ITEM_MASK_ROMANIS && (gSaveContext.weekEventReg[0x34] & 1) &&
|
||||
if (INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI && (gSaveContext.weekEventReg[0x34] & 1) &&
|
||||
(Rand_Next() & 0x80)) {
|
||||
EnMaYto_SetupBeginWarmFuzzyFeelingCs(this);
|
||||
} else {
|
||||
@@ -985,11 +985,11 @@ void EnMaYto_SetupPostMilkRunGiveReward(EnMaYto* this) {
|
||||
void EnMaYto_PostMilkRunGiveReward(EnMaYto* this, GlobalContext* globalCtx) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
EnMaYto_SetupPostMilkRunExplainReward(this);
|
||||
} else if (INV_CONTENT(ITEM_MASK_ROMANIS) == ITEM_MASK_ROMANIS) {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_GOLD, 500.0f, 100.0f);
|
||||
} else if (INV_CONTENT(ITEM_MASK_ROMANI) == ITEM_MASK_ROMANI) {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_HUGE, 500.0f, 100.0f);
|
||||
this->unk310 = 2;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_ROMANIS, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_ROMANI, 500.0f, 100.0f);
|
||||
this->unk310 = 1;
|
||||
}
|
||||
}
|
||||
@@ -1129,24 +1129,24 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||
if (CURRENT_DAY == 1) {
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||
switch (Player_GetMask(globalCtx)) {
|
||||
case PLAYER_MASK_ROMANIS_MASK:
|
||||
case PLAYER_MASK_ROMANI:
|
||||
func_801518B0(globalCtx, 0x235D, &this->actor);
|
||||
this->textId = 0x235D;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_CIRCUS_LEADERS_MASK:
|
||||
case PLAYER_MASK_CIRCUS_LEADER:
|
||||
EnMaYto_SetFaceExpression(this, 1, 3);
|
||||
func_801518B0(globalCtx, 0x235E, &this->actor);
|
||||
this->textId = 0x235E;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_KAFEIS_MASK:
|
||||
case PLAYER_MASK_KAFEI:
|
||||
EnMaYto_SetFaceExpression(this, 1, 2);
|
||||
func_801518B0(globalCtx, 0x235F, &this->actor);
|
||||
this->textId = 0x235F;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_COUPLES_MASK:
|
||||
case PLAYER_MASK_COUPLE:
|
||||
func_801518B0(globalCtx, 0x2360, &this->actor);
|
||||
this->textId = 0x2360;
|
||||
break;
|
||||
@@ -1188,22 +1188,22 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, GlobalContext* globalCtx) {
|
||||
case 1:
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_NONE && gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||
switch (Player_GetMask(globalCtx)) {
|
||||
case PLAYER_MASK_ROMANIS_MASK:
|
||||
case PLAYER_MASK_ROMANI:
|
||||
func_801518B0(globalCtx, 0x235D, &this->actor);
|
||||
this->textId = 0x235D;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_CIRCUS_LEADERS_MASK:
|
||||
case PLAYER_MASK_CIRCUS_LEADER:
|
||||
func_801518B0(globalCtx, 0x235E, &this->actor);
|
||||
this->textId = 0x235E;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_KAFEIS_MASK:
|
||||
case PLAYER_MASK_KAFEI:
|
||||
func_801518B0(globalCtx, 0x235F, &this->actor);
|
||||
this->textId = 0x235F;
|
||||
break;
|
||||
|
||||
case PLAYER_MASK_COUPLES_MASK:
|
||||
case PLAYER_MASK_COUPLE:
|
||||
func_801518B0(globalCtx, 0x2360, &this->actor);
|
||||
this->textId = 0x2360;
|
||||
break;
|
||||
|
||||
@@ -335,7 +335,7 @@ void EnMinifrog_Idle(EnMinifrog* this, GlobalContext* globalCtx) {
|
||||
this->flags |= 1;
|
||||
}
|
||||
} else if ((this->actor.xzDistToPlayer < 100.0f) && Actor_IsLinkFacingActor(&this->actor, 0x3000, globalCtx) &&
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_DON_GEROS_MASK)) {
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_DON_GERO)) {
|
||||
func_800B8614(&this->actor, globalCtx, 110.0f);
|
||||
}
|
||||
}
|
||||
@@ -577,7 +577,7 @@ void EnMinifrog_SetupYellowFrogDialog(EnMinifrog* this, GlobalContext* globalCtx
|
||||
} else if ((this->actor.xzDistToPlayer < 150.0f) &&
|
||||
(Actor_IsLinkFacingActor(&this->actor, 0x3000, globalCtx) ||
|
||||
((this->actor.flags & 0x10000) == 0x10000)) &&
|
||||
Player_GetMask(globalCtx) == PLAYER_MASK_DON_GEROS_MASK) {
|
||||
Player_GetMask(globalCtx) == PLAYER_MASK_DON_GERO) {
|
||||
func_800B8614(&this->actor, globalCtx, 160.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1222,7 +1222,7 @@ void EnMushi2_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->unk_30C & 1) && func_80A68DD4(this, globalCtx)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0xBA, 60.0f, 30.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, 60.0f, 30.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ void EnMuto_Idle(EnMuto* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (1) {} // Needed to match
|
||||
|
||||
if (!this->isInMayorsRoom && Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) {
|
||||
if (!this->isInMayorsRoom && Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) {
|
||||
this->actor.textId = 0x2363;
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ void EnMuto_Idle(EnMuto* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.weekEventReg[0x3C] & 8) {
|
||||
this->textIdIndex = 1;
|
||||
}
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_COUPLES_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_COUPLE) {
|
||||
this->textIdIndex = 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -382,9 +382,9 @@ void func_80B5BFB8(EnOt* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80B5C154(EnOt* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.weekEventReg[32] & 1) {
|
||||
this->unk_38C = 4;
|
||||
this->unk_38C = GI_RUPEE_RED;
|
||||
} else {
|
||||
this->unk_38C = 12;
|
||||
this->unk_38C = GI_HEART_PIECE;
|
||||
gSaveContext.weekEventReg[32] |= 1;
|
||||
}
|
||||
func_800B8A1C(&this->actor, globalCtx, this->unk_38C, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
|
||||
@@ -168,14 +168,14 @@ void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case ENOWL_GET_TYPE_2:
|
||||
if (gSaveContext.inventory.items[14] == 14) {
|
||||
if (gSaveContext.inventory.items[SLOT_LENS] == ITEM_LENS) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ENOWL_GET_TYPE_3:
|
||||
if (CHECK_QUEST_ITEM(15)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SOARING)) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -434,7 +434,7 @@ void func_80BD909C(EnPamera* this, GlobalContext* globalCtx) {
|
||||
void func_80BD90AC(EnPamera* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK && (this->actionFunc != func_80BD8758) &&
|
||||
if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE && (this->actionFunc != func_80BD8758) &&
|
||||
(this->actionFunc != func_80BD8964) && (this->actionFunc != func_80BD8A7C) &&
|
||||
(this->actionFunc != func_80BD8F60) && ((this->actionFunc != func_80BD8B70) || (this->pathIndex != 0)) &&
|
||||
((this->actionFunc != func_80BD8DB0) || (this->actor.speedXZ != 3.0f)) &&
|
||||
@@ -610,7 +610,7 @@ void func_80BD9938(EnPamera* this) {
|
||||
|
||||
void func_80BD994C(EnPamera* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
||||
if (1) {}
|
||||
func_80BD93CC(this, 0, 1);
|
||||
func_801518B0(globalCtx, 0x15A8, &this->actor);
|
||||
|
||||
@@ -672,7 +672,7 @@ void func_80B2E230(EnPoh* this, GlobalContext* globalCtx) {
|
||||
return;
|
||||
}
|
||||
|
||||
func_800B8A1C(&this->actor, globalCtx, 0xBA, 35.0f, 60.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, 35.0f, 60.0f);
|
||||
this->actor.world.pos.y = (Math_SinS(this->unk_18D * 0x800) * 5.0f) + this->actor.home.pos.y;
|
||||
if (this->unk_18D) {
|
||||
this->unk_18D--;
|
||||
|
||||
@@ -253,7 +253,7 @@ void func_80BA57F8(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||
sp3C.z = this->unk_294[this->unk_298].z;
|
||||
|
||||
if ((this->actor.xzDistToPlayer <= 100.0f) && func_800B715C(globalCtx) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_GIBDO_MASK)) {
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_GIBDO)) {
|
||||
this->actor.home = this->actor.world;
|
||||
func_80BA59F0(this);
|
||||
}
|
||||
@@ -665,7 +665,7 @@ void func_80BA6B9C(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||
s32 func_80BA6D10(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -830,7 +830,7 @@ void func_80BA7434(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||
(this->actionFunc != func_80BA60B0) && (this->actionFunc != func_80BA61A0) &&
|
||||
(this->actionFunc != func_80BA66C8)) {
|
||||
if ((this->actor.flags & 5) == 5) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO_MASK) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~5;
|
||||
this->actor.flags |= 9;
|
||||
this->actor.hintId = 0xFF;
|
||||
@@ -839,7 +839,7 @@ void func_80BA7434(EnRailgibud* this, GlobalContext* globalCtx) {
|
||||
func_80BA6284(this);
|
||||
}
|
||||
}
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_GIBDO_MASK) {
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~(0x8 | 0x1);
|
||||
this->actor.flags |= (0x4 | 0x1);
|
||||
if (this->unk_3F8 == 1) {
|
||||
|
||||
@@ -260,9 +260,8 @@ void func_808D4190(GlobalContext* globalCtx, EnRd* this, s32 arg2) {
|
||||
}
|
||||
|
||||
s32 func_808D41FC(GlobalContext* globalCtx) {
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO_MASK) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAINS_HAT) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_GAROS_MASK)) {
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_GIBDO) || (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_GARO)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -36,7 +36,7 @@ void func_80BFCFA0(EnScopecoin* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80BFCFB8(EnScopecoin* this, GlobalContext* globalCtx) {
|
||||
if (Actor_GetCollectibleFlag(globalCtx, (this->actor.params & 0x7F0) >> 4)) {
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, 2);
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, ITEM00_RUPEE_RED);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -427,15 +427,15 @@ void func_80ADB544(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||
void func_80ADB924(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
u8 temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
s32 temp_v0_2;
|
||||
s32 itemActionParam;
|
||||
|
||||
if (temp_v0 == 0x10) {
|
||||
temp_v0_2 = func_80123810(globalCtx);
|
||||
if (temp_v0_2 > 0) {
|
||||
if (temp_v0_2 == 0x2A) {
|
||||
itemActionParam = func_80123810(globalCtx);
|
||||
if (itemActionParam > PLAYER_AP_NONE) {
|
||||
if (itemActionParam == PLAYER_AP_MOON_TEAR) {
|
||||
player->actor.textId = D_80ADD928[this->unk_33A];
|
||||
this->unk_340 = player->actor.textId;
|
||||
player->unk_A87 = temp_v0_2;
|
||||
player->unk_A87 = itemActionParam;
|
||||
this->actionFunc = func_80ADBAB8;
|
||||
} else {
|
||||
player->actor.textId = D_80ADD920[this->unk_33A];
|
||||
@@ -443,7 +443,7 @@ void func_80ADB924(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_80ADB0D8;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
} else if (temp_v0_2 < 0) {
|
||||
} else if (itemActionParam < PLAYER_AP_NONE) {
|
||||
this->unk_340 = D_80ADD920[this->unk_33A];
|
||||
func_80151938(globalCtx, this->unk_340);
|
||||
this->actionFunc = func_80ADB0D8;
|
||||
@@ -492,7 +492,7 @@ void func_80ADBBEC(EnSellnuts* this, GlobalContext* globalCtx) {
|
||||
gSaveContext.weekEventReg[17] |= 0x80;
|
||||
this->actionFunc = func_80ADBCE4;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x97, 300.0f, 300.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_DEED_LAND, 300.0f, 300.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -280,7 +280,7 @@ void EnSkb_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80994DA8(EnSkb* this, GlobalContext* globalCtx) {
|
||||
if (Actor_IsActorFacingLink(&this->actor, 0x11C7) && (this->actor.xzDistToPlayer < 60.0f) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_CAPTAINS_HAT)) {
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_CAPTAIN)) {
|
||||
func_80995C24(this);
|
||||
} else {
|
||||
func_80995A30(this);
|
||||
@@ -351,7 +351,7 @@ void func_80995068(EnSkb* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
this->actionFunc = func_80995190;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_CAPTAINS_HAT) {
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags |= (0x4 | 0x1);
|
||||
this->actor.flags &= ~(0x8 | 0x1);
|
||||
this->actor.hintId = 0x55;
|
||||
@@ -423,7 +423,7 @@ void func_809952D8(EnSkb* this) {
|
||||
}
|
||||
|
||||
void func_8099533C(EnSkb* this, GlobalContext* globalCtx) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAINS_HAT) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(0x4 | 0x1);
|
||||
this->actor.flags |= (0x8 | 0x1);
|
||||
func_80994F7C(this, globalCtx);
|
||||
@@ -445,7 +445,7 @@ void func_809953E8(EnSkb* this) {
|
||||
}
|
||||
|
||||
void func_8099544C(EnSkb* this, GlobalContext* globalCtx) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAINS_HAT) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(0x4 | 0x1);
|
||||
this->actor.flags |= (0x8 | 0x1);
|
||||
func_80994F7C(this, globalCtx);
|
||||
@@ -482,7 +482,7 @@ void func_8099556C(EnSkb* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
this->actor.shape.rot.x = Math_SinS(this->unk_3D4 * sp26) * 20000.0f;
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAINS_HAT) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(0x4 | 0x1);
|
||||
this->actor.flags |= (0x8 | 0x1);
|
||||
func_80994F7C(this, globalCtx);
|
||||
@@ -568,7 +568,7 @@ void func_80995A30(EnSkb* this) {
|
||||
}
|
||||
|
||||
void func_80995A8C(EnSkb* this, GlobalContext* globalCtx) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAINS_HAT) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(0x4 | 0x1);
|
||||
this->actor.flags |= (0x8 | 0x1);
|
||||
this->actor.hintId = 0xFF;
|
||||
|
||||
@@ -236,35 +236,35 @@ u16 EnSob1_GetWelcome(EnSob1* this, GlobalContext* globalCtx) {
|
||||
if (this->shopType == BOMB_SHOP) {
|
||||
switch (Player_GetMask(globalCtx)) {
|
||||
case PLAYER_MASK_NONE:
|
||||
case PLAYER_MASK_BUNNY_HOOD:
|
||||
case PLAYER_MASK_POSTMANS_HAT:
|
||||
case PLAYER_MASK_BUNNY:
|
||||
case PLAYER_MASK_POSTMAN:
|
||||
return 0x644;
|
||||
case PLAYER_MASK_GORON_MASK:
|
||||
case PLAYER_MASK_ZORA_MASK:
|
||||
case PLAYER_MASK_DEKU_MASK:
|
||||
case PLAYER_MASK_GORON:
|
||||
case PLAYER_MASK_ZORA:
|
||||
case PLAYER_MASK_DEKU:
|
||||
return 0x64B;
|
||||
case PLAYER_MASK_MASK_OF_TRUTH:
|
||||
case PLAYER_MASK_ALL_NIGHT_MASK:
|
||||
case PLAYER_MASK_KEATON_MASK:
|
||||
case PLAYER_MASK_ROMANIS_MASK:
|
||||
case PLAYER_MASK_GREAT_FAIRYS_MASK:
|
||||
case PLAYER_MASK_DON_GEROS_MASK:
|
||||
case PLAYER_MASK_KAMAROS_MASK:
|
||||
case PLAYER_MASK_BREMEN_MASK:
|
||||
case PLAYER_MASK_MASK_OF_SCENTS:
|
||||
case PLAYER_MASK_TRUTH:
|
||||
case PLAYER_MASK_ALL_NIGHT:
|
||||
case PLAYER_MASK_KEATON:
|
||||
case PLAYER_MASK_ROMANI:
|
||||
case PLAYER_MASK_GREAT_FAIRY:
|
||||
case PLAYER_MASK_DON_GERO:
|
||||
case PLAYER_MASK_KAMARO:
|
||||
case PLAYER_MASK_BREMEN:
|
||||
case PLAYER_MASK_SCENTS:
|
||||
return 0x685;
|
||||
case PLAYER_MASK_GAROS_MASK:
|
||||
case PLAYER_MASK_CIRCUS_LEADERS_MASK:
|
||||
case PLAYER_MASK_GIBDO_MASK:
|
||||
case PLAYER_MASK_CAPTAINS_HAT:
|
||||
case PLAYER_MASK_GARO:
|
||||
case PLAYER_MASK_CIRCUS_LEADER:
|
||||
case PLAYER_MASK_GIBDO:
|
||||
case PLAYER_MASK_CAPTAIN:
|
||||
return 0x686;
|
||||
case PLAYER_MASK_COUPLES_MASK:
|
||||
case PLAYER_MASK_COUPLE:
|
||||
return 0x687;
|
||||
case PLAYER_MASK_STONE_MASK:
|
||||
case PLAYER_MASK_STONE:
|
||||
return 0x688;
|
||||
case PLAYER_MASK_BLAST_MASK:
|
||||
case PLAYER_MASK_BLAST:
|
||||
return 0x689;
|
||||
case PLAYER_MASK_KAFEIS_MASK:
|
||||
case PLAYER_MASK_KAFEI:
|
||||
return 0x68A;
|
||||
}
|
||||
} else if (this->shopType == ZORA_SHOP) {
|
||||
|
||||
@@ -491,7 +491,7 @@ void func_80BAB4F0(EnSuttari* this, GlobalContext* globalCtx) {
|
||||
EnSuttari_UpdateCollider(this, globalCtx);
|
||||
}
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (!(this->flags1 & 4) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
if (!(this->flags1 & 4) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
if (func_8013D5E8(this->actor.shape.rot.y, 0x36B0, this->actor.yawTowardsPlayer) != 0) {
|
||||
sp30.x = player->actor.world.pos.x;
|
||||
sp30.y = player->bodyPartsPos[7].y + 3.0f;
|
||||
@@ -1089,7 +1089,7 @@ void func_80BACEE0(EnSuttari* this, GlobalContext* globalCtx) {
|
||||
gSaveContext.weekEventReg[0x3A] |= 0x80;
|
||||
this->actionFunc = func_80BADDB4;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) {
|
||||
} else if (Player_GetMask(globalCtx) != PLAYER_MASK_STONE) {
|
||||
func_80BAB1A0(this, globalCtx);
|
||||
}
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
|
||||
@@ -827,7 +827,7 @@ void func_809C7D14(EnSyatekiMan* this, GlobalContext* globalCtx) {
|
||||
} else if (!(gSaveContext.weekEventReg[32] & 4)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_HEART_PIECE, 500.0f, 100.0f);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_GOLD, 500.0f, 100.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_HUGE, 500.0f, 100.0f);
|
||||
}
|
||||
|
||||
player->actor.shape.rot.y = -0x8000;
|
||||
|
||||
@@ -438,7 +438,7 @@ void func_80A42AB8(EnTest4* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (CURRENT_DAY == 3) {
|
||||
if ((this->nextBellTime == CLOCK_TIME(0, 0)) &&
|
||||
((gSaveContext.inventory.items[ITEM_OCARINA] == ITEM_NONE) ||
|
||||
((gSaveContext.inventory.items[SLOT_OCARINA] == ITEM_NONE) ||
|
||||
(globalCtx->sceneNum == SCENE_CLOCKTOWER))) {
|
||||
s32 phi_v0;
|
||||
u32 entranceIndex = gSaveContext.entranceIndex;
|
||||
|
||||
@@ -220,21 +220,22 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
static Gfx* D_80C13680[] = { D_06004348, D_06004B88, D_060055E0 };
|
||||
s32 isItemFound = false;
|
||||
s32 phi_a3 = 0;
|
||||
s32 i = 18;
|
||||
s32 phi_t0_3;
|
||||
s16 sp1E = 0;
|
||||
s32 slotId = SLOT_BOTTLE_1;
|
||||
s32 itemId1;
|
||||
s16 itemId2 = 0;
|
||||
|
||||
for (; i < ARRAY_COUNT(gSaveContext.inventory.items); i++) {
|
||||
if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE) && (gSaveContext.inventory.items[i] <= ITEM_POTION_BLUE)) {
|
||||
for (; slotId < ARRAY_COUNT(gSaveContext.inventory.items); slotId++) {
|
||||
if ((gSaveContext.inventory.items[slotId] >= ITEM_BOTTLE) &&
|
||||
(gSaveContext.inventory.items[slotId] <= ITEM_POTION_BLUE)) {
|
||||
isItemFound = true;
|
||||
sp1E = gSaveContext.inventory.items[i];
|
||||
itemId2 = gSaveContext.inventory.items[slotId];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (gSaveContext.playerForm == PLAYER_FORM_HUMAN) {
|
||||
phi_a3 = CUR_EQUIP_VALUE_VOID(EQUIP_SWORD);
|
||||
if (gSaveContext.inventory.items[gItemSlots[16]] == ITEM_SWORD_GREAT_FAIRY) {
|
||||
if (INV_CONTENT(ITEM_SWORD_GREAT_FAIRY) == ITEM_SWORD_GREAT_FAIRY) {
|
||||
phi_a3 += 4;
|
||||
}
|
||||
}
|
||||
@@ -248,12 +249,12 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (isItemFound) {
|
||||
func_801149A0(sp1E, i);
|
||||
func_801149A0(itemId2, slotId);
|
||||
this->unk_3E8 = D_060033B0;
|
||||
if (!func_80152498(&globalCtx->msgCtx)) {
|
||||
func_801518B0(globalCtx, 0xF4, NULL);
|
||||
}
|
||||
phi_t0_3 = 0x12;
|
||||
itemId1 = ITEM_BOTTLE;
|
||||
} else if (phi_a3 != 0) {
|
||||
if (phi_a3 >= 5) {
|
||||
if (Rand_ZeroOne() < 0.5f) {
|
||||
@@ -263,11 +264,11 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
phi_t0_3 = phi_a3 + 0x4C;
|
||||
itemId1 = phi_a3 + (ITEM_SWORD_KOKIRI - 1);
|
||||
if (phi_a3 == 4) {
|
||||
func_801149A0(16, 16);
|
||||
func_801149A0(ITEM_SWORD_GREAT_FAIRY, SLOT_SWORD_GREAT_FAIRY);
|
||||
this->unk_3E8 = D_06003D58;
|
||||
phi_t0_3 = 0x10;
|
||||
itemId1 = ITEM_SWORD_GREAT_FAIRY;
|
||||
} else {
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_NONE;
|
||||
TAKE_EQUIPPED_ITEM(EQUIP_SWORD);
|
||||
@@ -282,9 +283,9 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!((gSaveContext.roomInf[126][5] & 0xFF000000) >> 0x18)) {
|
||||
gSaveContext.roomInf[126][5] = (gSaveContext.roomInf[126][5] & 0xFFFFFF) | ((phi_t0_3 & 0xFF) << 0x18);
|
||||
gSaveContext.roomInf[126][5] = (gSaveContext.roomInf[126][5] & 0xFFFFFF) | ((itemId1 & 0xFF) << 0x18);
|
||||
} else {
|
||||
gSaveContext.roomInf[126][5] = (gSaveContext.roomInf[126][5] & 0xFF00FFFF) | ((phi_t0_3 & 0xFF) << 0x10);
|
||||
gSaveContext.roomInf[126][5] = (gSaveContext.roomInf[126][5] & 0xFF00FFFF) | ((itemId1 & 0xFF) << 0x10);
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -322,16 +323,16 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
s32 pad2;
|
||||
s32 sp98;
|
||||
s32 i;
|
||||
s32 sp74[8];
|
||||
s32 dropItem00Ids[8];
|
||||
s32 sp5C;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sp74); i++) {
|
||||
sp74[i] = ITEM00_NO_DROP;
|
||||
for (i = 0; i < ARRAY_COUNT(dropItem00Ids); i++) {
|
||||
dropItem00Ids[i] = ITEM00_NO_DROP;
|
||||
}
|
||||
|
||||
if (AMMO(ITEM_BOMB) >= 5) {
|
||||
spB0 = 1;
|
||||
sp74[1] = ITEM00_BOMBS_B;
|
||||
dropItem00Ids[1] = ITEM00_BOMBS_B;
|
||||
if (1) {}
|
||||
} else {
|
||||
spB0 = 0;
|
||||
@@ -339,7 +340,7 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
|
||||
if (AMMO(ITEM_BOW) >= 10) {
|
||||
spAC = 1;
|
||||
sp74[5] = ITEM00_ARROWS_10;
|
||||
dropItem00Ids[5] = ITEM00_ARROWS_10;
|
||||
} else {
|
||||
spAC = 0;
|
||||
}
|
||||
@@ -364,7 +365,7 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
sp5C = phi_s0_2 * 50;
|
||||
sp98 -= sp5C;
|
||||
|
||||
func_80C10DE8(sp74, phi_s0_2, ITEM00_RUPEE_PURPLE);
|
||||
func_80C10DE8(dropItem00Ids, phi_s0_2, ITEM00_RUPEE_PURPLE);
|
||||
spA0 = sp98 / 20;
|
||||
if (i < spA0) {
|
||||
spA0 = i;
|
||||
@@ -372,7 +373,7 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
i -= spA0;
|
||||
sp98 -= spA0 * 20;
|
||||
|
||||
func_80C10DE8(sp74, spA0, ITEM00_RUPEE_RED);
|
||||
func_80C10DE8(dropItem00Ids, spA0, ITEM00_RUPEE_RED);
|
||||
phi_s2 = sp98 / 5;
|
||||
if (i < phi_s2) {
|
||||
phi_s2 = i;
|
||||
@@ -380,14 +381,14 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
i -= phi_s2;
|
||||
sp98 -= phi_s2 * 5;
|
||||
|
||||
func_80C10DE8(sp74, phi_s2, ITEM00_RUPEE_BLUE);
|
||||
func_80C10DE8(dropItem00Ids, phi_s2, ITEM00_RUPEE_BLUE);
|
||||
if (i < sp98) {
|
||||
spA8 = i;
|
||||
} else {
|
||||
spA8 = sp98;
|
||||
}
|
||||
|
||||
func_80C10DE8(sp74, spA8, ITEM00_RUPEE_GREEN);
|
||||
func_80C10DE8(dropItem00Ids, spA8, ITEM00_RUPEE_GREEN);
|
||||
if ((spB0 + spAC + phi_s0_2 + spA0 + phi_s2 + spA8) == 0) {
|
||||
return false;
|
||||
}
|
||||
@@ -395,12 +396,12 @@ s32 func_80C10E98(GlobalContext* globalCtx) {
|
||||
{
|
||||
Vec3f sp64;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sp74); i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(dropItem00Ids); i++) {
|
||||
sp64.x = (Math_SinS(phi_s3) * 40.0f) + player->actor.world.pos.x;
|
||||
sp64.y = player->actor.world.pos.y + 20.0f;
|
||||
sp64.z = (Math_CosS(phi_s3) * 40.0f) + player->actor.world.pos.z;
|
||||
if (sp74[i] != ITEM00_NO_DROP) {
|
||||
EnItem00* temp_s1_5 = Item_DropCollectible(globalCtx, &sp64, sp74[i]);
|
||||
if (dropItem00Ids[i] != ITEM00_NO_DROP) {
|
||||
EnItem00* temp_s1_5 = Item_DropCollectible(globalCtx, &sp64, dropItem00Ids[i]);
|
||||
|
||||
if (temp_s1_5 != NULL) {
|
||||
temp_s1_5->actor.velocity.y = Rand_ZeroFloat(3.0f) + 6.0f;
|
||||
@@ -529,7 +530,7 @@ void func_80C11590(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->unk_18E == 0) && (this->actor.xzDistToPlayer < 300.0f) && !(player->stateFlags1 & 0x800000) &&
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) && (this->actor.depthInWater < -40.0f)) {
|
||||
(Player_GetMask(globalCtx) != PLAYER_MASK_STONE) && (this->actor.depthInWater < -40.0f)) {
|
||||
func_80C118E4(this);
|
||||
}
|
||||
}
|
||||
@@ -572,9 +573,9 @@ void func_80C1193C(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, rot, 4, 0x1000, 0x100);
|
||||
}
|
||||
|
||||
if ((this->unk_18E == 0) || (player->stateFlags1 & 0x800000) ||
|
||||
(Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (this->collider.base.atFlags & AT_HIT) ||
|
||||
(this->actor.bgCheckFlags & 1) || (this->actor.depthInWater > -40.0f)) {
|
||||
if ((this->unk_18E == 0) || (player->stateFlags1 & 0x800000) || (Player_GetMask(globalCtx) == PLAYER_MASK_STONE) ||
|
||||
(this->collider.base.atFlags & AT_HIT) || (this->actor.bgCheckFlags & 1) ||
|
||||
(this->actor.depthInWater > -40.0f)) {
|
||||
if (this->collider.base.atFlags & AT_HIT) {
|
||||
this->collider.base.atFlags &= ~AT_HIT;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_THIEFBIRD_VOICE);
|
||||
@@ -661,7 +662,7 @@ void func_80C11DF0(EnThiefbird* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 11, NA_SE_EN_EXTINCT);
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, ITEM00_RUPEE_ORANGE);
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, ITEM00_RUPEE_HUGE);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_80C13664); i++) {
|
||||
for (j = 0; j < this->unk_196[i]; j++) {
|
||||
|
||||
@@ -308,7 +308,7 @@ void func_80893F30(EnTite* this, GlobalContext* globalCtx) {
|
||||
func_80893B70(this);
|
||||
if (this->unk_2BC > 0) {
|
||||
this->unk_2BC--;
|
||||
} else if ((Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK) && (this->actor.xzDistToPlayer < 300.0f) &&
|
||||
} else if ((Player_GetMask(globalCtx) != PLAYER_MASK_STONE) && (this->actor.xzDistToPlayer < 300.0f) &&
|
||||
(this->actor.playerHeightRel < 80.0f)) {
|
||||
func_808945EC(this);
|
||||
}
|
||||
@@ -409,7 +409,7 @@ void func_80894414(EnTite* this) {
|
||||
|
||||
void func_80894454(EnTite* this, GlobalContext* globalCtx) {
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
(this->actor.playerHeightRel > 80.0f)) {
|
||||
func_80893ED4(this);
|
||||
} else if (!Actor_IsActorFacingLink(&this->actor, 0x2328)) {
|
||||
@@ -472,7 +472,7 @@ void func_80894638(EnTite* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
(this->actor.playerHeightRel > 80.0f)) {
|
||||
func_80893ED4(this);
|
||||
} else if (((this->actor.bgCheckFlags & 1) || (func_80893ADC(this) && (this->actor.depthInWater < 10.0f))) &&
|
||||
@@ -533,7 +533,7 @@ void func_80894910(EnTite* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
(this->actor.playerHeightRel > 80.0f)) {
|
||||
func_80893ED4(this);
|
||||
} else if ((this->actor.xzDistToPlayer <= 180.0f) && (this->actor.playerHeightRel <= 80.0f)) {
|
||||
@@ -577,7 +577,7 @@ void func_80894BC8(EnTite* this, GlobalContext* globalCtx) {
|
||||
if ((this->actor.speedXZ == 0.0f) && ((this->actor.bgCheckFlags & 1) || func_80893ADC(this))) {
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
this->collider.base.acFlags |= AC_ON;
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) ||
|
||||
(((this->actor.xzDistToPlayer > 450.0f) || (this->actor.playerHeightRel > 80.0f)) &&
|
||||
(ABS_ALT(this->actor.shape.rot.x) < 4000) && (ABS_ALT(this->actor.shape.rot.z) < 4000))) {
|
||||
func_80893ED4(this);
|
||||
@@ -622,7 +622,7 @@ void func_80894E0C(EnTite* this, GlobalContext* globalCtx) {
|
||||
func_80895020(this, globalCtx);
|
||||
} else if (this->unk_2B9 != 0) {
|
||||
func_808955E4(this);
|
||||
} else if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) ||
|
||||
} else if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) ||
|
||||
(((this->actor.xzDistToPlayer > 450.0f) || (this->actor.playerHeightRel > 80.0f)) &&
|
||||
(ABS_ALT(this->actor.shape.rot.x) < 4000) && (ABS_ALT(this->actor.shape.rot.z) < 4000))) {
|
||||
func_80893ED4(this);
|
||||
@@ -798,7 +798,7 @@ void func_80895738(EnTite* this, GlobalContext* globalCtx) {
|
||||
} else if ((this->unk_2BC == 0) && Math_StepToF(&this->actor.speedXZ, 0.0f, 0.3f)) {
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
func_80893A18(this);
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE_MASK) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
if ((Player_GetMask(globalCtx) == PLAYER_MASK_STONE) || (this->actor.xzDistToPlayer > 450.0f) ||
|
||||
(this->actor.playerHeightRel > 80.0f)) {
|
||||
func_80893ED4(this);
|
||||
} else if (!Actor_IsActorFacingLink(&this->actor, 0x2328)) {
|
||||
@@ -858,7 +858,7 @@ void func_80895AC0(EnTite* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((this->actor.xzDistToPlayer < 240.0f) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
if ((this->actor.xzDistToPlayer < 240.0f) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
func_8089408C(this, globalCtx);
|
||||
} else if (this->unk_2BC > 0) {
|
||||
this->unk_2BC--;
|
||||
@@ -887,7 +887,7 @@ void func_80895D08(EnTite* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_TEKU_WALK);
|
||||
}
|
||||
if ((this->actor.xzDistToPlayer < 240.0f) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE_MASK)) {
|
||||
if ((this->actor.xzDistToPlayer < 240.0f) && (Player_GetMask(globalCtx) != PLAYER_MASK_STONE)) {
|
||||
func_8089408C(this, globalCtx);
|
||||
} else {
|
||||
this->unk_2BC--;
|
||||
|
||||
@@ -712,7 +712,7 @@ void func_80BA4CB4(EnToto* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
if (this->unk2B5 == 4 && !Actor_HasParent(&this->actor, globalCtx)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x83, 9999.9f, 9999.9f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MASK_CIRCUS_LEADER, 9999.9f, 9999.9f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -346,7 +346,7 @@ void EnTrt_GetMushroom(EnTrt* this, GlobalContext* globalCtx) {
|
||||
this->textId = 0x884;
|
||||
func_801518B0(globalCtx, this->textId, &this->actor);
|
||||
gSaveContext.weekEventReg[0x35] |= 8;
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), 18, 21);
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE);
|
||||
break;
|
||||
case 0x888:
|
||||
this->textId = 0x889;
|
||||
@@ -372,7 +372,7 @@ void EnTrt_GetMushroom(EnTrt* this, GlobalContext* globalCtx) {
|
||||
void EnTrt_PayForMushroom(EnTrt* this, GlobalContext* globalCtx) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actor.parent = NULL;
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), 18, 21);
|
||||
func_80123D50(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE);
|
||||
this->actionFunc = EnTrt_SetupItemGiven;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_RED, 300.0f, 300.0f);
|
||||
@@ -771,7 +771,7 @@ void EnTrt_IdleSleeping(EnTrt* this, GlobalContext* globalCtx) {
|
||||
player->transformation == PLAYER_FORM_DEKU) {
|
||||
this->textId = 0x850;
|
||||
}
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_MASK_OF_SCENTS) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_SCENTS) {
|
||||
this->textId = 0x890;
|
||||
}
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
@@ -810,7 +810,7 @@ void EnTrt_IdleAwake(EnTrt* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->flags &= ~ENTRT_FULLY_AWAKE;
|
||||
if (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_FIERCE_DEITY) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_MASK_OF_SCENTS) {
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_SCENTS) {
|
||||
this->textId = 0x890;
|
||||
} else {
|
||||
this->textId = this->tmpTextId;
|
||||
@@ -1370,7 +1370,7 @@ void EnTrt_OpenEyesThenSetToBlink(EnTrt* this) {
|
||||
void EnTrt_TalkToShopkeeper(EnTrt* this, GlobalContext* globalCtx) {
|
||||
u8 talkState = talkState = func_80152498(&globalCtx->msgCtx);
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
s32 itemGiven;
|
||||
s32 itemActionParam;
|
||||
|
||||
if (talkState == 5) {
|
||||
if (func_80147624(globalCtx)) {
|
||||
@@ -1381,16 +1381,16 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
} else if (talkState == 16) {
|
||||
itemGiven = func_80123810(globalCtx);
|
||||
if (itemGiven > 0) {
|
||||
if (itemGiven == ITEM_MUSHROOM) {
|
||||
itemActionParam = func_80123810(globalCtx);
|
||||
if (itemActionParam > PLAYER_AP_NONE) {
|
||||
if (itemActionParam == PLAYER_AP_BOTTLE_MUSHROOM) {
|
||||
if (gSaveContext.weekEventReg[0x35] & 8) {
|
||||
player->actor.textId = 0x888;
|
||||
} else {
|
||||
player->actor.textId = 0x883;
|
||||
}
|
||||
this->textId = player->actor.textId;
|
||||
player->unk_A87 = itemGiven;
|
||||
player->unk_A87 = itemActionParam;
|
||||
this->actionFunc = EnTrt_GetMushroom;
|
||||
} else {
|
||||
if (this->flags & ENTRT_GIVEN_MUSHROOM) {
|
||||
@@ -1402,7 +1402,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = EnTrt_Goodbye;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
} else if (itemGiven < 0) {
|
||||
} else if (itemActionParam < PLAYER_AP_NONE) {
|
||||
if (this->flags & ENTRT_GIVEN_MUSHROOM) {
|
||||
this->textId = 0x88B;
|
||||
} else {
|
||||
|
||||
@@ -77,10 +77,10 @@ void EnTuboTrap_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void EnTuboTrap_DropCollectible(EnTuboTrap* this, GlobalContext* globalCtx) {
|
||||
s32 itemParam = ((this->actor.params >> 8) & 0x3F);
|
||||
s32 dropCount = func_800A8150(itemParam);
|
||||
s32 dropItem00Id = func_800A8150(itemParam);
|
||||
|
||||
if (dropCount >= 0) {
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, ((this->actor.params & 0x7F) << 8) | dropCount);
|
||||
if (dropItem00Id > ITEM00_NO_DROP) {
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos, ((this->actor.params & 0x7F) << 8) | dropItem00Id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -960,26 +960,26 @@ void func_80B9854C(EnZot* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80B985EC(EnZot* this, GlobalContext* globalCtx) {
|
||||
s32 temp_v0;
|
||||
s32 itemActionParam;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
func_80B98348(this, globalCtx);
|
||||
if (func_80152498(&globalCtx->msgCtx) == 0x10) {
|
||||
temp_v0 = func_80123810(globalCtx);
|
||||
if (temp_v0 > 0) {
|
||||
itemActionParam = func_80123810(globalCtx);
|
||||
if (itemActionParam > PLAYER_AP_NONE) {
|
||||
func_801477B4(globalCtx);
|
||||
if ((temp_v0 == 0x13) && CHECK_QUEST_ITEM(25) && func_8013A4C4(4)) {
|
||||
if ((itemActionParam == PLAYER_AP_PICTO_BOX) && CHECK_QUEST_ITEM(QUEST_UNK_19) && func_8013A4C4(4)) {
|
||||
if (func_8013A4C4(5) && func_8013A4C4(6)) {
|
||||
player->actor.textId = 0x12AE;
|
||||
} else {
|
||||
player->actor.textId = 0x12AC;
|
||||
}
|
||||
REMOVE_QUEST_ITEM(25);
|
||||
REMOVE_QUEST_ITEM(QUEST_UNK_19);
|
||||
} else {
|
||||
player->actor.textId = 0x12AB;
|
||||
}
|
||||
this->actionFunc = func_80B98728;
|
||||
} else if (temp_v0 < 0) {
|
||||
} else if (itemActionParam < PLAYER_AP_NONE) {
|
||||
func_80151938(globalCtx, 0x12AB);
|
||||
this->actionFunc = func_80B98728;
|
||||
}
|
||||
@@ -1215,7 +1215,7 @@ void func_80B98F30(EnZot* this, GlobalContext* globalCtx) {
|
||||
this->actor.parent = NULL;
|
||||
this->actionFunc = func_80B990A4;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 2, 10000.0f, 50.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RUPEE_BLUE, 10000.0f, 50.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void ItemBHeart_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Actor_SetCollectibleFlag(globalCtx, 0x1F);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0xD, 30.0f, 80.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_HEART_CONTAINER, 30.0f, 80.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,13 +83,13 @@ static InitChainEntry sInitChain[] = {
|
||||
};
|
||||
|
||||
void ObjKibako_SpawnCollectible(ObjKibako* this, GlobalContext* globalCtx) {
|
||||
s32 collectible;
|
||||
s32 dropItem00Id;
|
||||
|
||||
if (this->isDropCollected == 0) {
|
||||
collectible = func_800A8150(KIBAKO_COLLECTIBLE_ID(&this->actor));
|
||||
if (collectible >= 0) {
|
||||
dropItem00Id = func_800A8150(KIBAKO_COLLECTIBLE_ID(&this->actor));
|
||||
if (dropItem00Id > ITEM00_NO_DROP) {
|
||||
Item_DropCollectible(globalCtx, &this->actor.world.pos,
|
||||
collectible | KIBAKO_COLLECTIBLE_FLAG(&this->actor) << 8);
|
||||
dropItem00Id | KIBAKO_COLLECTIBLE_FLAG(&this->actor) << 8);
|
||||
this->isDropCollected = 1;
|
||||
}
|
||||
}
|
||||
@@ -122,7 +122,7 @@ void func_80926318(ObjKibako* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.xzDistToPlayer < 100.0f) {
|
||||
angle = this->actor.yawTowardsPlayer - GET_PLAYER(globalCtx)->actor.world.rot.y;
|
||||
if (ABS_ALT(angle) >= 0x5556) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0, 36.0f, 30.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_NONE, 36.0f, 30.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,11 +109,11 @@ void ObjKibako2_Break(ObjKibako2* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void ObjKibako2_SpawnCollectible(ObjKibako2* this, GlobalContext* globalCtx) {
|
||||
s32 collectible = func_800A8150(KIBAKO2_COLLECTIBLE_ID(&this->dyna.actor));
|
||||
s32 dropItem00Id = func_800A8150(KIBAKO2_COLLECTIBLE_ID(&this->dyna.actor));
|
||||
|
||||
if (collectible >= 0) {
|
||||
if (dropItem00Id > ITEM00_NO_DROP) {
|
||||
Item_DropCollectible(globalCtx, &this->dyna.actor.world.pos,
|
||||
collectible | KIBAKO2_COLLECTIBLE_FLAG(&this->dyna.actor) << 8);
|
||||
dropItem00Id | KIBAKO2_COLLECTIBLE_FLAG(&this->dyna.actor) << 8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ void func_80C06768(ObjMoonStone* this, GlobalContext* globalCtx) {
|
||||
this->actor.draw = NULL;
|
||||
func_80C0685C(this);
|
||||
} else if (this->actor.xzDistToPlayer < 25.0f) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x96, 100.0f, 30.0f);
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MOON_TEAR, 100.0f, 30.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ void ObjSyokudai_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
if (this->flameCollider.info.acHitInfo->toucher.dmgFlags & 0x820) {
|
||||
interaction = OBJ_SYOKUDAI_INTERACTION_ARROW_FA;
|
||||
}
|
||||
} else if (player->itemActionParam == 7) {
|
||||
} else if (player->itemActionParam == PLAYER_AP_STICK) {
|
||||
Vec3f stickTipSeparationVec;
|
||||
|
||||
Math_Vec3f_Diff(&player->swordInfo[0].tip, &thisx->world.pos, &stickTipSeparationVec);
|
||||
|
||||
Reference in New Issue
Block a user