item data generation (#1105)

* item entities

* pt II

* item hud scripts

* world map

* remove duplicate

* py formatting

* generate hud script ID mapping

* rename jump item -> boots

* item table

* unify pt1

* unify pt2

* item enum and ranges

* fix

* disambiguate boots/hammer names

* move table as well

* remove old move table

* comments concerns etc

* py fmt

* recipe generation

* break it!

* phix it

---------

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
HailSanta 2023-08-02 23:44:30 -04:00 committed by GitHub
parent f8d6ccddc4
commit f445cbaf18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
64 changed files with 9781 additions and 11898 deletions

View File

@ -1249,8 +1249,8 @@ typedef struct MessagePrintState {
/* 0x51B */ char unk_51B[0x1];
/* 0x51C */ u16 speechVolumePitch;
/* 0x51E */ char unk_51E[0x2];
/* 0x520 */ s32 speedSoundIDA;
/* 0x524 */ s32 speedSoundIDB;
/* 0x520 */ s32 speechSoundIDA;
/* 0x524 */ s32 speechSoundIDB;
/* 0x528 */ u16 varBufferReadPos;
/* 0x52A */ s8 unk_52A;
/* 0x52B */ u8 curImageIndex;
@ -2472,11 +2472,11 @@ typedef struct CreditsData {
/* 0x04 */ CreditsLine lines[32];
} CreditsData; // size = 0x74
typedef struct CreditsUnkBeta {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ s16 size;
} CreditsUnkBeta; // size = 0x4
typedef struct CreditsPairOffset {
/* 0x00 */ u8 firstChar;
/* 0x01 */ u8 secondChar;
/* 0x02 */ s16 offset;
} CreditsPairOffset; // size = 0x4
typedef struct GameMode {
/* 0x00 */ u16 flags;
@ -2495,11 +2495,11 @@ typedef struct PartnerDMAData {
/* 0x10 */ s32 y;
} PartnerDMAData; // size = 0x14
typedef struct struct_D_802EB620 {
typedef struct MsgVoice {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} struct_D_802EB620; // size = 0x0C
} MsgVoice; // size = 0x0C
typedef struct Rect {
/* 0x00 */ s32 ulx;

View File

@ -232,7 +232,7 @@ enum StoryProgress {
STORY_CH8_REACHED_BOWSERS_CASTLE = 94,
STORY_CH8_REACHED_PEACHS_CASTLE = 95,
STORY_EPILOGUE = 96,
STORY_61 = 97,
STORY_NEVER = 97,
};
enum KoopaKootFavors {
@ -537,9 +537,12 @@ enum SoundIDs {
SOUND_E = 0x0000000E,
SOUND_F = 0x0000000F,
SOUND_10 = 0x00000010,
SOUND_11 = 0x00000011,
SOUND_12 = 0x00000012,
SOUND_NORMAL_VOICE_A = 0x00000011,
SOUND_NORMAL_VOICE_B = 0x00000012,
SOUND_14 = 0x00000014,
SOUND_BOWSER_VOICE_A = 0x00000017,
SOUND_BOWSER_VOICE_B = 0x00000018,
SOUND_STAR_VOICE = 0x0000001B,
SOUND_21 = 0x00000021,
SOUND_22 = 0x00000022,
SOUND_23 = 0x00000023,
@ -1756,396 +1759,7 @@ enum AuxCameraParams {
AUX_CAM_ZOOM_PERCENT = 8
};
enum ItemIDs {
ITEM_NONE = 0x00000000,
ITEM_BOOTS = 0x00000001,
ITEM_SUPER_BOOTS = 0x00000002,
ITEM_ULTRA_BOOTS = 0x00000003,
ITEM_HAMMER = 0x00000004,
ITEM_SUPER_HAMMER = 0x00000005,
ITEM_ULTRA_HAMMER = 0x00000006,
ITEM_LUCKY_STAR = 0x00000007,
ITEM_MAP = 0x00000008,
ITEM_BIG_MAP = 0x00000009,
ITEM_FIRST_DEGREE_CARD = 0x0000000A,
ITEM_SECOND_DEGREE_CARD = 0x0000000B,
ITEM_THIRD_DEGREE_CARD = 0x0000000C,
ITEM_FOURTH_DEGREE_CARD = 0x0000000D,
ITEM_DIPLOMA = 0x0000000E,
ITEM_ULTRA_STONE = 0x0000000F,
ITEM_KOOPA_FORTRESS_KEY = 0x00000010,
ITEM_RUINS_KEY = 0x00000011,
ITEM_PULSE_STONE = 0x00000012,
ITEM_TUBBA_CASTLE_KEY = 0x00000013,
ITEM_CRYSTAL_PALACE_KEY = 0x00000014,
ITEM_LUNAR_STONE = 0x00000015,
ITEM_PYRAMID_STONE = 0x00000016,
ITEM_DIAMOND_STONE = 0x00000017,
ITEM_GOLDEN_VASE = 0x00000018,
ITEM_KOOPER_SHELL = 0x00000019,
ITEM_BOWSER_CASTLE_KEY = 0x0000001A,
ITEM_FOREST_PASS = 0x0000001B,
ITEM_BOO_WEIGHT = 0x0000001C,
ITEM_BOO_PORTRAIT = 0x0000001D,
ITEM_CRYSTAL_BERRY = 0x0000001E,
ITEM_MYSTICAL_KEY = 0x0000001F,
ITEM_STOREROOM_KEY = 0x00000020,
ITEM_TOY_TRAIN = 0x00000021,
ITEM_BOO_RECORD = 0x00000022,
ITEM_FRYING_PAN = 0x00000023,
ITEM_DICTIONARY = 0x00000024,
ITEM_MYSTERY_NOTE = 0x00000025,
ITEM_SUSPICIOUS_NOTE = 0x00000026,
ITEM_CRYSTAL_BALL = 0x00000027,
ITEM_SCREWDRIVER = 0x00000028,
ITEM_COOKBOOK = 0x00000029,
ITEM_JADE_RAVEN = 0x0000002A,
ITEM_MAGICAL_SEED1 = 0x0000002B,
ITEM_MAGICAL_SEED2 = 0x0000002C,
ITEM_MAGICAL_SEED3 = 0x0000002D,
ITEM_MAGICAL_SEED4 = 0x0000002E,
ITEM_TOAD_DOLL = 0x0000002F,
ITEM_CALCULATOR = 0x00000030,
ITEM_SNOWMAN_BUCKET = 0x00000031,
ITEM_SNOWMAN_SCARF = 0x00000032,
ITEM_RED_KEY = 0x00000033,
ITEM_BLUE_KEY = 0x00000034,
ITEM_UNUSED_LETTER_1 = 0x00000035,
ITEM_LETTER_TO_MERLON = 0x00000036,
ITEM_LETTER_TO_GOOMPA = 0x00000037,
ITEM_LETTER_TO_MORT_T = 0x00000038,
ITEM_LETTER_TO_RUSS_T = 0x00000039,
ITEM_LETTER_TO_MAYOR_PENGUIN = 0x0000003A,
ITEM_LETTER_TO_MERLOW = 0x0000003B,
ITEM_LETTER_TO_FICE_T = 0x0000003C,
ITEM_LETTER_TO_NOMADIMOUSE = 0x0000003D,
ITEM_LETTER_TO_MINHT = 0x0000003E,
ITEM_UNUSED_LETTER_2 = 0x0000003F,
ITEM_LETTER_CHAIN_GOOMPAPA_1 = 0x00000040,
ITEM_LETTER_TO_IGOR = 0x00000041,
ITEM_UNUSED_LETTER_3 = 0x00000042,
ITEM_UNUSED_LETTER_4 = 0x00000043,
ITEM_UNUSED_LETTER_5 = 0x00000044,
ITEM_LETTER_CHAIN_FRANKY = 0x00000045,
ITEM_LETTER_CHAIN_MUSS_T = 0x00000046,
ITEM_LETTER_CHAIN_KOOVER_1 = 0x00000047,
ITEM_LETTER_CHAIN_FISHMAEL = 0x00000048,
ITEM_LETTER_CHAIN_KOOVER_2 = 0x00000049,
ITEM_LETTER_CHAIN_MR_E = 0x0000004A,
ITEM_LETTER_CHAIN_MISS_T = 0x0000004B,
ITEM_LETTER_CHAIN_LITTLE_MOUSER = 0x0000004C,
ITEM_UNUSED_LETTER_6 = 0x0000004D,
ITEM_LETTER_CHAIN_DANE_T_1 = 0x0000004E,
ITEM_LETTER_CHAIN_YOSHI_KID = 0x0000004F,
ITEM_LETTER_CHAIN_DANE_T_2 = 0x00000050,
ITEM_LETTER_CHAIN_FROST_T = 0x00000051,
ITEM_LETTER_CHAIN_GOOMPAPA_2 = 0x00000052,
ITEM_ARTIFACT = 0x00000053,
ITEM_LETTER_TO_KOLORADO = 0x00000054,
ITEM_UNUSED_LETTER_7 = 0x00000055,
ITEM_DOLLY = 0x00000056,
ITEM_WATER_STONE = 0x00000057,
ITEM_MAGICAL_BEAN = 0x00000058,
ITEM_FERTILE_SOIL = 0x00000059,
ITEM_MIRACLE_WATER = 0x0000005A,
ITEM_VOLCANO_VASE = 0x0000005B,
ITEM_KOOT_THE_TAPE = 0x0000005C,
ITEM_BAKING_SUGAR = 0x0000005D,
ITEM_BAKING_SALT = 0x0000005E,
ITEM_BAKING_EGG = 0x0000005F,
ITEM_BAKING_CREAM = 0x00000060,
ITEM_BAKING_STRAWBERRY = 0x00000061,
ITEM_BAKING_BUTTER = 0x00000062,
ITEM_BAKING_CLEANSER = 0x00000063,
ITEM_BAKING_WATER = 0x00000064,
ITEM_BAKING_FLOUR = 0x00000065,
ITEM_BAKING_MILK = 0x00000066,
ITEM_LYRICS = 0x00000067,
ITEM_MELODY = 0x00000068,
ITEM_MAILBAG = 0x00000069,
ITEM_PEACH_KEY1 = 0x0000006A,
ITEM_ODD_KEY = 0x0000006B,
ITEM_STAR_STONE = 0x0000006C,
ITEM_SNEAKY_PARASOL = 0x0000006D,
ITEM_KOOT_KOOPA_LEGENDS = 0x0000006E,
ITEM_KOOT_LUIGIS_AUTOGRAPH = 0x0000006F,
ITEM_KOOT_EMPTY_WALLET = 0x00000070,
ITEM_KOOT_MERLUVLEES_AUTOGRAPH = 0x00000071,
ITEM_KOOT_SHELL = 0x00000072,
ITEM_KOOT_OLD_PHOTO = 0x00000073,
ITEM_KOOT_GLASSES = 0x00000074,
ITEM_KOOT_ALT_PHOTO = 0x00000075,
ITEM_KOOT_PACKAGE = 0x00000076,
ITEM_KOOT_RED_JAR = 0x00000077,
ITEM_PEACH_KEY2 = 0x00000078,
ITEM_WAREHOUSE_KEY = 0x00000079,
ITEM_PRISON_KEY1 = 0x0000007A,
ITEM_SILVER_CREDIT = 0x0000007B,
ITEM_GOLD_CREDIT = 0x0000007C,
ITEM_PRISON_KEY2 = 0x0000007D,
ITEM_PRISON_KEY3 = 0x0000007E,
ITEM_PRISON_KEY4 = 0x0000007F,
ITEM_FIRE_FLOWER = 0x00000080,
ITEM_SNOWMAN_DOLL = 0x00000081,
ITEM_THUNDER_RAGE = 0x00000082,
ITEM_SHOOTING_STAR = 0x00000083,
ITEM_THUNDER_BOLT = 0x00000084,
ITEM_PEBBLE = 0x00000085,
ITEM_DUSTY_HAMMER = 0x00000086,
ITEM_INSECTICIDE_HERB = 0x00000087,
ITEM_STONE_CAP = 0x00000088,
ITEM_TASTY_TONIC = 0x00000089,
ITEM_MUSHROOM = 0x0000008A,
ITEM_VOLT_SHROOM = 0x0000008B,
ITEM_SUPER_SHROOM = 0x0000008C,
ITEM_DRIED_SHROOM = 0x0000008D,
ITEM_ULTRA_SHROOM = 0x0000008E,
ITEM_SLEEPY_SHEEP = 0x0000008F,
ITEM_POW_BLOCK = 0x00000090,
ITEM_HUSTLE_DRINK = 0x00000091,
ITEM_STOP_WATCH = 0x00000092,
ITEM_WHACKAS_BUMP = 0x00000093,
ITEM_APPLE = 0x00000094,
ITEM_LIFE_SHROOM = 0x00000095,
ITEM_MYSTERY = 0x00000096,
ITEM_REPEL_GEL = 0x00000097,
ITEM_FRIGHT_JAR = 0x00000098,
ITEM_PLEASE_COME_BACK = 0x00000099,
ITEM_DIZZY_DIAL = 0x0000009A,
ITEM_SUPER_SODA = 0x0000009B,
ITEM_LEMON = 0x0000009C,
ITEM_LIME = 0x0000009D,
ITEM_BLUE_BERRY = 0x0000009E,
ITEM_RED_BERRY = 0x0000009F,
ITEM_YELLOW_BERRY = 0x000000A0,
ITEM_BUBBLE_BERRY = 0x000000A1,
ITEM_JAMMIN_JELLY = 0x000000A2,
ITEM_MAPLE_SYRUP = 0x000000A3,
ITEM_HONEY_SYRUP = 0x000000A4,
ITEM_GOOMNUT = 0x000000A5,
ITEM_KOOPA_LEAF = 0x000000A6,
ITEM_DRIED_PASTA = 0x000000A7,
ITEM_DRIED_FRUIT = 0x000000A8,
ITEM_STRANGE_LEAF = 0x000000A9,
ITEM_CAKE_MIX = 0x000000AA,
ITEM_EGG = 0x000000AB,
ITEM_COCONUT = 0x000000AC,
ITEM_MELON = 0x000000AD,
ITEM_STINKY_HERB = 0x000000AE,
ITEM_ICED_POTATO = 0x000000AF,
ITEM_SPICY_SOUP = 0x000000B0,
ITEM_APPLE_PIE = 0x000000B1,
ITEM_HONEY_ULTRA = 0x000000B2,
ITEM_MAPLE_ULTRA = 0x000000B3,
ITEM_JELLY_ULTRA = 0x000000B4,
ITEM_KOOPASTA = 0x000000B5,
ITEM_FRIED_SHROOM = 0x000000B6,
ITEM_SHROOM_CAKE = 0x000000B7,
ITEM_SHROOM_STEAK = 0x000000B8,
ITEM_HOT_SHROOM = 0x000000B9,
ITEM_SWEET_SHROOM = 0x000000BA,
ITEM_YUMMY_MEAL = 0x000000BB,
ITEM_HEALTHY_JUICE = 0x000000BC,
ITEM_BLAND_MEAL = 0x000000BD,
ITEM_DELUXE_FEAST = 0x000000BE,
ITEM_SPECIAL_SHAKE = 0x000000BF,
ITEM_BIG_COOKIE = 0x000000C0,
ITEM_CAKE = 0x000000C1,
ITEM_MISTAKE = 0x000000C2,
ITEM_KOOPA_TEA = 0x000000C3,
ITEM_HONEY_SUPER = 0x000000C4,
ITEM_MAPLE_SUPER = 0x000000C5,
ITEM_JELLY_SUPER = 0x000000C6,
ITEM_SPAGHETTI = 0x000000C7,
ITEM_EGG_MISSILE = 0x000000C8,
ITEM_FRIED_EGG = 0x000000C9,
ITEM_HONEY_SHROOM = 0x000000CA,
ITEM_HONEY_CANDY = 0x000000CB,
ITEM_ELECTRO_POP = 0x000000CC,
ITEM_FIRE_POP = 0x000000CD,
ITEM_LIME_CANDY = 0x000000CE,
ITEM_COCO_POP = 0x000000CF,
ITEM_LEMON_CANDY = 0x000000D0,
ITEM_JELLY_POP = 0x000000D1,
ITEM_STRANGE_CAKE = 0x000000D2,
ITEM_KOOKY_COOKIE = 0x000000D3,
ITEM_FROZEN_FRIES = 0x000000D4,
ITEM_POTATO_SALAD = 0x000000D5,
ITEM_NUTTY_CAKE = 0x000000D6,
ITEM_MAPLE_SHROOM = 0x000000D7,
ITEM_BOILED_EGG = 0x000000D8,
ITEM_YOSHI_COOKIE = 0x000000D9,
ITEM_JELLY_SHROOM1 = 0x000000DA,
ITEM_JELLY_SHROOM2 = 0x000000DB,
ITEM_JELLY_SHROOM3 = 0x000000DC,
ITEM_JELLY_SHROOM4 = 0x000000DD,
ITEM_JELLY_SHROOM5 = 0x000000DE,
ITEM_JELLY_SHROOM6 = 0x000000DF,
ITEM_SPIN_SMASH = 0x000000E0,
ITEM_MULTIBOUNCE = 0x000000E1,
ITEM_POWER_PLUS_A = 0x000000E2,
ITEM_DODGE_MASTER = 0x000000E3,
ITEM_POWER_BOUNCE = 0x000000E4,
ITEM_SPIKE_SHIELD = 0x000000E5,
ITEM_FIRST_ATTACK = 0x000000E6,
ITEM_HP_PLUS_A = 0x000000E7,
ITEM_QUAKE_HAMMER = 0x000000E8,
ITEM_DOUBLE_DIP = 0x000000E9,
ITEM_MYSTERY_SCROLL = 0x000000EA,
ITEM_SLEEP_STOMP = 0x000000EB,
ITEM_FIRE_SHIELD = 0x000000EC,
ITEM_QUICK_CHANGE = 0x000000ED,
ITEM_D_DOWN_POUND = 0x000000EE,
ITEM_DIZZY_STOMP = 0x000000EF,
ITEM_SMASH_CHARGE0 = 0x000000F0,
ITEM_PRETTY_LUCKY = 0x000000F1,
ITEM_FEELING_FINE = 0x000000F2,
ITEM_ATTACK_FX_A = 0x000000F3,
ITEM_ALLOR_NOTHING = 0x000000F4,
ITEM_HP_DRAIN = 0x000000F5,
ITEM_BOOTS_CHARGE0 = 0x000000F6,
ITEM_SLOW_GO = 0x000000F7,
ITEM_FP_PLUS_A = 0x000000F8,
ITEM_MEGA_RUSH = 0x000000F9,
ITEM_ICE_POWER = 0x000000FA,
ITEM_DEFEND_PLUS_A = 0x000000FB,
ITEM_PAY_OFF = 0x000000FC,
ITEM_MONEY_MONEY = 0x000000FD,
ITEM_CHILL_OUT = 0x000000FE,
ITEM_HAPPY_HEART_A = 0x000000FF,
ITEM_ZAP_TAP = 0x00000100,
ITEM_BERSERKER = 0x00000101,
ITEM_RIGHT_ON = 0x00000102,
ITEM_RUNAWAY_PAY = 0x00000103,
ITEM_REFUND = 0x00000104,
ITEM_FLOWER_SAVER_A = 0x00000105,
ITEM_TRIPLE_DIP = 0x00000106,
ITEM_HAMMER_THROW = 0x00000107,
ITEM_MEGA_QUAKE = 0x00000108,
ITEM_SMASH_CHARGE = 0x00000109,
ITEM_BOOTS_CHARGE = 0x0000010A,
ITEM_S_SMASH_CHG = 0x0000010B,
ITEM_S_JUMP_CHG = 0x0000010C,
ITEM_POWER_RUSH = 0x0000010D,
ITEM_AUTO_JUMP = 0x0000010E,
ITEM_AUTO_SMASH = 0x0000010F,
ITEM_CRAZY_HEART = 0x00000110,
ITEM_LAST_STAND = 0x00000111,
ITEM_CLOSE_CALL = 0x00000112,
ITEM_P_UP_D_DOWN = 0x00000113,
ITEM_LUCKY_DAY = 0x00000114,
ITEM_MEGA_HP_DRAIN = 0x00000115,
ITEM_P_DOWN_D_UP = 0x00000116,
ITEM_POWER_QUAKE = 0x00000117,
ITEM_AUTO_MULTIBOUNCE = 0x00000118,
ITEM_FLOWER_FANATIC = 0x00000119,
ITEM_HEART_FINDER = 0x0000011A,
ITEM_FLOWER_FINDER = 0x0000011B,
ITEM_SPIN_ATTACK = 0x0000011C,
ITEM_DIZZY_ATTACK = 0x0000011D,
ITEM_I_SPY = 0x0000011E,
ITEM_SPEEDY_SPIN = 0x0000011F,
ITEM_BUMP_ATTACK = 0x00000120,
ITEM_POWER_JUMP = 0x00000121,
ITEM_SUPER_JUMP = 0x00000122,
ITEM_MEGA_JUMP = 0x00000123,
ITEM_POWER_SMASH1 = 0x00000124,
ITEM_SUPER_SMASH = 0x00000125,
ITEM_MEGA_SMASH = 0x00000126,
ITEM_POWER_SMASH2 = 0x00000127,
ITEM_POWER_SMASH3 = 0x00000128,
ITEM_DEEP_FOCUS1 = 0x00000129,
ITEM_SUPER_FOCUS = 0x0000012A,
ITEM_SHRINK_SMASH = 0x0000012B,
ITEM_SHELL_CRACK = 0x0000012C,
ITEM_KAIDEN = 0x0000012D,
ITEM_D_DOWN_JUMP = 0x0000012E,
ITEM_SHRINK_STOMP = 0x0000012F,
ITEM_DAMAGE_DODGE_A = 0x00000130,
ITEM_EARTHQUAKE_JUMP = 0x00000131,
ITEM_DEEP_FOCUS2 = 0x00000132,
ITEM_DEEP_FOCUS3 = 0x00000133,
ITEM_HP_PLUS_B = 0x00000134,
ITEM_FP_PLUS_B = 0x00000135,
ITEM_HAPPY_HEART_B = 0x00000136,
ITEM_HAPPY_HEART_X = 0x00000137,
ITEM_FLOWER_SAVER_B = 0x00000138,
ITEM_FLOWER_SAVER_X = 0x00000139,
ITEM_DAMAGE_DODGE_B = 0x0000013A,
ITEM_DAMAGE_DODGE_X = 0x0000013B,
ITEM_POWER_PLUS_B = 0x0000013C,
ITEM_POWER_PLUS_X = 0x0000013D,
ITEM_DEFEND_PLUS_X = 0x0000013E,
ITEM_DEFEND_PLUS_Y = 0x0000013F,
ITEM_HAPPY_FLOWER_A = 0x00000140,
ITEM_HAPPY_FLOWER_B = 0x00000141,
ITEM_HAPPY_FLOWER_X = 0x00000142,
ITEM_GROUP_FOCUS = 0x00000143,
ITEM_PEEKABOO = 0x00000144,
ITEM_ATTACK_FX_D = 0x00000145,
ITEM_ATTACK_FX_B = 0x00000146,
ITEM_ATTACK_FX_E = 0x00000147,
ITEM_ATTACK_FX_C = 0x00000148,
ITEM_ATTACK_FX_F = 0x00000149,
ITEM_HP_PLUS_C = 0x0000014A,
ITEM_HP_PLUS_X = 0x0000014B,
ITEM_HP_PLUS_Y = 0x0000014C,
ITEM_FP_PLUS_C = 0x0000014D,
ITEM_FP_PLUS_X = 0x0000014E,
ITEM_FP_PLUS_Y = 0x0000014F,
ITEM_HEALTHY_HEALTHY = 0x00000150,
ITEM_ATTACK_FX_F2 = 0x00000151,
ITEM_ATTACK_FX_F3 = 0x00000152,
ITEM_ATTACK_FX_F4 = 0x00000153,
ITEM_ATTACK_FX_F5 = 0x00000154,
ITEM_PARTNER_ATTACK = 0x00000155,
ITEM_HEART = 0x00000156,
ITEM_COIN = 0x00000157,
ITEM_HEART_PIECE = 0x00000158,
ITEM_STAR_POINT = 0x00000159,
ITEM_HEART_POINT = 0x0000015A,
ITEM_FLOWER_POINT = 0x0000015B,
ITEM_STAR_PIECE = 0x0000015C,
ITEM_PRESENT = 0x0000015D,
ITEM_CAKE_DONE = 0x0000015E,
ITEM_CAKE_BARE = 0x0000015F,
ITEM_CAKE_PAN = 0x00000160,
ITEM_CAKE_BATTER = 0x00000161,
ITEM_CAKE_BOWL = 0x00000162,
ITEM_CAKE_MIXED = 0x00000163,
ITEM_CAKE_WITH_ICING = 0x00000164,
ITEM_CAKE_WITH_BERRIES = 0x00000165,
ITEM_HAMMER1_ICON = 0x00000166,
ITEM_HAMMER2_ICON = 0x00000167,
ITEM_HAMMER3_ICON = 0x00000168,
ITEM_BOOTS1_ICON = 0x00000169,
ITEM_BOOTS2_ICON = 0x0000016A,
ITEM_BOOTS3_ICON = 0x0000016B,
ITEM_ITEMS_ICON = 0x0000016C,
};
#define LOOKUP_ITEM(itemID) gItemTable[itemID & ~0xF0000]
// item ranges:
// 001 - 007 = gear (hammer/boots)
// 008 - 00F = 'quest' items
// 010 - 07F = keys
// 080 - 0DA = consumables
// 0DB - 0DF = unused
// 0E0 - 154 badges
// 155+ misc (collectables, utility items for menu purposes, etc)
#define ITEM_FIRST_KEY ITEM_KOOPA_FORTRESS_KEY
#define ITEM_LAST_KEY ITEM_PRISON_KEY4
#define ITEM_FIRST_CONSUMABLE ITEM_FIRE_FLOWER
#define ITEM_LAST_CONSUMABLE ITEM_JELLY_SHROOM1
#define ITEM_FIRST_BADGE ITEM_SPIN_SMASH
#define ITEM_LAST_BADGE ITEM_ATTACK_FX_F5
#define ITEM_NUM_KEYS (ITEM_LAST_KEY - ITEM_FIRST_KEY + 1)
#define ITEM_NUM_CONSUMABLES (ITEM_LAST_CONSUMABLE - ITEM_FIRST_CONSUMABLE + 1)
#define IS_ITEM(itemID) (itemID >= ITEM_FIRST_KEY && itemID <= ITEM_LAST_CONSUMABLE)
#define IS_BADGE(itemID) (itemID >= ITEM_FIRST_BADGE && itemID <= ITEM_LAST_BADGE)
#include "item_enum.h"
// used for chest and give item events
enum GotItemType {
@ -3799,213 +3413,7 @@ enum EffectGfxDataFlags {
FX_GRAPHICS_CAN_FREE = 0x00000002,
};
enum MoveIDs {
MOVE_NONE = 0x00000000,
MOVE_UNUSED_01 = 0x00000001,
MOVE_UNUSED_02 = 0x00000002,
MOVE_HAMMER1 = 0x00000003,
MOVE_HAMMER2 = 0x00000004,
MOVE_HAMMER3 = 0x00000005,
MOVE_UNUSED_HAMMER4 = 0x00000006,
MOVE_UNUSED_HAMMER5 = 0x00000007,
MOVE_SPIN_SMASH = 0x00000008,
MOVE_QUAKE_HAMMER = 0x00000009,
MOVE_D_DOWN_POUND = 0x0000000A,
MOVE_SMASH_CHARGE0 = 0x0000000B,
MOVE_UNUSED_HAMMER_0C = 0x0000000C,
MOVE_HAMMER_THROW = 0x0000000D,
MOVE_MEGA_QUAKE = 0x0000000E,
MOVE_SMASH_CHARGE = 0x0000000F,
MOVE_UNUSED_HAMMER_10 = 0x00000010,
MOVE_SUPER_SMASH_CHARGE = 0x00000011,
MOVE_UNUSED_HAMMER_12 = 0x00000012,
MOVE_AUTO_SMASH = 0x00000013,
MOVE_POWER_QUAKE = 0x00000014,
MOVE_POWER_SMASH = 0x00000015,
MOVE_SUPER_SMASH = 0x00000016,
MOVE_MEGA_SMASH = 0x00000017,
MOVE_SHRINK_SMASH = 0x00000018,
MOVE_SHELL_CRACK = 0x00000019,
MOVE_JUMP1 = 0x0000001A,
MOVE_JUMP2 = 0x0000001B,
MOVE_JUMP3 = 0x0000001C,
MOVE_UNUSED_JUMP4 = 0x0000001D,
MOVE_UNUSED_JUMP5 = 0x0000001E,
MOVE_MULTIBOUNCE = 0x0000001F,
MOVE_POWER_BOUNCE = 0x00000020,
MOVE_SLEEP_STOMP = 0x00000021,
MOVE_DIZZY_STOMP = 0x00000022,
MOVE_JUMP_CHARGE0 = 0x00000023,
MOVE_UNUSED_24 = 0x00000024,
MOVE_JUMP_CHARGE = 0x00000025,
MOVE_UNUSED_26 = 0x00000026,
MOVE_SUPER_JUMP_CHARGE = 0x00000027,
MOVE_UNUSED_28 = 0x00000028,
MOVE_AUTO_JUMP = 0x00000029,
MOVE_AUTO_MULTIBOUNCE = 0x0000002A,
MOVE_POWER_JUMP = 0x0000002B,
MOVE_SUPER_JUMP = 0x0000002C,
MOVE_MEGA_JUMP = 0x0000002D,
MOVE_D_DOWN_JUMP = 0x0000002E,
MOVE_SHRINK_STOMP = 0x0000002F,
MOVE_EARTHQUAKE_JUMP = 0x00000030,
MOVE_UNUSED_DEFEND_PLUS = 0x00000031,
MOVE_UNUSED_32 = 0x00000032,
MOVE_DAMAGE_DODGE = 0x00000033,
MOVE_ITEMS = 0x00000034,
MOVE_DOUBLE_DIP = 0x00000035,
MOVE_TRIPLE_DIP = 0x00000036,
MOVE_UNUSED_37 = 0x00000037,
MOVE_QUICK_CHANGE = 0x00000038,
MOVE_UNUSED_39 = 0x00000039,
MOVE_UNUSED_3A = 0x0000003A,
MOVE_POWER_PLUS = 0x0000003B,
MOVE_ALLOR_NOTHING = 0x0000003C,
MOVE_ICE_POWER = 0x0000003D,
MOVE_P_UP_D_DOWN = 0x0000003E,
MOVE_UNUSED_3F = 0x0000003F,
MOVE_SPIKE_SHIELD = 0x00000040,
MOVE_FIRE_SHIELD = 0x00000041,
MOVE_PRETTY_LUCKY = 0x00000042,
MOVE_FEELING_FINE = 0x00000043,
MOVE_ZAP_TAP = 0x00000044,
MOVE_DEFEND_PLUS = 0x00000045,
MOVE_LAST_STAND = 0x00000046,
MOVE_CLOSE_CALL = 0x00000047,
MOVE_LUCKY_DAY = 0x00000048,
MOVE_P_DOWN_D_UP = 0x00000049,
MOVE_HEALTHY_HEALTHY = 0x0000004A,
MOVE_UNUSED_4B = 0x0000004B,
MOVE_DODGE_MASTER = 0x0000004C,
MOVE_FIRST_ATTACK = 0x0000004D,
MOVE_SLOW_GO = 0x0000004E,
MOVE_RIGHT_ON = 0x0000004F,
MOVE_BUMP_ATTACK = 0x00000050,
MOVE_UNUSED_51 = 0x00000051,
MOVE_HP_PLUS = 0x00000052,
MOVE_MYSTERY_SCROLL = 0x00000053,
MOVE_ATTACK_FX_A = 0x00000054,
MOVE_ATTACK_FX_D = 0x00000055,
MOVE_ATTACK_FX_B = 0x00000056,
MOVE_ATTACK_FX_E = 0x00000057,
MOVE_ATTACK_FX_C = 0x00000058,
MOVE_ATTACK_FX_F = 0x00000059,
MOVE_HP_DRAIN = 0x0000005A,
MOVE_FP_PLUS = 0x0000005B,
MOVE_MONEY_MONEY = 0x0000005C,
MOVE_CHILL_OUT_BADGE = 0x0000005D,
MOVE_HAPPY_HEART = 0x0000005E,
MOVE_MEGA_RUSH = 0x0000005F,
MOVE_BERSERKER = 0x00000060,
MOVE_RUNAWAY_PAY = 0x00000061,
MOVE_FLOWER_SAVER = 0x00000062,
MOVE_PAY_OFF = 0x00000063,
MOVE_POWER_RUSH = 0x00000064,
MOVE_CRAZY_HEART = 0x00000065,
MOVE_MEGA_HP_DRAIN = 0x00000066,
MOVE_FLOWER_FANATIC = 0x00000067,
MOVE_HEART_FINDER = 0x00000068,
MOVE_FLOWER_FINDER = 0x00000069,
MOVE_SPIN_ATTACK = 0x0000006A,
MOVE_DIZZY_ATTACK = 0x0000006B,
MOVE_I_SPY = 0x0000006C,
MOVE_SPEEDY_SPIN = 0x0000006D,
MOVE_REFUND = 0x0000006E,
MOVE_UNUSED_FINAL_GOOMPA = 0x0000006F,
MOVE_UNUSED_FINAL_BOBOMB = 0x00000070,
MOVE_DEEP_FOCUS = 0x00000071,
MOVE_SUPER_FOCUS = 0x00000072,
MOVE_KAIDEN = 0x00000073,
MOVE_HAPPY_FLOWER = 0x00000074,
MOVE_GROUP_FOCUS = 0x00000075,
MOVE_PEEKABOO = 0x00000076,
MOVE_FOCUS = 0x00000077,
MOVE_REFRESH = 0x00000078,
MOVE_LULLABY = 0x00000079,
MOVE_STAR_STORM = 0x0000007A,
MOVE_CHILL_OUT_MOVE = 0x0000007B,
MOVE_SMOOCH = 0x0000007C,
MOVE_TIME_OUT = 0x0000007D,
MOVE_UP_AND_AWAY = 0x0000007E,
MOVE_STAR_BEAM = 0x0000007F,
MOVE_PEACH_BEAM = 0x00000080,
MOVE_PEACH_FOCUS = 0x00000081,
MOVE_TWINK_DASH = 0x00000082,
// Goombario moves
MOVE_HEADBONK1 = 0x00000083,
MOVE_HEADBONK2 = 0x00000084,
MOVE_HEADBONK3 = 0x00000085,
MOVE_TATTLE = 0x00000086,
MOVE_CHARGE = 0x00000087,
MOVE_MULTIBONK = 0x00000088,
// Kooper moves
MOVE_SHELL_TOSS1 = 0x00000089,
MOVE_SHELL_TOSS2 = 0x0000008A,
MOVE_SHELL_TOSS3 = 0x0000008B,
MOVE_POWER_SHELL = 0x0000008C,
MOVE_DIZZY_SHELL = 0x0000008D,
MOVE_FIRE_SHELL = 0x0000008E,
// Bombette moves
MOVE_BODY_SLAM1 = 0x0000008F,
MOVE_BODY_SLAM2 = 0x00000090,
MOVE_BODY_SLAM3 = 0x00000091,
MOVE_BOMB = 0x00000092,
MOVE_POWER_BOMB = 0x00000093,
MOVE_MEGA_BOMB = 0x00000094,
// Parakarry moves
MOVE_SKY_DIVE1 = 0x00000095,
MOVE_SKY_DIVE2 = 0x00000096,
MOVE_SKY_DIVE3 = 0x00000097,
MOVE_SHELL_SHOT = 0x00000098,
MOVE_AIR_LIFT = 0x00000099,
MOVE_AIR_RAID = 0x0000009A,
// Goompa moves
MOVE_UNUSED_LONE_FOOL1 = 0x0000009B,
MOVE_UNUSED_LONE_FOOL2 = 0x0000009C,
MOVE_UNUSED_LONE_FOOL3 = 0x0000009D,
MOVE_UNUSED_MUMBLE = 0x0000009E,
MOVE_UNUSED_PREACH = 0x0000009F,
MOVE_UNUSED_AWAKENING = 0x000000A0,
// Watt moves
MOVE_ELECTRO_DASH1 = 0x000000A1,
MOVE_ELECTRO_DASH2 = 0x000000A2,
MOVE_ELECTRO_DASH3 = 0x000000A3,
MOVE_POWER_SHOCK = 0x000000A4,
MOVE_TURBO_CHARGE = 0x000000A5,
MOVE_MEGA_SHOCK = 0x000000A6,
// Sushie moves
MOVE_BELLY_FLOP1 = 0x000000A7,
MOVE_BELLY_FLOP2 = 0x000000A8,
MOVE_BELLY_FLOP3 = 0x000000A9,
MOVE_SQUIRT = 0x000000AA,
MOVE_WATER_BLOCK = 0x000000AB,
MOVE_TIDAL_WAVE = 0x000000AC,
// Lakilester moves
MOVE_SPINY_FLIP1 = 0x000000AD,
MOVE_SPINY_FLIP2 = 0x000000AE,
MOVE_SPINY_FLIP3 = 0x000000AF,
MOVE_SPINY_SURGE = 0x000000B0,
MOVE_CLOUD_NINE = 0x000000B1,
MOVE_HURRICANE = 0x000000B2,
// Bow moves
MOVE_SMACK1 = 0x000000B3,
MOVE_SMACK2 = 0x000000B4,
MOVE_SMACK3 = 0x000000B5,
MOVE_OUTTA_SIGHT = 0x000000B6,
MOVE_SPOOK = 0x000000B7,
MOVE_FAN_SMACK = 0x000000B8,
};
#define STAR_POWER_INDEX(x) (x - MOVE_FOCUS)
#include "move_enum.h"
enum GameModeIDs {
GAME_MODE_STARTUP = 0x00000000,

View File

@ -19,11 +19,95 @@ enum {
#define is_Loop ITEM_SCRIPT_OP_Loop,
#define is_RandomRestart(max, cutoff) ITEM_SCRIPT_OP_RandomRestart, max, cutoff,
#define STANDARD_ITEM_SCRIPT(icon) \
// item entity script templates used to generate scripts via src/item_entity_scripts.yaml
#define IES_TEMPLATE_STANDARD(icon) \
{ \
is_SetIcon(60, icon) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_BASIC(icon) \
{ \
is_SetIcon(255, icon) \
is_End \
}
#define IES_TEMPLATE_HEART() \
{ \
is_SetIcon(10, anim_heart_0) \
is_SetIcon(6, anim_heart_1) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_COIN() \
{ \
is_Loop \
is_SetIcon(3, anim_coin_0) \
is_SetIcon(3, anim_coin_1) \
is_SetIcon(3, anim_coin_4) \
is_SetIcon(3, anim_coin_5) \
is_SetIcon(3, anim_coin_6) \
is_SetIcon(3, anim_coin_7) \
is_SetIcon(3, anim_coin_8) \
is_SetIcon(3, anim_coin_9) \
is_RandomRestart(100, 50) \
is_SetIcon(3, anim_coin_0) \
is_SetIcon(2, anim_coin_1) \
is_SetIcon(1, anim_coin_2) \
is_SetIcon(1, anim_coin_3) \
is_SetIcon(2, anim_coin_4) \
is_SetIcon(3, anim_coin_5) \
is_SetIcon(3, anim_coin_6) \
is_SetIcon(3, anim_coin_7) \
is_SetIcon(3, anim_coin_8) \
is_SetIcon(3, anim_coin_9) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_SP() \
{ \
is_SetIcon(2, anim_sp_0) \
is_SetIcon(2, anim_sp_1) \
is_SetIcon(2, anim_sp_2) \
is_SetIcon(2, anim_sp_3) \
is_SetIcon(2, anim_sp_4) \
is_SetIcon(2, anim_sp_5) \
is_SetIcon(2, anim_sp_6) \
is_SetIcon(2, anim_sp_7) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_HP() \
{ \
is_SetIcon(8, anim_hp_0) \
is_SetIcon(5, anim_hp_1) \
is_SetIcon(8, anim_hp_2) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_FP() \
{ \
is_SetIcon(8, anim_fp_0) \
is_SetIcon(5, anim_fp_1) \
is_SetIcon(8, anim_fp_2) \
is_Restart \
is_End \
}
#define IES_TEMPLATE_STAR_PIECE() \
{ \
is_SetIcon(12, anim_star_piece_0) \
is_SetIcon(4, anim_star_piece_1) \
is_SetIcon(12, anim_star_piece_2) \
is_SetIcon(4, anim_star_piece_1) \
is_Restart \
is_End \
}
#endif

View File

@ -1,337 +0,0 @@
// indices into gItemHudScripts for hud scripts used by the item table
#define HS_INDEX_HES_Item_SpicySoup 0x1
#define HS_INDEX_HES_Item_ApplePie 0x2
#define HS_INDEX_HES_Item_HoneyUltra 0x3
#define HS_INDEX_HES_Item_MapleUltra 0x4
#define HS_INDEX_HES_Item_JellyUltra 0x5
#define HS_INDEX_HES_Item_Koopasta 0x6
#define HS_INDEX_HES_Item_FriedShroom 0x7
#define HS_INDEX_HES_Item_ShroomCake 0x8
#define HS_INDEX_HES_Item_ShroomSteak 0x9
#define HS_INDEX_HES_Item_HotShroom 0xA
#define HS_INDEX_HES_Item_SweetShroom 0xB
#define HS_INDEX_HES_Item_HealthyJuice 0xC
#define HS_INDEX_HES_Item_BlandMeal 0xD
#define HS_INDEX_HES_Item_YummyMeal 0xE
#define HS_INDEX_HES_Item_DeluxeFeast 0xF
#define HS_INDEX_HES_Item_SpecialShake 0x10
#define HS_INDEX_HES_Item_BigCookie 0x11
#define HS_INDEX_HES_Item_Cake 0x12
#define HS_INDEX_HES_Item_Mistake 0x13
#define HS_INDEX_HES_Item_KoopaTea 0x14
#define HS_INDEX_HES_Item_HoneySuper 0x15
#define HS_INDEX_HES_Item_MapleSuper 0x16
#define HS_INDEX_HES_Item_JellySuper 0x17
#define HS_INDEX_HES_Item_Spaghetti 0x18
#define HS_INDEX_HES_Item_EggMissile 0x19
#define HS_INDEX_HES_Item_FriedEgg 0x1A
#define HS_INDEX_HES_Item_HoneyShroom 0x1B
#define HS_INDEX_HES_Item_HoneyCandy 0x1C
#define HS_INDEX_HES_Item_ElectroPop 0x1D
#define HS_INDEX_HES_Item_FirePop 0x1E
#define HS_INDEX_HES_Item_LimeCandy 0x1F
#define HS_INDEX_HES_Item_CocoPop 0x20
#define HS_INDEX_HES_Item_LemonCandy 0x21
#define HS_INDEX_HES_Item_JellyPop 0x22
#define HS_INDEX_HES_Item_StrangeCake 0x23
#define HS_INDEX_HES_Item_KookyCookie 0x24
#define HS_INDEX_HES_Item_FrozenFries 0x25
#define HS_INDEX_HES_Item_PotatoSalad 0x26
#define HS_INDEX_HES_Item_NuttyCake 0x27
#define HS_INDEX_HES_Item_MapleShroom 0x28
#define HS_INDEX_HES_Item_BoiledEgg 0x29
#define HS_INDEX_HES_Item_YoshiCookie 0x2A
#define HS_INDEX_HES_Item_JellyShroom 0x2B
#define HS_INDEX_HES_Item_Unused_02C 0x2C
#define HS_INDEX_HES_Item_Unused_02D 0x2D
#define HS_INDEX_HES_Item_Unused_02E 0x2E
#define HS_INDEX_HES_Item_Unused_02F 0x2F
#define HS_INDEX_HES_Item_Unused_030 0x30
#define HS_INDEX_HES_Item_Heart 0x31
#define HS_INDEX_HES_Item_Coin 0x32
#define HS_INDEX_HES_Item_HeartPiece 0x33
#define HS_INDEX_HES_Item_StarPoint 0x34
#define HS_INDEX_HES_Item_HeartPoint 0x35
#define HS_INDEX_HES_Item_FlowerPoint 0x36
#define HS_INDEX_HES_Item_StarPiece 0x37
#define HS_INDEX_HES_Item_Jump 0x38
#define HS_INDEX_HES_Item_SpinJump 0x39
#define HS_INDEX_HES_Item_TornadoJump 0x3A
#define HS_INDEX_HES_Item_Hammer 0x3B
#define HS_INDEX_HES_Item_SuperHammer 0x3C
#define HS_INDEX_HES_Item_UltraHammer 0x3D
#define HS_INDEX_HES_Item_LuckyStar 0x3E
#define HS_INDEX_HES_Item_Map 0x3F
#define HS_INDEX_HES_Item_KoopaFortressKey 0x40
#define HS_INDEX_HES_Item_RuinsKey 0x41
#define HS_INDEX_HES_Item_TubbaCastleKey 0x42
#define HS_INDEX_HES_Item_CrystalPalaceKey 0x43
#define HS_INDEX_HES_Item_BowserCastleKey 0x44
#define HS_INDEX_HES_Item_Dolly 0x45
#define HS_INDEX_HES_Item_KooperShell 0x46
#define HS_INDEX_HES_Item_PulseStone 0x47
#define HS_INDEX_HES_Item_Artifact 0x48
#define HS_INDEX_HES_Item_VolcanoVase 0x49
#define HS_INDEX_HES_Item_PyramidStone 0x4A
#define HS_INDEX_HES_Item_DiamondStone 0x4B
#define HS_INDEX_HES_Item_LunarStone 0x4C
#define HS_INDEX_HES_Item_ForestPass 0x4D
#define HS_INDEX_HES_Item_BooRecordOutline 0x4E
#define HS_INDEX_HES_Item_BooRecord 0x4F
#define HS_INDEX_HES_Item_BooWeight 0x50
#define HS_INDEX_HES_Item_BooPortrait 0x51
#define HS_INDEX_HES_Item_MysticalKey 0x52
#define HS_INDEX_HES_Item_IronKey 0x53
#define HS_INDEX_HES_Item_ToyTrain 0x54
#define HS_INDEX_HES_Item_FryingPan 0x55
#define HS_INDEX_HES_Item_Dictionary 0x56
#define HS_INDEX_HES_Item_MysteryNote 0x57
#define HS_INDEX_HES_Item_SuspiciousNote 0x58
#define HS_INDEX_HES_Item_MagicalSeed1 0x59
#define HS_INDEX_HES_Item_MagicalSeed2 0x5A
#define HS_INDEX_HES_Item_MagicalSeed3 0x5B
#define HS_INDEX_HES_Item_MagicalSeed4 0x5C
#define HS_INDEX_HES_Item_CrystalBerry 0x5D
#define HS_INDEX_HES_Item_WaterStone 0x5E
#define HS_INDEX_HES_Item_MagicalBean 0x5F
#define HS_INDEX_HES_Item_FertileSoil 0x60
#define HS_INDEX_HES_Item_MiracleWater 0x61
#define HS_INDEX_HES_Item_UltraStone 0x62
#define HS_INDEX_HES_Item_ToadDoll 0x63
#define HS_INDEX_HES_Item_Calculator 0x64
#define HS_INDEX_HES_Item_Screwdriver 0x65
#define HS_INDEX_HES_Item_Cookbook 0x66
#define HS_INDEX_HES_Item_JadeRaven 0x67
#define HS_INDEX_HES_Item_SnowmanBucket 0x68
#define HS_INDEX_HES_Item_SnowmanScarf 0x69
#define HS_INDEX_HES_Item_RedKey 0x6A
#define HS_INDEX_HES_Item_BlueKey 0x6B
#define HS_INDEX_HES_Item_KootPackage 0x6C
#define HS_INDEX_HES_Item_KootRedJar 0x6D
#define HS_INDEX_HES_Item_Melody 0x6E
#define HS_INDEX_HES_Item_Lyrics 0x6F
#define HS_INDEX_HES_Item_Mailbag 0x70
#define HS_INDEX_HES_Item_StarStone 0x71
#define HS_INDEX_HES_Item_SneakyParasol 0x72
#define HS_INDEX_HES_Item_PeachKey 0x73
#define HS_INDEX_HES_Item_UNK_1DC210 0x74
#define HS_INDEX_HES_Item_UNK_1DC430 0x75
#define HS_INDEX_HES_Item_UNK_1DC650 0x76
#define HS_INDEX_HES_Item_UNK_1DC870 0x77
#define HS_INDEX_HES_Item_FirstDegreeCard 0x78
#define HS_INDEX_HES_Item_SecondDegreeCard 0x79
#define HS_INDEX_HES_Item_ThirdDegreeCard 0x7A
#define HS_INDEX_HES_Item_FourthDegreeCard 0x7B
#define HS_INDEX_HES_Item_Diploma 0x7C
#define HS_INDEX_HES_Item_CrystalBall 0x7D
#define HS_INDEX_HES_Item_GoldCredit 0x7E
#define HS_INDEX_HES_Item_SilverCredit 0x7F
#define HS_INDEX_HES_Item_KootKoopaLegends 0x80
#define HS_INDEX_HES_Item_KootTheTape 0x81
#define HS_INDEX_HES_Item_KootLuigiAutograph 0x82
#define HS_INDEX_HES_Item_KootEmptyWallet 0x83
#define HS_INDEX_HES_Item_KootMerluvleeAutograph 0x84
#define HS_INDEX_HES_Item_KootShell 0x85
#define HS_INDEX_HES_Item_KootPhoto 0x86
#define HS_INDEX_HES_Item_KootGlasses 0x87
#define HS_INDEX_HES_Item_Letter 0x88
#define HS_INDEX_HES_Item_Unused_089 0x89
#define HS_INDEX_HES_Item_Unused_08A 0x8A
#define HS_INDEX_HES_Item_Unused_08B 0x8B
#define HS_INDEX_HES_Item_Unused_08C 0x8C
#define HS_INDEX_HES_Item_Unused_08D 0x8D
#define HS_INDEX_HES_Item_Unused_08E 0x8E
#define HS_INDEX_HES_Item_Unused_08F 0x8F
#define HS_INDEX_HES_Item_SpinSmash 0x90
#define HS_INDEX_HES_Item_Multibounce 0x91
#define HS_INDEX_HES_Item_PowerPlus 0x92
#define HS_INDEX_HES_Item_DodgeMaster 0x93
#define HS_INDEX_HES_Item_PowerBounce 0x94
#define HS_INDEX_HES_Item_SpikeShield 0x95
#define HS_INDEX_HES_Item_FirstAttack 0x96
#define HS_INDEX_HES_Item_HPPlus 0x97
#define HS_INDEX_HES_Item_QuakeHammer 0x98
#define HS_INDEX_HES_Item_DoubleDip 0x99
#define HS_INDEX_HES_Item_PowerQuake 0x9A
#define HS_INDEX_HES_Item_MegaQuake 0x9B
#define HS_INDEX_HES_Item_SleepStomp 0x9C
#define HS_INDEX_HES_Item_SmashCharge 0x9D
#define HS_INDEX_HES_Item_SSmashChg 0x9E
#define HS_INDEX_HES_Item_AutoSmash 0x9F
#define HS_INDEX_HES_Item_FireShield 0xA0
#define HS_INDEX_HES_Item_JumpCharge 0xA1
#define HS_INDEX_HES_Item_SJumpChg 0xA2
#define HS_INDEX_HES_Item_AutoJump 0xA3
#define HS_INDEX_HES_Item_DDownPound 0xA4
#define HS_INDEX_HES_Item_AutoMultibounce 0xA5
#define HS_INDEX_HES_Item_DizzyStomp 0xA6
#define HS_INDEX_HES_Item_HammerThrow 0xA7
#define HS_INDEX_HES_Item_SmashCharge0 0xA8
#define HS_INDEX_HES_Item_PrettyLucky 0xA9
#define HS_INDEX_HES_Item_FeelingFine 0xAA
#define HS_INDEX_HES_Item_AttackFXA 0xAB
#define HS_INDEX_HES_Item_AllorNothing 0xAC
#define HS_INDEX_HES_Item_HPDrain 0xAD
#define HS_INDEX_HES_Item_JumpCharge0 0xAE
#define HS_INDEX_HES_Item_SlowGo 0xAF
#define HS_INDEX_HES_Item_FPPlus 0xB0
#define HS_INDEX_HES_Item_MegaRush 0xB1
#define HS_INDEX_HES_Item_IcePower 0xB2
#define HS_INDEX_HES_Item_DefendPlus 0xB3
#define HS_INDEX_HES_Item_PayOff 0xB4
#define HS_INDEX_HES_Item_MoneyMoney 0xB5
#define HS_INDEX_HES_Item_ChillOut 0xB6
#define HS_INDEX_HES_Item_HappyHeart 0xB7
#define HS_INDEX_HES_Item_ZapTap 0xB8
#define HS_INDEX_HES_Item_Berserker 0xB9
#define HS_INDEX_HES_Item_RightOn 0xBA
#define HS_INDEX_HES_Item_RunawayPay 0xBB
#define HS_INDEX_HES_Item_Refund 0xBC
#define HS_INDEX_HES_Item_FlowerSaver 0xBD
#define HS_INDEX_HES_Item_TripleDip 0xBE
#define HS_INDEX_HES_Item_FlowerFanatic 0xBF
#define HS_INDEX_HES_Item_PowerJump 0xC0
#define HS_INDEX_HES_Item_SuperJump 0xC1
#define HS_INDEX_HES_Item_MegaJump 0xC2
#define HS_INDEX_HES_Item_PowerSmash1 0xC3
#define HS_INDEX_HES_Item_SuperSmash 0xC4
#define HS_INDEX_HES_Item_MegaSmash 0xC5
#define HS_INDEX_HES_Item_LuckyDay 0xC6
#define HS_INDEX_HES_Item_MegaHPDrain 0xC7
#define HS_INDEX_HES_Item_BumpAttack 0xC8
#define HS_INDEX_HES_Item_PUpDDown 0xC9
#define HS_INDEX_HES_Item_PDownDUp 0xCA
#define HS_INDEX_HES_Item_HeartFinder 0xCB
#define HS_INDEX_HES_Item_FlowerFinder 0xCC
#define HS_INDEX_HES_Item_DizzyAttack 0xCD
#define HS_INDEX_HES_Item_SpeedySpin 0xCE
#define HS_INDEX_HES_Item_SpinAttack 0xCF
#define HS_INDEX_HES_Item_ISpy 0xD0
#define HS_INDEX_HES_Item_PowerRush 0xD1
#define HS_INDEX_HES_Item_LastStand 0xD2
#define HS_INDEX_HES_Item_CloseCall 0xD3
#define HS_INDEX_HES_Item_CrazyHeart 0xD4
#define HS_INDEX_HES_Item_Unused_0D5 0xD5
#define HS_INDEX_HES_Item_Unused_0D6 0xD6
#define HS_INDEX_HES_Item_Unused_0D7 0xD7
#define HS_INDEX_HES_Item_ShrinkSmash 0xD8
#define HS_INDEX_HES_Item_ShrinkStomp 0xD9
#define HS_INDEX_HES_Item_DDownJump 0xDA
#define HS_INDEX_HES_Item_DamageDodge 0xDB
#define HS_INDEX_HES_Item_EarthquakeJump 0xDC
#define HS_INDEX_HES_Item_HappyFlower 0xDD
#define HS_INDEX_HES_Item_Unused_0DE 0xDE
#define HS_INDEX_HES_Item_Unused_0DF 0xDF
#define HS_INDEX_HES_Item_DeepFocus 0xE0
#define HS_INDEX_HES_Item_SuperFocus 0xE1
#define HS_INDEX_HES_Item_Kaiden 0xE2
#define HS_INDEX_HES_Item_QuickChange 0xE3
#define HS_INDEX_HES_Item_Unused_0E4 0xE4
#define HS_INDEX_HES_Item_Unused_0E5 0xE5
#define HS_INDEX_HES_Item_Unused_0E6 0xE6
#define HS_INDEX_HES_Item_Unused_0E7 0xE7
#define HS_INDEX_HES_Item_Peekaboo 0xE8
#define HS_INDEX_HES_Item_GroupFocus 0xE9
#define HS_INDEX_HES_Item_AttackFXD 0xEA
#define HS_INDEX_HES_Item_AttackFXB 0xEB
#define HS_INDEX_HES_Item_AttackFXE 0xEC
#define HS_INDEX_HES_Item_AttackFXC 0xED
#define HS_INDEX_HES_Item_AttackFXF 0xEE
#define HS_INDEX_HES_Item_Unused_0EF 0xEF
#define HS_INDEX_HES_Item_HealthyHealthy 0xF0
#define HS_INDEX_HES_Item_Unused_0F1 0xF1
#define HS_INDEX_HES_Item_Unused_0F2 0xF2
#define HS_INDEX_HES_Item_Unused_0F3 0xF3
#define HS_INDEX_HES_Item_Unused_0F4 0xF4
#define HS_INDEX_HES_Item_Unused_0F5 0xF5
#define HS_INDEX_HES_Item_Unused_0F6 0xF6
#define HS_INDEX_HES_Item_Unused_0F7 0xF7
#define HS_INDEX_HES_Item_Mushroom 0xF8
#define HS_INDEX_HES_Item_SuperShroom 0xF9
#define HS_INDEX_HES_Item_UltraShroom 0xFA
#define HS_INDEX_HES_Item_LifeShroom 0xFB
#define HS_INDEX_HES_Item_DriedShroom 0xFC
#define HS_INDEX_HES_Item_TastyTonic 0xFD
#define HS_INDEX_HES_Item_SuperSoda 0xFE
#define HS_INDEX_HES_Item_BlueBerry 0xFF
#define HS_INDEX_HES_Item_RedBerry 0x100
#define HS_INDEX_HES_Item_YellowBerry 0x101
#define HS_INDEX_HES_Item_BubbleBerry 0x102
#define HS_INDEX_HES_Item_Goomnut 0x103
#define HS_INDEX_HES_Item_KoopaLeaf 0x104
#define HS_INDEX_HES_Item_DriedPasta 0x105
#define HS_INDEX_HES_Item_Lime 0x106
#define HS_INDEX_HES_Item_Lemon 0x107
#define HS_INDEX_HES_Item_DriedFruit 0x108
#define HS_INDEX_HES_Item_StrangeLeaf 0x109
#define HS_INDEX_HES_Item_CakeMix 0x10A
#define HS_INDEX_HES_Item_Egg 0x10B
#define HS_INDEX_HES_Item_Coconut 0x10C
#define HS_INDEX_HES_Item_Melon 0x10D
#define HS_INDEX_HES_Item_StinkyHerb 0x10E
#define HS_INDEX_HES_Item_IcedPotato 0x10F
#define HS_INDEX_HES_Item_HoneySyrup 0x110
#define HS_INDEX_HES_Item_MapleSyrup 0x111
#define HS_INDEX_HES_Item_JamminJelly 0x112
#define HS_INDEX_HES_Item_WhackasBump 0x113
#define HS_INDEX_HES_Item_Apple 0x114
#define HS_INDEX_HES_Item_BakingSalt 0x115
#define HS_INDEX_HES_Item_BakingSugar 0x116
#define HS_INDEX_HES_Item_BakingEgg 0x117
#define HS_INDEX_HES_Item_BakingCream 0x118
#define HS_INDEX_HES_Item_BakingStrawberry 0x119
#define HS_INDEX_HES_Item_BakingButter 0x11A
#define HS_INDEX_HES_Item_BakingCleanser 0x11B
#define HS_INDEX_HES_Item_BakingWater 0x11C
#define HS_INDEX_HES_Item_BakingFlour 0x11D
#define HS_INDEX_HES_Item_BakingMilk 0x11E
#define HS_INDEX_HES_Item_Unused_11F 0x11F
#define HS_INDEX_HES_Item_FireFlower 0x120
#define HS_INDEX_HES_Item_SnowmanDoll 0x121
#define HS_INDEX_HES_Item_ThunderRage 0x122
#define HS_INDEX_HES_Item_ThunderBolt 0x123
#define HS_INDEX_HES_Item_ShootingStar 0x124
#define HS_INDEX_HES_Item_DustyHammer 0x125
#define HS_INDEX_HES_Item_Pebble 0x126
#define HS_INDEX_HES_Item_Unused_127 0x127
#define HS_INDEX_HES_Item_StoneCap 0x128
#define HS_INDEX_HES_Item_VoltShroom 0x129
#define HS_INDEX_HES_Item_PowerStar 0x12A
#define HS_INDEX_HES_Item_Parasol 0x12B
#define HS_INDEX_HES_Item_MagicMirror 0x12C
#define HS_INDEX_HES_Item_Unused_12D 0x12D
#define HS_INDEX_HES_Item_Unused_12E 0x12E
#define HS_INDEX_HES_Item_Unused_12F 0x12F
#define HS_INDEX_HES_Item_SleepySheep 0x130
#define HS_INDEX_HES_Item_XBandage 0x131
#define HS_INDEX_HES_Item_POWBlock 0x132
#define HS_INDEX_HES_Item_HustleDrink 0x133
#define HS_INDEX_HES_Item_StopWatch 0x134
#define HS_INDEX_HES_Item_DizzyDial 0x135
#define HS_INDEX_HES_Item_Unused_136 0x136
#define HS_INDEX_HES_Item_Unused_137 0x137
#define HS_INDEX_HES_Item_PleaseComeBack 0x138
#define HS_INDEX_HES_Item_Unused_139 0x139
#define HS_INDEX_HES_Item_FrightJar 0x13A
#define HS_INDEX_HES_Item_Mystery 0x13B
#define HS_INDEX_HES_Item_RepelGel 0x13C
#define HS_INDEX_HES_Item_InsecticideHerb 0x13D
#define HS_INDEX_HES_Item_Unused_13E 0x13E
#define HS_INDEX_HES_Item_Unused_13F 0x13F
#define HS_INDEX_HES_Item_Present 0x140
#define HS_INDEX_HES_Item_CakeDone 0x141
#define HS_INDEX_HES_Item_CakeBare 0x142
#define HS_INDEX_HES_Item_CakePan 0x143
#define HS_INDEX_HES_Item_CakeBatter 0x144
#define HS_INDEX_HES_Item_CakeBowl 0x145
#define HS_INDEX_HES_Item_CakeMixed 0x146
#define HS_INDEX_HES_Item_CakeWithIcing 0x147
#define HS_INDEX_HES_Item_CakeWithBerries 0x148
#define HS_INDEX_HES_Item_PartnerAttack 0x149
#define HS_INDEX_HES_Item_Hammer1Icon 0x14A
#define HS_INDEX_HES_Item_Hammer2Icon 0x14B
#define HS_INDEX_HES_Item_Hammer3Icon 0x14C
#define HS_INDEX_HES_Item_Boots1Icon 0x14D
#define HS_INDEX_HES_Item_Boots2Icon 0x14E
#define HS_INDEX_HES_Item_Boots3Icon 0x14F
#define HS_INDEX_HES_Item_ItemsIcon 0x150

View File

@ -3825,15 +3825,15 @@ void btl_state_update_first_strike(void) {
switch (encounterStatus->hitType) {
case ENCOUNTER_TRIGGER_JUMP:
battleStatus->moveCategory = BTL_MENU_TYPE_JUMP;
battleStatus->selectedMoveID = MOVE_UNUSED_JUMP4;
battleStatus->selectedMoveID = MOVE_FIRST_STRIKE_JUMP;
battleStatus->moveArgument = encounterStatus->hitTier;
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_JUMP4].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_FIRST_STRIKE_JUMP].flags;
break;
case ENCOUNTER_TRIGGER_HAMMER:
battleStatus->moveCategory = BTL_MENU_TYPE_SMASH;
battleStatus->selectedMoveID = MOVE_UNUSED_HAMMER4;
battleStatus->selectedMoveID = MOVE_FIRST_STRIKE_HAMMER;
battleStatus->moveArgument = encounterStatus->hitTier;
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_HAMMER4].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_FIRST_STRIKE_HAMMER].flags;
break;
case ENCOUNTER_TRIGGER_PARTNER:
btl_set_state(BATTLE_STATE_PARTNER_FIRST_STRIKE);

View File

@ -26,9 +26,9 @@ BSS f32 D_8029EFB0;
BSS f32 D_8029EFB4;
BSS f32 D_8029EFB8;
BSS s32 D_8029EFBC;
BSS s32 D_8029EFC0[10];
BSS s32 D_8029EFE8[10];
BSS s32 D_8029F010[10];
BSS s32 BtlStarPointTensHIDs[10];
BSS s32 BtlStarPointShinesHIDs[10];
BSS s32 BtlStarPointOnesHIDs[10];
BSS PAL_BIN gTattleBgPalette[0x100];
extern HudScript HES_HPDigit0;
@ -204,20 +204,20 @@ void initialize_battle(void) {
D_8029EFBC = hud_element_create(&HES_HPBar);
hud_element_set_flags(D_8029EFBC, HUD_ELEMENT_FLAG_80);
for (i = 0; i < ARRAY_COUNT(D_8029EFC0); i++) {
hudElemID = D_8029EFC0[i] = hud_element_create(&HES_Item_StarPoint);
for (i = 0; i < ARRAY_COUNT(BtlStarPointTensHIDs); i++) {
hudElemID = BtlStarPointTensHIDs[i] = hud_element_create(&HES_Item_StarPoint);
hud_element_set_flags(hudElemID, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_render_depth(hudElemID, 20);
}
for (i = 0; i < ARRAY_COUNT(D_8029EFE8); i++) {
hudElemID = D_8029EFE8[i] = hud_element_create(&HES_StatusSPShine);
for (i = 0; i < ARRAY_COUNT(BtlStarPointShinesHIDs); i++) {
hudElemID = BtlStarPointShinesHIDs[i] = hud_element_create(&HES_StatusSPShine);
hud_element_set_flags(hudElemID, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_render_depth(hudElemID, 20);
}
for (i = 0; i < ARRAY_COUNT(D_8029F010); i++) {
hudElemID = D_8029F010[i] = hud_element_create(&HES_Item_SmallStarPoint);
for (i = 0; i < ARRAY_COUNT(BtlStarPointOnesHIDs); i++) {
hudElemID = BtlStarPointOnesHIDs[i] = hud_element_create(&HES_Item_SmallStarPoint);
hud_element_set_flags(hudElemID, HUD_ELEMENT_FLAG_80 | HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_render_depth(hudElemID, 20);
}
@ -1012,7 +1012,7 @@ void btl_update_starpoints_display(void) {
ones = battleStatus->totalStarPoints % 10;
for (i = 0; i < tens; i++) {
id = D_8029EFC0[i];
id = BtlStarPointTensHIDs[i];
if (hud_element_get_script(id) != &HES_Item_StarPoint) {
hud_element_set_script(id, &HES_Item_StarPoint);
}
@ -1020,7 +1020,7 @@ void btl_update_starpoints_display(void) {
hud_element_set_render_pos(id, posX, posY);
hud_element_draw_clipped(id);
id = D_8029EFE8[i];
id = BtlStarPointShinesHIDs[i];
if (hud_element_get_script(id) != &HES_StatusSPShine) {
hud_element_set_script(id, &HES_StatusSPShine);
}
@ -1030,9 +1030,9 @@ void btl_update_starpoints_display(void) {
posX -= (one * 20.0f);
}
for (; i < ARRAY_COUNT(D_8029EFC0); i++) {
hud_element_set_flags(D_8029EFC0[i], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(D_8029EFE8[i], HUD_ELEMENT_FLAG_DISABLED);
for (; i < ARRAY_COUNT(BtlStarPointTensHIDs); i++) {
hud_element_set_flags(BtlStarPointTensHIDs[i], HUD_ELEMENT_FLAG_DISABLED);
hud_element_set_flags(BtlStarPointShinesHIDs[i], HUD_ELEMENT_FLAG_DISABLED);
}
posX = D_8029DA40;
@ -1045,7 +1045,7 @@ void btl_update_starpoints_display(void) {
}
for (i = 0; i < ones; i++) {
id = D_8029F010[i];
id = BtlStarPointOnesHIDs[i];
if (hud_element_get_script(id) != &HES_Item_SmallStarPoint) {
hud_element_set_script(id, &HES_Item_SmallStarPoint);
}
@ -1055,8 +1055,8 @@ void btl_update_starpoints_display(void) {
posX -= one * 10.0f;
}
for (; i < ARRAY_COUNT(D_8029F010); i++) {
hud_element_set_flags(D_8029F010[i], HUD_ELEMENT_FLAG_DISABLED);
for (; i < ARRAY_COUNT(BtlStarPointOnesHIDs); i++) {
hud_element_set_flags(BtlStarPointOnesHIDs[i], HUD_ELEMENT_FLAG_DISABLED);
}
}
}

View File

@ -2683,13 +2683,13 @@ extern HudScript HES_CDownButton;
extern HudScript HES_CLeftButton;
extern HudScript HES_CRightButton;
extern HudScript HES_CUpButton;
extern HudScript HES_Item_Boots1;
extern HudScript HES_Item_Boots2;
extern HudScript HES_Item_Boots3;
extern HudScript HES_Item_Hammer1;
extern HudScript HES_Item_Hammer2;
extern HudScript HES_Item_Hammer3;
extern HudScript HES_Item_Items;
extern HudScript HES_Item_MenuBoots1;
extern HudScript HES_Item_MenuBoots2;
extern HudScript HES_Item_MenuBoots3;
extern HudScript HES_Item_MenuHammer1;
extern HudScript HES_Item_MenuHammer2;
extern HudScript HES_Item_MenuHammer3;
extern HudScript HES_Item_MenuItems;
extern HudScript HES_MashBButton2;
extern HudScript HES_MashCDownButton1;
extern HudScript HES_MashCLeftButton;
@ -3552,37 +3552,37 @@ void btl_update_message_popup(void* data) {
case 0:
switch (popup->messageIndex) {
case BTL_MSG_HAMMER_DISABLED_1:
D_8029F642 = hud_element_create(&HES_Item_Hammer1);
D_8029F642 = hud_element_create(&HES_Item_MenuHammer1);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_HAMMER_DISABLED_2:
D_8029F642 = hud_element_create(&HES_Item_Hammer2);
D_8029F642 = hud_element_create(&HES_Item_MenuHammer2);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_HAMMER_DISABLED_3:
D_8029F642 = hud_element_create(&HES_Item_Hammer3);
D_8029F642 = hud_element_create(&HES_Item_MenuHammer3);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_JUMP_DISABLED_1:
D_8029F642 = hud_element_create(&HES_Item_Boots1);
D_8029F642 = hud_element_create(&HES_Item_MenuBoots1);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_JUMP_DISABLED_2:
D_8029F642 = hud_element_create(&HES_Item_Boots2);
D_8029F642 = hud_element_create(&HES_Item_MenuBoots2);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_JUMP_DISABLED_3:
D_8029F642 = hud_element_create(&HES_Item_Boots3);
D_8029F642 = hud_element_create(&HES_Item_MenuBoots3);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;
case BTL_MSG_ITEMS_DISABLED:
D_8029F642 = hud_element_create(&HES_Item_Items);
D_8029F642 = hud_element_create(&HES_Item_MenuItems);
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
hud_element_set_render_pos(D_8029F642, -100, -100);
break;

View File

@ -1811,26 +1811,26 @@ EvtScript EVS_PlayerRegainAbility = {
EVT_SWITCH(LVarA)
EVT_CASE_EQ(2)
EVT_SET(LVarE, 0)
EVT_SET(LVarA, ITEM_ITEMS_ICON)
EVT_SET(LVarA, ITEM_MENU_ITEMS)
EVT_CASE_EQ(1)
EVT_SET(LVarE, 1)
EVT_SWITCH(LVarC)
EVT_CASE_EQ(0)
EVT_SET(LVarA, ITEM_HAMMER1_ICON)
EVT_SET(LVarA, ITEM_MENU_HAMMER1)
EVT_CASE_EQ(1)
EVT_SET(LVarA, ITEM_HAMMER2_ICON)
EVT_SET(LVarA, ITEM_MENU_HAMMER2)
EVT_CASE_EQ(2)
EVT_SET(LVarA, ITEM_HAMMER3_ICON)
EVT_SET(LVarA, ITEM_MENU_HAMMER3)
EVT_END_SWITCH
EVT_CASE_EQ(0)
EVT_SET(LVarE, 2)
EVT_SWITCH(LVarB)
EVT_CASE_EQ(0)
EVT_SET(LVarA, ITEM_BOOTS1_ICON)
EVT_SET(LVarA, ITEM_MENU_BOOTS1)
EVT_CASE_EQ(1)
EVT_SET(LVarA, ITEM_BOOTS2_ICON)
EVT_SET(LVarA, ITEM_MENU_BOOTS2)
EVT_CASE_EQ(2)
EVT_SET(LVarA, ITEM_BOOTS3_ICON)
EVT_SET(LVarA, ITEM_MENU_BOOTS3)
EVT_END_SWITCH
EVT_END_SWITCH
EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2)

View File

@ -88,7 +88,7 @@ extern HudScript HES_PeachBeam;
extern HudScript HES_PeachBeamDisabled;
extern HudScript HES_MoveDiamond;
extern HudScript HES_MoveDiamondDisabled;
extern HudScript HES_MoveDiamond_disabled;
extern HudScript HES_MoveBlueOrb;
extern HudScript HES_MoveBlueOrbDisabled;
extern HudScript HES_MoveGreenOrb;
@ -257,15 +257,15 @@ AnimID BattleMenu_PartnerIdleAnims[] = {
};
HudScript* battle_menu_PartnerMoveHudScripts[10][10] = {
[PARTNER_GOOMBARIO] { &HES_Goombario, &HES_GoombarioDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_KOOPER] { &HES_Kooper, &HES_KooperDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_BOMBETTE] { &HES_Bombette, &HES_BombetteDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_PARAKARRY] { &HES_Parakarry, &HES_ParakarryDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_GOOMPA] { &HES_Partner0, &HES_Partner0Disabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_WATT] { &HES_Watt, &HES_WattDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_SUSHIE] { &HES_Sushie, &HES_SushieDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_LAKILESTER] { &HES_Lakilester, &HES_LakilesterDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_BOW] { &HES_Bow, &HES_BowDisabled, &HES_MoveDiamond, &HES_MoveDiamondDisabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_GOOMBARIO] { &HES_Goombario, &HES_GoombarioDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_KOOPER] { &HES_Kooper, &HES_KooperDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_BOMBETTE] { &HES_Bombette, &HES_BombetteDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_PARAKARRY] { &HES_Parakarry, &HES_ParakarryDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_GOOMPA] { &HES_Partner0, &HES_Partner0Disabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_WATT] { &HES_Watt, &HES_WattDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_SUSHIE] { &HES_Sushie, &HES_SushieDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_LAKILESTER] { &HES_Lakilester, &HES_LakilesterDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
[PARTNER_BOW] { &HES_Bow, &HES_BowDisabled, &HES_MoveDiamond, &HES_MoveDiamond_disabled, &HES_MoveBlueOrb, &HES_MoveBlueOrbDisabled, &HES_MoveGreenOrb, &HES_MoveGreenOrbDisabled, &HES_MoveRedOrb, &HES_MoveRedOrbDisabled },
};
IconHudScriptPair battle_menu_PeachStarPowerHudScripts = { &HES_MenuStarPower, &HES_MenuStarPowerDisabled };
@ -3282,7 +3282,7 @@ void btl_state_update_player_menu(void) {
break;
case BTL_SUBSTATE_PLAYER_MENU_BERSERKER_1:
if (playerData->bootsLevel >= 0) {
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_JUMP5].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_JUMP].flags;
player_create_target_list(playerActor);
jumpTargetCount = playerActor->targetListLength;
} else {
@ -3290,7 +3290,7 @@ void btl_state_update_player_menu(void) {
}
if (playerData->hammerLevel >= 0) {
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_HAMMER5].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_HAMMER].flags;
player_create_target_list(playerActor);
hammerTargetCount = playerActor->targetListLength;
} else {
@ -3310,15 +3310,15 @@ void btl_state_update_player_menu(void) {
jumpChance = 101;
}
if (rand_int(100) < jumpChance) {
battleStatus->selectedMoveID = MOVE_UNUSED_JUMP5;
battleStatus->selectedMoveID = MOVE_BERSERKER_JUMP;
battleStatus->moveCategory = BTL_MENU_TYPE_JUMP;
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_JUMP5].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_JUMP].flags;
battleStatus->moveArgument = playerData->bootsLevel;
player_create_target_list(playerActor);
} else {
battleStatus->selectedMoveID = MOVE_UNUSED_HAMMER5;
battleStatus->selectedMoveID = MOVE_BERSERKER_HAMMER;
battleStatus->moveCategory = BTL_MENU_TYPE_SMASH;
battleStatus->curTargetListFlags = gMoveTable[MOVE_UNUSED_HAMMER5].flags;
battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_HAMMER].flags;
battleStatus->moveArgument = playerData->hammerLevel;
player_create_target_list(playerActor);
}

View File

@ -292,18 +292,7 @@ HudScript HES_HandPointLeftHeld = {
hs_End
};
#include "item_hud_scripts.inc.c"
//TODO padding
s32 pad_after_item_hudscripts[] = {
0x00000000, 0x00000000
};
#include "item_table.inc.c"
#include "item_hud_script_table.inc.c"
#include "item_entity_scripts.inc.c"
#include "item_data.inc.c"
//TODO split for partner popup menu data?
@ -460,7 +449,7 @@ IconHudScriptPair gPartnerIconHudScripts[] = {
{ .enabled = &HES_PartnerB, .disabled = &HES_PartnerBDisabled },
};
#include "move_table.inc.c"
#include "move_data.inc.c"
//TODO padding
s32 pad_after_move_table[] = {

View File

@ -82,17 +82,17 @@ EvtScript N(EVS_802A3348) = {
EVT_CASE_GT(FALSE)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(StartRumble, 7)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3))
EVT_END_THREAD
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(StartRumble, 8)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6))
EVT_END_THREAD
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(StartRumble, 9)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9))
@ -101,17 +101,17 @@ EvtScript N(EVS_802A3348) = {
EVT_CASE_DEFAULT
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(StartRumble, 7)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3))
EVT_END_THREAD
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(StartRumble, 8)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6))
EVT_END_THREAD
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(StartRumble, 9)
EVT_THREAD
EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9))
@ -130,11 +130,11 @@ EvtScript N(EVS_802A3348) = {
EVT_CASE_GT(FALSE)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HIT_NORMAL)
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E)
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E)
EVT_END_SWITCH
EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVarF, 48)
@ -142,11 +142,11 @@ EvtScript N(EVS_802A3348) = {
EVT_CASE_DEFAULT
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HIT_NORMAL)
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E)
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_10E)
EVT_END_SWITCH
EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVarE, 32)
@ -173,11 +173,11 @@ extern EvtScript N(EVS_802A3FD8);
EvtScript N(EVS_UseMove0) = {
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_EXEC_WAIT(N(EVS_802A3948))
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_EXEC_WAIT(N(EVS_802A3C90))
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_EXEC_WAIT(N(EVS_802A3FD8))
EVT_END_SWITCH
EVT_RETURN

View File

@ -97,21 +97,21 @@ EvtScript N(EVS_802A3168) = {
EVT_END_IF
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211B)
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211C)
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211D)
EVT_END_SWITCH
EVT_WAIT(10)
EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2)
EVT_SWITCH(LVar1)
EVT_CASE_EQ(ITEM_NONE)
EVT_CASE_EQ(0)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2118)
EVT_CASE_EQ(ITEM_BOOTS)
EVT_CASE_EQ(1)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_2119)
EVT_CASE_EQ(ITEM_SUPER_BOOTS)
EVT_CASE_EQ(2)
EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_211A)
EVT_END_SWITCH
EVT_SET(LVar9, 0)

View File

@ -47,55 +47,55 @@ extern EvtScript battle_move_shrink_stomp_EVS_UseMove;
extern EvtScript battle_move_earthquake_jump_EVS_UseMove;
BattleMoveEntry gMoveScriptTable[] = {
[MOVE_NONE] {},
[MOVE_UNUSED_01] {},
[MOVE_UNUSED_02] {},
[MOVE_HAMMER1] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_HAMMER2] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_HAMMER3] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_UNUSED_HAMMER4] BTL_MOVE(hammer_attack, EVS_UseMove1),
[MOVE_UNUSED_HAMMER5] BTL_MOVE(hammer_attack, EVS_UseMove2),
[MOVE_SPIN_SMASH] BTL_MOVE(spin_smash, EVS_UseMove),
[MOVE_QUAKE_HAMMER] BTL_MOVE(quake_hammer, EVS_UseMove0),
[MOVE_D_DOWN_POUND] BTL_MOVE(d_down_pound, EVS_UseMove),
[MOVE_SMASH_CHARGE0] BTL_MOVE(hammer_charge_0, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_0C] BTL_MOVE(hammer_charge_0, EVS_UseMove1),
[MOVE_HAMMER_THROW] BTL_MOVE(hammer_throw, EVS_UseMove),
[MOVE_MEGA_QUAKE] BTL_MOVE(mega_quake, EVS_UseMove),
[MOVE_SMASH_CHARGE] BTL_MOVE(hammer_charge_1, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_10] BTL_MOVE(hammer_charge_1, EVS_UseMove1),
[MOVE_SUPER_SMASH_CHARGE] BTL_MOVE(hammer_charge_2, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_12] BTL_MOVE(hammer_charge_2, EVS_UseMove1),
[MOVE_AUTO_SMASH] BTL_MOVE(auto_smash, EVS_UseMove),
[MOVE_POWER_QUAKE] BTL_MOVE(power_quake, EVS_UseMove),
[MOVE_POWER_SMASH] BTL_MOVE(power_smash, EVS_UseMove),
[MOVE_SUPER_SMASH] BTL_MOVE(super_smash, EVS_UseMove),
[MOVE_MEGA_SMASH] BTL_MOVE(mega_smash, EVS_UseMove),
[MOVE_SHRINK_SMASH] BTL_MOVE(shrink_smash, EVS_UseMove),
[MOVE_SHELL_CRACK] BTL_MOVE(shell_crack, EVS_UseMove),
[MOVE_JUMP1] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_JUMP2] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_JUMP3] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_UNUSED_JUMP4] BTL_MOVE(jump_attack, EVS_UseMove1),
[MOVE_UNUSED_JUMP5] BTL_MOVE(jump_attack, EVS_UseMove2),
[MOVE_MULTIBOUNCE] BTL_MOVE(multibounce, EVS_UseMove),
[MOVE_POWER_BOUNCE] BTL_MOVE(power_bounce, EVS_UseMove),
[MOVE_SLEEP_STOMP] BTL_MOVE(sleep_stomp, EVS_UseMove),
[MOVE_DIZZY_STOMP] BTL_MOVE(dizzy_stomp, EVS_UseMove),
[MOVE_JUMP_CHARGE0] BTL_MOVE(jump_charge_0, EVS_UseMove0),
[MOVE_UNUSED_24] BTL_MOVE(jump_charge_0, EVS_UseMove1),
[MOVE_JUMP_CHARGE] BTL_MOVE(jump_charge_1, EVS_UseMove0),
[MOVE_UNUSED_26] BTL_MOVE(jump_charge_1, EVS_UseMove1),
[MOVE_SUPER_JUMP_CHARGE] BTL_MOVE(jump_charge_2, EVS_UseMove0),
[MOVE_UNUSED_28] BTL_MOVE(jump_charge_2, EVS_UseMove1),
[MOVE_AUTO_JUMP] BTL_MOVE(auto_jump, EVS_UseMove),
[MOVE_AUTO_MULTIBOUNCE] BTL_MOVE(auto_multibounce, EVS_UseMove),
[MOVE_POWER_JUMP] BTL_MOVE(power_jump, EVS_UseMove),
[MOVE_SUPER_JUMP] BTL_MOVE(super_jump, EVS_UseMove),
[MOVE_MEGA_JUMP] BTL_MOVE(mega_jump, EVS_UseMove),
[MOVE_D_DOWN_JUMP] BTL_MOVE(d_down_jump, EVS_UseMove),
[MOVE_SHRINK_STOMP] BTL_MOVE(shrink_stomp, EVS_UseMove),
[MOVE_EARTHQUAKE_JUMP] BTL_MOVE(earthquake_jump, EVS_UseMove),
[MOVE_NONE] {},
[MOVE_UNUSED_01] {},
[MOVE_UNUSED_02] {},
[MOVE_HAMMER1] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_HAMMER2] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_HAMMER3] BTL_MOVE(hammer_attack, EVS_UseMove0),
[MOVE_FIRST_STRIKE_HAMMER] BTL_MOVE(hammer_attack, EVS_UseMove1),
[MOVE_BERSERKER_HAMMER] BTL_MOVE(hammer_attack, EVS_UseMove2),
[MOVE_SPIN_SMASH] BTL_MOVE(spin_smash, EVS_UseMove),
[MOVE_QUAKE_HAMMER] BTL_MOVE(quake_hammer, EVS_UseMove0),
[MOVE_D_DOWN_POUND] BTL_MOVE(d_down_pound, EVS_UseMove),
[MOVE_SMASH_CHARGE0] BTL_MOVE(hammer_charge_0, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_0C] BTL_MOVE(hammer_charge_0, EVS_UseMove1),
[MOVE_HAMMER_THROW] BTL_MOVE(hammer_throw, EVS_UseMove),
[MOVE_MEGA_QUAKE] BTL_MOVE(mega_quake, EVS_UseMove),
[MOVE_SMASH_CHARGE] BTL_MOVE(hammer_charge_1, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_10] BTL_MOVE(hammer_charge_1, EVS_UseMove1),
[MOVE_SUPER_SMASH_CHARGE] BTL_MOVE(hammer_charge_2, EVS_UseMove0),
[MOVE_UNUSED_HAMMER_12] BTL_MOVE(hammer_charge_2, EVS_UseMove1),
[MOVE_AUTO_SMASH] BTL_MOVE(auto_smash, EVS_UseMove),
[MOVE_POWER_QUAKE] BTL_MOVE(power_quake, EVS_UseMove),
[MOVE_POWER_SMASH] BTL_MOVE(power_smash, EVS_UseMove),
[MOVE_SUPER_SMASH] BTL_MOVE(super_smash, EVS_UseMove),
[MOVE_MEGA_SMASH] BTL_MOVE(mega_smash, EVS_UseMove),
[MOVE_SHRINK_SMASH] BTL_MOVE(shrink_smash, EVS_UseMove),
[MOVE_SHELL_CRACK] BTL_MOVE(shell_crack, EVS_UseMove),
[MOVE_JUMP1] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_JUMP2] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_JUMP3] BTL_MOVE(jump_attack, EVS_UseMove0),
[MOVE_FIRST_STRIKE_JUMP] BTL_MOVE(jump_attack, EVS_UseMove1),
[MOVE_BERSERKER_JUMP] BTL_MOVE(jump_attack, EVS_UseMove2),
[MOVE_MULTIBOUNCE] BTL_MOVE(multibounce, EVS_UseMove),
[MOVE_POWER_BOUNCE] BTL_MOVE(power_bounce, EVS_UseMove),
[MOVE_SLEEP_STOMP] BTL_MOVE(sleep_stomp, EVS_UseMove),
[MOVE_DIZZY_STOMP] BTL_MOVE(dizzy_stomp, EVS_UseMove),
[MOVE_JUMP_CHARGE0] BTL_MOVE(jump_charge_0, EVS_UseMove0),
[MOVE_UNUSED_24] BTL_MOVE(jump_charge_0, EVS_UseMove1),
[MOVE_JUMP_CHARGE] BTL_MOVE(jump_charge_1, EVS_UseMove0),
[MOVE_UNUSED_26] BTL_MOVE(jump_charge_1, EVS_UseMove1),
[MOVE_SUPER_JUMP_CHARGE] BTL_MOVE(jump_charge_2, EVS_UseMove0),
[MOVE_UNUSED_28] BTL_MOVE(jump_charge_2, EVS_UseMove1),
[MOVE_AUTO_JUMP] BTL_MOVE(auto_jump, EVS_UseMove),
[MOVE_AUTO_MULTIBOUNCE] BTL_MOVE(auto_multibounce, EVS_UseMove),
[MOVE_POWER_JUMP] BTL_MOVE(power_jump, EVS_UseMove),
[MOVE_SUPER_JUMP] BTL_MOVE(super_jump, EVS_UseMove),
[MOVE_MEGA_JUMP] BTL_MOVE(mega_jump, EVS_UseMove),
[MOVE_D_DOWN_JUMP] BTL_MOVE(d_down_jump, EVS_UseMove),
[MOVE_SHRINK_STOMP] BTL_MOVE(shrink_stomp, EVS_UseMove),
[MOVE_EARTHQUAKE_JUMP] BTL_MOVE(earthquake_jump, EVS_UseMove),
};
ApiStatus LoadMoveScript(Evt* script, s32 isInitialCall) {

View File

@ -1,27 +1,27 @@
#include "common.h"
s32 N(hammer_icons)[] = {
ITEM_HAMMER1_ICON,
ITEM_HAMMER2_ICON,
ITEM_HAMMER3_ICON
ITEM_MENU_HAMMER1,
ITEM_MENU_HAMMER2,
ITEM_MENU_HAMMER3,
};
s32 N(hammer_text)[] = {
BTL_MSG_HAMMER_DISABLED_1,
BTL_MSG_HAMMER_DISABLED_2,
BTL_MSG_HAMMER_DISABLED_3
BTL_MSG_HAMMER_DISABLED_3,
};
s32 N(jump_icons)[] = {
ITEM_BOOTS1_ICON,
ITEM_BOOTS2_ICON,
ITEM_BOOTS3_ICON
ITEM_MENU_BOOTS1,
ITEM_MENU_BOOTS2,
ITEM_MENU_BOOTS3,
};
s32 N(jump_text)[] = {
BTL_MSG_JUMP_DISABLED_1,
BTL_MSG_JUMP_DISABLED_2,
BTL_MSG_JUMP_DISABLED_3
BTL_MSG_JUMP_DISABLED_3,
};
API_CALLABLE(N(DisableRandomAbility)) {
@ -60,7 +60,7 @@ API_CALLABLE(N(DisableRandomAbility)) {
case 2:
battleStatus->itemLossTurns = turnsLost;
evt_set_variable(script, *args++, ITEM_ITEMS_ICON);
evt_set_variable(script, *args++, ITEM_MENU_ITEMS);
evt_set_variable(script, *args++, BTL_MSG_ITEMS_DISABLED);
break;
}

View File

@ -2560,7 +2560,7 @@ HudScript HES_MoveGreenOrb = HES_TEMPLATE_CI_ENUM_SIZE(ui_move_partner_2, 32, 32
HudScript HES_MoveRedOrb = HES_TEMPLATE_CI_ENUM_SIZE(ui_move_partner_3, 32, 32);
HudScript HES_MoveDiamondDisabled = HES_TEMPLATE_CI_ENUM_SIZE(ui_move_basic_disabled, 32, 32);
HudScript HES_MoveDiamond_disabled = HES_TEMPLATE_CI_ENUM_SIZE(ui_move_basic_disabled, 32, 32);
HudScript HES_MoveBlueOrbDisabled = HES_TEMPLATE_CI_ENUM_SIZE(ui_move_partner_1_disabled, 32, 32);

View File

@ -288,7 +288,9 @@ extern HudScript* wPartnerHudScripts[];
hs_End \
}
#define STANDARD_ITEM_HUD_SCRIPT(icon) \
// hud script templates used to generate scripts via src/item_hud_scripts.yaml
#define HES_TEMPLATE_STANDARD_ITEM(icon) \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
@ -298,6 +300,158 @@ extern HudScript* wPartnerHudScripts[];
hs_End \
}
#define HES_TEMPLATE_HEART_PIECE() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
hs_Loop \
hs_SetIcon(60, anim_heart_piece) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_HEART() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
hs_Loop \
hs_SetIcon(10, anim_heart_0) \
hs_SetIcon(6, anim_heart_1) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_STAR_POINT() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
hs_Loop \
hs_SetIcon(2, anim_sp_0) \
hs_SetIcon(2, anim_sp_1) \
hs_SetIcon(2, anim_sp_2) \
hs_SetIcon(2, anim_sp_3) \
hs_SetIcon(2, anim_sp_4) \
hs_SetIcon(2, anim_sp_5) \
hs_SetIcon(2, anim_sp_6) \
hs_SetIcon(2, anim_sp_7) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_SMALL_STAR_POINT() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_8x8) \
hs_Loop \
hs_SetIcon(2, anim_sp_small_0) \
hs_SetIcon(2, anim_sp_small_1) \
hs_SetIcon(2, anim_sp_small_2) \
hs_SetIcon(2, anim_sp_small_3) \
hs_SetIcon(2, anim_sp_small_4) \
hs_SetIcon(2, anim_sp_small_5) \
hs_SetIcon(2, anim_sp_small_6) \
hs_SetIcon(2, anim_sp_small_7) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_HEART_POINT() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
hs_Loop \
hs_SetIcon(8, anim_hp_0) \
hs_SetIcon(5, anim_hp_1) \
hs_SetIcon(8, anim_hp_2) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_FLOWER_POINT() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
hs_Loop \
hs_SetIcon(8, anim_fp_0) \
hs_SetIcon(5, anim_fp_1) \
hs_SetIcon(8, anim_fp_2) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_STAR_PIECE() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_32x32) \
hs_Loop \
hs_SetIcon(12, anim_star_piece_0) \
hs_SetIcon(4, anim_star_piece_1) \
hs_SetIcon(12, anim_star_piece_2) \
hs_SetIcon(4, anim_star_piece_1) \
hs_Restart \
hs_End \
}
#define HES_TEMPLATE_COIN() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_24x24) \
hs_Loop \
hs_op_15(0) \
hs_SetIcon(3, anim_coin_0) \
hs_SetIcon(3, anim_coin_1) \
hs_SetIcon(3, anim_coin_4) \
hs_SetIcon(3, anim_coin_5) \
hs_SetIcon(3, anim_coin_6) \
hs_SetIcon(3, anim_coin_7) \
hs_SetIcon(3, anim_coin_8) \
hs_SetIcon(3, anim_coin_9) \
hs_RandomRestart(100, 70) \
hs_op_15(1) \
hs_SetIcon(3, anim_coin_0) \
hs_SetIcon(2, anim_coin_1) \
hs_SetIcon(1, anim_coin_2) \
hs_SetIcon(1, anim_coin_3) \
hs_SetIcon(2, anim_coin_4) \
hs_SetIcon(3, anim_coin_5) \
hs_SetIcon(3, anim_coin_6) \
hs_SetIcon(3, anim_coin_7) \
hs_SetIcon(3, anim_coin_8) \
hs_SetIcon(3, anim_coin_9) \
hs_Restart \
hs_End \
}
#define HES_COIN_SPARKLE(dx, dy) \
{ \
hs_SetTexelOffset(dx, dy) \
hs_SetIcon(1, anim_shimmer_0) \
hs_SetIcon(1, anim_shimmer_1) \
hs_SetIcon(1, anim_shimmer_2) \
hs_SetIcon(2, anim_shimmer_6) \
hs_SetIcon(1, anim_shimmer_2) \
hs_SetIcon(1, anim_shimmer_3) \
hs_SetIcon(1, anim_shimmer_6) \
hs_SetIcon(1, anim_shimmer_4) \
hs_SetIcon(1, anim_shimmer_6) \
hs_SetIcon(1, anim_shimmer_5) \
hs_SetIcon(16, anim_shimmer_6) \
hs_End \
}
#define HES_TEMPLATE_COIN_SPARKLE() \
{ \
hs_SetVisible \
hs_SetTileSize(HUD_ELEMENT_SIZE_8x8) \
hs_RandomBranch( \
HS_PTR(HES_Item_CoinSparkleA), \
HS_PTR(HES_Item_CoinSparkleB), \
HS_PTR(HES_Item_CoinSparkleC), \
HS_PTR(HES_Item_CoinSparkleD), \
HS_PTR(HES_Item_CoinSparkleE)) \
hs_End \
}
void hud_element_load_script(HudElement* hudElement, HudScript* anim);
/// @param clamp 0 = repeat; 1 = clamp

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,336 @@
- { name: Placeholder, template: BASIC, icon: key/Gift }
- { name: Present, template: BASIC, icon: key/Gift }
- { name: CakeDone, template: BASIC, icon: key/CakeDone }
- { name: CakeBare, template: BASIC, icon: key/CakeBare }
- { name: CakePan, template: BASIC, icon: key/CakePan }
- { name: CakeBatter, template: BASIC, icon: key/CakeBatter }
- { name: CakeBowl, template: BASIC, icon: key/CakeBowl }
- { name: CakeMixed, template: BASIC, icon: key/CakeMixed }
- { name: CakeWithIcing, template: BASIC, icon: key/CakeWithIcing }
- { name: CakeWithBerries, template: BASIC, icon: key/CakeWithBerries }
- { name: MenuHammer1, template: BASIC, icon: menu/hammer_1 }
- { name: MenuHammer2, template: BASIC, icon: menu/hammer_2 }
- { name: MenuHammer3, template: BASIC, icon: menu/hammer_3 }
- { name: MenuBoots1, template: BASIC, icon: menu/boots_1 }
- { name: MenuBoots2, template: BASIC, icon: menu/boots_2 }
- { name: MenuBoots3, template: BASIC, icon: menu/boots_3 }
- { name: MenuItems, template: BASIC, icon: menu/items }
- { name: PleaseComeBack, template: STANDARD, icon: battle/PleaseComeBack }
- { name: ITEM_139, template: STANDARD, icon: battle/item_139 }
- { name: FrightJar, template: STANDARD, icon: battle/FrightJar }
- { name: Mystery, template: STANDARD, icon: battle/Mystery }
- { name: RepelGel, template: STANDARD, icon: battle/RepelGel }
- { name: InsecticideHerb, template: STANDARD, icon: battle/InsecticideHerb }
- { name: ITEM_13E, template: STANDARD, icon: battle/item_13E }
- { name: ITEM_13F, template: STANDARD, icon: battle/item_13F }
- { name: GearBoots1, template: STANDARD, icon: gear/boots_1 }
- { name: GearBoots2, template: STANDARD, icon: gear/boots_2 }
- { name: GearBoots3, template: STANDARD, icon: gear/boots_3 }
- { name: GearHammer1, template: STANDARD, icon: gear/hammer_1 }
- { name: GearHammer2, template: STANDARD, icon: gear/hammer_2 }
- { name: GearHammer3, template: STANDARD, icon: gear/hammer_3 }
- { name: LuckyStar, template: STANDARD, icon: gear/lucky_star }
- { name: Map, template: STANDARD, icon: key/map }
- { name: KoopaFortressKey, template: STANDARD, icon: key/key_koopa_fortress }
- { name: RuinsKey, template: STANDARD, icon: key/key_ruins }
- { name: TubbaCastleKey, template: STANDARD, icon: key/key_tubba_castle }
- { name: IcePalaceKey, template: STANDARD, icon: key/key_ice_palace }
- { name: BowserCastleKey, template: STANDARD, icon: key/key_bowser_castle }
- { name: Dolly, template: STANDARD, icon: key/dolly }
- { name: KooperShell, template: STANDARD, icon: key/kooper_shell }
- { name: PulseStone, template: STANDARD, icon: key/pulse_stone }
- { name: Artifact, template: STANDARD, icon: key/artifact }
- { name: AncientVase, template: STANDARD, icon: key/vase }
- { name: RuinsStonePyramid, template: STANDARD, icon: key/ruins_stone_pyramid }
- { name: RuinsStoneStar, template: STANDARD, icon: key/ruins_stone_star }
- { name: RuinsStoneMoon, template: STANDARD, icon: key/ruins_stone_moon }
- { name: ForestPass, template: STANDARD, icon: key/forest_pass }
- { name: BooRecordOutline, template: STANDARD, icon: key/boo_record_mask }
- { name: BooRecord, template: STANDARD, icon: key/boo_record }
- { name: BooWeight, template: STANDARD, icon: key/boo_weight }
- { name: BoosPortrait, template: STANDARD, icon: key/boo_portrait }
- { name: MysticKey, template: STANDARD, icon: key/mystic_key }
- { name: StoreroomKey, template: STANDARD, icon: key/key_storeroom }
- { name: ToyTrain, template: STANDARD, icon: key/toybox_train }
- { name: FryingPan, template: STANDARD, icon: key/frying_pan }
- { name: Dictionary, template: STANDARD, icon: key/dictionary }
- { name: MysteryNote, template: STANDARD, icon: key/mystery_note }
- { name: SuspiciousNote, template: STANDARD, icon: key/suspicious_note }
- { name: MagicalSeed1, template: STANDARD, icon: key/seed_1 }
- { name: MagicalSeed2, template: STANDARD, icon: key/seed_2 }
- { name: MagicalSeed3, template: STANDARD, icon: key/seed_3 }
- { name: MagicalSeed4, template: STANDARD, icon: key/seed_4 }
- { name: CrystalBerry, template: STANDARD, icon: key/crystal_berry }
- { name: WaterStone, template: STANDARD, icon: key/water_stone }
- { name: MagicalBean, template: STANDARD, icon: key/magic_bean }
- { name: FertileSoil, template: STANDARD, icon: key/fertile_soil }
- { name: MiracleWater, template: STANDARD, icon: key/miracle_water }
- { name: UltraStone, template: STANDARD, icon: key/ultra_stone }
- { name: ToadDoll, template: STANDARD, icon: key/toad_doll }
- { name: Calculator, template: STANDARD, icon: key/calculator }
- { name: Screwdriver, template: STANDARD, icon: key/screwdriver }
- { name: Cookbook, template: STANDARD, icon: key/book_cook }
- { name: JadeRaven, template: STANDARD, icon: key/jade_raven }
- { name: SnowmanBucket, template: STANDARD, icon: key/snowman_bucket }
- { name: SnowmanScarf, template: STANDARD, icon: key/snowman_scarf }
- { name: RedKey, template: STANDARD, icon: key/key_red }
- { name: BlueKey, template: STANDARD, icon: key/key_blue }
- { name: KootPackage, template: STANDARD, icon: key/koot_package }
- { name: KootRedJar, template: STANDARD, icon: key/koot_red_jar }
- { name: Melody, template: STANDARD, icon: key/book_melody }
- { name: Lyrics, template: STANDARD, icon: key/book_lyrics }
- { name: Mailbag, template: STANDARD, icon: key/mailbag }
- { name: StarStone, template: STANDARD, icon: key/star_stone }
- { name: SneakyParasol, template: STANDARD, icon: peach/sneaky_parasol }
- { name: PeachKey, template: STANDARD, icon: key/key_peach }
- { name: 1DC210, template: STANDARD, icon: key/1DC210 }
- { name: 1DC430, template: STANDARD, icon: key/1DC430 }
- { name: 1DC650, template: STANDARD, icon: key/1DC650 }
- { name: 1DC870, template: STANDARD, icon: key/1DC870 }
- { name: DojoCard1, template: STANDARD, icon: key/dojo_card_1 }
- { name: DojoCard2, template: STANDARD, icon: key/dojo_card_2 }
- { name: DojoCard3, template: STANDARD, icon: key/dojo_card_3 }
- { name: DojoCard4, template: STANDARD, icon: key/dojo_card_4 }
- { name: DojoCard5, template: STANDARD, icon: key/dojo_card_5 }
- { name: CrystalBall, template: STANDARD, icon: key/crystal_ball }
- { name: GoldCard, template: STANDARD, icon: key/card_gold }
- { name: SilverCard, template: STANDARD, icon: key/card_silver }
- { name: KootBook, template: STANDARD, icon: key/koot_book }
- { name: KootTheTape, template: STANDARD, icon: key/koot_the_tape }
- { name: KootAutographMerluvlee, template: STANDARD, icon: key/koot_autograph_luigi }
- { name: KootEmptyWallet, template: STANDARD, icon: key/koot_empty_wallet }
- { name: KootAutographLuigi, template: STANDARD, icon: key/koot_autograph_merluvlee }
- { name: KootKoopaShell, template: STANDARD, icon: key/koot_shell }
- { name: KootOldPhoto, template: STANDARD, icon: key/koot_photo }
- { name: KootGlasses, template: STANDARD, icon: key/koot_glasses }
- { name: Letter, template: STANDARD, icon: key/Letter }
- { name: Unused_089, template: STANDARD, icon: key/LongLetter }
- { name: Unused_08A, template: STANDARD, icon: key/TealLetter }
- { name: Unused_08B, template: STANDARD, icon: key/Postcard }
- { name: Unused_08C, template: STANDARD, icon: key/EmptyBook }
- { name: Unused_08D, template: STANDARD, icon: unused/item_08D }
- { name: Unused_08E, template: STANDARD, icon: unused/item_08E }
- { name: Unused_08F, template: STANDARD, icon: unused/item_08F }
- { name: SpinSmash, template: STANDARD, icon: badge/SpinSmash }
- { name: Multibounce, template: STANDARD, icon: badge/Multibounce }
- { name: PowerPlus, template: STANDARD, icon: badge/PowerPlus }
- { name: DodgeMaster, template: STANDARD, icon: badge/DodgeMaster }
- { name: PowerBounce, template: STANDARD, icon: badge/PowerBounce }
- { name: SpikeShield, template: STANDARD, icon: badge/SpikeShield }
- { name: FirstAttack, template: STANDARD, icon: badge/FirstAttack }
- { name: HPPlus, template: STANDARD, icon: badge/HPPlus }
- { name: QuakeHammer, template: STANDARD, icon: badge/QuakeHammer }
- { name: DoubleDip, template: STANDARD, icon: badge/DoubleDip }
- { name: PowerQuake, template: STANDARD, icon: badge/PowerQuake }
- { name: MegaQuake, template: STANDARD, icon: badge/MegaQuake }
- { name: SleepStomp, template: STANDARD, icon: badge/SleepStomp }
- { name: SmashCharge, template: STANDARD, icon: badge/SmashCharge }
- { name: SSmashChg, template: STANDARD, icon: badge/SSmashChg }
- { name: AutoSmash, template: STANDARD, icon: badge/AutoSmash }
- { name: FireShield, template: STANDARD, icon: badge/FireShield }
- { name: JumpCharge, template: STANDARD, icon: badge/JumpCharge }
- { name: SJumpChg, template: STANDARD, icon: badge/SJumpChg }
- { name: AutoJump, template: STANDARD, icon: badge/AutoJump }
- { name: DDownPound, template: STANDARD, icon: badge/DDownPound }
- { name: AutoMultibounce, template: STANDARD, icon: badge/AutoMultibounce }
- { name: DizzyStomp, template: STANDARD, icon: badge/DizzyStomp }
- { name: HammerThrow, template: STANDARD, icon: badge/HammerThrow }
- { name: SmashCharge0, template: STANDARD, icon: badge/SmashCharge0 }
- { name: PrettyLucky, template: STANDARD, icon: badge/PrettyLucky }
- { name: FeelingFine, template: STANDARD, icon: badge/FeelingFine }
- { name: AttackFXA, template: STANDARD, icon: badge/AttackFXA }
- { name: AllorNothing, template: STANDARD, icon: badge/AllorNothing }
- { name: HPDrain, template: STANDARD, icon: badge/HPDrain }
- { name: JumpCharge0, template: STANDARD, icon: badge/JumpCharge0 }
- { name: SlowGo, template: STANDARD, icon: badge/SlowGo }
- { name: FPPlus, template: STANDARD, icon: badge/FPPlus }
- { name: MegaRush, template: STANDARD, icon: badge/MegaRush }
- { name: IcePower, template: STANDARD, icon: badge/IcePower }
- { name: DefendPlus, template: STANDARD, icon: badge/DefendPlus }
- { name: PayOff, template: STANDARD, icon: badge/PayOff }
- { name: MoneyMoney, template: STANDARD, icon: badge/MoneyMoney }
- { name: ChillOut, template: STANDARD, icon: badge/ChillOut }
- { name: HappyHeart, template: STANDARD, icon: badge/HappyHeart }
- { name: ZapTap, template: STANDARD, icon: badge/ZapTap }
- { name: Berserker, template: STANDARD, icon: badge/Berserker }
- { name: RightOn, template: STANDARD, icon: badge/RightOn }
- { name: RunawayPay, template: STANDARD, icon: badge/RunawayPay }
- { name: Refund, template: STANDARD, icon: badge/Refund }
- { name: FlowerSaver, template: STANDARD, icon: badge/FlowerSaver }
- { name: TripleDip, template: STANDARD, icon: badge/TripleDip }
- { name: FlowerFanatic, template: STANDARD, icon: badge/FlowerFanatic }
- { name: PowerJump, template: STANDARD, icon: badge/PowerJump }
- { name: SuperJump, template: STANDARD, icon: badge/SuperJump }
- { name: MegaJump, template: STANDARD, icon: badge/MegaJump }
- { name: PowerSmash, template: STANDARD, icon: badge/PowerSmash }
- { name: SuperSmash, template: STANDARD, icon: badge/SuperSmash }
- { name: MegaSmash, template: STANDARD, icon: badge/MegaSmash }
- { name: LuckyDay, template: STANDARD, icon: badge/LuckyDay }
- { name: MegaHPDrain, template: STANDARD, icon: badge/MegaHPDrain }
- { name: BumpAttack, template: STANDARD, icon: badge/BumpAttack }
- { name: PUpDDown, template: STANDARD, icon: badge/PUpDDown }
- { name: PDownDUp, template: STANDARD, icon: badge/PDownDUp }
- { name: HeartFinder, template: STANDARD, icon: badge/HeartFinder }
- { name: FlowerFinder, template: STANDARD, icon: badge/FlowerFinder }
- { name: DizzyAttack, template: STANDARD, icon: badge/DizzyAttack }
- { name: SpeedySpin, template: STANDARD, icon: badge/SpeedySpin }
- { name: SpinAttack, template: STANDARD, icon: badge/SpinAttack }
- { name: ISpy, template: STANDARD, icon: badge/ISpy }
- { name: PowerRush, template: STANDARD, icon: badge/PowerRush }
- { name: LastStand, template: STANDARD, icon: badge/LastStand }
- { name: CloseCall, template: STANDARD, icon: badge/CloseCall }
- { name: CrazyHeart, template: STANDARD, icon: badge/CrazyHeart }
- { name: Unused_0D5, template: STANDARD, icon: unused/item_0D5 }
- { name: Unused_0D6, template: STANDARD, icon: unused/item_0D6 }
- { name: Unused_0D7, template: STANDARD, icon: unused/item_0D7 }
- { name: ShrinkSmash, template: STANDARD, icon: badge/ShrinkSmash }
- { name: ShrinkStomp, template: STANDARD, icon: badge/ShrinkStomp }
- { name: DDownJump, template: STANDARD, icon: badge/DDownJump }
- { name: DamageDodge, template: STANDARD, icon: badge/DamageDodge }
- { name: EarthquakeJump, template: STANDARD, icon: badge/EarthquakeJump }
- { name: HappyFlower, template: STANDARD, icon: badge/HappyFlower }
- { name: HappyCoin, template: STANDARD, icon: badge/HappyCoin }
- { name: Unused_0DF, template: STANDARD, icon: unused/item_0DF }
- { name: DeepFocus, template: STANDARD, icon: badge/DeepFocus }
- { name: SuperFocus, template: STANDARD, icon: badge/SuperFocus }
- { name: Kaiden, template: STANDARD, icon: badge/Kaiden }
- { name: QuickChange, template: STANDARD, icon: badge/QuickChange }
- { name: Unused_0E4, template: STANDARD, icon: unused/item_0E4 }
- { name: Unused_0E5, template: STANDARD, icon: unused/item_0E5 }
- { name: Unused_0E6, template: STANDARD, icon: unused/item_0E6 }
- { name: Unused_0E7, template: STANDARD, icon: unused/item_0E7 }
- { name: Peekaboo, template: STANDARD, icon: badge/Peekaboo }
- { name: GroupFocus, template: STANDARD, icon: badge/GroupFocus }
- { name: AttackFXD, template: STANDARD, icon: badge/AttackFXD }
- { name: AttackFXB, template: STANDARD, icon: badge/AttackFXB }
- { name: AttackFXE, template: STANDARD, icon: badge/AttackFXE }
- { name: AttackFXC, template: STANDARD, icon: badge/AttackFXC }
- { name: AttackFXF, template: STANDARD, icon: badge/AttackFXF }
- { name: Unused_0EF, template: STANDARD, icon: unused/item_0EF }
- { name: HealthyHealthy, template: STANDARD, icon: badge/HealthyHealthy }
- { name: Unused_0F1, template: STANDARD, icon: unused/item_0F1 }
- { name: Unused_0F2, template: STANDARD, icon: unused/item_0F2 }
- { name: Unused_0F3, template: STANDARD, icon: unused/item_0F3 }
- { name: Unused_0F4, template: STANDARD, icon: unused/item_0F4 }
- { name: Unused_0F5, template: STANDARD, icon: unused/item_0F5 }
- { name: Unused_0F6, template: STANDARD, icon: unused/item_0F6 }
- { name: Unused_0F7, template: STANDARD, icon: unused/item_0F7 }
- { name: Heart, template: HEART }
- { name: Coin, template: COIN }
- { name: HeartPiece, template: STANDARD, icon: anim/heart_piece }
- { name: StarPoint, template: SP }
- { name: HeartPoint, template: HP }
- { name: FlowerPoint, template: FP }
- { name: StarPiece, template: STAR_PIECE }
- { name: SpicySoup, template: STANDARD, icon: food/SpicySoup }
- { name: ApplePie, template: STANDARD, icon: food/ApplePie }
- { name: HoneyUltra, template: STANDARD, icon: food/HoneyUltra }
- { name: MapleUltra, template: STANDARD, icon: food/MapleUltra }
- { name: JellyUltra, template: STANDARD, icon: food/JellyUltra }
- { name: Koopasta, template: STANDARD, icon: food/Koopasta }
- { name: FriedShroom, template: STANDARD, icon: food/FriedShroom }
- { name: ShroomCake, template: STANDARD, icon: food/ShroomCake }
- { name: ShroomSteak, template: STANDARD, icon: food/ShroomSteak }
- { name: HotShroom, template: STANDARD, icon: food/HotShroom }
- { name: SweetShroom, template: STANDARD, icon: food/SweetShroom }
- { name: HealthyJuice, template: STANDARD, icon: food/HealthyJuice }
- { name: BlandMeal, template: STANDARD, icon: food/BlandMeal }
- { name: YummyMeal, template: STANDARD, icon: food/YummyMeal }
- { name: DeluxeFeast, template: STANDARD, icon: food/DeluxeFeast }
- { name: SpecialShake, template: STANDARD, icon: food/SpecialShake }
- { name: BigCookie, template: STANDARD, icon: food/BigCookie }
- { name: Cake, template: STANDARD, icon: food/Cake }
- { name: Mistake, template: STANDARD, icon: food/Mistake }
- { name: KoopaTea, template: STANDARD, icon: food/KoopaTea }
- { name: HoneySuper, template: STANDARD, icon: food/HoneySuper }
- { name: MapleSuper, template: STANDARD, icon: food/MapleSuper }
- { name: JellySuper, template: STANDARD, icon: food/JellySuper }
- { name: Spaghetti, template: STANDARD, icon: food/Spaghetti }
- { name: EggMissile, template: STANDARD, icon: food/EggMissile }
- { name: FriedEgg, template: STANDARD, icon: food/FriedEgg }
- { name: HoneyShroom, template: STANDARD, icon: food/HoneyShroom }
- { name: HoneyCandy, template: STANDARD, icon: food/HoneyCandy }
- { name: ElectroPop, template: STANDARD, icon: food/ElectroPop }
- { name: FirePop, template: STANDARD, icon: food/FirePop }
- { name: LimeCandy, template: STANDARD, icon: food/LimeCandy }
- { name: CocoPop, template: STANDARD, icon: food/CocoPop }
- { name: LemonCandy, template: STANDARD, icon: food/LemonCandy }
- { name: JellyPop, template: STANDARD, icon: food/JellyPop }
- { name: StrangeCake, template: STANDARD, icon: food/StrangeCake }
- { name: KookyCookie, template: STANDARD, icon: food/KookyCookie }
- { name: FrozenFries, template: STANDARD, icon: food/FrozenFries }
- { name: PotatoSalad, template: STANDARD, icon: food/PotatoSalad }
- { name: NuttyCake, template: STANDARD, icon: food/NuttyCake }
- { name: MapleShroom, template: STANDARD, icon: food/MapleShroom }
- { name: BoiledEgg, template: STANDARD, icon: food/BoiledEgg }
- { name: YoshiCookie, template: STANDARD, icon: food/YoshiCookie }
- { name: JellyShroom, template: STANDARD, icon: food/JellyShroom }
- { name: Unused_02C, template: STANDARD, icon: unused/item_02C }
- { name: Unused_02D, template: STANDARD, icon: unused/item_02D }
- { name: Unused_02E, template: STANDARD, icon: unused/item_02E }
- { name: Unused_02F, template: STANDARD, icon: unused/item_02F }
- { name: Unused_030, template: STANDARD, icon: unused/item_030 }
- { name: FireFlower, template: STANDARD, icon: battle/FireFlower }
- { name: SnowmanDoll, template: STANDARD, icon: battle/SnowmanDoll }
- { name: ThunderRage, template: STANDARD, icon: battle/ThunderRage }
- { name: ThunderBolt, template: STANDARD, icon: battle/ThunderBolt }
- { name: ShootingStar, template: STANDARD, icon: battle/ShootingStar }
- { name: DustyHammer, template: STANDARD, icon: battle/DustyHammer }
- { name: Pebble, template: STANDARD, icon: battle/Pebble }
- { name: ITEM_127, template: STANDARD, icon: unused/item_127 }
- { name: StoneCap, template: STANDARD, icon: battle/StoneCap }
- { name: VoltShroom, template: STANDARD, icon: battle/VoltShroom }
- { name: PowerStar, template: STANDARD, icon: battle/PowerStar }
- { name: Parasol, template: STANDARD, icon: battle/Parasol }
- { name: MagicMirror, template: STANDARD, icon: battle/MagicMirror }
- { name: ITEM_12D, template: STANDARD, icon: unused/item_12D }
- { name: ITEM_12E, template: STANDARD, icon: unused/item_12E }
- { name: ITEM_12F, template: STANDARD, icon: unused/item_12F }
- { name: Mushroom, template: STANDARD, icon: food/Mushroom }
- { name: SuperShroom, template: STANDARD, icon: food/SuperShroom }
- { name: UltraShroom, template: STANDARD, icon: food/UltraShroom }
- { name: LifeShroom, template: STANDARD, icon: food/LifeShroom }
- { name: DriedShroom, template: STANDARD, icon: food/DriedShroom }
- { name: TastyTonic, template: STANDARD, icon: food/TastyTonic }
- { name: SuperSoda, template: STANDARD, icon: food/SuperSoda }
- { name: BlueBerry, template: STANDARD, icon: food/BlueBerry }
- { name: RedBerry, template: STANDARD, icon: food/RedBerry }
- { name: YellowBerry, template: STANDARD, icon: food/YellowBerry }
- { name: BubbleBerry, template: STANDARD, icon: food/BubbleBerry }
- { name: Goomnut, template: STANDARD, icon: food/Goomnut }
- { name: KoopaLeaf, template: STANDARD, icon: food/KoopaLeaf }
- { name: DriedPasta, template: STANDARD, icon: food/DriedPasta }
- { name: Lime, template: STANDARD, icon: food/Lime }
- { name: Lemon, template: STANDARD, icon: food/Lemon }
- { name: DriedFruit, template: STANDARD, icon: food/DriedFruit }
- { name: StrangeLeaf, template: STANDARD, icon: food/StrangeLeaf }
- { name: CakeMix, template: STANDARD, icon: food/CakeMix }
- { name: Egg, template: STANDARD, icon: food/Egg }
- { name: Coconut, template: STANDARD, icon: food/Coconut }
- { name: Melon, template: STANDARD, icon: food/Melon }
- { name: StinkyHerb, template: STANDARD, icon: food/StinkyHerb }
- { name: IcedPotato, template: STANDARD, icon: food/IcedPotato }
- { name: HoneySyrup, template: STANDARD, icon: food/HoneySyrup }
- { name: MapleSyrup, template: STANDARD, icon: food/MapleSyrup }
- { name: JamminJelly, template: STANDARD, icon: food/JamminJelly }
- { name: WhackasBump, template: STANDARD, icon: food/WhackasBump }
- { name: Apple, template: STANDARD, icon: food/Apple }
- { name: BakingSalt, template: STANDARD, icon: peach/BakingSalt }
- { name: BakingSugar, template: STANDARD, icon: peach/BakingSugar }
- { name: BakingEgg, template: STANDARD, icon: peach/BakingEgg }
- { name: BakingCream, template: STANDARD, icon: peach/BakingCream }
- { name: BakingStrawberry, template: STANDARD, icon: peach/BakingStrawberry }
- { name: BakingButter, template: STANDARD, icon: peach/BakingButter }
- { name: BakingCleanser, template: STANDARD, icon: peach/BakingCleanser }
- { name: BakingWater, template: STANDARD, icon: peach/BakingWater }
- { name: BakingFlour, template: STANDARD, icon: peach/BakingFlour }
- { name: BakingMilk, template: STANDARD, icon: peach/BakingMilk }
- { name: ITEM_11F, template: STANDARD, icon: unused/item_11F }
- { name: SleepySheep, template: STANDARD, icon: battle/SleepySheep }
- { name: XBandage, template: STANDARD, icon: battle/XBandage }
- { name: POWBlock, template: STANDARD, icon: battle/POWBlock }
- { name: HustleDrink, template: STANDARD, icon: battle/HustleDrink }
- { name: StopWatch, template: STANDARD, icon: battle/StopWatch }
- { name: DizzyDial, template: STANDARD, icon: battle/DizzyDial }
- { name: ITEM_136, template: STANDARD, icon: battle/item_136 }
- { name: ITEM_137, template: STANDARD, icon: battle/item_137 }

View File

@ -1,342 +0,0 @@
extern HudScript HES_MoveDiamond;
extern HudScript HES_MoveDiamondDisabled;
IconHudScriptPair gItemHudScripts[] = {
{ .enabled = NULL, .disabled = NULL },
{ .enabled = &HES_Item_SpicySoup, .disabled = &HES_Item_SpicySoup_disabled },
{ .enabled = &HES_Item_ApplePie, .disabled = &HES_Item_ApplePie_disabled },
{ .enabled = &HES_Item_HoneyUltra, .disabled = &HES_Item_HoneyUltra_disabled },
{ .enabled = &HES_Item_MapleUltra, .disabled = &HES_Item_MapleUltra_disabled },
{ .enabled = &HES_Item_JellyUltra, .disabled = &HES_Item_JellyUltra_disabled },
{ .enabled = &HES_Item_Koopasta, .disabled = &HES_Item_Koopasta_disabled },
{ .enabled = &HES_Item_FriedShroom, .disabled = &HES_Item_FriedShroom_disabled },
{ .enabled = &HES_Item_ShroomCake, .disabled = &HES_Item_ShroomCake_disabled },
{ .enabled = &HES_Item_ShroomSteak, .disabled = &HES_Item_ShroomSteak_disabled },
{ .enabled = &HES_Item_HotShroom, .disabled = &HES_Item_HotShroom_disabled },
{ .enabled = &HES_Item_SweetShroom, .disabled = &HES_Item_SweetShroom_disabled },
{ .enabled = &HES_Item_HealthyJuice, .disabled = &HES_Item_HealthyJuice_disabled },
{ .enabled = &HES_Item_BlandMeal, .disabled = &HES_Item_BlandMeal_disabled },
{ .enabled = &HES_Item_YummyMeal, .disabled = &HES_Item_YummyMeal_disabled },
{ .enabled = &HES_Item_DeluxeFeast, .disabled = &HES_Item_DeluxeFeast_disabled },
{ .enabled = &HES_Item_SpecialShake, .disabled = &HES_Item_SpecialShake_disabled },
{ .enabled = &HES_Item_BigCookie, .disabled = &HES_Item_BigCookie_disabled },
{ .enabled = &HES_Item_Cake, .disabled = &HES_Item_Cake_disabled },
{ .enabled = &HES_Item_Mistake, .disabled = &HES_Item_Mistake_disabled },
{ .enabled = &HES_Item_KoopaTea, .disabled = &HES_Item_KoopaTea_disabled },
{ .enabled = &HES_Item_HoneySuper, .disabled = &HES_Item_HoneySuper_disabled },
{ .enabled = &HES_Item_MapleSuper, .disabled = &HES_Item_MapleSuper_disabled },
{ .enabled = &HES_Item_JellySuper, .disabled = &HES_Item_JellySuper_disabled },
{ .enabled = &HES_Item_Spaghetti, .disabled = &HES_Item_Spaghetti_disabled },
{ .enabled = &HES_Item_EggMissile, .disabled = &HES_Item_EggMissile_disabled },
{ .enabled = &HES_Item_FriedEgg, .disabled = &HES_Item_FriedEgg_disabled },
{ .enabled = &HES_Item_HoneyShroom, .disabled = &HES_Item_HoneyShroom_disabled },
{ .enabled = &HES_Item_HoneyCandy, .disabled = &HES_Item_HoneyCandy_disabled },
{ .enabled = &HES_Item_ElectroPop, .disabled = &HES_Item_ElectroPop_disabled },
{ .enabled = &HES_Item_FirePop, .disabled = &HES_Item_FirePop_disabled },
{ .enabled = &HES_Item_LimeCandy, .disabled = &HES_Item_LimeCandy_disabled },
{ .enabled = &HES_Item_CocoPop, .disabled = &HES_Item_CocoPop_disabled },
{ .enabled = &HES_Item_LemonCandy, .disabled = &HES_Item_LemonCandy_disabled },
{ .enabled = &HES_Item_JellyPop, .disabled = &HES_Item_JellyPop_disabled },
{ .enabled = &HES_Item_StrangeCake, .disabled = &HES_Item_StrangeCake_disabled },
{ .enabled = &HES_Item_KookyCookie, .disabled = &HES_Item_KookyCookie_disabled },
{ .enabled = &HES_Item_FrozenFries, .disabled = &HES_Item_FrozenFries_disabled },
{ .enabled = &HES_Item_PotatoSalad, .disabled = &HES_Item_PotatoSalad_disabled },
{ .enabled = &HES_Item_NuttyCake, .disabled = &HES_Item_NuttyCake_disabled },
{ .enabled = &HES_Item_MapleShroom, .disabled = &HES_Item_MapleShroom_disabled },
{ .enabled = &HES_Item_BoiledEgg, .disabled = &HES_Item_BoiledEgg_disabled },
{ .enabled = &HES_Item_YoshiCookie, .disabled = &HES_Item_YoshiCookie_disabled },
{ .enabled = &HES_Item_JellyShroom, .disabled = &HES_Item_JellyShroom_disabled },
{ .enabled = &HES_Item_Unused_02C, .disabled = &HES_Item_Unused_02C_disabled },
{ .enabled = &HES_Item_Unused_02D, .disabled = &HES_Item_Unused_02D_disabled },
{ .enabled = &HES_Item_Unused_02E, .disabled = &HES_Item_Unused_02E_disabled },
{ .enabled = &HES_Item_Unused_02F, .disabled = &HES_Item_Unused_02F_disabled },
{ .enabled = &HES_Item_Unused_030, .disabled = &HES_Item_Unused_030_disabled },
{ .enabled = &HES_Item_Heart, .disabled = &HES_Item_Heart },
{ .enabled = &HES_Item_Coin, .disabled = &HES_Item_Coin },
{ .enabled = &HES_Item_HeartPiece, .disabled = &HES_Item_HeartPiece },
{ .enabled = &HES_Item_StarPoint, .disabled = &HES_Item_StarPoint },
{ .enabled = &HES_Item_HeartPoint, .disabled = &HES_Item_HeartPoint },
{ .enabled = &HES_Item_FlowerPoint, .disabled = &HES_Item_FlowerPoint },
{ .enabled = &HES_Item_StarPiece, .disabled = &HES_Item_StarPiece },
{ .enabled = &HES_Item_GearBoots1, .disabled = &HES_Item_GearBoots1 },
{ .enabled = &HES_Item_GearBoots2, .disabled = &HES_Item_GearBoots2 },
{ .enabled = &HES_Item_GearBoots3, .disabled = &HES_Item_GearBoots3 },
{ .enabled = &HES_Item_GearHammer1, .disabled = &HES_Item_GearHammer1 },
{ .enabled = &HES_Item_GearHammer2, .disabled = &HES_Item_GearHammer2 },
{ .enabled = &HES_Item_GearHammer3, .disabled = &HES_Item_GearHammer3 },
{ .enabled = &HES_Item_LuckyStar, .disabled = &HES_Item_LuckyStar },
{ .enabled = &HES_Item_Map, .disabled = &HES_Item_Map },
{ .enabled = &HES_Item_KoopaFortressKey, .disabled = &HES_Item_KoopaFortressKey },
{ .enabled = &HES_Item_RuinsKey, .disabled = &HES_Item_RuinsKey },
{ .enabled = &HES_Item_TubbaCastleKey, .disabled = &HES_Item_TubbaCastleKey },
{ .enabled = &HES_Item_IcePalaceKey, .disabled = &HES_Item_IcePalaceKey },
{ .enabled = &HES_Item_BowserCastleKey, .disabled = &HES_Item_BowserCastleKey },
{ .enabled = &HES_Item_Dolly, .disabled = &HES_Item_Dolly },
{ .enabled = &HES_Item_KooperShell, .disabled = &HES_Item_KooperShell },
{ .enabled = &HES_Item_PulseStone, .disabled = &HES_Item_PulseStone },
{ .enabled = &HES_Item_Artifact, .disabled = &HES_Item_Artifact },
{ .enabled = &HES_Item_AncientVase, .disabled = &HES_Item_AncientVase },
{ .enabled = &HES_Item_RuinsStonePyramid, .disabled = &HES_Item_RuinsStonePyramid },
{ .enabled = &HES_Item_RuinsStoneStar, .disabled = &HES_Item_RuinsStoneStar },
{ .enabled = &HES_Item_RuinsStoneMoon, .disabled = &HES_Item_RuinsStoneMoon },
{ .enabled = &HES_Item_ForestPass, .disabled = &HES_Item_ForestPass },
{ .enabled = &HES_Item_BooRecordOutline, .disabled = &HES_Item_BooRecordOutline },
{ .enabled = &HES_Item_BooRecord, .disabled = &HES_Item_BooRecord },
{ .enabled = &HES_Item_BooWeight, .disabled = &HES_Item_BooWeight },
{ .enabled = &HES_Item_BooPortrait, .disabled = &HES_Item_BooPortrait },
{ .enabled = &HES_Item_MysticKey, .disabled = &HES_Item_MysticKey },
{ .enabled = &HES_Item_IronKey, .disabled = &HES_Item_IronKey },
{ .enabled = &HES_Item_ToyboxTrain, .disabled = &HES_Item_ToyboxTrain },
{ .enabled = &HES_Item_FryingPan, .disabled = &HES_Item_FryingPan },
{ .enabled = &HES_Item_Dictionary, .disabled = &HES_Item_Dictionary },
{ .enabled = &HES_Item_MysteryNote, .disabled = &HES_Item_MysteryNote },
{ .enabled = &HES_Item_SuspiciousNote, .disabled = &HES_Item_SuspiciousNote },
{ .enabled = &HES_Item_MagicalSeed1, .disabled = &HES_Item_MagicalSeed1 },
{ .enabled = &HES_Item_MagicalSeed2, .disabled = &HES_Item_MagicalSeed2 },
{ .enabled = &HES_Item_MagicalSeed3, .disabled = &HES_Item_MagicalSeed3 },
{ .enabled = &HES_Item_MagicalSeed4, .disabled = &HES_Item_MagicalSeed4 },
{ .enabled = &HES_Item_CrystalBerry, .disabled = &HES_Item_CrystalBerry },
{ .enabled = &HES_Item_WaterStone, .disabled = &HES_Item_WaterStone },
{ .enabled = &HES_Item_MagicBean, .disabled = &HES_Item_MagicBean },
{ .enabled = &HES_Item_FertileSoil, .disabled = &HES_Item_FertileSoil },
{ .enabled = &HES_Item_MiracleWater, .disabled = &HES_Item_MiracleWater },
{ .enabled = &HES_Item_UltraStone, .disabled = &HES_Item_UltraStone },
{ .enabled = &HES_Item_ToadDoll, .disabled = &HES_Item_ToadDoll },
{ .enabled = &HES_Item_Calculator, .disabled = &HES_Item_Calculator },
{ .enabled = &HES_Item_Screwdriver, .disabled = &HES_Item_Screwdriver },
{ .enabled = &HES_Item_CookBook, .disabled = &HES_Item_CookBook },
{ .enabled = &HES_Item_JadeRaven, .disabled = &HES_Item_JadeRaven },
{ .enabled = &HES_Item_SnowmanBucket, .disabled = &HES_Item_SnowmanBucket },
{ .enabled = &HES_Item_SnowmanScarf, .disabled = &HES_Item_SnowmanScarf },
{ .enabled = &HES_Item_RedKey, .disabled = &HES_Item_RedKey },
{ .enabled = &HES_Item_BlueKey, .disabled = &HES_Item_BlueKey },
{ .enabled = &HES_Item_KootPackage, .disabled = &HES_Item_KootPackage },
{ .enabled = &HES_Item_KootRedJar, .disabled = &HES_Item_KootRedJar },
{ .enabled = &HES_Item_Melody, .disabled = &HES_Item_Melody },
{ .enabled = &HES_Item_Lyrics, .disabled = &HES_Item_Lyrics },
{ .enabled = &HES_Item_Mailbag, .disabled = &HES_Item_Mailbag },
{ .enabled = &HES_Item_StarStone, .disabled = &HES_Item_StarStone },
{ .enabled = &HES_Item_SneakyParasol, .disabled = &HES_Item_SneakyParasol },
{ .enabled = &HES_Item_PeachKey, .disabled = &HES_Item_PeachKey },
{ .enabled = &HES_Item_UNK_1DC210, .disabled = &HES_Item_UNK_1DC210 },
{ .enabled = &HES_Item_UNK_1DC430, .disabled = &HES_Item_UNK_1DC430 },
{ .enabled = &HES_Item_UNK_1DC650, .disabled = &HES_Item_UNK_1DC650 },
{ .enabled = &HES_Item_UNK_1DC870, .disabled = &HES_Item_UNK_1DC870 },
{ .enabled = &HES_Item_DojoCard1, .disabled = &HES_Item_DojoCard1 },
{ .enabled = &HES_Item_DojoCard2, .disabled = &HES_Item_DojoCard2 },
{ .enabled = &HES_Item_DojoCard3, .disabled = &HES_Item_DojoCard3 },
{ .enabled = &HES_Item_DojoCard4, .disabled = &HES_Item_DojoCard4 },
{ .enabled = &HES_Item_DojoCard5, .disabled = &HES_Item_DojoCard5 },
{ .enabled = &HES_Item_CrystalBall, .disabled = &HES_Item_CrystalBall },
{ .enabled = &HES_Item_GoldCard, .disabled = &HES_Item_GoldCard },
{ .enabled = &HES_Item_SilverCard, .disabled = &HES_Item_SilverCard },
{ .enabled = &HES_Item_KootBook, .disabled = &HES_Item_KootBook },
{ .enabled = &HES_Item_KootTheTape, .disabled = &HES_Item_KootTheTape },
{ .enabled = &HES_Item_KootMerluvleeAutograph, .disabled = &HES_Item_KootMerluvleeAutograph },
{ .enabled = &HES_Item_KootEmptyWallet, .disabled = &HES_Item_KootEmptyWallet },
{ .enabled = &HES_Item_KootLuigiAutograph, .disabled = &HES_Item_KootLuigiAutograph },
{ .enabled = &HES_Item_KootShell, .disabled = &HES_Item_KootShell },
{ .enabled = &HES_Item_KootPhoto, .disabled = &HES_Item_KootPhoto },
{ .enabled = &HES_Item_KootGlasses, .disabled = &HES_Item_KootGlasses },
{ .enabled = &HES_Item_Letter, .disabled = &HES_Item_Letter_disabled },
{ .enabled = &HES_Item_Unused_089, .disabled = &HES_Item_Unused_089_disabled },
{ .enabled = &HES_Item_Unused_08A, .disabled = &HES_Item_Unused_08A_disabled },
{ .enabled = &HES_Item_Unused_08B, .disabled = &HES_Item_Unused_08B_disabled },
{ .enabled = &HES_Item_Unused_08C, .disabled = &HES_Item_Unused_08C_disabled },
{ .enabled = &HES_Item_Unused_08D, .disabled = &HES_Item_Unused_08D_disabled },
{ .enabled = &HES_Item_Unused_08E, .disabled = &HES_Item_Unused_08E_disabled },
{ .enabled = &HES_Item_Unused_08F, .disabled = &HES_Item_Unused_08F_disabled },
{ .enabled = &HES_Item_SpinSmash, .disabled = &HES_Item_SpinSmash_disabled },
{ .enabled = &HES_Item_Multibounce, .disabled = &HES_Item_Multibounce_disabled },
{ .enabled = &HES_Item_PowerPlus, .disabled = &HES_Item_PowerPlus_disabled },
{ .enabled = &HES_Item_DodgeMaster, .disabled = &HES_Item_DodgeMaster_disabled },
{ .enabled = &HES_Item_PowerBounce, .disabled = &HES_Item_PowerBounce_disabled },
{ .enabled = &HES_Item_SpikeShield, .disabled = &HES_Item_SpikeShield_disabled },
{ .enabled = &HES_Item_FirstAttack, .disabled = &HES_Item_FirstAttack_disabled },
{ .enabled = &HES_Item_HPPlus, .disabled = &HES_Item_HPPlus_disabled },
{ .enabled = &HES_Item_QuakeHammer, .disabled = &HES_Item_QuakeHammer_disabled },
{ .enabled = &HES_Item_DoubleDip, .disabled = &HES_Item_DoubleDip_disabled },
{ .enabled = &HES_Item_PowerQuake, .disabled = &HES_Item_PowerQuake_disabled },
{ .enabled = &HES_Item_MegaQuake, .disabled = &HES_Item_MegaQuake_disabled },
{ .enabled = &HES_Item_SleepStomp, .disabled = &HES_Item_SleepStomp_disabled },
{ .enabled = &HES_Item_SmashCharge, .disabled = &HES_Item_SmashCharge_disabled },
{ .enabled = &HES_Item_SSmashChg, .disabled = &HES_Item_SSmashChg_disabled },
{ .enabled = &HES_Item_AutoSmash, .disabled = &HES_Item_AutoSmash_disabled },
{ .enabled = &HES_Item_FireShield, .disabled = &HES_Item_FireShield_disabled },
{ .enabled = &HES_Item_JumpCharge, .disabled = &HES_Item_JumpCharge_disabled },
{ .enabled = &HES_Item_SJumpChg, .disabled = &HES_Item_SJumpChg_disabled },
{ .enabled = &HES_Item_AutoJump, .disabled = &HES_Item_AutoJump_disabled },
{ .enabled = &HES_Item_DDownPound, .disabled = &HES_Item_DDownPound_disabled },
{ .enabled = &HES_Item_AutoMultibounce, .disabled = &HES_Item_AutoMultibounce_disabled },
{ .enabled = &HES_Item_DizzyStomp, .disabled = &HES_Item_DizzyStomp_disabled },
{ .enabled = &HES_Item_HammerThrow, .disabled = &HES_Item_HammerThrow_disabled },
{ .enabled = &HES_Item_SmashCharge0, .disabled = &HES_Item_SmashCharge0_disabled },
{ .enabled = &HES_Item_PrettyLucky, .disabled = &HES_Item_PrettyLucky_disabled },
{ .enabled = &HES_Item_FeelingFine, .disabled = &HES_Item_FeelingFine_disabled },
{ .enabled = &HES_Item_AttackFXA, .disabled = &HES_Item_AttackFXA_disabled },
{ .enabled = &HES_Item_AllorNothing, .disabled = &HES_Item_AllorNothing_disabled },
{ .enabled = &HES_Item_HPDrain, .disabled = &HES_Item_HPDrain_disabled },
{ .enabled = &HES_Item_JumpCharge0, .disabled = &HES_Item_JumpCharge0_disabled },
{ .enabled = &HES_Item_SlowGo, .disabled = &HES_Item_SlowGo_disabled },
{ .enabled = &HES_Item_FPPlus, .disabled = &HES_Item_FPPlus_disabled },
{ .enabled = &HES_Item_MegaRush, .disabled = &HES_Item_MegaRush_disabled },
{ .enabled = &HES_Item_IcePower, .disabled = &HES_Item_IcePower_disabled },
{ .enabled = &HES_Item_DefendPlus, .disabled = &HES_Item_DefendPlus_disabled },
{ .enabled = &HES_Item_PayOff, .disabled = &HES_Item_PayOff_disabled },
{ .enabled = &HES_Item_MoneyMoney, .disabled = &HES_Item_MoneyMoney_disabled },
{ .enabled = &HES_Item_ChillOut, .disabled = &HES_Item_ChillOut_disabled },
{ .enabled = &HES_Item_HappyHeart, .disabled = &HES_Item_HappyHeart_disabled },
{ .enabled = &HES_Item_ZapTap, .disabled = &HES_Item_ZapTap_disabled },
{ .enabled = &HES_Item_Berserker, .disabled = &HES_Item_Berserker_disabled },
{ .enabled = &HES_Item_RightOn, .disabled = &HES_Item_RightOn_disabled },
{ .enabled = &HES_Item_RunawayPay, .disabled = &HES_Item_RunawayPay_disabled },
{ .enabled = &HES_Item_Refund, .disabled = &HES_Item_Refund_disabled },
{ .enabled = &HES_Item_FlowerSaver, .disabled = &HES_Item_FlowerSaver_disabled },
{ .enabled = &HES_Item_TripleDip, .disabled = &HES_Item_TripleDip_disabled },
{ .enabled = &HES_Item_FlowerFanatic, .disabled = &HES_Item_FlowerFanatic_disabled },
{ .enabled = &HES_Item_PowerJump, .disabled = &HES_Item_PowerJump_disabled },
{ .enabled = &HES_Item_SuperJump, .disabled = &HES_Item_SuperJump_disabled },
{ .enabled = &HES_Item_MegaJump, .disabled = &HES_Item_MegaJump_disabled },
{ .enabled = &HES_Item_PowerSmash1, .disabled = &HES_Item_PowerSmash1_disabled },
{ .enabled = &HES_Item_SuperSmash, .disabled = &HES_Item_SuperSmash_disabled },
{ .enabled = &HES_Item_MegaSmash, .disabled = &HES_Item_MegaSmash_disabled },
{ .enabled = &HES_Item_LuckyDay, .disabled = &HES_Item_LuckyDay_disabled },
{ .enabled = &HES_Item_MegaHPDrain, .disabled = &HES_Item_MegaHPDrain_disabled },
{ .enabled = &HES_Item_BumpAttack, .disabled = &HES_Item_BumpAttack_disabled },
{ .enabled = &HES_Item_PUpDDown, .disabled = &HES_Item_PUpDDown_disabled },
{ .enabled = &HES_Item_PDownDUp, .disabled = &HES_Item_PDownDUp_disabled },
{ .enabled = &HES_Item_HeartFinder, .disabled = &HES_Item_HeartFinder_disabled },
{ .enabled = &HES_Item_FlowerFinder, .disabled = &HES_Item_FlowerFinder_disabled },
{ .enabled = &HES_Item_DizzyAttack, .disabled = &HES_Item_DizzyAttack_disabled },
{ .enabled = &HES_Item_SpeedySpin, .disabled = &HES_Item_SpeedySpin_disabled },
{ .enabled = &HES_Item_SpinAttack, .disabled = &HES_Item_SpinAttack_disabled },
{ .enabled = &HES_Item_ISpy, .disabled = &HES_Item_ISpy_disabled },
{ .enabled = &HES_Item_PowerRush, .disabled = &HES_Item_PowerRush_disabled },
{ .enabled = &HES_Item_LastStand, .disabled = &HES_Item_LastStand_disabled },
{ .enabled = &HES_Item_CloseCall, .disabled = &HES_Item_CloseCall_disabled },
{ .enabled = &HES_Item_CrazyHeart, .disabled = &HES_Item_CrazyHeart_disabled },
{ .enabled = &HES_Item_Unused_0D5, .disabled = &HES_Item_Unused_0D5_disabled },
{ .enabled = &HES_Item_Unused_0D6, .disabled = &HES_Item_Unused_0D6_disabled },
{ .enabled = &HES_Item_Unused_0D7, .disabled = &HES_Item_Unused_0D7_disabled },
{ .enabled = &HES_Item_ShrinkSmash, .disabled = &HES_Item_ShrinkSmash_disabled },
{ .enabled = &HES_Item_ShrinkStomp, .disabled = &HES_Item_ShrinkStomp_disabled },
{ .enabled = &HES_Item_DDownJump, .disabled = &HES_Item_DDownJump_disabled },
{ .enabled = &HES_Item_DamageDodge, .disabled = &HES_Item_DamageDodge_disabled },
{ .enabled = &HES_Item_EarthquakeJump, .disabled = &HES_Item_EarthquakeJump_disabled },
{ .enabled = &HES_Item_HappyFlower, .disabled = &HES_Item_HappyFlower_disabled },
{ .enabled = &HES_Item_Unused_0DE, .disabled = &HES_Item_Unused_0DE_disabled },
{ .enabled = &HES_Item_Unused_0DF, .disabled = &HES_Item_Unused_0DF_disabled },
{ .enabled = &HES_Item_DeepFocus, .disabled = &HES_Item_DeepFocus_disabled },
{ .enabled = &HES_Item_SuperFocus, .disabled = &HES_Item_SuperFocus_disabled },
{ .enabled = &HES_Item_Kaiden, .disabled = &HES_Item_Kaiden_disabled },
{ .enabled = &HES_Item_QuickChange, .disabled = &HES_Item_QuickChange_disabled },
{ .enabled = &HES_Item_Unused_0E4, .disabled = &HES_Item_Unused_0E4_disabled },
{ .enabled = &HES_Item_Unused_0E5, .disabled = &HES_Item_Unused_0E5_disabled },
{ .enabled = &HES_Item_Unused_0E6, .disabled = &HES_Item_Unused_0E6_disabled },
{ .enabled = &HES_Item_Unused_0E7, .disabled = &HES_Item_Unused_0E7_disabled },
{ .enabled = &HES_Item_Peekaboo, .disabled = &HES_Item_Peekaboo_disabled },
{ .enabled = &HES_Item_GroupFocus, .disabled = &HES_Item_GroupFocus_disabled },
{ .enabled = &HES_Item_AttackFXD, .disabled = &HES_Item_AttackFXD_disabled },
{ .enabled = &HES_Item_AttackFXB, .disabled = &HES_Item_AttackFXB_disabled },
{ .enabled = &HES_Item_AttackFXE, .disabled = &HES_Item_AttackFXE_disabled },
{ .enabled = &HES_Item_AttackFXC, .disabled = &HES_Item_AttackFXC_disabled },
{ .enabled = &HES_Item_AttackFXF, .disabled = &HES_Item_AttackFXF_disabled },
{ .enabled = &HES_Item_Unused_0EF, .disabled = &HES_Item_Unused_0EF_disabled },
{ .enabled = &HES_Item_HealthyHealthy, .disabled = &HES_Item_HealthyHealthy_disabled },
{ .enabled = &HES_Item_Unused_0F1, .disabled = &HES_Item_Unused_0F1_disabled },
{ .enabled = &HES_Item_Unused_0F2, .disabled = &HES_Item_Unused_0F2_disabled },
{ .enabled = &HES_Item_Unused_0F3, .disabled = &HES_Item_Unused_0F3_disabled },
{ .enabled = &HES_Item_Unused_0F4, .disabled = &HES_Item_Unused_0F4_disabled },
{ .enabled = &HES_Item_Unused_0F5, .disabled = &HES_Item_Unused_0F5_disabled },
{ .enabled = &HES_Item_Unused_0F6, .disabled = &HES_Item_Unused_0F6_disabled },
{ .enabled = &HES_Item_Unused_0F7, .disabled = &HES_Item_Unused_0F7_disabled },
{ .enabled = &HES_Item_Mushroom, .disabled = &HES_Item_Mushroom_disabled },
{ .enabled = &HES_Item_SuperShroom, .disabled = &HES_Item_SuperShroom_disabled },
{ .enabled = &HES_Item_UltraShroom, .disabled = &HES_Item_UltraShroom_disabled },
{ .enabled = &HES_Item_LifeShroom, .disabled = &HES_Item_LifeShroom_disabled },
{ .enabled = &HES_Item_DriedShroom, .disabled = &HES_Item_DriedShroom_disabled },
{ .enabled = &HES_Item_TastyTonic, .disabled = &HES_Item_TastyTonic_disabled },
{ .enabled = &HES_Item_SuperSoda, .disabled = &HES_Item_SuperSoda_disabled },
{ .enabled = &HES_Item_BlueBerry, .disabled = &HES_Item_BlueBerry_disabled },
{ .enabled = &HES_Item_RedBerry, .disabled = &HES_Item_RedBerry_disabled },
{ .enabled = &HES_Item_YellowBerry, .disabled = &HES_Item_YellowBerry_disabled },
{ .enabled = &HES_Item_BubbleBerry, .disabled = &HES_Item_BubbleBerry_disabled },
{ .enabled = &HES_Item_Goomnut, .disabled = &HES_Item_Goomnut_disabled },
{ .enabled = &HES_Item_KoopaLeaf, .disabled = &HES_Item_KoopaLeaf_disabled },
{ .enabled = &HES_Item_DriedPasta, .disabled = &HES_Item_DriedPasta_disabled },
{ .enabled = &HES_Item_Lime, .disabled = &HES_Item_Lime_disabled },
{ .enabled = &HES_Item_Lemon, .disabled = &HES_Item_Lemon_disabled },
{ .enabled = &HES_Item_DriedFruit, .disabled = &HES_Item_DriedFruit_disabled },
{ .enabled = &HES_Item_StrangeLeaf, .disabled = &HES_Item_StrangeLeaf_disabled },
{ .enabled = &HES_Item_CakeMix, .disabled = &HES_Item_CakeMix_disabled },
{ .enabled = &HES_Item_Egg, .disabled = &HES_Item_Egg_disabled },
{ .enabled = &HES_Item_Coconut, .disabled = &HES_Item_Coconut_disabled },
{ .enabled = &HES_Item_Melon, .disabled = &HES_Item_Melon_disabled },
{ .enabled = &HES_Item_StinkyHerb, .disabled = &HES_Item_StinkyHerb_disabled },
{ .enabled = &HES_Item_IcedPotato, .disabled = &HES_Item_IcedPotato_disabled },
{ .enabled = &HES_Item_HoneySyrup, .disabled = &HES_Item_HoneySyrup_disabled },
{ .enabled = &HES_Item_MapleSyrup, .disabled = &HES_Item_MapleSyrup_disabled },
{ .enabled = &HES_Item_JamminJelly, .disabled = &HES_Item_JamminJelly_disabled },
{ .enabled = &HES_Item_WhackasBump, .disabled = &HES_Item_WhackasBump_disabled },
{ .enabled = &HES_Item_Apple, .disabled = &HES_Item_Apple_disabled },
{ .enabled = &HES_Item_BakingSalt, .disabled = &HES_Item_BakingSalt_disabled },
{ .enabled = &HES_Item_BakingSugar, .disabled = &HES_Item_BakingSugar_disabled },
{ .enabled = &HES_Item_BakingEgg, .disabled = &HES_Item_BakingEgg_disabled },
{ .enabled = &HES_Item_BakingCream, .disabled = &HES_Item_BakingCream_disabled },
{ .enabled = &HES_Item_BakingStrawberry, .disabled = &HES_Item_BakingStrawberry_disabled },
{ .enabled = &HES_Item_BakingButter, .disabled = &HES_Item_BakingButter_disabled },
{ .enabled = &HES_Item_BakingCleanser, .disabled = &HES_Item_BakingCleanser_disabled },
{ .enabled = &HES_Item_BakingWater, .disabled = &HES_Item_BakingWater_disabled },
{ .enabled = &HES_Item_BakingFlour, .disabled = &HES_Item_BakingFlour_disabled },
{ .enabled = &HES_Item_BakingMilk, .disabled = &HES_Item_BakingMilk_disabled },
{ .enabled = &HES_Item_Unused_11F, .disabled = &HES_Item_Unused_11F_disabled },
{ .enabled = &HES_Item_FireFlower, .disabled = &HES_Item_FireFlower_disabled },
{ .enabled = &HES_Item_SnowmanDoll, .disabled = &HES_Item_SnowmanDoll_disabled },
{ .enabled = &HES_Item_ThunderRage, .disabled = &HES_Item_ThunderRage_disabled },
{ .enabled = &HES_Item_ThunderBolt, .disabled = &HES_Item_ThunderBolt_disabled },
{ .enabled = &HES_Item_ShootingStar, .disabled = &HES_Item_ShootingStar_disabled },
{ .enabled = &HES_Item_DustyHammer, .disabled = &HES_Item_DustyHammer_disabled },
{ .enabled = &HES_Item_Pebble, .disabled = &HES_Item_Pebble_disabled },
{ .enabled = &HES_Item_Unused_127, .disabled = &HES_Item_Unused_127_disabled },
{ .enabled = &HES_Item_StoneCap, .disabled = &HES_Item_StoneCap_disabled },
{ .enabled = &HES_Item_VoltShroom, .disabled = &HES_Item_VoltShroom_disabled },
{ .enabled = &HES_Item_PowerStar, .disabled = &HES_Item_PowerStar_disabled },
{ .enabled = &HES_Item_Parasol, .disabled = &HES_Item_Parasol_disabled },
{ .enabled = &HES_Item_MagicMirror, .disabled = &HES_Item_MagicMirror_disabled },
{ .enabled = &HES_Item_Unused_12D, .disabled = &HES_Item_Unused_12D_disabled },
{ .enabled = &HES_Item_Unused_12E, .disabled = &HES_Item_Unused_12E_disabled },
{ .enabled = &HES_Item_Unused_12F, .disabled = &HES_Item_Unused_12F_disabled },
{ .enabled = &HES_Item_SleepySheep, .disabled = &HES_Item_SleepySheep_disabled },
{ .enabled = &HES_Item_XBandage, .disabled = &HES_Item_XBandage_disabled },
{ .enabled = &HES_Item_POWBlock, .disabled = &HES_Item_POWBlock_disabled },
{ .enabled = &HES_Item_HustleDrink, .disabled = &HES_Item_HustleDrink_disabled },
{ .enabled = &HES_Item_StopWatch, .disabled = &HES_Item_StopWatch_disabled },
{ .enabled = &HES_Item_DizzyDial, .disabled = &HES_Item_DizzyDial_disabled },
{ .enabled = &HES_Item_Unused_136, .disabled = &HES_Item_Unused_136_disabled },
{ .enabled = &HES_Item_Unused_137, .disabled = &HES_Item_Unused_137_disabled },
{ .enabled = &HES_Item_PleaseComeBack, .disabled = &HES_Item_PleaseComeBack_disabled },
{ .enabled = &HES_Item_Unused_139, .disabled = &HES_Item_Unused_139_disabled },
{ .enabled = &HES_Item_FrightJar, .disabled = &HES_Item_FrightJar_disabled },
{ .enabled = &HES_Item_Mystery, .disabled = &HES_Item_Mystery_disabled },
{ .enabled = &HES_Item_RepelGel, .disabled = &HES_Item_RepelGel_disabled },
{ .enabled = &HES_Item_InsecticideHerb, .disabled = &HES_Item_InsecticideHerb_disabled },
{ .enabled = &HES_Item_Unused_13E, .disabled = &HES_Item_Unused_13E_disabled },
{ .enabled = &HES_Item_Unused_13F, .disabled = &HES_Item_Unused_13F_disabled },
{ .enabled = &HES_Item_Present, .disabled = &HES_Item_Present },
{ .enabled = &HES_Item_CakeDone, .disabled = &HES_Item_CakeDone },
{ .enabled = &HES_Item_CakeBaked, .disabled = &HES_Item_CakeBaked },
{ .enabled = &HES_Item_CakePan, .disabled = &HES_Item_CakePan },
{ .enabled = &HES_Item_CakeBatter, .disabled = &HES_Item_CakeBatter },
{ .enabled = &HES_Item_CakeBowl, .disabled = &HES_Item_CakeBowl },
{ .enabled = &HES_Item_CakeMixed, .disabled = &HES_Item_CakeMixed },
{ .enabled = &HES_Item_CakeIcing, .disabled = &HES_Item_CakeIcing },
{ .enabled = &HES_Item_CakeBerries, .disabled = &HES_Item_CakeBerries },
{ .enabled = &HES_MoveDiamond, .disabled = &HES_MoveDiamondDisabled },
{ .enabled = &HES_Item_Hammer1, .disabled = &HES_Item_Hammer1 },
{ .enabled = &HES_Item_Hammer2, .disabled = &HES_Item_Hammer2 },
{ .enabled = &HES_Item_Hammer3, .disabled = &HES_Item_Hammer3 },
{ .enabled = &HES_Item_Boots1, .disabled = &HES_Item_Boots1 },
{ .enabled = &HES_Item_Boots2, .disabled = &HES_Item_Boots2 },
{ .enabled = &HES_Item_Boots3, .disabled = &HES_Item_Boots3 },
{ .enabled = &HES_Item_Items, .disabled = &HES_Item_Items }
};

File diff suppressed because it is too large Load Diff

336
src/item_hud_scripts.yaml Normal file
View File

@ -0,0 +1,336 @@
- { priority: 320, name: Present, template: STANDARD_ITEM, icon: key/Gift }
- { priority: 321, name: CakeDone, template: STANDARD_ITEM, icon: key/CakeDone }
- { priority: 322, name: CakeBare, template: STANDARD_ITEM, icon: key/CakeBare }
- { priority: 323, name: CakePan, template: STANDARD_ITEM, icon: key/CakePan }
- { priority: 324, name: CakeBatter, template: STANDARD_ITEM, icon: key/CakeBatter }
- { priority: 325, name: CakeBowl, template: STANDARD_ITEM, icon: key/CakeBowl }
- { priority: 326, name: CakeMixed, template: STANDARD_ITEM, icon: key/CakeMixed }
- { priority: 327, name: CakeWithIcing, template: STANDARD_ITEM, icon: key/CakeWithIcing }
- { priority: 328, name: CakeWithBerries, template: STANDARD_ITEM, icon: key/CakeWithBerries }
- { priority: 329, name: HES_MoveDiamond, pair: true }
- { priority: 330, name: MenuHammer1, template: STANDARD_ITEM, icon: menu/hammer_1 }
- { priority: 331, name: MenuHammer2, template: STANDARD_ITEM, icon: menu/hammer_2 }
- { priority: 332, name: MenuHammer3, template: STANDARD_ITEM, icon: menu/hammer_3 }
- { priority: 333, name: MenuBoots1, template: STANDARD_ITEM, icon: menu/boots_1 }
- { priority: 334, name: MenuBoots2, template: STANDARD_ITEM, icon: menu/boots_2 }
- { priority: 335, name: MenuBoots3, template: STANDARD_ITEM, icon: menu/boots_3 }
- { priority: 336, name: MenuItems, template: STANDARD_ITEM, icon: menu/items }
- { priority: 51, name: HeartPiece, template: HEART_PIECE }
- { priority: 49, name: Heart, template: HEART }
- { priority: 50, name: Coin, template: COIN }
- { priority: 52, name: StarPoint, template: STAR_POINT }
- { priority: 53, name: HeartPoint, template: HEART_POINT }
- { priority: 54, name: FlowerPoint, template: FLOWER_POINT }
- { priority: 55, name: StarPiece, template: STAR_PIECE }
- { priority: 56, name: GearBoots1, template: STANDARD_ITEM, icon: gear/boots_1 }
- { priority: 57, name: GearBoots2, template: STANDARD_ITEM, icon: gear/boots_2 }
- { priority: 58, name: GearBoots3, template: STANDARD_ITEM, icon: gear/boots_3 }
- { priority: 59, name: GearHammer1, template: STANDARD_ITEM, icon: gear/hammer_1 }
- { priority: 60, name: GearHammer2, template: STANDARD_ITEM, icon: gear/hammer_2 }
- { priority: 61, name: GearHammer3, template: STANDARD_ITEM, icon: gear/hammer_3 }
- { priority: 62, name: LuckyStar, template: STANDARD_ITEM, icon: gear/lucky_star }
- { priority: 63, name: Map, template: STANDARD_ITEM, icon: key/map }
- { priority: 64, name: KoopaFortressKey, template: STANDARD_ITEM, icon: key/key_koopa_fortress }
- { priority: 65, name: RuinsKey, template: STANDARD_ITEM, icon: key/key_ruins }
- { priority: 66, name: TubbaCastleKey, template: STANDARD_ITEM, icon: key/key_tubba_castle }
- { priority: 67, name: IcePalaceKey, template: STANDARD_ITEM, icon: key/key_ice_palace }
- { priority: 68, name: BowserCastleKey, template: STANDARD_ITEM, icon: key/key_bowser_castle }
- { priority: 69, name: Dolly, template: STANDARD_ITEM, icon: key/dolly }
- { priority: 70, name: KooperShell, template: STANDARD_ITEM, icon: key/kooper_shell }
- { priority: 71, name: PulseStone, template: STANDARD_ITEM, icon: key/pulse_stone }
- { priority: 72, name: Artifact, template: STANDARD_ITEM, icon: key/artifact }
- { priority: 73, name: AncientVase, template: STANDARD_ITEM, icon: key/vase }
- { priority: 74, name: RuinsStonePyramid, template: STANDARD_ITEM, icon: key/ruins_stone_pyramid }
- { priority: 75, name: RuinsStoneStar, template: STANDARD_ITEM, icon: key/ruins_stone_star }
- { priority: 76, name: RuinsStoneMoon, template: STANDARD_ITEM, icon: key/ruins_stone_moon }
- { priority: 77, name: ForestPass, template: STANDARD_ITEM, icon: key/forest_pass }
- { priority: 78, name: BooRecordOutline, template: STANDARD_ITEM, icon: key/boo_record_mask }
- { priority: 79, name: BooRecord, template: STANDARD_ITEM, icon: key/boo_record }
- { priority: 80, name: BooWeight, template: STANDARD_ITEM, icon: key/boo_weight }
- { priority: 81, name: BooPortrait, template: STANDARD_ITEM, icon: key/boo_portrait }
- { priority: 82, name: MysticKey, template: STANDARD_ITEM, icon: key/mystic_key }
- { priority: 83, name: IronKey, template: STANDARD_ITEM, icon: key/key_storeroom }
- { priority: 84, name: ToyboxTrain, template: STANDARD_ITEM, icon: key/toybox_train }
- { priority: 85, name: FryingPan, template: STANDARD_ITEM, icon: key/frying_pan }
- { priority: 86, name: Dictionary, template: STANDARD_ITEM, icon: key/dictionary }
- { priority: 87, name: MysteryNote, template: STANDARD_ITEM, icon: key/mystery_note }
- { priority: 88, name: SuspiciousNote, template: STANDARD_ITEM, icon: key/suspicious_note }
- { priority: 89, name: MagicalSeed1, template: STANDARD_ITEM, icon: key/seed_1 }
- { priority: 90, name: MagicalSeed2, template: STANDARD_ITEM, icon: key/seed_2 }
- { priority: 91, name: MagicalSeed3, template: STANDARD_ITEM, icon: key/seed_3 }
- { priority: 92, name: MagicalSeed4, template: STANDARD_ITEM, icon: key/seed_4 }
- { priority: 93, name: CrystalBerry, template: STANDARD_ITEM, icon: key/crystal_berry }
- { priority: 94, name: WaterStone, template: STANDARD_ITEM, icon: key/water_stone }
- { priority: 95, name: MagicBean, template: STANDARD_ITEM, icon: key/magic_bean }
- { priority: 96, name: FertileSoil, template: STANDARD_ITEM, icon: key/fertile_soil }
- { priority: 97, name: MiracleWater, template: STANDARD_ITEM, icon: key/miracle_water }
- { priority: 98, name: UltraStone, template: STANDARD_ITEM, icon: key/ultra_stone }
- { priority: 99, name: ToadDoll, template: STANDARD_ITEM, icon: key/toad_doll }
- { priority: 100, name: Calculator, template: STANDARD_ITEM, icon: key/calculator }
- { priority: 101, name: Screwdriver, template: STANDARD_ITEM, icon: key/screwdriver }
- { priority: 102, name: CookBook, template: STANDARD_ITEM, icon: key/book_cook }
- { priority: 103, name: JadeRaven, template: STANDARD_ITEM, icon: key/jade_raven }
- { priority: 104, name: SnowmanBucket, template: STANDARD_ITEM, icon: key/snowman_bucket }
- { priority: 105, name: SnowmanScarf, template: STANDARD_ITEM, icon: key/snowman_scarf }
- { priority: 106, name: RedKey, template: STANDARD_ITEM, icon: key/key_red }
- { priority: 107, name: BlueKey, template: STANDARD_ITEM, icon: key/key_blue }
- { priority: 108, name: KootPackage, template: STANDARD_ITEM, icon: key/koot_package }
- { priority: 109, name: KootRedJar, template: STANDARD_ITEM, icon: key/koot_red_jar }
- { priority: 110, name: Melody, template: STANDARD_ITEM, icon: key/book_melody }
- { priority: 111, name: Lyrics, template: STANDARD_ITEM, icon: key/book_lyrics }
- { priority: 112, name: Mailbag, template: STANDARD_ITEM, icon: key/mailbag }
- { priority: 113, name: StarStone, template: STANDARD_ITEM, icon: key/star_stone }
- { priority: 114, name: SneakyParasol, template: STANDARD_ITEM, icon: peach/sneaky_parasol }
- { priority: 115, name: PeachKey, template: STANDARD_ITEM, icon: key/key_peach }
- { priority: 116, name: UNK_1DC210, template: STANDARD_ITEM, icon: key/1DC210 }
- { priority: 117, name: UNK_1DC430, template: STANDARD_ITEM, icon: key/1DC430 }
- { priority: 118, name: UNK_1DC650, template: STANDARD_ITEM, icon: key/1DC650 }
- { priority: 119, name: UNK_1DC870, template: STANDARD_ITEM, icon: key/1DC870 }
- { priority: 120, name: DojoCard1, template: STANDARD_ITEM, icon: key/dojo_card_1 }
- { priority: 121, name: DojoCard2, template: STANDARD_ITEM, icon: key/dojo_card_2 }
- { priority: 122, name: DojoCard3, template: STANDARD_ITEM, icon: key/dojo_card_3 }
- { priority: 123, name: DojoCard4, template: STANDARD_ITEM, icon: key/dojo_card_4 }
- { priority: 124, name: DojoCard5, template: STANDARD_ITEM, icon: key/dojo_card_5 }
- { priority: 125, name: CrystalBall, template: STANDARD_ITEM, icon: key/crystal_ball }
- { priority: 126, name: GoldCard, template: STANDARD_ITEM, icon: key/card_gold }
- { priority: 127, name: SilverCard, template: STANDARD_ITEM, icon: key/card_silver }
- { priority: 128, name: KootBook, template: STANDARD_ITEM, icon: key/koot_book }
- { priority: 129, name: KootTheTape, template: STANDARD_ITEM, icon: key/koot_the_tape }
- { priority: 130, name: KootLuigiAutograph, template: STANDARD_ITEM, icon: key/koot_autograph_luigi }
- { priority: 131, name: KootEmptyWallet, template: STANDARD_ITEM, icon: key/koot_empty_wallet }
- { priority: 132, name: KootMerluvleeAutograph, template: STANDARD_ITEM, icon: key/koot_autograph_merluvlee }
- { priority: 133, name: KootShell, template: STANDARD_ITEM, icon: key/koot_shell }
- { priority: 134, name: KootPhoto, template: STANDARD_ITEM, icon: key/koot_photo }
- { priority: 135, name: KootGlasses, template: STANDARD_ITEM, icon: key/koot_glasses }
- { priority: 136, name: Letter, template: STANDARD_ITEM, icon: key/Letter, pair: true }
- { priority: 137, name: Unused_089, template: STANDARD_ITEM, icon: key/LongLetter, pair: true }
- { priority: 138, name: Unused_08A, template: STANDARD_ITEM, icon: key/TealLetter, pair: true }
- { priority: 139, name: Unused_08B, template: STANDARD_ITEM, icon: key/Postcard, pair: true }
- { priority: 140, name: Unused_08C, template: STANDARD_ITEM, icon: key/EmptyBook, pair: true }
- { priority: 141, name: Unused_08D, template: STANDARD_ITEM, icon: unused/item_08D, pair: true }
- { priority: 142, name: Unused_08E, template: STANDARD_ITEM, icon: unused/item_08E, pair: true }
- { priority: 143, name: Unused_08F, template: STANDARD_ITEM, icon: unused/item_08F, pair: true }
- { priority: 312, name: PleaseComeBack, template: STANDARD_ITEM, icon: battle/PleaseComeBack, pair: true }
- { priority: 313, name: Unused_139, template: STANDARD_ITEM, icon: battle/item_139, pair: true }
- { priority: 314, name: FrightJar, template: STANDARD_ITEM, icon: battle/FrightJar, pair: true }
- { priority: 315, name: Mystery, template: STANDARD_ITEM, icon: battle/Mystery, pair: true }
- { priority: 316, name: RepelGel, template: STANDARD_ITEM, icon: battle/RepelGel, pair: true }
- { priority: 317, name: InsecticideHerb, template: STANDARD_ITEM, icon: battle/InsecticideHerb, pair: true }
- { priority: 318, name: Unused_13E, template: STANDARD_ITEM, icon: battle/item_13E, pair: true }
- { priority: 319, name: Unused_13F, template: STANDARD_ITEM, icon: battle/item_13F, pair: true }
- { priority: 1, name: SpicySoup, template: STANDARD_ITEM, icon: food/SpicySoup, pair: true }
- { priority: 2, name: ApplePie, template: STANDARD_ITEM, icon: food/ApplePie, pair: true }
- { priority: 3, name: HoneyUltra, template: STANDARD_ITEM, icon: food/HoneyUltra, pair: true }
- { priority: 4, name: MapleUltra, template: STANDARD_ITEM, icon: food/MapleUltra, pair: true }
- { priority: 5, name: JellyUltra, template: STANDARD_ITEM, icon: food/JellyUltra, pair: true }
- { priority: 6, name: Koopasta, template: STANDARD_ITEM, icon: food/Koopasta, pair: true }
- { priority: 7, name: FriedShroom, template: STANDARD_ITEM, icon: food/FriedShroom, pair: true }
- { priority: 8, name: ShroomCake, template: STANDARD_ITEM, icon: food/ShroomCake, pair: true }
- { priority: 9, name: ShroomSteak, template: STANDARD_ITEM, icon: food/ShroomSteak, pair: true }
- { priority: 10, name: HotShroom, template: STANDARD_ITEM, icon: food/HotShroom, pair: true }
- { priority: 11, name: SweetShroom, template: STANDARD_ITEM, icon: food/SweetShroom, pair: true }
- { priority: 12, name: HealthyJuice, template: STANDARD_ITEM, icon: food/HealthyJuice, pair: true }
- { priority: 13, name: BlandMeal, template: STANDARD_ITEM, icon: food/BlandMeal, pair: true }
- { priority: 14, name: YummyMeal, template: STANDARD_ITEM, icon: food/YummyMeal, pair: true }
- { priority: 15, name: DeluxeFeast, template: STANDARD_ITEM, icon: food/DeluxeFeast, pair: true }
- { priority: 16, name: SpecialShake, template: STANDARD_ITEM, icon: food/SpecialShake, pair: true }
- { priority: 17, name: BigCookie, template: STANDARD_ITEM, icon: food/BigCookie, pair: true }
- { priority: 18, name: Cake, template: STANDARD_ITEM, icon: food/Cake, pair: true }
- { priority: 19, name: Mistake, template: STANDARD_ITEM, icon: food/Mistake, pair: true }
- { priority: 20, name: KoopaTea, template: STANDARD_ITEM, icon: food/KoopaTea, pair: true }
- { priority: 21, name: HoneySuper, template: STANDARD_ITEM, icon: food/HoneySuper, pair: true }
- { priority: 22, name: MapleSuper, template: STANDARD_ITEM, icon: food/MapleSuper, pair: true }
- { priority: 23, name: JellySuper, template: STANDARD_ITEM, icon: food/JellySuper, pair: true }
- { priority: 24, name: Spaghetti, template: STANDARD_ITEM, icon: food/Spaghetti, pair: true }
- { priority: 25, name: EggMissile, template: STANDARD_ITEM, icon: food/EggMissile, pair: true }
- { priority: 26, name: FriedEgg, template: STANDARD_ITEM, icon: food/FriedEgg, pair: true }
- { priority: 27, name: HoneyShroom, template: STANDARD_ITEM, icon: food/HoneyShroom, pair: true }
- { priority: 28, name: HoneyCandy, template: STANDARD_ITEM, icon: food/HoneyCandy, pair: true }
- { priority: 29, name: ElectroPop, template: STANDARD_ITEM, icon: food/ElectroPop, pair: true }
- { priority: 30, name: FirePop, template: STANDARD_ITEM, icon: food/FirePop, pair: true }
- { priority: 31, name: LimeCandy, template: STANDARD_ITEM, icon: food/LimeCandy, pair: true }
- { priority: 32, name: CocoPop, template: STANDARD_ITEM, icon: food/CocoPop, pair: true }
- { priority: 33, name: LemonCandy, template: STANDARD_ITEM, icon: food/LemonCandy, pair: true }
- { priority: 34, name: JellyPop, template: STANDARD_ITEM, icon: food/JellyPop, pair: true }
- { priority: 35, name: StrangeCake, template: STANDARD_ITEM, icon: food/StrangeCake, pair: true }
- { priority: 36, name: KookyCookie, template: STANDARD_ITEM, icon: food/KookyCookie, pair: true }
- { priority: 37, name: FrozenFries, template: STANDARD_ITEM, icon: food/FrozenFries, pair: true }
- { priority: 38, name: PotatoSalad, template: STANDARD_ITEM, icon: food/PotatoSalad, pair: true }
- { priority: 39, name: NuttyCake, template: STANDARD_ITEM, icon: food/NuttyCake, pair: true }
- { priority: 40, name: MapleShroom, template: STANDARD_ITEM, icon: food/MapleShroom, pair: true }
- { priority: 41, name: BoiledEgg, template: STANDARD_ITEM, icon: food/BoiledEgg, pair: true }
- { priority: 42, name: YoshiCookie, template: STANDARD_ITEM, icon: food/YoshiCookie, pair: true }
- { priority: 43, name: JellyShroom, template: STANDARD_ITEM, icon: food/JellyShroom, pair: true }
- { priority: 44, name: Unused_02C, template: STANDARD_ITEM, icon: unused/item_02C, pair: true }
- { priority: 45, name: Unused_02D, template: STANDARD_ITEM, icon: unused/item_02D, pair: true }
- { priority: 46, name: Unused_02E, template: STANDARD_ITEM, icon: unused/item_02E, pair: true }
- { priority: 47, name: Unused_02F, template: STANDARD_ITEM, icon: unused/item_02F, pair: true }
- { priority: 48, name: Unused_030, template: STANDARD_ITEM, icon: unused/item_030, pair: true }
- { priority: 144, name: SpinSmash, template: STANDARD_ITEM, icon: badge/SpinSmash, pair: true }
- { priority: 145, name: Multibounce, template: STANDARD_ITEM, icon: badge/Multibounce, pair: true }
- { priority: 146, name: PowerPlus, template: STANDARD_ITEM, icon: badge/PowerPlus, pair: true }
- { priority: 147, name: DodgeMaster, template: STANDARD_ITEM, icon: badge/DodgeMaster, pair: true }
- { priority: 148, name: PowerBounce, template: STANDARD_ITEM, icon: badge/PowerBounce, pair: true }
- { priority: 149, name: SpikeShield, template: STANDARD_ITEM, icon: badge/SpikeShield, pair: true }
- { priority: 150, name: FirstAttack, template: STANDARD_ITEM, icon: badge/FirstAttack, pair: true }
- { priority: 151, name: HPPlus, template: STANDARD_ITEM, icon: badge/HPPlus, pair: true }
- { priority: 152, name: QuakeHammer, template: STANDARD_ITEM, icon: badge/QuakeHammer, pair: true }
- { priority: 153, name: DoubleDip, template: STANDARD_ITEM, icon: badge/DoubleDip, pair: true }
- { priority: 154, name: PowerQuake, template: STANDARD_ITEM, icon: badge/PowerQuake, pair: true }
- { priority: 155, name: MegaQuake, template: STANDARD_ITEM, icon: badge/MegaQuake, pair: true }
- { priority: 156, name: SleepStomp, template: STANDARD_ITEM, icon: badge/SleepStomp, pair: true }
- { priority: 157, name: SmashCharge, template: STANDARD_ITEM, icon: badge/SmashCharge, pair: true }
- { priority: 158, name: SSmashChg, template: STANDARD_ITEM, icon: badge/SSmashChg, pair: true }
- { priority: 159, name: AutoSmash, template: STANDARD_ITEM, icon: badge/AutoSmash, pair: true }
- { priority: 160, name: FireShield, template: STANDARD_ITEM, icon: badge/FireShield, pair: true }
- { priority: 161, name: JumpCharge, template: STANDARD_ITEM, icon: badge/JumpCharge, pair: true }
- { priority: 162, name: SJumpChg, template: STANDARD_ITEM, icon: badge/SJumpChg, pair: true }
- { priority: 163, name: AutoJump, template: STANDARD_ITEM, icon: badge/AutoJump, pair: true }
- { priority: 164, name: DDownPound, template: STANDARD_ITEM, icon: badge/DDownPound, pair: true }
- { priority: 165, name: AutoMultibounce, template: STANDARD_ITEM, icon: badge/AutoMultibounce, pair: true }
- { priority: 166, name: DizzyStomp, template: STANDARD_ITEM, icon: badge/DizzyStomp, pair: true }
- { priority: 167, name: HammerThrow, template: STANDARD_ITEM, icon: badge/HammerThrow, pair: true }
- { priority: 168, name: SmashCharge0, template: STANDARD_ITEM, icon: badge/SmashCharge0, pair: true }
- { priority: 169, name: PrettyLucky, template: STANDARD_ITEM, icon: badge/PrettyLucky, pair: true }
- { priority: 170, name: FeelingFine, template: STANDARD_ITEM, icon: badge/FeelingFine, pair: true }
- { priority: 171, name: AttackFXA, template: STANDARD_ITEM, icon: badge/AttackFXA, pair: true }
- { priority: 172, name: AllorNothing, template: STANDARD_ITEM, icon: badge/AllorNothing, pair: true }
- { priority: 173, name: HPDrain, template: STANDARD_ITEM, icon: badge/HPDrain, pair: true }
- { priority: 174, name: JumpCharge0, template: STANDARD_ITEM, icon: badge/JumpCharge0, pair: true }
- { priority: 175, name: SlowGo, template: STANDARD_ITEM, icon: badge/SlowGo, pair: true }
- { priority: 176, name: FPPlus, template: STANDARD_ITEM, icon: badge/FPPlus, pair: true }
- { priority: 177, name: MegaRush, template: STANDARD_ITEM, icon: badge/MegaRush, pair: true }
- { priority: 178, name: IcePower, template: STANDARD_ITEM, icon: badge/IcePower, pair: true }
- { priority: 179, name: DefendPlus, template: STANDARD_ITEM, icon: badge/DefendPlus, pair: true }
- { priority: 180, name: PayOff, template: STANDARD_ITEM, icon: badge/PayOff, pair: true }
- { priority: 181, name: MoneyMoney, template: STANDARD_ITEM, icon: badge/MoneyMoney, pair: true }
- { priority: 182, name: ChillOut, template: STANDARD_ITEM, icon: badge/ChillOut, pair: true }
- { priority: 183, name: HappyHeart, template: STANDARD_ITEM, icon: badge/HappyHeart, pair: true }
- { priority: 184, name: ZapTap, template: STANDARD_ITEM, icon: badge/ZapTap, pair: true }
- { priority: 185, name: Berserker, template: STANDARD_ITEM, icon: badge/Berserker, pair: true }
- { priority: 186, name: RightOn, template: STANDARD_ITEM, icon: badge/RightOn, pair: true }
- { priority: 187, name: RunawayPay, template: STANDARD_ITEM, icon: badge/RunawayPay, pair: true }
- { priority: 188, name: Refund, template: STANDARD_ITEM, icon: badge/Refund, pair: true }
- { priority: 189, name: FlowerSaver, template: STANDARD_ITEM, icon: badge/FlowerSaver, pair: true }
- { priority: 190, name: TripleDip, template: STANDARD_ITEM, icon: badge/TripleDip, pair: true }
- { priority: 191, name: FlowerFanatic, template: STANDARD_ITEM, icon: badge/FlowerFanatic, pair: true }
- { priority: 192, name: PowerJump, template: STANDARD_ITEM, icon: badge/PowerJump, pair: true }
- { priority: 193, name: SuperJump, template: STANDARD_ITEM, icon: badge/SuperJump, pair: true }
- { priority: 194, name: MegaJump, template: STANDARD_ITEM, icon: badge/MegaJump, pair: true }
- { priority: 195, name: PowerSmash1, template: STANDARD_ITEM, icon: badge/PowerSmash, pair: true }
- { priority: 196, name: SuperSmash, template: STANDARD_ITEM, icon: badge/SuperSmash, pair: true }
- { priority: 197, name: MegaSmash, template: STANDARD_ITEM, icon: badge/MegaSmash, pair: true }
- { priority: 198, name: LuckyDay, template: STANDARD_ITEM, icon: badge/LuckyDay, pair: true }
- { priority: 199, name: MegaHPDrain, template: STANDARD_ITEM, icon: badge/MegaHPDrain, pair: true }
- { priority: 200, name: BumpAttack, template: STANDARD_ITEM, icon: badge/BumpAttack, pair: true }
- { priority: 201, name: PUpDDown, template: STANDARD_ITEM, icon: badge/PUpDDown, pair: true }
- { priority: 202, name: PDownDUp, template: STANDARD_ITEM, icon: badge/PDownDUp, pair: true }
- { priority: 203, name: HeartFinder, template: STANDARD_ITEM, icon: badge/HeartFinder, pair: true }
- { priority: 204, name: FlowerFinder, template: STANDARD_ITEM, icon: badge/FlowerFinder, pair: true }
- { priority: 205, name: DizzyAttack, template: STANDARD_ITEM, icon: badge/DizzyAttack, pair: true }
- { priority: 206, name: SpeedySpin, template: STANDARD_ITEM, icon: badge/SpeedySpin, pair: true }
- { priority: 207, name: SpinAttack, template: STANDARD_ITEM, icon: badge/SpinAttack, pair: true }
- { priority: 208, name: ISpy, template: STANDARD_ITEM, icon: badge/ISpy, pair: true }
- { priority: 209, name: PowerRush, template: STANDARD_ITEM, icon: badge/PowerRush, pair: true }
- { priority: 210, name: LastStand, template: STANDARD_ITEM, icon: badge/LastStand, pair: true }
- { priority: 211, name: CloseCall, template: STANDARD_ITEM, icon: badge/CloseCall, pair: true }
- { priority: 212, name: CrazyHeart, template: STANDARD_ITEM, icon: badge/CrazyHeart, pair: true }
- { priority: 213, name: Unused_0D5, template: STANDARD_ITEM, icon: unused/item_0D5, pair: true }
- { priority: 214, name: Unused_0D6, template: STANDARD_ITEM, icon: unused/item_0D6, pair: true }
- { priority: 215, name: Unused_0D7, template: STANDARD_ITEM, icon: unused/item_0D7, pair: true }
- { priority: 216, name: ShrinkSmash, template: STANDARD_ITEM, icon: badge/ShrinkSmash, pair: true }
- { priority: 217, name: ShrinkStomp, template: STANDARD_ITEM, icon: badge/ShrinkStomp, pair: true }
- { priority: 218, name: DDownJump, template: STANDARD_ITEM, icon: badge/DDownJump, pair: true }
- { priority: 219, name: DamageDodge, template: STANDARD_ITEM, icon: badge/DamageDodge, pair: true }
- { priority: 220, name: EarthquakeJump, template: STANDARD_ITEM, icon: badge/EarthquakeJump, pair: true }
- { priority: 221, name: HappyFlower, template: STANDARD_ITEM, icon: badge/HappyFlower, pair: true }
- { priority: 222, name: Unused_0DE, template: STANDARD_ITEM, icon: badge/HappyCoin, pair: true }
- { priority: 223, name: Unused_0DF, template: STANDARD_ITEM, icon: unused/item_0DF, pair: true }
- { priority: 224, name: DeepFocus, template: STANDARD_ITEM, icon: badge/DeepFocus, pair: true }
- { priority: 225, name: SuperFocus, template: STANDARD_ITEM, icon: badge/SuperFocus, pair: true }
- { priority: 226, name: Kaiden, template: STANDARD_ITEM, icon: badge/Kaiden, pair: true }
- { priority: 227, name: QuickChange, template: STANDARD_ITEM, icon: badge/QuickChange, pair: true }
- { priority: 228, name: Unused_0E4, template: STANDARD_ITEM, icon: unused/item_0E4, pair: true }
- { priority: 229, name: Unused_0E5, template: STANDARD_ITEM, icon: unused/item_0E5, pair: true }
- { priority: 230, name: Unused_0E6, template: STANDARD_ITEM, icon: unused/item_0E6, pair: true }
- { priority: 231, name: Unused_0E7, template: STANDARD_ITEM, icon: unused/item_0E7, pair: true }
- { priority: 232, name: Peekaboo, template: STANDARD_ITEM, icon: badge/Peekaboo, pair: true }
- { priority: 233, name: GroupFocus, template: STANDARD_ITEM, icon: badge/GroupFocus, pair: true }
- { priority: 234, name: AttackFXD, template: STANDARD_ITEM, icon: badge/AttackFXD, pair: true }
- { priority: 235, name: AttackFXB, template: STANDARD_ITEM, icon: badge/AttackFXB, pair: true }
- { priority: 236, name: AttackFXE, template: STANDARD_ITEM, icon: badge/AttackFXE, pair: true }
- { priority: 237, name: AttackFXC, template: STANDARD_ITEM, icon: badge/AttackFXC, pair: true }
- { priority: 238, name: AttackFXF, template: STANDARD_ITEM, icon: badge/AttackFXF, pair: true }
- { priority: 239, name: Unused_0EF, template: STANDARD_ITEM, icon: unused/item_0EF, pair: true }
- { priority: 240, name: HealthyHealthy, template: STANDARD_ITEM, icon: badge/HealthyHealthy, pair: true }
- { priority: 241, name: Unused_0F1, template: STANDARD_ITEM, icon: unused/item_0F1, pair: true }
- { priority: 242, name: Unused_0F2, template: STANDARD_ITEM, icon: unused/item_0F2, pair: true }
- { priority: 243, name: Unused_0F3, template: STANDARD_ITEM, icon: unused/item_0F3, pair: true }
- { priority: 244, name: Unused_0F4, template: STANDARD_ITEM, icon: unused/item_0F4, pair: true }
- { priority: 245, name: Unused_0F5, template: STANDARD_ITEM, icon: unused/item_0F5, pair: true }
- { priority: 246, name: Unused_0F6, template: STANDARD_ITEM, icon: unused/item_0F6, pair: true }
- { priority: 247, name: Unused_0F7, template: STANDARD_ITEM, icon: unused/item_0F7, pair: true }
- { priority: 288, name: FireFlower, template: STANDARD_ITEM, icon: battle/FireFlower, pair: true }
- { priority: 289, name: SnowmanDoll, template: STANDARD_ITEM, icon: battle/SnowmanDoll, pair: true }
- { priority: 290, name: ThunderRage, template: STANDARD_ITEM, icon: battle/ThunderRage, pair: true }
- { priority: 291, name: ThunderBolt, template: STANDARD_ITEM, icon: battle/ThunderBolt, pair: true }
- { priority: 292, name: ShootingStar, template: STANDARD_ITEM, icon: battle/ShootingStar, pair: true }
- { priority: 293, name: DustyHammer, template: STANDARD_ITEM, icon: battle/DustyHammer, pair: true }
- { priority: 294, name: Pebble, template: STANDARD_ITEM, icon: battle/Pebble, pair: true }
- { priority: 295, name: Unused_127, template: STANDARD_ITEM, icon: unused/item_127, pair: true }
- { priority: 296, name: StoneCap, template: STANDARD_ITEM, icon: battle/StoneCap, pair: true }
- { priority: 297, name: VoltShroom, template: STANDARD_ITEM, icon: battle/VoltShroom, pair: true }
- { priority: 298, name: PowerStar, template: STANDARD_ITEM, icon: battle/PowerStar, pair: true }
- { priority: 299, name: Parasol, template: STANDARD_ITEM, icon: battle/Parasol, pair: true }
- { priority: 300, name: MagicMirror, template: STANDARD_ITEM, icon: battle/MagicMirror, pair: true }
- { priority: 301, name: Unused_12D, template: STANDARD_ITEM, icon: unused/item_12D, pair: true }
- { priority: 302, name: Unused_12E, template: STANDARD_ITEM, icon: unused/item_12E, pair: true }
- { priority: 303, name: Unused_12F, template: STANDARD_ITEM, icon: unused/item_12F, pair: true }
- { priority: 248, name: Mushroom, template: STANDARD_ITEM, icon: food/Mushroom, pair: true }
- { priority: 249, name: SuperShroom, template: STANDARD_ITEM, icon: food/SuperShroom, pair: true }
- { priority: 250, name: UltraShroom, template: STANDARD_ITEM, icon: food/UltraShroom, pair: true }
- { priority: 251, name: LifeShroom, template: STANDARD_ITEM, icon: food/LifeShroom, pair: true }
- { priority: 252, name: DriedShroom, template: STANDARD_ITEM, icon: food/DriedShroom, pair: true }
- { priority: 253, name: TastyTonic, template: STANDARD_ITEM, icon: food/TastyTonic, pair: true }
- { priority: 254, name: SuperSoda, template: STANDARD_ITEM, icon: food/SuperSoda, pair: true }
- { priority: 255, name: BlueBerry, template: STANDARD_ITEM, icon: food/BlueBerry, pair: true }
- { priority: 256, name: RedBerry, template: STANDARD_ITEM, icon: food/RedBerry, pair: true }
- { priority: 257, name: YellowBerry, template: STANDARD_ITEM, icon: food/YellowBerry, pair: true }
- { priority: 258, name: BubbleBerry, template: STANDARD_ITEM, icon: food/BubbleBerry, pair: true }
- { priority: 259, name: Goomnut, template: STANDARD_ITEM, icon: food/Goomnut, pair: true }
- { priority: 260, name: KoopaLeaf, template: STANDARD_ITEM, icon: food/KoopaLeaf, pair: true }
- { priority: 261, name: DriedPasta, template: STANDARD_ITEM, icon: food/DriedPasta, pair: true }
- { priority: 262, name: Lime, template: STANDARD_ITEM, icon: food/Lime, pair: true }
- { priority: 263, name: Lemon, template: STANDARD_ITEM, icon: food/Lemon, pair: true }
- { priority: 264, name: DriedFruit, template: STANDARD_ITEM, icon: food/DriedFruit, pair: true }
- { priority: 265, name: StrangeLeaf, template: STANDARD_ITEM, icon: food/StrangeLeaf, pair: true }
- { priority: 266, name: CakeMix, template: STANDARD_ITEM, icon: food/CakeMix, pair: true }
- { priority: 267, name: Egg, template: STANDARD_ITEM, icon: food/Egg, pair: true }
- { priority: 268, name: Coconut, template: STANDARD_ITEM, icon: food/Coconut, pair: true }
- { priority: 269, name: Melon, template: STANDARD_ITEM, icon: food/Melon, pair: true }
- { priority: 270, name: StinkyHerb, template: STANDARD_ITEM, icon: food/StinkyHerb, pair: true }
- { priority: 271, name: IcedPotato, template: STANDARD_ITEM, icon: food/IcedPotato, pair: true }
- { priority: 272, name: HoneySyrup, template: STANDARD_ITEM, icon: food/HoneySyrup, pair: true }
- { priority: 273, name: MapleSyrup, template: STANDARD_ITEM, icon: food/MapleSyrup, pair: true }
- { priority: 274, name: JamminJelly, template: STANDARD_ITEM, icon: food/JamminJelly, pair: true }
- { priority: 275, name: WhackasBump, template: STANDARD_ITEM, icon: food/WhackasBump, pair: true }
- { priority: 276, name: Apple, template: STANDARD_ITEM, icon: food/Apple, pair: true }
- { priority: 277, name: BakingSalt, template: STANDARD_ITEM, icon: peach/BakingSalt, pair: true }
- { priority: 278, name: BakingSugar, template: STANDARD_ITEM, icon: peach/BakingSugar, pair: true }
- { priority: 279, name: BakingEgg, template: STANDARD_ITEM, icon: peach/BakingEgg, pair: true }
- { priority: 280, name: BakingCream, template: STANDARD_ITEM, icon: peach/BakingCream, pair: true }
- { priority: 281, name: BakingStrawberry, template: STANDARD_ITEM, icon: peach/BakingStrawberry, pair: true }
- { priority: 282, name: BakingButter, template: STANDARD_ITEM, icon: peach/BakingButter, pair: true }
- { priority: 283, name: BakingCleanser, template: STANDARD_ITEM, icon: peach/BakingCleanser, pair: true }
- { priority: 284, name: BakingWater, template: STANDARD_ITEM, icon: peach/BakingWater, pair: true }
- { priority: 285, name: BakingFlour, template: STANDARD_ITEM, icon: peach/BakingFlour, pair: true }
- { priority: 286, name: BakingMilk, template: STANDARD_ITEM, icon: peach/BakingMilk, pair: true }
- { priority: 287, name: Unused_11F, template: STANDARD_ITEM, icon: unused/item_11F, pair: true }
- { priority: 304, name: SleepySheep, template: STANDARD_ITEM, icon: battle/SleepySheep, pair: true }
- { priority: 305, name: XBandage, template: STANDARD_ITEM, icon: battle/XBandage, pair: true }
- { priority: 306, name: POWBlock, template: STANDARD_ITEM, icon: battle/POWBlock, pair: true }
- { priority: 307, name: HustleDrink, template: STANDARD_ITEM, icon: battle/HustleDrink, pair: true }
- { priority: 308, name: StopWatch, template: STANDARD_ITEM, icon: battle/StopWatch, pair: true }
- { priority: 309, name: DizzyDial, template: STANDARD_ITEM, icon: battle/DizzyDial, pair: true }
- { priority: 310, name: Unused_136, template: STANDARD_ITEM, icon: battle/item_136, pair: true }
- { priority: 311, name: Unused_137, template: STANDARD_ITEM, icon: battle/item_137, pair: true }

File diff suppressed because it is too large Load Diff

5459
src/item_table.yaml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1665
src/move_table.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -663,9 +663,9 @@ void msg_play_speech_sound(MessagePrintState* printer, u8 character) {
}
if (character & flag) {
sfx_play_sound_with_params(printer->speedSoundIDA, volume, printer->speechPan, pitchShift);
sfx_play_sound_with_params(printer->speechSoundIDA, volume, printer->speechPan, pitchShift);
} else {
sfx_play_sound_with_params(printer->speedSoundIDB, volume, printer->speechPan, pitchShift);
sfx_play_sound_with_params(printer->speechSoundIDB, volume, printer->speechPan, pitchShift);
}
}
}
@ -674,7 +674,7 @@ extern s32 gItemIconRasterOffsets[];
extern s32 gItemIconPaletteOffsets[];
extern s32 D_802EB5C0[];
extern s32 D_802EB5F0[];
extern struct_D_802EB620 D_802EB620[];
extern MsgVoice MsgVoices[];
#if VERSION_IQUE
INCLUDE_ASM(s32, "msg", msg_copy_to_print_buffer);
@ -771,8 +771,8 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
if (nextArg != MSG_CHAR_UNK_C3) {
printer->stateFlags |= MSG_STATE_FLAG_80;
}
printer->speedSoundIDA = SOUND_11;
printer->speedSoundIDB = SOUND_12;
printer->speechSoundIDA = SOUND_NORMAL_VOICE_A;
printer->speechSoundIDB = SOUND_NORMAL_VOICE_B;
printer->windowState = MSG_WINDOW_STATE_OPENING;
break;
case MSG_STYLE_CHOICE:
@ -1243,9 +1243,9 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
case MSG_READ_FUNC_VOICE:
arg = *srcBuf++;
printer->speechSoundType = arg;
printer->speedSoundIDA = D_802EB620[arg].unk_00;
printer->speedSoundIDB = D_802EB620[arg].unk_04;
printer->speechVolumePitch = D_802EB620[arg].unk_08;
printer->speechSoundIDA = MsgVoices[arg].unk_00;
printer->speechSoundIDB = MsgVoices[arg].unk_04;
printer->speechVolumePitch = MsgVoices[arg].unk_08;
break;
case MSG_READ_FUNC_VOLUME:
printer->volume = *srcBuf++;
@ -1255,12 +1255,12 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) {
argQ = *srcBuf++;
argW = *srcBuf++;
argE = *srcBuf++;
printer->speedSoundIDA = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE);
printer->speechSoundIDA = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE);
arg = *srcBuf++;
argQ = *srcBuf++;
argW = *srcBuf++;
argE = *srcBuf++;
printer->speedSoundIDB = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE);
printer->speechSoundIDB = (arg << 0x18) + (argQ << 0x10) + (argW << 0x8) + (argE);
break;
case MSG_READ_FUNC_CENTER_X:
*printBuf++ = MSG_CHAR_PRINT_FUNCTION;
@ -1374,8 +1374,8 @@ void initialize_printer(MessagePrintState* printer, s32 arg1, s32 arg2) {
printer->windowSize.y = 0;
printer->windowSize.x = 0;
printer->speechVolumePitch = 0;
printer->speedSoundIDA = 0;
printer->speedSoundIDB = 0;
printer->speechSoundIDA = 0;
printer->speechSoundIDB = 0;
printer->varBufferReadPos = 0;
printer->curImageIndex = 0;
printer->varImageScreenPos.x = 0;

View File

@ -8,20 +8,20 @@ s32 D_802EB5F0[] = {
0x0000EB78, 0x00010778, 0x00012378, 0x00013F78, 0x00015B78, 0x00017778, 0x00019378, 0x0001AF78, 0x0001CB78, 0x0001E778, 0x00020378, 0x00021F78
};
struct_D_802EB620 D_802EB620[] = {
MsgVoice MsgVoices[] = {
{
.unk_00 = 0x11,
.unk_04 = 0x12,
.unk_00 = SOUND_NORMAL_VOICE_A,
.unk_04 = SOUND_NORMAL_VOICE_B,
.unk_08 = 0
},
{
.unk_00 = 0x17,
.unk_04 = 0x18,
.unk_00 = SOUND_BOWSER_VOICE_A,
.unk_04 = SOUND_BOWSER_VOICE_B,
.unk_08 = -50
},
{
.unk_00 = 0x1B,
.unk_04 = 0x1B,
.unk_00 = SOUND_STAR_VOICE,
.unk_04 = SOUND_STAR_VOICE,
.unk_08 = 0
},
};

View File

@ -1,7 +1,7 @@
#include "pause_common.h"
#include "message_ids.h"
extern Gfx gPauseDLOrbs[];
extern Gfx PauseGfxOrbs[];
void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_badges_init(MenuPanel* panel);
@ -531,7 +531,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
orbColorG1 = 255;
orbColorB1 = 100;
gSPDisplayList(gMainGfxPos++, gPauseDLOrbs);
gSPDisplayList(gMainGfxPos++, PauseGfxOrbs);
gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
if (isEquipped == 0) {
@ -642,7 +642,7 @@ void pause_badges_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width
orbColorG = 255;
orbColorB = 100;
maxBP = playerData->maxBP;
gSPDisplayList(gMainGfxPos++, gPauseDLOrbs);
gSPDisplayList(gMainGfxPos++, PauseGfxOrbs);
gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
for (orbIndex = 0; orbIndex < maxBP; orbIndex++) {
gDPSetPrimColor(gMainGfxPos++, 0, 0, 227, 227, 227, 255);

View File

@ -71,7 +71,7 @@ extern u8 pause_banner_boots_pal[];
extern u8 pause_banner_star_energy_pal[];
#endif
Gfx gPauseDLBannerHp[] = {
Gfx PauseGfxBannerHp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -90,7 +90,7 @@ Gfx gPauseDLBannerHp[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerFp[] = {
Gfx PauseGfxBannerFp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -109,7 +109,7 @@ Gfx gPauseDLBannerFp[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerBp[] = {
Gfx PauseGfxBannerBp[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -128,7 +128,7 @@ Gfx gPauseDLBannerBp[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerBoots[] = {
Gfx PauseGfxBannerBoots[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -147,7 +147,7 @@ Gfx gPauseDLBannerBoots[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerHammer[] = {
Gfx PauseGfxBannerHammer[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -166,7 +166,7 @@ Gfx gPauseDLBannerHammer[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLBannerStarEnergy[] = {
Gfx PauseGfxBannerStarEnergy[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -185,7 +185,7 @@ Gfx gPauseDLBannerStarEnergy[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLStatsBar[] = {
Gfx PauseGfxStatsBar[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -204,7 +204,7 @@ Gfx gPauseDLStatsBar[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLWorldMap[] = {
Gfx PauseGfxWorldMap[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -222,7 +222,7 @@ Gfx gPauseDLWorldMap[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLPathPoints[] = {
Gfx PauseGfxPathPoints[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -242,7 +242,7 @@ Gfx gPauseDLPathPoints[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLArrows[] = {
Gfx PauseGfxArrows[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -260,7 +260,7 @@ Gfx gPauseDLArrows[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLOrbs[] = {
Gfx PauseGfxOrbs[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -278,7 +278,7 @@ Gfx gPauseDLOrbs[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLAvailable[] = {
Gfx PauseGfxAvailable[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -302,7 +302,7 @@ Gfx gPauseDLAvailable[] = {
#define pause_prompt_check_abilities_png_height 16
#endif
Gfx gPauseDLCheckAbilities[] = {
Gfx PauseGfxCheckAbilities[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -321,7 +321,7 @@ Gfx gPauseDLCheckAbilities[] = {
gsSPEndDisplayList(),
};
Gfx gPauseDLSpiritsBg[] = {
Gfx PauseGfxSpiritsBg[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_1CYCLE),
@ -567,16 +567,16 @@ s32 gPauseMessages[] = {
[PAUSE_MSG_UNKNOWN_SPIRIT] (s32) gPauseMsg_56,
};
Gfx* gPauseDLLabels[] = {
[PAUSE_LBL_HP] gPauseDLBannerHp,
[PAUSE_LBL_FP] gPauseDLBannerFp,
[PAUSE_LBL_BP] gPauseDLBannerBp,
[PAUSE_LBL_BOOTS] gPauseDLBannerBoots,
[PAUSE_LBL_HAMMER] gPauseDLBannerHammer,
[PAUSE_LBL_ENERGY] gPauseDLBannerStarEnergy,
[PAUSE_LBL_STATS] gPauseDLStatsBar,
[PAUSE_LBL_AVAILABLE] gPauseDLAvailable,
[PAUSE_LBL_ABILITIES] gPauseDLCheckAbilities,
Gfx* PauseGfxLabels[] = {
[PAUSE_LBL_HP] PauseGfxBannerHp,
[PAUSE_LBL_FP] PauseGfxBannerFp,
[PAUSE_LBL_BP] PauseGfxBannerBp,
[PAUSE_LBL_BOOTS] PauseGfxBannerBoots,
[PAUSE_LBL_HAMMER] PauseGfxBannerHammer,
[PAUSE_LBL_ENERGY] PauseGfxBannerStarEnergy,
[PAUSE_LBL_STATS] PauseGfxStatsBar,
[PAUSE_LBL_AVAILABLE] PauseGfxAvailable,
[PAUSE_LBL_ABILITIES] PauseGfxCheckAbilities,
};
s32 pause_get_menu_msg(s32 index) {
@ -602,7 +602,7 @@ void pause_draw_menu_label(s32 index, s32 x, s32 y) {
xOffset = 160;
}
gSPDisplayList(gMainGfxPos++, gPauseDLLabels[index]);
gSPDisplayList(gMainGfxPos++, PauseGfxLabels[index]);
pause_draw_rect(x * 4, y * 4, (x + xOffset) * 4, (y + 16) * 4, 0, 0, 0, 0x400, 0x400);
#if VERSION_PAL

View File

@ -9,10 +9,10 @@
#define MAP_TITLE_WIDTH 180
#endif
extern Gfx gPauseDLWorldMap[];
extern Gfx PauseGfxWorldMap[];
extern Gfx PauseGfxPathPoints[];
extern Gfx PauseGfxArrows[];
extern u8 pause_world_map_png[];
extern Gfx gPauseDLPathPoints[];
extern Gfx gPauseDLArrows[];
void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
void pause_map_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
@ -21,94 +21,24 @@ void pause_map_handle_input(MenuPanel* tab);
void pause_map_update(MenuPanel* tab);
void pause_map_cleanup(MenuPanel* tab);
static s32 gPauseMapIconIDs[1];
static f32 gPauseMapCameraX;
static f32 gPauseMapCameraY;
static s32 gPauseMapMarioX;
static s32 gPauseMapMarioY;
static f32 gPauseMapTargetX;
static f32 gPauseMapTargetY;
static s32 gPauseMapCursorCurrentOption;
static s32 gPauseMapCursorCurrentOptionCopy;
static s32 gPauseMapSpacesInSnapRange;
static s32 PauseMapIconIDs[1];
static f32 PauseMapCameraX;
static f32 PauseMapCameraY;
static s32 PauseMapMarioX;
static s32 PauseMapMarioY;
static f32 PauseMapTargetX;
static f32 PauseMapTargetY;
static s32 PauseMapCursorCurrentOption;
static s32 PauseMapCursorCurrentOptionCopy;
static s32 PauseMapSpacesInSnapRange;
HudScript* gPauseMapIconScripts[] = { &HES_MapWalk0 };
HudScript* PauseMapIconScripts[] = { &HES_MapWalk0 };
s32 D_8024FA34 = -1;
Vec2b gPauseMapPaths[][32] = {
{ { 1, -10 }, { 1, -8 }, { -9, -2 }, { -8, 0 }, { -8, 0 }, { -7, -3 }, { -5, -3 } },
{ { -1, 24 }, { 1, -8 }, { 2, -7 } },
{ { -3, 7 }, { -7, 4 }, { -8, 2 } },
{ },
{ },
{ { -8, -3 }, { -7, 0 }, { -8, 1 }, { -7, 2 } },
{ { -9, 0 }, { -6, -1 }, { -7, 0 }, { -8, 1 }, { -1, 8 } },
{ { 1, 6 }, { -3, 6 } },
{ { -7, 1 }, { -7, 3 }, { -7, 3 }, { -7, 3 }, { -7, 1 }, { -7, 2 }, { -7, 0 } },
{ { -9, 3 }, { -8, 0 }, { -8, 0 }, { -9, -2 }, { -7, -4 }, { -7, -4 }, { -6, -5 }, { -5, -6 }, { -1, -7 }, { -3, -6 }, { -3, -6 }, { -7, -4 }, { -7, 0 }, { -8, 0 }, { -8, 0 }, { -8, 0 }, { -8, 0 }, { 0, -6 }, { 0, -6 } },
{ { -6, 5 }, { -6, 3 }, { -8, 0 }, { -8, -4 }, { -5, -5 }, { -8, -3 }, { -8, 1 }, { -5, 5 }, { -2, 7 }, { 2, 7 }, { 5, 5 }, { 6, 5 }, { 6, 3 } },
{ { -2, 6 }, { -4, 4 } },
{ { 4, 6 }, { 4, 5 } },
{ { -8, -1 }, { -10, -2 }, { -8, -2 }, { -9, -1 }, { -8, -1 }, { -10, 0 }, { -9, 0 } },
{ { 8, 6 } },
{ { -7, 4 }, { -7, 5 }, { -7, 4 }, { -7, 5 } },
{ { -8, 2 }, { -8, 3 }, { -8, 3 }, { -8, 3 } },
{ { 10, -1 } },
{ { 6, 6 }, { 6, 6 }, { 8, 2 }, { 7, -1 } },
{ { 11, 2 }, { 11, 0 }, { 11, -2 }, { 10, -3 }, { 7, -7 }, { 3, -8 }, { 0, -9 }, { -4, -7 }, { -9, -3 }, { -10, -2 }, { -9, -2 }, { -7, -6 }, { -2, -9 }, { 1, -9 }, { 0, -9 }, { -8, -5 }, { -9, -2 }, { 1, -8 }, { 9, -2 }, { 9, -2 }, { 8, -5 } },
{ { -9, 3 }, { -5, 5 } },
{ { -5, 6 }, { -2, 9 }, { 2, 8 }, { 7, 6 }, { 7, 4 } },
{ },
{ { -3, 6 }, { 0, 7 }, { 5, 6 }, { 1, 7 } },
{ },
{ { -9, -2 } },
{ { -11, 1 }, { -9, -2 } },
{ { -7, 3 }, { -6, 5 } },
{ { 0, 7 } },
{ { -9, 3 }, { -8, 1 }, { -7, 1 }, { -7, 4 }, { 2, 6 }, { 8, 3 } },
{ { -3, 6 }, { 2, 6 }, { 8, 3 }, { 6, 5 }, { -2, 6 }, { -6, 3 } },
{ { -6, 5 }, { -2, 7 }, { 2, 7 }, { 6, 6 }, { 8, 3 }, { 8, 0 }, { 8, -3 }, { 8, -5 }, { 6, -5 }, { 7, -4 }, { 8, -1 }, { 8, 3 }, { 2, 8 } },
{ { -3, 7 }, { 0, 6 }, { 4, 7 } },
{}
};
PauseMapSpace gPauseMapSpaces[] = {
{ .pos = { .x = 116, .y = 185 }, .parent = 0, .pathLength = 7, .path = gPauseMapPaths[ 0], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_TOAD_TOWN },
{ .pos = { .x = 118, .y = 151 }, .parent = 0, .pathLength = 3, .path = gPauseMapPaths[ 1], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_PEACH_CASTLE_GROUNDS },
{ .pos = { .x = 143, .y = 134 }, .parent = 1, .pathLength = 3, .path = gPauseMapPaths[ 2], .afterRequirement = STORY_CH0_BEGAN_PEACH_MISSION, .id = LOCATION_SHOOTING_STAR_SUMMIT },
{ .pos = { .x = 100, .y = 174 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[ 3], .afterRequirement = STORY_61, .id = LOCATION_TOAD_TOWN_TUNNELS },
{ .pos = { .x = 36, .y = 157 }, .parent = 5, .pathLength = 0, .path = gPauseMapPaths[ 4], .afterRequirement = STORY_CH0_GOOMBARIO_JOINED_PARTY, .id = LOCATION_GOOMBA_VILLAGE },
{ .pos = { .x = 74, .y = 154 }, .parent = 0, .pathLength = 4, .path = gPauseMapPaths[ 5], .afterRequirement = STORY_CH0_ARRIVED_AT_TOAD_TOWN, .id = LOCATION_GOOMBA_ROAD },
{ .pos = { .x = 148, .y = 167 }, .parent = 0, .pathLength = 5, .path = gPauseMapPaths[ 6], .afterRequirement = STORY_CH1_STAR_SPRIT_DEPARTED, .id = LOCATION_PLEASANT_PATH },
{ .pos = { .x = 154, .y = 148 }, .parent = 6, .pathLength = 2, .path = gPauseMapPaths[ 7], .afterRequirement = STORY_CH1_KOOPER_JOINED_PARTY, .id = LOCATION_KOOPA_VILLAGE },
{ .pos = { .x = 205, .y = 152 }, .parent = 6, .pathLength = 7, .path = gPauseMapPaths[ 8], .afterRequirement = STORY_CH1_STAR_SPRIT_DEPARTED, .id = LOCATION_KOOPA_BROS_FORTRESS },
{ .pos = { .x = 227, .y = 243 }, .parent = 0, .pathLength = 19, .path = gPauseMapPaths[ 9], .afterRequirement = STORY_61, .id = LOCATION_MT_RUGGED },
{ .pos = { .x = 266, .y = 206 }, .parent = 9, .pathLength = 13, .path = gPauseMapPaths[10], .afterRequirement = STORY_CH2_UNCOVERED_DRY_DRY_RUINS, .id = LOCATION_DRY_DRY_DESERT },
{ .pos = { .x = 280, .y = 191 }, .parent = 10, .pathLength = 2, .path = gPauseMapPaths[11], .afterRequirement = STORY_61, .id = LOCATION_DRY_DRY_OUTPOST },
{ .pos = { .x = 252, .y = 188 }, .parent = 10, .pathLength = 2, .path = gPauseMapPaths[12], .afterRequirement = STORY_CH2_BEGAN_PEACH_MISSION, .id = LOCATION_DRY_DRY_RUINS },
{ .pos = { .x = 187, .y = 193 }, .parent = 0, .pathLength = 7, .path = gPauseMapPaths[13], .afterRequirement = STORY_CH3_ARRIVED_AT_BOOS_MANSION, .id = LOCATION_FOREVER_FOREST },
{ .pos = { .x = 170, .y = 180 }, .parent = 13, .pathLength = 1, .path = gPauseMapPaths[14], .afterRequirement = STORY_CH3_UNLOCKED_GUSTY_GULCH, .id = LOCATION_BOOS_MANSION },
{ .pos = { .x = 223, .y = 170 }, .parent = 13, .pathLength = 4, .path = gPauseMapPaths[15], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_GUSTY_GULCH },
{ .pos = { .x = 263, .y = 156 }, .parent = 15, .pathLength = 4, .path = gPauseMapPaths[16], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_TUBBAS_MANOR },
{ .pos = { .x = 203, .y = 171 }, .parent = 15, .pathLength = 1, .path = gPauseMapPaths[17], .afterRequirement = STORY_CH3_BEGAN_PEACH_MISSION, .id = LOCATION_WINDY_MILL },
{ .pos = { .x = 79, .y = 173 }, .parent = 0, .pathLength = 4, .path = gPauseMapPaths[18], .afterRequirement = STORY_CH4_STAR_SPRIT_DEPARTED, .id = LOCATION_SHY_GUYS_TOYBOX },
{ .pos = { .x = 66, .y = 289 }, .parent = 0, .pathLength = 21, .path = gPauseMapPaths[19], .afterRequirement = STORY_CH5_ZIP_LINE_READY, .id = LOCATION_JADE_JUNGLE },
{ .pos = { .x = 84, .y = 274 }, .parent = 19, .pathLength = 2, .path = gPauseMapPaths[20], .afterRequirement = STORY_61, .id = LOCATION_YOSHIS_VILLAGE },
{ .pos = { .x = 47, .y = 252 }, .parent = 19, .pathLength = 5, .path = gPauseMapPaths[21], .afterRequirement = STORY_CH5_BEGAN_PEACH_MISSION, .id = LOCATION_MT_LAVALAVA },
{ .pos = { .x = 59, .y = 126 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[22], .afterRequirement = STORY_CH6_BEGAN_PEACH_MISSION, .id = LOCATION_FLOWER_FIELDS },
{ .pos = { .x = 58, .y = 92 }, .parent = 22, .pathLength = 4, .path = gPauseMapPaths[23], .afterRequirement = STORY_CH6_BEGAN_PEACH_MISSION, .id = LOCATION_CLOUDY_CLIMB },
{ .pos = { .x = 183, .y = 125 }, .parent = 3, .pathLength = 0, .path = gPauseMapPaths[24], .afterRequirement = STORY_CH7_MAYOR_MURDER_SOLVED, .id = LOCATION_SHIVER_CITY },
{ .pos = { .x = 203, .y = 126 }, .parent = 24, .pathLength = 1, .path = gPauseMapPaths[25], .afterRequirement = STORY_CH7_DEFEATED_MONSTAR, .id = LOCATION_SHIVER_SNOWFIELD },
{ .pos = { .x = 234, .y = 128 }, .parent = 25, .pathLength = 2, .path = gPauseMapPaths[26], .afterRequirement = STORY_CH7_GOT_SNOWMAN_SCARF, .id = LOCATION_STARBORN_VALLEY },
{ .pos = { .x = 220, .y = 112 }, .parent = 25, .pathLength = 2, .path = gPauseMapPaths[27], .afterRequirement = STORY_CH7_STAR_SPRIT_DEPARTED, .id = LOCATION_SHIVER_MOUNTAIN },
{ .pos = { .x = 223, .y = 99 }, .parent = 27, .pathLength = 1, .path = gPauseMapPaths[28], .afterRequirement = STORY_CH7_STAR_SPRIT_DEPARTED, .id = LOCATION_CRYSTAL_PALACE },
{ .pos = { .x = 158, .y = 110 }, .parent = 2, .pathLength = 6, .path = gPauseMapPaths[29], .afterRequirement = STORY_61, .id = LOCATION_STAR_WAY },
{ .pos = { .x = 163, .y = 78 }, .parent = 29, .pathLength = 6, .path = gPauseMapPaths[30], .afterRequirement = STORY_61, .id = LOCATION_STAR_HAVEN },
{ .pos = { .x = 96, .y = 49 }, .parent = 30, .pathLength = 13, .path = gPauseMapPaths[31], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_BOWSERS_CASTLE },
{ .pos = { .x = 88, .y = 22 }, .parent = 31, .pathLength = 3, .path = gPauseMapPaths[32], .afterRequirement = STORY_EPILOGUE, .id = LOCATION_PEACHS_CASTLE },
{ .pos = { .x = 98, .y = 147 }, .parent = 0, .pathLength = 0, .path = gPauseMapPaths[33], .afterRequirement = STORY_61, .id = LOCATION_MARIOS_HOUSE }
};
s32 gPauseMapArrowWobble[] = { 0, 2, 3, 3, 4, 4, 4, 4, 3, 2, 1, 0 };
MenuWindowBP gPauseMapWindowBPs[] = {
#include "world_map.inc.c"
s32 PauseMapArrowWobble[] = { 0, 2, 3, 3, 4, 4, 4, 4, 3, 2, 1, 0 };
MenuWindowBP PauseMapWindowBPs[] = {
{
.windowID = WINDOW_ID_PAUSE_MAP,
.unk_01 = 0,
@ -162,8 +92,8 @@ MenuPanel gPausePanelMap = {
void pause_map_calc_path_points(PauseMapSpace* space) {
Vec2b* path = space->path;
s32 pathLength = space->pathLength;
s32 x1 = gPauseMapSpaces[space->parent].pos.x;
s32 y1 = gPauseMapSpaces[space->parent].pos.y;
s32 x1 = PauseMapSpaces[space->parent].pos.x;
s32 y1 = PauseMapSpaces[space->parent].pos.y;
s32 x2 = space->pos.x;
s32 y2 = space->pos.y;
s32 xThingPrev = 0;
@ -201,8 +131,8 @@ void pause_map_draw_border_arrows(s32 imageIndex, s32 x, s32 y) {
}
void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
s32 cameraX = gPauseMapCameraX;
s32 cameraY = gPauseMapCameraY;
s32 cameraX = PauseMapCameraX;
s32 cameraY = PauseMapCameraY;
s32 i, j;
s32 tileHeight;
s32 x1, y1, x2, y2;
@ -219,7 +149,7 @@ void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s
Vec2b* path;
s32 pathLength;
gSPDisplayList(gMainGfxPos++, gPauseDLWorldMap);
gSPDisplayList(gMainGfxPos++, PauseGfxWorldMap);
ult = -cameraX * 32;
for (i = 0; i < 60; i++) {
if (4 * i + 4 < 111) {
@ -240,7 +170,7 @@ void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s
}
}
gSPDisplayList(gMainGfxPos++, gPauseDLPathPoints);
gSPDisplayList(gMainGfxPos++, PauseGfxPathPoints);
x1 = baseX + 26;
y1 = baseY + 22;
@ -267,10 +197,10 @@ void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s
gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
mapSpace = gPauseMapSpaces;
mapSpace = PauseMapSpaces;
camX = cameraX + baseX;
camY = cameraY + baseY;
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++, mapSpace++) {
for (i = 0; i < ARRAY_COUNT(PauseMapSpaces); i++, mapSpace++) {
posX = mapSpace->pos.x;
posY = mapSpace->pos.y;
@ -279,7 +209,7 @@ void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s
continue;
}
if (i != gPauseMapCursorCurrentOption) {
if (i != PauseMapCursorCurrentOption) {
gDPSetPrimColor(gMainGfxPos++, 0, 0, 220, 80, 30, 255);
} else {
gDPSetPrimColor(gMainGfxPos++, 0, 0, (gGameStatusPtr->frameCounter * 10) % 120 + 120,
@ -308,38 +238,38 @@ void pause_map_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s
mapULX = baseX + 26 + cameraX;
mapULY = baseY + 22 + cameraY;
hud_element_set_render_pos(gPauseMapIconIDs[0], mapULX + gPauseMapMarioX, mapULY + gPauseMapMarioY - 7);
hud_element_draw_without_clipping(gPauseMapIconIDs[0]);
hud_element_set_render_pos(PauseMapIconIDs[0], mapULX + PauseMapMarioX, mapULY + PauseMapMarioY - 7);
hud_element_draw_without_clipping(PauseMapIconIDs[0]);
currentTab = gPauseMenuCurrentTab;
if (currentTab == 6) {
pause_set_cursor_pos(WINDOW_ID_PAUSE_MAP, mapULX + gPauseMapTargetX - 8.0f, mapULY + gPauseMapTargetY);
pause_set_cursor_pos(WINDOW_ID_PAUSE_MAP, mapULX + PauseMapTargetX - 8.0f, mapULY + PauseMapTargetY);
if (gPauseMenuCurrentTab == currentTab) {
offset = gPauseMapArrowWobble[gGameStatusPtr->frameCounter % 12];
offset = PauseMapArrowWobble[gGameStatusPtr->frameCounter % 12];
offsetLeft = offset;
offsetRight = offset;
offsetUp = offset;
offsetDown = offset;
gSPDisplayList(gMainGfxPos++, gPauseDLArrows);
gSPDisplayList(gMainGfxPos++, PauseGfxArrows);
if (!(gPauseMapCameraX < 0.0f)) {
if (!(PauseMapCameraX < 0.0f)) {
offsetLeft = 0;
}
pause_map_draw_border_arrows(0, baseX + 26 - offsetLeft, baseY + height / 2 - 8);
if (!(gPauseMapCameraX > -86.0f)) {
if (!(PauseMapCameraX > -86.0f)) {
offsetRight = 0;
}
pause_map_draw_border_arrows(1, baseX + width - 50 + offsetRight, baseY + height / 2 - 8);
if (!(gPauseMapCameraY < 0.0f)) {
if (!(PauseMapCameraY < 0.0f)) {
offsetUp = 0;
}
pause_map_draw_border_arrows(2, baseX + width / 2 - 8, baseY + 24 - offsetUp);
if (!(gPauseMapCameraY > -210.0f)) {
if (!(PauseMapCameraY > -210.0f)) {
offsetDown = 0;
}
pause_map_draw_border_arrows(3, baseX + width / 2 - 8, baseY + height - 44 + offsetDown);
@ -381,9 +311,9 @@ void pause_map_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32
s32 msgID;
if (gPauseMenuCurrentTab == 6) {
if (gPauseMapCursorCurrentOption != -1) {
msgWidth = get_msg_width(MSG_Menus_00F2 + (gPauseMapCursorCurrentOption * 3), 0);
msgID = MSG_Menus_00F2 + (gPauseMapCursorCurrentOption * 3);
if (PauseMapCursorCurrentOption != -1) {
msgWidth = get_msg_width(MSG_Menus_00F2 + (PauseMapCursorCurrentOption * 3), 0);
msgID = MSG_Menus_00F2 + (PauseMapCursorCurrentOption * 3);
draw_msg(msgID, baseX + ((width - msgWidth) >> 1), baseY + 1, 255, MSG_PAL_WHITE, 0);
}
}
@ -393,54 +323,54 @@ void pause_map_init(MenuPanel* tab) {
s32 currentLocation;
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseMapIconScripts); i++) {
gPauseMapIconIDs[i] = hud_element_create(gPauseMapIconScripts[i]);
hud_element_set_flags(gPauseMapIconIDs[i], HUD_ELEMENT_FLAG_80);
for (i = 0; i < ARRAY_COUNT(PauseMapIconScripts); i++) {
PauseMapIconIDs[i] = hud_element_create(PauseMapIconScripts[i]);
hud_element_set_flags(PauseMapIconIDs[i], HUD_ELEMENT_FLAG_80);
}
for (i = 0; i < ARRAY_COUNT(gPauseMapWindowBPs); i++) {
gPauseMapWindowBPs[i].tab = tab;
for (i = 0; i < ARRAY_COUNT(PauseMapWindowBPs); i++) {
PauseMapWindowBPs[i].tab = tab;
}
setup_pause_menu_tab(gPauseMapWindowBPs, ARRAY_COUNT(gPauseMapWindowBPs));
gPauseMapCursorCurrentOption = -1;
gPauseMapSpacesInSnapRange = 0;
gPauseMapCursorCurrentOptionCopy = -1;
setup_pause_menu_tab(PauseMapWindowBPs, ARRAY_COUNT(PauseMapWindowBPs));
PauseMapCursorCurrentOption = -1;
PauseMapSpacesInSnapRange = 0;
PauseMapCursorCurrentOptionCopy = -1;
currentLocation = evt_get_variable(0, GB_WorldLocation);
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++) {
if (gPauseMapSpaces[i].id == currentLocation) {
for (i = 0; i < ARRAY_COUNT(PauseMapSpaces); i++) {
if (PauseMapSpaces[i].id == currentLocation) {
break;
}
}
if (i < ARRAY_COUNT(gPauseMapSpaces)) {
gPauseMapMarioX = gPauseMapSpaces[i].pos.x;
gPauseMapMarioY = gPauseMapSpaces[i].pos.y;
if (i < ARRAY_COUNT(PauseMapSpaces)) {
PauseMapMarioX = PauseMapSpaces[i].pos.x;
PauseMapMarioY = PauseMapSpaces[i].pos.y;
} else {
gPauseMapMarioX = 0;
gPauseMapMarioY = 0;
PauseMapMarioX = 0;
PauseMapMarioY = 0;
}
gPauseMapTargetX = gPauseMapMarioX;
gPauseMapTargetY = gPauseMapMarioY;
PauseMapTargetX = PauseMapMarioX;
PauseMapTargetY = PauseMapMarioY;
gPauseMapCameraX = 0.0f;
gPauseMapCameraY = 0.0f;
gPauseMapCameraX -= (s32)(gPauseMapTargetX + gPauseMapCameraX - 117.0);
gPauseMapCameraY -= (s32)(gPauseMapTargetY + gPauseMapCameraY - 55.0);
PauseMapCameraX = 0.0f;
PauseMapCameraY = 0.0f;
PauseMapCameraX -= (s32)(PauseMapTargetX + PauseMapCameraX - 117.0);
PauseMapCameraY -= (s32)(PauseMapTargetY + PauseMapCameraY - 55.0);
if (gPauseMapCameraX > 0) {
gPauseMapCameraX = 0;
if (PauseMapCameraX > 0) {
PauseMapCameraX = 0;
}
if (gPauseMapCameraY > 0) {
gPauseMapCameraY = 0;
if (PauseMapCameraY > 0) {
PauseMapCameraY = 0;
}
if (gPauseMapCameraX <= -86.0f) {
gPauseMapCameraX = -85.0f;
if (PauseMapCameraX <= -86.0f) {
PauseMapCameraX = -85.0f;
}
if (gPauseMapCameraY <= -210.0f) {
gPauseMapCameraY = -209.0f;
if (PauseMapCameraY <= -210.0f) {
PauseMapCameraY = -209.0f;
}
tab->initialized = TRUE;
@ -449,73 +379,73 @@ void pause_map_init(MenuPanel* tab) {
void pause_map_handle_input(MenuPanel* tab) {
f32 xMovement = gGameStatusPtr->stickX[0] * 0.05f;
f32 yMovement = -gGameStatusPtr->stickY[0] * 0.05f;
f32 gPauseMapTargetYPosTemp = gPauseMapTargetY;
f32 gPauseMapTargetXPosTemp = gPauseMapTargetX;
f32 PauseMapTargetYPosTemp = PauseMapTargetY;
f32 PauseMapTargetXPosTemp = PauseMapTargetX;
s32 xTemp;
s32 yTemp;
if (xMovement == 0.0f && yMovement == 0.0f && gPauseMapCursorCurrentOption != -1) {
PauseMapSpace* mapSpace = &gPauseMapSpaces[gPauseMapCursorCurrentOption];
if (xMovement == 0.0f && yMovement == 0.0f && PauseMapCursorCurrentOption != -1) {
PauseMapSpace* mapSpace = &PauseMapSpaces[PauseMapCursorCurrentOption];
xMovement = mapSpace->pos.x - gPauseMapTargetXPosTemp;
yMovement = mapSpace->pos.y - gPauseMapTargetYPosTemp;
xMovement = mapSpace->pos.x - PauseMapTargetXPosTemp;
yMovement = mapSpace->pos.y - PauseMapTargetYPosTemp;
xMovement *= 0.32;
yMovement *= 0.32;
}
gPauseMapTargetX += xMovement;
gPauseMapTargetY += yMovement;
PauseMapTargetX += xMovement;
PauseMapTargetY += yMovement;
if (gPauseMapTargetX < 16.0f) {
gPauseMapTargetX = 16.0f;
if (PauseMapTargetX < 16.0f) {
PauseMapTargetX = 16.0f;
}
if (gPauseMapTargetY < 8.0f) {
gPauseMapTargetY = 8.0f;
if (PauseMapTargetY < 8.0f) {
PauseMapTargetY = 8.0f;
}
if (gPauseMapTargetX >= 316.0f) {
gPauseMapTargetX = 315.0f;
if (PauseMapTargetX >= 316.0f) {
PauseMapTargetX = 315.0f;
}
if (gPauseMapTargetY >= 308.0f) {
gPauseMapTargetY = 307.0f;
if (PauseMapTargetY >= 308.0f) {
PauseMapTargetY = 307.0f;
}
xTemp = gPauseMapTargetX + gPauseMapCameraX - 117.0;
yTemp = gPauseMapTargetY + gPauseMapCameraY - 55.0;
xTemp = PauseMapTargetX + PauseMapCameraX - 117.0;
yTemp = PauseMapTargetY + PauseMapCameraY - 55.0;
if (xTemp >= 53.0) {
gPauseMapCameraX -= xTemp - 53.0;
PauseMapCameraX -= xTemp - 53.0;
}
if (xTemp <= -37.0) {
gPauseMapCameraX -= xTemp + 37.0;
PauseMapCameraX -= xTemp + 37.0;
}
if (yTemp >= 15.0) {
gPauseMapCameraY -= yTemp - 15.0;
PauseMapCameraY -= yTemp - 15.0;
}
if (yTemp <= -15.0) {
gPauseMapCameraY -= yTemp + 15.0;
PauseMapCameraY -= yTemp + 15.0;
}
if (gPauseMapCameraX > 0.0f) {
gPauseMapCameraX = 0.0f;
if (PauseMapCameraX > 0.0f) {
PauseMapCameraX = 0.0f;
}
if (gPauseMapCameraY > 0.0f) {
gPauseMapCameraY = 0.0f;
if (PauseMapCameraY > 0.0f) {
PauseMapCameraY = 0.0f;
}
if (gPauseMapCameraX < -86.0f) {
gPauseMapCameraX = -86.0f;
if (PauseMapCameraX < -86.0f) {
PauseMapCameraX = -86.0f;
}
if (gPauseMapCameraY < -210.0f) {
gPauseMapCameraY = -210.0f;
if (PauseMapCameraY < -210.0f) {
PauseMapCameraY = -210.0f;
}
if (gPausePressedButtons & BUTTON_B) {
@ -525,36 +455,36 @@ void pause_map_handle_input(MenuPanel* tab) {
}
gPauseCurrentDescIconScript = 0;
if (gPauseMapCursorCurrentOption == -1) {
if (PauseMapCursorCurrentOption == -1) {
gPauseCurrentDescMsg = MSG_NONE;
return;
}
gPauseCurrentDescMsg = MSG_Menus_00F3 + (gPauseMapCursorCurrentOption * 3);
gPauseCurrentDescMsg = MSG_Menus_00F3 + (PauseMapCursorCurrentOption * 3);
// If the story has progressed enough, show the "after" description
if (evt_get_variable(0, GB_StoryProgress) >= gPauseMapSpaces[gPauseMapCursorCurrentOption].afterRequirement) {
if (evt_get_variable(0, GB_StoryProgress) >= PauseMapSpaces[PauseMapCursorCurrentOption].afterRequirement) {
gPauseCurrentDescMsg++;
}
}
void pause_map_update(MenuPanel* tab) {
PauseMapSpace* mapSpace = &gPauseMapSpaces[0];
PauseMapSpace* mapSpace = &PauseMapSpaces[0];
f32 lowestSqSum = 10000.0f;
f32 cursorOption = -1.0f;
s32 i;
gPauseMapCursorCurrentOption = -1;
gPauseMapSpacesInSnapRange = 0;
PauseMapCursorCurrentOption = -1;
PauseMapSpacesInSnapRange = 0;
for (i = 0; i < ARRAY_COUNT(gPauseMapSpaces); i++, mapSpace++) {
for (i = 0; i < ARRAY_COUNT(PauseMapSpaces); i++, mapSpace++) {
if (evt_get_variable(0, GF_MAP_ToadTown + i) != 0) {
f32 deltaX = gPauseMapTargetX - mapSpace->pos.x;
f32 deltaY = gPauseMapTargetY - mapSpace->pos.y;
f32 deltaX = PauseMapTargetX - mapSpace->pos.x;
f32 deltaY = PauseMapTargetY - mapSpace->pos.y;
f32 sqSum = SQ(deltaX) + SQ(deltaY);
if (sqSum < 400.0f) {
gPauseMapSpacesInSnapRange++;
PauseMapSpacesInSnapRange++;
}
if (sqSum < lowestSqSum && sqSum < 200.0f) {
@ -564,14 +494,14 @@ void pause_map_update(MenuPanel* tab) {
}
}
gPauseMapCursorCurrentOption = cursorOption;
gPauseMapCursorCurrentOptionCopy = cursorOption;
PauseMapCursorCurrentOption = cursorOption;
PauseMapCursorCurrentOptionCopy = cursorOption;
}
void pause_map_cleanup(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gPauseMapIconIDs); i++) {
hud_element_free(gPauseMapIconIDs[i]);
for (i = 0; i < ARRAY_COUNT(PauseMapIconIDs); i++) {
hud_element_free(PauseMapIconIDs[i]);
}
}

View File

@ -9,7 +9,7 @@
#include "sprite/npc/WorldKlevar.h"
#include "sprite/npc/WorldKalmar.h"
extern Gfx gPauseDLSpiritsBg[];
extern Gfx PauseGfxSpiritsBg[];
extern s8 pause_spirits_bg_png[];
void pause_spirits_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
@ -159,7 +159,7 @@ void pause_spirits_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 widt
gDPPipeSync(gMainGfxPos++);
gSPViewport(gMainGfxPos++, &gPauseSpiritsViewport);
gSPDisplayList(gMainGfxPos++, gPauseDLSpiritsBg);
gSPDisplayList(gMainGfxPos++, PauseGfxSpiritsBg);
for (i = 0; i < 5; i++) {
gDPLoadTextureTile_4b(gMainGfxPos++, pause_spirits_bg_png, G_IM_FMT_CI, 128, 110,

359
src/recipes.yaml Normal file
View File

@ -0,0 +1,359 @@
# All cooking outputs must be listed here, except when cooking a Mystery
Products:
- [ ITEM_MISTAKE, QUALITY_BAD ]
- [ ITEM_FRIED_SHROOM, QUALITY_OK ]
- [ ITEM_SPICY_SOUP, QUALITY_OK ]
- [ ITEM_TASTY_TONIC, QUALITY_OK ]
- [ ITEM_NUTTY_CAKE, QUALITY_OK ]
- [ ITEM_KOOPA_TEA, QUALITY_OK ]
- [ ITEM_SPAGHETTI, QUALITY_OK ]
- [ ITEM_DIZZY_DIAL, QUALITY_ODD ]
- [ ITEM_BIG_COOKIE, QUALITY_GOOD ]
- [ ITEM_CAKE, QUALITY_OK ]
- [ ITEM_FRIED_EGG, QUALITY_OK ]
- [ ITEM_BOILED_EGG, QUALITY_OK ]
- [ ITEM_SUPER_SODA, QUALITY_OK ]
- [ ITEM_YOSHI_COOKIE, QUALITY_OK ]
- [ ITEM_DELUXE_FEAST, QUALITY_GREAT ]
- [ ITEM_FROZEN_FRIES, QUALITY_OK ]
- [ ITEM_POTATO_SALAD, QUALITY_OK ]
- [ ITEM_HOT_SHROOM, QUALITY_OK ]
- [ ITEM_BLAND_MEAL, QUALITY_GOOD ]
- [ ITEM_HONEY_SHROOM, QUALITY_OK ]
- [ ITEM_MAPLE_SHROOM, QUALITY_OK ]
- [ ITEM_JELLY_SHROOM1, QUALITY_OK ]
- [ ITEM_LIFE_SHROOM, QUALITY_OK ]
- [ ITEM_VOLT_SHROOM, QUALITY_OK ]
- [ ITEM_SLEEPY_SHEEP, QUALITY_ODD ]
- [ ITEM_SHROOM_CAKE, QUALITY_OK ]
- [ ITEM_SHROOM_STEAK, QUALITY_OK ]
- [ ITEM_HONEY_SUPER, QUALITY_OK ]
- [ ITEM_MAPLE_SUPER, QUALITY_OK ]
- [ ITEM_JELLY_SUPER, QUALITY_OK ]
- [ ITEM_YUMMY_MEAL, QUALITY_GOOD ]
- [ ITEM_HONEY_ULTRA, QUALITY_OK ]
- [ ITEM_MAPLE_ULTRA, QUALITY_OK ]
- [ ITEM_JELLY_ULTRA, QUALITY_OK ]
- [ ITEM_SWEET_SHROOM, QUALITY_OK ]
- [ ITEM_ELECTRO_POP, QUALITY_OK ]
- [ ITEM_THUNDER_RAGE, QUALITY_ODD ]
- [ ITEM_FIRE_POP, QUALITY_OK ]
- [ ITEM_EGG_MISSILE, QUALITY_OK ]
- [ ITEM_SPECIAL_SHAKE, QUALITY_GOOD ]
- [ ITEM_COCO_POP, QUALITY_OK ]
- [ ITEM_HEALTHY_JUICE, QUALITY_GREAT ]
- [ ITEM_LIME_CANDY, QUALITY_OK ]
- [ ITEM_LEMON_CANDY, QUALITY_OK ]
- [ ITEM_HONEY_CANDY, QUALITY_OK ]
- [ ITEM_JELLY_POP, QUALITY_OK ]
- [ ITEM_APPLE_PIE, QUALITY_OK ]
- [ ITEM_KOOPASTA, QUALITY_OK ]
- [ ITEM_KOOKY_COOKIE, QUALITY_OK ]
- [ ITEM_FIRE_FLOWER, QUALITY_ODD ]
- [ ITEM_STRANGE_CAKE, QUALITY_GOOD ]
# Cooking a Mystery has 50% to make MISTAKE and 50% change to create any of these with equal probability
MysteryProducts:
- ITEM_FIRE_FLOWER
- ITEM_TASTY_TONIC
- ITEM_SUPER_SODA
- ITEM_SLEEPY_SHEEP
- ITEM_LIFE_SHROOM
- ITEM_DIZZY_DIAL
- ITEM_VOLT_SHROOM
- ITEM_FRIED_SHROOM
- ITEM_KOOPASTA
- ITEM_SPICY_SOUP
- ITEM_KOOPA_TEA
- ITEM_SPAGHETTI
- ITEM_FRIED_EGG
- ITEM_BOILED_EGG
- ITEM_POTATO_SALAD
- ITEM_HONEY_SHROOM
- ITEM_BLAND_MEAL
- ITEM_THUNDER_RAGE
- ITEM_EGG_MISSILE
- ITEM_APPLE_PIE
- ITEM_KOOKY_COOKIE
- ITEM_BIG_COOKIE
- ITEM_SPECIAL_SHAKE
# [ Input, Product without Cookbook, Product with Cookbook (optional) ]
SingleRecipes:
- [ ITEM_MUSHROOM, ITEM_FRIED_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_FRIED_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_LIFE_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_VOLT_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_FIRE_FLOWER, ITEM_SPICY_SOUP ]
- [ ITEM_COCONUT, ITEM_TASTY_TONIC ]
- [ ITEM_LIME, ITEM_TASTY_TONIC ]
- [ ITEM_LEMON, ITEM_TASTY_TONIC ]
- [ ITEM_HONEY_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_JAMMIN_JELLY, ITEM_SUPER_SODA ]
- [ ITEM_APPLE, ITEM_SUPER_SODA ]
- [ ITEM_RED_BERRY, ITEM_MISTAKE, ITEM_SUPER_SODA ]
- [ ITEM_BLUE_BERRY, ITEM_MISTAKE, ITEM_SUPER_SODA ]
- [ ITEM_YELLOW_BERRY, ITEM_MISTAKE, ITEM_SUPER_SODA ]
- [ ITEM_GOOMNUT, ITEM_NUTTY_CAKE ]
- [ ITEM_KOOPA_LEAF, ITEM_KOOPA_TEA ]
- [ ITEM_DRIED_PASTA, ITEM_SPAGHETTI ]
- [ ITEM_DRIED_FRUIT, ITEM_MISTAKE ]
- [ ITEM_STRANGE_LEAF, ITEM_MISTAKE, ITEM_DIZZY_DIAL ]
- [ ITEM_CAKE_MIX, ITEM_CAKE ]
- [ ITEM_EGG, ITEM_FRIED_EGG ]
- [ ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_STINKY_HERB, ITEM_MISTAKE ]
- [ ITEM_ICED_POTATO, ITEM_POTATO_SALAD ]
- [ ITEM_DRIED_SHROOM, ITEM_MISTAKE, ITEM_FRIED_SHROOM ]
- [ ITEM_BUBBLE_BERRY, ITEM_MISTAKE, ITEM_TASTY_TONIC ]
- [ ITEM_WHACKAS_BUMP, ITEM_MISTAKE, ITEM_YUMMY_MEAL ]
# [ Input1, Input2, Product ]
# Recipes with both inputs found as ingredients in SingleRecipes will be added to the DoubleRecipesMatrix,
# all others will generate as ExtraDoubleRecipes
DoubleRecipes:
- [ ITEM_MUSHROOM, ITEM_SUPER_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_ULTRA_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_MUSHROOM, ITEM_LIFE_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_MUSHROOM, ITEM_VOLT_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_FIRE_FLOWER, ITEM_HOT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_HONEY_SYRUP, ITEM_HONEY_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_MAPLE_SYRUP, ITEM_MAPLE_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_JAMMIN_JELLY, ITEM_JELLY_SHROOM1 ]
- [ ITEM_MUSHROOM, ITEM_GOOMNUT, ITEM_VOLT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_KOOPA_LEAF, ITEM_VOLT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_MUSHROOM, ITEM_DRIED_FRUIT, ITEM_VOLT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_STRANGE_LEAF, ITEM_VOLT_SHROOM ]
- [ ITEM_MUSHROOM, ITEM_CAKE_MIX, ITEM_SHROOM_CAKE ]
- [ ITEM_MUSHROOM, ITEM_EGG, ITEM_BLAND_MEAL ]
- [ ITEM_MUSHROOM, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_MUSHROOM, ITEM_DRIED_SHROOM, ITEM_FRIED_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_ULTRA_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_SUPER_SHROOM, ITEM_LIFE_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_SUPER_SHROOM, ITEM_VOLT_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_FIRE_FLOWER, ITEM_BLAND_MEAL ]
- [ ITEM_SUPER_SHROOM, ITEM_HONEY_SYRUP, ITEM_HONEY_SUPER ]
- [ ITEM_SUPER_SHROOM, ITEM_MAPLE_SYRUP, ITEM_MAPLE_SUPER ]
- [ ITEM_SUPER_SHROOM, ITEM_JAMMIN_JELLY, ITEM_JELLY_SUPER ]
- [ ITEM_SUPER_SHROOM, ITEM_GOOMNUT, ITEM_LIFE_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_KOOPA_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_SUPER_SHROOM, ITEM_DRIED_FRUIT, ITEM_VOLT_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_STRANGE_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_SUPER_SHROOM, ITEM_CAKE_MIX, ITEM_SHROOM_CAKE ]
- [ ITEM_SUPER_SHROOM, ITEM_EGG, ITEM_BLAND_MEAL ]
- [ ITEM_SUPER_SHROOM, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_SUPER_SHROOM, ITEM_DRIED_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_LIFE_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_ULTRA_SHROOM, ITEM_VOLT_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_ULTRA_SHROOM, ITEM_FIRE_FLOWER, ITEM_YUMMY_MEAL ]
- [ ITEM_ULTRA_SHROOM, ITEM_HONEY_SYRUP, ITEM_HONEY_ULTRA ]
- [ ITEM_ULTRA_SHROOM, ITEM_MAPLE_SYRUP, ITEM_MAPLE_ULTRA ]
- [ ITEM_ULTRA_SHROOM, ITEM_JAMMIN_JELLY, ITEM_JELLY_ULTRA ]
- [ ITEM_ULTRA_SHROOM, ITEM_GOOMNUT, ITEM_LIFE_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_KOOPA_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_DRIED_PASTA, ITEM_YUMMY_MEAL ]
- [ ITEM_ULTRA_SHROOM, ITEM_DRIED_FRUIT, ITEM_VOLT_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_STRANGE_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_CAKE_MIX, ITEM_SWEET_SHROOM ]
- [ ITEM_ULTRA_SHROOM, ITEM_EGG, ITEM_YUMMY_MEAL ]
- [ ITEM_ULTRA_SHROOM, ITEM_ICED_POTATO, ITEM_YUMMY_MEAL ]
- [ ITEM_ULTRA_SHROOM, ITEM_DRIED_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_LIFE_SHROOM, ITEM_FIRE_FLOWER, ITEM_BLAND_MEAL ]
- [ ITEM_LIFE_SHROOM, ITEM_HONEY_SYRUP, ITEM_HONEY_SUPER ]
- [ ITEM_LIFE_SHROOM, ITEM_MAPLE_SYRUP, ITEM_MAPLE_SUPER ]
- [ ITEM_LIFE_SHROOM, ITEM_JAMMIN_JELLY, ITEM_JELLY_SUPER ]
- [ ITEM_LIFE_SHROOM, ITEM_GOOMNUT, ITEM_LIFE_SHROOM ]
- [ ITEM_LIFE_SHROOM, ITEM_KOOPA_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_LIFE_SHROOM, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_LIFE_SHROOM, ITEM_DRIED_FRUIT, ITEM_VOLT_SHROOM ]
- [ ITEM_LIFE_SHROOM, ITEM_STRANGE_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_LIFE_SHROOM, ITEM_CAKE_MIX, ITEM_SWEET_SHROOM ]
- [ ITEM_LIFE_SHROOM, ITEM_EGG, ITEM_BLAND_MEAL ]
- [ ITEM_LIFE_SHROOM, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_LIFE_SHROOM, ITEM_DRIED_SHROOM, ITEM_SHROOM_STEAK ]
- [ ITEM_VOLT_SHROOM, ITEM_FIRE_FLOWER, ITEM_BLAND_MEAL ]
- [ ITEM_VOLT_SHROOM, ITEM_HONEY_SYRUP, ITEM_HONEY_SUPER ]
- [ ITEM_VOLT_SHROOM, ITEM_MAPLE_SYRUP, ITEM_MAPLE_SUPER ]
- [ ITEM_VOLT_SHROOM, ITEM_JAMMIN_JELLY, ITEM_JELLY_SUPER ]
- [ ITEM_VOLT_SHROOM, ITEM_GOOMNUT, ITEM_LIFE_SHROOM ]
- [ ITEM_VOLT_SHROOM, ITEM_KOOPA_LEAF, ITEM_LIFE_SHROOM ]
- [ ITEM_VOLT_SHROOM, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_VOLT_SHROOM, ITEM_DRIED_FRUIT, ITEM_THUNDER_RAGE ]
- [ ITEM_VOLT_SHROOM, ITEM_STRANGE_LEAF, ITEM_DIZZY_DIAL ]
- [ ITEM_VOLT_SHROOM, ITEM_CAKE_MIX, ITEM_ELECTRO_POP ]
- [ ITEM_VOLT_SHROOM, ITEM_EGG, ITEM_BLAND_MEAL ]
- [ ITEM_VOLT_SHROOM, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_VOLT_SHROOM, ITEM_DRIED_SHROOM, ITEM_HOT_SHROOM ]
- [ ITEM_FIRE_FLOWER, ITEM_GOOMNUT, ITEM_BLAND_MEAL ]
- [ ITEM_FIRE_FLOWER, ITEM_CAKE_MIX, ITEM_FIRE_POP ]
- [ ITEM_FIRE_FLOWER, ITEM_EGG, ITEM_EGG_MISSILE ]
- [ ITEM_FIRE_FLOWER, ITEM_ICED_POTATO, ITEM_FROZEN_FRIES ]
- [ ITEM_FIRE_FLOWER, ITEM_DRIED_SHROOM, ITEM_FRIED_SHROOM ]
- [ ITEM_COCONUT, ITEM_HONEY_SYRUP, ITEM_TASTY_TONIC ]
- [ ITEM_COCONUT, ITEM_MAPLE_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_JAMMIN_JELLY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_COCONUT, ITEM_APPLE, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_RED_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_COCONUT, ITEM_CAKE_MIX, ITEM_COCO_POP ]
- [ ITEM_COCONUT, ITEM_MELON, ITEM_SUPER_SODA ]
- [ ITEM_COCONUT, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_LIME, ITEM_LEMON, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_HONEY_SYRUP, ITEM_TASTY_TONIC ]
- [ ITEM_LIME, ITEM_MAPLE_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_JAMMIN_JELLY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_LIME, ITEM_APPLE, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_RED_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_LIME, ITEM_CAKE_MIX, ITEM_LIME_CANDY ]
- [ ITEM_LIME, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_LEMON, ITEM_HONEY_SYRUP, ITEM_TASTY_TONIC ]
- [ ITEM_LEMON, ITEM_MAPLE_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_JAMMIN_JELLY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_LEMON, ITEM_APPLE, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_RED_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_LEMON, ITEM_CAKE_MIX, ITEM_LEMON_CANDY ]
- [ ITEM_LEMON, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_HONEY_SYRUP, ITEM_MAPLE_SYRUP, ITEM_SUPER_SODA ]
- [ ITEM_HONEY_SYRUP, ITEM_JAMMIN_JELLY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_HONEY_SYRUP, ITEM_APPLE, ITEM_TASTY_TONIC ]
- [ ITEM_HONEY_SYRUP, ITEM_RED_BERRY, ITEM_TASTY_TONIC ]
- [ ITEM_HONEY_SYRUP, ITEM_BLUE_BERRY, ITEM_TASTY_TONIC ]
- [ ITEM_HONEY_SYRUP, ITEM_YELLOW_BERRY, ITEM_TASTY_TONIC ]
- [ ITEM_HONEY_SYRUP, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_HONEY_SYRUP, ITEM_CAKE_MIX, ITEM_HONEY_CANDY ]
- [ ITEM_HONEY_SYRUP, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_MAPLE_SYRUP, ITEM_JAMMIN_JELLY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_MAPLE_SYRUP, ITEM_APPLE, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_RED_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_MAPLE_SYRUP, ITEM_CAKE_MIX, ITEM_KOOKY_COOKIE ]
- [ ITEM_MAPLE_SYRUP, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_JAMMIN_JELLY, ITEM_APPLE, ITEM_SPECIAL_SHAKE ]
- [ ITEM_JAMMIN_JELLY, ITEM_RED_BERRY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_JAMMIN_JELLY, ITEM_BLUE_BERRY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_JAMMIN_JELLY, ITEM_YELLOW_BERRY, ITEM_SPECIAL_SHAKE ]
- [ ITEM_JAMMIN_JELLY, ITEM_KOOPA_LEAF, ITEM_SUPER_SODA ]
- [ ITEM_JAMMIN_JELLY, ITEM_CAKE_MIX, ITEM_JELLY_POP ]
- [ ITEM_JAMMIN_JELLY, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_APPLE, ITEM_RED_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_APPLE, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_APPLE, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_APPLE, ITEM_CAKE_MIX, ITEM_APPLE_PIE ]
- [ ITEM_APPLE, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_RED_BERRY, ITEM_BLUE_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_RED_BERRY, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_RED_BERRY, ITEM_KOOPA_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_RED_BERRY, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_RED_BERRY, ITEM_STRANGE_LEAF, ITEM_SLEEPY_SHEEP ]
- [ ITEM_RED_BERRY, ITEM_CAKE_MIX, ITEM_BIG_COOKIE ]
- [ ITEM_RED_BERRY, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_BLUE_BERRY, ITEM_YELLOW_BERRY, ITEM_SUPER_SODA ]
- [ ITEM_BLUE_BERRY, ITEM_KOOPA_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_BLUE_BERRY, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_BLUE_BERRY, ITEM_STRANGE_LEAF, ITEM_SLEEPY_SHEEP ]
- [ ITEM_BLUE_BERRY, ITEM_CAKE_MIX, ITEM_BIG_COOKIE ]
- [ ITEM_BLUE_BERRY, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_YELLOW_BERRY, ITEM_KOOPA_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_YELLOW_BERRY, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_YELLOW_BERRY, ITEM_STRANGE_LEAF, ITEM_SLEEPY_SHEEP ]
- [ ITEM_YELLOW_BERRY, ITEM_CAKE_MIX, ITEM_BIG_COOKIE ]
- [ ITEM_YELLOW_BERRY, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_GOOMNUT, ITEM_KOOPA_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_GOOMNUT, ITEM_DRIED_PASTA, ITEM_BLAND_MEAL ]
- [ ITEM_GOOMNUT, ITEM_STRANGE_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_GOOMNUT, ITEM_CAKE_MIX, ITEM_BIG_COOKIE ]
- [ ITEM_KOOPA_LEAF, ITEM_DRIED_PASTA, ITEM_KOOPASTA ]
- [ ITEM_KOOPA_LEAF, ITEM_CAKE_MIX, ITEM_KOOKY_COOKIE ]
- [ ITEM_KOOPA_LEAF, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_DRIED_PASTA, ITEM_DRIED_FRUIT, ITEM_YUMMY_MEAL ]
- [ ITEM_DRIED_PASTA, ITEM_STRANGE_LEAF, ITEM_BLAND_MEAL ]
- [ ITEM_DRIED_PASTA, ITEM_EGG, ITEM_BLAND_MEAL ]
- [ ITEM_DRIED_PASTA, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_DRIED_FRUIT, ITEM_STRANGE_LEAF, ITEM_FIRE_FLOWER ]
- [ ITEM_DRIED_FRUIT, ITEM_ICED_POTATO, ITEM_YUMMY_MEAL ]
- [ ITEM_STRANGE_LEAF, ITEM_CAKE_MIX, ITEM_STRANGE_CAKE ]
- [ ITEM_STRANGE_LEAF, ITEM_EGG, ITEM_BOILED_EGG ]
- [ ITEM_STRANGE_LEAF, ITEM_MELON, ITEM_SPECIAL_SHAKE ]
- [ ITEM_STRANGE_LEAF, ITEM_STINKY_HERB, ITEM_DIZZY_DIAL ]
- [ ITEM_STRANGE_LEAF, ITEM_ICED_POTATO, ITEM_YUMMY_MEAL ]
- [ ITEM_CAKE_MIX, ITEM_EGG, ITEM_BIG_COOKIE ]
- [ ITEM_CAKE_MIX, ITEM_MELON, ITEM_YOSHI_COOKIE ]
- [ ITEM_CAKE_MIX, ITEM_STINKY_HERB, ITEM_KOOKY_COOKIE ]
- [ ITEM_CAKE_MIX, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_EGG, ITEM_STINKY_HERB, ITEM_BOILED_EGG ]
- [ ITEM_EGG, ITEM_ICED_POTATO, ITEM_BLAND_MEAL ]
- [ ITEM_SPECIAL_SHAKE, ITEM_DRIED_SHROOM, ITEM_HEALTHY_JUICE ]
- [ ITEM_SPECIAL_SHAKE, ITEM_STRANGE_LEAF, ITEM_HEALTHY_JUICE ]
- [ ITEM_SPECIAL_SHAKE, ITEM_STINKY_HERB, ITEM_HEALTHY_JUICE ]
- [ ITEM_POTATO_SALAD, ITEM_SPAGHETTI, ITEM_YUMMY_MEAL ]
- [ ITEM_POTATO_SALAD, ITEM_FRIED_SHROOM, ITEM_BLAND_MEAL ]
- [ ITEM_POTATO_SALAD, ITEM_HOT_SHROOM, ITEM_YUMMY_MEAL ]
- [ ITEM_POTATO_SALAD, ITEM_SHROOM_STEAK, ITEM_DELUXE_FEAST ]
- [ ITEM_STRANGE_LEAF, ITEM_WHACKAS_BUMP, ITEM_DELUXE_FEAST ]
# [ Product, Flag ]
# Flag will be set when the corresponding item is cooked
CookingRecords:
- [ ITEM_SPICY_SOUP, GF_MAC02_DiscoveredRecipe_00 ]
- [ ITEM_APPLE_PIE, GF_MAC02_DiscoveredRecipe_01 ]
- [ ITEM_HONEY_ULTRA, GF_MAC02_DiscoveredRecipe_02 ]
- [ ITEM_MAPLE_ULTRA, GF_MAC02_DiscoveredRecipe_03 ]
- [ ITEM_JELLY_ULTRA, GF_MAC02_DiscoveredRecipe_04 ]
- [ ITEM_KOOPASTA, GF_MAC02_DiscoveredRecipe_05 ]
- [ ITEM_FRIED_SHROOM, GF_MAC02_DiscoveredRecipe_06 ]
- [ ITEM_SHROOM_CAKE, GF_MAC02_DiscoveredRecipe_07 ]
- [ ITEM_SHROOM_STEAK, GF_MAC02_DiscoveredRecipe_08 ]
- [ ITEM_HOT_SHROOM, GF_MAC02_DiscoveredRecipe_09 ]
- [ ITEM_SWEET_SHROOM, GF_MAC02_DiscoveredRecipe_0A ]
- [ ITEM_BLAND_MEAL, GF_MAC02_DiscoveredRecipe_0B ]
- [ ITEM_YUMMY_MEAL, GF_MAC02_DiscoveredRecipe_0C ]
- [ ITEM_DELUXE_FEAST, GF_MAC02_DiscoveredRecipe_0D ]
- [ ITEM_SPECIAL_SHAKE, GF_MAC02_DiscoveredRecipe_0E ]
- [ ITEM_HEALTHY_JUICE, GF_MAC02_DiscoveredRecipe_0F ]
- [ ITEM_BIG_COOKIE, GF_MAC02_DiscoveredRecipe_10 ]
- [ ITEM_CAKE, GF_MAC02_DiscoveredRecipe_11 ]
- [ ITEM_MISTAKE, GF_MAC02_DiscoveredRecipe_12 ]
- [ ITEM_KOOPA_TEA, GF_MAC02_DiscoveredRecipe_13 ]
- [ ITEM_HONEY_SUPER, GF_MAC02_DiscoveredRecipe_14 ]
- [ ITEM_MAPLE_SUPER, GF_MAC02_DiscoveredRecipe_15 ]
- [ ITEM_JELLY_SUPER, GF_MAC02_DiscoveredRecipe_16 ]
- [ ITEM_SPAGHETTI, GF_MAC02_DiscoveredRecipe_17 ]
- [ ITEM_EGG_MISSILE, GF_MAC02_DiscoveredRecipe_18 ]
- [ ITEM_FRIED_EGG, GF_MAC02_DiscoveredRecipe_19 ]
- [ ITEM_HONEY_SHROOM, GF_MAC02_DiscoveredRecipe_1A ]
- [ ITEM_HONEY_CANDY, GF_MAC02_DiscoveredRecipe_1B ]
- [ ITEM_ELECTRO_POP, GF_MAC02_DiscoveredRecipe_1C ]
- [ ITEM_FIRE_POP, GF_MAC02_DiscoveredRecipe_1D ]
- [ ITEM_LIME_CANDY, GF_MAC02_DiscoveredRecipe_1E ]
- [ ITEM_COCO_POP, GF_MAC02_DiscoveredRecipe_1F ]
- [ ITEM_LEMON_CANDY, GF_MAC02_DiscoveredRecipe_20 ]
- [ ITEM_JELLY_POP, GF_MAC02_DiscoveredRecipe_21 ]
- [ ITEM_STRANGE_CAKE, GF_MAC02_DiscoveredRecipe_22 ]
- [ ITEM_KOOKY_COOKIE, GF_MAC02_DiscoveredRecipe_23 ]
- [ ITEM_FROZEN_FRIES, GF_MAC02_DiscoveredRecipe_24 ]
- [ ITEM_POTATO_SALAD, GF_MAC02_DiscoveredRecipe_25 ]
- [ ITEM_NUTTY_CAKE, GF_MAC02_DiscoveredRecipe_26 ]
- [ ITEM_MAPLE_SHROOM, GF_MAC02_DiscoveredRecipe_27 ]
- [ ITEM_BOILED_EGG, GF_MAC02_DiscoveredRecipe_28 ]
- [ ITEM_YOSHI_COOKIE, GF_MAC02_DiscoveredRecipe_29 ]
- [ ITEM_JELLY_SHROOM1, GF_MAC02_DiscoveredRecipe_2A ]
- [ ITEM_TASTY_TONIC, GF_MAC02_DiscoveredRecipe_2B ]
- [ ITEM_DIZZY_DIAL, GF_MAC02_DiscoveredRecipe_2C ]
- [ ITEM_SUPER_SODA, GF_MAC02_DiscoveredRecipe_2D ]
- [ ITEM_REPEL_GEL, GF_MAC02_DiscoveredRecipe_2E ]
- [ ITEM_LIFE_SHROOM, GF_MAC02_DiscoveredRecipe_2F ]
- [ ITEM_VOLT_SHROOM, GF_MAC02_DiscoveredRecipe_30 ]
- [ ITEM_SLEEPY_SHEEP, GF_MAC02_DiscoveredRecipe_31 ]
- [ ITEM_THUNDER_RAGE, GF_MAC02_DiscoveredRecipe_32 ]
- [ ITEM_FIRE_FLOWER, GF_MAC02_DiscoveredRecipe_33 ]

View File

@ -3,26 +3,25 @@
#include "sprite/player.h"
AnimID IdlePeachAnims[] = {
ANIM_Peach1_Idle, // none
ANIM_Peach1_HoldCream, // cream
ANIM_Peach1_HoldStrawberry, // strawberry
ANIM_Peach1_HoldButter, // butter
ANIM_Peach1_HoldCleanser, // cleanser
ANIM_Peach1_HoldWater, // water
ANIM_Peach1_HoldMilk, // milk
ANIM_Peach1_HoldFlour, // flour
ANIM_Peach1_HoldEgg, // egg
ANIM_Peach1_HoldCompleteCake, // complete cake
ANIM_Peach1_HoldCakeBowl, // cake bowl
ANIM_Peach1_HoldCakeMixed, // cake mixed
ANIM_Peach1_HoldCakePan, // cake pan
ANIM_Peach1_HoldCakeBatter, // cake batter
ANIM_Peach1_HoldBareCake, // cake bare
ANIM_Peach1_HoldSalt, // salt
ANIM_Peach1_HoldSugar, // sugar
ANIM_Peach1_HoldIcingCake, // cake with icing
ANIM_Peach1_HoldBerryCake, // cake with berries
0x00000000,
[PEACH_BAKING_NONE] ANIM_Peach1_Idle,
[PEACH_BAKING_CREAM] ANIM_Peach1_HoldCream,
[PEACH_BAKING_STRAWBERRY] ANIM_Peach1_HoldStrawberry,
[PEACH_BAKING_BUTTER] ANIM_Peach1_HoldButter,
[PEACH_BAKING_CLEANSER] ANIM_Peach1_HoldCleanser,
[PEACH_BAKING_WATER] ANIM_Peach1_HoldWater,
[PEACH_BAKING_MILK] ANIM_Peach1_HoldMilk,
[PEACH_BAKING_FLOUR] ANIM_Peach1_HoldFlour,
[PEACH_BAKING_EGG] ANIM_Peach1_HoldEgg,
[PEACH_BAKING_COMPLETE_CAKE] ANIM_Peach1_HoldCompleteCake,
[PEACH_BAKING_CAKE_BOWL] ANIM_Peach1_HoldCakeBowl,
[PEACH_BAKING_CAKE_MIXED] ANIM_Peach1_HoldCakeMixed,
[PEACH_BAKING_CAKE_PAN] ANIM_Peach1_HoldCakePan,
[PEACH_BAKING_CAKE_BATTER] ANIM_Peach1_HoldCakeBatter,
[PEACH_BAKING_CAKE_BARE] ANIM_Peach1_HoldBareCake,
[PEACH_BAKING_SALT] ANIM_Peach1_HoldSalt,
[PEACH_BAKING_SUGAR] ANIM_Peach1_HoldSugar,
[PEACH_BAKING_CAKE_WITH_ICING] ANIM_Peach1_HoldIcingCake,
[PEACH_BAKING_CAKE_WITH_BERRIES] ANIM_Peach1_HoldBerryCake,
};
enum {

View File

@ -3,26 +3,25 @@
#include "sprite/player.h"
AnimID StepUpPeachAnims[] = {
ANIM_Peach1_Walk, // none
ANIM_Peach1_CarryCream, // cream
ANIM_Peach1_CarryStrawberry, // strawberry
ANIM_Peach1_CarryButter, // butter
ANIM_Peach1_CarryCleanser, // cleanser
ANIM_Peach1_CarryWater, // water
ANIM_Peach1_CarryMilk, // milk
ANIM_Peach1_CarryFlour, // flour
ANIM_Peach1_CarryEgg, // egg
ANIM_Peach1_CarryCompleteCake, // complete cake
ANIM_Peach1_CarryCakeBowl, // cake bowl
ANIM_Peach1_CarryCakeMixed, // cake mixed
ANIM_Peach1_CarryCakePan, // cake pan
ANIM_Peach1_CarryCakeBatter, // cake batter
ANIM_Peach1_CarryBareCake, // cake bare
ANIM_Peach1_CarrySalt, // salt
ANIM_Peach1_CarrySugar, // sugar
ANIM_Peach1_CarryIcingCake, // cake with icing
ANIM_Peach1_CarryBerryCake, // cake with berries
0x00000000
[PEACH_BAKING_NONE] ANIM_Peach1_Walk,
[PEACH_BAKING_CREAM] ANIM_Peach1_CarryCream,
[PEACH_BAKING_STRAWBERRY] ANIM_Peach1_CarryStrawberry,
[PEACH_BAKING_BUTTER] ANIM_Peach1_CarryButter,
[PEACH_BAKING_CLEANSER] ANIM_Peach1_CarryCleanser,
[PEACH_BAKING_WATER] ANIM_Peach1_CarryWater,
[PEACH_BAKING_MILK] ANIM_Peach1_CarryMilk,
[PEACH_BAKING_FLOUR] ANIM_Peach1_CarryFlour,
[PEACH_BAKING_EGG] ANIM_Peach1_CarryEgg,
[PEACH_BAKING_COMPLETE_CAKE] ANIM_Peach1_CarryCompleteCake,
[PEACH_BAKING_CAKE_BOWL] ANIM_Peach1_CarryCakeBowl,
[PEACH_BAKING_CAKE_MIXED] ANIM_Peach1_CarryCakeMixed,
[PEACH_BAKING_CAKE_PAN] ANIM_Peach1_CarryCakePan,
[PEACH_BAKING_CAKE_BATTER] ANIM_Peach1_CarryCakeBatter,
[PEACH_BAKING_CAKE_BARE] ANIM_Peach1_CarryBareCake,
[PEACH_BAKING_SALT] ANIM_Peach1_CarrySalt,
[PEACH_BAKING_SUGAR] ANIM_Peach1_CarrySugar,
[PEACH_BAKING_CAKE_WITH_ICING] ANIM_Peach1_CarryIcingCake,
[PEACH_BAKING_CAKE_WITH_BERRIES] ANIM_Peach1_CarryBerryCake,
};
void func_802B6198_E24768(void);

View File

@ -3,26 +3,25 @@
#include "sprite/player.h"
AnimID WalkPeachAnims[] = {
ANIM_Peach1_Walk, // none
ANIM_Peach1_CarryCream, // cream
ANIM_Peach1_CarryStrawberry, // strawberry
ANIM_Peach1_CarryButter, // butter
ANIM_Peach1_CarryCleanser, // cleanser
ANIM_Peach1_CarryWater, // water
ANIM_Peach1_CarryMilk, // milk
ANIM_Peach1_CarryFlour, // flour
ANIM_Peach1_CarryEgg, // egg
ANIM_Peach1_CarryCompleteCake, // complete cake
ANIM_Peach1_CarryCakeBowl, // cake bowl
ANIM_Peach1_CarryCakeMixed, // cake mixed
ANIM_Peach1_CarryCakePan, // cake pan
ANIM_Peach1_CarryCakeBatter, // cake batter
ANIM_Peach1_CarryBareCake, // cake bare
ANIM_Peach1_CarrySalt, // salt
ANIM_Peach1_CarrySugar, // sugar
ANIM_Peach1_CarryIcingCake, // cake with icing
ANIM_Peach1_CarryBerryCake, // cake with berries
0x00000000
[PEACH_BAKING_NONE] ANIM_Peach1_Walk,
[PEACH_BAKING_CREAM] ANIM_Peach1_CarryCream,
[PEACH_BAKING_STRAWBERRY] ANIM_Peach1_CarryStrawberry,
[PEACH_BAKING_BUTTER] ANIM_Peach1_CarryButter,
[PEACH_BAKING_CLEANSER] ANIM_Peach1_CarryCleanser,
[PEACH_BAKING_WATER] ANIM_Peach1_CarryWater,
[PEACH_BAKING_MILK] ANIM_Peach1_CarryMilk,
[PEACH_BAKING_FLOUR] ANIM_Peach1_CarryFlour,
[PEACH_BAKING_EGG] ANIM_Peach1_CarryEgg,
[PEACH_BAKING_COMPLETE_CAKE] ANIM_Peach1_CarryCompleteCake,
[PEACH_BAKING_CAKE_BOWL] ANIM_Peach1_CarryCakeBowl,
[PEACH_BAKING_CAKE_MIXED] ANIM_Peach1_CarryCakeMixed,
[PEACH_BAKING_CAKE_PAN] ANIM_Peach1_CarryCakePan,
[PEACH_BAKING_CAKE_BATTER] ANIM_Peach1_CarryCakeBatter,
[PEACH_BAKING_CAKE_BARE] ANIM_Peach1_CarryBareCake,
[PEACH_BAKING_SALT] ANIM_Peach1_CarrySalt,
[PEACH_BAKING_SUGAR] ANIM_Peach1_CarrySugar,
[PEACH_BAKING_CAKE_WITH_ICING] ANIM_Peach1_CarryIcingCake,
[PEACH_BAKING_CAKE_WITH_BERRIES] ANIM_Peach1_CarryBerryCake,
};
static void action_update_run_peach(void);

View File

@ -30,69 +30,69 @@ enum {
CREDITS_LINE_VANISHING = 2
};
CreditsUnkBeta N(Font4Patterns)[] = {
{ .unk_00 = 0x02, .unk_01 = 0x07, .size = 1 },
{ .unk_00 = 0x02, .unk_01 = 0x0A, .size = 1 },
{ .unk_00 = 0x03, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x07, .unk_01 = 0x0D, .size = 1 },
{ .unk_00 = 0x09, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x0C, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x0C, .unk_01 = 0x0C, .size = 1 },
{ .unk_00 = 0x0C, .unk_01 = 0x14, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x03, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x0A, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x14, .size = 1 },
{ .unk_00 = 0x0E, .unk_01 = 0x0D, .size = 1 },
{ .unk_00 = 0x0E, .unk_01 = 0x11, .size = 1 },
{ .unk_00 = 0x11, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x11, .unk_01 = 0x0F, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x02, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x0D, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x0F, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x12, .size = 1 },
{ .unk_00 = 0x12, .unk_01 = 0x02, .size = 1 },
{ .unk_00 = 0x12, .unk_01 = 0x07, .size = 1 },
{ .unk_00 = 0x12, .unk_01 = 0x0F, .size = 1 },
{ .unk_00 = 0x15, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x16, .unk_01 = 0x11, .size = 1 },
CreditsPairOffset N(Font4Patterns)[] = {
{ .firstChar = 0x02, .secondChar = 0x07, .offset = 1 },
{ .firstChar = 0x02, .secondChar = 0x0A, .offset = 1 },
{ .firstChar = 0x03, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x07, .secondChar = 0x0D, .offset = 1 },
{ .firstChar = 0x09, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x0C, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x0C, .secondChar = 0x0C, .offset = 1 },
{ .firstChar = 0x0C, .secondChar = 0x14, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x03, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x0A, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x14, .offset = 1 },
{ .firstChar = 0x0E, .secondChar = 0x0D, .offset = 1 },
{ .firstChar = 0x0E, .secondChar = 0x11, .offset = 1 },
{ .firstChar = 0x11, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x11, .secondChar = 0x0F, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x02, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x0D, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x0F, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x12, .offset = 1 },
{ .firstChar = 0x12, .secondChar = 0x02, .offset = 1 },
{ .firstChar = 0x12, .secondChar = 0x07, .offset = 1 },
{ .firstChar = 0x12, .secondChar = 0x0F, .offset = 1 },
{ .firstChar = 0x15, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x16, .secondChar = 0x11, .offset = 1 },
{}
};
CreditsUnkBeta N(Font3Patterns)[] = {
{ .unk_00 = 0x00, .unk_01 = 0x02, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x06, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x0E, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x03, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x0A, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x0D, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x13, .size = 1 },
{ .unk_00 = 0x00, .unk_01 = 0x14, .size = 1 },
{ .unk_00 = 0x07, .unk_01 = 0x00, .size = 1 },
{ .unk_00 = 0x07, .unk_01 = 0x06, .size = 1 },
{ .unk_00 = 0x07, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x02, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x06, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x0A, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x0D, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x0E, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x13, .size = 1 },
{ .unk_00 = 0x08, .unk_01 = 0x18, .size = 1 },
{ .unk_00 = 0x09, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x0C, .unk_01 = 0x0E, .size = 1 },
{ .unk_00 = 0x0C, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x06, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x0E, .size = 1 },
{ .unk_00 = 0x0D, .unk_01 = 0x13, .size = 1 },
{ .unk_00 = 0x12, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x12, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x13, .unk_01 = 0x04, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x02, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x08, .size = 1 },
{ .unk_00 = 0x14, .unk_01 = 0x0A, .size = 1 },
CreditsPairOffset N(Font3Patterns)[] = {
{ .firstChar = 0x00, .secondChar = 0x02, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x06, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x0E, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x03, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x0A, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x0D, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x13, .offset = 1 },
{ .firstChar = 0x00, .secondChar = 0x14, .offset = 1 },
{ .firstChar = 0x07, .secondChar = 0x00, .offset = 1 },
{ .firstChar = 0x07, .secondChar = 0x06, .offset = 1 },
{ .firstChar = 0x07, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x02, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x06, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x0A, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x0D, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x0E, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x13, .offset = 1 },
{ .firstChar = 0x08, .secondChar = 0x18, .offset = 1 },
{ .firstChar = 0x09, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x0C, .secondChar = 0x0E, .offset = 1 },
{ .firstChar = 0x0C, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x06, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x0E, .offset = 1 },
{ .firstChar = 0x0D, .secondChar = 0x13, .offset = 1 },
{ .firstChar = 0x12, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x12, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x13, .secondChar = 0x04, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x02, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x08, .offset = 1 },
{ .firstChar = 0x14, .secondChar = 0x0A, .offset = 1 },
{}
};
@ -499,7 +499,7 @@ void N(CharAnim_FadeOut_3)(CreditsLine* line, CreditsChar* chr) {
void N(credits_update_line)(CreditsLine* line) {
CreditsChar creditsChar;
CreditsChar* curChar = &creditsChar;
CreditsUnkBeta* curPattern;
CreditsPairOffset* curPattern;
s32 msgHeight, msgWidth, msgMaxLineChars;
s32 doneCurrentState;
s32 readPos;
@ -563,11 +563,11 @@ void N(credits_update_line)(CreditsLine* line) {
}
do {
if (curMsgChar == curPattern[i].unk_00 && nextMsgChar1 == curPattern[i].unk_01) {
msgWidth += curPattern[i].size;
if (curMsgChar == curPattern[i].firstChar && nextMsgChar1 == curPattern[i].secondChar) {
msgWidth += curPattern[i].offset;
}
i++;
} while (curPattern[i].size != 0);
} while (curPattern[i].offset != 0);
}
break;
}
@ -700,11 +700,11 @@ void N(credits_update_line)(CreditsLine* line) {
}
}
do {
if (curMsgChar == curPattern[i].unk_00 && nextMsgChar2 == curPattern[i].unk_01) {
posX += curPattern[i].size;
if (curMsgChar == curPattern[i].firstChar && nextMsgChar2 == curPattern[i].secondChar) {
posX += curPattern[i].offset;
}
i++;
} while (curPattern[i].size != 0);
} while (curPattern[i].offset != 0);
}
break;
}

View File

@ -6,7 +6,7 @@ EvtScript N(EVS_ParadePhase_Luigi) = {
EVT_WAIT(80 * DT)
EVT_THREAD
EVT_LOOP(9 * DT)
EVT_CALL(PlaySoundAtNpc, NPC_Luigi, SOUND_11, SOUND_SPACE_MODE_0)
EVT_CALL(PlaySoundAtNpc, NPC_Luigi, SOUND_NORMAL_VOICE_A, SOUND_SPACE_MODE_0)
EVT_WAIT(15)
EVT_END_LOOP
EVT_END_THREAD

View File

@ -4,7 +4,7 @@
EvtScript N(EVS_MakeEntities) = {
EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenYellowBlock), 660, 60, -115, 0, ITEM_THUNDER_RAGE, MAKE_ENTITY_END)
EVT_CALL(AssignBlockFlag, GF_FLO17_HiddenItem_ThunderRage)
EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_MINHT, -245, 0, 105, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_FLO17_Item_Letter09)
EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_MINH_T, -245, 0, 105, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_FLO17_Item_Letter09)
EVT_RETURN
EVT_END
};

View File

@ -25,7 +25,7 @@ typedef struct BadgeHint {
#define BADGE_REQ_MERLOW_SHOP 10002
BadgeHint N(BadgeHintData)[] = {
{ MSG_MerluvleeHint_JumpCharge, ITEM_BOOTS_CHARGE, STORY_CH3_STAR_SPRIT_DEPARTED },
{ MSG_MerluvleeHint_JumpCharge, ITEM_JUMP_CHARGE, STORY_CH3_STAR_SPRIT_DEPARTED },
{ MSG_MerluvleeHint_SuperJumpCharge, ITEM_S_JUMP_CHG, STORY_CH6_ARRIVED_AT_FLOWER_FIELDS },
{ MSG_MerluvleeHint_ShrinkStomp, ITEM_SHRINK_STOMP, STORY_CH1_DEFEATED_JR_TROOPA },
{ MSG_MerluvleeHint_Multibounce, ITEM_MULTIBOUNCE, STORY_CH1_DEFEATED_JR_TROOPA },
@ -689,7 +689,7 @@ EvtScript N(EVS_KootCheckBall_Merluvlee) = {
EVT_CHOOSE_KEY_ITEM_FROM(N(CrystalBallItems))
EVT_IF_NE(LVar0, -1)
EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0049)
EVT_GIVE_KEY_REWARD(ITEM_KOOT_MERLUVLEES_AUTOGRAPH)
EVT_GIVE_KEY_REWARD(ITEM_KOOT_MERLUVLEE_AUTOGRAPH)
EVT_SET(GF_HOS06_Gift_MerluvleesAutograph, TRUE)
EVT_ELSE
EVT_CALL(SpeakToPlayer, NPC_Merluvlee, ANIM_Merluvlee_Talk, ANIM_Merluvlee_Idle, 0, MSG_HOS_0048)

View File

@ -49,7 +49,7 @@ EvtScript N(EVS_KootFavorCheck_Luigi) = {
EVT_WAIT(10)
EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Luigi_Talk, ANIM_Luigi_Idle, 0, MSG_CH0_0105)
EVT_WAIT(10)
EVT_SET(LVar0, ITEM_KOOT_LUIGIS_AUTOGRAPH)
EVT_SET(LVar0, ITEM_KOOT_LUIGI_AUTOGRAPH)
EVT_SET(LVar1, 1)
EVT_EXEC_WAIT(N(GiveItemReward))
EVT_CALL(AddKeyItem, LVar0)

View File

@ -153,7 +153,7 @@ ShopItemData N(RowfBadgeInventory)[] = {
{ .itemID = ITEM_DODGE_MASTER, .price = 100, .descMsg = MSG_ItemShopDesc_DodgeMaster },
{ .itemID = ITEM_SLEEP_STOMP, .price = 75, .descMsg = MSG_ItemShopDesc_SleepStomp },
{ .itemID = ITEM_DOUBLE_DIP, .price = 100, .descMsg = MSG_ItemShopDesc_DoubleDip },
{ .itemID = ITEM_BOOTS_CHARGE, .price = 50, .descMsg = MSG_ItemShopDesc_JumpCharge },
{ .itemID = ITEM_JUMP_CHARGE, .price = 50, .descMsg = MSG_ItemShopDesc_JumpCharge },
{ .itemID = ITEM_SPIN_SMASH, .price = 75, .descMsg = MSG_ItemShopDesc_SpinSmash },
{ .itemID = ITEM_GROUP_FOCUS, .price = 100, .descMsg = MSG_ItemShopDesc_GroupFocus },
{ .itemID = ITEM_ALLOR_NOTHING, .price = 100, .descMsg = MSG_ItemShopDesc_AllorNothing },

View File

@ -70,14 +70,14 @@ EvtScript N(EVS_LetterReward_Merlon) = {
};
s32 N(LetterList_MinhT)[] = {
ITEM_LETTER_TO_MINHT,
ITEM_LETTER_TO_MINH_T,
ITEM_NONE
};
EvtScript N(EVS_LetterPrompt_MinhT) = {
EVT_CALL(N(LetterDelivery_Init),
NPC_MinhT, ANIM_MinhT_Talk, ANIM_MinhT_Idle,
ITEM_LETTER_TO_MINHT, ITEM_NONE,
ITEM_LETTER_TO_MINH_T, ITEM_NONE,
MSG_MAC_Plaza_0078, MSG_MAC_Plaza_0079, MSG_MAC_Plaza_007A, MSG_MAC_Plaza_007B,
EVT_PTR(N(LetterList_MinhT)))
EVT_EXEC_WAIT(N(EVS_DoLetterDelivery))

View File

@ -324,7 +324,7 @@ EvtScript N(EVS_Scene_FlowerGateAppears) = {
};
s32 N(LetterList_MinhT_Unused)[] = {
ITEM_LETTER_TO_MINHT,
ITEM_LETTER_TO_MINH_T,
ITEM_NONE
};

View File

@ -4,95 +4,16 @@
#include "common.h"
#include "gcc/string.h"
// enum mapping itemIDs -> index in single recipe arrays and column/rows in double recipe matrix
enum CookingIngredientID {
iRSH = 0, // ITEM_MUSHROOM
iSSH = 1, // ITEM_SUPER_SHROOM
iUSH = 2, // ITEM_ULTRA_SHROOM
iLSH = 3, // ITEM_LIFE_SHROOM
iVSH = 4, // ITEM_VOLT_SHROOM
iFFL = 5, // ITEM_FIRE_FLOWER
iCOC = 6, // ITEM_COCONUT
iLIM = 7, // ITEM_LIME
iLEM = 8, // ITEM_LEMON
iHSY = 9, // ITEM_HONEY_SYRUP
iMSY = 10, // ITEM_MAPLE_SYRUP
iJAM = 11, // ITEM_JAMMIN_JELLY
iAPP = 12, // ITEM_APPLE
iRBY = 13, // ITEM_RED_BERRY
iBBY = 14, // ITEM_BLUE_BERRY
iYBY = 15, // ITEM_YELLOW_BERRY
iGMN = 16, // ITEM_GOOMNUT
iKLF = 17, // ITEM_KOOPA_LEAF
iDRP = 18, // ITEM_DRIED_PASTA
iDRF = 19, // ITEM_DRIED_FRUIT
iSLF = 20, // ITEM_STRANGE_LEAF
iMIX = 21, // ITEM_CAKE_MIX
iEGG = 22, // ITEM_EGG
iMEL = 23, // ITEM_MELON
iSTK = 24, // ITEM_STINKY_HERB
iPOT = 25, // ITEM_ICED_POTATO
iDSH = 26, // ITEM_DRIED_SHROOM
iBUB = 27, // ITEM_BUBBLE_BERRY
iBMP = 28, // ITEM_WHACKAS_BUMP
INPUT_END = 29,
};
typedef struct CookingResult {
/* 00 */ s32 quality;
/* 04 */ s32 itemID;
} CookingResult; // size = 0x8
// enum mapping cooking result to itemID/quality rating
enum CookingResultID {
rXXX = 0, // ITEM_MISTAKE
rFRS = 1, // ITEM_FRIED_SHROOM
rSPS = 2, // ITEM_SPICY_SOUP
rTTN = 3, // ITEM_TASTY_TONIC
rNUT = 4, // ITEM_NUTTY_CAKE
rTEA = 5, // ITEM_KOOPA_TEA
rSPG = 6, // ITEM_SPAGHETTI
rDZD = 7, // ITEM_DIZZY_DIAL
rBCK = 8, // ITEM_BIG_COOKIE
rCAK = 9, // ITEM_CAKE
rFEG = 10, // ITEM_FRIED_EGG
rBEG = 11, // ITEM_BOILED_EGG
rSOD = 12, // ITEM_SUPER_SODA
rYCK = 13, // ITEM_YOSHI_COOKIE
rDLX = 14, // ITEM_DELUXE_FEAST
rFZF = 15, // ITEM_FROZEN_FRIES
rPOT = 16, // ITEM_POTATO_SALAD
rHOT = 17, // ITEM_HOT_SHROOM
rBLN = 18, // ITEM_BLAND_MEAL
rHSH = 19, // ITEM_HONEY_SHROOM
rMSH = 20, // ITEM_MAPLE_SHROOM
rJSH = 21, // ITEM_JELLY_SHROOM1
rLSH = 22, // ITEM_LIFE_SHROOM
rVSH = 23, // ITEM_VOLT_SHROOM
rSLS = 24, // ITEM_SLEEPY_SHEEP
rSHC = 25, // ITEM_SHROOM_CAKE
rSHS = 26, // ITEM_SHROOM_STEAK
rHSU = 27, // ITEM_HONEY_SUPER
rMSU = 28, // ITEM_MAPLE_SUPER
rJSU = 29, // ITEM_JELLY_SUPER
rYUM = 30, // ITEM_YUMMY_MEAL
rHUL = 31, // ITEM_HONEY_ULTRA
rMUL = 32, // ITEM_MAPLE_ULTRA
rJUL = 33, // ITEM_JELLY_ULTRA
rSWS = 34, // ITEM_SWEET_SHROOM
rELP = 35, // ITEM_ELECTRO_POP
rTHR = 36, // ITEM_THUNDER_RAGE
rFIP = 37, // ITEM_FIRE_POP
rEGM = 38, // ITEM_EGG_MISSILE
rSSH = 39, // ITEM_SPECIAL_SHAKE
rCOP = 40, // ITEM_COCO_POP
rJUI = 41, // ITEM_HEALTHY_JUICE
rLIC = 42, // ITEM_LIME_CANDY
rLEC = 43, // ITEM_LEMON_CANDY
rHNC = 44, // ITEM_HONEY_CANDY
rJLP = 45, // ITEM_JELLY_POP
rPIE = 46, // ITEM_APPLE_PIE
rKOO = 47, // ITEM_KOOPASTA
rKCK = 48, // ITEM_KOOKY_COOKIE
rFFL = 49, // ITEM_FIRE_FLOWER
rSTR = 50, // ITEM_STRANGE_CAKE
RESULT_END = 51,
};
typedef struct ExtraCookingPair {
/* 00 */ s32 inputA;
/* 04 */ s32 inputB;
/* 04 */ s32 output;
} ExtraCookingPair; // size = 0x8
enum CookingResultQuality {
QUALITY_BAD = 0,
@ -102,242 +23,7 @@ enum CookingResultQuality {
QUALITY_ODD = 4,
};
s32 CookingIngredients[] = {
[iRSH] ITEM_MUSHROOM,
[iSSH] ITEM_SUPER_SHROOM,
[iUSH] ITEM_ULTRA_SHROOM,
[iLSH] ITEM_LIFE_SHROOM,
[iVSH] ITEM_VOLT_SHROOM,
[iFFL] ITEM_FIRE_FLOWER,
[iCOC] ITEM_COCONUT,
[iLIM] ITEM_LIME,
[iLEM] ITEM_LEMON,
[iHSY] ITEM_HONEY_SYRUP,
[iMSY] ITEM_MAPLE_SYRUP,
[iJAM] ITEM_JAMMIN_JELLY,
[iAPP] ITEM_APPLE,
[iRBY] ITEM_RED_BERRY,
[iBBY] ITEM_BLUE_BERRY,
[iYBY] ITEM_YELLOW_BERRY,
[iGMN] ITEM_GOOMNUT,
[iKLF] ITEM_KOOPA_LEAF,
[iDRP] ITEM_DRIED_PASTA,
[iDRF] ITEM_DRIED_FRUIT,
[iSLF] ITEM_STRANGE_LEAF,
[iMIX] ITEM_CAKE_MIX,
[iEGG] ITEM_EGG,
[iMEL] ITEM_MELON,
[iSTK] ITEM_STINKY_HERB,
[iPOT] ITEM_ICED_POTATO,
[iDSH] ITEM_DRIED_SHROOM,
[iBUB] ITEM_BUBBLE_BERRY,
[iBMP] ITEM_WHACKAS_BUMP,
[INPUT_END] -1
};
typedef struct CookingResult {
/* 00 */ s32 quality;
/* 04 */ s32 itemID;
} CookingResult; // size = 0x8
CookingResult CookingResults[] = {
[rXXX] { QUALITY_BAD, ITEM_MISTAKE },
[rFRS] { QUALITY_OK, ITEM_FRIED_SHROOM },
[rSPS] { QUALITY_OK, ITEM_SPICY_SOUP },
[rTTN] { QUALITY_OK, ITEM_TASTY_TONIC },
[rNUT] { QUALITY_OK, ITEM_NUTTY_CAKE },
[rTEA] { QUALITY_OK, ITEM_KOOPA_TEA },
[rSPG] { QUALITY_OK, ITEM_SPAGHETTI },
[rDZD] { QUALITY_ODD, ITEM_DIZZY_DIAL },
[rBCK] { QUALITY_GOOD, ITEM_BIG_COOKIE },
[rCAK] { QUALITY_OK, ITEM_CAKE },
[rFEG] { QUALITY_OK, ITEM_FRIED_EGG },
[rBEG] { QUALITY_OK, ITEM_BOILED_EGG },
[rSOD] { QUALITY_OK, ITEM_SUPER_SODA },
[rYCK] { QUALITY_OK, ITEM_YOSHI_COOKIE },
[rDLX] { QUALITY_GREAT, ITEM_DELUXE_FEAST },
[rFZF] { QUALITY_OK, ITEM_FROZEN_FRIES },
[rPOT] { QUALITY_OK, ITEM_POTATO_SALAD },
[rHOT] { QUALITY_OK, ITEM_HOT_SHROOM },
[rBLN] { QUALITY_GOOD, ITEM_BLAND_MEAL },
[rHSH] { QUALITY_OK, ITEM_HONEY_SHROOM },
[rMSH] { QUALITY_OK, ITEM_MAPLE_SHROOM },
[rJSH] { QUALITY_OK, ITEM_JELLY_SHROOM1 },
[rLSH] { QUALITY_OK, ITEM_LIFE_SHROOM },
[rVSH] { QUALITY_OK, ITEM_VOLT_SHROOM },
[rSLS] { QUALITY_ODD, ITEM_SLEEPY_SHEEP },
[rSHC] { QUALITY_OK, ITEM_SHROOM_CAKE },
[rSHS] { QUALITY_OK, ITEM_SHROOM_STEAK },
[rHSU] { QUALITY_OK, ITEM_HONEY_SUPER },
[rMSU] { QUALITY_OK, ITEM_MAPLE_SUPER },
[rJSU] { QUALITY_OK, ITEM_JELLY_SUPER },
[rYUM] { QUALITY_GOOD, ITEM_YUMMY_MEAL },
[rHUL] { QUALITY_OK, ITEM_HONEY_ULTRA },
[rMUL] { QUALITY_OK, ITEM_MAPLE_ULTRA },
[rJUL] { QUALITY_OK, ITEM_JELLY_ULTRA },
[rSWS] { QUALITY_OK, ITEM_SWEET_SHROOM },
[rELP] { QUALITY_OK, ITEM_ELECTRO_POP },
[rTHR] { QUALITY_ODD, ITEM_THUNDER_RAGE },
[rFIP] { QUALITY_OK, ITEM_FIRE_POP },
[rEGM] { QUALITY_OK, ITEM_EGG_MISSILE },
[rSSH] { QUALITY_GOOD, ITEM_SPECIAL_SHAKE },
[rCOP] { QUALITY_OK, ITEM_COCO_POP },
[rJUI] { QUALITY_GREAT, ITEM_HEALTHY_JUICE },
[rLIC] { QUALITY_OK, ITEM_LIME_CANDY },
[rLEC] { QUALITY_OK, ITEM_LEMON_CANDY },
[rHNC] { QUALITY_OK, ITEM_HONEY_CANDY },
[rJLP] { QUALITY_OK, ITEM_JELLY_POP },
[rPIE] { QUALITY_OK, ITEM_APPLE_PIE },
[rKOO] { QUALITY_OK, ITEM_KOOPASTA },
[rKCK] { QUALITY_OK, ITEM_KOOKY_COOKIE },
[rFFL] { QUALITY_ODD, ITEM_FIRE_FLOWER },
[rSTR] { QUALITY_GOOD, ITEM_STRANGE_CAKE },
[RESULT_END] { -1, -1 },
};
s8 SingleRecipesWithoutCookbook[] = {
[iRSH] rFRS, // ITEM_MUSHROOM --> ITEM_FRIED_SHROOM
[iSSH] rFRS, // ITEM_SUPER_SHROOM --> ITEM_FRIED_SHROOM
[iUSH] rSHS, // ITEM_ULTRA_SHROOM --> ITEM_SHROOM_STEAK
[iLSH] rHOT, // ITEM_LIFE_SHROOM --> ITEM_HOT_SHROOM
[iVSH] rHOT, // ITEM_VOLT_SHROOM --> ITEM_HOT_SHROOM
[iFFL] rSPS, // ITEM_FIRE_FLOWER --> ITEM_SPICY_SOUP
[iCOC] rTTN, // ITEM_COCONUT --> ITEM_TASTY_TONIC
[iLIM] rTTN, // ITEM_LIME --> ITEM_TASTY_TONIC
[iLEM] rTTN, // ITEM_LEMON --> ITEM_TASTY_TONIC
[iHSY] rSOD, // ITEM_HONEY_SYRUP --> ITEM_SUPER_SODA
[iMSY] rSOD, // ITEM_MAPLE_SYRUP --> ITEM_SUPER_SODA
[iJAM] rSOD, // ITEM_JAMMIN_JELLY --> ITEM_SUPER_SODA
[iAPP] rSOD, // ITEM_APPLE --> ITEM_SUPER_SODA
[iRBY] rXXX, // ITEM_RED_BERRY --> ITEM_MISTAKE
[iBBY] rXXX, // ITEM_BLUE_BERRY --> ITEM_MISTAKE
[iYBY] rXXX, // ITEM_YELLOW_BERRY --> ITEM_MISTAKE
[iGMN] rNUT, // ITEM_GOOMNUT --> ITEM_NUTTY_CAKE
[iKLF] rTEA, // ITEM_KOOPA_LEAF --> ITEM_KOOPA_TEA
[iDRP] rSPG, // ITEM_DRIED_PASTA --> ITEM_SPAGHETTI
[iDRF] rXXX, // ITEM_DRIED_FRUIT --> ITEM_MISTAKE
[iSLF] rXXX, // ITEM_STRANGE_LEAF --> ITEM_MISTAKE
[iMIX] rCAK, // ITEM_CAKE_MIX --> ITEM_CAKE
[iEGG] rFEG, // ITEM_EGG --> ITEM_FRIED_EGG
[iMEL] rSSH, // ITEM_MELON --> ITEM_SPECIAL_SHAKE
[iSTK] rXXX, // ITEM_STINKY_HERB --> ITEM_MISTAKE
[iPOT] rPOT, // ITEM_ICED_POTATO --> ITEM_POTATO_SALAD
[iDSH] rXXX, // ITEM_DRIED_SHROOM --> ITEM_MISTAKE
[iBUB] rXXX, // ITEM_BUBBLE_BERRY --> ITEM_MISTAKE
[iBMP] rXXX, // ITEM_WHACKAS_BUMP --> ITEM_MISTAKE
};
// items with (*) are upgraded from ITEM_MISTAKE when using the cookbook
s8 SingleRecipesWithCookbook[] = {
[iRSH] rFRS, // ITEM_MUSHROOM --> ITEM_FRIED_SHROOM
[iSSH] rFRS, // ITEM_SUPER_SHROOM --> ITEM_FRIED_SHROOM
[iUSH] rSHS, // ITEM_ULTRA_SHROOM --> ITEM_SHROOM_STEAK
[iLSH] rHOT, // ITEM_LIFE_SHROOM --> ITEM_HOT_SHROOM
[iVSH] rHOT, // ITEM_VOLT_SHROOM --> ITEM_HOT_SHROOM
[iFFL] rSPS, // ITEM_FIRE_FLOWER --> ITEM_SPICY_SOUP
[iCOC] rTTN, // ITEM_COCONUT --> ITEM_TASTY_TONIC
[iLIM] rTTN, // ITEM_LIME --> ITEM_TASTY_TONIC
[iLEM] rTTN, // ITEM_LEMON --> ITEM_TASTY_TONIC
[iHSY] rSOD, // ITEM_HONEY_SYRUP --> ITEM_SUPER_SODA
[iMSY] rSOD, // ITEM_MAPLE_SYRUP --> ITEM_SUPER_SODA
[iJAM] rSOD, // ITEM_JAMMIN_JELLY --> ITEM_SUPER_SODA
[iAPP] rSOD, // ITEM_APPLE --> ITEM_SUPER_SODA
[iRBY] rSOD, // ITEM_RED_BERRY --> ITEM_SUPER_SODA (*)
[iBBY] rSOD, // ITEM_BLUE_BERRY --> ITEM_SUPER_SODA (*)
[iYBY] rSOD, // ITEM_YELLOW_BERRY --> ITEM_SUPER_SODA (*)
[iGMN] rNUT, // ITEM_GOOMNUT --> ITEM_NUTTY_CAKE
[iKLF] rTEA, // ITEM_KOOPA_LEAF --> ITEM_KOOPA_TEA
[iDRP] rSPG, // ITEM_DRIED_PASTA --> ITEM_SPAGHETTI
[iDRF] rXXX, // ITEM_DRIED_FRUIT --> ITEM_MISTAKE
[iSLF] rDZD, // ITEM_STRANGE_LEAF --> ITEM_DIZZY_DIAL (*)
[iMIX] rCAK, // ITEM_CAKE_MIX --> ITEM_CAKE
[iEGG] rFEG, // ITEM_EGG --> ITEM_FRIED_EGG
[iMEL] rSSH, // ITEM_MELON --> ITEM_SPECIAL_SHAKE
[iSTK] rXXX, // ITEM_STINKY_HERB --> ITEM_MISTAKE
[iPOT] rPOT, // ITEM_ICED_POTATO --> ITEM_POTATO_SALAD
[iDSH] rFRS, // ITEM_DRIED_SHROOM --> ITEM_FRIED_SHROOM (*)
[iBUB] rTTN, // ITEM_BUBBLE_BERRY --> ITEM_TASTY_TONIC (*)
[iBMP] rYUM, // ITEM_WHACKAS_BUMP --> ITEM_YUMMY_MEAL (*)
};
s8 DoubleRecipesMatrix[] = {
/* iRSH iSSH iUSH iLSH iVSH iFFL iCOC iLIM iLEM iHSY iMSY iJAM iAPP iRBY iBBY iYBY iGMN iKLF iDRP iDRF iSLF iMIX iEGG iMEL iSTK iPOT iDSH iBUB iBMP */
/* iRSH */ rXXX, rHOT, rSHS, rSHS, rHOT, rHOT, rXXX, rXXX, rXXX, rHSH, rMSH, rJSH, rXXX, rXXX, rXXX, rXXX, rVSH, rVSH, rBLN, rVSH, rVSH, rSHC, rBLN, rXXX, rXXX, rBLN, rFRS, rXXX, rXXX,
/* iSSH */ -1, rXXX, rSHS, rSHS, rHOT, rBLN, rXXX, rXXX, rXXX, rHSU, rMSU, rJSU, rXXX, rXXX, rXXX, rXXX, rLSH, rLSH, rBLN, rVSH, rLSH, rSHC, rBLN, rXXX, rXXX, rBLN, rHOT, rXXX, rXXX,
/* iUSH */ -1, -1, rXXX, rSHS, rSHS, rYUM, rXXX, rXXX, rXXX, rHUL, rMUL, rJUL, rXXX, rXXX, rXXX, rXXX, rLSH, rLSH, rYUM, rVSH, rLSH, rSWS, rYUM, rXXX, rXXX, rYUM, rSHS, rXXX, rXXX,
/* iLSH */ -1, -1, -1, rXXX, rXXX, rBLN, rXXX, rXXX, rXXX, rHSU, rMSU, rJSU, rXXX, rXXX, rXXX, rXXX, rLSH, rLSH, rBLN, rVSH, rLSH, rSWS, rBLN, rXXX, rXXX, rBLN, rSHS, rXXX, rXXX,
/* iVSH */ -1, -1, -1, -1, rXXX, rBLN, rXXX, rXXX, rXXX, rHSU, rMSU, rJSU, rXXX, rXXX, rXXX, rXXX, rLSH, rLSH, rBLN, rTHR, rDZD, rELP, rBLN, rXXX, rXXX, rBLN, rHOT, rXXX, rXXX,
/* iFFL */ -1, -1, -1, -1, -1, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rBLN, rXXX, rXXX, rXXX, rXXX, rFIP, rEGM, rXXX, rXXX, rFZF, rFRS, rXXX, rXXX,
/* iCOC */ -1, -1, -1, -1, -1, -1, rXXX, rXXX, rXXX, rTTN, rSOD, rSSH, rSOD, rSOD, rSOD, rSOD, rXXX, rSOD, rBLN, rXXX, rXXX, rCOP, rXXX, rSOD, rXXX, rBLN, rXXX, rXXX, rXXX,
/* iLIM */ -1, -1, -1, -1, -1, -1, -1, rXXX, rSOD, rTTN, rSOD, rSSH, rSOD, rSOD, rSOD, rSOD, rXXX, rSOD, rXXX, rXXX, rXXX, rLIC, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iLEM */ -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rTTN, rSOD, rSSH, rSOD, rSOD, rSOD, rSOD, rXXX, rSOD, rXXX, rXXX, rXXX, rLEC, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iHSY */ -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSOD, rSSH, rTTN, rTTN, rTTN, rTTN, rXXX, rSOD, rXXX, rXXX, rXXX, rHNC, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iMSY */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSSH, rSOD, rSOD, rSOD, rSOD, rXXX, rSOD, rXXX, rXXX, rXXX, rKCK, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iJAM */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSSH, rSSH, rSSH, rSSH, rXXX, rSOD, rXXX, rXXX, rXXX, rJLP, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iAPP */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSOD, rSOD, rSOD, rXXX, rXXX, rXXX, rXXX, rXXX, rPIE, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iRBY */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSOD, rSOD, rXXX, rBLN, rBLN, rXXX, rSLS, rBCK, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iBBY */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSOD, rXXX, rBLN, rBLN, rXXX, rSLS, rBCK, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iYBY */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rBLN, rBLN, rXXX, rSLS, rBCK, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iGMN */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rBLN, rBLN, rXXX, rBLN, rBCK, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iKLF */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rKOO, rXXX, rXXX, rKCK, rXXX, rSSH, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iDRP */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rYUM, rBLN, rXXX, rBLN, rXXX, rXXX, rBLN, rXXX, rXXX, rXXX,
/* iDRF */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rFFL, rXXX, rXXX, rXXX, rXXX, rYUM, rXXX, rXXX, rXXX,
/* iSLF */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rSTR, rBEG, rSSH, rDZD, rYUM, rXXX, rXXX, rXXX,
/* iMIX */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rBCK, rYCK, rKCK, rBLN, rXXX, rXXX, rXXX,
/* iEGG */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rBEG, rBLN, rXXX, rXXX, rXXX,
/* iMEL */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iSTK */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rXXX, rXXX, rXXX,
/* iPOT */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rXXX, rXXX,
/* iDSH */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX, rXXX,
/* iBUB */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX, rXXX,
/* iBMP */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, rXXX,
};
typedef struct ExtraCookingPair {
/* 00 */ s32 inputA;
/* 04 */ s32 inputB;
/* 04 */ s32 output;
} ExtraCookingPair; // size = 0x8
// additional recipes checked for inputs not included in the matrix
ExtraCookingPair ExtraDoubleRecipes[] = {
{ ITEM_SPECIAL_SHAKE, ITEM_DRIED_SHROOM, rJUI }, // --> ITEM_HEALTHY_JUICE
{ ITEM_SPECIAL_SHAKE, ITEM_STRANGE_LEAF, rJUI }, // --> ITEM_HEALTHY_JUICE
{ ITEM_SPECIAL_SHAKE, ITEM_STINKY_HERB, rJUI }, // --> ITEM_HEALTHY_JUICE
{ ITEM_POTATO_SALAD, ITEM_SPAGHETTI, rYUM }, // --> ITEM_YUMMY_MEAL
{ ITEM_POTATO_SALAD, ITEM_FRIED_SHROOM, rBLN }, // --> ITEM_BLAND_MEAL
{ ITEM_POTATO_SALAD, ITEM_HOT_SHROOM, rYUM }, // --> ITEM_YUMMY_MEAL
{ ITEM_POTATO_SALAD, ITEM_SHROOM_STEAK, rDLX }, // --> ITEM_DELUXE_FEAST
{ ITEM_STRANGE_LEAF, ITEM_WHACKAS_BUMP, rDLX }, // --> ITEM_DELUXE_FEAST
};
// when cooking a mystery, theres is a 50% chance to create ITEM_MISTAKE, and a 50% chance to select
// any one of these outcomes with equal probability
s32 MysteryResultOptions[] = {
ITEM_FIRE_FLOWER,
ITEM_TASTY_TONIC,
ITEM_SUPER_SODA,
ITEM_SLEEPY_SHEEP,
ITEM_LIFE_SHROOM,
ITEM_DIZZY_DIAL,
ITEM_VOLT_SHROOM,
ITEM_FRIED_SHROOM,
ITEM_KOOPASTA,
ITEM_SPICY_SOUP,
ITEM_KOOPA_TEA,
ITEM_SPAGHETTI,
ITEM_FRIED_EGG,
ITEM_BOILED_EGG,
ITEM_POTATO_SALAD,
ITEM_HONEY_SHROOM,
ITEM_BLAND_MEAL,
ITEM_THUNDER_RAGE,
ITEM_EGG_MISSILE,
ITEM_APPLE_PIE,
ITEM_KOOKY_COOKIE,
ITEM_BIG_COOKIE,
ITEM_SPECIAL_SHAKE,
};
#include "recipes.inc.c"
API_CALLABLE(N(GetCookResultForSingleRecipe)) {
Bytecode* args = script->ptrReadPos;
@ -364,12 +50,12 @@ API_CALLABLE(N(GetCookResultForSingleRecipe)) {
resultQuality = 4;
}
} else {
for (i = 0; i < INPUT_END; i++) {
for (i = 0; i < NUM_INGREDIENTS; i++) {
if (CookingIngredients[i] == inputItem) {
break;
}
}
if (i < INPUT_END) {
if (i < NUM_INGREDIENTS) {
if (hasCookbook) {
i = SingleRecipesWithCookbook[i];
} else {
@ -400,23 +86,23 @@ API_CALLABLE(N(GetCookResultForDoubleRecipe)) {
s32 i;
// get ingredient enum values
for (inputIdxA = 0; inputIdxA < INPUT_END; inputIdxA++) {
for (inputIdxA = 0; inputIdxA < NUM_INGREDIENTS; inputIdxA++) {
if (CookingIngredients[inputIdxA] == inputItemA) {
break;
}
}
for (inputIdxB = 0; inputIdxB < INPUT_END; inputIdxB++) {
for (inputIdxB = 0; inputIdxB < NUM_INGREDIENTS; inputIdxB++) {
if (CookingIngredients[inputIdxB] == inputItemB) {
break;
}
}
// check the recipe matrix
resultIdx = 0;
if ((inputIdxA < INPUT_END) && (inputIdxB < INPUT_END)) {
if ((inputIdxA < NUM_INGREDIENTS) && (inputIdxB < NUM_INGREDIENTS)) {
if (inputIdxA < inputIdxB) {
recipeIdx = inputIdxB + (inputIdxA * INPUT_END);
recipeIdx = inputIdxB + (inputIdxA * NUM_INGREDIENTS);
} else {
recipeIdx = inputIdxA + (inputIdxB * INPUT_END);
recipeIdx = inputIdxA + (inputIdxB * NUM_INGREDIENTS);
}
resultIdx = DoubleRecipesMatrix[recipeIdx];
}
@ -439,71 +125,6 @@ API_CALLABLE(N(GetCookResultForDoubleRecipe)) {
return ApiStatus_DONE2;
}
const s32 CookableItemIDs[] = {
ITEM_SPICY_SOUP,
ITEM_APPLE_PIE,
ITEM_HONEY_ULTRA,
ITEM_MAPLE_ULTRA,
ITEM_JELLY_ULTRA,
ITEM_KOOPASTA,
ITEM_FRIED_SHROOM,
ITEM_SHROOM_CAKE,
ITEM_SHROOM_STEAK,
ITEM_HOT_SHROOM,
ITEM_SWEET_SHROOM,
ITEM_BLAND_MEAL,
ITEM_YUMMY_MEAL,
ITEM_DELUXE_FEAST,
ITEM_SPECIAL_SHAKE,
ITEM_HEALTHY_JUICE,
ITEM_BIG_COOKIE,
ITEM_CAKE,
ITEM_MISTAKE,
ITEM_KOOPA_TEA,
ITEM_HONEY_SUPER,
ITEM_MAPLE_SUPER,
ITEM_JELLY_SUPER,
ITEM_SPAGHETTI,
ITEM_EGG_MISSILE,
ITEM_FRIED_EGG,
ITEM_HONEY_SHROOM,
ITEM_HONEY_CANDY,
ITEM_ELECTRO_POP,
ITEM_FIRE_POP,
ITEM_LIME_CANDY,
ITEM_COCO_POP,
ITEM_LEMON_CANDY,
ITEM_JELLY_POP,
ITEM_STRANGE_CAKE,
ITEM_KOOKY_COOKIE,
ITEM_FROZEN_FRIES,
ITEM_POTATO_SALAD,
ITEM_NUTTY_CAKE,
ITEM_MAPLE_SHROOM,
ITEM_BOILED_EGG,
ITEM_YOSHI_COOKIE,
ITEM_JELLY_SHROOM1,
ITEM_TASTY_TONIC,
ITEM_DIZZY_DIAL,
ITEM_SUPER_SODA,
ITEM_REPEL_GEL,
ITEM_LIFE_SHROOM,
ITEM_VOLT_SHROOM,
ITEM_SLEEPY_SHEEP,
ITEM_THUNDER_RAGE,
ITEM_FIRE_FLOWER,
};
const s32 CookableDiscoveredFlags[] = {
GF_MAC02_DiscoveredRecipe_00, GF_MAC02_DiscoveredRecipe_01, GF_MAC02_DiscoveredRecipe_02, GF_MAC02_DiscoveredRecipe_03, GF_MAC02_DiscoveredRecipe_04, GF_MAC02_DiscoveredRecipe_05, GF_MAC02_DiscoveredRecipe_06, GF_MAC02_DiscoveredRecipe_07,
GF_MAC02_DiscoveredRecipe_08, GF_MAC02_DiscoveredRecipe_09, GF_MAC02_DiscoveredRecipe_0A, GF_MAC02_DiscoveredRecipe_0B, GF_MAC02_DiscoveredRecipe_0C, GF_MAC02_DiscoveredRecipe_0D, GF_MAC02_DiscoveredRecipe_0E, GF_MAC02_DiscoveredRecipe_0F,
GF_MAC02_DiscoveredRecipe_10, GF_MAC02_DiscoveredRecipe_11, GF_MAC02_DiscoveredRecipe_12, GF_MAC02_DiscoveredRecipe_13, GF_MAC02_DiscoveredRecipe_14, GF_MAC02_DiscoveredRecipe_15, GF_MAC02_DiscoveredRecipe_16, GF_MAC02_DiscoveredRecipe_17,
GF_MAC02_DiscoveredRecipe_18, GF_MAC02_DiscoveredRecipe_19, GF_MAC02_DiscoveredRecipe_1A, GF_MAC02_DiscoveredRecipe_1B, GF_MAC02_DiscoveredRecipe_1C, GF_MAC02_DiscoveredRecipe_1D, GF_MAC02_DiscoveredRecipe_1E, GF_MAC02_DiscoveredRecipe_1F,
GF_MAC02_DiscoveredRecipe_20, GF_MAC02_DiscoveredRecipe_21, GF_MAC02_DiscoveredRecipe_22, GF_MAC02_DiscoveredRecipe_23, GF_MAC02_DiscoveredRecipe_24, GF_MAC02_DiscoveredRecipe_25, GF_MAC02_DiscoveredRecipe_26, GF_MAC02_DiscoveredRecipe_27,
GF_MAC02_DiscoveredRecipe_28, GF_MAC02_DiscoveredRecipe_29, GF_MAC02_DiscoveredRecipe_2A, GF_MAC02_DiscoveredRecipe_2B, GF_MAC02_DiscoveredRecipe_2C, GF_MAC02_DiscoveredRecipe_2D, GF_MAC02_DiscoveredRecipe_2E, GF_MAC02_DiscoveredRecipe_2F,
GF_MAC02_DiscoveredRecipe_30, GF_MAC02_DiscoveredRecipe_31, GF_MAC02_DiscoveredRecipe_32, GF_MAC02_DiscoveredRecipe_33
};
API_CALLABLE(N(SetRecipeDiscovered)) {
s32 cookedItems[ARRAY_COUNT(CookableItemIDs)];
s32 cookedFlags[ARRAY_COUNT(CookableDiscoveredFlags)];

View File

@ -61,7 +61,7 @@ KootFavor N(KootFavorData)[] = {
.unlockedFlag = GF_NOK02_KootFavor04_Unlocked,
.gaveUpFlag = GF_NOK02_KootFavor04_GaveUp,
.completeFlag = GF_NOK02_KootFavor04_Complete,
.requiredItem = ITEM_KOOT_LUIGIS_AUTOGRAPH,
.requiredItem = ITEM_KOOT_LUIGI_AUTOGRAPH,
},
[KOOT_FAVOR_CH3_1] {
.requestMsg = MSG_KootFavor_000F,
@ -88,7 +88,7 @@ KootFavor N(KootFavorData)[] = {
.unlockedFlag = GF_NOK02_KootFavor07_Unlocked,
.gaveUpFlag = GF_NOK02_KootFavor07_GaveUp,
.completeFlag = GF_NOK02_KootFavor07_Complete,
.requiredItem = ITEM_KOOT_MERLUVLEES_AUTOGRAPH,
.requiredItem = ITEM_KOOT_MERLUVLEE_AUTOGRAPH,
},
[KOOT_FAVOR_CH4_1] {
.requestMsg = MSG_KootFavor_0018,

View File

@ -35,7 +35,7 @@ EvtScript N(EVS_MakeEntities) = {
EVT_CALL(MakeEntity, EVT_PTR(Entity_GiantChest), 180, 0, -175, -10, ITEM_NONE, MAKE_ENTITY_END)
EVT_CALL(AssignChestFlag, GF_OBK04_GiantChest)
EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenGiantChest)))
EVT_CALL(MakeItemEntity, ITEM_BOOTS2_ICON, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0)
EVT_CALL(MakeItemEntity, ITEM_MENU_BOOTS2, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0)
EVT_CALL(N(SetItemAlpha))
EVT_SET(MV_KeepAwayItem, LVar0)
EVT_IF_EQ(GF_OBK04_BoardedFloor, FALSE)

View File

@ -6,6 +6,6 @@ API_CALLABLE(N(GetItemName)) {
s32 inOutVar = *args++;
s32 itemID = evt_get_variable(script, inOutVar);
evt_set_variable(script, inOutVar, LOOKUP_ITEM(itemID).nameMsg);
evt_set_variable(script, inOutVar, gItemTable[itemID & ~0xF0000].nameMsg);
return ApiStatus_DONE2;
}

View File

@ -4,7 +4,7 @@
EvtScript N(EVS_MakeEntities) = {
EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenYellowBlock), 660, 60, -115, 0, ITEM_THUNDER_RAGE, MAKE_ENTITY_END)
EVT_CALL(AssignBlockFlag, GF_FLO17_HiddenItem_ThunderRage)
EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_MINHT, -245, 0, 105, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_FLO17_Item_Letter09)
EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_MINH_T, -245, 0, 105, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_FLO17_Item_Letter09)
EVT_RETURN
EVT_END
};

36
src/world_map.xml Normal file
View File

@ -0,0 +1,36 @@
<WorldMap>
<Location id="LOCATION_TOAD_TOWN" parent="LOCATION_TOAD_TOWN" requires="STORY_EPILOGUE" startX="116" startY="185" path="1,-10;1,-8;-9,-2;-8,0;-8,0;-7,-3;-5,-3"/>
<Location id="LOCATION_PEACH_CASTLE_GROUNDS" parent="LOCATION_TOAD_TOWN" requires="STORY_EPILOGUE" startX="118" startY="151" path="-1,24;1,-8;2,-7"/>
<Location id="LOCATION_SHOOTING_STAR_SUMMIT" parent="LOCATION_PEACH_CASTLE_GROUNDS" requires="STORY_CH0_BEGAN_PEACH_MISSION" startX="143" startY="134" path="-3,7;-7,4;-8,2"/>
<Location id="LOCATION_TOAD_TOWN_TUNNELS" parent="LOCATION_TOAD_TOWN" requires="STORY_NEVER" startX="100" startY="174" path=""/>
<Location id="LOCATION_GOOMBA_VILLAGE" parent="LOCATION_GOOMBA_ROAD" requires="STORY_CH0_GOOMBARIO_JOINED_PARTY" startX="36" startY="157" path=""/>
<Location id="LOCATION_GOOMBA_ROAD" parent="LOCATION_TOAD_TOWN" requires="STORY_CH0_ARRIVED_AT_TOAD_TOWN" startX="74" startY="154" path="-8,-3;-7,0;-8,1;-7,2"/>
<Location id="LOCATION_PLEASANT_PATH" parent="LOCATION_TOAD_TOWN" requires="STORY_CH1_STAR_SPRIT_DEPARTED" startX="148" startY="167" path="-9,0;-6,-1;-7,0;-8,1;-1,8"/>
<Location id="LOCATION_KOOPA_VILLAGE" parent="LOCATION_PLEASANT_PATH" requires="STORY_CH1_KOOPER_JOINED_PARTY" startX="154" startY="148" path="1,6;-3,6"/>
<Location id="LOCATION_KOOPA_BROS_FORTRESS" parent="LOCATION_PLEASANT_PATH" requires="STORY_CH1_STAR_SPRIT_DEPARTED" startX="205" startY="152" path="-7,1;-7,3;-7,3;-7,3;-7,1;-7,2;-7,0"/>
<Location id="LOCATION_MT_RUGGED" parent="LOCATION_TOAD_TOWN" requires="STORY_NEVER" startX="227" startY="243" path="-9,3;-8,0;-8,0;-9,-2;-7,-4;-7,-4;-6,-5;-5,-6;-1,-7;-3,-6;-3,-6;-7,-4;-7,0;-8,0;-8,0;-8,0;-8,0;0,-6;0,-6"/>
<Location id="LOCATION_DRY_DRY_DESERT" parent="LOCATION_MT_RUGGED" requires="STORY_CH2_UNCOVERED_DRY_DRY_RUINS" startX="266" startY="206" path="-6,5;-6,3;-8,0;-8,-4;-5,-5;-8,-3;-8,1;-5,5;-2,7;2,7;5,5;6,5;6,3"/>
<Location id="LOCATION_DRY_DRY_OUTPOST" parent="LOCATION_DRY_DRY_DESERT" requires="STORY_NEVER" startX="280" startY="191" path="-2,6;-4,4"/>
<Location id="LOCATION_DRY_DRY_RUINS" parent="LOCATION_DRY_DRY_DESERT" requires="STORY_CH2_BEGAN_PEACH_MISSION" startX="252" startY="188" path="4,6;4,5"/>
<Location id="LOCATION_FOREVER_FOREST" parent="LOCATION_TOAD_TOWN" requires="STORY_CH3_ARRIVED_AT_BOOS_MANSION" startX="187" startY="193" path="-8,-1;-10,-2;-8,-2;-9,-1;-8,-1;-10,0;-9,0"/>
<Location id="LOCATION_BOOS_MANSION" parent="LOCATION_FOREVER_FOREST" requires="STORY_CH3_UNLOCKED_GUSTY_GULCH" startX="170" startY="180" path="8,6"/>
<Location id="LOCATION_GUSTY_GULCH" parent="LOCATION_FOREVER_FOREST" requires="STORY_CH3_BEGAN_PEACH_MISSION" startX="223" startY="170" path="-7,4;-7,5;-7,4;-7,5"/>
<Location id="LOCATION_TUBBAS_MANOR" parent="LOCATION_GUSTY_GULCH" requires="STORY_CH3_BEGAN_PEACH_MISSION" startX="263" startY="156" path="-8,2;-8,3;-8,3;-8,3"/>
<Location id="LOCATION_WINDY_MILL" parent="LOCATION_GUSTY_GULCH" requires="STORY_CH3_BEGAN_PEACH_MISSION" startX="203" startY="171" path="10,-1"/>
<Location id="LOCATION_SHY_GUYS_TOYBOX" parent="LOCATION_TOAD_TOWN" requires="STORY_CH4_STAR_SPRIT_DEPARTED" startX="79" startY="173" path="6,6;6,6;8,2;7,-1"/>
<Location id="LOCATION_JADE_JUNGLE" parent="LOCATION_TOAD_TOWN" requires="STORY_CH5_ZIP_LINE_READY" startX="66" startY="289" path="11,2;11,0;11,-2;10,-3;7,-7;3,-8;0,-9;-4,-7;-9,-3;-10,-2;-9,-2;-7,-6;-2,-9;1,-9;0,-9;-8,-5;-9,-2;1,-8;9,-2;9,-2;8,-5"/>
<Location id="LOCATION_YOSHIS_VILLAGE" parent="LOCATION_JADE_JUNGLE" requires="STORY_NEVER" startX="84" startY="274" path="-9,3;-5,5"/>
<Location id="LOCATION_MT_LAVALAVA" parent="LOCATION_JADE_JUNGLE" requires="STORY_CH5_BEGAN_PEACH_MISSION" startX="47" startY="252" path="-5,6;-2,9;2,8;7,6;7,4"/>
<Location id="LOCATION_FLOWER_FIELDS" parent="LOCATION_TOAD_TOWN" requires="STORY_CH6_BEGAN_PEACH_MISSION" startX="59" startY="126" path=""/>
<Location id="LOCATION_CLOUDY_CLIMB" parent="LOCATION_FLOWER_FIELDS" requires="STORY_CH6_BEGAN_PEACH_MISSION" startX="58" startY="92" path="-3,6;0,7;5,6;1,7"/>
<Location id="LOCATION_SHIVER_CITY" parent="LOCATION_TOAD_TOWN_TUNNELS" requires="STORY_CH7_MAYOR_MURDER_SOLVED" startX="183" startY="125" path=""/>
<Location id="LOCATION_SHIVER_SNOWFIELD" parent="LOCATION_SHIVER_CITY" requires="STORY_CH7_DEFEATED_MONSTAR" startX="203" startY="126" path="-9,-2"/>
<Location id="LOCATION_STARBORN_VALLEY" parent="LOCATION_SHIVER_SNOWFIELD" requires="STORY_CH7_GOT_SNOWMAN_SCARF" startX="234" startY="128" path="-11,1;-9,-2"/>
<Location id="LOCATION_SHIVER_MOUNTAIN" parent="LOCATION_SHIVER_SNOWFIELD" requires="STORY_CH7_STAR_SPRIT_DEPARTED" startX="220" startY="112" path="-7,3;-6,5"/>
<Location id="LOCATION_CRYSTAL_PALACE" parent="LOCATION_SHIVER_MOUNTAIN" requires="STORY_CH7_STAR_SPRIT_DEPARTED" startX="223" startY="99" path="0,7"/>
<Location id="LOCATION_STAR_WAY" parent="LOCATION_SHOOTING_STAR_SUMMIT" requires="STORY_NEVER" startX="158" startY="110" path="-9,3;-8,1;-7,1;-7,4;2,6;8,3"/>
<Location id="LOCATION_STAR_HAVEN" parent="LOCATION_STAR_WAY" requires="STORY_NEVER" startX="163" startY="78" path="-3,6;2,6;8,3;6,5;-2,6;-6,3"/>
<Location id="LOCATION_BOWSERS_CASTLE" parent="LOCATION_STAR_HAVEN" requires="STORY_EPILOGUE" startX="96" startY="49" path="-6,5;-2,7;2,7;6,6;8,3;8,0;8,-3;8,-5;6,-5;7,-4;8,-1;8,3;2,8"/>
<Location id="LOCATION_PEACHS_CASTLE" parent="LOCATION_BOWSERS_CASTLE" requires="STORY_EPILOGUE" startX="88" startY="22" path="-3,7;0,6;4,7"/>
<Location id="LOCATION_MARIOS_HOUSE" parent="LOCATION_TOAD_TOWN" requires="STORY_NEVER" startX="98" startY="147" path=""/>
</WorldMap>

View File

@ -254,7 +254,27 @@ def write_ninja_rules(
ninja.rule(
"icons",
command=f"$python {BUILD_TOOLS}/pm_icons.py $out $list_path $header_path $asset_stack",
command=f"$python {BUILD_TOOLS}/icons.py $out $list_path $header_path $asset_stack",
)
ninja.rule(
"move_data",
command=f"$python {BUILD_TOOLS}/move_data.py $out $in",
)
ninja.rule(
"item_data",
command=f"$python {BUILD_TOOLS}/item_data.py $out $in",
)
ninja.rule(
"world_map",
command=f"$python {BUILD_TOOLS}/world_map.py $in $out",
)
ninja.rule(
"recipes",
command=f"$python {BUILD_TOOLS}/recipes.py $in $out",
)
ninja.rule(
@ -477,7 +497,7 @@ class Configure:
assert self.linker_entries is not None
built_objects = set()
generated_headers = []
generated_code = []
def build(
object_paths: Union[Path, List[Path]],
@ -496,8 +516,8 @@ class Configure:
for object_path in object_paths:
if object_path.suffixes[-1] == ".o":
built_objects.add(str(object_path))
elif object_path.suffixes[-1] == ".h" or task == "bin_inc_c" or task == "pal_inc_c":
generated_headers.append(str(object_path))
elif object_path.suffix.endswith(".h") or object_path.suffix.endswith(".c"):
generated_code.append(str(object_path))
# don't rebuild objects if we've already seen all of them
if not str(object_path) in skip_outputs:
@ -505,7 +525,7 @@ class Configure:
for i_output in implicit_outputs:
if i_output.endswith(".h"):
generated_headers.append(i_output)
generated_code.append(i_output)
if needs_build:
skip_outputs.update(object_strs)
@ -516,7 +536,7 @@ class Configure:
if task == "yay0":
implicit.append(YAY0_COMPRESS_TOOL)
elif task in ["cc", "cxx", "cc_modern"]:
order_only.append("generated_headers_" + self.version)
order_only.append("generated_code_" + self.version)
inputs = self.resolve_src_paths(src_paths)
for dir in asset_deps:
@ -548,6 +568,40 @@ class Configure:
},
)
build(
self.build_path() / "include/world_map.inc.c",
[Path("src/world_map.xml")],
"world_map",
)
build(
self.build_path() / "include/recipes.inc.c",
[Path("src/recipes.yaml")],
"recipes",
)
build(
[
self.build_path() / "include/move_data.inc.c",
self.build_path() / "include/move_enum.h",
],
[Path("src/move_table.yaml")],
"move_data",
)
build(
[
self.build_path() / "include/item_data.inc.c",
self.build_path() / "include/item_enum.h",
],
[
Path("src/item_table.yaml"),
Path("src/item_entity_scripts.yaml"),
Path("src/item_hud_scripts.yaml"),
],
"item_data",
)
# Build objects
for entry in self.linker_entries:
seg = entry.segment
@ -1131,7 +1185,7 @@ class Configure:
implicit=[str(self.rom_path())],
)
ninja.build("generated_headers_" + self.version, "phony", generated_headers)
ninja.build("generated_code_" + self.version, "phony", generated_code)
def make_current(self, ninja: ninja_syntax.Writer):
current = Path("ver/current")

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
import argparse
import re
import argparse
from pathlib import Path
from typing import Dict, Tuple
from common import get_asset_path
@ -48,10 +48,10 @@ def build(out_bin: Path, in_xml: Path, out_header: Path, asset_stack: Tuple[Path
file = Icon.attrib["name"]
if file is None:
raise Exception("Icon os missing attribute: 'name'")
raise Exception("Icon is missing attribute: 'name'")
if type is None:
raise Exception("Icon os missing attribute: 'type'")
raise Exception("Icon is missing attribute: 'type'")
name = re.sub("\\W", "_", file)

341
tools/build/item_data.py Normal file
View File

@ -0,0 +1,341 @@
#!/usr/bin/env python3
import re
import sys
import yaml
import argparse
from pathlib import Path
from typing import List, Dict
from io import TextIOWrapper
class ItemEntry:
def __init__(self, entry):
self.name = list(entry.keys())[0]
data = entry[self.name]
self.category = data.get("category", "")
self.nameMsg = data.get("nameMsg", "MSG_NONE")
self.fullDescMsg = data.get("fullDescMsg", "MSG_NONE")
self.shortDescMsg = data.get("shortDescMsg", "MSG_NONE")
self.hudElem = data.get("hudElement", "Item_Present")
self.itemEntity = data.get("itemEntity", "Placeholder")
self.icon = data.get("icon", "key/Gift")
self.sellValue = data.get("sellValue", -1)
self.sortValue = data.get("sortValue", 0)
self.targetFlags = data.get("targetFlags", [])
self.typeFlags = data.get("typeFlags", [])
self.moveID = data.get("moveID", "MOVE_NONE")
self.potencyA = data.get("potencyA", 0)
self.potencyB = data.get("potencyB", 0)
self.icon = re.sub("\\W", "_", self.icon)
def read_items_yaml(in_yaml: Path) -> List[ItemEntry]:
items: List[ItemEntry] = []
with open(in_yaml) as f:
entry_list = yaml.load(f.read(), Loader=yaml.SafeLoader)
for entry in entry_list:
items.append(ItemEntry(entry))
return items
def generate_item_table(fout: TextIOWrapper, items: List[ItemEntry], hs_map: Dict[str, int]):
fout.write("ItemData gItemTable[] = {\n")
def join_flags(flags: List[str]) -> str:
if len(flags) > 0:
joined = " | ".join(flags)
else:
joined = "0"
return joined
for idx, item in enumerate(items):
hud_elem_id = hs_map.get(item.hudElem, None)
if hud_elem_id == None:
raise Exception(f"Item {item.name} requires undefined HudScript: {item.hudElem}")
if item.hudElem.startswith("HES_"):
hud_elem_str = item.hudElem
else:
hud_elem_str = "HES_Item_" + item.hudElem
fout.write(f" {{ // 0x{idx:03X}: {item.name}\n")
fout.write(f" .nameMsg = {item.nameMsg},\n")
fout.write(f" .fullDescMsg = {item.fullDescMsg},\n")
fout.write(f" .shortDescMsg = {item.shortDescMsg},\n")
fout.write(f" .hudElemID = {hud_elem_id}, // {hud_elem_str}\n")
fout.write(f" .sellValue = {item.sellValue},\n")
fout.write(f" .sortValue = {item.sortValue},\n")
fout.write(f" .targetFlags = {join_flags(item.targetFlags)},\n")
fout.write(f" .typeFlags = {join_flags(item.typeFlags)},\n")
fout.write(f" .moveID = {item.moveID},\n")
fout.write(f" .potencyA = {item.potencyA},\n")
fout.write(f" .potencyB = {item.potencyB},\n")
fout.write(f" }},\n")
fout.write("};\n")
fout.write("\n")
def generate_item_enum(fout: TextIOWrapper, items: List[ItemEntry]):
fout.write("#ifndef ITEM_ENUM_H\n")
fout.write("#define ITEM_ENUM_H\n")
fout.write("\n")
fout.write("enum ItemIDs {\n")
item_enum: List[str] = []
for idx, item in enumerate(items):
# FireFlower -> FIRE_FLOWER
# POWBlock -> POW_BLOCK
# MagicalSeed1 -> MAGICAL_SEED1
# UnusedLetter_4 -> UNUSED_LETTER_4
# etc
name = "ITEM_" + re.sub("((?<=[a-z0-9])[A-Z]|(?!^)(?<!_)[A-Z](?=[a-z]))", r"_\1", item.name).upper()
item_enum.append(name)
fout.write(f" {name:39} = 0x{idx:03X},\n")
fout.write("};\n")
fout.write("\n")
# determine itemID ranges for each category
min_cat: Dict[str, int] = {}
max_cat: Dict[str, int] = {}
for idx, item in enumerate(items):
cat = item.category
if cat not in min_cat:
min_cat[cat] = idx
max_cat[cat] = idx
fout.write(f"#define ITEM_FIRST_KEY {item_enum[min_cat['KEY']]}\n")
fout.write(f"#define ITEM_LAST_KEY {item_enum[max_cat['KEY']]}\n")
fout.write(f"#define ITEM_FIRST_CONSUMABLE {item_enum[min_cat['CONSUMABLE']]}\n")
fout.write(f"#define ITEM_LAST_CONSUMABLE {item_enum[max_cat['CONSUMABLE']]}\n")
fout.write(f"#define ITEM_FIRST_BADGE {item_enum[min_cat['BADGE']]}\n")
fout.write(f"#define ITEM_LAST_BADGE {item_enum[max_cat['BADGE']]}\n")
fout.write("\n")
fout.write("#define ITEM_NUM_KEYS (ITEM_LAST_KEY - ITEM_FIRST_KEY + 1)\n")
fout.write("#define ITEM_NUM_CONSUMABLES (ITEM_LAST_CONSUMABLE - ITEM_FIRST_CONSUMABLE + 1)\n")
fout.write("\n")
fout.write("#define IS_ITEM(itemID) (itemID >= ITEM_FIRST_KEY && itemID <= ITEM_LAST_CONSUMABLE)\n")
fout.write("#define IS_BADGE(itemID) (itemID >= ITEM_FIRST_BADGE && itemID <= ITEM_LAST_BADGE)\n")
fout.write("\n")
fout.write("#endif // ITEM_ENUM_H\n")
class ItemHudScriptEntry:
def __init__(self, script):
self.name = script.get("name", None)
self.template = script.get("template", None)
self.icon = script.get("icon", "")
priority_str = script.get("priority", "auto")
self.pair = script.get("pair", False)
if self.name == None:
raise Exception(f"ItemHudScript is missing 'name'")
self.extern = self.name.startswith("HES_")
if self.extern:
self.full_name = self.name
else:
self.full_name = "HES_Item_" + self.name
if self.template == None and not self.extern:
raise Exception(f"{self.name} is missing 'template'")
self.icon = re.sub("\\W", "_", self.icon)
if str(priority_str).lower() == "auto":
self.priority = sys.maxsize
else:
self.priority = int(priority_str)
def read_hud_scripts_yaml(in_yaml: Path) -> List[ItemHudScriptEntry]:
scripts: List[ItemHudScriptEntry] = []
with open(in_yaml) as f:
entry_list = yaml.load(f.read(), Loader=yaml.SafeLoader)
for entry in entry_list:
scripts.append(ItemHudScriptEntry(entry))
return scripts
def generate_hud_scripts(fout: TextIOWrapper, hud_scripts: List[ItemHudScriptEntry]):
for entry in hud_scripts:
# do not generate scripts for entries defined externally
if entry.extern:
continue
fout.write(f"HudScript {entry.full_name} = HES_TEMPLATE_{entry.template}({entry.icon});\n")
if entry.pair:
fout.write(
f"HudScript {entry.full_name}_disabled = HES_TEMPLATE_{entry.template}({entry.icon}_disabled);\n"
)
# there is no item for these scripts, just generate them after the coin script
if entry.name == "Coin":
fout.write("HudScript HES_Item_CoinSparkleA = HES_COIN_SPARKLE(-8, 0);\n")
fout.write("HudScript HES_Item_CoinSparkleB = HES_COIN_SPARKLE( 8, 8);\n")
fout.write("HudScript HES_Item_CoinSparkleC = HES_COIN_SPARKLE(-4, 8);\n")
fout.write("HudScript HES_Item_CoinSparkleD = HES_COIN_SPARKLE( 6, -6);\n")
fout.write("HudScript HES_Item_CoinSparkleE = HES_COIN_SPARKLE( 1, -8);\n")
fout.write("HudScript HES_Item_CoinSparkleRandom = HES_TEMPLATE_COIN_SPARKLE();\n")
elif entry.name == "StarPoint":
fout.write("HudScript HES_Item_SmallStarPoint = HES_TEMPLATE_SMALL_STAR_POINT();\n")
fout.write("\n")
fout.write("s32 pad_after_item_hudscripts[] = { 0, 0 };\n")
fout.write("\n")
def generate_hud_scripts_table(fout: TextIOWrapper, hud_scripts: List[ItemHudScriptEntry]):
for entry in hud_scripts:
if entry.extern:
fout.write(f"extern HudScript {entry.full_name};\n")
if entry.pair:
fout.write(f"extern HudScript {entry.full_name}_disabled;\n")
fout.write("\n")
fout.write("IconHudScriptPair gItemHudScripts[] = {\n")
fout.write(" { .enabled = NULL, .disabled = NULL },\n") # array index 0 is always NULL
for entry in hud_scripts:
if entry.pair:
fout.write(f" {{ .enabled = &{entry.full_name}, .disabled = &{entry.full_name}_disabled }},\n")
else:
fout.write(f" {{ .enabled = &{entry.full_name}, .disabled = &{entry.full_name} }},\n")
fout.write("};\n")
fout.write("\n")
def generate_item_entity_scripts(fout: TextIOWrapper, ies_yaml: Path):
with open(ies_yaml) as f:
scripts = yaml.load(f.read(), Loader=yaml.SafeLoader)
for script in scripts:
name = script.get("name", None)
template = script.get("template", None)
icon = script.get("icon", None)
if name is None:
raise Exception("Item entity script is missing 'name'")
if template is None:
raise Exception(f"{name} is missing 'template'")
if icon is None:
icon = ""
else:
icon = re.sub("\\W", "_", icon)
fout.write(f"ItemScript IES_{name} = IES_TEMPLATE_{template}({icon});\n")
fout.write("\n")
def generate_item_entity_scripts_table(fout: TextIOWrapper, items: List[ItemEntry]):
fout.write("// indexed by itemID\n")
fout.write("s32* gItemEntityScripts[] = {\n")
idx = 0
for item in items:
fout.write(f" IES_{item.itemEntity},\n")
idx += 1
# must pad with IES_Placeholder to match
while idx <= 0x180:
fout.write(f" IES_{items[0].itemEntity},\n")
idx += 1
fout.write("};\n")
fout.write("\n")
def generate_item_icon_tables(fout: TextIOWrapper, items: List[ItemEntry]):
# note: DUMMY items have no icon rasters or palettes
fout.write("// indexed by itemID\n")
fout.write("s32 gItemIconRasterOffsets[] = {\n")
for item in items:
if item.category != "DUMMY":
fout.write(f" ICON_{item.icon}_raster,\n")
fout.write("};\n")
fout.write("\n")
fout.write("// indexed by itemID\n")
fout.write("s32 gItemIconPaletteOffsets[] = {\n")
for item in items:
if item.category != "DUMMY":
fout.write(f" ICON_{item.icon}_palette,\n")
fout.write("};\n")
fout.write("\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Generates item table")
parser.add_argument("out_data", help="output header file to generate containing the data")
parser.add_argument("out_enum", help="output header file to generate containing the enum")
parser.add_argument("items_yaml", type=Path, help="input yaml file path")
parser.add_argument("ies_yaml", type=Path, help="input yaml file path for item entity scripts")
parser.add_argument("hes_yaml", type=Path, help="input yaml file path for item hud element scripts")
args = parser.parse_args()
items = read_items_yaml(args.items_yaml)
hud_scripts = read_hud_scripts_yaml(args.hes_yaml)
# sort items by category
CATEGORY_ORDER = {
"NONE": 0,
"GEAR": 1,
"QUEST": 2,
"KEY": 3,
"CONSUMABLE": 4,
"UNUSED": 5,
"BADGE": 6,
"UTILITY": 7,
"DUMMY": 1000, # must always be at the end of the item table
}
items.sort(key=lambda x: CATEGORY_ORDER.get(x.category, 999))
with open(args.out_data, "w") as fout:
fout.write("/* This file is auto-generated. Do not edit. */\n")
fout.write('#include "common.h"\n')
fout.write('#include "message_ids.h"\n')
fout.write('#include "hud_element.h"\n')
fout.write('#include "item_entity.h"\n')
fout.write('#include "icon_offsets.h"\n')
fout.write("\n")
generate_hud_scripts(fout, hud_scripts)
# after writing the hud script sources, sort them according to table order
hud_scripts.sort(key=lambda x: x.priority)
# get hudElemID for each hud element
hs_map: Dict[str, int] = {}
for idx, hs in enumerate(hud_scripts):
hs_map[hs.name] = idx + 1
generate_item_table(fout, items, hs_map)
generate_hud_scripts_table(fout, hud_scripts)
generate_item_entity_scripts(fout, args.ies_yaml)
generate_item_entity_scripts_table(fout, items)
generate_item_icon_tables(fout, items)
with open(args.out_enum, "w") as fout:
fout.write("/* This file is auto-generated. Do not edit. */\n")
fout.write("\n")
generate_item_enum(fout, items)

111
tools/build/move_data.py Normal file
View File

@ -0,0 +1,111 @@
#!/usr/bin/env python3
import re
import yaml
import argparse
from pathlib import Path
from typing import List
from io import TextIOWrapper
class MoveEntry:
def __init__(self, entry):
self.name = list(entry.keys())[0]
data = entry[self.name]
self.nameMsg = data.get("nameMsg", "MSG_NONE")
self.fullDescMsg = data.get("fullDescMsg", "MSG_NONE")
self.shortDescMsg = data.get("shortDescMsg", "MSG_NONE")
self.flags = data.get("flags", [])
self.category = data.get("category", "")
self.actionTip = data.get("actionTip", "")
self.costFP = data.get("costFP", 0)
self.costBP = data.get("costBP", 0)
def read_moves_yaml(in_yaml: Path) -> List[MoveEntry]:
items: List[MoveEntry] = []
with open(in_yaml) as f:
entry_list = yaml.load(f.read(), Loader=yaml.SafeLoader)
for entry in entry_list:
items.append(MoveEntry(entry))
return items
def generate_move_table(fout: TextIOWrapper, moves: List[MoveEntry]):
fout.write("MoveData gMoveTable[] = {\n")
def join_flags(flags: List[str]) -> str:
if len(flags) > 0:
joined = " | ".join(flags)
else:
joined = "0"
return joined
for idx, move in enumerate(moves):
fout.write(f" {{ // 0x{idx:02X}: {move.name}\n")
fout.write(f" .nameMsg = {move.nameMsg},\n")
fout.write(f" .fullDescMsg = {move.fullDescMsg},\n")
fout.write(f" .shortDescMsg = {move.shortDescMsg},\n")
fout.write(f" .flags = {join_flags(move.flags)},\n")
fout.write(f" .category = {move.category},\n")
fout.write(f" .actionTip = {move.actionTip},\n")
fout.write(f" .costFP = {move.costFP},\n")
fout.write(f" .costBP = {move.costBP},\n")
fout.write(f" }},\n")
fout.write("};\n")
fout.write("\n")
def generate_move_enum(fout: TextIOWrapper, moves: List[MoveEntry]):
fout.write("#ifndef MOVE_ENUM_H\n")
fout.write("#define MOVE_ENUM_H\n")
fout.write("\n")
fout.write("enum MoveIDs {\n")
item_enum: List[str] = []
for idx, move in enumerate(moves):
if re.match(r"Unused_(?:Hammer_)?([0-9A-F]{2})", move.name):
name = "MOVE_" + move.name.upper()
else:
name = "MOVE_" + re.sub("((?<=[a-z0-9])[A-Z]|(?!^)(?<!_)[A-Z](?=[a-z]))", r"_\1", move.name).upper()
item_enum.append(name)
fout.write(f" {name:39} = 0x{idx:03X},\n")
fout.write("};\n")
fout.write("\n")
fout.write("#define STAR_POWER_INDEX(x) (x - MOVE_FOCUS)\n")
fout.write("\n")
fout.write("#endif // MOVE_ENUM_H\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Generates item table")
parser.add_argument("out_data", help="output header file to generate containing the data")
parser.add_argument("out_enum", help="output header file to generate containing the enum")
parser.add_argument("moves_yaml", type=Path, help="input yaml file path")
args = parser.parse_args()
moves = read_moves_yaml(args.moves_yaml)
with open(args.out_data, "w") as fout:
fout.write("/* This file is auto-generated. Do not edit. */\n")
fout.write('#include "common.h"\n')
fout.write('#include "message_ids.h"\n')
fout.write("\n")
generate_move_table(fout, moves)
with open(args.out_enum, "w") as fout:
fout.write("/* This file is auto-generated. Do not edit. */\n")
fout.write("\n")
generate_move_enum(fout, moves)

172
tools/build/recipes.py Normal file
View File

@ -0,0 +1,172 @@
#!/usr/bin/env python3
import yaml
import argparse
from pathlib import Path
from typing import List, Dict
class DoubleRecipe:
def __init__(self, entry: List[str], order: Dict[str, int]):
order0 = order.get(entry[0], 99999)
order1 = order.get(entry[1], 99999)
if order0 <= order1 or order0 == 99999 or order1 == 99999:
self.i = order0
self.j = order1
self.in1 = entry[0]
self.in2 = entry[1]
else:
self.i = order1
self.j = order0
self.in1 = entry[1]
self.in2 = entry[0]
self.result = entry[2]
self.used = False
def generate(in_yaml: Path, out_c: Path):
with open(in_yaml) as f:
data = yaml.load(f.read(), Loader=yaml.SafeLoader)
products = data["Products"]
mystery_products = data["MysteryProducts"]
single_recipes = data["SingleRecipes"]
double_recipes = data["DoubleRecipes"]
records = data["CookingRecords"]
dim = len(single_recipes)
input_idx: Dict[str, int] = {}
for idx, entry in enumerate(single_recipes):
input_idx[entry[0]] = idx
product_idx: Dict[str, int] = {}
for idx, entry in enumerate(products):
product_idx[entry[0]] = idx
for recipe in single_recipes:
if len(recipe) != 2 and len(recipe) != 3:
raise Exception(f"Invaid format for ExtraDoubleRecipe: {str(recipe)}")
if not recipe[1] in product_idx:
raise Exception(f"Product {recipe[1]} for SingleRecipe {recipe[0]} not listed in Products")
if len(recipe) == 3 and not recipe[2] in product_idx:
raise Exception(f"Product {recipe[2]} for SingleRecipe {recipe[0]} not listed in Products")
# double recipes with inputs not found in SingleRecipes are automatically treated as an ExtraDoubleRecipe
for recipe in double_recipes:
if len(recipe) != 3:
raise Exception(f"Invaid format for ExtraDoubleRecipe: {str(recipe)}")
# if not recipe[0] in input_idx:
# raise Exception(f"Ingredient {recipe[0]} for DoubleRecipe ({recipe[0]}, {recipe[1]}) not listed in SingleRecipes")
# if not recipe[1] in input_idx:
# raise Exception(f"Ingredient {recipe[1]} for DoubleRecipe ({recipe[0]}, {recipe[1]}) not listed in SingleRecipes")
if not recipe[2] in product_idx:
raise Exception(f"Product {recipe[2]} for DoubleRecipe ({recipe[0]}, {recipe[1]}) not listed in Products")
# for recipe in extra_recipes:
# if len(recipe) != 3:
# raise Exception(f"Invaid format for ExtraDoubleRecipe: {str(recipe)}")
# if not recipe[2] in product_idx:
# raise Exception(f"Product {recipe[2]} for ExtraDoubleRecipe ({recipe[0]}, {recipe[1]}) not listed in Products")
with open(out_c, "w") as f:
f.write("/* This file is auto-generated. Do not edit. */\n\n")
f.write('#include "common.h"\n\n')
f.write(f"#define NUM_INGREDIENTS {dim}\n\n")
f.write("s32 CookingIngredients[] = {\n")
for recipe in single_recipes:
f.write(f" {recipe[0]},\n")
f.write(" -1,\n")
f.write("};\n\n")
f.write("CookingResult CookingResults[] = {\n")
for product in products:
f.write(f" {{ {product[1] + ',':15} {product[0]} }},\n")
f.write(" { -1, -1 },\n")
f.write("};\n\n")
f.write("s8 SingleRecipesWithoutCookbook[] = {\n")
for recipe in single_recipes:
f.write(f" {product_idx[recipe[1]]:-2}, // {recipe[0]:20} --> {recipe[1]}\n")
f.write("};\n\n")
f.write("s8 SingleRecipesWithCookbook[] = {\n")
for recipe in single_recipes:
if len(recipe) == 3:
f.write(f" {product_idx[recipe[2]]:-2}, // {recipe[0]:20} --> {recipe[2]}\n")
else:
f.write(f" {product_idx[recipe[1]]:-2}, // {recipe[0]:20} --> {recipe[1]}\n")
f.write("};\n\n")
recipe_map: Dict[int, DoubleRecipe] = {}
recipe_list: List[DoubleRecipe] = []
def combine_ids(i, j):
return i * dim + j
for entry in double_recipes:
r = DoubleRecipe(entry, input_idx)
if r.i < 99999 and r.j < 99999:
id_pair = combine_ids(r.i, r.j)
if id_pair in recipe_map:
raise Exception(f"Duplicate recipe for {r.in1} and {r.in2} in DoubleRecipes")
recipe_map[id_pair] = r
recipe_list.append(r)
f.write("s8 DoubleRecipesMatrix[] = {\n")
for i in range(0, dim):
f.write(" ")
for j in range(0, dim):
if j < i:
# ignore lower diagonal
id = -1
elif combine_ids(i, j) in recipe_map:
# recipe is defined, get product id
recipe = recipe_map[combine_ids(i, j)]
# this special combination COULD be defined in the matrix, but isn't in vanilla
# so we need to grant it a special exception, forcing it to generate in ExtraDoubleRecipes
if recipe.in1 == "ITEM_STRANGE_LEAF" and recipe.in2 == "ITEM_WHACKAS_BUMP":
id = 0
else:
id = product_idx[recipe.result]
recipe.used = True
else:
# no recipe for this (i,j) -> default to ITEM_MISTAKE
id = 0
f.write(f" {id:-2},")
f.write("\n")
f.write("};\n\n")
f.write("ExtraCookingPair ExtraDoubleRecipes[] = {\n")
# for entry in extra_recipes:
# f.write(f" {{ {entry[0]}, {entry[1]}, {product_idx[entry[2]]} }},\n")
for entry in recipe_list:
if not entry.used:
f.write(f" {{ {entry.in1}, {entry.in2}, {product_idx[entry.result]} }},\n")
f.write("};\n\n")
f.write("s32 MysteryResultOptions[] = {\n")
for product in mystery_products:
f.write(f" {product},\n")
f.write("};\n\n")
f.write("const s32 CookableItemIDs[] = {\n")
for rec in records:
f.write(f" {rec[0]},\n")
f.write("};\n\n")
f.write("const s32 CookableDiscoveredFlags[] = {\n")
for rec in records:
f.write(f" {rec[1]},\n")
f.write("};\n\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Generates Tayce T cooking data")
parser.add_argument("in_yaml", type=Path, help="input yaml file path")
parser.add_argument("out", help="output file to generate")
args = parser.parse_args()
generate(args.in_yaml, args.out)

86
tools/build/world_map.py Normal file
View File

@ -0,0 +1,86 @@
#!/usr/bin/env python3
import argparse
from pathlib import Path
from typing import List, Dict
import xml.etree.ElementTree as ET
def get_required_attrib(elem: ET.Element, attrib: str) -> str:
value = elem.attrib.get(attrib, None)
if value == None:
raise Exception(f"{elem.tag} is missing attribute: '{attrib}'")
return str(value)
class WorldMapEntry:
def __init__(self, elem: ET.Element):
self.location = get_required_attrib(elem, "id")
self.parent = get_required_attrib(elem, "parent")
self.requires = get_required_attrib(elem, "requires")
self.startX = get_required_attrib(elem, "startX")
self.startY = get_required_attrib(elem, "startY")
path_str = get_required_attrib(elem, "path")
self.path = []
if path_str != "":
for i in path_str.split(";"):
self.path.append(i.split(","))
def generate(in_xml: Path, out_c: Path):
xml = ET.parse(in_xml)
ScriptList = xml.getroot()
with open(out_c, "w") as f:
f.write("#ifndef WORLD_MAP_H\n")
f.write("#define WORLD_MAP_H\n")
f.write("/* This file is auto-generated. Do not edit. */\n\n")
f.write('#include "common.h"\n\n')
locations: List[WorldMapEntry] = []
for elem in ScriptList.findall("Location"):
locations.append(WorldMapEntry(elem))
loc_to_idx: Dict[str, int] = {}
for idx, loc in enumerate(locations):
loc_to_idx[loc.location] = idx
# write paths
# note: len(locations) = 34, will only match if hardcoded to 32 here
f.write("Vec2b PauseMapPaths[][32] = {\n")
for loc in locations:
f.write(" { ")
for point in loc.path:
f.write(f"{{ {point[0]}, {point[1]} }}, ")
f.write("},\n")
f.write("};\n\n")
# write locations
f.write("PauseMapSpace PauseMapSpaces[] = {\n")
for idx, loc in enumerate(locations):
if loc.parent not in loc_to_idx:
raise Exception(f"{loc.parent} is not defined")
f.write(
f" {{ .id = {loc.location}, .parent = {loc_to_idx[loc.parent]}, .afterRequirement = {loc.requires}, "
+ f".pos = {{ .x = {loc.startX}, .y = {loc.startY} }}, "
+ f".pathLength = {len(loc.path)}, .path = PauseMapPaths[{idx}] }},\n"
)
f.write("};\n")
f.write("\n#endif // WORLD_MAP_H\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Generates world map data")
parser.add_argument("in_xml", type=Path, help="input xml file path")
parser.add_argument("header_path", help="output header file to generate")
args = parser.parse_args()
generate(args.in_xml, args.header_path)

View File

@ -1,24 +1,24 @@
# valid icon types are:
# single ci4 image followed by one palette
# solo ci4 image followed by one palette
# pair ci4 image followed by two palettes; the second will be called .disabled
# rgba16 rgba image; used by one strange entry
- [solo, key/Gift, 32, 32]
- [solo, key/CakeDone, 32, 32]
- [solo, key/CakeBaked, 32, 32]
- [solo, key/CakeBare, 32, 32]
- [solo, key/CakePan, 32, 32]
- [solo, key/CakeBatter, 32, 32]
- [solo, key/CakeBowl, 32, 32]
- [solo, key/CakeMix, 32, 32]
- [solo, key/CakeIcing, 32, 32]
- [solo, key/CakeBerries, 32, 32]
- [solo, key/gear_boots_1, 32, 32]
- [solo, key/gear_boots_2, 32, 32]
- [solo, key/gear_boots_3, 32, 32]
- [solo, key/gear_hammer_1, 32, 32]
- [solo, key/gear_hammer_2, 32, 32]
- [solo, key/gear_hammer_3, 32, 32]
- [solo, key/gear_lucky_star, 32, 32]
- [solo, key/CakeMixed, 32, 32]
- [solo, key/CakeWithIcing, 32, 32]
- [solo, key/CakeWithBerries, 32, 32]
- [solo, gear/boots_1, 32, 32]
- [solo, gear/boots_2, 32, 32]
- [solo, gear/boots_3, 32, 32]
- [solo, gear/hammer_1, 32, 32]
- [solo, gear/hammer_2, 32, 32]
- [solo, gear/hammer_3, 32, 32]
- [solo, gear/lucky_star, 32, 32]
- [solo, key/map, 32, 32]
- [pair, food/SpicySoup, 32, 32]
- [pair, food/ApplePie, 32, 32]
@ -338,13 +338,13 @@
- [solo, hud/coin, 24, 24]
- [solo, hud/heart_container, 24, 24]
- [solo, hud/star_point, 24, 24]
- [pair, Hammer1, 32, 32]
- [pair, Hammer2, 32, 32]
- [pair, Hammer3, 32, 32]
- [pair, Boots1, 32, 32]
- [pair, Boots2, 32, 32]
- [pair, Boots3, 32, 32]
- [pair, Items, 32, 32]
- [pair, menu/hammer_1, 32, 32]
- [pair, menu/hammer_2, 32, 32]
- [pair, menu/hammer_3, 32, 32]
- [pair, menu/boots_1, 32, 32]
- [pair, menu/boots_2, 32, 32]
- [pair, menu/boots_3, 32, 32]
- [pair, menu/items, 32, 32]
- [solo, anim/hp_0, 32, 32]
- [solo, anim/hp_1, 32, 32]
- [solo, anim/hp_2, 32, 32]

View File

@ -6327,9 +6327,9 @@
- [0x23, 0x009D, ItemShortDesc_Refund]
- [0x23, 0x009E, ItemShortDesc_ISpy]
- [0x23, 0x009F, ItemShortDesc_Peekaboo]
- [0x23, 0x00A0, ItemShortDesc_Jump]
- [0x23, 0x00A1, ItemShortDesc_SpinJump]
- [0x23, 0x00A2, ItemShortDesc_TornadoJump]
- [0x23, 0x00A0, ItemShortDesc_Boots]
- [0x23, 0x00A1, ItemShortDesc_SuperBoots]
- [0x23, 0x00A2, ItemShortDesc_UltraBoots]
- [0x23, 0x00A3, ItemShortDesc_Hammer]
- [0x23, 0x00A4, ItemShortDesc_SuperHammer]
- [0x23, 0x00A5, ItemShortDesc_UltraHammer]
@ -6595,9 +6595,9 @@
- [0x24, 0x009D, ItemShopDesc_Refund]
- [0x24, 0x009E, ItemShopDesc_ISpy]
- [0x24, 0x009F, ItemShopDesc_Peekaboo]
- [0x24, 0x00A0, ItemShopDesc_Jump]
- [0x24, 0x00A1, ItemShopDesc_SpinJump]
- [0x24, 0x00A2, ItemShopDesc_TornadoJump]
- [0x24, 0x00A0, ItemShopDesc_Boots]
- [0x24, 0x00A1, ItemShopDesc_SuperBoots]
- [0x24, 0x00A2, ItemShopDesc_UltraBoots]
- [0x24, 0x00A3, ItemShopDesc_Hammer]
- [0x24, 0x00A4, ItemShopDesc_SuperHammer]
- [0x24, 0x00A5, ItemShopDesc_UltraHammer]
@ -6863,9 +6863,9 @@
- [0x25, 0x009D, ItemFullDesc_Refund]
- [0x25, 0x009E, ItemFullDesc_ISpy]
- [0x25, 0x009F, ItemFullDesc_Peekaboo]
- [0x25, 0x00A0, ItemFullDesc_Jump]
- [0x25, 0x00A1, ItemFullDesc_SpinJump]
- [0x25, 0x00A2, ItemFullDesc_TornadoJump]
- [0x25, 0x00A0, ItemFullDesc_Boots]
- [0x25, 0x00A1, ItemFullDesc_SuperBoots]
- [0x25, 0x00A2, ItemFullDesc_UltraBoots]
- [0x25, 0x00A3, ItemFullDesc_Hammer]
- [0x25, 0x00A4, ItemFullDesc_SuperHammer]
- [0x25, 0x00A5, ItemFullDesc_UltraHammer]
@ -7131,9 +7131,9 @@
- [0x26, 0x009D, ItemName_Refund]
- [0x26, 0x009E, ItemName_ISpy]
- [0x26, 0x009F, ItemName_Peekaboo]
- [0x26, 0x00A0, ItemName_Jump]
- [0x26, 0x00A1, ItemName_SpinJump]
- [0x26, 0x00A2, ItemName_TornadoJump]
- [0x26, 0x00A0, ItemName_Boots]
- [0x26, 0x00A1, ItemName_SuperBoots]
- [0x26, 0x00A2, ItemName_UltraBoots]
- [0x26, 0x00A3, ItemName_Hammer]
- [0x26, 0x00A4, ItemName_SuperHammer]
- [0x26, 0x00A5, ItemName_UltraHammer]

View File

@ -6379,9 +6379,9 @@
- [0x23, 0x009D, ItemShortDesc_Refund]
- [0x23, 0x009E, ItemShortDesc_ISpy]
- [0x23, 0x009F, ItemShortDesc_Peekaboo]
- [0x23, 0x00A0, ItemShortDesc_Jump]
- [0x23, 0x00A1, ItemShortDesc_SpinJump]
- [0x23, 0x00A2, ItemShortDesc_TornadoJump]
- [0x23, 0x00A0, ItemShortDesc_Boots]
- [0x23, 0x00A1, ItemShortDesc_SuperBoots]
- [0x23, 0x00A2, ItemShortDesc_UltraBoots]
- [0x23, 0x00A3, ItemShortDesc_Hammer]
- [0x23, 0x00A4, ItemShortDesc_SuperHammer]
- [0x23, 0x00A5, ItemShortDesc_UltraHammer]
@ -6647,9 +6647,9 @@
- [0x24, 0x009D, ItemShopDesc_Refund]
- [0x24, 0x009E, ItemShopDesc_ISpy]
- [0x24, 0x009F, ItemShopDesc_Peekaboo]
- [0x24, 0x00A0, ItemShopDesc_Jump]
- [0x24, 0x00A1, ItemShopDesc_SpinJump]
- [0x24, 0x00A2, ItemShopDesc_TornadoJump]
- [0x24, 0x00A0, ItemShopDesc_Boots]
- [0x24, 0x00A1, ItemShopDesc_SuperBoots]
- [0x24, 0x00A2, ItemShopDesc_UltraBoots]
- [0x24, 0x00A3, ItemShopDesc_Hammer]
- [0x24, 0x00A4, ItemShopDesc_SuperHammer]
- [0x24, 0x00A5, ItemShopDesc_UltraHammer]
@ -6915,9 +6915,9 @@
- [0x25, 0x009D, ItemFullDesc_Refund]
- [0x25, 0x009E, ItemFullDesc_ISpy]
- [0x25, 0x009F, ItemFullDesc_Peekaboo]
- [0x25, 0x00A0, ItemFullDesc_Jump]
- [0x25, 0x00A1, ItemFullDesc_SpinJump]
- [0x25, 0x00A2, ItemFullDesc_TornadoJump]
- [0x25, 0x00A0, ItemFullDesc_Boots]
- [0x25, 0x00A1, ItemFullDesc_SuperBoots]
- [0x25, 0x00A2, ItemFullDesc_UltraBoots]
- [0x25, 0x00A3, ItemFullDesc_Hammer]
- [0x25, 0x00A4, ItemFullDesc_SuperHammer]
- [0x25, 0x00A5, ItemFullDesc_UltraHammer]
@ -7183,9 +7183,9 @@
- [0x26, 0x009D, ItemName_Refund]
- [0x26, 0x009E, ItemName_ISpy]
- [0x26, 0x009F, ItemName_Peekaboo]
- [0x26, 0x00A0, ItemName_Jump]
- [0x26, 0x00A1, ItemName_SpinJump]
- [0x26, 0x00A2, ItemName_TornadoJump]
- [0x26, 0x00A0, ItemName_Boots]
- [0x26, 0x00A1, ItemName_SuperBoots]
- [0x26, 0x00A2, ItemName_UltraBoots]
- [0x26, 0x00A3, ItemName_Hammer]
- [0x26, 0x00A4, ItemName_SuperHammer]
- [0x26, 0x00A5, ItemName_UltraHammer]

View File

@ -1154,8 +1154,8 @@ glabel msg_copy_to_print_buffer
/* BA694 801237B4 0280202D */ daddu $a0, $s4, $zero
.LIQUE_801237B8:
/* BA698 801237B8 92700000 */ lbu $s0, 0x0($s3)
/* BA69C 801237BC 3C04802F */ lui $a0, %hi(D_802EB620)
/* BA6A0 801237C0 2484B620 */ addiu $a0, $a0, %lo(D_802EB620)
/* BA69C 801237BC 3C04802F */ lui $a0, %hi(MsgVoices)
/* BA6A0 801237C0 2484B620 */ addiu $a0, $a0, %lo(MsgVoices)
/* BA6A4 801237C4 320300FF */ andi $v1, $s0, 0xFF
/* BA6A8 801237C8 00031040 */ sll $v0, $v1, 1
/* BA6AC 801237CC 00431021 */ addu $v0, $v0, $v1

View File

@ -6330,9 +6330,9 @@
#define MSG_ItemShortDesc_Refund MESSAGE_ID(0x23, 0x09D)
#define MSG_ItemShortDesc_ISpy MESSAGE_ID(0x23, 0x09E)
#define MSG_ItemShortDesc_Peekaboo MESSAGE_ID(0x23, 0x09F)
#define MSG_ItemShortDesc_Jump MESSAGE_ID(0x23, 0x0A0)
#define MSG_ItemShortDesc_SpinJump MESSAGE_ID(0x23, 0x0A1)
#define MSG_ItemShortDesc_TornadoJump MESSAGE_ID(0x23, 0x0A2)
#define MSG_ItemShortDesc_Boots MESSAGE_ID(0x23, 0x0A0)
#define MSG_ItemShortDesc_SuperBoots MESSAGE_ID(0x23, 0x0A1)
#define MSG_ItemShortDesc_UltraBoots MESSAGE_ID(0x23, 0x0A2)
#define MSG_ItemShortDesc_Hammer MESSAGE_ID(0x23, 0x0A3)
#define MSG_ItemShortDesc_SuperHammer MESSAGE_ID(0x23, 0x0A4)
#define MSG_ItemShortDesc_UltraHammer MESSAGE_ID(0x23, 0x0A5)
@ -7134,9 +7134,9 @@
#define MSG_ItemName_Refund MESSAGE_ID(0x26, 0x09D)
#define MSG_ItemName_ISpy MESSAGE_ID(0x26, 0x09E)
#define MSG_ItemName_Peekaboo MESSAGE_ID(0x26, 0x09F)
#define MSG_ItemName_Jump MESSAGE_ID(0x26, 0x0A0)
#define MSG_ItemName_SpinJump MESSAGE_ID(0x26, 0x0A1)
#define MSG_ItemName_TornadoJump MESSAGE_ID(0x26, 0x0A2)
#define MSG_ItemName_Boots MESSAGE_ID(0x26, 0x0A0)
#define MSG_ItemName_SuperBoots MESSAGE_ID(0x26, 0x0A1)
#define MSG_ItemName_UltraBoots MESSAGE_ID(0x26, 0x0A2)
#define MSG_ItemName_Hammer MESSAGE_ID(0x26, 0x0A3)
#define MSG_ItemName_SuperHammer MESSAGE_ID(0x26, 0x0A4)
#define MSG_ItemName_UltraHammer MESSAGE_ID(0x26, 0x0A5)

View File

@ -790,7 +790,7 @@ HES_Bombette = 0x80106178;
HES_BombetteDisabled = 0x801061a0;
HES_Parakarry = 0x801061c8;
HES_ParakarryDisabled = 0x801061f0;
HES_MoveDiamondDisabled = 0x801077b8;
HES_MoveDiamond_disabled = 0x801077b8;
HES_MoveDiamond = 0x80107718;
npc_test_move_simple_with_slipping = 0x800dc024;
SetNpcPos = 0x802cdcb0;
@ -1204,7 +1204,7 @@ D_802ED970 = 0x802ed970;
D_802F39D0 = 0x802f39d0;
D_802EB5C0 = 0x802eb5c0;
D_802EB5F0 = 0x802eb5f0;
D_802EB620 = 0x802eb620;
MsgVoices = 0x802eb620;
ui_msg_star_png = 0x802ed690;
ui_point_right_pal = 0x800f9fc0;
spr_get_npc_raster_info = 0x802de9d8;

View File

@ -1,6 +1,7 @@
#ifndef _MESSAGE_IDS_JP_H_
#define _MESSAGE_IDS_JP_H_
#define MSG_NONE MESSAGE_ID(0x00, 0x000)
#define MSG_Menus_Party_Goombario MESSAGE_ID(0x20, 0x00E)
#define MSG_Menus_Party_Kooper MESSAGE_ID(0x20, 0x00F)
#define MSG_Menus_Party_Bombette MESSAGE_ID(0x20, 0x010)
@ -224,9 +225,9 @@
#define MSG_ItemShortDesc_ShellCrack MESSAGE_ID(0x28, 0x0BB)
#define MSG_ShortDesc_32 MESSAGE_ID(0x28, 0x0BD)
#define MSG_ItemShortDesc_MysteryScroll MESSAGE_ID(0x28, 0x0C5)
#define MSG_ItemShortDesc_Jump MESSAGE_ID(0x28, 0x0C6)
#define MSG_ItemShortDesc_SpinJump MESSAGE_ID(0x28, 0x0C7)
#define MSG_ItemShortDesc_TornadoJump MESSAGE_ID(0x28, 0x0C8)
#define MSG_ItemShortDesc_Boots MESSAGE_ID(0x28, 0x0C6)
#define MSG_ItemShortDesc_SuperBoots MESSAGE_ID(0x28, 0x0C7)
#define MSG_ItemShortDesc_UltraBoots MESSAGE_ID(0x28, 0x0C8)
#define MSG_ItemShortDesc_Hammer MESSAGE_ID(0x28, 0x0C9)
#define MSG_ItemShortDesc_SuperHammer MESSAGE_ID(0x28, 0x0CA)
#define MSG_ItemShortDesc_UltraHammer MESSAGE_ID(0x28, 0x0CB)
@ -819,9 +820,9 @@
#define MSG_ItemName_Kaiden MESSAGE_ID(0x2B, 0x0B8)
#define MSG_ItemName_ShellCrack MESSAGE_ID(0x2B, 0x0BC)
#define MSG_ItemName_MysteryScroll MESSAGE_ID(0x2B, 0x0C6)
#define MSG_ItemName_Jump MESSAGE_ID(0x2B, 0x0C7)
#define MSG_ItemName_SpinJump MESSAGE_ID(0x2B, 0x0C8)
#define MSG_ItemName_TornadoJump MESSAGE_ID(0x2B, 0x0C9)
#define MSG_ItemName_Boots MESSAGE_ID(0x2B, 0x0C7)
#define MSG_ItemName_SuperBoots MESSAGE_ID(0x2B, 0x0C8)
#define MSG_ItemName_UltraBoots MESSAGE_ID(0x2B, 0x0C9)
#define MSG_ItemName_Hammer MESSAGE_ID(0x2B, 0x0CA)
#define MSG_ItemName_SuperHammer MESSAGE_ID(0x2B, 0x0CB)
#define MSG_ItemName_UltraHammer MESSAGE_ID(0x2B, 0x0CC)

View File

@ -141,7 +141,7 @@ HES_PartnerBDisabled = 0x801081D0;
HES_Peril = 0x80108B54;
HES_Danger = 0x80108BA4;
HES_MoveDiamond = 0x801094C8;
HES_MoveDiamondDisabled = 0x80109568;
HES_MoveDiamond_disabled = 0x80109568;
wPartnerNpc = 0x8010CAF0;
NpcHitQueryColliderID = 0x8010CB38;
gPartnerStatus = 0x08010ED70;

View File

@ -1448,13 +1448,13 @@ HES_HandPointLeft = 0x80080388; // rom:0x5B788
HES_HandPointLeftHeld = 0x800804C0; // rom:0x5B8C0
HES_Item_Present = 0x800804F0; // rom:0x5B8F0
HES_Item_CakeDone = 0x80080520; // rom:0x5B920
HES_Item_CakeBaked = 0x80080550; // rom:0x5B950
HES_Item_CakeBare = 0x80080550; // rom:0x5B950
HES_Item_CakePan = 0x80080580; // rom:0x5B980
HES_Item_CakeBatter = 0x800805B0; // rom:0x5B9B0
HES_Item_CakeBowl = 0x800805E0; // rom:0x5B9E0
HES_Item_CakeMixed = 0x80080610; // rom:0x5BA10
HES_Item_CakeIcing = 0x80080640; // rom:0x5BA40
HES_Item_CakeBerries = 0x80080670; // rom:0x5BA70
HES_Item_CakeWIthIcing = 0x80080640; // rom:0x5BA40
HES_Item_CakeWithBerries = 0x80080670; // rom:0x5BA70
HES_Item_Hammer1 = 0x800806A0; // rom:0x5BAA0
HES_Item_Hammer2 = 0x800806D0; // rom:0x5BAD0
HES_Item_Hammer3 = 0x80080700; // rom:0x5BB00
@ -2026,12 +2026,12 @@ gItemHudScripts = 0x8008A680; // rom:0x65A80
IES_Jump = 0x8008B108; // rom:0x66508
IES_CompleteCake = 0x8008B124; // rom:0x66524
IES_CakeDone = 0x8008B140; // rom:0x66540
IES_CakeBaked = 0x8008B15C; // rom:0x6655C
IES_CakeBare = 0x8008B15C; // rom:0x6655C
IES_CakePan = 0x8008B178; // rom:0x66578
IES_CakeBatter = 0x8008B194; // rom:0x66594
IES_CakeBowl = 0x8008B1B0; // rom:0x665B0
IES_CakeMixed = 0x8008B1CC; // rom:0x665CC
IES_CakeIcing = 0x8008B1E8; // rom:0x665E8
IES_CakeWithMixed = 0x8008B1CC; // rom:0x665CC
IES_CakeWithIcing = 0x8008B1E8; // rom:0x665E8
IES_CakeBerries = 0x8008B204; // rom:0x66604
IES_Hammer1 = 0x8008B220; // rom:0x66620
IES_Hammer2 = 0x8008B23C; // rom:0x6663C
@ -3716,7 +3716,7 @@ HES_MoveDiamond = 0x80109338; // rom:0xA27E8
HES_MoveBlueOrb = 0x80109360; // rom:0xA2810
HES_MoveGreenOrb = 0x80109388; // rom:0xA2838
HES_MoveRedOrb = 0x801093B0; // rom:0xA2860
HES_MoveDiamondDisabled = 0x801093D8; // rom:0xA2888
HES_MoveDiamond_disabled = 0x801093D8; // rom:0xA2888
HES_MoveBlueOrbDisabled = 0x80109400; // rom:0xA28B0
HES_MoveGreenOrbDisabled = 0x80109428; // rom:0xA28D8
HES_MoveRedOrbDisabled = 0x80109450; // rom:0xA2900
@ -6180,12 +6180,12 @@ gPauseSpiritsDrawOrder = 0x8024F974; // rom:0x142CB4
gPauseSpiritsCursorPositions = 0x8024F990; // rom:0x142CD0
gPauseSpiritsWindowsBPs = 0x8024F9C8; // rom:0x142D08
gPausePanelSpirits = 0x8024FA10; // rom:0x142D50
gPauseMapIconScripts = 0x8024FA30; // rom:0x142D70
PauseMapIconScripts = 0x8024FA30; // rom:0x142D70
D_8024FA34 = 0x8024FA34; // rom:0x142D74
gPauseMapPaths = 0x8024FA38; // rom:0x142D78
gPauseMapSpaces = 0x802502B8; // rom:0x1435F8
gPauseMapArrowWobble = 0x80250560; // rom:0x1438A0
gPauseMapWindowBPs = 0x80250590; // rom:0x1438D0
PauseMapPaths = 0x8024FA38; // rom:0x142D78
PauseMapSpaces = 0x802502B8; // rom:0x1435F8
PauseMapArrowWobble = 0x80250560; // rom:0x1438A0
PauseMapWindowBPs = 0x80250590; // rom:0x1438D0
gPausePanelMap = 0x8025068C; // rom:0x1439CC
pause_image_1439F0_png = 0x802506B0; // rom:0x1439F0
pause_image_143BF0_png = 0x802508B0; // rom:0x143BF0
@ -6216,20 +6216,20 @@ pause_prompt_check_abilities_png = 0x8026E0B0; // rom:0x1613F0
pause_prompt_check_abilities_pal = 0x8026E4B0; // rom:0x1617F0
pause_stats_bar_png = 0x8026E6B0; // rom:0x1619F0
pause_stats_bar_pal = 0x8026E930; // rom:0x161C70
gPauseDLBannerHp = 0x8026EB30; // rom:0x161E70
gPauseDLBannerFp = 0x8026EC08; // rom:0x161F48
gPauseDLBannerBp = 0x8026ECE0; // rom:0x162020
gPauseDLBannerBoots = 0x8026EDB8; // rom:0x1620F8
gPauseDLBannerHammer = 0x8026EE90; // rom:0x1621D0
gPauseDLBannerStarEnergy = 0x8026EF68; // rom:0x1622A8
gPauseDLStatsBar = 0x8026F040; // rom:0x162380
gPauseDLWorldMap = 0x8026F118; // rom:0x162458
gPauseDLPathPoints = 0x8026F1B8; // rom:0x1624F8
gPauseDLArrows = 0x8026F2A0; // rom:0x1625E0
gPauseDLOrbs = 0x8026F348; // rom:0x162688
gPauseDLAvailable = 0x8026F3F0; // rom:0x162730
gPauseDLCheckAbilities = 0x8026F4C8; // rom:0x162808
gPauseDLSpiritsBg = 0x8026F5A0; // rom:0x1628E0
PauseGfxBannerHp = 0x8026EB30; // rom:0x161E70
PauseGfxBannerFp = 0x8026EC08; // rom:0x161F48
PauseGfxBannerBp = 0x8026ECE0; // rom:0x162020
PauseGfxBannerBoots = 0x8026EDB8; // rom:0x1620F8
PauseGfxBannerHammer = 0x8026EE90; // rom:0x1621D0
PauseGfxBannerStarEnergy = 0x8026EF68; // rom:0x1622A8
PauseGfxStatsBar = 0x8026F040; // rom:0x162380
PauseGfxWorldMap = 0x8026F118; // rom:0x162458
PauseGfxPathPoints = 0x8026F1B8; // rom:0x1624F8
PauseGfxArrows = 0x8026F2A0; // rom:0x1625E0
PauseGfxOrbs = 0x8026F348; // rom:0x162688
PauseGfxAvailable = 0x8026F3F0; // rom:0x162730
PauseGfxCheckAbilities = 0x8026F4C8; // rom:0x162808
PauseGfxSpiritsBg = 0x8026F5A0; // rom:0x1628E0
gPauseMsg_17 = 0x8026F640; // rom:0x162980
gPauseMsg_18 = 0x8026F648; // rom:0x162988
gPauseMsg_19 = 0x8026F650; // rom:0x162990
@ -6266,7 +6266,7 @@ gPauseMsg_54 = 0x8026F764; // rom:0x162AA4
gPauseMsg_55 = 0x8026F768; // rom:0x162AA8
gPauseMsg_56 = 0x8026F774; // rom:0x162AB4
gPauseMessages = 0x8026F778; // rom:0x162AB8
gPauseDLLabels = 0x8026F8D4; // rom:0x162C14
PauseGfxLabels = 0x8026F8D4; // rom:0x162C14
gPauseWS_0 = 0x8026F900; // rom:0x162C40
gPauseWS_1 = 0x8026F938; // rom:0x162C78
gPauseWS_2 = 0x8026F970; // rom:0x162CB0
@ -26686,16 +26686,16 @@ gPauseSpiritsSpriteIDs = 0x802706C0; //
D_802706DC = 0x802706DC; //
gPauseSpiritsIndexes = 0x802706E0; //
gPauseSpiritsNumSpirits = 0x802706FC; //
gPauseMapIconIDs = 0x80270700; //
gPauseMapCameraX = 0x80270704; //
gPauseMapCameraY = 0x80270708; //
gPauseMapMarioX = 0x8027070C; //
gPauseMapMarioY = 0x80270710; //
gPauseMapTargetX = 0x80270714; //
gPauseMapTargetY = 0x80270718; //
gPauseMapCursorCurrentOption = 0x8027071C; //
gPauseMapCursorCurrentOptionCopy = 0x80270720; //
gPauseMapSpacesInSnapRange = 0x80270724; //
PauseMapIconIDs = 0x80270700; //
PauseMapCameraX = 0x80270704; //
PauseMapCameraY = 0x80270708; //
PauseMapMarioX = 0x8027070C; //
PauseMapMarioY = 0x80270710; //
PauseMapTargetX = 0x80270714; //
PauseMapTargetY = 0x80270718; //
PauseMapCursorCurrentOption = 0x8027071C; //
PauseMapCursorCurrentOptionCopy = 0x80270720; //
PauseMapSpacesInSnapRange = 0x80270724; //
D_80280000 = 0x80280000; //
D_80281104 = 0x80281104; //
bMarioHideAnims = 0x80283370; //
@ -26768,9 +26768,9 @@ D_8029EFB0 = 0x8029EFB0; //
D_8029EFB4 = 0x8029EFB4; //
D_8029EFB8 = 0x8029EFB8; //
D_8029EFBC = 0x8029EFBC; //
D_8029EFC0 = 0x8029EFC0; //
D_8029EFE8 = 0x8029EFE8; //
D_8029F010 = 0x8029F010; //
BtlStarPointTensHIDs = 0x8029EFC0; //
BtlStarPointShinesHIDs = 0x8029EFE8; //
BtlStarPointOnesHIDs = 0x8029F010; //
gTattleBgPalette = 0x8029F038; //
BattleEnemiesCreated = 0x8029F240; //
D_8029F244 = 0x8029F244; //
@ -27192,7 +27192,7 @@ D_802EB3D0 = 0x802EB3D0; //
gMsgCharsets = 0x802EB5A8; //
D_802EB5C0 = 0x802EB5C0; //
D_802EB5F0 = 0x802EB5F0; //
D_802EB620 = 0x802EB620; //
MsgVoices = 0x802EB620; //
D_802EB644 = 0x802EB644; //
D_802ED970 = 0x802ED970; //
D_802EE8D0 = 0x802EE8D0; //