mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07: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:
co-authored by
Elliptic Ellipsis
parent
25c60c6911
commit
d825ef5de1
+1
-1
@@ -69,7 +69,7 @@
|
||||
#define REMOVE_QUEST_ITEM(item) (gSaveContext.inventory.questItems = (((void)0, gSaveContext.inventory.questItems) & (-1 - gBitFlags[item])))
|
||||
|
||||
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
|
||||
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg) - 4)
|
||||
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
|
||||
|
||||
#define CONTROLLER1(globalCtx) (&(globalCtx)->state.input[0])
|
||||
#define CONTROLLER2(globalCtx) (&(globalCtx)->state.input[1])
|
||||
|
||||
+1
-1
@@ -1360,7 +1360,7 @@ extern u16 gEquipNegMasks[];
|
||||
extern u32 gUpgradeMasks[8];
|
||||
extern u32 gUpgradeNegMasks[];
|
||||
extern u8 gEquipShifts[];
|
||||
extern u8 gUpgradeShifts[16];
|
||||
extern u8 gUpgradeShifts[8];
|
||||
extern u16 gUpgradeCapacities[][4];
|
||||
extern u32 gGsFlagsMask[];
|
||||
extern u32 gGsFlagsShift[];
|
||||
|
||||
+1
-1
@@ -746,7 +746,7 @@ typedef struct {
|
||||
/* 0x258 */ s16 unk_258;
|
||||
/* 0x25A */ s16 unk_25A;
|
||||
/* 0x25C */ u16 unk_25C;
|
||||
/* 0x25E */ u16 unk_25E[5];
|
||||
/* 0x25E */ u16 unk_25E[5]; // ItemId
|
||||
/* 0x268 */ u16 unk_268[5];
|
||||
/* 0x272 */ u16 equipTargetItem;
|
||||
/* 0x274 */ u16 equipTargetSlot;
|
||||
|
||||
+1
-1
@@ -257,7 +257,7 @@ typedef enum {
|
||||
/* 0x10 */ ITEM00_MASK,
|
||||
/* 0x11 */ ITEM00_SMALL_KEY,
|
||||
/* 0x12 */ ITEM00_FLEXIBLE,
|
||||
/* 0x13 */ ITEM00_RUPEE_ORANGE,
|
||||
/* 0x13 */ ITEM00_RUPEE_HUGE,
|
||||
/* 0x14 */ ITEM00_RUPEE_PURPLE,
|
||||
/* 0x15 */ ITEM00_3_HEARTS,
|
||||
/* 0x16 */ ITEM00_SHIELD_HERO,
|
||||
|
||||
+246
-29
@@ -12,56 +12,233 @@ typedef enum {
|
||||
} EquipmentType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ UPG_QUIVER,
|
||||
/* 0x1 */ UPG_BOMB_BAG,
|
||||
/* 0x4 */ UPG_WALLET = 0x4,
|
||||
/* 0x6 */ UPG_STICK = 0x6,
|
||||
/* 0x7 */ UPG_NUTS
|
||||
/* 0x00 */ UPG_QUIVER,
|
||||
/* 0x01 */ UPG_BOMB_BAG,
|
||||
/* 0x02 */ UPG_STRENGTH,
|
||||
/* 0x03 */ UPG_SCALE,
|
||||
/* 0x04 */ UPG_WALLET,
|
||||
/* 0x05 */ UPG_BULLET_BAG,
|
||||
/* 0x06 */ UPG_STICKS,
|
||||
/* 0x07 */ UPG_NUTS
|
||||
} UpgradeType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ QUEST_REMAINS_ODOWLA,
|
||||
/* 0x01 */ QUEST_REMAINS_GOHT,
|
||||
/* 0x02 */ QUEST_REMAINS_GYORG,
|
||||
/* 0x03 */ QUEST_REMAINS_TWINMOLD,
|
||||
/* 0x04 */ QUEST_SHIELD,
|
||||
/* 0x05 */ QUEST_SWORD,
|
||||
/* 0x06 */ QUEST_SONG_SONATA,
|
||||
/* 0x07 */ QUEST_SONG_LULLABY,
|
||||
/* 0x08 */ QUEST_SONG_NOVA,
|
||||
/* 0x09 */ QUEST_SONG_ELEGY,
|
||||
/* 0x0A */ QUEST_SONG_OATH,
|
||||
/* 0x0B */ QUEST_SONG_SARIA,
|
||||
/* 0x0C */ QUEST_SONG_TIME,
|
||||
/* 0x0D */ QUEST_SONG_HEALING,
|
||||
/* 0x0E */ QUEST_SONG_EPONA,
|
||||
/* 0x0F */ QUEST_SONG_SOARING,
|
||||
/* 0x10 */ QUEST_SONG_STORMS,
|
||||
/* 0x11 */ QUEST_SONG_SUN,
|
||||
/* 0x12 */ QUEST_BOMBERS_NOTEBOOK,
|
||||
/* 0x18 */ QUEST_SONG_LULLABY_INTRO = 0x18,
|
||||
/* 0x19 */ QUEST_UNK_19, // Related to PictoBox
|
||||
} QuestItem;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ SLOT_OCARINA,
|
||||
/* 0x01 */ SLOT_BOW,
|
||||
/* 0x02 */ SLOT_ARROW_FIRE,
|
||||
/* 0x03 */ SLOT_ARROW_ICE,
|
||||
/* 0x04 */ SLOT_ARROW_LIGHT,
|
||||
/* 0x05 */ SLOT_TRADE_DEED,
|
||||
/* 0x06 */ SLOT_BOMB,
|
||||
/* 0x07 */ SLOT_BOMBCHU,
|
||||
/* 0x08 */ SLOT_STICK,
|
||||
/* 0x09 */ SLOT_NUT,
|
||||
/* 0x0A */ SLOT_BEAN,
|
||||
/* 0x0B */ SLOT_TRADE_KEY_MAMA,
|
||||
/* 0x0C */ SLOT_POWDER_KEG,
|
||||
/* 0x0D */ SLOT_PICTO_BOX,
|
||||
/* 0x0E */ SLOT_LENS,
|
||||
/* 0x0F */ SLOT_HOOKSHOT,
|
||||
/* 0x10 */ SLOT_SWORD_GREAT_FAIRY,
|
||||
/* 0x11 */ SLOT_TRADE_COUPLE,
|
||||
/* 0x12 */ SLOT_BOTTLE_1,
|
||||
/* 0x13 */ SLOT_BOTTLE_2,
|
||||
/* 0x14 */ SLOT_BOTTLE_3,
|
||||
/* 0x15 */ SLOT_BOTTLE_4,
|
||||
/* 0x16 */ SLOT_BOTTLE_5,
|
||||
/* 0x17 */ SLOT_BOTTLE_6,
|
||||
/* 0x18 */ SLOT_MASK_POSTMAN,
|
||||
/* 0x19 */ SLOT_MASK_ALL_NIGHT,
|
||||
/* 0x1A */ SLOT_MASK_BLAST,
|
||||
/* 0x1B */ SLOT_MASK_STONE,
|
||||
/* 0x1C */ SLOT_MASK_GREAT_FAIRY,
|
||||
/* 0x1D */ SLOT_MASK_DEKU,
|
||||
/* 0x1E */ SLOT_MASK_KEATON,
|
||||
/* 0x1F */ SLOT_MASK_BREMEN,
|
||||
/* 0x20 */ SLOT_MASK_BUNNY,
|
||||
/* 0x21 */ SLOT_MASK_DON_GERO,
|
||||
/* 0x22 */ SLOT_MASK_SCENTS,
|
||||
/* 0x23 */ SLOT_MASK_GORON,
|
||||
/* 0x24 */ SLOT_MASK_ROMANI,
|
||||
/* 0x25 */ SLOT_MASK_CIRCUS_LEADER,
|
||||
/* 0x26 */ SLOT_MASK_KAFEI,
|
||||
/* 0x27 */ SLOT_MASK_COUPLE,
|
||||
/* 0x28 */ SLOT_MASK_TRUTH,
|
||||
/* 0x29 */ SLOT_MASK_ZORA,
|
||||
/* 0x2A */ SLOT_MASK_KAMARO,
|
||||
/* 0x2B */ SLOT_MASK_GIBDO,
|
||||
/* 0x2C */ SLOT_MASK_GARO,
|
||||
/* 0x2D */ SLOT_MASK_CAPTAIN,
|
||||
/* 0x2E */ SLOT_MASK_GIANT,
|
||||
/* 0x2F */ SLOT_MASK_FIERCE_DEITY,
|
||||
/* 0xFF */ SLOT_NONE = 0xFF
|
||||
} InventorySlot;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ ITEM_OCARINA,
|
||||
/* 0x01 */ ITEM_BOW,
|
||||
/* 0x06 */ ITEM_BOMB = 0x06,
|
||||
/* 0x02 */ ITEM_ARROW_FIRE,
|
||||
/* 0x03 */ ITEM_ARROW_ICE,
|
||||
/* 0x04 */ ITEM_ARROW_LIGHT,
|
||||
/* 0x05 */ ITEM_OCARINA_FAIRY,
|
||||
/* 0x06 */ ITEM_BOMB,
|
||||
/* 0x07 */ ITEM_BOMBCHU,
|
||||
/* 0x08 */ ITEM_STICK,
|
||||
/* 0x09 */ ITEM_NUT,
|
||||
/* 0x10 */ ITEM_SWORD_GREAT_FAIRY = 0x10,
|
||||
/* 0x12 */ ITEM_BOTTLE = 0x12,
|
||||
/* 0x0A */ ITEM_BEAN,
|
||||
/* 0x0B */ ITEM_SLINGSHOT,
|
||||
/* 0x0C */ ITEM_POWDER_KEG,
|
||||
/* 0x0D */ ITEM_PICTO_BOX,
|
||||
/* 0x0E */ ITEM_LENS,
|
||||
/* 0x0F */ ITEM_HOOKSHOT,
|
||||
/* 0x10 */ ITEM_SWORD_GREAT_FAIRY,
|
||||
/* 0x11 */ ITEM_LONGSHOT, // OoT Leftover
|
||||
/* 0x12 */ ITEM_BOTTLE,
|
||||
/* 0x13 */ ITEM_POTION_RED,
|
||||
/* 0x14 */ ITEM_POTION_GREEN,
|
||||
/* 0x15 */ ITEM_POTION_BLUE,
|
||||
/* 0x16 */ ITEM_FAIRY,
|
||||
/* 0x17 */ ITEM_DEKU_PRINCESS,
|
||||
/* 0x1E */ ITEM_MUSHROOM = 0x1E,
|
||||
/* 0x32 */ ITEM_MASK_DEKU = 0x32,
|
||||
/* 0x38 */ ITEM_MASK_ALL_NIGHT = 0x38,
|
||||
/* 0x3A */ ITEM_MASK_KEATON = 0x3A,
|
||||
/* 0x18 */ ITEM_MILK_BOTTLE,
|
||||
/* 0x19 */ ITEM_MILK_HALF,
|
||||
/* 0x1A */ ITEM_FISH,
|
||||
/* 0x1B */ ITEM_BUG,
|
||||
/* 0x1C */ ITEM_BLUE_FIRE,
|
||||
/* 0x1D */ ITEM_POE,
|
||||
/* 0x1E */ ITEM_BIG_POE,
|
||||
/* 0x1F */ ITEM_SPRING_WATER,
|
||||
/* 0x20 */ ITEM_HOT_SPRING_WATER,
|
||||
/* 0x21 */ ITEM_ZORA_EGG,
|
||||
/* 0x22 */ ITEM_GOLD_DUST,
|
||||
/* 0x23 */ ITEM_MUSHROOM,
|
||||
/* 0x24 */ ITEM_SEA_HORSE,
|
||||
/* 0x25 */ ITEM_CHATEAU,
|
||||
/* 0x26 */ ITEM_HYLIAN_LOACH,
|
||||
/* 0x27 */ ITEM_OBABA_DRINK,
|
||||
/* 0x28 */ ITEM_MOON_TEAR,
|
||||
/* 0x29 */ ITEM_DEED_LAND,
|
||||
/* 0x2A */ ITEM_DEED_SWAMP,
|
||||
/* 0x2B */ ITEM_DEED_MOUNTAIN,
|
||||
/* 0x2C */ ITEM_DEED_OCEAN,
|
||||
/* 0x2D */ ITEM_ROOM_KEY,
|
||||
/* 0x2E */ ITEM_LETTER_MAMA,
|
||||
/* 0x2F */ ITEM_LETTER_KAFEI,
|
||||
/* 0x30 */ ITEM_PENDANT_MEMORIES,
|
||||
/* 0x31 */ ITEM_TINGLE_MAP,
|
||||
/* 0x32 */ ITEM_MASK_DEKU,
|
||||
/* 0x33 */ ITEM_MASK_GORON,
|
||||
/* 0x34 */ ITEM_MASK_ZORA,
|
||||
/* 0x35 */ ITEM_MASK_FIERCE_DEITY,
|
||||
/* 0x36 */ ITEM_MASK_TRUTH,
|
||||
/* 0x37 */ ITEM_MASK_KAFEI,
|
||||
/* 0x38 */ ITEM_MASK_ALL_NIGHT,
|
||||
/* 0x39 */ ITEM_MASK_BUNNY,
|
||||
/* 0x3A */ ITEM_MASK_KEATON,
|
||||
/* 0x3B */ ITEM_MASK_GARO,
|
||||
/* 0x3C */ ITEM_MASK_ROMANIS,
|
||||
/* 0x46 */ ITEM_MASK_BREMEN = 0x46,
|
||||
/* 0x48 */ ITEM_MASK_SCENTS = 0x48,
|
||||
/* 0x4D */ ITEM_SWORD_KOKIRI = 0x4D,
|
||||
/* 0x3C */ ITEM_MASK_ROMANI,
|
||||
/* 0x3D */ ITEM_MASK_CIRCUS_LEADER,
|
||||
/* 0x3E */ ITEM_MASK_POSTMAN,
|
||||
/* 0x3F */ ITEM_MASK_COUPLE,
|
||||
/* 0x40 */ ITEM_MASK_GREAT_FAIRY,
|
||||
/* 0x41 */ ITEM_MASK_GIBDO,
|
||||
/* 0x42 */ ITEM_MASK_DON_GERO,
|
||||
/* 0x43 */ ITEM_MASK_KAMARO,
|
||||
/* 0x44 */ ITEM_MASK_CAPTAIN,
|
||||
/* 0x45 */ ITEM_MASK_STONE,
|
||||
/* 0x46 */ ITEM_MASK_BREMEN,
|
||||
/* 0x47 */ ITEM_MASK_BLAST,
|
||||
/* 0x48 */ ITEM_MASK_SCENTS,
|
||||
/* 0x49 */ ITEM_MASK_GIANT,
|
||||
/* 0x4A */ ITEM_BOW_ARROW_FIRE,
|
||||
/* 0x4B */ ITEM_BOW_ARROW_ICE,
|
||||
/* 0x4C */ ITEM_BOW_ARROW_LIGHT,
|
||||
/* 0x4D */ ITEM_SWORD_KOKIRI,
|
||||
/* 0x4E */ ITEM_SWORD_RAZOR,
|
||||
/* 0x4F */ ITEM_SWORD_GILDED,
|
||||
/* 0x50 */ ITEM_SWORD_DEITY,
|
||||
/* 0x51 */ ITEM_SHIELD_HERO,
|
||||
/* 0x52 */ ITEM_SHIELD_MIRROR,
|
||||
/* 0x56 */ ITEM_BOMB_BAG_20 = 0x56,
|
||||
/* 0x53 */ ITEM_QUIVER_30,
|
||||
/* 0x54 */ ITEM_QUIVER_40,
|
||||
/* 0x55 */ ITEM_QUIVER_50,
|
||||
/* 0x56 */ ITEM_BOMB_BAG_20,
|
||||
/* 0x57 */ ITEM_BOMB_BAG_30,
|
||||
/* 0x58 */ ITEM_BOMB_BAG_40,
|
||||
/* 0x78 */ ITEM_KEY_SMALL = 0x78,
|
||||
/* 0x59 */ ITEM_WALLET_DEFAULT,
|
||||
/* 0x5A */ ITEM_WALLET_ADULT,
|
||||
/* 0x5B */ ITEM_WALLET_GIANT,
|
||||
/* 0x5C */ ITEM_FISHING_POLE,
|
||||
/* 0x5D */ ITEM_REMAINS_ODOLWA,
|
||||
/* 0x5E */ ITEM_REMAINS_GOHT,
|
||||
/* 0x5F */ ITEM_REMAINS_GYORG,
|
||||
/* 0x60 */ ITEM_REMAINS_TWINMOLD,
|
||||
/* 0x61 */ ITEM_SONG_SONATA,
|
||||
/* 0x62 */ ITEM_SONG_LULLABY,
|
||||
/* 0x63 */ ITEM_SONG_NOVA,
|
||||
/* 0x64 */ ITEM_SONG_ELEGY,
|
||||
/* 0x65 */ ITEM_SONG_OATH,
|
||||
/* 0x66 */ ITEM_SONG_SARIA,
|
||||
/* 0x67 */ ITEM_SONG_TIME,
|
||||
/* 0x68 */ ITEM_SONG_HEALING,
|
||||
/* 0x69 */ ITEM_SONG_EPONA,
|
||||
/* 0x6A */ ITEM_SONG_SOARING,
|
||||
/* 0x6B */ ITEM_SONG_STORMS,
|
||||
/* 0x6C */ ITEM_SONG_SUN,
|
||||
/* 0x6D */ ITEM_BOMBERS_NOTEBOOK,
|
||||
/* 0x6E */ ITEM_SKULL_TOKEN,
|
||||
/* 0x6F */ ITEM_HEART_CONTAINER,
|
||||
/* 0x70 */ ITEM_HEART_PIECE,
|
||||
/* 0x73 */ ITEM_SONG_LULLABY_INTRO = 0x73,
|
||||
/* 0x74 */ ITEM_KEY_BOSS,
|
||||
/* 0x75 */ ITEM_COMPASS,
|
||||
/* 0x76 */ ITEM_DUNGEON_MAP,
|
||||
/* 0x77 */ ITEM_STRAY_FAIRIES,
|
||||
/* 0x78 */ ITEM_KEY_SMALL,
|
||||
/* 0x79 */ ITEM_MAGIC_SMALL,
|
||||
/* 0x7A */ ITEM_MAGIC_LARGE,
|
||||
/* 0x83 */ ITEM_HEART = 0x83,
|
||||
/* 0x7B */ ITEM_HEART_PIECE_2,
|
||||
/* 0x7C */ ITEM_INVALID_1,
|
||||
/* 0x7D */ ITEM_INVALID_2,
|
||||
/* 0x7E */ ITEM_INVALID_3,
|
||||
/* 0x7F */ ITEM_INVALID_4,
|
||||
/* 0x80 */ ITEM_INVALID_5,
|
||||
/* 0x81 */ ITEM_INVALID_6,
|
||||
/* 0x82 */ ITEM_INVALID_7,
|
||||
/* 0x83 */ ITEM_HEART,
|
||||
/* 0x84 */ ITEM_RUPEE_GREEN,
|
||||
/* 0x85 */ ITEM_RUPEE_BLUE,
|
||||
/* 0x86 */ ITEM_RUPEE_10,
|
||||
/* 0x87 */ ITEM_RUPEE_RED,
|
||||
/* 0x88 */ ITEM_RUPEE_PURPLE,
|
||||
/* 0x89 */ ITEM_RUPEE_100,
|
||||
/* 0x8A */ ITEM_RUPEE_ORANGE,
|
||||
/* 0x8D */ ITEM_NUTS_5 = 0x8D,
|
||||
/* 0x89 */ ITEM_RUPEE_SILVER,
|
||||
/* 0x8A */ ITEM_RUPEE_HUGE,
|
||||
/* 0x8B */ ITEM_STICKS_5,
|
||||
/* 0x8C */ ITEM_STICKS_10,
|
||||
/* 0x8D */ ITEM_NUTS_5,
|
||||
/* 0x8E */ ITEM_NUTS_10,
|
||||
/* 0x8F */ ITEM_BOMBS_5,
|
||||
/* 0x90 */ ITEM_BOMBS_10,
|
||||
@@ -71,7 +248,19 @@ typedef enum {
|
||||
/* 0x94 */ ITEM_ARROWS_30,
|
||||
/* 0x95 */ ITEM_ARROWS_40,
|
||||
/* 0x96 */ ITEM_ARROWS_50,
|
||||
/* 0x98 */ ITEM_BOMBCHUS_10 = 0x98,
|
||||
/* 0x97 */ ITEM_BOMBCHUS_20,
|
||||
/* 0x98 */ ITEM_BOMBCHUS_10,
|
||||
/* 0x99 */ ITEM_BOMBCHUS_1,
|
||||
/* 0x9A */ ITEM_BOMBCHUS_5,
|
||||
/* 0x9B */ ITEM_STICK_UPGRADE_20,
|
||||
/* 0x9C */ ITEM_STICK_UPGRADE_30,
|
||||
/* 0x9D */ ITEM_NUT_UPGRADE_30,
|
||||
/* 0x9E */ ITEM_NUT_UPGRADE_40,
|
||||
/* 0x9F */ ITEM_CHATEAU_2,
|
||||
/* 0xA0 */ ITEM_MILK,
|
||||
/* 0xA1 */ ITEM_GOLD_DUST_2,
|
||||
/* 0xA2 */ ITEM_HYLIAN_LOACH_2,
|
||||
/* 0xA3 */ ITEM_SEA_HORSE_CAUGHT,
|
||||
/* 0xFF */ ITEM_NONE = 0xFF
|
||||
} ItemID;
|
||||
|
||||
@@ -83,7 +272,9 @@ typedef enum {
|
||||
/* 0x04 */ GI_RUPEE_RED,
|
||||
/* 0x05 */ GI_RUPEE_PURPLE,
|
||||
/* 0x06 */ GI_RUPEE_SILVER,
|
||||
/* 0x07 */ GI_RUPEE_GOLD,
|
||||
/* 0x07 */ GI_RUPEE_HUGE,
|
||||
/* 0x08 */ GI_WALLET_ADULT,
|
||||
/* 0x09 */ GI_WALLET_GIANT,
|
||||
/* 0x0C */ GI_HEART_PIECE = 0x0C,
|
||||
/* 0x0D */ GI_HEART_CONTAINER,
|
||||
/* 0x16 */ GI_BOMBS_10 = 0x16,
|
||||
@@ -112,17 +303,43 @@ typedef enum {
|
||||
/* 0x5D */ GI_POTION_BLUE,
|
||||
/* 0x5E */ GI_FAIRY,
|
||||
/* 0x60 */ GI_MILK_BOTTLE = 0x60,
|
||||
/* 0x7E */ GI_MASK_ALL_NIGHT = 0x7E,
|
||||
/* 0x80 */ GI_MASK_KEATON = 0x80,
|
||||
/* 0x82 */ GI_MASK_ROMANIS = 0x82,
|
||||
/* 0x8C */ GI_MASK_BREMEN = 0x8C,
|
||||
/* 0x78 */ GI_MASK_DEKU = 0x78,
|
||||
/* 0x79 */ GI_MASK_GORON,
|
||||
/* 0x7A */ GI_MASK_ZORA,
|
||||
/* 0x7B */ GI_MASK_FIERCE_DEITY,
|
||||
/* 0x7C */ GI_MASK_TRUTH,
|
||||
/* 0x7D */ GI_MASK_KAFEI,
|
||||
/* 0x7E */ GI_MASK_ALL_NIGHT,
|
||||
/* 0x7F */ GI_MASK_BUNNY,
|
||||
/* 0x80 */ GI_MASK_KEATON,
|
||||
/* 0x81 */ GI_MASK_GARO,
|
||||
/* 0x82 */ GI_MASK_ROMANI,
|
||||
/* 0x83 */ GI_MASK_CIRCUS_LEADER,
|
||||
/* 0x84 */ GI_MASK_POSTMAN,
|
||||
/* 0x85 */ GI_MASK_COUPLE,
|
||||
/* 0x86 */ GI_MASK_GREAT_FAIRY,
|
||||
/* 0x87 */ GI_MASK_GIBDO,
|
||||
/* 0x88 */ GI_MASK_DON_GERO,
|
||||
/* 0x89 */ GI_MASK_KAMARO,
|
||||
/* 0x8A */ GI_MASK_CAPTAIN,
|
||||
/* 0x8B */ GI_MASK_STONE,
|
||||
/* 0x8C */ GI_MASK_BREMEN,
|
||||
/* 0x8D */ GI_MASK_BLAST,
|
||||
/* 0x8E */ GI_MASK_SCENTS,
|
||||
/* 0x8F */ GI_MASK_GIANT,
|
||||
/* 0x96 */ GI_MOON_TEAR = 0x96,
|
||||
/* 0x97 */ GI_DEED_LAND,
|
||||
/* 0x98 */ GI_DEED_SWAMP,
|
||||
/* 0x99 */ GI_DEED_MOUNTAIN,
|
||||
/* 0x9A */ GI_DEED_OCEAN,
|
||||
/* 0x9B */ GI_SWORD_GREAT_FAIRY = 0x9B,
|
||||
/* 0x9C */ GI_SWORD_KOKIRI,
|
||||
/* 0x9D */ GI_SWORD_RAZOR,
|
||||
/* 0x9E */ GI_SWORD_GILDED,
|
||||
/* 0x9F */ GI_SHIELD_HERO_2, // Code that treats this as hero's shield is unused, so take with a grain of salt
|
||||
/* 0xA1 */ GI_LETTER_TO_MAMA = 0xA1,
|
||||
/* 0xA9 */ GI_BOTTLE = 0xA9
|
||||
/* 0xA9 */ GI_BOTTLE = 0xA9,
|
||||
/* 0xBA */ GI_MAX = 0xBA
|
||||
} GetItemID;
|
||||
|
||||
typedef enum {
|
||||
|
||||
+125
-36
@@ -7,50 +7,139 @@
|
||||
struct Player;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PLAYER_SHIELD_NONE,
|
||||
/* 0x01 */ PLAYER_SHIELD_HEROS_SHIELD,
|
||||
/* 0x02 */ PLAYER_SHIELD_MIRROR_SHIELD,
|
||||
/* 0x03 */ PLAYER_SHIELD_MAX
|
||||
/* 0x00 */ PLAYER_SHIELD_NONE,
|
||||
/* 0x01 */ PLAYER_SHIELD_HEROS_SHIELD,
|
||||
/* 0x02 */ PLAYER_SHIELD_MIRROR_SHIELD,
|
||||
/* 0x03 */ PLAYER_SHIELD_MAX
|
||||
} PlayerShield;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PLAYER_FORM_FIERCE_DEITY,
|
||||
/* 0x01 */ PLAYER_FORM_GORON,
|
||||
/* 0x02 */ PLAYER_FORM_ZORA,
|
||||
/* 0x03 */ PLAYER_FORM_DEKU,
|
||||
/* 0x04 */ PLAYER_FORM_HUMAN,
|
||||
/* 0x05 */ PLAYER_FORM_MAX
|
||||
/* 0x00 */ PLAYER_BOOTS_FIERCE_DEITY,
|
||||
/* 0x01 */ PLAYER_BOOTS_HYLIAN,
|
||||
/* 0x02 */ PLAYER_BOOTS_GIANT,
|
||||
/* 0x03 */ PLAYER_BOOTS_DEKU,
|
||||
/* 0x04 */ PLAYER_BOOTS_ZORA_LAND,
|
||||
/* 0x05 */ PLAYER_BOOTS_ZORA_UNDERWATER,
|
||||
/* 0x06 */ PLAYER_BOOTS_GORON,
|
||||
/* 0x07 */ PLAYER_BOOTS_MAX
|
||||
} PlayerBoots;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PLAYER_FORM_FIERCE_DEITY,
|
||||
/* 0x01 */ PLAYER_FORM_GORON,
|
||||
/* 0x02 */ PLAYER_FORM_ZORA,
|
||||
/* 0x03 */ PLAYER_FORM_DEKU,
|
||||
/* 0x04 */ PLAYER_FORM_HUMAN,
|
||||
/* 0x05 */ PLAYER_FORM_MAX
|
||||
} PlayerTransformation;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PLAYER_MASK_NONE,
|
||||
/* 0x01 */ PLAYER_MASK_MASK_OF_TRUTH,
|
||||
/* 0x02 */ PLAYER_MASK_KAFEIS_MASK,
|
||||
/* 0x03 */ PLAYER_MASK_ALL_NIGHT_MASK,
|
||||
/* 0x04 */ PLAYER_MASK_BUNNY_HOOD,
|
||||
/* 0x05 */ PLAYER_MASK_KEATON_MASK,
|
||||
/* 0x06 */ PLAYER_MASK_GAROS_MASK,
|
||||
/* 0x07 */ PLAYER_MASK_ROMANIS_MASK,
|
||||
/* 0x08 */ PLAYER_MASK_CIRCUS_LEADERS_MASK,
|
||||
/* 0x09 */ PLAYER_MASK_POSTMANS_HAT,
|
||||
/* 0x0A */ PLAYER_MASK_COUPLES_MASK,
|
||||
/* 0x0B */ PLAYER_MASK_GREAT_FAIRYS_MASK,
|
||||
/* 0x0C */ PLAYER_MASK_GIBDO_MASK,
|
||||
/* 0x0D */ PLAYER_MASK_DON_GEROS_MASK,
|
||||
/* 0x0E */ PLAYER_MASK_KAMAROS_MASK,
|
||||
/* 0x0F */ PLAYER_MASK_CAPTAINS_HAT,
|
||||
/* 0x10 */ PLAYER_MASK_STONE_MASK,
|
||||
/* 0x11 */ PLAYER_MASK_BREMEN_MASK,
|
||||
/* 0x12 */ PLAYER_MASK_BLAST_MASK,
|
||||
/* 0x13 */ PLAYER_MASK_MASK_OF_SCENTS,
|
||||
/* 0x14 */ PLAYER_MASK_GIANTS_MASK,
|
||||
/* 0x15 */ PLAYER_MASK_FIERCE_DEITYS_MASK,
|
||||
/* 0x16 */ PLAYER_MASK_GORON_MASK,
|
||||
/* 0x17 */ PLAYER_MASK_ZORA_MASK,
|
||||
/* 0x18 */ PLAYER_MASK_DEKU_MASK,
|
||||
/* 0x19 */ PLAYER_MASK_MAX
|
||||
/* 0x00 */ PLAYER_MASK_NONE,
|
||||
/* 0x01 */ PLAYER_MASK_TRUTH,
|
||||
/* 0x02 */ PLAYER_MASK_KAFEI,
|
||||
/* 0x03 */ PLAYER_MASK_ALL_NIGHT,
|
||||
/* 0x04 */ PLAYER_MASK_BUNNY,
|
||||
/* 0x05 */ PLAYER_MASK_KEATON,
|
||||
/* 0x06 */ PLAYER_MASK_GARO,
|
||||
/* 0x07 */ PLAYER_MASK_ROMANI,
|
||||
/* 0x08 */ PLAYER_MASK_CIRCUS_LEADER,
|
||||
/* 0x09 */ PLAYER_MASK_POSTMAN,
|
||||
/* 0x0A */ PLAYER_MASK_COUPLE,
|
||||
/* 0x0B */ PLAYER_MASK_GREAT_FAIRY,
|
||||
/* 0x0C */ PLAYER_MASK_GIBDO,
|
||||
/* 0x0D */ PLAYER_MASK_DON_GERO,
|
||||
/* 0x0E */ PLAYER_MASK_KAMARO,
|
||||
/* 0x0F */ PLAYER_MASK_CAPTAIN,
|
||||
/* 0x10 */ PLAYER_MASK_STONE,
|
||||
/* 0x11 */ PLAYER_MASK_BREMEN,
|
||||
/* 0x12 */ PLAYER_MASK_BLAST,
|
||||
/* 0x13 */ PLAYER_MASK_SCENTS,
|
||||
/* 0x14 */ PLAYER_MASK_GIANT,
|
||||
/* 0x15 */ PLAYER_MASK_FIERCE_DEITY,
|
||||
/* 0x16 */ PLAYER_MASK_GORON,
|
||||
/* 0x17 */ PLAYER_MASK_ZORA,
|
||||
/* 0x18 */ PLAYER_MASK_DEKU,
|
||||
/* 0x19 */ PLAYER_MASK_MAX
|
||||
} PlayerMask;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PLAYER_AP_NONE,
|
||||
/* 0x01 */ PLAYER_AP_UNK_1,
|
||||
/* 0x02 */ PLAYER_AP_UNK_2,
|
||||
/* 0x03 */ PLAYER_AP_SWORD_KOKIRI,
|
||||
/* 0x04 */ PLAYER_AP_SWORD_RAZOR,
|
||||
/* 0x05 */ PLAYER_AP_SWORD_GILDED,
|
||||
/* 0x06 */ PLAYER_AP_SWORD_GREAT_FAIRY,
|
||||
/* 0x07 */ PLAYER_AP_STICK,
|
||||
/* 0x08 */ PLAYER_AP_UNK_8,
|
||||
/* 0x09 */ PLAYER_AP_BOW,
|
||||
/* 0x0A */ PLAYER_AP_BOW_FIRE,
|
||||
/* 0x0B */ PLAYER_AP_BOW_ICE,
|
||||
/* 0x0C */ PLAYER_AP_BOW_LIGHT,
|
||||
/* 0x0D */ PLAYER_AP_HOOKSHOT,
|
||||
/* 0x0E */ PLAYER_AP_BOMB,
|
||||
/* 0x0F */ PLAYER_AP_POWDER_KEG,
|
||||
/* 0x10 */ PLAYER_AP_BOMBCHU,
|
||||
/* 0x12 */ PLAYER_AP_NUT = 0x12,
|
||||
/* 0x13 */ PLAYER_AP_PICTO_BOX,
|
||||
/* 0x14 */ PLAYER_AP_OCARINA,
|
||||
/* 0x15 */ PLAYER_AP_BOTTLE,
|
||||
/* 0x16 */ PLAYER_AP_BOTTLE_FISH,
|
||||
/* 0x17 */ PLAYER_AP_BOTTLE_SPRING_WATER,
|
||||
/* 0x18 */ PLAYER_AP_BOTTLE_HOT_SPRING_WATER,
|
||||
/* 0x19 */ PLAYER_AP_BOTTLE_ZORA_EGG,
|
||||
/* 0x1A */ PLAYER_AP_BOTTLE_DEKU_PRINCESS,
|
||||
/* 0x1B */ PLAYER_AP_BOTTLE_GOLD_DUST,
|
||||
/* 0x1D */ PLAYER_AP_BOTTLE_SEA_HORSE = 0x1D,
|
||||
/* 0x1E */ PLAYER_AP_BOTTLE_MUSHROOM,
|
||||
/* 0x1F */ PLAYER_AP_BOTTLE_HYLIAN_LOACH,
|
||||
/* 0x20 */ PLAYER_AP_BOTTLE_BUG,
|
||||
/* 0x21 */ PLAYER_AP_BOTTLE_POE,
|
||||
/* 0x22 */ PLAYER_AP_BOTTLE_BIG_POE,
|
||||
/* 0x23 */ PLAYER_AP_BOTTLE_POTION_RED,
|
||||
/* 0x24 */ PLAYER_AP_BOTTLE_POTION_BLUE,
|
||||
/* 0x25 */ PLAYER_AP_BOTTLE_POTION_GREEN,
|
||||
/* 0x26 */ PLAYER_AP_BOTTLE_MILK,
|
||||
/* 0x27 */ PLAYER_AP_BOTTLE_MILK_HALF,
|
||||
/* 0x28 */ PLAYER_AP_BOTTLE_CHATEAU,
|
||||
/* 0x29 */ PLAYER_AP_BOTTLE_FAIRY,
|
||||
/* 0x2A */ PLAYER_AP_MOON_TEAR,
|
||||
/* 0x2B */ PLAYER_AP_DEED_LAND,
|
||||
/* 0x2C */ PLAYER_AP_ROOM_KEY,
|
||||
/* 0x2D */ PLAYER_AP_LETTER_KAFEI,
|
||||
/* 0x2E */ PLAYER_AP_BEAN,
|
||||
/* 0x2F */ PLAYER_AP_DEED_SWAMP,
|
||||
/* 0x30 */ PLAYER_AP_DEED_MOUNTAIN,
|
||||
/* 0x31 */ PLAYER_AP_DEED_OCEAN,
|
||||
/* 0x33 */ PLAYER_AP_LETTER_MAMA = 0x33,
|
||||
/* 0x36 */ PLAYER_AP_PENDANT_MEMORIES = 0x36,
|
||||
/* 0x3A */ PLAYER_AP_MASK_TRUTH = 0x3A,
|
||||
/* 0x3B */ PLAYER_AP_MASK_KAFEI,
|
||||
/* 0x3C */ PLAYER_AP_MASK_ALL_NIGHT,
|
||||
/* 0x3D */ PLAYER_AP_MASK_BUNNY,
|
||||
/* 0x3E */ PLAYER_AP_MASK_KEATON,
|
||||
/* 0x3F */ PLAYER_AP_MASK_GARO,
|
||||
/* 0x40 */ PLAYER_AP_MASK_ROMANI,
|
||||
/* 0x41 */ PLAYER_AP_MASK_CIRCUS_LEADER,
|
||||
/* 0x42 */ PLAYER_AP_MASK_POSTMAN,
|
||||
/* 0x43 */ PLAYER_AP_MASK_COUPLE,
|
||||
/* 0x44 */ PLAYER_AP_MASK_GREAT_FAIRY,
|
||||
/* 0x45 */ PLAYER_AP_MASK_GIBDO,
|
||||
/* 0x46 */ PLAYER_AP_MASK_DON_GERO,
|
||||
/* 0x47 */ PLAYER_AP_MASK_KAMARO,
|
||||
/* 0x48 */ PLAYER_AP_MASK_CAPTAIN,
|
||||
/* 0x49 */ PLAYER_AP_MASK_STONE,
|
||||
/* 0x4A */ PLAYER_AP_MASK_BREMEN,
|
||||
/* 0x4B */ PLAYER_AP_MASK_BLAST,
|
||||
/* 0x4C */ PLAYER_AP_MASK_SCENTS,
|
||||
/* 0x4D */ PLAYER_AP_MASK_GIANT,
|
||||
/* 0x4E */ PLAYER_AP_MASK_FIERCE_DEITY,
|
||||
/* 0x4F */ PLAYER_AP_MASK_GORON,
|
||||
/* 0x50 */ PLAYER_AP_MASK_ZORA,
|
||||
/* 0x51 */ PLAYER_AP_MASK_DEKU,
|
||||
/* 0x52 */ PLAYER_AP_LENS,
|
||||
/* 0xFD */ PLAYER_AP_MAX = 0xFD
|
||||
} PlayerActionParam;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
|
||||
+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;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user