rest of 5B320 (#713)

* rest of 5B320

* whitespace

* fix warnings

* split 5B320.c with includes

* ICON_anim_heart_piece_palette

* requested changes

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2022-05-21 00:56:54 -04:00 committed by GitHub
parent 5b7f18a2ca
commit 1e91e60cb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 12021 additions and 14137 deletions

View File

@ -98,7 +98,7 @@ typedef u8 ALPan;
#ifdef _DEBUG #ifdef _DEBUG
#define ALFlagFailIf(condition, flag, error) \ #define ALFlagFailIf(condition, flag, error) \
if (condition) { \ if (condition) { \
if(flag) __osError(error, 0); \ if (flag) __osError(error, 0); \
return; } return; }
#else #else

View File

@ -1204,34 +1204,35 @@ typedef struct ItemData {
typedef struct ItemEntity { typedef struct ItemEntity {
/* 0x00 */ s32 flags; /* 0x00 */ s32 flags;
/* 0x04 */ s16 boundVar; /* see make_item_entity */ /* 0x04 */ s16 boundVar;
/* 0x06 */ s16 unk_06; /* 0x06 */ s16 pickupMsgFlags;
/* 0x08 */ Vec3f position; /* 0x08 */ Vec3f position;
/* 0x14 */ struct ItemEntityPhysicsData* physicsData; /* 0x14 */ struct ItemEntityPhysicsData* physicsData;
/* 0x18 */ s16 itemID; /* into item table, also worldIconID */ /* 0x18 */ s16 itemID;
/* 0x1A */ s8 state; /* 0x1A */ s8 state;
/* 0x1B */ s8 type; /* 0x1B */ s8 spawnType;
/* 0x1C */ u8 pickupDelay; /* num frames before item can be picked up */ /* 0x1C */ u8 pickupDelay; /* num frames before item can be picked up */
/* 0x1D */ char unk_1D; /* 0x1D */ s8 renderGroup;
/* 0x1E */ s16 wsFaceAngle; /* < 0 means none */ /* 0x1E */ s16 wsFaceAngle; /* < 0 means none */
/* 0x20 */ s16 shadowIndex; /* 0x20 */ s16 shadowIndex;
/* 0x22 */ char unk_22[2]; /* 0x22 */ char unk_22[2];
/* 0x24 */ u32* readPos; /* 0x24 */ u32* readPos;
/* 0x28 */ u32* savedReadPos; /* 0x28 */ u32* savedReadPos;
/* 0x2C */ char unk_2C[2]; /* 0x2C */ s8 lookupRasterIndex;
/* 0x2E */ u8 unkCounter; /* 0x2D */ s8 lookupPaletteIndex;
/* 0x2E */ u8 nextUpdate;
/* 0x2F */ u8 alpha; /* 0x2F */ u8 alpha;
/* 0x30 */ f32 scale; /* 0x30 */ f32 scale;
/* 0x34 */ Vec3s unk_34; /* 0x34 */ Vec3s unk_34;
/* 0x3A */ char unk_3A[2]; /* 0x3A */ char unk_3A[2];
/* 0x3C */ s32 framesLeft; /* 0x3C */ s32 sparkleNextUpdate;
/* 0x40 */ s32* currentState; /* 0x40 */ s32* sparkleReadPos;
/* 0x44 */ s32 unk_44; /* 0x44 */ s32 sparkleUnk44;
/* 0x48 */ s32* sequenceStart; /* 0x48 */ s32* sparkleSavedPos;
/* 0x4C */ s32* unk_4C; /* 0x4C */ s32* sparkleRaster;
/* 0x50 */ s32* unk_50; /* 0x50 */ s32* sparklePalette;
/* 0x54 */ s32 unk_54; /* 0x54 */ s32 sparkleWidth;
/* 0x58 */ s32 unk_58; /* 0x58 */ s32 sparkleHeight;
} ItemEntity; // size = 0x5C } ItemEntity; // size = 0x5C
typedef struct MessagePrintState { typedef struct MessagePrintState {

View File

@ -1492,6 +1492,7 @@ enum ItemSpawnModes {
ITEM_SPAWN_MODE_TOSS_FADE3 = 0x00000019, ITEM_SPAWN_MODE_TOSS_FADE3 = 0x00000019,
ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL = 0x0000001A, ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS_SMALL = 0x0000001A,
ITEM_SPAWN_MODE_UNKNOWN_1B = 0x0000001B, ITEM_SPAWN_MODE_UNKNOWN_1B = 0x0000001B,
ITEM_SPAWN_AT_PLAYER = 0x0000001C,
}; };
enum Locations { enum Locations {
@ -1768,11 +1769,20 @@ enum TriggerFlags {
}; };
enum ItemEntityFlags { enum ItemEntityFlags {
ITEM_ENTITY_FLAGS_CAM0 = 0x00000001,
ITEM_ENTITY_FLAGS_CAM1 = 0x00000002,
ITEM_ENTITY_FLAGS_CAM2 = 0x00000004,
ITEM_ENTITY_FLAGS_CAM3 = 0x00000008,
ITEM_ENTITY_FLAGS_10 = 0x00000010, ITEM_ENTITY_FLAGS_10 = 0x00000010,
ITEM_ENTITY_FLAGS_40 = 0x00000040, ITEM_ENTITY_FLAGS_40 = 0x00000040,
ITEM_ENTITY_FLAGS_TINY = 0x00004000, ITEM_ENTITY_FLAGS_TINY = 0x00004000,
ITEM_ENTITY_FLAGS_20000 = 0x00020000,
ITEM_ENTITY_FLAGS_40000 = 0x00040000,
ITEM_ENTITY_FLAGS_TRANSPARENT = 0x00080000, ITEM_ENTITY_FLAGS_TRANSPARENT = 0x00080000,
ITEM_ENTITY_FLAGS_100000 = 0x00100000, ITEM_ENTITY_FLAGS_100000 = 0x00100000,
ITEM_ENTITY_FLAGS_200000 = 0x00200000,
ITEM_ENTITY_FLAGS_2000000 = 0x02000000,
ITEM_ENTITY_FLAGS_4000000 = 0x04000000,
ITEM_ENTITY_FLAGS_8000000 = 0x08000000, ITEM_ENTITY_FLAGS_8000000 = 0x08000000,
}; };

1230
include/icon_offsets.h Normal file

File diff suppressed because it is too large Load Diff

22
include/item_entity.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef ITEM_ENTITY_H
#define ITEM_ENTITY_H
#include "common.h"
typedef s32 ItemScript[0];
enum {
ITEM_SCRIPT_OP_End,
ITEM_SCRIPT_OP_SetImage,
ITEM_SCRIPT_OP_Restart,
ITEM_SCRIPT_OP_Loop,
ITEM_SCRIPT_OP_RandomRestart
};
#define is_End ITEM_SCRIPT_OP_End,
#define is_SetIcon(time, icon) ITEM_SCRIPT_OP_SetImage, time, ICON_##icon##_raster, ICON_##icon##_palette, 0, 0,
#define is_Restart ITEM_SCRIPT_OP_Restart,
#define is_Loop ITEM_SCRIPT_OP_Loop,
#define is_RandomRestart(max, cutoff) ITEM_SCRIPT_OP_RandomRestart, max, cutoff,
#endif

337
include/item_hud_scripts.h Normal file
View File

@ -0,0 +1,337 @@
// indices into gItemHudScripts for hud scripts used by the item table
#define HS_INDEX_HudScript_Item_SpicySoup 0x1
#define HS_INDEX_HudScript_Item_ApplePie 0x2
#define HS_INDEX_HudScript_Item_HoneyUltra 0x3
#define HS_INDEX_HudScript_Item_MapleUltra 0x4
#define HS_INDEX_HudScript_Item_JellyUltra 0x5
#define HS_INDEX_HudScript_Item_Koopasta 0x6
#define HS_INDEX_HudScript_Item_FriedShroom 0x7
#define HS_INDEX_HudScript_Item_ShroomCake 0x8
#define HS_INDEX_HudScript_Item_ShroomSteak 0x9
#define HS_INDEX_HudScript_Item_HotShroom 0xA
#define HS_INDEX_HudScript_Item_SweetShroom 0xB
#define HS_INDEX_HudScript_Item_HealthyJuice 0xC
#define HS_INDEX_HudScript_Item_BlandMeal 0xD
#define HS_INDEX_HudScript_Item_YummyMeal 0xE
#define HS_INDEX_HudScript_Item_DeluxeFeast 0xF
#define HS_INDEX_HudScript_Item_SpecialShake 0x10
#define HS_INDEX_HudScript_Item_BigCookie 0x11
#define HS_INDEX_HudScript_Item_Cake 0x12
#define HS_INDEX_HudScript_Item_Mistake 0x13
#define HS_INDEX_HudScript_Item_KoopaTea 0x14
#define HS_INDEX_HudScript_Item_HoneySuper 0x15
#define HS_INDEX_HudScript_Item_MapleSuper 0x16
#define HS_INDEX_HudScript_Item_JellySuper 0x17
#define HS_INDEX_HudScript_Item_Spaghetti 0x18
#define HS_INDEX_HudScript_Item_EggMissile 0x19
#define HS_INDEX_HudScript_Item_FriedEgg 0x1A
#define HS_INDEX_HudScript_Item_HoneyShroom 0x1B
#define HS_INDEX_HudScript_Item_HoneyCandy 0x1C
#define HS_INDEX_HudScript_Item_ElectroPop 0x1D
#define HS_INDEX_HudScript_Item_FirePop 0x1E
#define HS_INDEX_HudScript_Item_LimeCandy 0x1F
#define HS_INDEX_HudScript_Item_CocoPop 0x20
#define HS_INDEX_HudScript_Item_LemonCandy 0x21
#define HS_INDEX_HudScript_Item_JellyPop 0x22
#define HS_INDEX_HudScript_Item_StrangeCake 0x23
#define HS_INDEX_HudScript_Item_KookyCookie 0x24
#define HS_INDEX_HudScript_Item_FrozenFries 0x25
#define HS_INDEX_HudScript_Item_PotatoSalad 0x26
#define HS_INDEX_HudScript_Item_NuttyCake 0x27
#define HS_INDEX_HudScript_Item_MapleShroom 0x28
#define HS_INDEX_HudScript_Item_BoiledEgg 0x29
#define HS_INDEX_HudScript_Item_YoshiCookie 0x2A
#define HS_INDEX_HudScript_Item_JellyShroom 0x2B
#define HS_INDEX_HudScript_Item_Unused_02C 0x2C
#define HS_INDEX_HudScript_Item_Unused_02D 0x2D
#define HS_INDEX_HudScript_Item_Unused_02E 0x2E
#define HS_INDEX_HudScript_Item_Unused_02F 0x2F
#define HS_INDEX_HudScript_Item_Unused_030 0x30
#define HS_INDEX_HudScript_Item_Heart 0x31
#define HS_INDEX_HudScript_Item_Coin 0x32
#define HS_INDEX_HudScript_Item_HeartPiece 0x33
#define HS_INDEX_HudScript_Item_StarPoint 0x34
#define HS_INDEX_HudScript_Item_HeartPoint 0x35
#define HS_INDEX_HudScript_Item_FlowerPoint 0x36
#define HS_INDEX_HudScript_Item_StarPiece 0x37
#define HS_INDEX_HudScript_Item_Jump 0x38
#define HS_INDEX_HudScript_Item_SpinJump 0x39
#define HS_INDEX_HudScript_Item_TornadoJump 0x3A
#define HS_INDEX_HudScript_Item_Hammer 0x3B
#define HS_INDEX_HudScript_Item_SuperHammer 0x3C
#define HS_INDEX_HudScript_Item_UltraHammer 0x3D
#define HS_INDEX_HudScript_Item_LuckyStar 0x3E
#define HS_INDEX_HudScript_Item_Map 0x3F
#define HS_INDEX_HudScript_Item_KoopaFortressKey 0x40
#define HS_INDEX_HudScript_Item_RuinsKey 0x41
#define HS_INDEX_HudScript_Item_TubbaCastleKey 0x42
#define HS_INDEX_HudScript_Item_CrystalPalaceKey 0x43
#define HS_INDEX_HudScript_Item_BowserCastleKey 0x44
#define HS_INDEX_HudScript_Item_Dolly 0x45
#define HS_INDEX_HudScript_Item_KooperShell 0x46
#define HS_INDEX_HudScript_Item_PulseStone 0x47
#define HS_INDEX_HudScript_Item_Artifact 0x48
#define HS_INDEX_HudScript_Item_VolcanoVase 0x49
#define HS_INDEX_HudScript_Item_PyramidStone 0x4A
#define HS_INDEX_HudScript_Item_DiamondStone 0x4B
#define HS_INDEX_HudScript_Item_LunarStone 0x4C
#define HS_INDEX_HudScript_Item_ForestPass 0x4D
#define HS_INDEX_HudScript_Item_BooRecordOutline 0x4E
#define HS_INDEX_HudScript_Item_BooRecord 0x4F
#define HS_INDEX_HudScript_Item_BooWeight 0x50
#define HS_INDEX_HudScript_Item_BooPortrait 0x51
#define HS_INDEX_HudScript_Item_MysticalKey 0x52
#define HS_INDEX_HudScript_Item_IronKey 0x53
#define HS_INDEX_HudScript_Item_ToyTrain 0x54
#define HS_INDEX_HudScript_Item_FryingPan 0x55
#define HS_INDEX_HudScript_Item_Dictionary 0x56
#define HS_INDEX_HudScript_Item_MysteryNote 0x57
#define HS_INDEX_HudScript_Item_SuspiciousNote 0x58
#define HS_INDEX_HudScript_Item_MagicalSeed1 0x59
#define HS_INDEX_HudScript_Item_MagicalSeed2 0x5A
#define HS_INDEX_HudScript_Item_MagicalSeed3 0x5B
#define HS_INDEX_HudScript_Item_MagicalSeed4 0x5C
#define HS_INDEX_HudScript_Item_CrystalBerry 0x5D
#define HS_INDEX_HudScript_Item_WaterStone 0x5E
#define HS_INDEX_HudScript_Item_MagicalBean 0x5F
#define HS_INDEX_HudScript_Item_FertileSoil 0x60
#define HS_INDEX_HudScript_Item_MiracleWater 0x61
#define HS_INDEX_HudScript_Item_UltraStone 0x62
#define HS_INDEX_HudScript_Item_ToadDoll 0x63
#define HS_INDEX_HudScript_Item_Calculator 0x64
#define HS_INDEX_HudScript_Item_Screwdriver 0x65
#define HS_INDEX_HudScript_Item_Cookbook 0x66
#define HS_INDEX_HudScript_Item_JadeRaven 0x67
#define HS_INDEX_HudScript_Item_SnowmanBucket 0x68
#define HS_INDEX_HudScript_Item_SnowmanScarf 0x69
#define HS_INDEX_HudScript_Item_RedKey 0x6A
#define HS_INDEX_HudScript_Item_BlueKey 0x6B
#define HS_INDEX_HudScript_Item_KootPackage 0x6C
#define HS_INDEX_HudScript_Item_KootRedJar 0x6D
#define HS_INDEX_HudScript_Item_Melody 0x6E
#define HS_INDEX_HudScript_Item_Lyrics 0x6F
#define HS_INDEX_HudScript_Item_Mailbag 0x70
#define HS_INDEX_HudScript_Item_StarStone 0x71
#define HS_INDEX_HudScript_Item_SneakyParasol 0x72
#define HS_INDEX_HudScript_Item_PeachKey 0x73
#define HS_INDEX_HudScript_Item_UNK_1DC210 0x74
#define HS_INDEX_HudScript_Item_UNK_1DC430 0x75
#define HS_INDEX_HudScript_Item_UNK_1DC650 0x76
#define HS_INDEX_HudScript_Item_UNK_1DC870 0x77
#define HS_INDEX_HudScript_Item_FirstDegreeCard 0x78
#define HS_INDEX_HudScript_Item_SecondDegreeCard 0x79
#define HS_INDEX_HudScript_Item_ThirdDegreeCard 0x7A
#define HS_INDEX_HudScript_Item_FourthDegreeCard 0x7B
#define HS_INDEX_HudScript_Item_Diploma 0x7C
#define HS_INDEX_HudScript_Item_CrystalBall 0x7D
#define HS_INDEX_HudScript_Item_GoldCredit 0x7E
#define HS_INDEX_HudScript_Item_SilverCredit 0x7F
#define HS_INDEX_HudScript_Item_KootKoopaLegends 0x80
#define HS_INDEX_HudScript_Item_KootTheTape 0x81
#define HS_INDEX_HudScript_Item_KootLuigiAutograph 0x82
#define HS_INDEX_HudScript_Item_KootEmptyWallet 0x83
#define HS_INDEX_HudScript_Item_KootMerluvleeAutograph 0x84
#define HS_INDEX_HudScript_Item_KootShell 0x85
#define HS_INDEX_HudScript_Item_KootPhoto 0x86
#define HS_INDEX_HudScript_Item_KootGlasses 0x87
#define HS_INDEX_HudScript_Item_Letter 0x88
#define HS_INDEX_HudScript_Item_Unused_089 0x89
#define HS_INDEX_HudScript_Item_Unused_08A 0x8A
#define HS_INDEX_HudScript_Item_Unused_08B 0x8B
#define HS_INDEX_HudScript_Item_Unused_08C 0x8C
#define HS_INDEX_HudScript_Item_Unused_08D 0x8D
#define HS_INDEX_HudScript_Item_Unused_08E 0x8E
#define HS_INDEX_HudScript_Item_Unused_08F 0x8F
#define HS_INDEX_HudScript_Item_SpinSmash 0x90
#define HS_INDEX_HudScript_Item_Multibounce 0x91
#define HS_INDEX_HudScript_Item_PowerPlus 0x92
#define HS_INDEX_HudScript_Item_DodgeMaster 0x93
#define HS_INDEX_HudScript_Item_PowerBounce 0x94
#define HS_INDEX_HudScript_Item_SpikeShield 0x95
#define HS_INDEX_HudScript_Item_FirstAttack 0x96
#define HS_INDEX_HudScript_Item_HPPlus 0x97
#define HS_INDEX_HudScript_Item_QuakeHammer 0x98
#define HS_INDEX_HudScript_Item_DoubleDip 0x99
#define HS_INDEX_HudScript_Item_PowerQuake 0x9A
#define HS_INDEX_HudScript_Item_MegaQuake 0x9B
#define HS_INDEX_HudScript_Item_SleepStomp 0x9C
#define HS_INDEX_HudScript_Item_SmashCharge 0x9D
#define HS_INDEX_HudScript_Item_SSmashChg 0x9E
#define HS_INDEX_HudScript_Item_AutoSmash 0x9F
#define HS_INDEX_HudScript_Item_FireShield 0xA0
#define HS_INDEX_HudScript_Item_JumpCharge 0xA1
#define HS_INDEX_HudScript_Item_SJumpChg 0xA2
#define HS_INDEX_HudScript_Item_AutoJump 0xA3
#define HS_INDEX_HudScript_Item_DDownPound 0xA4
#define HS_INDEX_HudScript_Item_AutoMultibounce 0xA5
#define HS_INDEX_HudScript_Item_DizzyStomp 0xA6
#define HS_INDEX_HudScript_Item_HammerThrow 0xA7
#define HS_INDEX_HudScript_Item_SmashCharge0 0xA8
#define HS_INDEX_HudScript_Item_PrettyLucky 0xA9
#define HS_INDEX_HudScript_Item_FeelingFine 0xAA
#define HS_INDEX_HudScript_Item_AttackFXA 0xAB
#define HS_INDEX_HudScript_Item_AllorNothing 0xAC
#define HS_INDEX_HudScript_Item_HPDrain 0xAD
#define HS_INDEX_HudScript_Item_JumpCharge0 0xAE
#define HS_INDEX_HudScript_Item_SlowGo 0xAF
#define HS_INDEX_HudScript_Item_FPPlus 0xB0
#define HS_INDEX_HudScript_Item_MegaRush 0xB1
#define HS_INDEX_HudScript_Item_IcePower 0xB2
#define HS_INDEX_HudScript_Item_DefendPlus 0xB3
#define HS_INDEX_HudScript_Item_PayOff 0xB4
#define HS_INDEX_HudScript_Item_MoneyMoney 0xB5
#define HS_INDEX_HudScript_Item_ChillOut 0xB6
#define HS_INDEX_HudScript_Item_HappyHeart 0xB7
#define HS_INDEX_HudScript_Item_ZapTap 0xB8
#define HS_INDEX_HudScript_Item_Berserker 0xB9
#define HS_INDEX_HudScript_Item_RightOn 0xBA
#define HS_INDEX_HudScript_Item_RunawayPay 0xBB
#define HS_INDEX_HudScript_Item_Refund 0xBC
#define HS_INDEX_HudScript_Item_FlowerSaver 0xBD
#define HS_INDEX_HudScript_Item_TripleDip 0xBE
#define HS_INDEX_HudScript_Item_FlowerFanatic 0xBF
#define HS_INDEX_HudScript_Item_PowerJump 0xC0
#define HS_INDEX_HudScript_Item_SuperJump 0xC1
#define HS_INDEX_HudScript_Item_MegaJump 0xC2
#define HS_INDEX_HudScript_Item_PowerSmash1 0xC3
#define HS_INDEX_HudScript_Item_SuperSmash 0xC4
#define HS_INDEX_HudScript_Item_MegaSmash 0xC5
#define HS_INDEX_HudScript_Item_LuckyDay 0xC6
#define HS_INDEX_HudScript_Item_MegaHPDrain 0xC7
#define HS_INDEX_HudScript_Item_BumpAttack 0xC8
#define HS_INDEX_HudScript_Item_PUpDDown 0xC9
#define HS_INDEX_HudScript_Item_PDownDUp 0xCA
#define HS_INDEX_HudScript_Item_HeartFinder 0xCB
#define HS_INDEX_HudScript_Item_FlowerFinder 0xCC
#define HS_INDEX_HudScript_Item_DizzyAttack 0xCD
#define HS_INDEX_HudScript_Item_SpeedySpin 0xCE
#define HS_INDEX_HudScript_Item_SpinAttack 0xCF
#define HS_INDEX_HudScript_Item_ISpy 0xD0
#define HS_INDEX_HudScript_Item_PowerRush 0xD1
#define HS_INDEX_HudScript_Item_LastStand 0xD2
#define HS_INDEX_HudScript_Item_CloseCall 0xD3
#define HS_INDEX_HudScript_Item_CrazyHeart 0xD4
#define HS_INDEX_HudScript_Item_Unused_0D5 0xD5
#define HS_INDEX_HudScript_Item_Unused_0D6 0xD6
#define HS_INDEX_HudScript_Item_Unused_0D7 0xD7
#define HS_INDEX_HudScript_Item_ShrinkSmash 0xD8
#define HS_INDEX_HudScript_Item_ShrinkStomp 0xD9
#define HS_INDEX_HudScript_Item_DDownJump 0xDA
#define HS_INDEX_HudScript_Item_DamageDodge 0xDB
#define HS_INDEX_HudScript_Item_EarthquakeJump 0xDC
#define HS_INDEX_HudScript_Item_HappyFlower 0xDD
#define HS_INDEX_HudScript_Item_Unused_0DE 0xDE
#define HS_INDEX_HudScript_Item_Unused_0DF 0xDF
#define HS_INDEX_HudScript_Item_DeepFocus 0xE0
#define HS_INDEX_HudScript_Item_SuperFocus 0xE1
#define HS_INDEX_HudScript_Item_Kaiden 0xE2
#define HS_INDEX_HudScript_Item_QuickChange 0xE3
#define HS_INDEX_HudScript_Item_Unused_0E4 0xE4
#define HS_INDEX_HudScript_Item_Unused_0E5 0xE5
#define HS_INDEX_HudScript_Item_Unused_0E6 0xE6
#define HS_INDEX_HudScript_Item_Unused_0E7 0xE7
#define HS_INDEX_HudScript_Item_Peekaboo 0xE8
#define HS_INDEX_HudScript_Item_GroupFocus 0xE9
#define HS_INDEX_HudScript_Item_AttackFXD 0xEA
#define HS_INDEX_HudScript_Item_AttackFXB 0xEB
#define HS_INDEX_HudScript_Item_AttackFXE 0xEC
#define HS_INDEX_HudScript_Item_AttackFXC 0xED
#define HS_INDEX_HudScript_Item_AttackFXF 0xEE
#define HS_INDEX_HudScript_Item_Unused_0EF 0xEF
#define HS_INDEX_HudScript_Item_HealthyHealthy 0xF0
#define HS_INDEX_HudScript_Item_Unused_0F1 0xF1
#define HS_INDEX_HudScript_Item_Unused_0F2 0xF2
#define HS_INDEX_HudScript_Item_Unused_0F3 0xF3
#define HS_INDEX_HudScript_Item_Unused_0F4 0xF4
#define HS_INDEX_HudScript_Item_Unused_0F5 0xF5
#define HS_INDEX_HudScript_Item_Unused_0F6 0xF6
#define HS_INDEX_HudScript_Item_Unused_0F7 0xF7
#define HS_INDEX_HudScript_Item_Mushroom 0xF8
#define HS_INDEX_HudScript_Item_SuperShroom 0xF9
#define HS_INDEX_HudScript_Item_UltraShroom 0xFA
#define HS_INDEX_HudScript_Item_LifeShroom 0xFB
#define HS_INDEX_HudScript_Item_DriedShroom 0xFC
#define HS_INDEX_HudScript_Item_TastyTonic 0xFD
#define HS_INDEX_HudScript_Item_SuperSoda 0xFE
#define HS_INDEX_HudScript_Item_BlueBerry 0xFF
#define HS_INDEX_HudScript_Item_RedBerry 0x100
#define HS_INDEX_HudScript_Item_YellowBerry 0x101
#define HS_INDEX_HudScript_Item_BubbleBerry 0x102
#define HS_INDEX_HudScript_Item_Goomnut 0x103
#define HS_INDEX_HudScript_Item_KoopaLeaf 0x104
#define HS_INDEX_HudScript_Item_DriedPasta 0x105
#define HS_INDEX_HudScript_Item_Lime 0x106
#define HS_INDEX_HudScript_Item_Lemon 0x107
#define HS_INDEX_HudScript_Item_DriedFruit 0x108
#define HS_INDEX_HudScript_Item_StrangeLeaf 0x109
#define HS_INDEX_HudScript_Item_CakeMix 0x10A
#define HS_INDEX_HudScript_Item_Egg 0x10B
#define HS_INDEX_HudScript_Item_Coconut 0x10C
#define HS_INDEX_HudScript_Item_Melon 0x10D
#define HS_INDEX_HudScript_Item_StinkyHerb 0x10E
#define HS_INDEX_HudScript_Item_IcedPotato 0x10F
#define HS_INDEX_HudScript_Item_HoneySyrup 0x110
#define HS_INDEX_HudScript_Item_MapleSyrup 0x111
#define HS_INDEX_HudScript_Item_JamminJelly 0x112
#define HS_INDEX_HudScript_Item_WhackasBump 0x113
#define HS_INDEX_HudScript_Item_Apple 0x114
#define HS_INDEX_HudScript_Item_BakingSalt 0x115
#define HS_INDEX_HudScript_Item_BakingSugar 0x116
#define HS_INDEX_HudScript_Item_BakingEgg 0x117
#define HS_INDEX_HudScript_Item_BakingCream 0x118
#define HS_INDEX_HudScript_Item_BakingStrawberry 0x119
#define HS_INDEX_HudScript_Item_BakingButter 0x11A
#define HS_INDEX_HudScript_Item_BakingCleanser 0x11B
#define HS_INDEX_HudScript_Item_BakingWater 0x11C
#define HS_INDEX_HudScript_Item_BakingFlour 0x11D
#define HS_INDEX_HudScript_Item_BakingMilk 0x11E
#define HS_INDEX_HudScript_Item_Unused_11F 0x11F
#define HS_INDEX_HudScript_Item_FireFlower 0x120
#define HS_INDEX_HudScript_Item_SnowmanDoll 0x121
#define HS_INDEX_HudScript_Item_ThunderRage 0x122
#define HS_INDEX_HudScript_Item_ThunderBolt 0x123
#define HS_INDEX_HudScript_Item_ShootingStar 0x124
#define HS_INDEX_HudScript_Item_DustyHammer 0x125
#define HS_INDEX_HudScript_Item_Pebble 0x126
#define HS_INDEX_HudScript_Item_Unused_127 0x127
#define HS_INDEX_HudScript_Item_StoneCap 0x128
#define HS_INDEX_HudScript_Item_VoltShroom 0x129
#define HS_INDEX_HudScript_Item_PowerStar 0x12A
#define HS_INDEX_HudScript_Item_Parasol 0x12B
#define HS_INDEX_HudScript_Item_MagicMirror 0x12C
#define HS_INDEX_HudScript_Item_Unused_12D 0x12D
#define HS_INDEX_HudScript_Item_Unused_12E 0x12E
#define HS_INDEX_HudScript_Item_Unused_12F 0x12F
#define HS_INDEX_HudScript_Item_SleepySheep 0x130
#define HS_INDEX_HudScript_Item_XBandage 0x131
#define HS_INDEX_HudScript_Item_POWBlock 0x132
#define HS_INDEX_HudScript_Item_HustleDrink 0x133
#define HS_INDEX_HudScript_Item_StopWatch 0x134
#define HS_INDEX_HudScript_Item_DizzyDial 0x135
#define HS_INDEX_HudScript_Item_Unused_136 0x136
#define HS_INDEX_HudScript_Item_Unused_137 0x137
#define HS_INDEX_HudScript_Item_PleaseComeBack 0x138
#define HS_INDEX_HudScript_Item_Unused_139 0x139
#define HS_INDEX_HudScript_Item_FrightJar 0x13A
#define HS_INDEX_HudScript_Item_Mystery 0x13B
#define HS_INDEX_HudScript_Item_RepelGel 0x13C
#define HS_INDEX_HudScript_Item_InsecticideHerb 0x13D
#define HS_INDEX_HudScript_Item_Unused_13E 0x13E
#define HS_INDEX_HudScript_Item_Unused_13F 0x13F
#define HS_INDEX_HudScript_Item_Present 0x140
#define HS_INDEX_HudScript_Item_CakeDone 0x141
#define HS_INDEX_HudScript_Item_CakeBare 0x142
#define HS_INDEX_HudScript_Item_CakePan 0x143
#define HS_INDEX_HudScript_Item_CakeBatter 0x144
#define HS_INDEX_HudScript_Item_CakeBowl 0x145
#define HS_INDEX_HudScript_Item_CakeMixed 0x146
#define HS_INDEX_HudScript_Item_CakeWithIcing 0x147
#define HS_INDEX_HudScript_Item_CakeWithBerries 0x148
#define HS_INDEX_HudScript_Item_PartnerAttack 0x149
#define HS_INDEX_HudScript_Item_Hammer1Icon 0x14A
#define HS_INDEX_HudScript_Item_Hammer2Icon 0x14B
#define HS_INDEX_HudScript_Item_Hammer3Icon 0x14C
#define HS_INDEX_HudScript_Item_Boots1Icon 0x14D
#define HS_INDEX_HudScript_Item_Boots2Icon 0x14E
#define HS_INDEX_HudScript_Item_Boots3Icon 0x14F
#define HS_INDEX_HudScript_Item_ItemsIcon 0x150

13773
src/5B320.c

File diff suppressed because one or more lines are too long

View File

@ -4,13 +4,13 @@
#define MAX_ITEM_ENTITIES 256 #define MAX_ITEM_ENTITIES 256
extern s32 D_801512F8; extern s32 ItemEntitiesCreated;
extern s32 D_80155D84; extern s32 ItemEntityAlternatingSpawn;
extern s32 D_80155D88; extern s32 ItemEntityRenderGroup;
extern ItemEntity* D_80155DA0[MAX_ITEM_ENTITIES]; extern ItemEntity* WorldItemEntities[MAX_ITEM_ENTITIES];
extern ItemEntity* D_801561A0[MAX_ITEM_ENTITIES]; extern ItemEntity* BattleItemEntities[MAX_ITEM_ENTITIES];
extern ItemEntity** D_801565A0; // item entity list extern ItemEntity** gCurrentItemEntities;
extern s16 D_801565A4; extern s16 isPickingUpItem;
extern s16 D_801565A8; extern s16 D_801565A8;
extern s32 D_80155D80; extern s32 D_80155D80;
extern s16 D_80155D8C; extern s16 D_80155D8C;
@ -23,7 +23,7 @@ void item_entity_load(ItemEntity*);
void item_entity_update(ItemEntity*); void item_entity_update(ItemEntity*);
void appendGfx_item_entity(void*); void appendGfx_item_entity(void*);
void draw_item_entities(void); void draw_item_entities(void);
void func_80132D94(void); void draw_item_entities_UI(void);
s32 test_item_player_collision(ItemEntity*); s32 test_item_player_collision(ItemEntity*);
void update_item_entity_collectable(ItemEntity*); void update_item_entity_collectable(ItemEntity*);
void func_8013559C(ItemEntity*); void func_8013559C(ItemEntity*);
@ -56,38 +56,38 @@ s32 integer_log(s32 number, u32 base) {
INCLUDE_ASM(s32, "C50A0", draw_adjustable_tiled_image); INCLUDE_ASM(s32, "C50A0", draw_adjustable_tiled_image);
void sparkle_script_init(ItemEntity* itemEntity, s32* state) { void sparkle_script_init(ItemEntity* itemEntity, s32* state) {
itemEntity->currentState = state; itemEntity->sparkleReadPos = state;
itemEntity->framesLeft = 1; itemEntity->sparkleNextUpdate = 1;
itemEntity->sequenceStart = state; itemEntity->sparkleSavedPos = state;
} }
s32 sparkle_script_step(ItemEntity* itemEntity) { s32 sparkle_script_step(ItemEntity* itemEntity) {
s32* currentState = itemEntity->currentState; s32* currentState = itemEntity->sparkleReadPos;
switch (*currentState++) { switch (*currentState++) {
case 1: case 1:
itemEntity->framesLeft = *currentState++; itemEntity->sparkleNextUpdate = *currentState++;
itemEntity->unk_44 = *currentState++; itemEntity->sparkleUnk44 = *currentState++;
itemEntity->currentState = currentState; itemEntity->sparkleReadPos = currentState;
break; break;
case 2: case 2:
itemEntity->currentState = itemEntity->sequenceStart; itemEntity->sparkleReadPos = itemEntity->sparkleSavedPos;
return TRUE; return TRUE;
case 3: case 3:
itemEntity->sequenceStart = currentState; itemEntity->sparkleSavedPos = currentState;
itemEntity->currentState = currentState; itemEntity->sparkleReadPos = currentState;
return TRUE; return TRUE;
case 7: case 7:
itemEntity->framesLeft = *currentState++; itemEntity->sparkleNextUpdate = *currentState++;
itemEntity->unk_4C = *currentState++; itemEntity->sparkleRaster = *currentState++;
itemEntity->unk_50 = *currentState++; itemEntity->sparklePalette = *currentState++;
itemEntity->unk_54 = *currentState++; itemEntity->sparkleWidth = *currentState++;
itemEntity->unk_58 = *currentState++; itemEntity->sparkleHeight = *currentState++;
itemEntity->currentState = currentState; itemEntity->sparkleReadPos = currentState;
break; break;
case 4: case 4:
itemEntity->currentState = currentState++; itemEntity->sparkleReadPos = currentState++;
itemEntity->currentState = currentState++; itemEntity->sparkleReadPos = currentState++;
case 0: case 0:
return TRUE; return TRUE;
} }
@ -95,18 +95,16 @@ s32 sparkle_script_step(ItemEntity* itemEntity) {
} }
void sparkle_script_update(ItemEntity* itemEntity) { void sparkle_script_update(ItemEntity* itemEntity) {
itemEntity->framesLeft--; itemEntity->sparkleNextUpdate--;
if (itemEntity->framesLeft <= 0) { if (itemEntity->sparkleNextUpdate <= 0) {
while (sparkle_script_step(itemEntity) != 0) { while (sparkle_script_step(itemEntity) != 0) {}
}
} }
} }
INCLUDE_ASM(s32, "C50A0", draw_coin_sparkles); INCLUDE_ASM(s32, "C50A0", draw_coin_sparkles);
ItemEntity* get_item_entity(s32 itemEntityIndex) { ItemEntity* get_item_entity(s32 itemEntityIndex) {
return D_801565A0[itemEntityIndex]; return gCurrentItemEntities[itemEntityIndex];
} }
void item_entity_disable_shadow(ItemEntity* itemEntity) { void item_entity_disable_shadow(ItemEntity* itemEntity) {
@ -133,42 +131,42 @@ void clear_item_entity_data(void) {
s32 i; s32 i;
if (!gGameStatusPtr->isBattle) { if (!gGameStatusPtr->isBattle) {
D_801565A0 = D_80155DA0; gCurrentItemEntities = WorldItemEntities;
} else { } else {
D_801565A0 = D_801561A0; gCurrentItemEntities = BattleItemEntities;
} }
for (i = 0; i < MAX_ITEM_ENTITIES; i++) { for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
D_801565A0[i] = NULL; gCurrentItemEntities[i] = NULL;
} }
D_801512F8 = 0; ItemEntitiesCreated = 0;
D_80155D8C = 0; D_80155D8C = 0;
D_80155D8E = 0; D_80155D8E = 0;
D_80155D90 = 0; D_80155D90 = 0;
D_80155D84 = 0; ItemEntityAlternatingSpawn = 0;
if (!gGameStatusPtr->isBattle) { if (!gGameStatusPtr->isBattle) {
D_80155D88 = 0; ItemEntityRenderGroup = 0;
} }
create_generic_entity_world(NULL, draw_item_entities); create_generic_entity_world(NULL, draw_item_entities);
create_generic_entity_frontUI(NULL, func_80132D94); create_generic_entity_frontUI(NULL, draw_item_entities_UI);
D_801565A4 = 0; isPickingUpItem = FALSE;
D_801565A8 = 0; D_801565A8 = 0;
} }
void init_item_entity_list(void) { void init_item_entity_list(void) {
if (!gGameStatusPtr->isBattle) { if (!gGameStatusPtr->isBattle) {
D_801565A0 = D_80155DA0; gCurrentItemEntities = WorldItemEntities;
} else { } else {
D_801565A0 = D_801561A0; gCurrentItemEntities = BattleItemEntities;
} }
D_801565A4 = 0; isPickingUpItem = FALSE;
D_801565A8 = 0; D_801565A8 = 0;
D_801512F8 = 0; ItemEntitiesCreated = 0;
D_80155D84 = 0; ItemEntityAlternatingSpawn = 0;
} }
INCLUDE_ASM(s32, "C50A0", item_entity_load); INCLUDE_ASM(s32, "C50A0", item_entity_load);
@ -184,7 +182,88 @@ s32 make_item_entity_delayed(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode,
return make_item_entity(itemID, x, y, z, itemSpawnMode, pickupDelay, -1, pickupVar); return make_item_entity(itemID, x, y, z, itemSpawnMode, pickupDelay, -1, pickupVar);
} }
INCLUDE_ASM(s32, "C50A0", make_item_entity_at_player); s32 make_item_entity_at_player(s32 itemID, s32 arg1, s32 pickupMsgFlags) {
PlayerStatus* playerStatus = &gPlayerStatus;
ItemEntity* item;
Shadow* shadow;
s32 i;
f32 posX;
f32 posY;
f32 posZ;
f32 depth;
s32 id;
for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
if (gCurrentItemEntities[i] == NULL) {
break;
}
}
ASSERT(i < MAX_ITEM_ENTITIES);
id = i;
gCurrentItemEntities[id] = item = heap_malloc(sizeof(*item));
ItemEntitiesCreated++;
ASSERT(item != NULL);
itemID &= 0xFFFF;
item->renderGroup = -1;
item->flags = (ITEM_ENTITY_FLAGS_CAM0 | ITEM_ENTITY_FLAGS_CAM1 | ITEM_ENTITY_FLAGS_CAM2 | ITEM_ENTITY_FLAGS_10 | ITEM_ENTITY_FLAGS_2000000);
if (arg1 != 0) {
item->flags |= ITEM_ENTITY_FLAGS_4000000;
}
item->pickupMsgFlags = pickupMsgFlags;
item->spawnType = ITEM_SPAWN_AT_PLAYER;
item->state = 0;
item->boundVar = 0;
item->position.x = playerStatus->position.x;
item->position.y = playerStatus->position.y;
item->position.z = playerStatus->position.z;
item->shadowIndex = -1;
item->nextUpdate = 1;
item->unk_34.x = -9999;
item->unk_34.y = -9999;
item->unk_34.z = -9999;
item->scale = 1.0f;
item->itemID = itemID;
item->physicsData = NULL;
item->pickupDelay = 0;
item->wsFaceAngle = 0;
item->flags |= ITEM_ENTITY_FLAGS_TINY;
if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) {
item->flags = (item->flags | ITEM_ENTITY_FLAGS_40000) & ~ITEM_ENTITY_FLAGS_TINY;
}
if (ItemEntityAlternatingSpawn != 0) {
item->flags |= ITEM_ENTITY_FLAGS_20000;
}
ItemEntityAlternatingSpawn = 1 - ItemEntityAlternatingSpawn;
item->shadowIndex = create_shadow_type(0, item->position.x, item->position.y, item->position.z);
shadow = get_shadow_by_index(item->shadowIndex);
shadow->flags |= 1;
posX = item->position.x;
posY = item->position.y + 12.0f;
posZ = item->position.z;
depth = 1000.0f;
npc_raycast_down_sides(0x20000, &posX, &posY, &posZ, &depth);
shadow->position.x = posX;
shadow->position.y = posY;
shadow->position.z = posZ;
shadow->rotation.x = gGameStatusPtr->playerGroundTraceAngles.x;
shadow->rotation.y = 0.0f;
shadow->rotation.z = gGameStatusPtr->playerGroundTraceAngles.z;
set_standard_shadow_scale(shadow, depth * 0.5f);
item_entity_load(item);
if (item->itemID == ITEM_COIN) {
sparkle_script_init(item, &SparkleScript_Coin);
sparkle_script_update(item);
}
return id;
}
INCLUDE_ASM(s32, "C50A0", item_entity_update); INCLUDE_ASM(s32, "C50A0", item_entity_update);
@ -197,7 +276,7 @@ void update_item_entities(void) {
if (!(gOverrideFlags & (GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800))) { if (!(gOverrideFlags & (GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800))) {
for (i = 0; i < 0x100; i++) { for (i = 0; i < 0x100; i++) {
entity = D_801565A0[i]; entity = gCurrentItemEntities[i];
if (entity != NULL && entity->flags != 0) { if (entity != NULL && entity->flags != 0) {
if (entity->itemID == ITEM_COIN) { if (entity->itemID == ITEM_COIN) {
@ -212,37 +291,37 @@ void update_item_entities(void) {
item_entity_update(entity); item_entity_update(entity);
switch (entity->type) { switch (entity->spawnType) {
case 0: case ITEM_SPAWN_MODE_NOTHING:
update_item_entity_static(entity); update_item_entity_static(entity);
break; break;
case 1: case ITEM_SPAWN_MODE_DECORATION:
case 2: case ITEM_SPAWN_MODE_INVISIBLE:
func_801356CC(entity); func_801356CC(entity);
break; break;
case 3: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS:
case 12: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS:
case 16: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS:
case 20: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS:
case 23: case ITEM_SPAWN_MODE_TOSS_FADE1:
update_item_entity_collectable(entity); update_item_entity_collectable(entity);
break; break;
case 28: case ITEM_SPAWN_AT_PLAYER:
update_item_entity_temp(entity); update_item_entity_temp(entity);
break; break;
} }
entity = D_801565A0[i]; entity = gCurrentItemEntities[i];
if (entity != NULL) { if (entity != NULL) {
s32 xs, ys, zs; s32 xs, ys, zs;
switch (entity->type) { switch (entity->spawnType) {
case 0: case ITEM_SPAWN_MODE_NOTHING:
case 3: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS:
case 12: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS:
case 16: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS:
case 28: case ITEM_SPAWN_AT_PLAYER:
xs = entity->position.x; xs = entity->position.x;
ys = entity->position.y; ys = entity->position.y;
zs = entity->position.z; zs = entity->position.z;
@ -285,11 +364,11 @@ void draw_item_entities(void) {
s32 i; s32 i;
for (i = 0; i < MAX_ITEM_ENTITIES; i++) { for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* itemEntity = D_801565A0[i]; ItemEntity* itemEntity = gCurrentItemEntities[i];
if (itemEntity != NULL && itemEntity->flags != 0 && !(itemEntity->flags & ITEM_ENTITY_FLAGS_40) && if (itemEntity != NULL && itemEntity->flags != 0 && !(itemEntity->flags & ITEM_ENTITY_FLAGS_40) &&
(itemEntity->flags & (1 << gCurrentCamID)) && !(itemEntity->flags & ITEM_ENTITY_FLAGS_100000) && (itemEntity->flags & (1 << gCurrentCamID)) && !(itemEntity->flags & ITEM_ENTITY_FLAGS_100000) &&
!(itemEntity->unk_1D != -1 && D_80155D88 != itemEntity->unk_1D)) !(itemEntity->renderGroup != -1 && ItemEntityRenderGroup != itemEntity->renderGroup))
{ {
if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_TRANSPARENT)) { if (!(itemEntity->flags & ITEM_ENTITY_FLAGS_TRANSPARENT)) {
rtPtr->renderMode = RENDER_MODE_ALPHATEST; rtPtr->renderMode = RENDER_MODE_ALPHATEST;
@ -309,27 +388,27 @@ void draw_item_entities(void) {
} }
} }
void func_80132D94(void) { void draw_item_entities_UI(void) {
if (!(gOverrideFlags & 0xC000)) { if (!(gOverrideFlags & (GLOBAL_OVERRIDES_4000 | GLOBAL_OVERRIDES_8000))) {
s32 i; s32 i;
for (i = 0; i < MAX_ITEM_ENTITIES; i++) { for (i = 0; i < MAX_ITEM_ENTITIES; i++) {
ItemEntity* itemEntity = D_801565A0[i]; ItemEntity* itemEntity = gCurrentItemEntities[i];
if (itemEntity != NULL && itemEntity->flags != 0) { if (itemEntity != NULL && itemEntity->flags != 0) {
switch (itemEntity->type) { switch (itemEntity->spawnType) {
case 0: case ITEM_SPAWN_MODE_NOTHING:
func_801356C4(); func_801356C4();
break; break;
case 1: case ITEM_SPAWN_MODE_DECORATION:
case 2: case ITEM_SPAWN_MODE_INVISIBLE:
func_801356D4(); func_801356D4();
break; break;
case 3: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS:
case 12: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS:
case 16: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS:
case 20: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS:
case 23: case ITEM_SPAWN_MODE_TOSS_FADE1:
func_8013559C(itemEntity); func_8013559C(itemEntity);
break; break;
} }
@ -346,7 +425,7 @@ void remove_item_entity_by_reference(ItemEntity* entity) {
s32 index; s32 index;
for (index = 0; index < MAX_ITEM_ENTITIES; index++) { for (index = 0; index < MAX_ITEM_ENTITIES; index++) {
if (D_801565A0[index] == entity) { if (gCurrentItemEntities[index] == entity) {
break; break;
} }
} }
@ -356,51 +435,51 @@ void remove_item_entity_by_reference(ItemEntity* entity) {
heap_free(entity->physicsData); heap_free(entity->physicsData);
} }
switch (entity->type) { switch (entity->spawnType) {
case 0: case ITEM_SPAWN_MODE_NOTHING:
case 3: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS:
case 12: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS:
case 16: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS:
case 20: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS:
case 28: case ITEM_SPAWN_AT_PLAYER:
delete_shadow(entity->shadowIndex); delete_shadow(entity->shadowIndex);
break; break;
} }
heap_free(D_801565A0[index]); heap_free(gCurrentItemEntities[index]);
D_801565A4 = 0; isPickingUpItem = FALSE;
D_801565A0[index] = NULL; gCurrentItemEntities[index] = NULL;
} }
} }
void remove_item_entity_by_index(s32 index) { void remove_item_entity_by_index(s32 index) {
ItemEntity* itemEntity = D_801565A0[index]; ItemEntity* itemEntity = gCurrentItemEntities[index];
switch (itemEntity->type) { switch (itemEntity->spawnType) {
case 0: case ITEM_SPAWN_MODE_NOTHING:
case 3: case ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS:
case 12: case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS:
case 16: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS:
case 20: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS:
case 28: case ITEM_SPAWN_AT_PLAYER:
delete_shadow(itemEntity->shadowIndex); delete_shadow(itemEntity->shadowIndex);
break; break;
} }
heap_free(D_801565A0[index]); heap_free(gCurrentItemEntities[index]);
D_801565A0[index] = NULL; gCurrentItemEntities[index] = NULL;
D_801565A4 = 0; isPickingUpItem = FALSE;
} }
void func_80133A94(s32 idx, s32 itemID) { void func_80133A94(s32 idx, s32 itemID) {
ItemEntity* item = D_801565A0[idx]; ItemEntity* item = gCurrentItemEntities[idx];
item->itemID = itemID; item->itemID = itemID;
item->flags |= ENTITY_FLAGS_4000; item->flags |= ENTITY_FLAGS_4000;
item->flags &= ~ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2; item->flags &= ~ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2;
if (gItemTable[itemID].typeFlags & 0x1000) { if (gItemTable[itemID].typeFlags & ITEM_TYPE_FLAG_ENTITY_FULLSIZE) {
item->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2; item->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2;
item->flags &= ~ENTITY_FLAGS_4000; item->flags &= ~ENTITY_FLAGS_4000;
} }
@ -415,14 +494,14 @@ s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) {
f32 dx, dy, dz; f32 dx, dy, dz;
s32 i; s32 i;
if (is_starting_conversation() || D_801565A4 || get_time_freeze_mode() != 0 || if (is_starting_conversation() || isPickingUpItem || get_time_freeze_mode() != 0 ||
gOverrideFlags & GLOBAL_OVERRIDES_CANT_PICK_UP_ITEMS) gOverrideFlags & GLOBAL_OVERRIDES_CANT_PICK_UP_ITEMS)
{ {
return -1; return -1;
} }
for (i = 0; i < MAX_ITEM_ENTITIES; i++){ for (i = 0; i < MAX_ITEM_ENTITIES; i++){
item = D_801565A0[i]; item = gCurrentItemEntities[i];
if (item == NULL) { if (item == NULL) {
continue; continue;
@ -432,11 +511,11 @@ s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) {
continue; continue;
} }
if (item->type == ENTITY_TYPE_SHADOW) { if (item->spawnType == ENTITY_TYPE_SHADOW) {
continue; continue;
} }
if (item->type == ENTITY_TYPE_2) { if (item->spawnType == ENTITY_TYPE_2) {
continue; continue;
} }
@ -459,7 +538,7 @@ s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) {
} }
void set_item_entity_flags(s32 index, s32 flags) { void set_item_entity_flags(s32 index, s32 flags) {
ItemEntity* itemEntity = D_801565A0[index]; ItemEntity* itemEntity = gCurrentItemEntities[index];
itemEntity->flags |= flags; itemEntity->flags |= flags;
if (itemEntity->flags & ENTITY_FLAGS_200000) { if (itemEntity->flags & ENTITY_FLAGS_200000) {
@ -468,13 +547,13 @@ void set_item_entity_flags(s32 index, s32 flags) {
} }
void clear_item_entity_flags(s32 index, s32 flags) { void clear_item_entity_flags(s32 index, s32 flags) {
ItemEntity* itemEntity = D_801565A0[index]; ItemEntity* itemEntity = gCurrentItemEntities[index];
itemEntity->flags &= ~flags; itemEntity->flags &= ~flags;
} }
void func_801341B0(s32 index) { void func_801341B0(s32 index) {
ItemEntity* itemEntity = D_801565A0[index]; ItemEntity* itemEntity = gCurrentItemEntities[index];
gOverrideFlags |= GLOBAL_OVERRIDES_40; gOverrideFlags |= GLOBAL_OVERRIDES_40;
itemEntity->flags |= ENTITY_FLAGS_100; itemEntity->flags |= ENTITY_FLAGS_100;
} }
@ -483,26 +562,26 @@ void func_801341B0(s32 index) {
s32 is_picking_up_item(void) { s32 is_picking_up_item(void) {
s32 ret = D_801565A8 != 0; s32 ret = D_801565A8 != 0;
if (D_801565A4 != 0) { if (isPickingUpItem) {
ret = TRUE; ret = TRUE;
} }
return ret; return ret;
} }
void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z) { void set_item_entity_position(s32 itemEntityIndex, f32 x, f32 y, f32 z) {
ItemEntity* itemEntity = D_801565A0[itemEntityIndex]; ItemEntity* itemEntity = gCurrentItemEntities[itemEntityIndex];
itemEntity->position.x = x; itemEntity->position.x = x;
itemEntity->position.y = y; itemEntity->position.y = y;
itemEntity->position.z = z; itemEntity->position.z = z;
} }
void func_80134230(s32 arg0) { void set_current_item_entity_render_group(s32 group) {
D_80155D88 = arg0; ItemEntityRenderGroup = group;
} }
s32 func_80134240(void) { s32 get_current_item_entity_render_group(void) {
return D_80155D88; return ItemEntityRenderGroup;
} }
INCLUDE_ASM(s32, "C50A0", update_item_entity_collectable); INCLUDE_ASM(s32, "C50A0", update_item_entity_collectable);
@ -510,21 +589,21 @@ INCLUDE_ASM(s32, "C50A0", update_item_entity_collectable);
void func_8013559C(ItemEntity* itemEntity) { void func_8013559C(ItemEntity* itemEntity) {
if (itemEntity->state == 1) { if (itemEntity->state == 1) {
ItemEntityPhysicsData* physicsData = itemEntity->physicsData; ItemEntityPhysicsData* physicsData = itemEntity->physicsData;
s32 flag = (itemEntity->flags & 0x20000) > 0; s32 flag = (itemEntity->flags & ITEM_ENTITY_FLAGS_20000) > 0;
if (itemEntity->type != 0x14) { if (itemEntity->spawnType != ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) {
if (itemEntity->type != 0x17) { if (itemEntity->spawnType != ITEM_SPAWN_MODE_TOSS_FADE1) {
if (physicsData->unk_1C < 60) { if (physicsData->unk_1C < 60) {
if ((itemEntity->flags & 0x200000) || ((gGameStatusPtr->frameCounter + flag) & 1)) { if ((itemEntity->flags & ITEM_ENTITY_FLAGS_200000) || ((gGameStatusPtr->frameCounter + flag) & 1)) {
itemEntity->flags &= ~0x40; itemEntity->flags &= ~ITEM_ENTITY_FLAGS_40;
} else { } else {
itemEntity->flags |= 0x40; itemEntity->flags |= ITEM_ENTITY_FLAGS_40;
} }
} }
} else { } else {
if (physicsData->unk_1C < 0xA) { if (physicsData->unk_1C < 10) {
itemEntity->alpha = physicsData->unk_1C * 28; itemEntity->alpha = physicsData->unk_1C * 28;
itemEntity->flags |= 0x80000; itemEntity->flags |= ITEM_ENTITY_FLAGS_TRANSPARENT;
} }
} }
} }
@ -533,8 +612,8 @@ void func_8013559C(ItemEntity* itemEntity) {
void update_item_entity_static(ItemEntity* itemEntity) { void update_item_entity_static(ItemEntity* itemEntity) {
if (itemEntity->state == 0 && test_item_player_collision(itemEntity)) { if (itemEntity->state == 0 && test_item_player_collision(itemEntity)) {
D_801565A4 = 1; isPickingUpItem = TRUE;
itemEntity->type = 28; itemEntity->spawnType = ITEM_SPAWN_AT_PLAYER;
itemEntity->state = 0; itemEntity->state = 0;
D_801565A8 = 0; D_801565A8 = 0;
gOverrideFlags |= GLOBAL_OVERRIDES_40; gOverrideFlags |= GLOBAL_OVERRIDES_40;
@ -557,7 +636,7 @@ INCLUDE_ASM(s32, "C50A0", func_801363A0);
INCLUDE_ASM(s32, "C50A0", func_8013673C); INCLUDE_ASM(s32, "C50A0", func_8013673C);
void func_801369D0(s32 arg1, s32 x, s32 y) { void func_801369D0(s32 arg1, s32 x, s32 y) {
draw_msg(0x1D0060, x + 12, y + 4, 255, 52, 0); draw_msg(MESSAGE_ID(0x1D,0x060), x + 12, y + 4, 255, 52, 0);
} }
void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) { void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) {
@ -570,7 +649,7 @@ void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY) {
case 10: case 10:
case 11: case 11:
itemMsg = itemData->shortDescMsg; itemMsg = itemData->shortDescMsg;
draw_msg(itemMsg, posX + 8, posY, 255, 0xA, 0); draw_msg(itemMsg, posX + 8, posY, 255, 10, 0);
break; break;
} }
} }

View File

@ -3206,7 +3206,7 @@ void make_transform_group(u16 modelID) {
} }
} }
(*gCurrentTransformGroups)[i] = newMtg = heap_malloc(sizeof(ModelTransformGroup)); (*gCurrentTransformGroups)[i] = newMtg = heap_malloc(sizeof(*newMtg));
newMtg->flags = MODEL_TRANSFORM_GROUP_FLAGS_1; newMtg->flags = MODEL_TRANSFORM_GROUP_FLAGS_1;
newMtg->groupModelID = modelID; newMtg->groupModelID = modelID;
newMtg->minChildModelIndex = get_model_list_index_from_tree_index(D_80153374); newMtg->minChildModelIndex = get_model_list_index_from_tree_index(D_80153374);
@ -3301,7 +3301,7 @@ void clone_model(u16 srcModelID, u16 newModelID) {
} }
} }
(*gCurrentModels)[i] = newModel = heap_malloc(sizeof(Model)); (*gCurrentModels)[i] = newModel = heap_malloc(sizeof(*newModel));
*newModel = *srcModel; *newModel = *srcModel;
newModel->modelID = newModelID; newModel->modelID = newModelID;
} }

View File

@ -27,7 +27,7 @@ BSS s32 gCurrentCustomModelGfxPtr;
BSS s32 gLastCreatedEntityIndex; BSS s32 gLastCreatedEntityIndex;
BSS s32 D_801512F0; BSS s32 D_801512F0;
BSS s32 gMsgVarImages; BSS s32 gMsgVarImages;
BSS s32 D_801512F8; BSS s32 ItemEntitiesCreated;
BSS s32 gCurrentModelTreeRoot; BSS s32 gCurrentModelTreeRoot;
BSS s32 D_80151300; BSS s32 D_80151300;
BSS s32 D_80151304; BSS s32 D_80151304;
@ -174,15 +174,15 @@ BSS char D_8015DD24[0x50];
BSS s32 msg_drawState; BSS s32 msg_drawState;
BSS char D_8015DD78[0x8]; BSS char D_8015DD78[0x8];
BSS s32 D_80155D80; BSS s32 D_80155D80;
BSS s32 D_80155D84; BSS s32 ItemEntityAlternatingSpawn;
BSS s32 D_80155D88; BSS s32 ItemEntityRenderGroup;
BSS s16 D_80155D8C; BSS s16 D_80155D8C;
BSS s16 D_80155D8E; BSS s16 D_80155D8E;
BSS s8 D_80155D90[0x10]; BSS s8 D_80155D90[0x10];
BSS s8 D_80155DA0[0x400]; BSS s8 WorldItemEntities[0x400];
BSS s8 D_801561A0[0x400]; BSS s8 BattleItemEntities[0x400];
BSS s32 D_801565A0; BSS s32 gCurrentItemEntities;
BSS s16 D_801565A4; BSS s16 isPickingUpItem;
BSS s16 D_801565A6; BSS s16 D_801565A6;
BSS s32 D_801565A8; BSS s32 D_801565A8;
BSS char D_801565AC[0x4]; BSS char D_801565AC[0x4];

View File

@ -343,7 +343,7 @@ EffectInstance* create_effect_instance(EffectBlueprint* effectBp) {
ASSERT(i < ARRAY_COUNT(gEffectInstances)); ASSERT(i < ARRAY_COUNT(gEffectInstances));
// Allocate space for the new instance // Allocate space for the new instance
gEffectInstances[i] = newEffectInst = general_heap_malloc(sizeof(EffectInstance)); gEffectInstances[i] = newEffectInst = general_heap_malloc(sizeof(*newEffectInst));
ASSERT(newEffectInst != NULL); ASSERT(newEffectInst != NULL);
curEffect = &gEffectGraphicsData[0]; curEffect = &gEffectGraphicsData[0];

View File

@ -109,7 +109,7 @@ void damage_indicator_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32
part->numParts = origNumParts; part->numParts = origNumParts;
part++; part++;
for(i = 1; i < numParts; i++, part++) { for (i = 1; i < numParts; i++, part++) {
part->unk_04.x = 0.0f; part->unk_04.x = 0.0f;
part->unk_04.y = 0.0f; part->unk_04.y = 0.0f;
part->unk_04.z = 0.0f; part->unk_04.z = 0.0f;
@ -153,7 +153,7 @@ void damage_indicator_update(EffectInstance* effect) {
} }
part++; part++;
for(i = 1; i < effect->numParts; i++, part++) { for (i = 1; i < effect->numParts; i++, part++) {
f32 x, y, z; f32 x, y, z;
if (duration > 5) { if (duration > 5) {
@ -221,7 +221,7 @@ void func_E003C498(EffectInstance* effect) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2); gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetCombineLERP(gMasterGfxPos++, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0); gDPSetCombineLERP(gMasterGfxPos++, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0);
} }
for(i = 1; i < effect->numParts; i++, part--) { for (i = 1; i < effect->numParts; i++, part--) {
s32 index = (i + spA0); s32 index = (i + spA0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E003CCF8[index % 12].r, D_E003CCF8[index % 12].g, D_E003CCF8[index % 12].b, part->alpha); gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E003CCF8[index % 12].r, D_E003CCF8[index % 12].g, D_E003CCF8[index % 12].b, part->alpha);
gSPDisplayList(gMasterGfxPos++, D_09001D40); gSPDisplayList(gMasterGfxPos++, D_09001D40);

View File

@ -74,7 +74,7 @@ s32 load_entity_model(s32* cmdList) {
{ {
s32* entityModelCount; s32* entityModelCount;
(*gCurrentEntityModelList)[i] = newEntityModel = heap_malloc(sizeof(EntityModel)); (*gCurrentEntityModelList)[i] = newEntityModel = heap_malloc(sizeof(*newEntityModel));
entityModelCount = &gEntityModelCount; entityModelCount = &gEntityModelCount;
(*entityModelCount)++; (*entityModelCount)++;
} }
@ -113,7 +113,7 @@ s32 ALT_load_entity_model(s32* cmdList) {
{ {
s32* entityModelCount; s32* entityModelCount;
(*gCurrentEntityModelList)[i] = newEntityModel = heap_malloc(sizeof(EntityModel)); (*gCurrentEntityModelList)[i] = newEntityModel = heap_malloc(sizeof(*newEntityModel));
entityModelCount = &gEntityModelCount; entityModelCount = &gEntityModelCount;
(*entityModelCount)++; (*entityModelCount)++;
} }
@ -385,7 +385,7 @@ s32 create_generic_entity_world(void (*updateFunc)(Evt*, s32), void (*drawFunc)(
} }
ASSERT(i < MAX_DYNAMIC_ENTITIES); ASSERT(i < MAX_DYNAMIC_ENTITIES);
(*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(DynamicEntity)); (*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(*newDynEntity));
ASSERT(newDynEntity != NULL); ASSERT(newDynEntity != NULL);
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1; newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
@ -416,7 +416,7 @@ s32 create_generic_entity_frontUI(void (*updateFunc)(void), void (*drawFunc)(voi
} }
ASSERT(i < MAX_DYNAMIC_ENTITIES); ASSERT(i < MAX_DYNAMIC_ENTITIES);
(*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(DynamicEntity)); (*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(*newDynEntity));
ASSERT(newDynEntity != NULL); ASSERT(newDynEntity != NULL);
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_DYNAMIC_SHADOW; newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_DYNAMIC_SHADOW;
@ -447,7 +447,7 @@ s32 create_generic_entity_backUI(void (*updateFunc)(void), void (*drawFunc)(void
} }
ASSERT(i < MAX_DYNAMIC_ENTITIES); ASSERT(i < MAX_DYNAMIC_ENTITIES);
(*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(DynamicEntity)); (*gCurrentDynamicEntityListPtr)[i] = newDynEntity = heap_malloc(sizeof(*newDynEntity));
ASSERT(newDynEntity != NULL); ASSERT(newDynEntity != NULL);
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_ANIMATED_MODEL; newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_ANIMATED_MODEL;

View File

@ -390,7 +390,7 @@ s32 LoadPath(Evt* script, s32 isInitialCall) {
Vec3f* vectorList = (Vec3f*) evt_get_variable(script, *args++); Vec3f* vectorList = (Vec3f*) evt_get_variable(script, *args++);
s32 numVectors = evt_get_variable(script, *args++); s32 numVectors = evt_get_variable(script, *args++);
s32 easingType = evt_get_variable(script, *args++); s32 easingType = evt_get_variable(script, *args++);
Path* path = heap_malloc(sizeof(Path)); Path* path = heap_malloc(sizeof(*path));
script->varTablePtr[15] = path; script->varTablePtr[15] = path;
path->numVectors = numVectors; path->numVectors = numVectors;

View File

@ -236,7 +236,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
ASSERT(i < MAX_SCRIPTS); ASSERT(i < MAX_SCRIPTS);
curScriptIndex = i; curScriptIndex = i;
(*gCurrentScriptListPtr)[curScriptIndex] = newScript = heap_malloc(sizeof(Evt)); (*gCurrentScriptListPtr)[curScriptIndex] = newScript = heap_malloc(sizeof(*newScript));
numScripts = &gNumScripts; numScripts = &gNumScripts;
(*numScripts)++; (*numScripts)++;
ASSERT(newScript != NULL); ASSERT(newScript != NULL);

View File

@ -19,8 +19,8 @@ typedef struct HudCacheEntry {
u8* gHudElementAuxCache = NULL; u8* gHudElementAuxCache = NULL;
s32 gHudElementCacheCapacity = 0x11000; s32 gHudElementCacheCapacity = 0x11000;
HudScript hud_element_defaultAnim = { HudScript HudScript_Empty = {
he_End hs_End
}; };
HudElementSize gHudElementSizes[] = { HudElementSize gHudElementSizes[] = {
@ -719,7 +719,7 @@ s32 hud_element_create(HudScript* anim) {
ASSERT(id < ARRAY_COUNT(*gHudElements)); ASSERT(id < ARRAY_COUNT(*gHudElements));
(*gHudElements)[id] = hudElement = heap_malloc(sizeof(HudElement)); (*gHudElements)[id] = hudElement = heap_malloc(sizeof(*hudElement));
gHudElementsNumber += 1; gHudElementsNumber += 1;
ASSERT(hudElement != NULL); ASSERT(hudElement != NULL);
@ -727,7 +727,7 @@ s32 hud_element_create(HudScript* anim) {
hudElement->flags = HUD_ELEMENT_FLAGS_INITIALIZED; hudElement->flags = HUD_ELEMENT_FLAGS_INITIALIZED;
hudElement->readPos = anim; hudElement->readPos = anim;
if (anim == NULL) { if (anim == NULL) {
hudElement->readPos = &hud_element_defaultAnim; hudElement->readPos = &HudScript_Empty;
} }
hudElement->updateTimer = 1; hudElement->updateTimer = 1;
hudElement->drawSizePreset = -1; hudElement->drawSizePreset = -1;
@ -1933,7 +1933,7 @@ void hud_element_set_script(s32 id, HudScript* anim) {
HudElement* hudElement = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK]; HudElement* hudElement = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK];
if (anim == NULL) { if (anim == NULL) {
anim = &hud_element_defaultAnim; anim = &HudScript_Empty;
} }
hudElement->updateTimer = 1; hudElement->updateTimer = 1;
@ -2117,7 +2117,7 @@ void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b) {
void hud_element_create_transform_A(s32 id) { void hud_element_create_transform_A(s32 id) {
HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK]; HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK];
HudTransform* transform = general_heap_malloc(sizeof(HudTransform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
ASSERT(transform != NULL); ASSERT(transform != NULL);
@ -2139,7 +2139,7 @@ void hud_element_create_transform_A(s32 id) {
void hud_element_create_transform_B(s32 id) { void hud_element_create_transform_B(s32 id) {
HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK]; HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK];
HudTransform* transform = general_heap_malloc(sizeof(HudTransform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
ASSERT(transform != NULL); ASSERT(transform != NULL);
@ -2159,7 +2159,7 @@ void hud_element_create_transform_B(s32 id) {
void hud_element_create_transform_C(s32 id) { void hud_element_create_transform_C(s32 id) {
HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK]; HudElement* element = (*gHudElements)[id & ~HUD_ELEMENT_BATTLE_ID_MASK];
HudTransform* transform = general_heap_malloc(sizeof(HudTransform)); HudTransform* transform = general_heap_malloc(sizeof(*transform));
element->hudTransform = transform; element->hudTransform = transform;
ASSERT(transform != NULL); ASSERT(transform != NULL);

View File

@ -2,6 +2,7 @@
#define HUD_ELEMENT_H #define HUD_ELEMENT_H
#include "common.h" #include "common.h"
#include "icon_offsets.h"
#define HUD_ELEMENT_BATTLE_ID_MASK 0x800 #define HUD_ELEMENT_BATTLE_ID_MASK 0x800
@ -205,36 +206,38 @@ extern s32 gPartnerPopupProperties[13][4];
extern HudScript* wDisabledPartnerHudScripts[]; extern HudScript* wDisabledPartnerHudScripts[];
extern HudScript* wPartnerHudScripts[]; extern HudScript* wPartnerHudScripts[];
#define he_End HUD_ELEMENT_OP_End #define HS_PTR(sym) (s32)&sym
#define he_SetRGBA(arg0, image) HUD_ELEMENT_OP_SetRGBA, arg0, (s32)image
#define he_SetCI(arg0, raster, palette) HUD_ELEMENT_OP_SetCI, arg0, (s32) raster, (s32)palette #define hs_End HUD_ELEMENT_OP_End,
#define he_Restart HUD_ELEMENT_OP_Restart #define hs_SetRGBA(arg0, image) HUD_ELEMENT_OP_SetRGBA, arg0, (s32)image,
#define he_Loop HUD_ELEMENT_OP_Loop #define hs_SetCI(arg0, raster, palette) HUD_ELEMENT_OP_SetCI, arg0, (s32)raster, (s32)palette,
#define he_SetTileSize(size) HUD_ELEMENT_OP_SetTileSize, size #define hs_Restart HUD_ELEMENT_OP_Restart,
#define he_SetSizesAutoScale(size1, size2) HUD_ELEMENT_OP_SetSizesAutoScale, size1, size2 #define hs_Loop HUD_ELEMENT_OP_Loop,
#define he_SetSizesFixedScale(size1, size2) HUD_ELEMENT_OP_SetSizesFixedScale, size1, size2 #define hs_SetTileSize(size) HUD_ELEMENT_OP_SetTileSize, size,
#define he_SetVisible HUD_ELEMENT_OP_SetVisible #define hs_SetSizesAutoScale(size1, size2) HUD_ELEMENT_OP_SetSizesAutoScale, size1, size2,
#define he_SetHidden HUD_ELEMENT_OP_SetHidden #define hs_SetSizesFixedScale(size1, size2) HUD_ELEMENT_OP_SetSizesFixedScale, size1, size2,
#define he_AddTexelOffsetX(x) HUD_ELEMENT_OP_AddTexelOffsetX, x #define hs_SetVisible HUD_ELEMENT_OP_SetVisible,
#define he_AddTexelOffsetY(y) HUD_ELEMENT_OP_AddTexelOffsetY, y #define hs_SetHidden HUD_ELEMENT_OP_SetHidden,
#define he_SetTexelOffset(x, y) HUD_ELEMENT_OP_SetTexelOffset, x, y #define hs_AddTexelOffsetX(x) HUD_ELEMENT_OP_AddTexelOffsetX, x,
#define he_SetImage(arg0, raster, palette) HUD_ELEMENT_OP_SetImage, arg0, raster, palette, 0, 0 #define hs_AddTexelOffsetY(y) HUD_ELEMENT_OP_AddTexelOffsetY, y,
#define he_SetScale(scale) HUD_ELEMENT_OP_SetScale, (s32)(scale * 65536.0f) #define hs_SetTexelOffset(x, y) HUD_ELEMENT_OP_SetTexelOffset, x, y,
#define he_SetAlpha(alpha) HUD_ELEMENT_OP_SetAlpha, alpha #define hs_SetIcon(time, icon) HUD_ELEMENT_OP_SetImage, time, ICON_##icon##_raster, ICON_##icon##_palette, 0, 0,
#define he_RandomDelay(arg0, arg1) HUD_ELEMENT_OP_RandomDelay, arg0, arg1 #define hs_SetScale(scale) HUD_ELEMENT_OP_SetScale, (s32)(scale * 65536.0f),
#define he_Delete HUD_ELEMENT_OP_Delete #define hs_SetAlpha(alpha) HUD_ELEMENT_OP_SetAlpha, alpha,
#define he_UseIA8 HUD_ELEMENT_OP_UseIA8 #define hs_RandomDelay(arg0, arg1) HUD_ELEMENT_OP_RandomDelay, arg0, arg1,
#define he_SetCustomSize(arg0, arg1) HUD_ELEMENT_OP_SetCustomSize, arg0, arg1 #define hs_Delete HUD_ELEMENT_OP_Delete,
#define hs_UseIA8 HUD_ELEMENT_OP_UseIA8,
#define hs_SetCustomSize(arg0, arg1) HUD_ELEMENT_OP_SetCustomSize, arg0, arg1,
/// Restarts the loop if cutoff < rand_int(max) /// Restarts the loop if cutoff < rand_int(max)
#define he_RandomRestart(max, cutoff) HUD_ELEMENT_OP_RandomRestart, max, cutoff #define hs_RandomRestart(max, cutoff) HUD_ELEMENT_OP_RandomRestart, max, cutoff,
#define he_op_15(arg0) HUD_ELEMENT_OP_op_15, arg0 #define hs_op_15(arg0) HUD_ELEMENT_OP_op_15, arg0,
#define he_RandomBranch(...) HUD_ELEMENT_OP_RandomBranch, ARRAY_COUNT({__VA_ARGS__}), __VA_ARGS__ #define hs_RandomBranch(...) HUD_ELEMENT_OP_RandomBranch, (sizeof((s32[]){__VA_ARGS__})/sizeof(s32)), __VA_ARGS__,
#define he_SetFlags(arg0) HUD_ELEMENT_OP_SetFlags, arg0 #define hs_SetFlags(arg0) HUD_ELEMENT_OP_SetFlags, arg0,
#define he_ClearFlags(arg0) HUD_ELEMENT_OP_ClearFlags, arg0 #define hs_ClearFlags(arg0) HUD_ELEMENT_OP_ClearFlags, arg0,
#define he_PlaySound(arg0) HUD_ELEMENT_OP_PlaySound, arg0 #define hs_PlaySound(arg0) HUD_ELEMENT_OP_PlaySound, arg0,
#define he_SetPivot(arg0, arg1) HUD_ELEMENT_OP_SetPivot, arg0, arg1 #define hs_SetPivot(arg0, arg1) HUD_ELEMENT_OP_SetPivot, arg0, arg1,
void hud_element_load_script(HudElement* hudElement, HudScript* anim); void hud_element_load_script(HudElement* hudElement, HudScript* anim);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,339 @@
IconHudScriptPair gItemHudScripts[] = {
{ .enabled = NULL, .disabled = NULL },
{ .enabled = &HudScript_Item_SpicySoup, .disabled = &HudScript_Item_SpicySoup_disabled },
{ .enabled = &HudScript_Item_ApplePie, .disabled = &HudScript_Item_ApplePie_disabled },
{ .enabled = &HudScript_Item_HoneyUltra, .disabled = &HudScript_Item_HoneyUltra_disabled },
{ .enabled = &HudScript_Item_MapleUltra, .disabled = &HudScript_Item_MapleUltra_disabled },
{ .enabled = &HudScript_Item_JellyUltra, .disabled = &HudScript_Item_JellyUltra_disabled },
{ .enabled = &HudScript_Item_Koopasta, .disabled = &HudScript_Item_Koopasta_disabled },
{ .enabled = &HudScript_Item_FriedShroom, .disabled = &HudScript_Item_FriedShroom_disabled },
{ .enabled = &HudScript_Item_ShroomCake, .disabled = &HudScript_Item_ShroomCake_disabled },
{ .enabled = &HudScript_Item_ShroomSteak, .disabled = &HudScript_Item_ShroomSteak_disabled },
{ .enabled = &HudScript_Item_HotShroom, .disabled = &HudScript_Item_HotShroom_disabled },
{ .enabled = &HudScript_Item_SweetShroom, .disabled = &HudScript_Item_SweetShroom_disabled },
{ .enabled = &HudScript_Item_HealthyJuice, .disabled = &HudScript_Item_HealthyJuice_disabled },
{ .enabled = &HudScript_Item_BlandMeal, .disabled = &HudScript_Item_BlandMeal_disabled },
{ .enabled = &HudScript_Item_YummyMeal, .disabled = &HudScript_Item_YummyMeal_disabled },
{ .enabled = &HudScript_Item_DeluxeFeast, .disabled = &HudScript_Item_DeluxeFeast_disabled },
{ .enabled = &HudScript_Item_SpecialShake, .disabled = &HudScript_Item_SpecialShake_disabled },
{ .enabled = &HudScript_Item_BigCookie, .disabled = &HudScript_Item_BigCookie_disabled },
{ .enabled = &HudScript_Item_Cake, .disabled = &HudScript_Item_Cake_disabled },
{ .enabled = &HudScript_Item_Mistake, .disabled = &HudScript_Item_Mistake_disabled },
{ .enabled = &HudScript_Item_KoopaTea, .disabled = &HudScript_Item_KoopaTea_disabled },
{ .enabled = &HudScript_Item_HoneySuper, .disabled = &HudScript_Item_HoneySuper_disabled },
{ .enabled = &HudScript_Item_MapleSuper, .disabled = &HudScript_Item_MapleSuper_disabled },
{ .enabled = &HudScript_Item_JellySuper, .disabled = &HudScript_Item_JellySuper_disabled },
{ .enabled = &HudScript_Item_Spaghetti, .disabled = &HudScript_Item_Spaghetti_disabled },
{ .enabled = &HudScript_Item_EggMissile, .disabled = &HudScript_Item_EggMissile_disabled },
{ .enabled = &HudScript_Item_FriedEgg, .disabled = &HudScript_Item_FriedEgg_disabled },
{ .enabled = &HudScript_Item_HoneyShroom, .disabled = &HudScript_Item_HoneyShroom_disabled },
{ .enabled = &HudScript_Item_HoneyCandy, .disabled = &HudScript_Item_HoneyCandy_disabled },
{ .enabled = &HudScript_Item_ElectroPop, .disabled = &HudScript_Item_ElectroPop_disabled },
{ .enabled = &HudScript_Item_FirePop, .disabled = &HudScript_Item_FirePop_disabled },
{ .enabled = &HudScript_Item_LimeCandy, .disabled = &HudScript_Item_LimeCandy_disabled },
{ .enabled = &HudScript_Item_CocoPop, .disabled = &HudScript_Item_CocoPop_disabled },
{ .enabled = &HudScript_Item_LemonCandy, .disabled = &HudScript_Item_LemonCandy_disabled },
{ .enabled = &HudScript_Item_JellyPop, .disabled = &HudScript_Item_JellyPop_disabled },
{ .enabled = &HudScript_Item_StrangeCake, .disabled = &HudScript_Item_StrangeCake_disabled },
{ .enabled = &HudScript_Item_KookyCookie, .disabled = &HudScript_Item_KookyCookie_disabled },
{ .enabled = &HudScript_Item_FrozenFries, .disabled = &HudScript_Item_FrozenFries_disabled },
{ .enabled = &HudScript_Item_PotatoSalad, .disabled = &HudScript_Item_PotatoSalad_disabled },
{ .enabled = &HudScript_Item_NuttyCake, .disabled = &HudScript_Item_NuttyCake_disabled },
{ .enabled = &HudScript_Item_MapleShroom, .disabled = &HudScript_Item_MapleShroom_disabled },
{ .enabled = &HudScript_Item_BoiledEgg, .disabled = &HudScript_Item_BoiledEgg_disabled },
{ .enabled = &HudScript_Item_YoshiCookie, .disabled = &HudScript_Item_YoshiCookie_disabled },
{ .enabled = &HudScript_Item_JellyShroom, .disabled = &HudScript_Item_JellyShroom_disabled },
{ .enabled = &HudScript_Item_Unused_02C, .disabled = &HudScript_Item_Unused_02C_disabled },
{ .enabled = &HudScript_Item_Unused_02D, .disabled = &HudScript_Item_Unused_02D_disabled },
{ .enabled = &HudScript_Item_Unused_02E, .disabled = &HudScript_Item_Unused_02E_disabled },
{ .enabled = &HudScript_Item_Unused_02F, .disabled = &HudScript_Item_Unused_02F_disabled },
{ .enabled = &HudScript_Item_Unused_030, .disabled = &HudScript_Item_Unused_030_disabled },
{ .enabled = &HudScript_Item_Heart, .disabled = &HudScript_Item_Heart },
{ .enabled = &HudScript_Item_Coin, .disabled = &HudScript_Item_Coin },
{ .enabled = &HudScript_Item_HeartPiece, .disabled = &HudScript_Item_HeartPiece },
{ .enabled = &HudScript_Item_StarPoint, .disabled = &HudScript_Item_StarPoint },
{ .enabled = &HudScript_Item_HeartPoint, .disabled = &HudScript_Item_HeartPoint },
{ .enabled = &HudScript_Item_FlowerPoint, .disabled = &HudScript_Item_FlowerPoint },
{ .enabled = &HudScript_Item_StarPiece, .disabled = &HudScript_Item_StarPiece },
{ .enabled = &HudScript_Item_GearBoots1, .disabled = &HudScript_Item_GearBoots1 },
{ .enabled = &HudScript_Item_GearBoots2, .disabled = &HudScript_Item_GearBoots2 },
{ .enabled = &HudScript_Item_GearBoots3, .disabled = &HudScript_Item_GearBoots3 },
{ .enabled = &HudScript_Item_GearHammer1, .disabled = &HudScript_Item_GearHammer1 },
{ .enabled = &HudScript_Item_GearHammer2, .disabled = &HudScript_Item_GearHammer2 },
{ .enabled = &HudScript_Item_GearHammer3, .disabled = &HudScript_Item_GearHammer3 },
{ .enabled = &HudScript_Item_LuckyStar, .disabled = &HudScript_Item_LuckyStar },
{ .enabled = &HudScript_Item_Map, .disabled = &HudScript_Item_Map },
{ .enabled = &HudScript_Item_KoopaFortressKey, .disabled = &HudScript_Item_KoopaFortressKey },
{ .enabled = &HudScript_Item_RuinsKey, .disabled = &HudScript_Item_RuinsKey },
{ .enabled = &HudScript_Item_TubbaCastleKey, .disabled = &HudScript_Item_TubbaCastleKey },
{ .enabled = &HudScript_Item_IcePalaceKey, .disabled = &HudScript_Item_IcePalaceKey },
{ .enabled = &HudScript_Item_BowserCastleKey, .disabled = &HudScript_Item_BowserCastleKey },
{ .enabled = &HudScript_Item_Dolly, .disabled = &HudScript_Item_Dolly },
{ .enabled = &HudScript_Item_KooperShell, .disabled = &HudScript_Item_KooperShell },
{ .enabled = &HudScript_Item_PulseStone, .disabled = &HudScript_Item_PulseStone },
{ .enabled = &HudScript_Item_Artifact, .disabled = &HudScript_Item_Artifact },
{ .enabled = &HudScript_Item_AncientVase, .disabled = &HudScript_Item_AncientVase },
{ .enabled = &HudScript_Item_RuinsStonePyramid, .disabled = &HudScript_Item_RuinsStonePyramid },
{ .enabled = &HudScript_Item_RuinsStoneStar, .disabled = &HudScript_Item_RuinsStoneStar },
{ .enabled = &HudScript_Item_RuinsStoneMoon, .disabled = &HudScript_Item_RuinsStoneMoon },
{ .enabled = &HudScript_Item_ForestPass, .disabled = &HudScript_Item_ForestPass },
{ .enabled = &HudScript_Item_BooRecordOutline, .disabled = &HudScript_Item_BooRecordOutline },
{ .enabled = &HudScript_Item_BooRecord, .disabled = &HudScript_Item_BooRecord },
{ .enabled = &HudScript_Item_BooWeight, .disabled = &HudScript_Item_BooWeight },
{ .enabled = &HudScript_Item_BooPortrait, .disabled = &HudScript_Item_BooPortrait },
{ .enabled = &HudScript_Item_MysticKey, .disabled = &HudScript_Item_MysticKey },
{ .enabled = &HudScript_Item_IronKey, .disabled = &HudScript_Item_IronKey },
{ .enabled = &HudScript_Item_ToyboxTrain, .disabled = &HudScript_Item_ToyboxTrain },
{ .enabled = &HudScript_Item_FryingPan, .disabled = &HudScript_Item_FryingPan },
{ .enabled = &HudScript_Item_Dictionary, .disabled = &HudScript_Item_Dictionary },
{ .enabled = &HudScript_Item_MysteryNote, .disabled = &HudScript_Item_MysteryNote },
{ .enabled = &HudScript_Item_SuspiciousNote, .disabled = &HudScript_Item_SuspiciousNote },
{ .enabled = &HudScript_Item_MagicalSeed1, .disabled = &HudScript_Item_MagicalSeed1 },
{ .enabled = &HudScript_Item_MagicalSeed2, .disabled = &HudScript_Item_MagicalSeed2 },
{ .enabled = &HudScript_Item_MagicalSeed3, .disabled = &HudScript_Item_MagicalSeed3 },
{ .enabled = &HudScript_Item_MagicalSeed4, .disabled = &HudScript_Item_MagicalSeed4 },
{ .enabled = &HudScript_Item_CrystalBerry, .disabled = &HudScript_Item_CrystalBerry },
{ .enabled = &HudScript_Item_WaterStone, .disabled = &HudScript_Item_WaterStone },
{ .enabled = &HudScript_Item_MagicBean, .disabled = &HudScript_Item_MagicBean },
{ .enabled = &HudScript_Item_FertileSoil, .disabled = &HudScript_Item_FertileSoil },
{ .enabled = &HudScript_Item_MiracleWater, .disabled = &HudScript_Item_MiracleWater },
{ .enabled = &HudScript_Item_UltraStone, .disabled = &HudScript_Item_UltraStone },
{ .enabled = &HudScript_Item_ToadDoll, .disabled = &HudScript_Item_ToadDoll },
{ .enabled = &HudScript_Item_Calculator, .disabled = &HudScript_Item_Calculator },
{ .enabled = &HudScript_Item_Screwdriver, .disabled = &HudScript_Item_Screwdriver },
{ .enabled = &HudScript_Item_CookBook, .disabled = &HudScript_Item_CookBook },
{ .enabled = &HudScript_Item_JadeRaven, .disabled = &HudScript_Item_JadeRaven },
{ .enabled = &HudScript_Item_SnowmanBucket, .disabled = &HudScript_Item_SnowmanBucket },
{ .enabled = &HudScript_Item_SnowmanScarf, .disabled = &HudScript_Item_SnowmanScarf },
{ .enabled = &HudScript_Item_RedKey, .disabled = &HudScript_Item_RedKey },
{ .enabled = &HudScript_Item_BlueKey, .disabled = &HudScript_Item_BlueKey },
{ .enabled = &HudScript_Item_KootPackage, .disabled = &HudScript_Item_KootPackage },
{ .enabled = &HudScript_Item_KootRedJar, .disabled = &HudScript_Item_KootRedJar },
{ .enabled = &HudScript_Item_Melody, .disabled = &HudScript_Item_Melody },
{ .enabled = &HudScript_Item_Lyrics, .disabled = &HudScript_Item_Lyrics },
{ .enabled = &HudScript_Item_Mailbag, .disabled = &HudScript_Item_Mailbag },
{ .enabled = &HudScript_Item_StarStone, .disabled = &HudScript_Item_StarStone },
{ .enabled = &HudScript_Item_SneakyParasol, .disabled = &HudScript_Item_SneakyParasol },
{ .enabled = &HudScript_Item_PeachKey, .disabled = &HudScript_Item_PeachKey },
{ .enabled = &HudScript_Item_UNK_1DC210, .disabled = &HudScript_Item_UNK_1DC210 },
{ .enabled = &HudScript_Item_UNK_1DC430, .disabled = &HudScript_Item_UNK_1DC430 },
{ .enabled = &HudScript_Item_UNK_1DC650, .disabled = &HudScript_Item_UNK_1DC650 },
{ .enabled = &HudScript_Item_UNK_1DC870, .disabled = &HudScript_Item_UNK_1DC870 },
{ .enabled = &HudScript_Item_DojoCard1, .disabled = &HudScript_Item_DojoCard1 },
{ .enabled = &HudScript_Item_DojoCard2, .disabled = &HudScript_Item_DojoCard2 },
{ .enabled = &HudScript_Item_DojoCard3, .disabled = &HudScript_Item_DojoCard3 },
{ .enabled = &HudScript_Item_DojoCard4, .disabled = &HudScript_Item_DojoCard4 },
{ .enabled = &HudScript_Item_DojoCard5, .disabled = &HudScript_Item_DojoCard5 },
{ .enabled = &HudScript_Item_CrystalBall, .disabled = &HudScript_Item_CrystalBall },
{ .enabled = &HudScript_Item_GoldCard, .disabled = &HudScript_Item_GoldCard },
{ .enabled = &HudScript_Item_SilverCard, .disabled = &HudScript_Item_SilverCard },
{ .enabled = &HudScript_Item_KootBook, .disabled = &HudScript_Item_KootBook },
{ .enabled = &HudScript_Item_KootTheTape, .disabled = &HudScript_Item_KootTheTape },
{ .enabled = &HudScript_Item_KootMerluvleeAutograph, .disabled = &HudScript_Item_KootMerluvleeAutograph },
{ .enabled = &HudScript_Item_KootEmptyWallet, .disabled = &HudScript_Item_KootEmptyWallet },
{ .enabled = &HudScript_Item_KootLuigiAutograph, .disabled = &HudScript_Item_KootLuigiAutograph },
{ .enabled = &HudScript_Item_KootShell, .disabled = &HudScript_Item_KootShell },
{ .enabled = &HudScript_Item_KootPhoto, .disabled = &HudScript_Item_KootPhoto },
{ .enabled = &HudScript_Item_KootGlasses, .disabled = &HudScript_Item_KootGlasses },
{ .enabled = &HudScript_Item_Letter, .disabled = &HudScript_Item_Letter_disabled },
{ .enabled = &HudScript_Item_Unused_089, .disabled = &HudScript_Item_Unused_089_disabled },
{ .enabled = &HudScript_Item_Unused_08A, .disabled = &HudScript_Item_Unused_08A_disabled },
{ .enabled = &HudScript_Item_Unused_08B, .disabled = &HudScript_Item_Unused_08B_disabled },
{ .enabled = &HudScript_Item_Unused_08C, .disabled = &HudScript_Item_Unused_08C_disabled },
{ .enabled = &HudScript_Item_Unused_08D, .disabled = &HudScript_Item_Unused_08D_disabled },
{ .enabled = &HudScript_Item_Unused_08E, .disabled = &HudScript_Item_Unused_08E_disabled },
{ .enabled = &HudScript_Item_Unused_08F, .disabled = &HudScript_Item_Unused_08F_disabled },
{ .enabled = &HudScript_Item_SpinSmash, .disabled = &HudScript_Item_SpinSmash_disabled },
{ .enabled = &HudScript_Item_Multibounce, .disabled = &HudScript_Item_Multibounce_disabled },
{ .enabled = &HudScript_Item_PowerPlus, .disabled = &HudScript_Item_PowerPlus_disabled },
{ .enabled = &HudScript_Item_DodgeMaster, .disabled = &HudScript_Item_DodgeMaster_disabled },
{ .enabled = &HudScript_Item_PowerBounce, .disabled = &HudScript_Item_PowerBounce_disabled },
{ .enabled = &HudScript_Item_SpikeShield, .disabled = &HudScript_Item_SpikeShield_disabled },
{ .enabled = &HudScript_Item_FirstAttack, .disabled = &HudScript_Item_FirstAttack_disabled },
{ .enabled = &HudScript_Item_HPPlus, .disabled = &HudScript_Item_HPPlus_disabled },
{ .enabled = &HudScript_Item_QuakeHammer, .disabled = &HudScript_Item_QuakeHammer_disabled },
{ .enabled = &HudScript_Item_DoubleDip, .disabled = &HudScript_Item_DoubleDip_disabled },
{ .enabled = &HudScript_Item_PowerQuake, .disabled = &HudScript_Item_PowerQuake_disabled },
{ .enabled = &HudScript_Item_MegaQuake, .disabled = &HudScript_Item_MegaQuake_disabled },
{ .enabled = &HudScript_Item_SleepStomp, .disabled = &HudScript_Item_SleepStomp_disabled },
{ .enabled = &HudScript_Item_SmashCharge, .disabled = &HudScript_Item_SmashCharge_disabled },
{ .enabled = &HudScript_Item_SSmashChg, .disabled = &HudScript_Item_SSmashChg_disabled },
{ .enabled = &HudScript_Item_AutoSmash, .disabled = &HudScript_Item_AutoSmash_disabled },
{ .enabled = &HudScript_Item_FireShield, .disabled = &HudScript_Item_FireShield_disabled },
{ .enabled = &HudScript_Item_JumpCharge, .disabled = &HudScript_Item_JumpCharge_disabled },
{ .enabled = &HudScript_Item_SJumpChg, .disabled = &HudScript_Item_SJumpChg_disabled },
{ .enabled = &HudScript_Item_AutoJump, .disabled = &HudScript_Item_AutoJump_disabled },
{ .enabled = &HudScript_Item_DDownPound, .disabled = &HudScript_Item_DDownPound_disabled },
{ .enabled = &HudScript_Item_AutoMultibounce, .disabled = &HudScript_Item_AutoMultibounce_disabled },
{ .enabled = &HudScript_Item_DizzyStomp, .disabled = &HudScript_Item_DizzyStomp_disabled },
{ .enabled = &HudScript_Item_HammerThrow, .disabled = &HudScript_Item_HammerThrow_disabled },
{ .enabled = &HudScript_Item_SmashCharge0, .disabled = &HudScript_Item_SmashCharge0_disabled },
{ .enabled = &HudScript_Item_PrettyLucky, .disabled = &HudScript_Item_PrettyLucky_disabled },
{ .enabled = &HudScript_Item_FeelingFine, .disabled = &HudScript_Item_FeelingFine_disabled },
{ .enabled = &HudScript_Item_AttackFXA, .disabled = &HudScript_Item_AttackFXA_disabled },
{ .enabled = &HudScript_Item_AllorNothing, .disabled = &HudScript_Item_AllorNothing_disabled },
{ .enabled = &HudScript_Item_HPDrain, .disabled = &HudScript_Item_HPDrain_disabled },
{ .enabled = &HudScript_Item_JumpCharge0, .disabled = &HudScript_Item_JumpCharge0_disabled },
{ .enabled = &HudScript_Item_SlowGo, .disabled = &HudScript_Item_SlowGo_disabled },
{ .enabled = &HudScript_Item_FPPlus, .disabled = &HudScript_Item_FPPlus_disabled },
{ .enabled = &HudScript_Item_MegaRush, .disabled = &HudScript_Item_MegaRush_disabled },
{ .enabled = &HudScript_Item_IcePower, .disabled = &HudScript_Item_IcePower_disabled },
{ .enabled = &HudScript_Item_DefendPlus, .disabled = &HudScript_Item_DefendPlus_disabled },
{ .enabled = &HudScript_Item_PayOff, .disabled = &HudScript_Item_PayOff_disabled },
{ .enabled = &HudScript_Item_MoneyMoney, .disabled = &HudScript_Item_MoneyMoney_disabled },
{ .enabled = &HudScript_Item_ChillOut, .disabled = &HudScript_Item_ChillOut_disabled },
{ .enabled = &HudScript_Item_HappyHeart, .disabled = &HudScript_Item_HappyHeart_disabled },
{ .enabled = &HudScript_Item_ZapTap, .disabled = &HudScript_Item_ZapTap_disabled },
{ .enabled = &HudScript_Item_Berserker, .disabled = &HudScript_Item_Berserker_disabled },
{ .enabled = &HudScript_Item_RightOn, .disabled = &HudScript_Item_RightOn_disabled },
{ .enabled = &HudScript_Item_RunawayPay, .disabled = &HudScript_Item_RunawayPay_disabled },
{ .enabled = &HudScript_Item_Refund, .disabled = &HudScript_Item_Refund_disabled },
{ .enabled = &HudScript_Item_FlowerSaver, .disabled = &HudScript_Item_FlowerSaver_disabled },
{ .enabled = &HudScript_Item_TripleDip, .disabled = &HudScript_Item_TripleDip_disabled },
{ .enabled = &HudScript_Item_FlowerFanatic, .disabled = &HudScript_Item_FlowerFanatic_disabled },
{ .enabled = &HudScript_Item_PowerJump, .disabled = &HudScript_Item_PowerJump_disabled },
{ .enabled = &HudScript_Item_SuperJump, .disabled = &HudScript_Item_SuperJump_disabled },
{ .enabled = &HudScript_Item_MegaJump, .disabled = &HudScript_Item_MegaJump_disabled },
{ .enabled = &HudScript_Item_PowerSmash1, .disabled = &HudScript_Item_PowerSmash1_disabled },
{ .enabled = &HudScript_Item_SuperSmash, .disabled = &HudScript_Item_SuperSmash_disabled },
{ .enabled = &HudScript_Item_MegaSmash, .disabled = &HudScript_Item_MegaSmash_disabled },
{ .enabled = &HudScript_Item_LuckyDay, .disabled = &HudScript_Item_LuckyDay_disabled },
{ .enabled = &HudScript_Item_MegaHPDrain, .disabled = &HudScript_Item_MegaHPDrain_disabled },
{ .enabled = &HudScript_Item_BumpAttack, .disabled = &HudScript_Item_BumpAttack_disabled },
{ .enabled = &HudScript_Item_PUpDDown, .disabled = &HudScript_Item_PUpDDown_disabled },
{ .enabled = &HudScript_Item_PDownDUp, .disabled = &HudScript_Item_PDownDUp_disabled },
{ .enabled = &HudScript_Item_HeartFinder, .disabled = &HudScript_Item_HeartFinder_disabled },
{ .enabled = &HudScript_Item_FlowerFinder, .disabled = &HudScript_Item_FlowerFinder_disabled },
{ .enabled = &HudScript_Item_DizzyAttack, .disabled = &HudScript_Item_DizzyAttack_disabled },
{ .enabled = &HudScript_Item_SpeedySpin, .disabled = &HudScript_Item_SpeedySpin_disabled },
{ .enabled = &HudScript_Item_SpinAttack, .disabled = &HudScript_Item_SpinAttack_disabled },
{ .enabled = &HudScript_Item_ISpy, .disabled = &HudScript_Item_ISpy_disabled },
{ .enabled = &HudScript_Item_PowerRush, .disabled = &HudScript_Item_PowerRush_disabled },
{ .enabled = &HudScript_Item_LastStand, .disabled = &HudScript_Item_LastStand_disabled },
{ .enabled = &HudScript_Item_CloseCall, .disabled = &HudScript_Item_CloseCall_disabled },
{ .enabled = &HudScript_Item_CrazyHeart, .disabled = &HudScript_Item_CrazyHeart_disabled },
{ .enabled = &HudScript_Item_Unused_0D5, .disabled = &HudScript_Item_Unused_0D5_disabled },
{ .enabled = &HudScript_Item_Unused_0D6, .disabled = &HudScript_Item_Unused_0D6_disabled },
{ .enabled = &HudScript_Item_Unused_0D7, .disabled = &HudScript_Item_Unused_0D7_disabled },
{ .enabled = &HudScript_Item_ShrinkSmash, .disabled = &HudScript_Item_ShrinkSmash_disabled },
{ .enabled = &HudScript_Item_ShrinkStomp, .disabled = &HudScript_Item_ShrinkStomp_disabled },
{ .enabled = &HudScript_Item_DDownJump, .disabled = &HudScript_Item_DDownJump_disabled },
{ .enabled = &HudScript_Item_DamageDodge, .disabled = &HudScript_Item_DamageDodge_disabled },
{ .enabled = &HudScript_Item_EarthquakeJump, .disabled = &HudScript_Item_EarthquakeJump_disabled },
{ .enabled = &HudScript_Item_HappyFlower, .disabled = &HudScript_Item_HappyFlower_disabled },
{ .enabled = &HudScript_Item_Unused_0DE, .disabled = &HudScript_Item_Unused_0DE_disabled },
{ .enabled = &HudScript_Item_Unused_0DF, .disabled = &HudScript_Item_Unused_0DF_disabled },
{ .enabled = &HudScript_Item_DeepFocus, .disabled = &HudScript_Item_DeepFocus_disabled },
{ .enabled = &HudScript_Item_SuperFocus, .disabled = &HudScript_Item_SuperFocus_disabled },
{ .enabled = &HudScript_Item_Kaiden, .disabled = &HudScript_Item_Kaiden_disabled },
{ .enabled = &HudScript_Item_QuickChange, .disabled = &HudScript_Item_QuickChange_disabled },
{ .enabled = &HudScript_Item_Unused_0E4, .disabled = &HudScript_Item_Unused_0E4_disabled },
{ .enabled = &HudScript_Item_Unused_0E5, .disabled = &HudScript_Item_Unused_0E5_disabled },
{ .enabled = &HudScript_Item_Unused_0E6, .disabled = &HudScript_Item_Unused_0E6_disabled },
{ .enabled = &HudScript_Item_Unused_0E7, .disabled = &HudScript_Item_Unused_0E7_disabled },
{ .enabled = &HudScript_Item_Peekaboo, .disabled = &HudScript_Item_Peekaboo_disabled },
{ .enabled = &HudScript_Item_GroupFocus, .disabled = &HudScript_Item_GroupFocus_disabled },
{ .enabled = &HudScript_Item_AttackFXD, .disabled = &HudScript_Item_AttackFXD_disabled },
{ .enabled = &HudScript_Item_AttackFXB, .disabled = &HudScript_Item_AttackFXB_disabled },
{ .enabled = &HudScript_Item_AttackFXE, .disabled = &HudScript_Item_AttackFXE_disabled },
{ .enabled = &HudScript_Item_AttackFXC, .disabled = &HudScript_Item_AttackFXC_disabled },
{ .enabled = &HudScript_Item_AttackFXF, .disabled = &HudScript_Item_AttackFXF_disabled },
{ .enabled = &HudScript_Item_Unused_0EF, .disabled = &HudScript_Item_Unused_0EF_disabled },
{ .enabled = &HudScript_Item_HealthyHealthy, .disabled = &HudScript_Item_HealthyHealthy_disabled },
{ .enabled = &HudScript_Item_Unused_0F1, .disabled = &HudScript_Item_Unused_0F1_disabled },
{ .enabled = &HudScript_Item_Unused_0F2, .disabled = &HudScript_Item_Unused_0F2_disabled },
{ .enabled = &HudScript_Item_Unused_0F3, .disabled = &HudScript_Item_Unused_0F3_disabled },
{ .enabled = &HudScript_Item_Unused_0F4, .disabled = &HudScript_Item_Unused_0F4_disabled },
{ .enabled = &HudScript_Item_Unused_0F5, .disabled = &HudScript_Item_Unused_0F5_disabled },
{ .enabled = &HudScript_Item_Unused_0F6, .disabled = &HudScript_Item_Unused_0F6_disabled },
{ .enabled = &HudScript_Item_Unused_0F7, .disabled = &HudScript_Item_Unused_0F7_disabled },
{ .enabled = &HudScript_Item_Mushroom, .disabled = &HudScript_Item_Mushroom_disabled },
{ .enabled = &HudScript_Item_SuperShroom, .disabled = &HudScript_Item_SuperShroom_disabled },
{ .enabled = &HudScript_Item_UltraShroom, .disabled = &HudScript_Item_UltraShroom_disabled },
{ .enabled = &HudScript_Item_LifeShroom, .disabled = &HudScript_Item_LifeShroom_disabled },
{ .enabled = &HudScript_Item_DriedShroom, .disabled = &HudScript_Item_DriedShroom_disabled },
{ .enabled = &HudScript_Item_TastyTonic, .disabled = &HudScript_Item_TastyTonic_disabled },
{ .enabled = &HudScript_Item_SuperSoda, .disabled = &HudScript_Item_SuperSoda_disabled },
{ .enabled = &HudScript_Item_BlueBerry, .disabled = &HudScript_Item_BlueBerry_disabled },
{ .enabled = &HudScript_Item_RedBerry, .disabled = &HudScript_Item_RedBerry_disabled },
{ .enabled = &HudScript_Item_YellowBerry, .disabled = &HudScript_Item_YellowBerry_disabled },
{ .enabled = &HudScript_Item_BubbleBerry, .disabled = &HudScript_Item_BubbleBerry_disabled },
{ .enabled = &HudScript_Item_Goomnut, .disabled = &HudScript_Item_Goomnut_disabled },
{ .enabled = &HudScript_Item_KoopaLeaf, .disabled = &HudScript_Item_KoopaLeaf_disabled },
{ .enabled = &HudScript_Item_DriedPasta, .disabled = &HudScript_Item_DriedPasta_disabled },
{ .enabled = &HudScript_Item_Lime, .disabled = &HudScript_Item_Lime_disabled },
{ .enabled = &HudScript_Item_Lemon, .disabled = &HudScript_Item_Lemon_disabled },
{ .enabled = &HudScript_Item_DriedFruit, .disabled = &HudScript_Item_DriedFruit_disabled },
{ .enabled = &HudScript_Item_StrangeLeaf, .disabled = &HudScript_Item_StrangeLeaf_disabled },
{ .enabled = &HudScript_Item_CakeMix, .disabled = &HudScript_Item_CakeMix_disabled },
{ .enabled = &HudScript_Item_Egg, .disabled = &HudScript_Item_Egg_disabled },
{ .enabled = &HudScript_Item_Coconut, .disabled = &HudScript_Item_Coconut_disabled },
{ .enabled = &HudScript_Item_Melon, .disabled = &HudScript_Item_Melon_disabled },
{ .enabled = &HudScript_Item_StinkyHerb, .disabled = &HudScript_Item_StinkyHerb_disabled },
{ .enabled = &HudScript_Item_IcedPotato, .disabled = &HudScript_Item_IcedPotato_disabled },
{ .enabled = &HudScript_Item_HoneySyrup, .disabled = &HudScript_Item_HoneySyrup_disabled },
{ .enabled = &HudScript_Item_MapleSyrup, .disabled = &HudScript_Item_MapleSyrup_disabled },
{ .enabled = &HudScript_Item_JamminJelly, .disabled = &HudScript_Item_JamminJelly_disabled },
{ .enabled = &HudScript_Item_WhackasBump, .disabled = &HudScript_Item_WhackasBump_disabled },
{ .enabled = &HudScript_Item_Apple, .disabled = &HudScript_Item_Apple_disabled },
{ .enabled = &HudScript_Item_BakingSalt, .disabled = &HudScript_Item_BakingSalt_disabled },
{ .enabled = &HudScript_Item_BakingSugar, .disabled = &HudScript_Item_BakingSugar_disabled },
{ .enabled = &HudScript_Item_BakingEgg, .disabled = &HudScript_Item_BakingEgg_disabled },
{ .enabled = &HudScript_Item_BakingCream, .disabled = &HudScript_Item_BakingCream_disabled },
{ .enabled = &HudScript_Item_BakingStrawberry, .disabled = &HudScript_Item_BakingStrawberry_disabled },
{ .enabled = &HudScript_Item_BakingButter, .disabled = &HudScript_Item_BakingButter_disabled },
{ .enabled = &HudScript_Item_BakingCleanser, .disabled = &HudScript_Item_BakingCleanser_disabled },
{ .enabled = &HudScript_Item_BakingWater, .disabled = &HudScript_Item_BakingWater_disabled },
{ .enabled = &HudScript_Item_BakingFlour, .disabled = &HudScript_Item_BakingFlour_disabled },
{ .enabled = &HudScript_Item_BakingMilk, .disabled = &HudScript_Item_BakingMilk_disabled },
{ .enabled = &HudScript_Item_Unused_11F, .disabled = &HudScript_Item_Unused_11F_disabled },
{ .enabled = &HudScript_Item_FireFlower, .disabled = &HudScript_Item_FireFlower_disabled },
{ .enabled = &HudScript_Item_SnowmanDoll, .disabled = &HudScript_Item_SnowmanDoll_disabled },
{ .enabled = &HudScript_Item_ThunderRage, .disabled = &HudScript_Item_ThunderRage_disabled },
{ .enabled = &HudScript_Item_ThunderBolt, .disabled = &HudScript_Item_ThunderBolt_disabled },
{ .enabled = &HudScript_Item_ShootingStar, .disabled = &HudScript_Item_ShootingStar_disabled },
{ .enabled = &HudScript_Item_DustyHammer, .disabled = &HudScript_Item_DustyHammer_disabled },
{ .enabled = &HudScript_Item_Pebble, .disabled = &HudScript_Item_Pebble_disabled },
{ .enabled = &HudScript_Item_Unused_127, .disabled = &HudScript_Item_Unused_127_disabled },
{ .enabled = &HudScript_Item_StoneCap, .disabled = &HudScript_Item_StoneCap_disabled },
{ .enabled = &HudScript_Item_VoltShroom, .disabled = &HudScript_Item_VoltShroom_disabled },
{ .enabled = &HudScript_Item_PowerStar, .disabled = &HudScript_Item_PowerStar_disabled },
{ .enabled = &HudScript_Item_Parasol, .disabled = &HudScript_Item_Parasol_disabled },
{ .enabled = &HudScript_Item_MagicMirror, .disabled = &HudScript_Item_MagicMirror_disabled },
{ .enabled = &HudScript_Item_Unused_12D, .disabled = &HudScript_Item_Unused_12D_disabled },
{ .enabled = &HudScript_Item_Unused_12E, .disabled = &HudScript_Item_Unused_12E_disabled },
{ .enabled = &HudScript_Item_Unused_12F, .disabled = &HudScript_Item_Unused_12F_disabled },
{ .enabled = &HudScript_Item_SleepySheep, .disabled = &HudScript_Item_SleepySheep_disabled },
{ .enabled = &HudScript_Item_XBandage, .disabled = &HudScript_Item_XBandage_disabled },
{ .enabled = &HudScript_Item_POWBlock, .disabled = &HudScript_Item_POWBlock_disabled },
{ .enabled = &HudScript_Item_HustleDrink, .disabled = &HudScript_Item_HustleDrink_disabled },
{ .enabled = &HudScript_Item_StopWatch, .disabled = &HudScript_Item_StopWatch_disabled },
{ .enabled = &HudScript_Item_DizzyDial, .disabled = &HudScript_Item_DizzyDial_disabled },
{ .enabled = &HudScript_Item_Unused_136, .disabled = &HudScript_Item_Unused_136_disabled },
{ .enabled = &HudScript_Item_Unused_137, .disabled = &HudScript_Item_Unused_137_disabled },
{ .enabled = &HudScript_Item_PleaseComeBack, .disabled = &HudScript_Item_PleaseComeBack_disabled },
{ .enabled = &HudScript_Item_Unused_139, .disabled = &HudScript_Item_Unused_139_disabled },
{ .enabled = &HudScript_Item_FrightJar, .disabled = &HudScript_Item_FrightJar_disabled },
{ .enabled = &HudScript_Item_Mystery, .disabled = &HudScript_Item_Mystery_disabled },
{ .enabled = &HudScript_Item_RepelGel, .disabled = &HudScript_Item_RepelGel_disabled },
{ .enabled = &HudScript_Item_InsecticideHerb, .disabled = &HudScript_Item_InsecticideHerb_disabled },
{ .enabled = &HudScript_Item_Unused_13E, .disabled = &HudScript_Item_Unused_13E_disabled },
{ .enabled = &HudScript_Item_Unused_13F, .disabled = &HudScript_Item_Unused_13F_disabled },
{ .enabled = &HudScript_Item_Present, .disabled = &HudScript_Item_Present },
{ .enabled = &HudScript_Item_CakeDone, .disabled = &HudScript_Item_CakeDone },
{ .enabled = &HudScript_Item_CakeBaked, .disabled = &HudScript_Item_CakeBaked },
{ .enabled = &HudScript_Item_CakePan, .disabled = &HudScript_Item_CakePan },
{ .enabled = &HudScript_Item_CakeBatter, .disabled = &HudScript_Item_CakeBatter },
{ .enabled = &HudScript_Item_CakeBowl, .disabled = &HudScript_Item_CakeBowl },
{ .enabled = &HudScript_Item_CakeMixed, .disabled = &HudScript_Item_CakeMixed },
{ .enabled = &HudScript_Item_CakeIcing, .disabled = &HudScript_Item_CakeIcing },
{ .enabled = &HudScript_Item_CakeBerries, .disabled = &HudScript_Item_CakeBerries },
{ .enabled = (HudScript*)0x80109338, .disabled = (HudScript*)0x801093D8 },
{ .enabled = &HudScript_Item_Hammer1, .disabled = &HudScript_Item_Hammer1 },
{ .enabled = &HudScript_Item_Hammer2, .disabled = &HudScript_Item_Hammer2 },
{ .enabled = &HudScript_Item_Hammer3, .disabled = &HudScript_Item_Hammer3 },
{ .enabled = &HudScript_Item_Boots1, .disabled = &HudScript_Item_Boots1 },
{ .enabled = &HudScript_Item_Boots2, .disabled = &HudScript_Item_Boots2 },
{ .enabled = &HudScript_Item_Boots3, .disabled = &HudScript_Item_Boots3 },
{ .enabled = &HudScript_Item_Items, .disabled = &HudScript_Item_Items }
};

1093
src/item_hud_scripts.inc.c Normal file

File diff suppressed because it is too large Load Diff

4753
src/item_table.inc.c Normal file

File diff suppressed because it is too large Load Diff

1852
src/move_table.inc.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -78,7 +78,7 @@ s32 _create_npc(NpcBlueprint* blueprint, s32** animList, s32 skipLoadingAnims) {
} }
ASSERT(i < MAX_NPCS); ASSERT(i < MAX_NPCS);
(*gCurrentNpcListPtr)[i] = npc = heap_malloc(sizeof(Npc)); (*gCurrentNpcListPtr)[i] = npc = heap_malloc(sizeof(*npc));
gNpcCount++; gNpcCount++;
ASSERT(npc != NULL); ASSERT(npc != NULL);
@ -961,7 +961,7 @@ void enable_npc_blur(Npc* npc) {
npc->flags |= NPC_FLAG_MOTION_BLUR; npc->flags |= NPC_FLAG_MOTION_BLUR;
blurBuf = heap_malloc(sizeof(BlurBuffer)); blurBuf = heap_malloc(sizeof(*blurBuf));
npc->blurBuf = blurBuf; npc->blurBuf = blurBuf;
ASSERT(blurBuf != NULL); ASSERT(blurBuf != NULL);
blurBuf->unk_00 = 0; blurBuf->unk_00 = 0;

View File

@ -55,7 +55,7 @@ void __osPackReadData(void) {
readformat.button = -1; readformat.button = -1;
readformat.stick_x = -1; readformat.stick_x = -1;
readformat.stick_y = -1; readformat.stick_y = -1;
for(i = 0; i < __osMaxControllers; i++) { for (i = 0; i < __osMaxControllers; i++) {
*(__OSContReadFormat*)ptr = readformat; *(__OSContReadFormat*)ptr = readformat;
ptr += sizeof(__OSContReadFormat); ptr += sizeof(__OSContReadFormat);
} }

View File

@ -12,7 +12,7 @@ void nuGfxSetCfb(u16** framebuf, u32 framebufnum) {
nuGfxRetraceWait(1); nuGfxRetraceWait(1);
nuScSetFrameBufferNum(framebufnum); nuScSetFrameBufferNum(framebufnum);
if(framebufnum > 1) { if (framebufnum > 1) {
s32 i; s32 i;
for (i = 0; i < framebufnum - 1; i++) { for (i = 0; i < framebufnum - 1; i++) {

View File

@ -66,7 +66,7 @@ void func_802B6000_E26710(void) {
playerStatus->position.y = player_check_collision_below(temp_f20, &sp10); playerStatus->position.y = player_check_collision_below(temp_f20, &sp10);
if (sp10 >= 0 && collisionStatus->currentFloor & COLLISION_WITH_ENTITY_BIT ) { if (sp10 >= 0 && collisionStatus->currentFloor & COLLISION_WITH_ENTITY_BIT ) {
entityType = get_entity_type(collisionStatus->currentFloor); entityType = get_entity_type(collisionStatus->currentFloor);
if(entityType == 7 || entityType == 8) { if (entityType == ENTITY_TYPE_BLUE_SWITCH || entityType == ENTITY_TYPE_RED_SWITCH) {
get_entity_by_index(collisionStatus->currentFloor)->collisionFlags |= 1; get_entity_by_index(collisionStatus->currentFloor)->collisionFlags |= 1;
disable_player_input(); disable_player_input();
playerStatus->fallState = 0xB; playerStatus->fallState = 0xB;
@ -78,7 +78,7 @@ void func_802B6000_E26710(void) {
playerStatus->currentStateTime = 3; playerStatus->currentStateTime = 3;
playerStatus->flags |= 4; playerStatus->flags |= 4;
playerStatus->fallState++; playerStatus->fallState++;
sfx_play_sound_at_player(0x147, 0); sfx_play_sound_at_player(SOUND_TORNADO_JUMP, 0);
} }
if (sp10 >= 0) { if (sp10 >= 0) {
playerStatus->flags &= ~0x00020008; playerStatus->flags &= ~0x00020008;

View File

@ -61,7 +61,7 @@ void func_802B60A4_E29514(void) {
TempPointer = &D_802B6ED0; TempPointer = &D_802B6ED0;
if (sp20 >= 0){ if (sp20 >= 0){
if(!(sp20 & COLLISION_WITH_ENTITY_BIT)) { if (!(sp20 & COLLISION_WITH_ENTITY_BIT)) {
D_802B6ED0 = -1; D_802B6ED0 = -1;
} else { } else {
D_802B6ED0 = sp20 & 0x3FF; D_802B6ED0 = sp20 & 0x3FF;

View File

@ -38,7 +38,7 @@ ApiStatus func_80240118_90CD58(Evt* script, s32 isInitialCall) {
} }
script->functionTemp[1]--; script->functionTemp[1]--;
if(script->functionTemp[1] == 0) { if (script->functionTemp[1] == 0) {
return ApiStatus_DONE1; return ApiStatus_DONE1;
} else { } else {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;

View File

@ -121,7 +121,7 @@ ApiStatus N(UpdateRecordDisplay)(Evt* script, s32 isInitialCall) {
s32 gameType = evt_get_variable(script, *args++); s32 gameType = evt_get_variable(script, *args++);
if (isInitialCall) { if (isInitialCall) {
data = heap_malloc(sizeof(RecordDisplayData)); data = heap_malloc(sizeof(*data));
script->functionTempPtr[0] = data; script->functionTempPtr[0] = data;
data->state = RECORD_START_SHOW; data->state = RECORD_START_SHOW;
data->alpha = 255; data->alpha = 255;

View File

@ -637,7 +637,7 @@ ApiStatus N(InitializePanels)(Evt* script, s32 isInitialCall) {
ApiStatus N(CreateMinigame)(Evt* script, s32 isInitialCall) { ApiStatus N(CreateMinigame)(Evt* script, s32 isInitialCall) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX); Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
JumpGameData* data = general_heap_malloc(sizeof(JumpGameData)); JumpGameData* data = general_heap_malloc(sizeof(*data));
s32 hudElemID; s32 hudElemID;
scorekeeper->varTablePtr[JUMP_DATA_VAR_IDX] = data; scorekeeper->varTablePtr[JUMP_DATA_VAR_IDX] = data;

View File

@ -955,7 +955,7 @@ ApiStatus N(CleanupGame)(Evt* script, s32 isInitialCall) {
ApiStatus N(CreateMinigame)(Evt* script, s32 isInitialCall) { ApiStatus N(CreateMinigame)(Evt* script, s32 isInitialCall) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX); Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
SmashGameData* data = heap_malloc(sizeof(SmashGameData)); SmashGameData* data = heap_malloc(sizeof(*data));
scorekeeper->varTablePtr[SMASH_DATA_VAR_IDX] = data; scorekeeper->varTablePtr[SMASH_DATA_VAR_IDX] = data;
data->windowA_posX = -80; data->windowA_posX = -80;

View File

@ -18,7 +18,7 @@ ApiStatus N(StarSpiritEffectFunc2)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
if (isInitialCall) { if (isInitialCall) {
StarSpiritEffect* ptr = heap_malloc(sizeof(StarSpiritEffect)); StarSpiritEffect* ptr = heap_malloc(sizeof(*ptr));
script->varTable[0] = (s32) ptr; script->varTable[0] = (s32) ptr;
evt_set_variable(NULL, EVT_MAP_VAR(1), script->varTable[0]); evt_set_variable(NULL, EVT_MAP_VAR(1), script->varTable[0]);
ptr->unk_38 = evt_get_variable(script, *args++); ptr->unk_38 = evt_get_variable(script, *args++);
@ -147,7 +147,7 @@ ApiStatus N(StarSpiritEffectFunc5)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;
if (isInitialCall) { if (isInitialCall) {
StarSpiritEffect* ptr = (StarSpiritEffect*) heap_malloc(sizeof(StarSpiritEffect)); StarSpiritEffect* ptr = (StarSpiritEffect*) heap_malloc(sizeof(*ptr));
script->varTable[0] = (s32) ptr; script->varTable[0] = (s32) ptr;
ptr->unk_38 = evt_get_variable(script, *args++); ptr->unk_38 = evt_get_variable(script, *args++);
ptr->unk_18 = evt_get_float_variable(script, *args++); ptr->unk_18 = evt_get_float_variable(script, *args++);

View File

@ -396,7 +396,7 @@ ApiStatus N(Quizmo_SpinPlayer)(Evt* script, s32 isInitialCall) {
script->functionTemp[0]--; script->functionTemp[0]--;
if(script->functionTemp[0] < 0) { if (script->functionTemp[0] < 0) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} else { } else {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
@ -417,7 +417,7 @@ ApiStatus N(Quizmo_SpinPartner)(Evt* script, s32 isInitialCall) {
script->functionTemp[0]--; script->functionTemp[0]--;
if(script->functionTemp[0] < 0) { if (script->functionTemp[0] < 0) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} else { } else {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
@ -442,7 +442,7 @@ ApiStatus N(Quizmo_UpdatePartnerPosition)(Evt* script, s32 isInitialCall) {
npc->pos.z += *z; npc->pos.z += *z;
script->functionTemp[0]--; script->functionTemp[0]--;
if(script->functionTemp[0] == 0) { if (script->functionTemp[0] == 0) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} else { } else {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;

View File

@ -63,7 +63,7 @@ void N(FlyingMagikoopaAI_15)(Evt* arg0, NpcAISettings* arg1, EnemyDetectVolume*
if (is_point_within_region(enemy->territory->wander.wanderShape, enemy->territory->wander.point.x, enemy->territory->wander.point.z, npc->pos.x, npc->pos.z, enemy->territory->wander.wanderSizeX, enemy->territory->wander.wanderSizeZ)) { if (is_point_within_region(enemy->territory->wander.wanderShape, enemy->territory->wander.point.x, enemy->territory->wander.point.z, npc->pos.x, npc->pos.z, enemy->territory->wander.wanderSizeX, enemy->territory->wander.wanderSizeZ)) {
npc->yaw = atan2(npc->pos.x, npc->pos.z, enemy->territory->wander.point.x, enemy->territory->wander.point.z) - iterations; npc->yaw = atan2(npc->pos.x, npc->pos.z, enemy->territory->wander.point.x, enemy->territory->wander.point.z) - iterations;
moveDist = dist2D(npc->pos.x, npc->pos.z, enemy->territory->wander.point.x, enemy->territory->wander.point.z); moveDist = dist2D(npc->pos.x, npc->pos.z, enemy->territory->wander.point.x, enemy->territory->wander.point.z);
if(randomDist > moveDist) { if (randomDist > moveDist) {
randomDist = moveDist; randomDist = moveDist;
} }
} else { } else {

View File

@ -837,7 +837,7 @@ s32 MakeShop(Evt* script, s32 isInitialCall) {
ShopItemData* inventory = evt_get_variable(script, *args++); ShopItemData* inventory = evt_get_variable(script, *args++);
ShopSellPriceData* prices = evt_get_variable(script, *args++); ShopSellPriceData* prices = evt_get_variable(script, *args++);
s32 inventoryItemFlags = evt_get_variable(script, *args++); s32 inventoryItemFlags = evt_get_variable(script, *args++);
Shop* shop = heap_malloc(sizeof(Shop)); Shop* shop = heap_malloc(sizeof(*shop));
Model* model; Model* model;
s32 numShopItems; s32 numShopItems;
f32 centerX; f32 centerX;

View File

@ -108,13 +108,13 @@ INCLUDE_ASM(s32, "world/script_api/7E2AA0", func_80282700);
ApiStatus func_80282774(Evt* script, s32 isInitialCall) { ApiStatus func_80282774(Evt* script, s32 isInitialCall) {
DoorStuff* doorStuff = (DoorStuff*)script->functionTemp[1]; DoorStuff* doorStuff = (DoorStuff*)script->functionTemp[1];
doorStuff->unk_0A = func_80134240(); doorStuff->unk_0A = get_current_item_entity_render_group();
func_80134230(doorStuff->unk_08); set_current_item_entity_render_group(doorStuff->unk_08);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
ApiStatus func_802827A8(Evt* script, s32 isInitialCall) { ApiStatus func_802827A8(Evt* script, s32 isInitialCall) {
func_80134230(((DoorStuff*)script->functionTemp[1])->unk_0A); set_current_item_entity_render_group(((DoorStuff*)script->functionTemp[1])->unk_0A);
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

View File

@ -70,7 +70,7 @@ ApiStatus CreatePushBlockGrid(Evt* script, s32 isInitialCall) {
u8* dataToCopy; u8* dataToCopy;
s32 i; s32 i;
D_802DBC88[blockSystemID] = blockGrid = general_heap_malloc(sizeof(PushBlockGrid)); D_802DBC88[blockSystemID] = blockGrid = general_heap_malloc(sizeof(*blockGrid));
blockGrid->cells = general_heap_malloc(sizeNx*sizeNz); blockGrid->cells = general_heap_malloc(sizeNx*sizeNz);

View File

@ -79,65 +79,65 @@ class HudElementScript():
break break
if op == 0x00: if op == 0x00:
print(f"{indent}he_End,") print(f"{indent}hs_End")
elif op == 0x01: elif op == 0x01:
print(f"{indent}he_SetRGBA({next(buf)}, {next(buf)}, {next(buf)}),") print(f"{indent}hs_SetRGBA({next(buf)}, {next(buf)}, {next(buf)})")
elif op == 0x02: elif op == 0x02:
print(f"{indent}he_SetCI({next(buf)}, {next(buf)}, {next(buf)}),") print(f"{indent}hs_SetCI({next(buf)}, {next(buf)}, {next(buf)})")
elif op == 0x03: elif op == 0x03:
indent = indent[4:] indent = indent[4:]
print(f"{indent}he_Restart,") print(f"{indent}hs_Restart")
elif op == 0x04: elif op == 0x04:
print(f"{indent}he_Loop,") print(f"{indent}hs_Loop")
indent = indent + " " indent = indent + " "
elif op == 0x05: elif op == 0x05:
print(f"{indent}he_SetTileSize({fmt_size(next(buf))}),") print(f"{indent}hs_SetTileSize({fmt_size(next(buf))})")
elif op == 0x06: elif op == 0x06:
print(f"{indent}he_SetSizesAutoScale({fmt_size(next(buf))}, {fmt_size(next(buf))}),") print(f"{indent}hs_SetSizesAutoScale({fmt_size(next(buf))}, {fmt_size(next(buf))})")
elif op == 0x07: elif op == 0x07:
print(f"{indent}he_SetSizesFixedScale({fmt_size(next(buf))}, {fmt_size(next(buf))}),") print(f"{indent}hs_SetSizesFixedScale({fmt_size(next(buf))}, {fmt_size(next(buf))})")
elif op == 0x08: elif op == 0x08:
print(f"{indent}he_SetVisible,") print(f"{indent}hs_SetVisible")
elif op == 0x09: elif op == 0x09:
print(f"{indent}he_SetHidden,") print(f"{indent}hs_SetHidden")
elif op == 0x0A: elif op == 0x0A:
print(f"{indent}he_AddTexelOffsetX({next(buf)}),") print(f"{indent}hs_AddTexelOffsetX({next(buf)})")
elif op == 0x0B: elif op == 0x0B:
print(f"{indent}he_AddTexelOffsetY({next(buf)}),") print(f"{indent}hs_AddTexelOffsetY({next(buf)})")
elif op == 0x0C: elif op == 0x0C:
print(f"{indent}he_SetTexelOffset({next(buf)}, {next(buf)}),") print(f"{indent}hs_SetTexelOffset({next(buf)}, {next(buf)})")
elif op == 0x0D: elif op == 0x0D:
print(f"{indent}he_SetImage({next(buf)}, {next(buf)}, {next(buf)}, {next(buf)}, {next(buf)}),") print(f"{indent}hs_SetIcon({next(buf)}, {next(buf)}, {next(buf)}, {next(buf)}, {next(buf)})")
elif op == 0x0E: elif op == 0x0E:
print(f"{indent}he_SetScale({next(buf)}),") print(f"{indent}hs_SetScale({next(buf)})")
elif op == 0x0F: elif op == 0x0F:
print(f"{indent}he_SetAlpha({next(buf)}),") print(f"{indent}hs_SetAlpha({next(buf)})")
elif op == 0x10: elif op == 0x10:
print(f"{indent}he_RandomDelay({next(buf)}, {next(buf)}),") print(f"{indent}hs_RandomDelay({next(buf)}, {next(buf)})")
elif op == 0x11: elif op == 0x11:
print(f"{indent}he_Delete,") print(f"{indent}hs_Delete")
elif op == 0x12: elif op == 0x12:
print(f"{indent}he_UseIA8,") print(f"{indent}hs_UseIA8")
elif op == 0x13: elif op == 0x13:
print(f"{indent}he_SetCustomSize({next(buf)}, {next(buf)}),") print(f"{indent}hs_SetCustomSize({next(buf)}, {next(buf)})")
elif op == 0x14: elif op == 0x14:
print(f"{indent}he_RandomRestart({next(buf)}, {next(buf)}),") print(f"{indent}hs_RandomRestart({next(buf)}, {next(buf)})")
elif op == 0x15: elif op == 0x15:
print(f"{indent}he_op_15({next(buf)}),") print(f"{indent}hs_op_15({next(buf)})")
elif op == 0x17: elif op == 0x17:
count = next(buf) count = next(buf)
args = [] args = []
for i in range(count): for i in range(count):
args.append(next(buf)) args.append(next(buf))
print(f"{indent}he_RandomBranch({', '.join(args)}),") print(f"{indent}hs_RandomBranch({', '.join(args)})")
elif op == 0x18: elif op == 0x18:
print(f"{indent}he_SetFlags({next(buf)}),") print(f"{indent}hs_SetFlags({next(buf)})")
elif op == 0x19: elif op == 0x19:
print(f"{indent}he_ClearFlags({next(buf)}),") print(f"{indent}hs_ClearFlags({next(buf)})")
elif op == 0x1A: elif op == 0x1A:
print(f"{indent}he_PlaySound({next(buf)}),") print(f"{indent}hs_PlaySound({next(buf)})")
elif op == 0x1B: elif op == 0x1B:
print(f"{indent}he_SetPivot({next(buf)}),") print(f"{indent}hs_SetPivot({next(buf)})")
else: else:
print(f"{indent}{op},") print(f"{indent}{op},")

View File

@ -14,8 +14,8 @@ glabel func_80036A70
/* 11E94 80036A94 AE400000 */ sw $zero, ($s2) /* 11E94 80036A94 AE400000 */ sw $zero, ($s2)
/* 11E98 80036A98 3C01800A */ lui $at, %hi(D_8009A5B8) /* 11E98 80036A98 3C01800A */ lui $at, %hi(D_8009A5B8)
/* 11E9C 80036A9C AC20A5B8 */ sw $zero, %lo(D_8009A5B8)($at) /* 11E9C 80036A9C AC20A5B8 */ sw $zero, %lo(D_8009A5B8)($at)
/* 11EA0 80036AA0 3C018015 */ lui $at, %hi(D_801512F8) /* 11EA0 80036AA0 3C018015 */ lui $at, %hi(ItemEntitiesCreated)
/* 11EA4 80036AA4 A02212F8 */ sb $v0, %lo(D_801512F8)($at) /* 11EA4 80036AA4 A02212F8 */ sb $v0, %lo(ItemEntitiesCreated)($at)
/* 11EA8 80036AA8 0C00AAF0 */ jal func_8002ABC0 /* 11EA8 80036AA8 0C00AAF0 */ jal func_8002ABC0
/* 11EAC 80036AAC 00000000 */ nop /* 11EAC 80036AAC 00000000 */ nop
/* 11EB0 80036AB0 0C04A221 */ jal func_80128884 /* 11EB0 80036AB0 0C04A221 */ jal func_80128884

View File

@ -233,7 +233,7 @@ D_8009E76D = 0x8009E76D;
D_8009E76F = 0x8009E76F; D_8009E76F = 0x8009E76F;
D_80098318 = 0x80098318; D_80098318 = 0x80098318;
D_8009E760 = 0x8009E760; D_8009E760 = 0x8009E760;
D_801512F8 = 0x801512F8; ItemEntitiesCreated = 0x801512F8;
D_80098370 = 0x80098370; D_80098370 = 0x80098370;
D_8009E784 = 0x8009E784; D_8009E784 = 0x8009E784;
D_8009E788 = 0x8009E788; D_8009E788 = 0x8009E788;

View File

@ -52,8 +52,8 @@ glabel make_item_entity
/* C7B74 80131474 2402FFFF */ addiu $v0, $zero, -1 /* C7B74 80131474 2402FFFF */ addiu $v0, $zero, -1
.L80131478_C7B78: .L80131478_C7B78:
/* C7B78 80131478 0000182D */ daddu $v1, $zero, $zero /* C7B78 80131478 0000182D */ daddu $v1, $zero, $zero
/* C7B7C 8013147C 3C048015 */ lui $a0, %hi(D_801565A0) /* C7B7C 8013147C 3C048015 */ lui $a0, %hi(gCurrentItemEntities)
/* C7B80 80131480 8C8465A0 */ lw $a0, %lo(D_801565A0)($a0) /* C7B80 80131480 8C8465A0 */ lw $a0, %lo(gCurrentItemEntities)($a0)
.L80131484: .L80131484:
/* C7B84 80131484 8C820000 */ lw $v0, ($a0) /* C7B84 80131484 8C820000 */ lw $v0, ($a0)
/* C7B88 80131488 10400006 */ beqz $v0, .L801314A4 /* C7B88 80131488 10400006 */ beqz $v0, .L801314A4
@ -73,10 +73,10 @@ glabel make_item_entity
/* C7BB4 801314B4 0C00AB39 */ jal heap_malloc /* C7BB4 801314B4 0C00AB39 */ jal heap_malloc
/* C7BB8 801314B8 0060A02D */ daddu $s4, $v1, $zero /* C7BB8 801314B8 0060A02D */ daddu $s4, $v1, $zero
/* C7BBC 801314BC 00142080 */ sll $a0, $s4, 2 /* C7BBC 801314BC 00142080 */ sll $a0, $s4, 2
/* C7BC0 801314C0 3C038015 */ lui $v1, %hi(D_801565A0) /* C7BC0 801314C0 3C038015 */ lui $v1, %hi(gCurrentItemEntities)
/* C7BC4 801314C4 8C6365A0 */ lw $v1, %lo(D_801565A0)($v1) /* C7BC4 801314C4 8C6365A0 */ lw $v1, %lo(gCurrentItemEntities)($v1)
/* C7BC8 801314C8 3C058015 */ lui $a1, %hi(D_801512F8) /* C7BC8 801314C8 3C058015 */ lui $a1, %hi(ItemEntitiesCreated)
/* C7BCC 801314CC 24A512F8 */ addiu $a1, $a1, %lo(D_801512F8) /* C7BCC 801314CC 24A512F8 */ addiu $a1, $a1, %lo(ItemEntitiesCreated)
/* C7BD0 801314D0 00832021 */ addu $a0, $a0, $v1 /* C7BD0 801314D0 00832021 */ addu $a0, $a0, $v1
/* C7BD4 801314D4 8CA30000 */ lw $v1, ($a1) /* C7BD4 801314D4 8CA30000 */ lw $v1, ($a1)
/* C7BD8 801314D8 0040802D */ daddu $s0, $v0, $zero /* C7BD8 801314D8 0040802D */ daddu $s0, $v0, $zero
@ -144,8 +144,8 @@ glabel make_item_entity
/* C7CC4 801315C4 00431024 */ and $v0, $v0, $v1 /* C7CC4 801315C4 00431024 */ and $v0, $v0, $v1
/* C7CC8 801315C8 AE020000 */ sw $v0, ($s0) /* C7CC8 801315C8 AE020000 */ sw $v0, ($s0)
.L801315CC: .L801315CC:
/* C7CCC 801315CC 3C048015 */ lui $a0, %hi(D_80155D84) /* C7CCC 801315CC 3C048015 */ lui $a0, %hi(ItemEntityAlternatingSpawn)
/* C7CD0 801315D0 24845D84 */ addiu $a0, $a0, %lo(D_80155D84) /* C7CD0 801315D0 24845D84 */ addiu $a0, $a0, %lo(ItemEntityAlternatingSpawn)
/* C7CD4 801315D4 8C820000 */ lw $v0, ($a0) /* C7CD4 801315D4 8C820000 */ lw $v0, ($a0)
/* C7CD8 801315D8 10400005 */ beqz $v0, .L801315F0 /* C7CD8 801315D8 10400005 */ beqz $v0, .L801315F0
/* C7CDC 801315DC 3C030002 */ lui $v1, 2 /* C7CDC 801315DC 3C030002 */ lui $v1, 2

View File

@ -1,195 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel make_item_entity_at_player
/* C8200 80131B00 27BDFFB8 */ addiu $sp, $sp, -0x48
/* C8204 80131B04 AFB00028 */ sw $s0, 0x28($sp)
/* C8208 80131B08 0080802D */ daddu $s0, $a0, $zero
/* C820C 80131B0C AFB30034 */ sw $s3, 0x34($sp)
/* C8210 80131B10 00A0982D */ daddu $s3, $a1, $zero
/* C8214 80131B14 AFB40038 */ sw $s4, 0x38($sp)
/* C8218 80131B18 00C0A02D */ daddu $s4, $a2, $zero
/* C821C 80131B1C AFB20030 */ sw $s2, 0x30($sp)
/* C8220 80131B20 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* C8224 80131B24 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* C8228 80131B28 3C048015 */ lui $a0, %hi(D_801565A0)
/* C822C 80131B2C 8C8465A0 */ lw $a0, %lo(D_801565A0)($a0)
/* C8230 80131B30 0000182D */ daddu $v1, $zero, $zero
/* C8234 80131B34 AFBF0040 */ sw $ra, 0x40($sp)
/* C8238 80131B38 AFB5003C */ sw $s5, 0x3c($sp)
/* C823C 80131B3C AFB1002C */ sw $s1, 0x2c($sp)
.L80131B40:
/* C8240 80131B40 8C820000 */ lw $v0, ($a0)
/* C8244 80131B44 10400006 */ beqz $v0, .L80131B60
/* C8248 80131B48 28620100 */ slti $v0, $v1, 0x100
/* C824C 80131B4C 24630001 */ addiu $v1, $v1, 1
/* C8250 80131B50 28620100 */ slti $v0, $v1, 0x100
/* C8254 80131B54 1440FFFA */ bnez $v0, .L80131B40
/* C8258 80131B58 24840004 */ addiu $a0, $a0, 4
/* C825C 80131B5C 28620100 */ slti $v0, $v1, 0x100
.L80131B60:
/* C8260 80131B60 54400003 */ bnel $v0, $zero, .L80131B70
/* C8264 80131B64 2404005C */ addiu $a0, $zero, 0x5c
.L80131B68:
/* C8268 80131B68 0804C6DA */ j .L80131B68
/* C826C 80131B6C 00000000 */ nop
.L80131B70:
/* C8270 80131B70 0C00AB39 */ jal heap_malloc
/* C8274 80131B74 0060A82D */ daddu $s5, $v1, $zero
/* C8278 80131B78 00152080 */ sll $a0, $s5, 2
/* C827C 80131B7C 3C038015 */ lui $v1, %hi(D_801565A0)
/* C8280 80131B80 8C6365A0 */ lw $v1, %lo(D_801565A0)($v1)
/* C8284 80131B84 3C058015 */ lui $a1, %hi(D_801512F8)
/* C8288 80131B88 24A512F8 */ addiu $a1, $a1, %lo(D_801512F8)
/* C828C 80131B8C 00832021 */ addu $a0, $a0, $v1
/* C8290 80131B90 8CA30000 */ lw $v1, ($a1)
/* C8294 80131B94 0040882D */ daddu $s1, $v0, $zero
/* C8298 80131B98 AC910000 */ sw $s1, ($a0)
/* C829C 80131B9C 24630001 */ addiu $v1, $v1, 1
/* C82A0 80131BA0 16200003 */ bnez $s1, .L80131BB0
/* C82A4 80131BA4 ACA30000 */ sw $v1, ($a1)
.L80131BA8:
/* C82A8 80131BA8 0804C6EA */ j .L80131BA8
/* C82AC 80131BAC 00000000 */ nop
.L80131BB0:
/* C82B0 80131BB0 3210FFFF */ andi $s0, $s0, 0xffff
/* C82B4 80131BB4 3C030200 */ lui $v1, 0x200
/* C82B8 80131BB8 34630017 */ ori $v1, $v1, 0x17
/* C82BC 80131BBC 2402FFFF */ addiu $v0, $zero, -1
/* C82C0 80131BC0 A222001D */ sb $v0, 0x1d($s1)
/* C82C4 80131BC4 12600004 */ beqz $s3, .L80131BD8
/* C82C8 80131BC8 AE230000 */ sw $v1, ($s1)
/* C82CC 80131BCC 3C020600 */ lui $v0, 0x600
/* C82D0 80131BD0 34420017 */ ori $v0, $v0, 0x17
/* C82D4 80131BD4 AE220000 */ sw $v0, ($s1)
.L80131BD8:
/* C82D8 80131BD8 2402001C */ addiu $v0, $zero, 0x1c
/* C82DC 80131BDC A6340006 */ sh $s4, 6($s1)
/* C82E0 80131BE0 A222001B */ sb $v0, 0x1b($s1)
/* C82E4 80131BE4 A220001A */ sb $zero, 0x1a($s1)
/* C82E8 80131BE8 A6200004 */ sh $zero, 4($s1)
/* C82EC 80131BEC C6400028 */ lwc1 $f0, 0x28($s2)
/* C82F0 80131BF0 8E230000 */ lw $v1, ($s1)
/* C82F4 80131BF4 E6200008 */ swc1 $f0, 8($s1)
/* C82F8 80131BF8 C640002C */ lwc1 $f0, 0x2c($s2)
/* C82FC 80131BFC 2402FFFF */ addiu $v0, $zero, -1
/* C8300 80131C00 E620000C */ swc1 $f0, 0xc($s1)
/* C8304 80131C04 C6420030 */ lwc1 $f2, 0x30($s2)
/* C8308 80131C08 3C013F80 */ lui $at, 0x3f80
/* C830C 80131C0C 44810000 */ mtc1 $at, $f0
/* C8310 80131C10 34634000 */ ori $v1, $v1, 0x4000
/* C8314 80131C14 A6220020 */ sh $v0, 0x20($s1)
/* C8318 80131C18 24020001 */ addiu $v0, $zero, 1
/* C831C 80131C1C A222002E */ sb $v0, 0x2e($s1)
/* C8320 80131C20 2402D8F1 */ addiu $v0, $zero, -0x270f
/* C8324 80131C24 A6220034 */ sh $v0, 0x34($s1)
/* C8328 80131C28 A6220036 */ sh $v0, 0x36($s1)
/* C832C 80131C2C A6220038 */ sh $v0, 0x38($s1)
/* C8330 80131C30 00101140 */ sll $v0, $s0, 5
/* C8334 80131C34 A6300018 */ sh $s0, 0x18($s1)
/* C8338 80131C38 AE200014 */ sw $zero, 0x14($s1)
/* C833C 80131C3C A220001C */ sb $zero, 0x1c($s1)
/* C8340 80131C40 A620001E */ sh $zero, 0x1e($s1)
/* C8344 80131C44 AE230000 */ sw $v1, ($s1)
/* C8348 80131C48 E6200030 */ swc1 $f0, 0x30($s1)
/* C834C 80131C4C E6220010 */ swc1 $f2, 0x10($s1)
/* C8350 80131C50 3C018008 */ lui $at, %hi(gItemTable+0x18)
/* C8354 80131C54 00220821 */ addu $at, $at, $v0
/* C8358 80131C58 942278F8 */ lhu $v0, %lo(gItemTable+0x18)($at)
/* C835C 80131C5C 30421000 */ andi $v0, $v0, 0x1000
/* C8360 80131C60 10400005 */ beqz $v0, .L80131C78
/* C8364 80131C64 3C020004 */ lui $v0, 4
/* C8368 80131C68 00621025 */ or $v0, $v1, $v0
/* C836C 80131C6C 2403BFFF */ addiu $v1, $zero, -0x4001
/* C8370 80131C70 00431024 */ and $v0, $v0, $v1
/* C8374 80131C74 AE220000 */ sw $v0, ($s1)
.L80131C78:
/* C8378 80131C78 3C088015 */ lui $t0, %hi(D_80155D84)
/* C837C 80131C7C 25085D84 */ addiu $t0, $t0, %lo(D_80155D84)
/* C8380 80131C80 8D020000 */ lw $v0, ($t0)
/* C8384 80131C84 10400004 */ beqz $v0, .L80131C98
/* C8388 80131C88 3C030002 */ lui $v1, 2
/* C838C 80131C8C 8E220000 */ lw $v0, ($s1)
/* C8390 80131C90 00431025 */ or $v0, $v0, $v1
/* C8394 80131C94 AE220000 */ sw $v0, ($s1)
.L80131C98:
/* C8398 80131C98 0000202D */ daddu $a0, $zero, $zero
/* C839C 80131C9C 24020001 */ addiu $v0, $zero, 1
/* C83A0 80131CA0 8E250008 */ lw $a1, 8($s1)
/* C83A4 80131CA4 8E26000C */ lw $a2, 0xc($s1)
/* C83A8 80131CA8 8D030000 */ lw $v1, ($t0)
/* C83AC 80131CAC 8E270010 */ lw $a3, 0x10($s1)
/* C83B0 80131CB0 00431023 */ subu $v0, $v0, $v1
/* C83B4 80131CB4 0C044898 */ jal create_shadow_type
/* C83B8 80131CB8 AD020000 */ sw $v0, ($t0)
/* C83BC 80131CBC 00022400 */ sll $a0, $v0, 0x10
/* C83C0 80131CC0 00042403 */ sra $a0, $a0, 0x10
/* C83C4 80131CC4 0C044181 */ jal get_shadow_by_index
/* C83C8 80131CC8 A6220020 */ sh $v0, 0x20($s1)
/* C83CC 80131CCC 3C040002 */ lui $a0, 2
/* C83D0 80131CD0 27A50018 */ addiu $a1, $sp, 0x18
/* C83D4 80131CD4 27A6001C */ addiu $a2, $sp, 0x1c
/* C83D8 80131CD8 27A70020 */ addiu $a3, $sp, 0x20
/* C83DC 80131CDC 0040802D */ daddu $s0, $v0, $zero
/* C83E0 80131CE0 8E020000 */ lw $v0, ($s0)
/* C83E4 80131CE4 3C01447A */ lui $at, 0x447a
/* C83E8 80131CE8 44810000 */ mtc1 $at, $f0
/* C83EC 80131CEC 3C014140 */ lui $at, 0x4140
/* C83F0 80131CF0 44811000 */ mtc1 $at, $f2
/* C83F4 80131CF4 34420001 */ ori $v0, $v0, 1
/* C83F8 80131CF8 AE020000 */ sw $v0, ($s0)
/* C83FC 80131CFC 27A20024 */ addiu $v0, $sp, 0x24
/* C8400 80131D00 E7A00024 */ swc1 $f0, 0x24($sp)
/* C8404 80131D04 C6260008 */ lwc1 $f6, 8($s1)
/* C8408 80131D08 C620000C */ lwc1 $f0, 0xc($s1)
/* C840C 80131D0C C6240010 */ lwc1 $f4, 0x10($s1)
/* C8410 80131D10 46020000 */ add.s $f0, $f0, $f2
/* C8414 80131D14 E7A60018 */ swc1 $f6, 0x18($sp)
/* C8418 80131D18 E7A40020 */ swc1 $f4, 0x20($sp)
/* C841C 80131D1C E7A0001C */ swc1 $f0, 0x1c($sp)
/* C8420 80131D20 0C0372DF */ jal npc_raycast_down_sides
/* C8424 80131D24 AFA20010 */ sw $v0, 0x10($sp)
/* C8428 80131D28 C7A00018 */ lwc1 $f0, 0x18($sp)
/* C842C 80131D2C C7A2001C */ lwc1 $f2, 0x1c($sp)
/* C8430 80131D30 C7A40020 */ lwc1 $f4, 0x20($sp)
/* C8434 80131D34 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* C8438 80131D38 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* C843C 80131D3C E6000010 */ swc1 $f0, 0x10($s0)
/* C8440 80131D40 E6020014 */ swc1 $f2, 0x14($s0)
/* C8444 80131D44 E6040018 */ swc1 $f4, 0x18($s0)
/* C8448 80131D48 C7A20024 */ lwc1 $f2, 0x24($sp)
/* C844C 80131D4C 3C013F00 */ lui $at, 0x3f00
/* C8450 80131D50 44810000 */ mtc1 $at, $f0
/* C8454 80131D54 C444011C */ lwc1 $f4, 0x11c($v0)
/* C8458 80131D58 46001082 */ mul.s $f2, $f2, $f0
/* C845C 80131D5C 00000000 */ nop
/* C8460 80131D60 AE00002C */ sw $zero, 0x2c($s0)
/* C8464 80131D64 E6040028 */ swc1 $f4, 0x28($s0)
/* C8468 80131D68 C4400124 */ lwc1 $f0, 0x124($v0)
/* C846C 80131D6C 44051000 */ mfc1 $a1, $f2
/* C8470 80131D70 0200202D */ daddu $a0, $s0, $zero
/* C8474 80131D74 0C044A17 */ jal set_standard_shadow_scale
/* C8478 80131D78 E4800030 */ swc1 $f0, 0x30($a0)
/* C847C 80131D7C 0C04C44A */ jal item_entity_load
/* C8480 80131D80 0220202D */ daddu $a0, $s1, $zero
/* C8484 80131D84 86230018 */ lh $v1, 0x18($s1)
/* C8488 80131D88 24020157 */ addiu $v0, $zero, 0x157
/* C848C 80131D8C 14620008 */ bne $v1, $v0, .L80131DB0
/* C8490 80131D90 02A0102D */ daddu $v0, $s5, $zero
/* C8494 80131D94 3C058010 */ lui $a1, %hi(SparkleScript_Coin)
/* C8498 80131D98 24A54AC0 */ addiu $a1, $a1, %lo(SparkleScript_Coin)
/* C849C 80131D9C 0C04C27C */ jal sparkle_script_init
/* C84A0 80131DA0 0220202D */ daddu $a0, $s1, $zero
/* C84A4 80131DA4 0C04C2B3 */ jal sparkle_script_update
/* C84A8 80131DA8 0220202D */ daddu $a0, $s1, $zero
/* C84AC 80131DAC 02A0102D */ daddu $v0, $s5, $zero
.L80131DB0:
/* C84B0 80131DB0 8FBF0040 */ lw $ra, 0x40($sp)
/* C84B4 80131DB4 8FB5003C */ lw $s5, 0x3c($sp)
/* C84B8 80131DB8 8FB40038 */ lw $s4, 0x38($sp)
/* C84BC 80131DBC 8FB30034 */ lw $s3, 0x34($sp)
/* C84C0 80131DC0 8FB20030 */ lw $s2, 0x30($sp)
/* C84C4 80131DC4 8FB1002C */ lw $s1, 0x2c($sp)
/* C84C8 80131DC8 8FB00028 */ lw $s0, 0x28($sp)
/* C84CC 80131DCC 03E00008 */ jr $ra
/* C84D0 80131DD0 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -24,8 +24,8 @@ glabel render_item_entities
/* C95A0 80132EA0 AFB00120 */ sw $s0, 0x120($sp) /* C95A0 80132EA0 AFB00120 */ sw $s0, 0x120($sp)
/* C95A4 80132EA4 F7B40148 */ sdc1 $f20, 0x148($sp) /* C95A4 80132EA4 F7B40148 */ sdc1 $f20, 0x148($sp)
.L80132EA8: .L80132EA8:
/* C95A8 80132EA8 3C038015 */ lui $v1, %hi(D_801565A0) /* C95A8 80132EA8 3C038015 */ lui $v1, %hi(gCurrentItemEntities)
/* C95AC 80132EAC 8C6365A0 */ lw $v1, %lo(D_801565A0)($v1) /* C95AC 80132EAC 8C6365A0 */ lw $v1, %lo(gCurrentItemEntities)($v1)
/* C95B0 80132EB0 00161080 */ sll $v0, $s6, 2 /* C95B0 80132EB0 00161080 */ sll $v0, $s6, 2
/* C95B4 80132EB4 00431021 */ addu $v0, $v0, $v1 /* C95B4 80132EB4 00431021 */ addu $v0, $v0, $v1
/* C95B8 80132EB8 8C520000 */ lw $s2, ($v0) /* C95B8 80132EB8 8C520000 */ lw $s2, ($v0)

View File

@ -58,8 +58,8 @@ glabel test_item_player_collision
/* CA2D8 80133BD8 00621024 */ and $v0, $v1, $v0 /* CA2D8 80133BD8 00621024 */ and $v0, $v1, $v0
/* CA2DC 80133BDC 144000EC */ bnez $v0, .L80133F90 /* CA2DC 80133BDC 144000EC */ bnez $v0, .L80133F90
/* CA2E0 80133BE0 0000102D */ daddu $v0, $zero, $zero /* CA2E0 80133BE0 0000102D */ daddu $v0, $zero, $zero
/* CA2E4 80133BE4 3C028015 */ lui $v0, %hi(D_801565A4) /* CA2E4 80133BE4 3C028015 */ lui $v0, %hi(isPickingUpItem)
/* CA2E8 80133BE8 844265A4 */ lh $v0, %lo(D_801565A4)($v0) /* CA2E8 80133BE8 844265A4 */ lh $v0, %lo(isPickingUpItem)($v0)
/* CA2EC 80133BEC 144000E8 */ bnez $v0, .L80133F90 /* CA2EC 80133BEC 144000E8 */ bnez $v0, .L80133F90
/* CA2F0 80133BF0 0000102D */ daddu $v0, $zero, $zero /* CA2F0 80133BF0 0000102D */ daddu $v0, $zero, $zero
/* CA2F4 80133BF4 30620040 */ andi $v0, $v1, 0x40 /* CA2F4 80133BF4 30620040 */ andi $v0, $v1, 0x40

View File

@ -9,8 +9,8 @@ dlabel D_80150E18
.section .text .section .text
glabel update_item_entity_collectable glabel update_item_entity_collectable
/* CA950 80134250 3C028015 */ lui $v0, %hi(D_801565A4) /* CA950 80134250 3C028015 */ lui $v0, %hi(isPickingUpItem)
/* CA954 80134254 844265A4 */ lh $v0, %lo(D_801565A4)($v0) /* CA954 80134254 844265A4 */ lh $v0, %lo(isPickingUpItem)($v0)
/* CA958 80134258 27BDFFA0 */ addiu $sp, $sp, -0x60 /* CA958 80134258 27BDFFA0 */ addiu $sp, $sp, -0x60
/* CA95C 8013425C AFB20038 */ sw $s2, 0x38($sp) /* CA95C 8013425C AFB20038 */ sw $s2, 0x38($sp)
/* CA960 80134260 AFB40040 */ sw $s4, 0x40($sp) /* CA960 80134260 AFB40040 */ sw $s4, 0x40($sp)
@ -1314,8 +1314,8 @@ glabel update_item_entity_collectable
.L80135538: .L80135538:
/* CBC38 80135538 1462000D */ bne $v1, $v0, .L80135570 /* CBC38 80135538 1462000D */ bne $v1, $v0, .L80135570
/* CBC3C 8013553C 24020001 */ addiu $v0, $zero, 1 /* CBC3C 8013553C 24020001 */ addiu $v0, $zero, 1
/* CBC40 80135540 3C018015 */ lui $at, %hi(D_801565A4) /* CBC40 80135540 3C018015 */ lui $at, %hi(isPickingUpItem)
/* CBC44 80135544 A42265A4 */ sh $v0, %lo(D_801565A4)($at) /* CBC44 80135544 A42265A4 */ sh $v0, %lo(isPickingUpItem)($at)
/* CBC48 80135548 2402001C */ addiu $v0, $zero, 0x1c /* CBC48 80135548 2402001C */ addiu $v0, $zero, 0x1c
/* CBC4C 8013554C 3C03800A */ lui $v1, %hi(gOverrideFlags) /* CBC4C 8013554C 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* CBC50 80135550 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags) /* CBC50 80135550 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)

View File

@ -29,8 +29,8 @@ glabel update_item_entity_temp
/* CBE20 80135720 24120001 */ addiu $s2, $zero, 1 /* CBE20 80135720 24120001 */ addiu $s2, $zero, 1
/* CBE24 80135724 8E220000 */ lw $v0, ($s1) /* CBE24 80135724 8E220000 */ lw $v0, ($s1)
/* CBE28 80135728 3C030200 */ lui $v1, 0x200 /* CBE28 80135728 3C030200 */ lui $v1, 0x200
/* CBE2C 8013572C 3C018015 */ lui $at, %hi(D_801565A4) /* CBE2C 8013572C 3C018015 */ lui $at, %hi(isPickingUpItem)
/* CBE30 80135730 A43265A4 */ sh $s2, %lo(D_801565A4)($at) /* CBE30 80135730 A43265A4 */ sh $s2, %lo(isPickingUpItem)($at)
/* CBE34 80135734 00431024 */ and $v0, $v0, $v1 /* CBE34 80135734 00431024 */ and $v0, $v0, $v1
/* CBE38 80135738 1440000C */ bnez $v0, .L8013576C /* CBE38 80135738 1440000C */ bnez $v0, .L8013576C
/* CBE3C 8013573C 00000000 */ nop /* CBE3C 8013573C 00000000 */ nop
@ -616,8 +616,8 @@ glabel update_item_entity_temp
/* CC680 80135F80 24020001 */ addiu $v0, $zero, 1 /* CC680 80135F80 24020001 */ addiu $v0, $zero, 1
/* CC684 80135F84 146200FD */ bne $v1, $v0, .L8013637C_CCA7C /* CC684 80135F84 146200FD */ bne $v1, $v0, .L8013637C_CCA7C
/* CC688 80135F88 00000000 */ nop /* CC688 80135F88 00000000 */ nop
/* CC68C 80135F8C 3C018015 */ lui $at, %hi(D_801565A4) /* CC68C 80135F8C 3C018015 */ lui $at, %hi(isPickingUpItem)
/* CC690 80135F90 A42065A4 */ sh $zero, %lo(D_801565A4)($at) /* CC690 80135F90 A42065A4 */ sh $zero, %lo(isPickingUpItem)($at)
.L80135F94_CC694: .L80135F94_CC694:
/* CC694 80135F94 8E220000 */ lw $v0, ($s1) /* CC694 80135F94 8E220000 */ lw $v0, ($s1)
/* CC698 80135F98 3C030200 */ lui $v1, 0x200 /* CC698 80135F98 3C030200 */ lui $v1, 0x200
@ -880,8 +880,8 @@ glabel update_item_entity_temp
/* CCA68 80136368 00000000 */ nop /* CCA68 80136368 00000000 */ nop
/* CCA6C 8013636C 0C03A6CC */ jal decrement_status_menu_disabled /* CCA6C 8013636C 0C03A6CC */ jal decrement_status_menu_disabled
/* CCA70 80136370 00000000 */ nop /* CCA70 80136370 00000000 */ nop
/* CCA74 80136374 3C018015 */ lui $at, %hi(D_801565A4) /* CCA74 80136374 3C018015 */ lui $at, %hi(isPickingUpItem)
/* CCA78 80136378 A42065A4 */ sh $zero, %lo(D_801565A4)($at) /* CCA78 80136378 A42065A4 */ sh $zero, %lo(isPickingUpItem)($at)
.L8013637C_CCA7C: .L8013637C_CCA7C:
/* CCA7C 8013637C 8FBF0038 */ lw $ra, 0x38($sp) /* CCA7C 8013637C 8FBF0038 */ lw $ra, 0x38($sp)
/* CCA80 80136380 8FB50034 */ lw $s5, 0x34($sp) /* CCA80 80136380 8FB50034 */ lw $s5, 0x34($sp)

View File

@ -95,8 +95,8 @@ glabel func_802406C8_8EC4E8
.L8024080C: .L8024080C:
/* 8EC62C 8024080C 1260001A */ beqz $s3, .L80240878 /* 8EC62C 8024080C 1260001A */ beqz $s3, .L80240878
/* 8EC630 80240810 0240802D */ daddu $s0, $s2, $zero /* 8EC630 80240810 0240802D */ daddu $s0, $s2, $zero
/* 8EC634 80240814 3C028008 */ lui $v0, %hi(HudScript_Item_ITEM_08B) /* 8EC634 80240814 3C028008 */ lui $v0, %hi(HudScript_Item_Unused_08B)
/* 8EC638 80240818 244222F8 */ addiu $v0, $v0, %lo(HudScript_Item_ITEM_08B) /* 8EC638 80240818 244222F8 */ addiu $v0, $v0, %lo(HudScript_Item_Unused_08B)
/* 8EC63C 8024081C AE220000 */ sw $v0, ($s1) /* 8EC63C 8024081C AE220000 */ sw $v0, ($s1)
/* 8EC640 80240820 AE320108 */ sw $s2, 0x108($s1) /* 8EC640 80240820 AE320108 */ sw $s2, 0x108($s1)
/* 8EC644 80240824 AE3E018C */ sw $fp, 0x18c($s1) /* 8EC644 80240824 AE3E018C */ sw $fp, 0x18c($s1)
@ -115,8 +115,8 @@ glabel func_802406C8_8EC4E8
/* 8EC674 80240854 00508024 */ and $s0, $v0, $s0 /* 8EC674 80240854 00508024 */ and $s0, $v0, $s0
/* 8EC678 80240858 12000005 */ beqz $s0, .L80240870 /* 8EC678 80240858 12000005 */ beqz $s0, .L80240870
/* 8EC67C 8024085C AE200210 */ sw $zero, 0x210($s1) /* 8EC67C 8024085C AE200210 */ sw $zero, 0x210($s1)
/* 8EC680 80240860 3C028008 */ lui $v0, %hi(HudScript_Item_ITEM_08B_disabled) /* 8EC680 80240860 3C028008 */ lui $v0, %hi(HudScript_Item_Unused_08B_disabled)
/* 8EC684 80240864 24422328 */ addiu $v0, $v0, %lo(HudScript_Item_ITEM_08B_disabled) /* 8EC684 80240864 24422328 */ addiu $v0, $v0, %lo(HudScript_Item_Unused_08B_disabled)
/* 8EC688 80240868 AE3E0210 */ sw $fp, 0x210($s1) /* 8EC688 80240868 AE3E0210 */ sw $fp, 0x210($s1)
/* 8EC68C 8024086C AE220000 */ sw $v0, ($s1) /* 8EC68C 8024086C AE220000 */ sw $v0, ($s1)
.L80240870: .L80240870:

View File

@ -30,8 +30,8 @@ glabel func_80240B54_8EC974
/* 8EC9D0 80240BB0 0000A82D */ daddu $s5, $zero, $zero /* 8EC9D0 80240BB0 0000A82D */ daddu $s5, $zero, $zero
/* 8EC9D4 80240BB4 02A0902D */ daddu $s2, $s5, $zero /* 8EC9D4 80240BB4 02A0902D */ daddu $s2, $s5, $zero
/* 8EC9D8 80240BB8 24160001 */ addiu $s6, $zero, 1 /* 8EC9D8 80240BB8 24160001 */ addiu $s6, $zero, 1
/* 8EC9DC 80240BBC 3C1E8008 */ lui $fp, %hi(HudScript_Item_ITEM_08C_disabled) /* 8EC9DC 80240BBC 3C1E8008 */ lui $fp, %hi(HudScript_Item_Unused_08C_disabled)
/* 8EC9E0 80240BC0 27DE2388 */ addiu $fp, $fp, %lo(HudScript_Item_ITEM_08C_disabled) /* 8EC9E0 80240BC0 27DE2388 */ addiu $fp, $fp, %lo(HudScript_Item_Unused_08C_disabled)
/* 8EC9E4 80240BC4 3C138024 */ lui $s3, %hi(D_80244FA0_8F0DC0) /* 8EC9E4 80240BC4 3C138024 */ lui $s3, %hi(D_80244FA0_8F0DC0)
/* 8EC9E8 80240BC8 26734FA0 */ addiu $s3, $s3, %lo(D_80244FA0_8F0DC0) /* 8EC9E8 80240BC8 26734FA0 */ addiu $s3, $s3, %lo(D_80244FA0_8F0DC0)
/* 8EC9EC 80240BCC 02E0882D */ daddu $s1, $s7, $zero /* 8EC9EC 80240BCC 02E0882D */ daddu $s1, $s7, $zero
@ -45,8 +45,8 @@ glabel func_80240B54_8EC974
/* 8ECA08 80240BE8 54400019 */ bnel $v0, $zero, .L80240C50 /* 8ECA08 80240BE8 54400019 */ bnel $v0, $zero, .L80240C50
/* 8ECA0C 80240BEC 26520001 */ addiu $s2, $s2, 1 /* 8ECA0C 80240BEC 26520001 */ addiu $s2, $s2, 1
/* 8ECA10 80240BF0 0240802D */ daddu $s0, $s2, $zero /* 8ECA10 80240BF0 0240802D */ daddu $s0, $s2, $zero
/* 8ECA14 80240BF4 3C068008 */ lui $a2, %hi(HudScript_Item_ITEM_08C) /* 8ECA14 80240BF4 3C068008 */ lui $a2, %hi(HudScript_Item_Unused_08C)
/* 8ECA18 80240BF8 24C62358 */ addiu $a2, $a2, %lo(HudScript_Item_ITEM_08C) /* 8ECA18 80240BF8 24C62358 */ addiu $a2, $a2, %lo(HudScript_Item_Unused_08C)
/* 8ECA1C 80240BFC AE260000 */ sw $a2, ($s1) /* 8ECA1C 80240BFC AE260000 */ sw $a2, ($s1)
/* 8ECA20 80240C00 AE320108 */ sw $s2, 0x108($s1) /* 8ECA20 80240C00 AE320108 */ sw $s2, 0x108($s1)
/* 8ECA24 80240C04 AE36018C */ sw $s6, 0x18c($s1) /* 8ECA24 80240C04 AE36018C */ sw $s6, 0x18c($s1)

View File

@ -11765,9 +11765,9 @@ segments:
- [0xFA08A0, bin, bgm/Bowser_s_Attacks_95] - [0xFA08A0, bin, bgm/Bowser_s_Attacks_95]
- [0xFA3C60, bin, bgm/End_Parade_1_90] - [0xFA3C60, bin, bgm/End_Parade_1_90]
- [0xFA85F0, bin, bgm/End_Parade_2_91] - [0xFA85F0, bin, bgm/End_Parade_2_91]
- [0xFABE90, bin, bgm/The_End_6E] - [0xFABE90, bin, bgm/Ths_End_6E]
- [0xFACC80, bin, bgm/Koopa_Radio_Station_2D] - [0xFACC80, bin, bgm/Koopa_Radio_Station_2D]
- [0xFAD210, bin, bgm/The_End_Low_Frequency__2E] - [0xFAD210, bin, bgm/Ths_End_Low_Frequency__2E]
- [0xFAD8F0, bin, bgm/SMW_Remix_2F] - [0xFAD8F0, bin, bgm/SMW_Remix_2F]
- [0xFADE70, bin, bgm/New_Partner_82] # BGM end - [0xFADE70, bin, bgm/New_Partner_82] # BGM end
- [0xFAE860, bin] # sfx - [0xFAE860, bin] # sfx

View File

@ -3148,7 +3148,7 @@ item_entity_update = 0x80131DD4; // type:func rom:0xC84D4
update_item_entities = 0x80131EEC; // type:func rom:0xC85EC update_item_entities = 0x80131EEC; // type:func rom:0xC85EC
appendGfx_item_entity = 0x801321A4; // type:func rom:0xC88A4 appendGfx_item_entity = 0x801321A4; // type:func rom:0xC88A4
draw_item_entities = 0x80132C80; // type:func rom:0xC9380 draw_item_entities = 0x80132C80; // type:func rom:0xC9380
func_80132D94 = 0x80132D94; // type:func rom:0xC9494 draw_item_entities_UI = 0x80132D94; // type:func rom:0xC9494
render_item_entities = 0x80132E54; // type:func rom:0xC9554 render_item_entities = 0x80132E54; // type:func rom:0xC9554
remove_item_entity_by_reference = 0x80133930; // type:func rom:0xCA030 remove_item_entity_by_reference = 0x80133930; // type:func rom:0xCA030
remove_item_entity_by_index = 0x801339FC; // type:func rom:0xCA0FC remove_item_entity_by_index = 0x801339FC; // type:func rom:0xCA0FC
@ -3160,8 +3160,8 @@ clear_item_entity_flags = 0x80134188; // type:func rom:0xCA888
func_801341B0 = 0x801341B0; // type:func rom:0xCA8B0 func_801341B0 = 0x801341B0; // type:func rom:0xCA8B0
is_picking_up_item = 0x801341E8; // type:func rom:0xCA8E8 is_picking_up_item = 0x801341E8; // type:func rom:0xCA8E8
set_item_entity_position = 0x8013420C; // type:func rom:0xCA90C set_item_entity_position = 0x8013420C; // type:func rom:0xCA90C
func_80134230 = 0x80134230; // type:func rom:0xCA930 set_current_item_entity_render_group = 0x80134230; // type:func rom:0xCA930
func_80134240 = 0x80134240; // type:func rom:0xCA940 get_current_item_entity_render_group = 0x80134240; // type:func rom:0xCA940
update_item_entity_collectable = 0x80134250; // type:func rom:0xCA950 update_item_entity_collectable = 0x80134250; // type:func rom:0xCA950
func_8013559C = 0x8013559C; // type:func rom:0xCBC9C func_8013559C = 0x8013559C; // type:func rom:0xCBC9C
update_item_entity_static = 0x80135658; // type:func rom:0xCBD58 update_item_entity_static = 0x80135658; // type:func rom:0xCBD58
@ -3509,7 +3509,7 @@ D_8014EE98 = 0x8014EE98; // type:data rom:0xE5598
fold_groupOffsets = 0x8014EF64; // type:data rom:0xE5664 fold_groupOffsets = 0x8014EF64; // type:data rom:0xE5664
gHudElementAuxCache = 0x8014EFC0; // type:data rom:0xE56C0 gHudElementAuxCache = 0x8014EFC0; // type:data rom:0xE56C0
gHudElementCacheCapacity = 0x8014EFC4; // type:data rom:0xE56C4 gHudElementCacheCapacity = 0x8014EFC4; // type:data rom:0xE56C4
hud_element_defaultAnim = 0x8014EFC8; // type:data rom:0xE56C8 HudScript_Empty = 0x8014EFC8; // type:data rom:0xE56C8
gHudElementSizes = 0x8014EFCC; // type:data rom:0xE56CC gHudElementSizes = 0x8014EFCC; // type:data rom:0xE56CC
D_8014F068 = 0x8014F068; // type:data rom:0xE5768 D_8014F068 = 0x8014F068; // type:data rom:0xE5768
gHudElementsDLBackUI = 0x8014F078; // type:data rom:0xE5778 gHudElementsDLBackUI = 0x8014F078; // type:data rom:0xE5778
@ -3691,7 +3691,7 @@ gCurrentCustomModelGfxPtr = 0x801512E8; // rom:0xE79E8
gLastCreatedEntityIndex = 0x801512EC; // rom:0xE79EC gLastCreatedEntityIndex = 0x801512EC; // rom:0xE79EC
D_801512F0 = 0x801512F0; // type:data rom:0xE79F0 D_801512F0 = 0x801512F0; // type:data rom:0xE79F0
gMsgVarImages = 0x801512F4; // type:data rom:0xE79F4 gMsgVarImages = 0x801512F4; // type:data rom:0xE79F4
D_801512F8 = 0x801512F8; // type:data rom:0xE79F8 ItemEntitiesCreated = 0x801512F8; // type:data rom:0xE79F8
gCurrentModelTreeRoot = 0x801512FC; // type:data rom:0xE79FC gCurrentModelTreeRoot = 0x801512FC; // type:data rom:0xE79FC
D_80151300 = 0x80151300; // type:data rom:0xE7A00 D_80151300 = 0x80151300; // type:data rom:0xE7A00
D_80151304 = 0x80151304; // type:data rom:0xE7A04 D_80151304 = 0x80151304; // type:data rom:0xE7A04
@ -3971,18 +3971,18 @@ evt_get_variable = 0x802C7ABC; // type:func rom:0xEC46C
msg_drawState = 0x80155D74; // type:data rom:0xEC474 msg_drawState = 0x80155D74; // type:data rom:0xEC474
D_8015DD78 = 0x80155D78; // type:data rom:0xEC478 D_8015DD78 = 0x80155D78; // type:data rom:0xEC478
D_80155D80 = 0x80155D80; // type:data rom:0xEC480 D_80155D80 = 0x80155D80; // type:data rom:0xEC480
D_80155D84 = 0x80155D84; // type:data rom:0xEC484 ItemEntityAlternatingSpawn = 0x80155D84; // type:data rom:0xEC484
D_80155D88 = 0x80155D88; // type:data rom:0xEC488 ItemEntityRenderGroup = 0x80155D88; // type:data rom:0xEC488
D_80155D8C = 0x80155D8C; // type:data rom:0xEC48C D_80155D8C = 0x80155D8C; // type:data rom:0xEC48C
D_80155D8E = 0x80155D8E; // type:data rom:0xEC48E D_80155D8E = 0x80155D8E; // type:data rom:0xEC48E
D_80155D90 = 0x80155D90; // type:data rom:0xEC490 D_80155D90 = 0x80155D90; // type:data rom:0xEC490
D_80155DA0 = 0x80155DA0; // type:data rom:0xEC4A0 WorldItemEntities = 0x80155DA0; // type:data rom:0xEC4A0
evt_get_variable_index = 0x802C7DA8; // type:func rom:0xEC758 evt_get_variable_index = 0x802C7DA8; // type:func rom:0xEC758
D_801561A0 = 0x801561A0; // type:data rom:0xEC8A0 BattleItemEntities = 0x801561A0; // type:data rom:0xEC8A0
evt_get_variable_index_alt = 0x802C7F20; // type:func rom:0xEC8D0 evt_get_variable_index_alt = 0x802C7F20; // type:func rom:0xEC8D0
evt_set_variable = 0x802C8098; // type:func rom:0xECA48 evt_set_variable = 0x802C8098; // type:func rom:0xECA48
D_801565A0 = 0x801565A0; // type:data rom:0xECCA0 gCurrentItemEntities = 0x801565A0; // type:data rom:0xECCA0
D_801565A4 = 0x801565A4; // type:data rom:0xECCA4 isPickingUpItem = 0x801565A4; // type:data rom:0xECCA4
D_801565A6 = 0x801565A6; // type:data rom:0xECCA6 D_801565A6 = 0x801565A6; // type:data rom:0xECCA6
D_801565A8 = 0x801565A8; // type:data rom:0xECCA8 D_801565A8 = 0x801565A8; // type:data rom:0xECCA8
D_801565AC = 0x801565AC; // type:data rom:0xECCAC D_801565AC = 0x801565AC; // type:data rom:0xECCAC
@ -23313,10 +23313,10 @@ HudScript_Item_Coin = 0x80080868; // type:data
HudScript_Item_CoinSparkleRandom = 0x80080FC4; // type:data HudScript_Item_CoinSparkleRandom = 0x80080FC4; // type:data
HudScript_Item_StarPoint = 0x80080FF0; // type:data HudScript_Item_StarPoint = 0x80080FF0; // type:data
HudScript_Item_SmallStarPoint = 0x800810C8; // type:data HudScript_Item_SmallStarPoint = 0x800810C8; // type:data
HudScript_Item_ITEM_08B = 0x800822F8; // type:data HudScript_Item_Unused_08B = 0x800822F8; // type:data
HudScript_Item_ITEM_08B_disabled = 0x80082328; // type:data HudScript_Item_Unused_08B_disabled = 0x80082328; // type:data
HudScript_Item_ITEM_08C = 0x80082358; // type:data HudScript_Item_Unused_08C = 0x80082358; // type:data
HudScript_Item_ITEM_08C_disabled = 0x80082388; // type:data HudScript_Item_Unused_08C_disabled = 0x80082388; // type:data
gItemTable = 0x800878E0; // size:0x2D80 gItemTable = 0x800878E0; // size:0x2D80
gItemHudScripts = 0x8008A680; // type:data gItemHudScripts = 0x8008A680; // type:data
dead_gItemTable = 0x8008D2C0; // type:data dead_gItemTable = 0x8008D2C0; // type:data