Santas workshop (matched area_mgm) (#673)

* mgm_01 start

* strange issue

* blah

* rodata fix

* done with mgm_01 + misc cleanup

* almost done mgm

* minor issues with last 3 functions

* match help

* mgm code done

* proper msg pal usage

* fix warnings

* fix more warnings

* ive been warned

* requests

* area_kgr

* battle cam symbol names

* msg cleanup work

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
HailSanta 2022-04-05 05:52:06 -04:00 committed by GitHub
parent d0a7655779
commit b7f7e4c96d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
152 changed files with 4402 additions and 8140 deletions

View File

@ -279,12 +279,12 @@ typedef struct PlayerData {
/* 0x324 */ s32 tradeEventStartTime;
/* 0x328 */ s32 droTreeOrbitTime;
/* 0x32C */ s16 starPiecesCollected;
/* 0x32E */ s16 jumpGamePlays;
/* 0x330 */ s32 jumpGameTotal; /* all-time winnings, max = 99999 */
/* 0x334 */ s16 jumpGameRecord;
/* 0x336 */ s16 smashGamePlays;
/* 0x338 */ s32 smashGameTotal; /* all-time winnings, max = 99999 */
/* 0x33C */ s16 smashGameRecord;
/* 0x32E */ u16 jumpGamePlays;
/* 0x330 */ u32 jumpGameTotal; /* all-time winnings, max = 99999 */
/* 0x334 */ u16 jumpGameRecord;
/* 0x336 */ u16 smashGamePlays;
/* 0x338 */ u32 smashGameTotal; /* all-time winnings, max = 99999 */
/* 0x33C */ u16 smashGameRecord;
/* 0x33E */ char unk_33E[2];
} PlayerData; // size = 0x340
@ -307,7 +307,11 @@ typedef struct Trigger {
/* 0x10 */ EvtScript* onTriggerEvt;
/* 0x14 */ struct Evt* runningScript;
/* 0x18 */ s32 priority;
/* 0x1C */ s32 scriptVars[3];
/* 0x1C */ union {
/* */ s32 varTable[3];
/* */ f32 varTableF[3];
/* */ void* varTablePtr[3];
/* */ };
/* 0x28 */ s32 itemList;
/* 0x2C */ s32 unk_tr_2C; // related to Goombario somehow, custom tattle perhaps?
/* 0x30 */ u8 hasPlayerInteractPrompt;
@ -354,15 +358,13 @@ typedef struct Evt {
/* 0x070 */ union {
/* */ s32 functionTemp[4];
/* */ f32 functionTempF[4];
/* */ struct Npc* functionTempNpc[4];
/* */ struct Actor* functionTempActor[4];
/* */ struct ActorPart* functionTempActorPart[4];
/* */ void* functionTempPtr[4];
/* */ };
/* 0x080 */ ApiFunc callFunction;
/* 0x084 */ union {
/* */ s32 varTable[16];
/* */ struct Actor* varTableActor[4];
/* */ struct Enemy* varTableEnemy[4];
/* */ f32 varTableF[16];
/* */ void* varTablePtr[16];
/* */ };
/* 0x0C4 */ s32 varFlags[3];
/* 0x0D0 */ s32 loopStartTable[8];
@ -619,7 +621,7 @@ typedef struct Entity {
/* 0x1C */ EntityCallback updateScriptCallback;
/* 0x20 */ EntityCallback updateMatrixOverride;
/* 0x24 */ Evt* boundScript;
/* 0x28 */ Bytecode* boundScriptBytecode;
/* 0x28 */ EvtScript* boundScriptBytecode;
/* 0x2C */ s32* savedReadPos;
/* 0x30 */ char unk_30[0x8];
/* 0x38 */ EntityBlueprint* blueprint;
@ -807,11 +809,11 @@ typedef struct Camera {
/* 0x016 */ char unk_16[2];
/* 0x018 */ f32 vfov;
/* 0x01C */ s16 unk_1C;
/* 0x01E */ s16 unk_1E;
/* 0x01E */ s16 auxBoomLength;
/* 0x020 */ s16 unk_20;
/* 0x022 */ s16 unk_22;
/* 0x024 */ s16 unk_24;
/* 0x026 */ s16 unk_26;
/* 0x022 */ s16 auxBoomPitch;
/* 0x024 */ s16 auxBoomYaw;
/* 0x026 */ s16 auxBoomZOffset;
/* 0x028 */ s16 unk_28;
/* 0x02A */ s16 zoomPercent;
/* 0x02C */ s16 bgColor[3];
@ -820,9 +822,7 @@ typedef struct Camera {
/* 0x03A */ char unk_3A[2];
/* 0x03C */ Vec3f lookAt_eye;
/* 0x048 */ Vec3f lookAt_obj;
/* 0x054 */ f32 unk_54; // x-related
/* 0x058 */ f32 unk_58; // y-related
/* 0x05C */ f32 unk_5C; // z-related
/* 0x054 */ Vec3f auxPos;
/* 0x060 */ Vec3f targetPos;
/* 0x06C */ f32 currentYaw;
/* 0x070 */ f32 unk_70;
@ -916,7 +916,11 @@ typedef struct FGModelData {
typedef struct BattleStatus {
/* 0x000 */ s32 flags1;
/* 0x004 */ s32 flags2;
/* 0x008 */ s32 varTable[16];
/* 0x008 */ union {
/* */ s32 varTable[16];
/* */ f32 varTableF[16];
/* */ void* varTablePtr[16];
/* */ };
/* 0x048 */ s8 currentSubmenu;
/* 0x049 */ char unk_49[3];
/* 0x04C */ s8 unk_4C[16];
@ -1375,6 +1379,15 @@ typedef struct MesasgeFontGlyphData {
/* 0xB */ s8 charHeight;
} MesasgeFontGlyphData; // size = 0xC
typedef struct MessageImageData {
/* 0x00 */ s32* raster;
/* 0x04 */ s32* palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s32 format;
/* 0x10 */ s32 bitDepth;
} MessageImageData; // size = 0x14
typedef struct MessageNumber {
/* 0x00 */ s32* rasters;
/* 0x04 */ s8 texSize;
@ -1578,7 +1591,12 @@ typedef struct ActorPartMovement {
/* 0x3A */ s16 unk_3A;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ char unk_40[0xC];
/* 0x4C */ s32 varTable[16];
/* 0x4C */ union {
/* */ s32 varTable[16];
/* */ f32 varTableF[16];
/* */ void* varTablePtr[16];
/* */ };
} ActorPartMovement; // size = 0x8C
typedef struct ActorPartBlueprint {
@ -1883,7 +1901,11 @@ typedef struct ActorState { // TODO: Make the first field of this an ActorMoveme
/* 0x6B */ u8 jumpPartIndex;
/* 0x6C */ ChompChainAnimationState* unk_6C;
/* 0x70 */ char unk_70[12];
/* 0x7C */ s32 varTable[16];
/* 0x7C */ union {
/* */ s32 varTable[16];
/* */ f32 varTableF[16];
/* */ void* varTablePtr[16];
/* */ };
} ActorState; // size = 0xBC;
typedef struct Actor {

View File

@ -537,6 +537,9 @@ enum SoundIDs {
SOUND_172 = 0x00000172,
SOUND_17B = 0x0000017B,
SOUND_194 = 0x00000194,
SOUND_1A5 = 0x000001A5,
SOUND_1A6 = 0x000001A6,
SOUND_1A7 = 0x000001A7,
SOUND_BASIC_DOOR_OPEN = 0x000001C1,
SOUND_BASIC_DOOR_CLOSE = 0x000001C2,
SOUND_METAL_DOOR_OPEN = 0x000001C3,
@ -549,7 +552,11 @@ enum SoundIDs {
SOUND_METAL_GATE_CLOSE = 0x000001CA,
SOUND_1CB = 0x000001CB,
SOUND_1CC = 0x000001CC,
SOUND_211 = 0x00000211,
SOUND_213 = 0x00000213,
SOUND_214 = 0x00000214,
SOUND_215 = 0x00000215,
SOUND_21C = 0x0000021C,
SOUND_MENU_ERROR = 0x0000021D,
SOUND_231 = 0x00000231,
SOUND_246 = 0x00000246,
@ -559,6 +566,7 @@ enum SoundIDs {
SOUND_25D = 0x0000025D,
SOUND_262 = 0x00000262,
SOUND_282 = 0x00000282,
SOUND_283 = 0x00000283,
SOUND_BOW_SPOOK = 0x00000291,
SOUND_295 = 0x00000295,
SOUND_299 = 0x00000299,
@ -613,6 +621,8 @@ enum SoundIDs {
SOUND_BOW_VANISH = 0x0000200E,
SOUND_BOW_APPEAR = 0x0000200F,
SOUND_2010 = 0x00002010,
SOUND_WATT_REPEL_DARKNESS = 0x00002011,
SOUND_WATT_RESUME_DARKNESS = 0x00002012,
SOUND_CANNON1 = 0x00002016,
SOUND_CANNON2 = 0x00002017,
SOUND_CANNON3 = 0x00002018,
@ -666,6 +676,24 @@ enum Cams {
CAM_CAM3 = 3,
};
enum CamShakeModes {
CAM_SHAKE_CONSTANT_VERTICAL = 0,
CAM_SHAKE_ANGULAR_HORIZONTAL = 1,
CAM_SHAKE_DECAYING_VERTICAL = 2
};
// for use with func_8024E748
enum AuxCameraParams {
AUX_CAM_PARAM_1 = 1,
AUX_CAM_BOOM_LENGTH = 2,
AUX_CAM_PARAM_3 = 3,
AUX_CAM_BOOM_PITCH = 4,
AUX_CAM_BOOM_YAW = 5,
AUX_CAM_BOOM_ZOFFSET = 6,
AUX_CAM_PARAM_7 = 7,
AUX_CAM_ZOOM_PERCENT = 8
};
#define LOOKUP_ITEM(itemID) gItemTable[itemID & ~0xF0000]
enum ItemIDs {
ITEM_NONE = 0x00000000,
@ -3290,24 +3318,6 @@ enum ItemTypeFlags {
ITEM_TYPE_FLAGS_8000 = 0x8000,
};
enum MsgWindowStates {
MSG_WINDOW_STATE_DONE = 0x0,
MSG_WINDOW_STATE_INIT = 0x1,
MSG_WINDOW_STATE_OPENING = 0x2,
MSG_WINDOW_STATE_CLOSING = 0x3,
MSG_WINDOW_STATE_PRINTING = 0x4,
MSG_WINDOW_STATE_WAITING = 0x5,
MSG_WINDOW_STATE_SCROLLING = 0x6,
MSG_WINDOW_STATE_WAITING_FOR_CHOICE = 0x7,
MSG_WINDOW_STATE_SCROLLING_BACK = 0x8,
MSG_WINDOW_STATE_VIEWING_PREV = 0x9,
MSG_WINDOW_STATE_A = 0xA,
MSG_WINDOW_STATE_B = 0xB,
MSG_WINDOW_STATE_C = 0xC,
MSG_WINDOW_STATE_D = 0xD,
MSG_WINDOW_STATE_E = 0xE,
};
enum FoldStateFlags {
FOLD_STATE_FLAG_ENABLED = 0x00000001,
FOLD_STATE_FLAG_G_CULL_BACK = 0x00000002,
@ -3478,4 +3488,494 @@ enum FileMenuMessages {
FILE_MESSAGE_PERIOD_34 = 34, // .[End]
};
// specifically used with draw_msg, not to be confused with MsgStyles
enum DrawMsgStyleFlags {
DRAW_MSG_STYLE_MENU = 1, // slightly higher baseline with smaller fullspace widths
DRAW_MSG_STYLE_WAVY = 2,
DRAW_MSG_STYLE_RAINBOW = 4,
DRAW_MSG_STYLE_DROP_SHADOW = 8
};
enum MsgPalettes {
MSG_PAL_WHITE = 0x00,
MSG_PAL_TEAL = 0x01,
MSG_PAL_BLUE = 0x02,
MSG_PAL_GREEN = 0x03,
MSG_PAL_LIME = 0x04,
MSG_PAL_YELLOW = 0x05,
MSG_PAL_ORANGE = 0x06,
MSG_PAL_RED = 0x07,
MSG_PAL_PURPLE = 0x08,
MSG_PAL_PINK = 0x09,
MSG_PAL_STANDARD = 0x0A,
MSG_PAL_0B = 0x0B,
MSG_PAL_0C = 0x0C,
MSG_PAL_0D = 0x0D,
MSG_PAL_0E = 0x0E,
MSG_PAL_0F = 0x0F,
MSG_PAL_10 = 0x10,
MSG_PAL_11 = 0x11,
MSG_PAL_12 = 0x12,
MSG_PAL_13 = 0x13,
MSG_PAL_14 = 0x14,
MSG_PAL_15 = 0x15,
MSG_PAL_16 = 0x16,
MSG_PAL_17 = 0x17,
MSG_PAL_18 = 0x18,
MSG_PAL_19 = 0x19,
MSG_PAL_1A = 0x1A,
MSG_PAL_1B = 0x1B,
MSG_PAL_1C = 0x1C,
MSG_PAL_1D = 0x1D,
MSG_PAL_1E = 0x1E,
MSG_PAL_1F = 0x1F,
MSG_PAL_20 = 0x20,
MSG_PAL_21 = 0x21,
MSG_PAL_22 = 0x22,
MSG_PAL_23 = 0x23,
MSG_PAL_24 = 0x24,
MSG_PAL_25 = 0x25,
MSG_PAL_26 = 0x26,
MSG_PAL_27 = 0x27,
MSG_PAL_28 = 0x28,
MSG_PAL_29 = 0x29,
MSG_PAL_2A = 0x2A,
MSG_PAL_2B = 0x2B,
MSG_PAL_2C = 0x2C,
MSG_PAL_2D = 0x2D,
MSG_PAL_2E = 0x2E,
MSG_PAL_2F = 0x2F,
MSG_PAL_30 = 0x30,
MSG_PAL_31 = 0x31,
MSG_PAL_32 = 0x32,
MSG_PAL_33 = 0x33,
MSG_PAL_34 = 0x34,
MSG_PAL_35 = 0x35,
MSG_PAL_36 = 0x36,
MSG_PAL_37 = 0x37,
MSG_PAL_38 = 0x38,
MSG_PAL_39 = 0x39,
MSG_PAL_3A = 0x3A,
MSG_PAL_3B = 0x3B,
MSG_PAL_3C = 0x3C,
MSG_PAL_3D = 0x3D,
MSG_PAL_3E = 0x3E,
MSG_PAL_3F = 0x3F,
MSG_PAL_40 = 0x40,
MSG_PAL_41 = 0x41,
MSG_PAL_42 = 0x42,
MSG_PAL_43 = 0x43,
MSG_PAL_44 = 0x44,
MSG_PAL_45 = 0x45,
MSG_PAL_46 = 0x46,
MSG_PAL_47 = 0x47,
MSG_PAL_48 = 0x48,
MSG_PAL_49 = 0x49,
MSG_PAL_4A = 0x4A,
MSG_PAL_4B = 0x4B,
MSG_PAL_4C = 0x4C,
MSG_PAL_4D = 0x4D,
MSG_PAL_4E = 0x4E,
MSG_PAL_4F = 0x4F,
MSG_PAL_50 = 0x50
};
enum MsgChars {
MSG_CHAR_NOTE = 0x00,
MSG_CHAR_EXCLAMTION = 0x01,
MSG_CHAR_BACKSLASH = 0x02,
MSG_CHAR_HASH = 0x03,
MSG_CHAR_DOLLAR = 0x04,
MSG_CHAR_PERCENT = 0x05,
MSG_CHAR_AND = 0x06,
MSG_CHAR_APOSTROPHE = 0x07,
MSG_CHAR_LPAREN = 0x08,
MSG_CHAR_RPAREN = 0x09,
MSG_CHAR_TIMES = 0x0A,
MSG_CHAR_PLUS = 0x0B,
MSG_CHAR_COMMA = 0x0C,
MSG_CHAR_MINUS = 0x0D,
MSG_CHAR_PERIOD = 0x0E,
MSG_CHAR_FORWARDSLASH = 0x0F,
MSG_CHAR_DIGIT_0 = 0x10,
MSG_CHAR_DIGIT_1 = 0x11,
MSG_CHAR_DIGIT_2 = 0x12,
MSG_CHAR_DIGIT_3 = 0x13,
MSG_CHAR_DIGIT_4 = 0x14,
MSG_CHAR_DIGIT_5 = 0x15,
MSG_CHAR_DIGIT_6 = 0x16,
MSG_CHAR_DIGIT_7 = 0x17,
MSG_CHAR_DIGIT_8 = 0x18,
MSG_CHAR_DIGIT_9 = 0x19,
MSG_CHAR_COLON = 0x1A,
MSG_CHAR_SEMICOLON = 0x1B,
MSG_CHAR_LESS_THAN = 0x1C,
MSG_CHAR_EQUAL = 0x1D,
MSG_CHAR_GREATER_THAN = 0x1E,
MSG_CHAR_QUESTION = 0x1F,
MSG_CHAR_AT = 0x20,
MSG_CHAR_UPPER_A = 0x21,
MSG_CHAR_UPPER_B = 0x22,
MSG_CHAR_UPPER_C = 0x23,
MSG_CHAR_UPPER_D = 0x24,
MSG_CHAR_UPPER_E = 0x25,
MSG_CHAR_UPPER_F = 0x26,
MSG_CHAR_UPPER_G = 0x27,
MSG_CHAR_UPPER_H = 0x28,
MSG_CHAR_UPPER_I = 0x29,
MSG_CHAR_UPPER_J = 0x2A,
MSG_CHAR_UPPER_K = 0x2B,
MSG_CHAR_UPPER_L = 0x2C,
MSG_CHAR_UPPER_M = 0x2D,
MSG_CHAR_UPPER_N = 0x2E,
MSG_CHAR_UPPER_O = 0x2F,
MSG_CHAR_UPPER_P = 0x30,
MSG_CHAR_UPPER_Q = 0x31,
MSG_CHAR_UPPER_R = 0x32,
MSG_CHAR_UPPER_S = 0x33,
MSG_CHAR_UPPER_T = 0x34,
MSG_CHAR_UPPER_U = 0x35,
MSG_CHAR_UPPER_V = 0x36,
MSG_CHAR_UPPER_W = 0x37,
MSG_CHAR_UPPER_X = 0x38,
MSG_CHAR_UPPER_Y = 0x39,
MSG_CHAR_UPPER_Z = 0x3A,
MSG_CHAR_LBRACKET = 0x3B,
MSG_CHAR_YEN = 0x3C,
MSG_CHAR_RBRACKET = 0x3D,
MSG_CHAR_CARET = 0x3E,
MSG_CHAR_UNDERSCORE = 0x3F,
MSG_CHAR_BACKTICK = 0x40,
MSG_CHAR_LOWER_A = 0x41,
MSG_CHAR_LOWER_B = 0x42,
MSG_CHAR_LOWER_C = 0x43,
MSG_CHAR_LOWER_D = 0x44,
MSG_CHAR_LOWER_E = 0x45,
MSG_CHAR_LOWER_F = 0x46,
MSG_CHAR_LOWER_G = 0x47,
MSG_CHAR_LOWER_H = 0x48,
MSG_CHAR_LOWER_I = 0x49,
MSG_CHAR_LOWER_J = 0x4A,
MSG_CHAR_LOWER_K = 0x4B,
MSG_CHAR_LOWER_L = 0x4C,
MSG_CHAR_LOWER_M = 0x4D,
MSG_CHAR_LOWER_N = 0x4E,
MSG_CHAR_LOWER_O = 0x4F,
MSG_CHAR_LOWER_P = 0x50,
MSG_CHAR_LOWER_Q = 0x51,
MSG_CHAR_LOWER_R = 0x52,
MSG_CHAR_LOWER_S = 0x53,
MSG_CHAR_LOWER_T = 0x54,
MSG_CHAR_LOWER_U = 0x55,
MSG_CHAR_LOWER_V = 0x56,
MSG_CHAR_LOWER_W = 0x57,
MSG_CHAR_LOWER_X = 0x58,
MSG_CHAR_LOWER_Y = 0x59,
MSG_CHAR_LOWER_Z = 0x5A,
MSG_CHAR_LCURLY = 0x5B,
MSG_CHAR_PIPE = 0x5C,
MSG_CHAR_RCURLY = 0x5D,
MSG_CHAR_TILDA = 0x5E,
MSG_CHAR_DEGREE = 0x5F,
MSG_CHAR_UPPER_A_GRAVE = 0x60,
MSG_CHAR_UPPER_A_ACUTE = 0x61,
MSG_CHAR_UPPER_A_CIRCUMFLEX = 0x62,
MSG_CHAR_UPPER_A_UMLAUT = 0x63,
MSG_CHAR_UPPER_C_CEDILLA = 0x64,
MSG_CHAR_UPPER_E_GRAVE = 0x65,
MSG_CHAR_UPPER_E_ACUTE = 0x66,
MSG_CHAR_UPPER_E_CIRCUMFLEX = 0x67,
MSG_CHAR_UPPER_E_UMLAUT = 0x68,
MSG_CHAR_UPPER_I_GRAVE = 0x69,
MSG_CHAR_UPPER_I_ACUTE = 0x6A,
MSG_CHAR_UPPER_I_CIRCUMFLEX = 0x6B,
MSG_CHAR_UPPER_I_UMLAUT = 0x6C,
MSG_CHAR_UPPER_N_TILDE = 0x6D,
MSG_CHAR_UPPER_O_GRAVE = 0x6E,
MSG_CHAR_UPPER_O_ACUTE = 0x6F,
MSG_CHAR_UPPER_O_CIRCUMFLEX = 0x70,
MSG_CHAR_UPPER_O_UMLAUT = 0x71,
MSG_CHAR_UPPER_U_GRAVE = 0x72,
MSG_CHAR_UPPER_U_ACUTE = 0x73,
MSG_CHAR_UPPER_U_CIRCUMFLEX = 0x74,
MSG_CHAR_UPPER_U_UMLAUT = 0x75,
MSG_CHAR_SHARP_S = 0x76,
MSG_CHAR_LOWER_A_GRAVE = 0x77,
MSG_CHAR_LOWER_A_ACUTE = 0x78,
MSG_CHAR_LOWER_A_CIRCUMFLEX = 0x79,
MSG_CHAR_LOWER_A_UMLAUT = 0x7A,
MSG_CHAR_LOWER_C_CEDILLA = 0x7B,
MSG_CHAR_LOWER_E_GRAVE = 0x7C,
MSG_CHAR_LOWER_E_ACUTE = 0x7D,
MSG_CHAR_LOWER_E_CIRCUMFLEX = 0x7E,
MSG_CHAR_LOWER_E_UMLAUT = 0x7F,
MSG_CHAR_LOWER_I_GRAVE = 0x80,
MSG_CHAR_LOWER_I_ACUTE = 0x81,
MSG_CHAR_LOWER_I_CIRCUMFLEX = 0x82,
MSG_CHAR_LOWER_I_UMLAUT = 0x83,
MSG_CHAR_LOWER_N_TILDE = 0x84,
MSG_CHAR_LOWER_O_GRAVE = 0x85,
MSG_CHAR_LOWER_O_ACUTE = 0x86,
MSG_CHAR_LOWER_O_CIRCUMFLEX = 0x87,
MSG_CHAR_LOWER_O_UMLAUT = 0x88,
MSG_CHAR_LOWER_U_GRAVE = 0x89,
MSG_CHAR_LOWER_U_ACUTE = 0x8A,
MSG_CHAR_LOWER_U_CIRCUMFLEX = 0x8B,
MSG_CHAR_LOWER_U_UMLAUT = 0x8C,
MSG_CHAR_INVERTED_EXCLAMTION = 0x8D,
MSG_CHAR_INVERTED_QUESTION = 0x8E,
MSG_CHAR_FEM_ORDINAL = 0x8F,
MSG_CHAR_HEART = 0x90,
MSG_CHAR_STAR = 0x91,
MSG_CHAR_UP = 0x92,
MSG_CHAR_DOWN = 0x93,
MSG_CHAR_LEFT = 0x94,
MSG_CHAR_RIGHT = 0x95,
MSG_CHAR_CIRCLE = 0x96,
MSG_CHAR_CROSS = 0x97,
MSG_CHAR_BUTTON_A = 0x98,
MSG_CHAR_BUTTON_B = 0x99,
MSG_CHAR_BUTTON_L = 0x9A,
MSG_CHAR_BUTTON_R = 0x9B,
MSG_CHAR_BUTTON_Z = 0x9C,
MSG_CHAR_BUTTON_C_UP = 0x9D,
MSG_CHAR_BUTTON_C_DOWN = 0x9E,
MSG_CHAR_BUTTON_C_LEFT = 0x9F,
MSG_CHAR_BUTTON_C_RIGHT = 0xA0,
MSG_CHAR_BUTTON_START = 0xA1,
MSG_CHAR_DOUBLE_QUOTE_OPEN = 0xA2,
MSG_CHAR_DOUBLE_QUOTE_CLOSE = 0xA3,
MSG_CHAR_SINGLE_QUOTE_OPEN = 0xA4,
MSG_CHAR_SINGLE_QUOTE_CLOSE = 0xA5,
// 0xA6 to 0xEF are unused
// special character codes used when reading from the source buffer
MSG_CHAR_READ_ENDL = 0xF0,
MSG_CHAR_READ_WAIT = 0xF1,
MSG_CHAR_READ_PAUSE = 0xF2,
MSG_CHAR_READ_VARIANT0 = 0xF3,
MSG_CHAR_READ_VARIANT1 = 0xF4,
MSG_CHAR_READ_VARIANT2 = 0xF5,
MSG_CHAR_READ_VARIANT3 = 0xF6,
MSG_CHAR_READ_SPACE = 0xF7,
MSG_CHAR_READ_FULL_SPACE = 0xF8,
MSG_CHAR_READ_HALF_SPACE = 0xF9,
MSG_CHAR_READ_UNK_CHAR_FA = 0xFA,
MSG_CHAR_READ_NEXT = 0xFB,
MSG_CHAR_READ_STYLE = 0xFC,
MSG_CHAR_READ_END = 0xFD,
// 0xFE unused
MSG_CHAR_READ_FUNCTION = 0xFF,
// special character codes used when writing to the print buffer
MSG_CONTROL_CHAR = 0xF0,
MSG_CHAR_PRINT_ENDL = 0xF0,
MSG_CHAR_PRINT_VARIANT0 = 0xF1,
MSG_CHAR_PRINT_VARIANT1 = 0xF2,
MSG_CHAR_PRINT_VARIANT2 = 0xF3,
MSG_CHAR_PRINT_VARIANT3 = 0xF4,
MSG_CHAR_PRINT_SPACE = 0xF5,
MSG_CHAR_PRINT_FULL_SPACE = 0xF6,
MSG_CHAR_PRINT_HALF_SPACE = 0xF7,
MSG_CHAR_PRINT_STYLE = 0xF8,
MSG_CHAR_PRINT_UNK_CHAR_FA = 0xF9,
MSG_CHAR_PRINT_NEXT = 0xFA,
MSG_CHAR_PRINT_END = 0xFB,
// FC unused
// FD unused
// FE unused
MSG_CHAR_PRINT_FUNCTION = 0xFF
};
enum MsgFunctionCodes {
// function codes used when reading from the source buffer
MSG_READ_FUNC_FONT = 0x00,
MSG_READ_FUNC_VARIANT = 0x01,
MSG_READ_FUNC_SET_FRAME_PALETTE = 0x02,
MSG_READ_FUNC_RESET_GFX = 0x03,
MSG_READ_FUNC_YIELD = 0x04,
MSG_READ_FUNC_COLOR = 0x05,
MSG_READ_FUNC_NO_SKIP = 0x06,
MSG_READ_FUNC_INPUT_OFF = 0x07,
MSG_READ_FUNC_INPUT_ON = 0x08,
MSG_READ_FUNC_DELAY_OFF = 0x09,
MSG_READ_FUNC_DELAY_ON = 0x0A,
MSG_READ_FUNC_SPACING = 0x0B,
MSG_READ_FUNC_SCROLL = 0x0C,
MSG_READ_FUNC_SIZE = 0x0D,
MSG_READ_FUNC_SIZE_RESET = 0x0E,
MSG_READ_FUNC_SPEED = 0x0F,
MSG_READ_FUNC_SET_X = 0x10,
MSG_READ_FUNC_SET_Y = 0x11,
MSG_READ_FUNC_RIGHT = 0x12,
MSG_READ_FUNC_DOWN = 0x13,
MSG_READ_FUNC_UP = 0x14,
MSG_READ_FUNC_INLINE_IMAGE = 0x15,
MSG_READ_FUNC_ANIM_SPRITE = 0x16,
MSG_READ_FUNC_ITEM_ICON = 0x17,
MSG_READ_FUNC_IMAGE = 0x18,
MSG_READ_FUNC_HIDE_IMAGE = 0x19,
MSG_READ_FUNC_ANIM_DELAY = 0x1A,
MSG_READ_FUNC_ANIM_LOOP = 0x1B,
MSG_READ_FUNC_ANIM_DONE = 0x1C,
MSG_READ_FUNC_SET_CURSOR = 0x1D,
MSG_READ_FUNC_CURSOR = 0x1E,
MSG_READ_FUNC_END_CHOICE = 0x1F,
MSG_READ_FUNC_SET_CANCEL = 0x20,
MSG_READ_FUNC_OPTION = 0x21,
MSG_READ_FUNC_SAVE_POS = 0x22,
MSG_READ_FUNC_RESTORE_POS = 0x23,
MSG_READ_FUNC_SAVE_COLOR = 0x24,
MSG_READ_FUNC_RESTORE_COLOR = 0x25,
MSG_READ_FUNC_START_FX = 0x26,
MSG_READ_FUNC_END_FX = 0x27,
MSG_READ_FUNC_VAR = 0x28,
MSG_READ_FUNC_CENTER_X = 0x29,
MSG_READ_FUNC_SET_REWIND = 0x2A,
MSG_READ_FUNC_ENABLE_CDOWN_NEXT = 0x2B,
MSG_READ_FUNC_CUSTOM_VOICE = 0x2C,
MSG_READ_FUNC_VOLUME = 0x2E,
MSG_READ_FUNC_VOICE = 0x2F,
// function codes used when writing to the print buffer
MSG_PRINT_FUNC_FONT = 0x00,
MSG_PRINT_FUNC_VARIANT = 0x01,
MSG_PRINT_FUNC_SET_FRAME_PALETTE = 0x16,
MSG_PRINT_RESET_GFX = 0x17,
MSG_PRINT_FUNC_COLOR = 0x04,
MSG_PRINT_FUNC_SPACING = 0x05,
MSG_PRINT_FUNC_SCROLL = 0xFA,
MSG_PRINT_FUNC_SIZE = 0x06,
MSG_PRINT_FUNC_SIZE_RESET = 0x07,
MSG_PRINT_FUNC_SET_X = 0x08,
MSG_PRINT_FUNC_SET_Y = 0x09,
MSG_PRINT_FUNC_RIGHT = 0x0A,
MSG_PRINT_FUNC_DOWN = 0x0B,
MSG_PRINT_FUNC_UP = 0x0C,
MSG_PRINT_FUNC_INLINE_IMAGE = 0x0E,
MSG_PRINT_FUNC_ANIM_SPRITE = 0x0F,
MSG_PRINT_FUNC_ITEM_ICON = 0x10,
MSG_PRINT_FUNC_ANIM_DELAY = 0x11,
MSG_PRINT_FUNC_ANIM_LOOP = 0x12,
MSG_PRINT_FUNC_ANIM_DONE = 0x13,
MSG_PRINT_FUNC_CURSOR = 0x14,
MSG_PRINT_FUNC_OPTION = 0x15,
MSG_PRINT_FUNC_SAVE_POS = 0x18,
MSG_PRINT_FUNC_RESTORE_POS = 0x19,
MSG_PRINT_FUNC_SAVE_COLOR = 0x1A,
MSG_PRINT_FUNC_RESTORE_COLOR = 0x1B,
MSG_PRINT_FUNC_START_FX = 0x1C,
MSG_PRINT_FUNC_END_FX = 0x1D,
MSG_PRINT_FUNC_CENTER_X = 0x1E
};
enum MsgEffectCodes {
MSG_FX_SHAKE = 0x00,
MSG_FX_WAVE = 0x01,
MSG_FX_NOISE_OUTLINE = 0x02,
MSG_FX_STATIC = 0x03,
MSG_FX_BLUR = 0x05,
MSG_FX_RAINBOW = 0x06,
MSG_FX_DITHER_FADE = 0x07,
MSG_FX_GLOBAL_WAVE = 0x08,
MSG_FX_GLOBAL_RAINBOW = 0x09,
MSG_FX_RISE_PRINT = 0x0A,
MSG_FX_GROW_PRINT = 0x0B,
MSG_FX_SIZE_JITTER = 0x0C,
MSG_FX_SIZE_WAVE = 0x0D,
MSG_FX_DROP_SHADOW = 0x0E
};
enum MsgEffectFlags {
MSG_FX_FLAG_SHAKE = 0x00001,
MSG_FX_FLAG_WAVE = 0x00002,
MSG_FX_FLAG_NOISE_OUTLINE = 0x00004,
MSG_FX_FLAG_BLUR = 0x00020,
MSG_FX_FLAG_RAINBOW = 0x00040,
MSG_FX_FLAG_DITHER_FADE = 0x00080,
MSG_FX_FLAG_GLOBAL_WAVE = 0x00200,
MSG_FX_FLAG_GLOBAL_RAINBOW = 0x00400,
MSG_FX_FLAG_RISE_PRINT = 0x00800,
MSG_FX_FLAG_GROW_PRINT = 0x01000,
MSG_FX_FLAG_SIZE_JITTER = 0x02000,
MSG_FX_FLAG_SIZE_WAVE = 0x04000,
MSG_FX_FLAG_DROP_SHADOW = 0x08000,
MSG_FX_FLAG_STATIC = 0x10000
};
enum MsgStyles {
MSG_STYLE_RIGHT = 0x01,
MSG_STYLE_LEFT = 0x02,
MSG_STYLE_CENTER = 0x03,
MSG_STYLE_TATTLE = 0x04,
MSG_STYLE_CHOICE = 0x05,
MSG_STYLE_INSPECT = 0x06,
MSG_STYLE_SIGN = 0x07,
MSG_STYLE_LAMPPOST = 0x08,
MSG_STYLE_POSTCARD = 0x09,
MSG_STYLE_POPUP = 0x0A,
MSG_STYLE_B = 0x0B,
MSG_STYLE_UPGRADE = 0x0C,
MSG_STYLE_NARRATE = 0x0D,
MSG_STYLE_EPILOGUE = 0x0E,
MSG_STYLE_F = 0x0F
};
enum MsgFonts {
MSG_FONT_NORMAL = 0,
MSG_FONT_MENU = 1,
MSG_FONT_TITLE = 3,
MSG_FONT_SUBTITLE = 4
};
enum MsgVoices {
MSG_VOICE_NORMAL = 0,
MSG_VOICE_BOWSER = 1,
MSG_VOICE_STAR = 2
};
enum MsgPrintModeFlags {
MSG_PRINT_FLAG_1 = 0x001,
MSG_PRINT_FLAG_2 = 0x002,
MSG_PRINT_FLAG_10 = 0x010,
MSG_PRINT_FLAG_20 = 0x020,
MSG_PRINT_FLAG_40 = 0x040,
MSG_PRINT_FLAG_80 = 0x080,
MSG_PRINT_FLAG_100 = 0x100,
};
enum MsgStateFlags {
MSG_STATE_FLAG_1 = 0x000001,
MSG_STATE_FLAG_2 = 0x000002,
MSG_STATE_FLAG_40 = 0x000040,
MSG_STATE_FLAG_4000 = 0x004000,
MSG_STATE_FLAG_8000 = 0x008000,
MSG_STATE_FLAG_10000 = 0x010000,
MSG_STATE_FLAG_20000 = 0x020000,
MSG_STATE_FLAG_800000 = 0x800000
};
enum MsgDelayFlags {
MSG_DELAY_FLAG_1 = 0x000001,
MSG_DELAY_FLAG_2 = 0x000002,
MSG_DELAY_FLAG_4 = 0x000004,
};
enum MsgWindowStates {
MSG_WINDOW_STATE_DONE = 0x0,
MSG_WINDOW_STATE_INIT = 0x1,
MSG_WINDOW_STATE_OPENING = 0x2,
MSG_WINDOW_STATE_CLOSING = 0x3,
MSG_WINDOW_STATE_PRINTING = 0x4,
MSG_WINDOW_STATE_WAITING = 0x5,
MSG_WINDOW_STATE_SCROLLING = 0x6,
MSG_WINDOW_STATE_WAITING_FOR_CHOICE = 0x7,
MSG_WINDOW_STATE_SCROLLING_BACK = 0x8,
MSG_WINDOW_STATE_VIEWING_PREV = 0x9,
MSG_WINDOW_STATE_A = 0xA,
MSG_WINDOW_STATE_B = 0xB,
MSG_WINDOW_STATE_C = 0xC,
MSG_WINDOW_STATE_D = 0xD,
MSG_WINDOW_STATE_E = 0xE,
};
#endif

View File

@ -70,7 +70,7 @@ void exec_ShakeCamX(s32 arg0, s32 arg1, s32 arg2, f32 arg3);
void exec_ShakeCam1(s32 arg0, s32 arg1, s32 arg2);
f32 func_800E5348(void);
void draw_number(s32 value, s32 x, s32 y, s32 arg3, s32 palette, s32 opacity, s32 style);
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, s32 style);
void set_entity_model_render_command_list(s32 idx, u32* commandList);
void set_entity_model_flags(s32 idx, s32 newFlags);
@ -203,8 +203,6 @@ s32 disable_player_input(void);
void func_80027088(s32);
void set_time_freeze_mode(s32);
s32 get_map_IDs_by_name(const char* mapName, s16* areaID, s16* mapID);
void get_dpad_input_radial(f32* angle, f32* magnitude);
@ -787,7 +785,7 @@ void func_800E9900(void);
void show_coin_counter(void);
s32 add_item(s32 itemID);
s32 add_badge(s32 itemID);
void func_800E96C8(void);
void hide_coin_counter_immediately(void);
void hide_popup_menu(void);
void destroy_popup_menu(void);
void func_800E98C4(void);

View File

@ -261,7 +261,11 @@ typedef struct Enemy {
/* 0x60 */ s32 defeatScriptID;
/* 0x64 */ UNK_PTR unk_64;
/* 0x68 */ char unk_68[4];
/* 0x6C */ s32 varTable[16];
/* 0x6C */ union {
/* */ s32 varTable[16];
/* */ f32 varTableF[16];
/* */ void* varTablePtr[16];
/* */ };
/* 0xAC */ u8 unk_AC;
/* 0xAD */ char unk_AD[3];
/* 0xB0 */ s32 unk_B0;

View File

@ -327,7 +327,7 @@ ApiStatus func_8026ED20(Evt* script, s32 isInitialCall);
ApiStatus func_8026EBF8(Evt* script, s32 isInitialCall);
ApiStatus SetupMashMeter(Evt* script, s32 isInitialCall);
ApiStatus SetActionResult(Evt* script, s32 isInitialCall);
ApiStatus func_8024EB84(Evt* script, s32 isInitialCall);
ApiStatus BattleCamTargetActorPart(Evt* script, s32 isInitialCall);
extern EvtScript PlayerScriptDispatcher;
extern EvtScript PeachScriptDispatcher;

File diff suppressed because it is too large Load Diff

View File

@ -758,7 +758,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
script->varTable[0] = state->goalPos.x;
script->varTable[1] = state->goalPos.y;
script->varTable[2] = state->goalPos.z;
script->varTableActor[3] = target;
script->varTablePtr[3] = target;
sfx_play_sound_at_position(SOUND_HIT_ICE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
}
if ((battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK) && statusInflicted) {
@ -766,7 +766,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
script->varTable[0] = state->goalPos.x;
script->varTable[1] = state->goalPos.y;
script->varTable[2] = state->goalPos.z;
script->varTableActor[3] = target;
script->varTablePtr[3] = target;
sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
}
@ -1029,14 +1029,14 @@ ApiStatus LandJump(Evt* script, s32 isInitialCall) {
}
actor = get_actor(actorID);
script->functionTempActor[1] = actor;
script->functionTempPtr[1] = actor;
actor->state.currentPos.x = actor->currentPos.x;
actor->state.currentPos.y = actor->currentPos.y;
actor->state.currentPos.z = actor->currentPos.z;
script->functionTemp[0] = 1;
}
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
actor->state.currentPos.y += actor->state.velocity;
actor->state.velocity -= actor->state.acceleration;
@ -1084,8 +1084,8 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) {
actor = get_actor(actorID);
part = get_actor_part(actor, partIndex);
script->functionTempActor[1] = actor;
script->functionTempActorPart[2] = part;
script->functionTempPtr[1] = actor;
script->functionTempPtr[2] = part;
movement = part->movement;
movement->unk_00.x = part->absolutePosition.x;
movement->unk_00.y = part->absolutePosition.y;
@ -1093,7 +1093,7 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
part = script->functionTempActorPart[2];
part = script->functionTempPtr[2];
movement = part->movement;
movement->unk_00.y += movement->unk_2C;
movement->unk_2C -= movement->jumpScale;

View File

@ -728,8 +728,8 @@ f32 cos_deg(f32 angle) {
}
f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration) {
s32 val1s;
f32 temp_f4;
s32 timeLeft;
f32 absMag;
if (duration == 0) {
return end;
@ -751,27 +751,27 @@ f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration) {
return end - (((end - start) * cos_rad((((f32)SQ(elapsed) / duration) * PI_D * 4.0) / 15.0) * (duration - elapsed) *
(duration - elapsed)) / SQ((f32)duration));
case EASING_QUADRATIC_OUT:
val1s = duration - elapsed;
return (start + (end - start)) - ((SQ(val1s) * (end - start))) / SQ(duration);
timeLeft = duration - elapsed;
return (start + (end - start)) - ((SQ(timeLeft) * (end - start))) / SQ(duration);
case EASING_CUBIC_OUT:
val1s = duration - elapsed;
return (start + (end - start)) - ((CUBE(val1s) * (end - start))) / CUBE(duration);
timeLeft = duration - elapsed;
return (start + (end - start)) - ((CUBE(timeLeft) * (end - start))) / CUBE(duration);
case EASING_QUARTIC_OUT:
val1s = duration - elapsed;
return (start + (end - start)) - ((QUART(val1s) * (end - start))) / QUART(duration);
timeLeft = duration - elapsed;
return (start + (end - start)) - ((QUART(timeLeft) * (end - start))) / QUART(duration);
case EASING_COS_BOUNCE:
temp_f4 = cos_rad((((f32)SQ(elapsed) / duration) * PI_D * 4.0) / 40.0) * (duration - elapsed) *
absMag = cos_rad((((f32)SQ(elapsed) / duration) * PI_D * 4.0) / 40.0) * (duration - elapsed) *
(duration - elapsed) / SQ((f32)duration);
if (temp_f4 < 0.0f) {
temp_f4 = -temp_f4;
if (absMag < 0.0f) {
absMag = -absMag;
}
return end - ((end - start) * temp_f4);
return end - ((end - start) * absMag);
case EASING_COS_IN_OUT:
return start + ((end - start) * (1.0 - cos_rad(((f32)elapsed * PI_D) / (f32)duration)) * 0.5);
case EASING_SIN_OUT:
return start + ((end - start) * sin_rad(((f32)elapsed * 1.570796) / (f32)duration));
return start + ((end - start) * sin_rad(((f32)elapsed * (PI_D / 2)) / (f32)duration));
case EASING_COS_IN:
return start + ((end - start) * (1.0 - cos_rad(((f32)elapsed * 1.570796) / (f32)duration)));
return start + ((end - start) * (1.0 - cos_rad(((f32)elapsed * (PI_D / 2)) / (f32)duration)));
}
return 0.0f;

View File

@ -555,7 +555,7 @@ void hide_coin_counter(void) {
}
}
void func_800E96C8(void) {
void hide_coin_counter_immediately(void) {
UiStatus* uiStatus = &gUIStatus;
if ((D_8010CD10 != 0) && (uiStatus->unk_6C[0] == 0)) {

View File

@ -373,9 +373,9 @@ Camera* initialize_next_camera(CameraInitData* initData) {
camera->bgColor[1] = 0;
camera->bgColor[2] = 0;
camera->unk_C0 = 0;
camera->unk_54 = 0;
camera->unk_58 = 0;
camera->unk_5C = 0;
camera->auxPos.x = 0;
camera->auxPos.y = 0;
camera->auxPos.z = 0;
camera->targetPos.x = 0;
camera->targetPos.y = 0;
camera->targetPos.z = 0;

View File

@ -105,9 +105,9 @@ void update_camera_mode_5(Camera* camera) {
f32 temp_f22 = (playerStatus->currentSpeed * 1.5f) + 1.0f;
f32 temp_f20 = (playerStatus->currentSpeed * 0.05f) + 0.05f;
camera->unk_54 = camera->targetPos.x + camera->unk_550;
camera->unk_58 = camera->targetPos.y + camera->currentYOffset;
camera->unk_5C = camera->targetPos.z;
camera->auxPos.x = camera->targetPos.x + camera->unk_550;
camera->auxPos.y = camera->targetPos.y + camera->currentYOffset;
camera->auxPos.z = camera->targetPos.z;
func_8003034C(camera);
if (!(camera->moveFlags & 1)) {
func_80030210(camera, temp_f20, temp_f22, 0);
@ -127,7 +127,7 @@ void update_camera_mode_5(Camera* camera) {
}
void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3) {
f32 xDelta = (camera->unk_54 - camera->lookAt_obj.x) * arg1;
f32 xDelta = (camera->auxPos.x - camera->lookAt_obj.x) * arg1;
f32 theta;
f32 cosTheta;
f32 sinTheta;
@ -143,12 +143,12 @@ void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3) {
theta = (camera->currentBoomYaw * TAU) / 360.0f;
cosTheta = cos_rad(theta);
camera->lookAt_obj.z += (camera->unk_5C - camera->lookAt_obj.z) * arg1;
camera->lookAt_obj.z += (camera->auxPos.z - camera->lookAt_obj.z) * arg1;
camera->lookAt_eye.z = camera->lookAt_obj.z + (camera->currentBoomLength * cosTheta);
if (arg3 << 16 == 0) {
sinTheta = sin_rad(theta);
camera->lookAt_obj.y += (camera->unk_58 - camera->lookAt_obj.y) * 0.125f;
camera->lookAt_obj.y += (camera->auxPos.y - camera->lookAt_obj.y) * 0.125f;
camera->lookAt_eye.y = camera->lookAt_obj.y + (camera->currentBoomLength * sinTheta);
}
}
@ -549,8 +549,8 @@ void update_camera_zone_interp(Camera* camera) {
camera->currentBoomLength = blendedCamSettings.boomLength;
camera->currentBlendedYawNegated = -blendedCamSettings.boomYaw;
camera->currentPitch = -blendedCamSettings.boomPitch - blendedCamSettings.viewPitch;
camera->unk_54 = camera->lookAt_obj.x;
camera->unk_58 = camera->lookAt_obj.y;
camera->unk_5C = camera->lookAt_obj.z;
camera->auxPos.x = camera->lookAt_obj.x;
camera->auxPos.y = camera->lookAt_obj.y;
camera->auxPos.z = camera->lookAt_obj.z;
camera->currentYOffset = 0.0f;
}

View File

@ -1824,36 +1824,36 @@ s32 MakeEntity(Evt* script, s32 isInitialCall) {
EntityBlueprint* entityData;
s32 x, y, z;
s32 flags;
s32 temp_v0;
s32 nextArg;
s32 entityIndex;
s32 t80000000;
s32* temp;
s32 endOfArgs;
s32* varArgBufPos;
if (isInitialCall != TRUE) {
return ApiStatus_DONE2;
}
entityData = (EntityBlueprint*)evt_get_variable(script, *args++);
temp = &CreateEntityVarArgBuffer[2];
t80000000 = 0x80000000;
varArgBufPos = &CreateEntityVarArgBuffer[2];
endOfArgs = MAKE_ENTITY_END;
x = evt_get_variable(script, *args++);
y = evt_get_variable(script, *args++);
z = evt_get_variable(script, *args++);
flags = evt_get_variable(script, *args++);
*temp-- = 0;
*temp-- = 0;
*temp = 0;
*varArgBufPos-- = 0;
*varArgBufPos-- = 0;
*varArgBufPos = 0;
do {
temp_v0 = evt_get_variable(script, *args++);
nextArg = evt_get_variable(script, *args++);
if (temp_v0 != t80000000) {
*temp++ = temp_v0;
if (nextArg != endOfArgs) {
*varArgBufPos++ = nextArg;
}
} while (temp_v0 != t80000000);
} while (nextArg != endOfArgs);
entityIndex = create_entity(entityData, x, y, z, flags, CreateEntityVarArgBuffer[0], CreateEntityVarArgBuffer[1], CreateEntityVarArgBuffer[2], t80000000);
entityIndex = create_entity(entityData, x, y, z, flags, CreateEntityVarArgBuffer[0], CreateEntityVarArgBuffer[1], CreateEntityVarArgBuffer[2], endOfArgs);
gLastCreatedEntityIndex = entityIndex;
script->varTable[0] = entityIndex;
return ApiStatus_DONE2;
@ -1898,7 +1898,7 @@ ApiStatus AssignScript(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (isInitialCall == TRUE) {
Bytecode* toBind = (Bytecode*)evt_get_variable(script, *args++);
EvtScript* toBind = (EvtScript*)evt_get_variable(script, *args++);
get_entity_by_index(gLastCreatedEntityIndex)->boundScriptBytecode = toBind;
return ApiStatus_DONE2;

View File

@ -2031,12 +2031,12 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
switch (script->functionTemp[0]) {
case 0:
script->functionTempActor[1] = create_actor((struct FormationRow*)evt_get_variable(script, *args++));
script->functionTempPtr[1] = create_actor((struct FormationRow*)evt_get_variable(script, *args++));
script->functionTemp[2] = evt_get_variable(script, *args++);
script->functionTemp[0] = 1;
break;
case 1:
actor2 = script->functionTempActor[1];
actor2 = script->functionTempPtr[1];
if (does_script_exist(actor2->takeTurnID) == FALSE) {
enemyIDs = battleStatus->enemyIDs;
if (battleStatus->nextEnemyIndex == 0) {
@ -3164,7 +3164,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) {
}
attackBoost = evt_get_variable(script, *args++);
actor = get_actor(actorID);
script->functionTempActor[1] = actor;
script->functionTempPtr[1] = actor;
script->functionTemp[2] = attackBoost;
func_8024E40C(8);
@ -3181,7 +3181,7 @@ ApiStatus BoostAttack(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
get_actor(script->owner1.actorID);
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
attackBoost = script->functionTemp[2];
flags = actor->flags;
@ -3287,7 +3287,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) {
}
defenseBoost = evt_get_variable(script, *args++);
actor = get_actor(actorID);
script->functionTempActor[1] = actor;
script->functionTempPtr[1] = actor;
script->functionTemp[2] = defenseBoost;
func_8024E40C(8);
@ -3305,7 +3305,7 @@ ApiStatus BoostDefense(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
get_actor(script->owner1.actorID);
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
defenseBoost = script->functionTemp[2];
flags = actor->flags;
@ -3427,7 +3427,7 @@ ApiStatus VanishActor(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
get_actor(script->owner1.actorID);
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
vanished = script->functionTemp[2];
flags = actor->flags;
@ -3515,7 +3515,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) {
}
electrified = evt_get_variable(script, *args++);
actor = get_actor(actorID);
script->functionTempActor[1] = actor;
script->functionTempPtr[1] = actor;
script->functionTemp[2] = electrified;
func_8024E40C(8);
@ -3533,7 +3533,7 @@ ApiStatus ElectrifyActor(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
get_actor(script->owner1.actorID);
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
electrified = script->functionTemp[2];
flags = actor->flags;
@ -3625,7 +3625,7 @@ ApiStatus HealActor(Evt* script, s32 isInitialCall) {
hpBoost = evt_get_variable(script, *args++);
D_8029FBD0 = evt_get_variable(script, *args++);
actor = get_actor(actorID);
script->functionTempActor[1] = actor;
script->functionTempPtr[1] = actor;
script->functionTemp[2] = hpBoost;
func_8024E40C(8);
@ -3639,7 +3639,7 @@ ApiStatus HealActor(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
get_actor(script->owner1.enemyID);
actor = script->functionTempActor[1];
actor = script->functionTempPtr[1];
hpBoost = script->functionTemp[2];
flags = actor->flags;

View File

@ -74,7 +74,7 @@ ApiStatus func_802A91A0_42F880(Evt* script, s32 isInitialCall) {
actionCommandStatus->unk_4E = evt_get_variable(script, *args++);
actionCommandStatus->unk_52 = evt_get_variable(script, *args++);
actionCommandStatus->unk_50 = evt_get_variable(script, *args++);;
actionCommandStatus->unk_50 = evt_get_variable(script, *args++);
actionCommandStatus->unk_50 = func_80268224(actionCommandStatus->unk_50);
actionCommandStatus->unk_64 = evt_get_variable(script, *args++);

View File

@ -567,7 +567,7 @@ EvtScript N(8021D04C) = {
EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_15)
EVT_CALL(SetBattleCamZoom, 320)
EVT_CALL(SetBattleCamOffsetZ, 0)
EVT_CALL(func_8024EB84, ACTOR_SELF, LW(9))
EVT_CALL(BattleCamTargetActorPart, ACTOR_SELF, LW(9))
EVT_CALL(SetAnimation, ACTOR_SELF, 1, NPC_ANIM_tutankoopa_Palette_00_Anim_2)
EVT_CALL(GetPartOffset, ACTOR_SELF, LW(9), LW(0), LW(1), LW(2))
EVT_ADD(LW(0), 20)

View File

@ -212,7 +212,7 @@ void load_hit_data(s32 idx, HitFile* hit) {
break;
}
assetBoundingBox = (u32*)((void*)hit + assetCollisionData->boundingBoxesOffset);;
assetBoundingBox = (u32*)((void*)hit + assetCollisionData->boundingBoxesOffset);
collisionData->aabbs = collision_heap_malloc(assetCollisionData->boundingBoxesDataSize * 4);
for (i = 0, boundingBox = (u32*)(collisionData->aabbs); i < assetCollisionData->boundingBoxesDataSize;
assetBoundingBox++, boundingBox++, i++) {

View File

@ -19,8 +19,8 @@ ApiStatus N(UnkEffect0FFunc2)(Evt* script, s32 isInitialCall) {
ApiStatus N(UnkEffect0FFunc)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 yaw = gCameras[CAM_DEFAULT].currentYaw / 180.0f * PI;
f32 yawPlus = yaw + 1.570796;
f32 yawMinus = yaw - 1.570796;
f32 yawPlus = yaw + (PI_D / 2);
f32 yawMinus = yaw - (PI_D / 2);
f32 temp_f30;
f32 var1;
f32 var2;
@ -50,8 +50,8 @@ ApiStatus N(UnkEffect0FFunc)(Evt* script, s32 isInitialCall) {
ApiStatus N(UnkEffect0FFunc3)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 yaw = gCameras[CAM_DEFAULT].currentYaw / 180.0f * PI;
f32 yawPlus = yaw + 1.570796;
f32 yawMinus = yaw - 1.570796;
f32 yawPlus = yaw + (PI_D / 2);
f32 yawMinus = yaw - (PI_D / 2);
f32 temp_f30;
f32 var1;
f32 var2;
@ -84,8 +84,8 @@ ApiStatus N(UnkEffect0FFunc3)(Evt* script, s32 isInitialCall) {
ApiStatus N(UnkEffect0FFunc4)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 yaw = gCameras[CAM_DEFAULT].currentYaw / 180.0f * PI;
f32 yawPlus = yaw + 1.570796;
f32 yawMinus = yaw - 1.570796;
f32 yawPlus = yaw + (PI_D / 2);
f32 yawMinus = yaw - (PI_D / 2);
f32 temp_f30;
f32 var1;
f32 var2;

View File

@ -339,5 +339,5 @@ void entity_breakable_block_create_shattering_entity(Entity* entity) {
return;
}
create_entity(bp, entity->position.x, entity->position.y, entity->position.z, 0, 0x80000000);
create_entity(bp, entity->position.x, entity->position.y, entity->position.z, 0, MAKE_ENTITY_END);
}

View File

@ -1,6 +1,11 @@
#include "common.h"
#include "effects.h"
extern s32 D_802E9E54;
void entity_MulticoinBlock_update_timer(Entity* entity);
void entity_base_block_update_slow_sinking(Entity* entity);
#define MULTICOIN_BLOCK_MAX_COINS 10
void entity_base_block_setupGfx(s32 entityIndex) {
@ -128,9 +133,6 @@ void entity_MulticoinBlock_init(Entity* entity) {
data->gameFlagIndex = 0xFFFF;
}
extern s32 D_802E9E54;
extern EntityBlueprint Entity_InertYellowBlock;
void entity_MulticoinBlock_spawn_coin(Entity* entity) {
BlockData* data = entity->dataBuf.block;
s32 itemSpawnMode;
@ -150,9 +152,8 @@ void entity_MulticoinBlock_spawn_coin(Entity* entity) {
if ((data->coinsLeft == 0) || (data->timeLeft == 0)) {
data->empty = TRUE;
set_entity_commandlist(get_entity_by_index(create_entity(&Entity_InertYellowBlock, entity->position.x, entity->position.y,
entity->position.z,
entity->rotation.y, 0x80000000)), &D_802E9E54);
set_entity_commandlist(get_entity_by_index(create_entity(&Entity_InertYellowBlock,
entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END)), &D_802E9E54);
entity->flags |= (ENTITY_FLAGS_SKIP_UPDATE_INVERSE_ROTATION_MATRIX | ENTITY_FLAGS_PENDING_INSTANCE_DELETE);
}
}
@ -181,7 +182,7 @@ void entity_MulticoinBlock_idle(Entity* entity) {
entity_MulticoinBlock_update_timer(entity);
entity_base_block_idle(entity);
if (data->empty) {
create_entity(&Entity_InertYellowBlock, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
create_entity(&Entity_InertYellowBlock, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END);
entity->flags |= (ENTITY_FLAGS_SKIP_UPDATE_INVERSE_ROTATION_MATRIX | ENTITY_FLAGS_PENDING_INSTANCE_DELETE);
}
}
@ -191,7 +192,7 @@ void entity_MulticoinBlock_check_if_inactive(Entity* entity) {
if (data->gameFlagIndex != 0xFFFF) {
if (get_global_flag(data->gameFlagIndex) != 0) {
create_entity(&Entity_InertYellowBlock, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
create_entity(&Entity_InertYellowBlock, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END);
entity->flags |= (ENTITY_FLAGS_SKIP_UPDATE_INVERSE_ROTATION_MATRIX | ENTITY_FLAGS_PENDING_INSTANCE_DELETE);
}
}

View File

@ -2,7 +2,7 @@
#include "npc.h"
#include "sprite.h"
void entity_BlueWarpPipe_setupGfx();
void entity_BlueWarpPipe_setupGfx(void* renderData);
void entity_BlueWarpPipe_check_if_active(Entity* entity) {
BlueWarpPipeData* pipeData;
@ -131,7 +131,7 @@ void entity_BlueWarpPipe_enter_pipe_update(Entity* entity) {
}
void entity_BlueWarpPipe_start_bound_script(Entity* entity) {
Bytecode* triggerScriptStart = entity->dataBuf.bluePipe->onEnterPipeEvt;
EvtScript* triggerScriptStart = entity->dataBuf.bluePipe->onEnterPipeEvt;
gOverrideFlags &= ~GLOBAL_OVERRIDES_40;
entity->boundScriptBytecode = triggerScriptStart;
@ -142,22 +142,18 @@ INCLUDE_ASM(s32, "entity/BlueWarpPipe", entity_BlueWarpPipe_setupGfx);
f32 entity_init_BlueWarpPipe(Entity* entity) {
BlueWarpPipeData* data;
s32* args = &CreateEntityVarArgBuffer;
s32 entryID;
s32 enterPipeEvt;
s32 flagIndex;
f32* outPosY;
s32 entryID = CreateEntityVarArgBuffer[0];
EvtScript* enterPipeEvt = (EvtScript*)CreateEntityVarArgBuffer[1];
s32 flagIndex = CreateEntityVarArgBuffer[2];
entryID = args[0];
enterPipeEvt = args[1];
flagIndex = args[2];
entity->renderSetupFunc = &entity_BlueWarpPipe_setupGfx;
data = entity->dataBuf.bluePipe;
outPosY = &entity->position.y; // required... wtf
data->entryID = entryID;
data->onEnterPipeEvt = enterPipeEvt;
data->flagIndex = flagIndex;
data->finalPosY = entity->position.y;
data->isRaised = get_global_flag(data->flagIndex);
*outPosY = entity->position.y - (data->isRaised ? 15.0 : 52.0);
entity->position.y -= (data->isRaised ? 15.0 : 52.0);
}

View File

@ -285,8 +285,7 @@ s8 entity_HeartBlock_create_child_entity(Entity* entity, EntityBlueprint* bp) {
HeartBlockContentData* data;
entity_base_block_init(entity);
childEntity = get_entity_by_index(create_entity(bp, entity->position.x, entity->position.y, entity->position.z, 0.0f,
0x80000000));
childEntity = get_entity_by_index(create_entity(bp, entity->position.x, entity->position.y, entity->position.z, 0.0f, MAKE_ENTITY_END));
data = childEntity->dataBuf.heartBlockContent;
data->parentEntityIndex = entity->listIndex;

View File

@ -60,14 +60,14 @@ void entity_ItemBlock_check_if_inactive(Entity* entity) {
ItemBlockData* data = entity->dataBuf.itemBlock;
if ((data->gameFlagIndex != 0xFFFF) && get_global_flag(data->gameFlagIndex)) {
UNK_PTR phi_a0;
UNK_PTR bp;
if (get_entity_type(entity->listIndex) != ENTITY_TYPE_RED_BLOCK) {
phi_a0 = &Entity_InertYellowBlock;
bp = &Entity_InertYellowBlock;
} else {
phi_a0 = &Entity_InertRedBlock;
bp = &Entity_InertRedBlock;
}
create_entity(phi_a0, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
create_entity(bp, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END);
set_entity_commandlist(entity, &D_802EA310);
} else {
exec_entity_commandlist(entity);
@ -78,7 +78,7 @@ void entity_ItemBlock_check_if_inactive(Entity* entity) {
// followed by an inert version of the block.
void entity_ItemBlock_replace_with_inactive(Entity* entity) {
s32 entityType = get_entity_type(entity->listIndex);
EntityBlueprint* entityBlueprint = &Entity_InertYellowBlock;
EntityBlueprint* bp = &Entity_InertYellowBlock;
s32 childEntityIndex;
s32 isBlockOnGround;
s32 parentEntityType;
@ -87,14 +87,14 @@ void entity_ItemBlock_replace_with_inactive(Entity* entity) {
Shadow* shadow;
if (entityType < ENTITY_TYPE_HAMMER1_BLOCK) {
entityBlueprint = &Entity_InertYellowBlock;
bp = &Entity_InertYellowBlock;
if (entityType >= ENTITY_TYPE_HIDDEN_RED_BLOCK) {
entityBlueprint = &Entity_InertRedBlock;
bp = &Entity_InertRedBlock;
}
}
// this child entity is the inert block
childEntityIndex = create_entity(entityBlueprint, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
childEntityIndex = create_entity(bp, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END);
childEntity = get_entity_by_index(childEntityIndex);
childEntity->flags |= ENTITY_FLAGS_HIDDEN;
@ -112,15 +112,15 @@ void entity_ItemBlock_replace_with_inactive(Entity* entity) {
parentEntityType = get_entity_type(entity->listIndex);
if (parentEntityType == ENTITY_TYPE_HIDDEN_RED_BLOCK || parentEntityType == ENTITY_TYPE_RED_BLOCK) {
entityBlueprint = &Entity_HitRedBlock;
bp = &Entity_HitRedBlock;
} else if (isBlockOnGround != 0) {
entityBlueprint = &Entity_HitGroundedYellowBlock;
bp = &Entity_HitGroundedYellowBlock;
} else {
entityBlueprint = &Entity_HitFloatingYellowBlock;
bp = &Entity_HitFloatingYellowBlock;
}
// child entity is now the animated block which appears before it turns inert
childEntity = get_entity_by_index(create_entity(entityBlueprint, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000));
childEntity = get_entity_by_index(create_entity(bp, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, MAKE_ENTITY_END));
childEntity->alpha = entity->alpha;
if ((entity->flags & ENTITY_FLAGS_HIDDEN) || (entity->alpha < 0xFF)) {
childEntity->alpha = 0x20;

View File

@ -36,8 +36,7 @@ void entity_upgrade_block_check_if_inactive(Entity* entity) {
Entity* childEntity;
SuperBlockContentData* childData;
parentData->childEntityIndex = create_entity(&Entity_SuperBlockContent, entity->position.x, entity->position.y, entity->position.z, 0.0f,
0x80000000);
parentData->childEntityIndex = create_entity(&Entity_SuperBlockContent, entity->position.x, entity->position.y, entity->position.z, 0.0f, MAKE_ENTITY_END);
childEntity = get_entity_by_index(parentData->childEntityIndex);
childData = childEntity->dataBuf.superBlockContent;
childData->parentEntityIndex = entity->listIndex;

View File

@ -121,7 +121,7 @@ void func_802BB6E0_E2E010(Entity* entity) {
s32 entityIndex;
get_animator_by_index(entity->virtualModelIndex)->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
entityIndex = create_entity(&D_802BC7D0_E2F100, entity->position.x, entity->position.y, entity->position.z, 0, 0x80000000);
entityIndex = create_entity(&D_802BC7D0_E2F100, entity->position.x, entity->position.y, entity->position.z, 0, MAKE_ENTITY_END);
data->unk_04.index = entityIndex;
newEntity = get_entity_by_index(entityIndex);
data = (structE2D730*)newEntity->dataBuf.unk;

View File

@ -77,27 +77,27 @@ ApiStatus func_802CA988(Evt* script, s32 isInitialCall) {
Bytecode outVar2 = *args++;
Bytecode outVar3 = *args++;
Bytecode outVar4 = *args++;
f32 temp1, temp2, temp3;
f32 dx, dy, dz;
gCameras[id].updateMode = 2;
gCameras[id].unk_06 = 0;
gCameras[id].unk_1C = -round(gCameras[id].currentPitch);
gCameras[id].unk_1E = -gCameras[id].currentBlendedYawNegated;
gCameras[id].auxBoomLength = -gCameras[id].currentBlendedYawNegated;
temp1 = gCameras[id].lookAt_obj.x - gCameras[id].lookAt_eye.x;
temp2 = gCameras[id].lookAt_obj.y - gCameras[id].lookAt_eye.y;
temp3 = gCameras[id].lookAt_obj.z - gCameras[id].lookAt_eye.z;
dx = gCameras[id].lookAt_obj.x - gCameras[id].lookAt_eye.x;
dy = gCameras[id].lookAt_obj.y - gCameras[id].lookAt_eye.y;
dz = gCameras[id].lookAt_obj.z - gCameras[id].lookAt_eye.z;
gCameras[id].unk_20 = round(sqrtf(SQ(temp1) + SQ(temp2) + SQ(temp3)));
gCameras[id].unk_22 = 0;
gCameras[id].unk_54 = gCameras[id].lookAt_obj.x;
gCameras[id].unk_58 = gCameras[id].lookAt_obj.y;
gCameras[id].unk_5C = gCameras[id].lookAt_obj.z;
gCameras[id].unk_20 = round(sqrtf(SQ(dx) + SQ(dy) + SQ(dz)));
gCameras[id].auxBoomPitch = 0;
gCameras[id].auxPos.x = gCameras[id].lookAt_obj.x;
gCameras[id].auxPos.y = gCameras[id].lookAt_obj.y;
gCameras[id].auxPos.z = gCameras[id].lookAt_obj.z;
evt_set_variable(script, outVar1, gCameras[id].unk_1C);
evt_set_variable(script, outVar2, gCameras[id].unk_1E);
evt_set_variable(script, outVar2, gCameras[id].auxBoomLength);
evt_set_variable(script, outVar3, gCameras[id].unk_20);
evt_set_variable(script, outVar4, gCameras[id].unk_22);
evt_set_variable(script, outVar4, gCameras[id].auxBoomPitch);
return ApiStatus_DONE2;
}
@ -122,9 +122,9 @@ ApiStatus func_802CABE8(Evt* script, s32 isInitialCall) {
s16 value4 = evt_get_variable(script, *args++);
Camera* camera = &gCameras[id];
camera->unk_22 = value4;
camera->auxBoomPitch = value4;
camera->unk_1C = value1;
camera->unk_1E = value2;
camera->auxBoomLength = value2;
camera->unk_20 = value3;
return ApiStatus_DONE2;
}
@ -139,8 +139,8 @@ ApiStatus func_802CACC0(Evt* script, s32 isInitialCall) {
Camera* camera = &gCameras[id];
camera->zoomPercent = zoomPercent;
camera->unk_24 = value1;
camera->unk_26 = value2;
camera->auxBoomYaw = value1;
camera->auxBoomZOffset = value2;
camera->unk_28 = value3;
return ApiStatus_DONE2;
}
@ -167,9 +167,9 @@ ApiStatus func_802CAE50(Evt* script, s32 isInitialCall) {
s32 value3 = evt_get_variable(script, *args++);
Camera* camera = &gCameras[id];
camera->unk_54 = value1;
camera->unk_58 = value2;
camera->unk_5C = value3;
camera->auxPos.x = value1;
camera->auxPos.y = value2;
camera->auxPos.z = value3;
return ApiStatus_DONE2;
}
@ -192,62 +192,61 @@ INCLUDE_ASM(s32, "evt/cam_api", func_802CB008, Evt* script, s32 isInitialCall);
ApiStatus ShakeCam(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 camIndex = evt_get_variable(script, *args++);
s32 temp_s3 = evt_get_variable(script, *args++);
s32 temp_s4 = evt_get_variable(script, *args++);
f32 temp_f20 = 2.0f * evt_get_float_variable(script, *args++);
s32 shakeMode = evt_get_variable(script, *args++);
s32 duration = evt_get_variable(script, *args++);
f32 magnitude = 2.0f * evt_get_float_variable(script, *args++);
Camera* camera = &gCameras[camIndex];
f32 temp_f2;
f32 phi_f2;
s32 temp_a1;
f32 scale;
f32 rumbleMagnitude;
s32 rumbleDuration;
if (isInitialCall) {
switch (temp_s3){
case 0:
case 1:
switch (shakeMode){
case CAM_SHAKE_CONSTANT_VERTICAL:
case CAM_SHAKE_ANGULAR_HORIZONTAL:
break;
case 2:
temp_s4 *= 4;
break;
default:
case CAM_SHAKE_DECAYING_VERTICAL:
duration *= 4;
break;
}
*(f32*)&script->functionTemp[3] = 1.0f;
script->functionTemp[1] = temp_s4;
*(f32*)&script->functionTemp[3] = 1.0f; //TODO functionTempF ?
script->functionTemp[1] = duration;
if (!gGameStatusPtr->isBattle) {
if (temp_f20 > 10.0f) {
temp_f20 = 10.0f;
if (magnitude > 10.0f) {
magnitude = 10.0f;
}
phi_f2 = temp_f20;
if (temp_f20 > 6.0f) {
phi_f2 = 6.0f;
rumbleMagnitude = magnitude;
if (rumbleMagnitude > 6.0f) {
rumbleMagnitude = 6.0f;
}
phi_f2 = phi_f2 * 32.0f + 64.0f;
rumbleMagnitude = rumbleMagnitude * 32.0f + 64.0f;
temp_a1 = temp_s4;
if (temp_a1 < 5) {
temp_a1 = 5;
rumbleDuration = duration;
if (rumbleDuration < 5) {
rumbleDuration = 5;
}
start_rumble(phi_f2, (temp_a1 & 0xFFFF) * 2);
start_rumble(rumbleMagnitude, (rumbleDuration & 0xFFFF) * 2);
}
}
camera->flags |= CAM_FLAG_SHAKING;
temp_f2 = script->functionTempF[3];
switch (temp_s3) {
case 0:
guTranslateF(camera->viewMtxShaking, 0.0f, -temp_f2 * temp_f20, 0.0f);
scale = script->functionTempF[3];
switch (shakeMode) {
case CAM_SHAKE_CONSTANT_VERTICAL:
guTranslateF(camera->viewMtxShaking, 0.0f, -scale * magnitude, 0.0f);
script->functionTempF[3] = -script->functionTempF[3];
break;
case 1:
guRotateF(camera->viewMtxShaking, temp_f2 * temp_f20, 0.0f, 0.0f, 1.0f);
case CAM_SHAKE_ANGULAR_HORIZONTAL:
guRotateF(camera->viewMtxShaking, scale * magnitude, 0.0f, 0.0f, 1.0f);
script->functionTempF[3] = -script->functionTempF[3];
break;
case 2:
guTranslateF(camera->viewMtxShaking, 0.0f, -temp_f2 * temp_f20, 0.0f);
if ((script->functionTemp[1] < (temp_s4 * 2)) && (temp_s4 < script->functionTemp[1])) {
case CAM_SHAKE_DECAYING_VERTICAL:
guTranslateF(camera->viewMtxShaking, 0.0f, -scale * magnitude, 0.0f);
if ((script->functionTemp[1] < (duration * 2)) && (duration < script->functionTemp[1])) {
script->functionTempF[3] = script->functionTempF[3] * -0.8;
} else {
script->functionTempF[3] = -script->functionTempF[3];
@ -315,10 +314,10 @@ ApiStatus PanToTarget(Evt* script, s32 isInitialCall) {
camera->unk_506 = 1;
if (targetType != 0) {
camera->followPlayer = 1;
camera->followPlayer = TRUE;
camera->panPhase = panPhase;
} else {
camera->followPlayer = 0;
camera->followPlayer = FALSE;
camera->panPhase = 0.0f;
camera->moveSpeed = 1.0f;
}

View File

@ -977,9 +977,9 @@ s32 evt_trigger_on_activate_exec_script(Trigger* trigger) {
script = start_script((EvtScript*)scriptStart, trigger->priority, 0x20);
trigger->runningScript = script;
trigger->runningScriptID = script->id;
script->varTable[0] = trigger->scriptVars[0];
script->varTable[1] = trigger->scriptVars[1];
script->varTable[2] = trigger->scriptVars[2];
script->varTable[0] = trigger->varTable[0];
script->varTable[1] = trigger->varTable[1];
script->varTable[2] = trigger->varTable[2];
script->owner2.trigger = trigger;
}
@ -1012,9 +1012,9 @@ ApiStatus evt_handle_bind(Evt* script) {
trigger->onTriggerEvt = (EvtScript*)triggerScript;
trigger->runningScript = NULL;
trigger->priority = script->priority;
trigger->scriptVars[0] = evt_get_variable(script, script->varTable[0]);
trigger->scriptVars[1] = evt_get_variable(script, script->varTable[1]);
trigger->scriptVars[2] = evt_get_variable(script, script->varTable[2]);
trigger->varTable[0] = evt_get_variable(script, script->varTable[0]);
trigger->varTable[1] = evt_get_variable(script, script->varTable[1]);
trigger->varTable[2] = evt_get_variable(script, script->varTable[2]);
if (triggerOut != 0) {
evt_set_variable(script, triggerOut, (s32)trigger);
@ -1097,9 +1097,9 @@ s32 evt_trigger_on_activate_lock(Trigger* trigger) {
Evt* newScript = start_script(trigger->onTriggerEvt, trigger->priority, 0x20);
trigger->runningScript = newScript;
trigger->runningScriptID = newScript->id;
newScript->varTable[0] = trigger->scriptVars[0];
newScript->varTable[1] = trigger->scriptVars[1];
newScript->varTable[2] = trigger->scriptVars[2];
newScript->varTable[0] = trigger->varTable[0];
newScript->varTable[1] = trigger->varTable[1];
newScript->varTable[2] = trigger->varTable[2];
newScript->owner2.trigger = trigger;
}
@ -1132,9 +1132,9 @@ ApiStatus evt_handle_bind_lock(Evt* script) {
trigger->onTriggerEvt = (EvtScript*)triggerScript;
trigger->runningScript = NULL;
trigger->priority = script->priority;
trigger->scriptVars[0] = evt_get_variable(script, script->varTable[0]);
trigger->scriptVars[1] = evt_get_variable(script, script->varTable[1]);
trigger->scriptVars[2] = evt_get_variable(script, script->varTable[2]);
trigger->varTable[0] = evt_get_variable(script, script->varTable[0]);
trigger->varTable[1] = evt_get_variable(script, script->varTable[1]);
trigger->varTable[2] = evt_get_variable(script, script->varTable[2]);
return ApiStatus_DONE2;
}

View File

@ -246,7 +246,7 @@ ApiStatus NpcMoveTo(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
script->functionTempNpc[1] = npc;
script->functionTempPtr[1] = npc;
npc->moveToPos.x = goalX;
npc->moveToPos.z = goalZ;
npc->duration = duration;
@ -263,7 +263,7 @@ ApiStatus NpcMoveTo(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
}
npc = script->functionTempNpc[1];
npc = script->functionTempPtr[1];
npc->yaw = atan2(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z);
npc_move_heading(npc, npc->moveSpeed, npc->yaw);
@ -309,7 +309,7 @@ ApiStatus _npc_jump_to(Evt* script, s32 isInitialCall, s32 snapYaw) {
return ApiStatus_DONE2;
}
script->functionTempNpc[1] = npc;
script->functionTempPtr[1] = npc;
npc->moveToPos.x = goalX;
npc->moveToPos.y = goalY;
npc->moveToPos.z = goalZ;
@ -337,7 +337,7 @@ ApiStatus _npc_jump_to(Evt* script, s32 isInitialCall, s32 snapYaw) {
script->functionTemp[0] =1;
}
npc = script->functionTempNpc[1];
npc = script->functionTempPtr[1];
npc_move_heading(npc, npc->moveSpeed, *yaw);
npc->pos.y += npc->jumpVelocity;
@ -379,7 +379,7 @@ ApiStatus NpcFlyTo(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
script->functionTempNpc[1] = npc;
script->functionTempPtr[1] = npc;
npc->moveToPos.x = evt_get_float_variable(script, *args++);
npc->moveToPos.y = evt_get_float_variable(script, *args++);
npc->moveToPos.z = evt_get_float_variable(script, *args++);
@ -401,7 +401,7 @@ ApiStatus NpcFlyTo(Evt* script, s32 isInitialCall) {
}
}
npc = script->functionTempNpc[1];
npc = script->functionTempPtr[1];
npc->pos.x = update_lerp(script->functionTemp[3], *outX, npc->moveToPos.x, npc->duration, script->varTable[6]);
npc->pos.y = update_lerp(script->functionTemp[3], *outY, npc->moveToPos.y, npc->duration, script->varTable[6]);
npc->pos.z = update_lerp(script->functionTemp[3], *outZ, npc->moveToPos.z, npc->duration, script->varTable[6]);
@ -481,7 +481,7 @@ ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) {
*initialYaw = npc->yaw;
*deltaYaw = evt_get_variable(script, *args++) - *initialYaw;
script->functionTempNpc[0] = npc;
script->functionTempPtr[0] = npc;
*turnTime = evt_get_variable(script, *args++);
if (*turnTime == 0) {
@ -499,7 +499,7 @@ ApiStatus InterpNpcYaw(Evt* script, s32 isInitialCall) {
}
}
npc = script->functionTempNpc[0];
npc = script->functionTempPtr[0];
if (*turnTime > 0) {
npc->duration++;
npc->yaw = *initialYaw + ((*deltaYaw * npc->duration) / *turnTime);
@ -529,7 +529,7 @@ ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) {
*initialYaw = npc->yaw;
*deltaYaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z) - *initialYaw;
script->functionTempNpc[0] = npc;
script->functionTempPtr[0] = npc;
*turnTime = evt_get_variable(script, *args++);
npc->duration = 0;
@ -541,7 +541,7 @@ ApiStatus NpcFacePlayer(Evt* script, s32 isInitialCall) {
}
}
npc = script->functionTempNpc[0];
npc = script->functionTempPtr[0];
if (*turnTime > 0) {
npc->duration++;
npc->yaw = *initialYaw + ((*deltaYaw * npc->duration) / *turnTime);
@ -577,7 +577,7 @@ ApiStatus NpcFaceNpc(Evt* script, s32 isInitialCall) {
*initialYaw = turningNpc->yaw;
*deltaYaw = atan2(turningNpc->pos.x, turningNpc->pos.z, targetNpc->pos.x, targetNpc->pos.z) - *initialYaw;
script->functionTempNpc[0] = turningNpc;
script->functionTempPtr[0] = turningNpc;
*turnTime = evt_get_variable(script, *args++);
turningNpc->duration = 0;
@ -589,7 +589,7 @@ ApiStatus NpcFaceNpc(Evt* script, s32 isInitialCall) {
}
}
turningNpc = script->functionTempNpc[0];
turningNpc = script->functionTempPtr[0];
if (*turnTime > 0) {
turningNpc->duration++;
turningNpc->yaw = *initialYaw + ((*deltaYaw * turningNpc->duration) / *turnTime);

View File

@ -671,8 +671,8 @@ Trigger* bind_trigger(EvtScript* script, s32 flags, s32 triggerFlagIndex, s32 tr
trigger->onTriggerEvt = script;
trigger->runningScript = NULL;
trigger->priority = priority;
trigger->scriptVars[0] = triggerVar0;
trigger->scriptVars[1] = triggerVar1;
trigger->varTable[0] = triggerVar0;
trigger->varTable[1] = triggerVar1;
return trigger;
}

View File

@ -694,15 +694,15 @@ void func_801413F8(void) {
gCameras[CAM_CAM3].unk_20 = 0x3CBF;
gCameras[CAM_CAM3].nearClip = 0x10;
gCameras[CAM_CAM3].unk_1C = 0;
gCameras[CAM_CAM3].unk_1E = 0;
gCameras[CAM_CAM3].unk_22 = 0;
gCameras[CAM_CAM3].unk_5C = 0;
gCameras[CAM_CAM3].auxBoomLength = 0;
gCameras[CAM_CAM3].auxBoomPitch = 0;
gCameras[CAM_CAM3].auxPos.z = 0;
gCameras[CAM_CAM3].farClip = 0x4000;
gCameras[CAM_CAM3].bgColor[0] = 0;
gCameras[CAM_CAM3].bgColor[1] = 0;
gCameras[CAM_CAM3].bgColor[2] = 0;
gCameras[CAM_CAM3].unk_54 = 160.0f;
gCameras[CAM_CAM3].unk_58 = -120.0f;
gCameras[CAM_CAM3].auxPos.x = 160.0f;
gCameras[CAM_CAM3].auxPos.y = -120.0f;
gCameras[CAM_CAM3].vfov = 1.0f;
gCameras[CAM_CAM3].flags &= ~0x6;
}

755
src/msg.c

File diff suppressed because it is too large Load Diff

View File

@ -51,19 +51,19 @@ void state_init_file_select(void) {
gCameras[CAM_CAM3].flags |= CAM_FLAG_ENABLED;
gCameras[CAM_DEFAULT].vfov = 25.0f;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].unk_1E = 40;
gCameras[CAM_DEFAULT].auxBoomLength = 40;
gCameras[CAM_DEFAULT].lookAt_eye.x = 500.0f;
gCameras[CAM_DEFAULT].lookAt_eye.y = 1000.0f;
gCameras[CAM_DEFAULT].lookAt_eye.z = 1500.0f;
gCameras[CAM_DEFAULT].unk_5C = 150.0f;
gCameras[CAM_DEFAULT].auxPos.z = 150.0f;
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;
gCameras[CAM_DEFAULT].bgColor[2] = 0;
gCameras[CAM_DEFAULT].unk_54 = 25.0f;
gCameras[CAM_DEFAULT].unk_58 = 25.0f;
gCameras[CAM_DEFAULT].auxPos.x = 25.0f;
gCameras[CAM_DEFAULT].auxPos.y = 25.0f;
gCameras[CAM_DEFAULT].unk_1C = 0;
gCameras[CAM_DEFAULT].unk_20 = 100;
gCameras[CAM_DEFAULT].unk_22 = 0;
gCameras[CAM_DEFAULT].auxBoomPitch = 0;
gOverrideFlags |= GLOBAL_OVERRIDES_WINDOWS_IN_FRONT_OF_CURTAINS;
}

View File

@ -49,19 +49,19 @@ void state_init_logos(void) {
gCameras[CAM_TATTLE].flags |= CAM_FLAG_ENABLED;
gCameras[CAM_CAM3].flags |= CAM_FLAG_ENABLED;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].unk_1E = 0x28;
gCameras[CAM_DEFAULT].auxBoomLength = 40;
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;
gCameras[CAM_DEFAULT].bgColor[2] = 0;
gCameras[CAM_DEFAULT].unk_54 = 25.0f;
gCameras[CAM_DEFAULT].unk_58 = 25.0f;
gCameras[CAM_DEFAULT].auxPos.x = 25.0f;
gCameras[CAM_DEFAULT].auxPos.y = 25.0f;
gCameras[CAM_DEFAULT].unk_1C = 0;
gCameras[CAM_DEFAULT].unk_20 = 100;
gCameras[CAM_DEFAULT].unk_22 = 0;
gCameras[CAM_DEFAULT].auxBoomPitch = 0;
gCameras[CAM_DEFAULT].lookAt_eye.x = 500.0f;
gCameras[CAM_DEFAULT].lookAt_eye.y = 1000.0f;
gCameras[CAM_DEFAULT].lookAt_eye.z = 1500.0f;
gCameras[CAM_DEFAULT].unk_5C = 150.0f;
gCameras[CAM_DEFAULT].auxPos.z = 150.0f;
clear_script_list();
clear_generic_entity_list();
clear_render_tasks();

View File

@ -126,19 +126,19 @@ void state_init_title_screen(void) {
gCameras[CAM_TATTLE].flags |= CAMERA_FLAGS_2;
gCameras[CAM_CAM3].flags |= CAMERA_FLAGS_2;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].unk_1E = 40;
gCameras[CAM_DEFAULT].auxBoomLength = 40;
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;
gCameras[CAM_DEFAULT].bgColor[2] = 0;
gCameras[CAM_DEFAULT].unk_54 = 25.0f;
gCameras[CAM_DEFAULT].unk_58 = 25.0f;
gCameras[CAM_DEFAULT].auxPos.x = 25.0f;
gCameras[CAM_DEFAULT].auxPos.y = 25.0f;
gCameras[CAM_DEFAULT].unk_1C = 0;
gCameras[CAM_DEFAULT].unk_20 = 100;
gCameras[CAM_DEFAULT].unk_22 = 0;
gCameras[CAM_DEFAULT].auxBoomPitch = 0;
gCameras[CAM_DEFAULT].lookAt_eye.x = 500.0f;
gCameras[CAM_DEFAULT].lookAt_eye.y = 1000.0f;
gCameras[CAM_DEFAULT].lookAt_eye.z = 1500.0f;
gCameras[CAM_DEFAULT].unk_5C = 150.0f;
gCameras[CAM_DEFAULT].auxPos.z = 150.0f;
clear_script_list();
clear_generic_entity_list();
clear_render_tasks();

View File

@ -23,6 +23,6 @@ ApiStatus N(func_80243460_95E660)(Evt* script, s32 isInitialCall) {
#define NAMESPACE dro_01
ApiStatus N(func_80243578_95E778)(Evt* script, s32 isInitialCall) {
func_800E96C8();
hide_coin_counter_immediately();
return ApiStatus_DONE2;
}

View File

@ -3,7 +3,7 @@
static char* N(exit_str_0) = "jan_09";
static char* N(exit_str_1) = "";
INCLUDE_ASM(s32, "world/area_jan/jan_11/B70860", func_80240000_B70860);
#include "world/common/DarkRoom.inc.c"
#include "world/common/SetPlayerStatusAnimFlags100000.inc.c"

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "kgr_02";
static char* N(exit_str_1) = "mac_05";
INCLUDE_ASM(s32, "world/area_kgr/kgr_01/8A9A10", func_80240000_8A9A10);
#include "world/common/DarkRoom.inc.c"

View File

@ -1,9 +1,98 @@
#include "kgr_01.h"
INCLUDE_ASM(s32, "world/area_kgr/kgr_01/8A9B70", func_80240160_8A9B70);
void mdl_get_copied_vertices(s32 copyIndex, Vtx** firstVertex, Vtx** copiedVertices, s32* numCopied);
Gfx* mdl_get_copied_gfx(s32 copyIndex);
INCLUDE_ASM(s32, "world/area_kgr/kgr_01/8A9B70", func_80240354_8A9D64);
#define TONGUE_WIGGLE_RATE 10
INCLUDE_ASM(s32, "world/area_kgr/kgr_01/8A9B70", func_802403E0_8A9DF0);
extern u16 N(TongueWiggleTime); // tongue wiggle rate
INCLUDE_ASM(s32, "world/area_kgr/kgr_01/8A9B70", func_80240500_8A9F10);
void N(add_tongue_deformation)(Vtx* src, Vtx* dest, s32 numVertices, s32 time) {
PlayerStatus* player = &gPlayerStatus;
Vtx_t* vs;
Vtx_t* vd;
s32 dx;
s32 dz;
s32 offset;
s32 pct;
s32 i;
for (i = 0; i < numVertices; i++) {
vs = &src[i].v;
vd = &dest[i].v;
// base y-offset goes from 0-5 based on radial distance to player,
// with 0 at the closest and 5 when distance squared > 1000.
// this creates the depression of the tongue where the player is standing.
dx = vd->ob[0] - player->position.x;
dz = vd->ob[2] - player->position.z;
offset = ((dx * dx) + (dz * dz)) / 100;
if (offset > 10) {
offset = 10;
}
offset /= 2;
// space-based and time-based undulations are the second componet of the y-offset
// reuse of the pct variable is not ideal, but required to match
pct = 2.0f + 2.0f * sin_rad(
(f32)vd->ob[0] * 0.06 +
(f32)vd->ob[2] * 0.03f +
time * 0.01f);
offset += pct;
// modulate y-offset based on vertex x-position
// this anchors the tongue in the back of the throat and makes the unudulations
// more prominent closer toward the tip of the tongue
pct = 200 - vd->ob[0];
if (pct < 0) {
pct = 0;
}
if (pct > 100) {
pct = 100;
}
offset = offset * pct / 100;
vd->ob[1] = vs->ob[1] + offset;
}
}
// conforms to ModelCustomGfxBuilderFunc
void N(make_tongue_gfx)(s32 index) {
Vtx* vtxSrc;
Vtx* vtxCopy;
s32 numCopied;
mdl_get_copied_vertices(1, &vtxSrc, &vtxCopy, &numCopied);
N(add_tongue_deformation)(vtxSrc, vtxCopy, numCopied, N(TongueWiggleTime));
gSPDisplayList(gMasterGfxPos++, mdl_get_copied_gfx(1));
N(TongueWiggleTime) += TONGUE_WIGGLE_RATE;
}
// stores the effective height offset of the tongue at a point given by Var0/Var1/Var2
// in Var0. this value is the offset from a neutral position used for collision,
// ignoring minor undulations and deformation imposed by the player.
ApiStatus N(GetEffectiveTongueOffset)(Evt* script, s32 isInitialCall) {
f32 amplitude = 2.0f * sin_rad(
(f32)script->varTable[0] * 0.06 +
(f32)script->varTable[2] * 0.03f +
(f32)N(TongueWiggleTime) * 0.01f);
f32 percent = 200.0f - (f32)script->varTable[0];
if (percent < 0.0f){
percent = 0.0f;
}
if (percent > 100.0f){
percent = 100.0f;
}
amplitude = (amplitude * percent) / 100.0f;
script->varTable[0] = EVT_FIXED(amplitude);
return ApiStatus_DONE2;
}
ApiStatus N(HasBombetteExploded)(Evt* script, s32 isInitialCall) {
if (gCollisionStatus.bombetteExploded >= 0) {
script->varTable[1] = TRUE;
}
return ApiStatus_DONE2;
}

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "kgr_01";
static char* N(exit_str_1) = "mac_05";
INCLUDE_ASM(s32, "world/area_kgr/kgr_02/8AA450", func_80240000_8AA450);
#include "world/common/DarkRoom.inc.c"

View File

@ -1,7 +1,24 @@
#include "kgr_02.h"
INCLUDE_ASM(s32, "world/area_kgr/kgr_02/8AAB80", func_80240730_8AAB80);
ApiStatus func_80240730_8AAB80(Evt* script, s32 isInitialCall) {
if (gPartnerActionStatus.actionState.b[3] == 6) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
INCLUDE_ASM(s32, "world/area_kgr/kgr_02/8AAB80", func_80240748_8AAB98);
INCLUDE_ASM(s32, "world/area_kgr/kgr_02/8AAB80", func_80240760_8AABB0);
ApiStatus func_80240748_8AAB98(Evt* script, s32 isInitialCall) {
if (gPartnerActionStatus.actionState.b[3] != 6) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus N(HasBombetteExploded)(Evt* script, s32 isInitialCall) {
if (gCollisionStatus.bombetteExploded >= 0) {
script->varTable[1] = TRUE;
}
return ApiStatus_DONE2;
}

View File

@ -21,6 +21,6 @@ EvtScript N(PlayMusic) = {
};
ApiStatus GetGoomba(Evt* script, s32 isInitialCall) {
script->varTableEnemy[0] = get_enemy_safe(NPC_GOOMBA);
script->varTablePtr[0] = get_enemy_safe(NPC_GOOMBA);
return ApiStatus_DONE2;
}

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "kpa_14";
static char* N(exit_str_1) = "kpa_03";
INCLUDE_ASM(s32, "world/area_kpa/kpa_01/A46F60", func_80240000_A46F60);
#include "world/common/DarkRoom.inc.c"

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "kpa_01";
static char* N(exit_str_1) = "kpa_04";
INCLUDE_ASM(s32, "world/area_kpa/kpa_03/A485C0", func_80240000_A485C0);
#include "world/common/DarkRoom.inc.c"

View File

@ -41,4 +41,16 @@ static char* N(exit_str_3) = "";
#include "world/common/UnkNpcAIMainFunc.inc.c"
INCLUDE_ASM(s32, "world/area_mgm/mgm_00/E0E7A0", func_80241170_E0F910);
/* N(GetAvailableGamesCount) */
ApiStatus func_80241170_E0F910(Evt* script, s32 isInitialCall) {
s32 numGames = 0;
if (find_item(ITEM_GOLD_CREDIT) >= 0) {
numGames = 2;
} else if (find_item(ITEM_SILVER_CREDIT) >= 0) {
numGames = 1;
}
evt_set_variable(script, LW(5), numGames);
return ApiStatus_DONE2;
}

View File

@ -1,9 +1,139 @@
#include "mgm_00.h"
INCLUDE_ASM(s32, "world/area_mgm/mgm_00/E0F980", func_802411E0_E0F980);
void snd_start_sound(s32 soundID, u8 volume, u8 pan);
void msg_draw_frame(s32 posX, s32 posY, s32 sizeX, s32 sizeY, s32 style, s32 palette, s32 fading, s32 bgAlpha, s32 frameAlpha);
INCLUDE_ASM(s32, "world/area_mgm/mgm_00/E0F980", func_80241540_E0FCE0);
extern Gfx D_80243C50_E123F0[];
INCLUDE_ASM(s32, "world/area_mgm/mgm_00/E0F980", func_802416C0_E0FE60);
#define RECORD_DISPLAY_MAP_VAR 0xA
#define MINIGAME_TYPE_SMASH 0
#define MINIGAME_TYPE_JUMP 1
INCLUDE_ASM(s32, "world/area_mgm/mgm_00/E0F980", func_802416F8_E0FE98);
#define FADE_IN_TIME 5
#define FADE_OUT_TIME 5
typedef enum RecordDisplayState {
RECORD_START_SHOW = 0,
RECORD_STATE_FADE_IN = 1,
RECORD_STATE_VISIBLE = 2,
RECORD_START_HIDE = 3,
RECORD_STATE_FADE_OUT = 4,
RECORD_STATE_DONE = 5
} RecordDisplayState;
typedef struct RecordDisplayData {
/* 0x00 */ RecordDisplayState state;
/* 0x04 */ s32 stateTimer;
/* 0x08 */ s32 gameType;
/* 0x0C */ s32 alpha;
/* 0x10 */ s32 curAlpha;
/* 0x14 */ s32 workerID;
} RecordDisplayData; /* size = 0x18 */
void N(draw_record_display)(RecordDisplayData* data, s32 alpha) {
if (alpha > 0) {
gSPDisplayList(gMasterGfxPos++, D_80243C50_E123F0);
gDPPipeSync(gMasterGfxPos++);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 16, 120, 24, alpha * 0.65);
gDPFillRectangle(gMasterGfxPos++, 48, 53, 272, 129);
gDPPipeSync(gMasterGfxPos++);
msg_draw_frame(45, 50, 230, 82, 6, 0, 1, (s32)(alpha * 0.55), alpha); // cast needed if signature isn't present
if (data->gameType == MINIGAME_TYPE_JUMP) {
draw_msg(MESSAGE_ID(0x8,0x1C), 66, 57, alpha, MSG_PAL_TEAL, 0);
draw_number(gPlayerData.jumpGamePlays, 219, 78, TRUE, MSG_PAL_WHITE, alpha, 3);
draw_number(gPlayerData.jumpGameTotal, 219, 93, TRUE, MSG_PAL_WHITE, alpha, 3);
draw_number(gPlayerData.jumpGameRecord, 219, 108, TRUE, MSG_PAL_WHITE, alpha, 3);
} else {
draw_msg(MESSAGE_ID(0x8,0x1D), 64, 57, alpha, MSG_PAL_TEAL, 0);
draw_number(gPlayerData.smashGamePlays, 219, 78, TRUE, MSG_PAL_WHITE, alpha, 3);
draw_number(gPlayerData.smashGameTotal, 219, 93, TRUE, MSG_PAL_WHITE, alpha, 3);
draw_number(gPlayerData.smashGameRecord, 219, 108, TRUE, MSG_PAL_WHITE, alpha, 3);
}
draw_msg(MESSAGE_ID(0x8,0x1E), 58, 78, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_msg(MESSAGE_ID(0x8,0x23), 223, 78, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_msg(MESSAGE_ID(0x8,0x1F), 58, 93, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_msg(MESSAGE_ID(0x8,0x21), 223, 93, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_msg(MESSAGE_ID(0x8,0x20), 58, 108, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
draw_msg(MESSAGE_ID(0x8,0x21), 223, 108, alpha, MSG_PAL_WHITE, DRAW_MSG_STYLE_MENU);
}
}
void N(animate_and_draw_record)(void* renderData) {
RecordDisplayData* data = (RecordDisplayData*)evt_get_variable(NULL, GW(RECORD_DISPLAY_MAP_VAR));
switch (data->state) {
case RECORD_START_SHOW:
data->stateTimer = 0;
data->state = RECORD_STATE_FADE_IN;
snd_start_sound(SOUND_21C, 0, 0);
// fallthrough
case RECORD_STATE_FADE_IN:
data->stateTimer++;
data->alpha = update_lerp(EASING_LINEAR, 32.0f, 255.0f, data->stateTimer, FADE_IN_TIME);
data->curAlpha = data->alpha;
if (data->stateTimer >= FADE_IN_TIME) {
data->state = RECORD_STATE_VISIBLE;
data->alpha = 255;
data->curAlpha = 255;
}
break;
case RECORD_STATE_VISIBLE:
data->alpha = 255;
data->curAlpha = 255;
if (gGameStatusPtr->currentButtons & (BUTTON_A | BUTTON_B)) {
data->state = RECORD_START_HIDE;
}
if (data->state != RECORD_START_HIDE) {
break;
}
// fallthrough
case RECORD_START_HIDE:
data->stateTimer = 0;
data->state = RECORD_STATE_FADE_OUT;
snd_start_sound(SOUND_MENU_BACK, 0, 0);
// fallthrough
case RECORD_STATE_FADE_OUT:
data->stateTimer++;
data->alpha = update_lerp(EASING_LINEAR, data->curAlpha, 0.0f, data->stateTimer, FADE_OUT_TIME);
if (data->stateTimer >= FADE_OUT_TIME) {
data->state = RECORD_STATE_DONE;
}
break;
}
N(draw_record_display)(data, data->alpha);
}
void N(work_draw_record)(void) {
RenderTask task;
task.renderMode = RENDER_MODE_2D;
task.appendGfxArg = 0;
task.appendGfx = &N(animate_and_draw_record);
task.distance = 0;
queue_render_task(&task);
}
ApiStatus N(UpdateRecordDisplay)(Evt* script, s32 isInitialCall) {
RecordDisplayData* data;
Bytecode* args = script->ptrReadPos;
s32 gameType = evt_get_variable(script, *args++);
if (isInitialCall) {
data = heap_malloc(sizeof(RecordDisplayData));
script->functionTempPtr[0] = data;
data->state = RECORD_START_SHOW;
data->alpha = 255;
data->workerID = create_generic_entity_world(NULL, &N(work_draw_record));
data->gameType = gameType;
evt_set_variable(script, GW(RECORD_DISPLAY_MAP_VAR), (s32)data);
}
data = script->functionTempPtr[0];
if (data->state == RECORD_STATE_DONE) {
free_generic_entity(data->workerID);
heap_free(data);
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}

View File

@ -1,3 +1,38 @@
#include "mgm_01.h"
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12760", func_80240000_E12760);
/* N(GetSpotlightPos) */
ApiStatus func_80240000_E12760(Evt* script, s32 isInitialCall) {
SpriteShadingProfile* shading;
f32 spotLightPosX, spotLightPosZ;
f32 lightBeamRotX, lightBeamRotZ;
spotLightPosX = gPlayerStatusPtr->position.x;
if (spotLightPosX < -95.0) {
spotLightPosX = -95.0;
}
if (spotLightPosX > 95.0) {
spotLightPosX = 95.0;
}
spotLightPosZ = gPlayerStatusPtr->position.z;
if (spotLightPosZ < -80.0) {
spotLightPosZ = -80.0;
}
if (spotLightPosZ > 80.0) {
spotLightPosZ = 80.0;
}
lightBeamRotX = spotLightPosZ * -0.35 * 0.3;
lightBeamRotZ = spotLightPosX * 0.35;
evt_set_float_variable(script, LW(0), spotLightPosX);
evt_set_float_variable(script, LW(1), spotLightPosZ);
evt_set_float_variable(script, LW(2), lightBeamRotX);
evt_set_float_variable(script, LW(3), lightBeamRotZ);
shading = D_80151328;
shading->sources[0].pos.x = gPlayerStatusPtr->position.x * 0.8;
shading->sources[0].pos.y = 80.0f;
shading->sources[0].pos.z = gPlayerStatusPtr->position.z + 50.0f;
return ApiStatus_DONE2;
}

View File

@ -1,59 +1,691 @@
#include "mgm_01.h"
#include "hud_element.h"
#include "effects.h"
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802401D0_E12930);
void delete_entity(s32 entityIndex);
void set_message_images(MessageImageData* images);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802403C4_E12B24);
#define SCOREKEEPER_ENEMY_IDX 0
#define BROKEN_BLOCKS_VAR_IDX 2
#define TOTAL_BLOCKS_VAR_IDX 4
#define JUMP_DATA_VAR_IDX 5
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802403FC_E12B5C);
#define PLAY_COST 10
#define NUM_BLOCKS 11
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240438_E12B98);
typedef enum JumpGamePanelType {
PANEL_1_COIN = 0,
PANEL_5_COINS = 1,
PANEL_TIMES_5 = 2,
PANEL_BOWSER = 3
} JumpGamePanelType;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_8024045C_E12BBC);
typedef enum JumpGamePanelState {
PANEL_STATE_INIT = 0,
PANEL_STATE_START_ANIM = 1,
PANEL_STATE_EMERGE_INIT = 2,
PANEL_STATE_EMERGE_UPDATE = 3,
PANEL_STATE_HOLD_INIT = 4,
PANEL_STATE_HOLD_UPDATE = 5,
PANEL_STATE_TO_TALLY_INIT = 6,
PANEL_STATE_TO_TALLY_UPDATE = 7,
PANEL_STATE_STOP_ANIM = 8,
PANEL_STATE_DONE = 9
} JumpGamePanelState;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_8024050C_E12C6C);
// the panels found by breaking brick blocks
typedef struct JumpGamePanel {
/* 0x00 */ JumpGamePanelState state;
/* 0x04 */ s32 modelID;
/* 0x08 */ JumpGamePanelType type;
/* 0x0C */ s32 blockPosIndex;
/* 0x10 */ s32 tallyPosIndex;
/* 0x14 */ s32 entityIndex;
/* 0x18 */ s32 lerpElapsed;
/* 0x1C */ s32 lerpDuration;
/* 0x20 */ Vec3f curPos;
/* 0x2C */ Vec3f startPos;
/* 0x38 */ Vec3f endPos;
/* 0x44 */ f32 curAngle;
/* 0x48 */ f32 startAngle;
/* 0x4C */ f32 endAngle;
/* 0x50 */ f32 curScale;
/* 0x50 */ f32 startScale;
/* 0x50 */ f32 endScale;
} JumpGamePanel; /* size = 5C */
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_8024058C_E12CEC);
typedef struct JumpGameData {
/* 0x000 */ s32 workerID;
/* 0x004 */ s32 hudElemID;
/* 0x008 */ s32 unk_08; // unused -- likely hudElemID for an unused/removed hud element
/* 0x00C */ s32 currentScore;
/* 0x010 */ s32 targetScore;
/* 0x014 */ s32 scoreWindowPosX;
/* 0x018 */ s32 scoreWindowPosY; // unused -- posY is hard-coded while drawing the box
/* 0x01C */ s32 type[NUM_BLOCKS];
/* 0x048 */ s32 breakHistory[NUM_BLOCKS];
/* 0x074 */ JumpGamePanel panels[NUM_BLOCKS];
} JumpGameData; /* size = 0x468 */
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802406C4_E12E24);
extern EntityBlueprint D_802EA0C4;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802407E4_E12F44);
extern s32 MessagePlural;
extern s32 MessageSingular;
extern MessageImageData N(MsgImgs_Panels);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_8024084C_E12FAC);
extern s8 N(BlockPosX)[NUM_BLOCKS];
extern s8 N(BlockPosY)[NUM_BLOCKS];
extern s8 N(BlockPosZ)[NUM_BLOCKS];
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802408EC_E1304C);
extern f32 N(TallyPosX)[NUM_BLOCKS];
extern f32 N(TallyPosY)[NUM_BLOCKS];
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240AAC_E1320C);
extern s32 N(PanelModelIDs)[NUM_BLOCKS];
extern JumpGamePanelType N(PanelTypes)[NUM_BLOCKS];
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240BF4_E13354);
extern JumpGamePanelType N(InitialConfigurations)[4][NUM_BLOCKS];
extern EvtScript* D_802435E8_E15D48[NUM_BLOCKS];
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240C54_E133B4);
extern EvtScript D_80242310;
extern EvtScript D_80242330;
extern EvtScript D_80242350;
extern EvtScript D_80242370;
extern EvtScript D_80242390;
extern EvtScript D_802423B0;
extern EvtScript D_802423D0;
extern EvtScript D_802423F0;
extern EvtScript D_80242410;
extern EvtScript D_80242430;
extern EvtScript D_80242450;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240CD0_E13430);
void N(draw_score_display) (void* renderData) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
JumpGameData* data = (JumpGameData*)scorekeeper->varTable[JUMP_DATA_VAR_IDX];
s32 hudElemID;
s32 diff;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240D84_E134E4);
if (scorekeeper->varTable[BROKEN_BLOCKS_VAR_IDX] == -1) {
if (data->scoreWindowPosX < SCREEN_WIDTH + 1) {
data->scoreWindowPosX += 10;
if (data->scoreWindowPosX > SCREEN_WIDTH + 1) {
data->scoreWindowPosX = SCREEN_WIDTH + 1;
}
}
} else {
if (data->scoreWindowPosX > 220) {
data->scoreWindowPosX -= 10;
if (data->scoreWindowPosX < 220) {
data->scoreWindowPosX = 220;
}
}
}
if (data->scoreWindowPosX < SCREEN_WIDTH + 1) {
draw_box(0, 9, data->scoreWindowPosX, 28, 0, 72, 20, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
hudElemID = data->hudElemID;
hud_element_set_render_pos(hudElemID, data->scoreWindowPosX + 15, 39);
hud_element_draw_clipped(hudElemID);
if (data->currentScore > data->targetScore) {
data->currentScore = data->targetScore;
} else if (data->currentScore < data->targetScore) {
diff = data->targetScore - data->currentScore;
if (diff > 100) {
data->currentScore += 40;
} else if (diff > 75) {
data->currentScore += 35;
} else if (diff > 50) {
data->currentScore += 30;
} else if (diff > 30) {
data->currentScore += 20;
} else if (diff > 20) {
data->currentScore += 10;
} else if (diff > 10) {
data->currentScore += 5;
} else if (diff > 5) {
data->currentScore += 2;
} else {
data->currentScore++;
}
sfx_play_sound_with_params(SOUND_211, 0, 0x40, 0x32);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240DB8_E13518);
}
draw_number(data->currentScore, data->scoreWindowPosX + 63, 32, 1, 0, 255, 3);
}
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240ECC_E1362C);
void N(work_draw_score)(void) {
RenderTask task;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80240F90_E136F0);
task.renderMode = RENDER_MODE_2D;
task.appendGfxArg = 0;
task.appendGfx = &mgm_01_draw_score_display;
task.distance = 0;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241090_E137F0);
queue_render_task(&task);
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241234_E13994);
ApiStatus N(DisableMenus)(Evt* script, s32 isInitialCall) {
gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_MENUS;
func_800E9894();
close_status_menu();
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241510_E13C70);
ApiStatus N(EnableMenus)(Evt* script, s32 isInitialCall) {
gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_MENUS;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241574_E13CD4);
// arg0: index
ApiStatus N(GetPanelInfo)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802415EC_E13D4C);
evt_set_variable(script, LW(0), data->panels[index].state);
evt_set_variable(script, LW(1), data->panels[index].modelID);
evt_set_variable(script, LW(2), data->panels[index].type);
evt_set_variable(script, LW(3), data->panels[index].tallyPosIndex);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241690_E13DF0);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802416CC_E13E2C);
// arg0: index, arg1: newState
ApiStatus N(SetPanelState)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
s32 value = evt_get_variable(script, *args++);
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_802416F8_E13E58);
data->panels[index].state = value;
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241760_E13EC0);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_mgm/mgm_01/E12930", func_80241780_E13EE0);
// arg0: index, arg1: newState
ApiStatus N(InitPanelEmergeFromBlock)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
s32 blockPosIndex;
data->panels[index].lerpElapsed = 0;
data->panels[index].lerpDuration = 5;
blockPosIndex = data->panels[index].blockPosIndex;
data->panels[index].curPos.x = N(BlockPosX)[blockPosIndex];
data->panels[index].curPos.y = N(BlockPosY)[blockPosIndex] + 15.0;
data->panels[index].curPos.z = N(BlockPosZ)[blockPosIndex] + 12;
data->panels[index].startPos.x = data->panels[index].curPos.x;
data->panels[index].startPos.y = data->panels[index].curPos.y;
data->panels[index].startPos.z = data->panels[index].curPos.z;
data->panels[index].endPos.x = data->panels[index].curPos.x;
data->panels[index].endPos.y = data->panels[index].curPos.y + 35.0;
data->panels[index].endPos.z = data->panels[index].curPos.z;
data->panels[index].curAngle = 0;
data->panels[index].endScale = 2.0;
data->panels[index].curScale = 1.0;
data->panels[index].startScale = 1.0;
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(UpdatePanelEmergeFromBlock)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
data->panels[index].curPos.x = update_lerp(EASING_QUADRATIC_OUT,
data->panels[index].startPos.x, data->panels[index].endPos.x,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curPos.y = update_lerp(EASING_QUADRATIC_OUT,
data->panels[index].startPos.y, data->panels[index].endPos.y,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curPos.z = update_lerp(EASING_QUADRATIC_OUT,
data->panels[index].startPos.z, data->panels[index].endPos.z,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curScale = update_lerp(EASING_LINEAR,
data->panels[index].startScale, data->panels[index].endScale,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].lerpElapsed++;
if (data->panels[index].lerpElapsed >= data->panels[index].lerpDuration) {
evt_set_variable(script, LW(3), TRUE);
} else {
evt_set_variable(script, LW(3), FALSE);
}
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(InitPanelHoldAboveBlock)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
data->panels[index].lerpElapsed = 0;
data->panels[index].lerpDuration = 10;
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(UpdatetPanelHoldAboveBlock)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
data->panels[index].lerpElapsed++;
if (data->panels[index].lerpElapsed >= data->panels[index].lerpDuration) {
evt_set_variable(script, LW(3), TRUE);
} else {
evt_set_variable(script, LW(3), FALSE);
}
return ApiStatus_DONE2;
}
// arg0: index, arg1: newState
ApiStatus N(InitPanelMoveToTally)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
f32 dist;
data->panels[index].lerpElapsed = 0;
data->panels[index].curAngle = 0;
data->panels[index].startAngle = 0;
data->panels[index].startPos.x = data->panels[index].curPos.x;
data->panels[index].startPos.y = data->panels[index].curPos.y;
data->panels[index].startPos.z = data->panels[index].curPos.z;
data->panels[index].startScale = data->panels[index].curScale;
if (data->panels[index].type != PANEL_BOWSER) {
data->panels[index].endPos.x = N(TallyPosX)[data->panels[index].tallyPosIndex];
data->panels[index].endPos.y = N(TallyPosY)[data->panels[index].tallyPosIndex];
data->panels[index].endPos.z = 110.0f;
data->panels[index].endAngle = 360.0f;
data->panels[index].endScale = 1.0f;
} else {
data->panels[index].endPos.x = 0;
data->panels[index].endPos.y = 100.0f;
data->panels[index].endPos.z = 120.0f;
data->panels[index].endAngle = 720.0f;
data->panels[index].endScale = 4.0f;
}
dist = dist3D(
data->panels[index].startPos.x, data->panels[index].startPos.y, data->panels[index].startPos.z,
data->panels[index].endPos.x, data->panels[index].endPos.y, data->panels[index].endPos.z);
if (data->panels[index].type != PANEL_BOWSER) {
data->panels[index].lerpDuration = (dist * 0.125) + 0.5;
} else {
data->panels[index].lerpDuration = (dist / 5.0) + 0.5;
}
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(UpdatePanelMoveToTally)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
data->panels[index].lerpElapsed++;
data->panels[index].curPos.x = update_lerp(EASING_QUADRATIC_OUT,
data->panels[index].startPos.x, data->panels[index].endPos.x,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curPos.y = update_lerp(EASING_QUADRATIC_OUT,
data->panels[index].startPos.y, data->panels[index].endPos.y,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curPos.z = update_lerp(EASING_LINEAR,
data->panels[index].startPos.z, data->panels[index].endPos.z,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curAngle = update_lerp(EASING_LINEAR,
data->panels[index].startAngle, data->panels[index].endAngle,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
data->panels[index].curScale = update_lerp(EASING_LINEAR,
data->panels[index].startScale, data->panels[index].endScale,
data->panels[index].lerpElapsed, data->panels[index].lerpDuration);
if (data->panels[index].lerpElapsed >= data->panels[index].lerpDuration) {
evt_set_variable(script, LW(3), TRUE);
} else {
evt_set_variable(script, LW(3), FALSE);
}
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(EndPanelAnimation)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
data->panels[index].curAngle = 0;
return ApiStatus_DONE2;
}
ApiStatus N(UpdateRecords)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
PlayerData* player = &gPlayerData;
player->jumpGameTotal += data->currentScore;
if (player->jumpGameTotal > 99999) {
player->jumpGameTotal = 99999;
}
if (player->jumpGameRecord < data->currentScore) {
player->jumpGameRecord = data->currentScore;
}
set_message_value(data->currentScore, 0);
return ApiStatus_DONE2;
}
ApiStatus N(GiveCoinReward)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
s32 coinsLeft = data->currentScore;
s32 increment;
if (coinsLeft > 100) {
increment = 40;
} else if (coinsLeft > 75) {
increment = 35;
} else if (coinsLeft > 50) {
increment = 30;
} else if (coinsLeft > 30) {
increment = 10;
} else if (coinsLeft > 20) {
increment = 5;
} else if (coinsLeft > 10) {
increment = 2;
} else {
increment = 1;
}
data->currentScore -= increment;
add_coins(increment);
data->targetScore = data->currentScore;
sfx_play_sound(SOUND_211);
if (data->currentScore > 0) {
return ApiStatus_BLOCK;
} else {
return ApiStatus_DONE2;
}
}
ApiStatus N(DoubleScore)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
s32 score = 2 * data->currentScore;
data->currentScore = score;
data->targetScore = score;
return ApiStatus_DONE2;
}
ApiStatus N(EndBowserPanelAnimation)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
s32 i;
for (i = 0; i < ARRAY_COUNT(data->panels); i++) {
if (data->panels[i].type == PANEL_BOWSER && data->panels[i].state == PANEL_STATE_DONE)
break;
}
data->panels[i].curPos.x = N(TallyPosX)[data->panels[i].tallyPosIndex];
data->panels[i].curPos.y = N(TallyPosY)[data->panels[i].tallyPosIndex];
data->panels[i].curPos.z = 110.0f;
evt_set_variable(script, LW(1), data->panels[i].modelID);
evt_set_float_variable(script, LW(5), data->panels[i].curPos.x);
evt_set_float_variable(script, LW(6), data->panels[i].curPos.y);
evt_set_float_variable(script, LW(7), data->panels[i].curPos.z);
return ApiStatus_DONE2;
}
// arg0: index
ApiStatus N(GetPanelPos)(Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
evt_set_float_variable(script, LW(5), data->panels[index].curPos.x);
evt_set_float_variable(script, LW(6), data->panels[index].curPos.y);
evt_set_float_variable(script, LW(7), data->panels[index].curPos.z);
evt_set_float_variable(script, LW(8), data->panels[index].curAngle);
evt_set_float_variable(script, LW(9), data->panels[index].curScale);
return ApiStatus_DONE2;
}
ApiStatus N(DestroyBlockEntities) (Evt* script, s32 isInitialCall) {
JumpGameData* data = (JumpGameData*)get_enemy(SCOREKEEPER_ENEMY_IDX)->varTable[JUMP_DATA_VAR_IDX];
s32 i;
for (i = 0; i < ARRAY_COUNT(data->panels); i++) {
if (data->panels[i].entityIndex >= 0) {
fx_walking_dust(1, N(BlockPosX)[i], N(BlockPosY)[i] + 13, N(BlockPosZ)[i] + 5, 0, 0);
delete_entity(data->panels[i].entityIndex);
}
}
sfx_play_sound_with_params(SOUND_283, 0x50, 0, 0);
return ApiStatus_DONE2;
}
ApiStatus N(OnBreakBlock)(Evt* script, s32 isInitialCall) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
JumpGameData* data = (JumpGameData*)scorekeeper->varTable[JUMP_DATA_VAR_IDX];
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
s32 blockType = data->type[index];
s32 historyPos = scorekeeper->varTable[BROKEN_BLOCKS_VAR_IDX];
s32 coins = 0;
s32 i;
data->breakHistory[historyPos] = blockType;
data->panels[index].entityIndex = -1;
for (i = 0; i < historyPos + 1; i++) {
switch (data->breakHistory[i]) {
case PANEL_1_COIN: coins += 1; break;
case PANEL_5_COINS: coins += 5; break;
case PANEL_TIMES_5: coins *= 5; break;
case PANEL_BOWSER: sfx_play_sound(SOUND_MENU_ERROR); coins = 0; break;
}
}
data->targetScore = coins;
for (i = 0; i < ARRAY_COUNT(data->panels); i++) {
if (blockType == data->panels[i].type && data->panels[i].state == PANEL_STATE_START_ANIM) {
data->panels[i].state = PANEL_STATE_EMERGE_INIT;
data->panels[i].blockPosIndex = index;
data->panels[i].tallyPosIndex = historyPos;
break;
}
}
scorekeeper->varTable[BROKEN_BLOCKS_VAR_IDX]++;
return ApiStatus_DONE2;
}
ApiStatus N(CreateBlockEntities)(Evt* script, s32 isInitialCall) {
JumpGameData* data = get_enemy(SCOREKEEPER_ENEMY_IDX)->varTablePtr[JUMP_DATA_VAR_IDX];
s32 entityIndex;
s32 initialConfiguration;
s32 indexA, indexB;
s32 curBlockIdx;
s32 temp;
s32 i;
EvtScript* scriptArray[] = {
&D_80242310, &D_80242330, &D_80242350, &D_80242370, &D_80242390, &D_802423B0, &D_802423D0, &D_802423F0,
&D_80242410, &D_80242430, &D_80242450
};
if (isInitialCall) {
// choose one of four initial configurations at random
initialConfiguration = rand_int(1000) % ARRAY_COUNT(N(InitialConfigurations));
for (i = 0; i < NUM_BLOCKS; i++) {
data->type[i] = N(InitialConfigurations)[initialConfiguration][i];
}
// randomly swap 1000 pairs
for (i = 0; i < 1000; i++) {
indexA = rand_int(10000) % NUM_BLOCKS;
indexB = rand_int(10000) % NUM_BLOCKS;
if (indexA != indexB) {
temp = data->type[indexB];
data->type[indexB] = data->type[indexA];
data->type[indexA] = temp;
}
}
script->functionTemp[0] = 0;
script->functionTemp[1] = 0;
}
script->functionTemp[0]--;
if (script->functionTemp[0] <= 0) {
curBlockIdx = script->functionTemp[1];
entityIndex = create_entity(&D_802EA0C4,
N(BlockPosX)[curBlockIdx],
N(BlockPosY)[curBlockIdx],
N(BlockPosZ)[curBlockIdx],
0, 0, 0, 0, MAKE_ENTITY_END);
data->panels[curBlockIdx].entityIndex = entityIndex;
get_entity_by_index(entityIndex)->boundScriptBytecode = scriptArray[curBlockIdx];
fx_sparkles(3,
N(BlockPosX)[curBlockIdx],
N(BlockPosY)[curBlockIdx] + 13,
N(BlockPosZ)[curBlockIdx] + 5,
23.0f);
sfx_play_sound(SOUND_213);
script->functionTemp[0] = 3;
script->functionTemp[1]++;
}
if (script->functionTemp[1] < NUM_BLOCKS) {
return ApiStatus_BLOCK;
} else {
return ApiStatus_DONE2;
}
}
const char* mgm_01_str = "mgm_00";
ApiStatus N(TakeCoinCost)(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
if (isInitialCall) {
playerData->jumpGamePlays++;
script->functionTemp[0] = 0;
}
add_coins(-1);
sfx_play_sound(SOUND_211);
script->functionTemp[0]++;
if (script->functionTemp[0] == PLAY_COST) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus N(InitializePanels)(Evt* script, s32 isInitialCall) {
JumpGameData* data = get_enemy(SCOREKEEPER_ENEMY_IDX)->varTablePtr[JUMP_DATA_VAR_IDX];
s32 i;
data->currentScore = 0;
data->targetScore = 0;
for (i = 0; i < ARRAY_COUNT(data->panels); i++) {
data->panels[i].state = PANEL_STATE_INIT;
data->panels[i].modelID = N(PanelModelIDs)[i];
data->panels[i].type = N(PanelTypes)[i];
data->panels[i].tallyPosIndex = -1;
}
return ApiStatus_DONE2;
}
ApiStatus N(CreateMinigame)(Evt* script, s32 isInitialCall) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
JumpGameData* data = general_heap_malloc(sizeof(JumpGameData));
s32 hudElemID;
scorekeeper->varTablePtr[JUMP_DATA_VAR_IDX] = data;
data->workerID = create_generic_entity_world(NULL, &mgm_01_work_draw_score);
hudElemID = hud_element_create(HudScript_StatusCoin);
data->hudElemID = hudElemID;
hud_element_set_flags(data->hudElemID, HUD_ELEMENT_FLAGS_80);
hud_element_set_tint(data->hudElemID, 255, 255, 255);
data->scoreWindowPosX = SCREEN_WIDTH + 1;
data->scoreWindowPosY = 28;
func_800E9894();
close_status_menu();
return ApiStatus_DONE2;
}
ApiStatus N(DestroyMinigame) (Evt* script, s32 isInitialCall) {
JumpGameData* data = get_enemy(SCOREKEEPER_ENEMY_IDX)->varTablePtr[JUMP_DATA_VAR_IDX];
free_generic_entity(data->workerID);
hud_element_free(data->hudElemID);
return ApiStatus_DONE2;
}
ApiStatus N(GetCoinCount)(Evt* script, s32 isInitialCall) {
evt_set_variable(script, LW(0xA), gPlayerData.coins);
return ApiStatus_DONE2;
}
ApiStatus N(SetMsgVars_BlocksRemaining)(Evt* script, s32 isInitialCall) {
Enemy* scorekeeper = get_enemy(SCOREKEEPER_ENEMY_IDX);
s32 remaining = (scorekeeper->varTable[TOTAL_BLOCKS_VAR_IDX] - scorekeeper->varTable[BROKEN_BLOCKS_VAR_IDX]) + 1;
set_message_value(remaining, 0);
set_message_msg((remaining == 1) ? (s32)&MessageSingular : (s32)&MessagePlural, 1);
return ApiStatus_DONE2;
}
ApiStatus N(HideCoinCounter)(Evt* script, s32 isInitialCall) {
hide_coin_counter_immediately();
return ApiStatus_DONE2;
}
ApiStatus N(SetMsgImgs_Panels)(Evt* script, s32 isInitialCall) {
set_message_images(&N(MsgImgs_Panels));
return ApiStatus_DONE2;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,10 @@
#include "mgm_02.h"
INCLUDE_ASM(s32, "world/area_mgm/mgm_02/E18150", func_802423D0_E18150);
void set_message_images(MessageImageData* images);
extern MessageImageData N(MsgImg_PeachPanel);
ApiStatus N(SetMsgImgs_Panel)(Evt* script, s32 isInitialCall) {
set_message_images(&N(MsgImg_PeachPanel));
return ApiStatus_DONE2;
}

View File

@ -163,7 +163,7 @@ ApiStatus func_80240574_9EE164(Evt* evt, s32 isInitialCall) {
ApiStatus func_80240630_9EE220(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 evtVar = evt_get_variable(script, *args++);
Bytecode outVar = *args++;;
Bytecode outVar = *args++;
evtVar %= 6;
if (evtVar < 4) {

View File

@ -2,7 +2,7 @@
#include "world/common/UnkFunc41.inc.c"
INCLUDE_ASM(s32, "world/area_omo/omo_12/DDF310", func_80240184_DDF494);
#include "world/common/DarkRoom.inc.c"
#include "world/common/SetCamera0Flag1000.inc.c"

View File

@ -3,4 +3,4 @@
static char* N(exit_str_0) = "omo_02";
static char* N(exit_str_1) = "omo_15";
INCLUDE_ASM(s32, "world/area_omo/omo_14/DE56B0", func_80240000_DE56B0);
#include "world/common/DarkRoom.inc.c"

View File

@ -33,45 +33,37 @@ ApiStatus func_80240000_B1B570(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
// float shenanigans
#ifdef NON_EQUIVALENT
ApiStatus func_802400FC_B1B66C(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_safe(NPC_PARTNER);
f32 angle;
ApiStatus func_802400FC_B1B66C(Evt *script, s32 isInitialCall)
{
Npc *npc = get_npc_safe(NPC_PARTNER);
f32 angle, sinAngle, cosAngle;
f32 dist;
f32 product1;
f32 product2;
f32 cos1;
f32 sin1;
f32 sin2;
f32 cos2;
f32 var1;
f32 x0, x1;
f32 z0, z1;
if (npc == NULL) {
return ApiStatus_DONE2;
}
dist = dist2D(npc->pos.x, npc->pos.z, -250.0f, -100.0f);
var1 = evt_get_variable(script, 0 - 30000000) - 1;
angle = var1 * TAU / 360.0f;
sin1 = sin_rad(angle);
cos1 = cos_rad(angle);
product1 = dist * cos1;
product2 = dist * -sin1;
var1 = evt_get_variable(script, EVT_VAR(0));
angle = (var1 * TAU) / 360.0f;
sin2 = sin_rad(angle);
cos2 = cos_rad(angle);
npc->pos.x += (dist * cos2) - product1;
npc->pos.z += (dist * -sin2) - product2;
angle = evt_get_variable(script, LW(0)) - 1;
sinAngle = sin_rad((angle * TAU) / 360.0f);
cosAngle = cos_rad((angle * TAU) / 360.0f);
x0 = dist * cosAngle;
z0 = dist * -sinAngle;
angle = evt_get_variable(script, LW(0));
sinAngle = sin_rad((angle * TAU) / 360.0f);
cosAngle = cos_rad((angle * TAU) / 360.0f);
x1 = dist * cosAngle;
z1 = dist * -sinAngle;
npc->pos.x += x1 - x0;
npc->pos.z += z1 - z0;
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_tst/tst_04/B1B570", func_802400FC_B1B66C);
#endif
ApiStatus func_80240260_B1B7D0(Evt* script, s32 isInitialCall) {
script->array[0] = (s32) create_generic_entity_frontUI(NULL, func_8024029C_B1B80C);

View File

@ -21,12 +21,12 @@ ApiStatus N(Bandit_DropCoin)(Evt* script, s32 isInitialCall) {
npc = (Npc*)npcID;
}
script->functionTempNpc[0] = npc;
script->functionTempPtr[0] = npc;
script->functionTemp[1] = itemEntityIndex;
script->functionTemp[2] = areaFlag;
}
npc = script->functionTempNpc[0];
npc = script->functionTempPtr[0];
itemEntityIndex = script->functionTemp[1];
areaFlag = script->functionTemp[2];

View File

@ -0,0 +1,44 @@
#include "common.h"
ApiStatus N(DarkRoomUpdate)(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PlayerData* playerData = &gPlayerData;
if (isInitialCall) {
script->functionTemp[0] = 255;
script->functionTemp[1] = 0;
}
set_screen_overlay_center_worldpos(1, 1, playerStatus->position.x, playerStatus->position.y + 8.0f, playerStatus->position.z);
if (gPartnerActionStatus.actionState.b[0] != 0) {
if (playerData->currentPartner == PARTNER_WATT) {
if (script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
sfx_play_sound(SOUND_WATT_REPEL_DARKNESS);
}
script->functionTemp[0] -= 8;
if (script->functionTemp[0] < 90) {
script->functionTemp[0] = 90;
}
}
} else if (playerData->currentPartner == PARTNER_WATT) {
if (script->functionTemp[1] != 0) {
script->functionTemp[1] = 0;
if (script->functionTemp[0] < 255) {
sfx_play_sound(SOUND_WATT_RESUME_DARKNESS);
}
}
script->functionTemp[0] += 8;
if (script->functionTemp[0] >= 255) {
script->functionTemp[0] = 255;
}
} else {
script->functionTemp[0] = 255;
}
set_screen_overlay_alpha(1, script->functionTemp[0]);
set_screen_overlay_params_back(0xB, 255.0f);
return ApiStatus_BLOCK;
}

View File

@ -110,7 +110,7 @@ ApiStatus N(UnkFunc62)(Evt* script, s32 isInitialCall) {
switch (script->functionTemp[0]) {
case 1:
if (state->velocity > 1.570795f) {
if (state->velocity > PI_S / 2) {
set_animation(ACTOR_SELF, 1, state->animJumpFall);
}
oldActorX = actor->currentPos.x;

View File

@ -350,7 +350,7 @@ ApiStatus ShowShopPurchaseDialog(Evt* script, s32 isInitialCall) {
shopOwnerScript = D_8028652C;
if (shopOwnerScript == NULL || !does_script_exist(shopOwnerScript->id)) {
decrement_status_menu_disabled();
func_800E96C8();
hide_coin_counter_immediately();
return ApiStatus_DONE1;
}
break;
@ -604,9 +604,9 @@ ApiStatus ShowShopOwnerDialog(Evt* script, s32 isInitialCall) {
if (D_80286538->currentOption == 0) {
script->functionTemp[1] = shop_owner_end_speech();
script->functionTemp[0] = 201;
func_800E96C8();
hide_coin_counter_immediately();
} else {
func_800E96C8();
hide_coin_counter_immediately();
script->functionTemp[1] = shop_owner_reset_speech(22);
script->functionTemp[0] = 9;
}

View File

@ -500,33 +500,33 @@ D_8029F258 = 0x8029F258;
D_8029F25C = 0x8029F25C;
D_8029F260 = 0x8029F260;
D_8029F264 = 0x8029F264;
D_8029F270 = 0x8029F270;
D_8029F274 = 0x8029F274;
D_8029F278 = 0x8029F278;
D_8029F27C = 0x8029F27C;
D_8029F27E = 0x8029F27E;
D_8029F280 = 0x8029F280;
D_8029F282 = 0x8029F282;
D_8029F284 = 0x8029F284;
D_8029F286 = 0x8029F286;
BattleCam_PosX = 0x8029F270;
BattleCam_PosY = 0x8029F274;
BattleCam_PosZ = 0x8029F278;
BattleCam_TargetActor = 0x8029F27C;
BattleCam_TargetActorPart = 0x8029F27E;
BattleCam_BoomLength = 0x8029F280;
BattleCam_BoomYaw = 0x8029F282;
BattleCam_BoomPitch = 0x8029F284;
BattleCam_BoomZOffset = 0x8029F286;
D_8029F288 = 0x8029F288;
D_8029F28C = 0x8029F28C;
D_8029F290 = 0x8029F290;
D_8029F294 = 0x8029F294;
D_8029F298 = 0x8029F298;
D_8029F29C = 0x8029F29C;
D_8029F29E = 0x8029F29E;
D_8029F2A0 = 0x8029F2A0;
BattleCam_TargetBoomLength = 0x8029F28C;
BattleCam_TargetBoomYaw = 0x8029F290;
BattleCam_TargetBoomPitch = 0x8029F294;
BattleCam_TargetBoomZOffset = 0x8029F298;
BattleCam_DoneMoving = 0x8029F29C;
BattleCam_MoveTimeLeft = 0x8029F29E;
BattleCam_MoveTimeTotal = 0x8029F2A0;
D_8029F2A2 = 0x8029F2A2;
D_8029F2A3 = 0x8029F2A3;
D_8029F2A4 = 0x8029F2A4;
D_8029F2A5 = 0x8029F2A5;
BattleCam_UseLinearInterp = 0x8029F2A5;
D_8029F2A6 = 0x8029F2A6;
D_8029F2A7 = 0x8029F2A7;
D_8029F2A8 = 0x8029F2A8;
D_8029F2AC = 0x8029F2AC;
D_8029F2B0 = 0x8029F2B0;
D_8029F2B4 = 0x8029F2B4;
BattleCam_TargetPosX = 0x8029F2A8;
BattleCam_TargetPosY = 0x8029F2AC;
BattleCam_TargetPosZ = 0x8029F2B0;
BattleCam_ControlScript = 0x8029F2B4;
popupMessages = 0x8029F2C0;
D_8029F640 = 0x8029F640;
D_8029F642 = 0x8029F642;

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@ dlabel D_80240520_8A9F30
.word 0xC0800000, 0x41000000, 0x00000000, 0x42B40000, 0x42A00000, 0x00000000, 0x41200000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802406AC_8AA0BC, D_80240520_8A9F30, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900E9
dlabel D_80240580_8A9F90
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240000_8A9A10, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, kgr_01_DarkRoomUpdate, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802405AC_8A9FBC
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80240A20, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -2,8 +2,8 @@
.section .data
dlabel D_802407C0_8AA1D0
dlabel kgr_01_TongueWiggleTime
.short 0x0000, 0x0000
dlabel D_802407C4_8AA1D4
.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000001, func_802403E0_8A9DF0, 0x00000043, 0x00000005, TranslateModel, 0x00002710, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, CloneModel, 0x00000004, 0x00002710, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000001, 0x00002710, 0x00000043, 0x00000003, EnableModel, 0x00002710, 0x00000000, 0x00000044, 0x00000001, D_802407C4_8AA1D4, 0x00000043, 0x00000004, MakeLocalVertexCopy, 0x00000001, 0x00000004, 0x00000001, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, func_80240354_8A9D64, 0x00000000, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000004, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000
.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000001, kgr_01_GetEffectiveTongueOffset, 0x00000043, 0x00000005, TranslateModel, 0x00002710, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, CloneModel, 0x00000004, 0x00002710, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000001, 0x00002710, 0x00000043, 0x00000003, EnableModel, 0x00002710, 0x00000000, 0x00000044, 0x00000001, D_802407C4_8AA1D4, 0x00000043, 0x00000004, MakeLocalVertexCopy, 0x00000001, 0x00000004, 0x00000001, 0x00000043, 0x00000004, SetCustomGfxBuilders, 0x00000001, kgr_01_make_tongue_gfx, 0x00000000, 0x00000043, 0x00000004, SetModelCustomGfx, 0x00000004, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -3,4 +3,4 @@
.section .data
dlabel D_80240900_8AA310
.word 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000012, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000016, 0x00000001, 0x0000000E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000001, func_80240500_8A9F10, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00070099, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000
.word 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000012, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000016, 0x00000001, 0x0000000E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000001, kgr_01_HasBombetteExploded, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x00070099, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -6,7 +6,7 @@ dlabel D_80240780_8AABD0
.word 0xC32F0000, 0x41200000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240884_8AACD4, D_80240780_8AABD0, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900EA
dlabel D_802407D0_8AAC20
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240000_8AA450, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, kgr_02_DarkRoomUpdate, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802407FC_8AAC4C
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241B30, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -3,4 +3,4 @@
.section .data
dlabel D_80241A10_8ABE60
.word 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000012, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000016, 0x00000001, 0x0000000E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000001, func_80240760_8AABB0, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x0007009A, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000
.word 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000012, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000016, 0x00000001, 0x0000000E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000023, 0x00000000, 0x00000043, 0x00000001, kgr_02_HasBombetteExploded, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x0007009A, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -3,7 +3,7 @@
.section .data
dlabel D_80240B00_A47A60
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240000_A46F60, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, kpa_01_DarkRoomUpdate, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80240B2C_A47A8C
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000008, 0x00000024, 0x00000002, 0xFE363C82, 0x00000006, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802415F0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -3,7 +3,7 @@
.section .data
dlabel D_80241F60_A4A520
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240000_A485C0, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, kpa_03_DarkRoomUpdate, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80241F8C_A4A54C
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80243870, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -9,7 +9,7 @@ dlabel D_80243C50_E123F0
.word 0xE3000A01, 0x00000000, 0xE200001C, 0x00504240, 0xFCFFFFFF, 0xFFFDF6FB, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xFA000000, 0xFF000000, 0xF64500CC, 0x000B00C4, 0xF60B8214, 0x000B00C4, 0xF6450214, 0x0044C0C4, 0xF6450214, 0x000B0210, 0xDF000000, 0x00000000
dlabel D_80243CC0_E12460
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, func_802416F8_E0FE98, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, mgm_00_UpdateRecordDisplay, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243D20_E124C0
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, func_802416F8_E0FE98, 0x00000002, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243CC0_E12460, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243D20_E124C0, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, mgm_00_UpdateRecordDisplay, 0x00000002, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243CC0_E12460, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243D20_E124C0, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -26,5 +26,5 @@ dlabel D_80243340_E15AA0
dlabel D_80243540_E15CA0
.word 0x00011007, 0x310948A1, 0x59852B01, 0xC9854403, 0xAA876B5B, 0xA2B9ACCF, 0xD4C7AD8F, 0xE697E739
dlabel D_80243560_E15CC0
dlabel mgm_01_MsgImgs_Panels
.word D_80242CE0_E15440, D_80242EE0_E15640, 0x00200020, 0x00000002, 0x00000000, D_80242F00_E15660, D_80243100_E15860, 0x00200020, 0x00000002, 0x00000000, D_80243120_E15880, D_80243320_E15A80, 0x00200020, 0x00000002, 0x00000000, D_80243340_E15AA0, D_80243540_E15CA0, 0x00200020, 0x00000002, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -2,11 +2,11 @@
.section .data
dlabel D_802482A0_E1E020
dlabel mgm_02_PeachPanelImg
.word 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCCC3, 0xC3333333, 0x33333333, 0x33333333, 0x33333C33, 0xC3333333, 0x3333030A, 0xA0303333, 0x33333C33, 0xC3311111, 0x111060AA, 0xAA060111, 0x11111C33, 0xC3311111, 0x11106AA8, 0x4AA60111, 0x11111C33, 0xC3311111, 0x111006A4, 0x4A600111, 0x11111C33, 0xC3311111, 0x100660AA, 0xAA066001, 0x11111C33, 0xC3311111, 0x06699666, 0x66699660, 0x11111C33, 0xC3310010, 0x66999996, 0x69999966, 0x01001C33, 0xC3306606, 0x69999999, 0x99999996, 0x60660C33, 0xC3306666, 0x69666999, 0x99966696, 0x66660C33, 0xC3306699, 0x96666699, 0x99666669, 0x99660C33, 0xC3310669, 0x96606669, 0x96660669, 0x96601C33, 0xC3311066, 0x620B0066, 0x6600B026, 0x66011C33, 0xC3300666, 0x20BEEB06, 0x60BEEB02, 0x66600C33, 0xC3306002, 0x60EEEEB0, 0x0BEEEE06, 0x20060C33, 0xC33100E0, 0x90EE50EE, 0xEE05EE09, 0x0E001C33, 0xC33110E0, 0x90EE5BEE, 0xEE0BEE09, 0x0E011C33, 0xC33110E0, 0x60BE50EE, 0xEE05EB06, 0x0E011C33, 0xC3310600, 0x00B99EEE, 0xEEE99B00, 0x00601C33, 0xC331066F, 0x12077EEE, 0xEEE7702F, 0x16601C33, 0xC3310661, 0x120EEE0E, 0xE0EEE021, 0x16601C33, 0xC3306000, 0x0240BEE0, 0x0EEB0420, 0x00060C33, 0xC3360888, 0x80440BEE, 0xEEB04408, 0x88806C33, 0xC3304888, 0x84844006, 0x60044848, 0x88840C33, 0xC3308888, 0x84888844, 0x44448848, 0x88880C33, 0xC3308888, 0x888888DD, 0xDD888888, 0x88880C33, 0xC3308888, 0x84888DF1, 0x1FD88848, 0x88880C33, 0xC3300444, 0x48888DF1, 0x1FD88884, 0x44400C33, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCC33, 0xC3333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333
dlabel D_802484A0_E1E220
dlabel mgm_02_PeachPanelPal
.word 0x7A8B63ED, 0x934593C1, 0xB2CB9B93, 0xD509DC93, 0xD419DDD1, 0xD649D615, 0xF691ED61, 0xEF27E731
dlabel D_802484C0_E1E240
.word D_802482A0_E1E020, D_802484A0_E1E220, 0x00200020, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000
dlabel mgm_02_MsgImg_PeachPanel
.word mgm_02_PeachPanelImg, mgm_02_PeachPanelPal, 0x00200020, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
.section .data
dlabel D_80240650_DE5D00
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240000_DE56B0, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000056, 0x00000000, 0x00000043, 0x00000001, omo_14_DarkRoomUpdate, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024067C_DE5D2C
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802430B0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -15,8 +15,8 @@ glabel func_80248DE4
/* 1776D0 80248DF0 AFB00038 */ sw $s0, 0x38($sp)
/* 1776D4 80248DF4 3C10800B */ lui $s0, %hi(gCameras+0x558)
/* 1776D8 80248DF8 261022D8 */ addiu $s0, $s0, %lo(gCameras+0x558)
/* 1776DC 80248DFC 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 1776E0 80248E00 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 1776DC 80248DFC 3C02802A */ lui $v0, %hi(BattleCam_TargetActor)
/* 1776E0 80248E00 9442F27C */ lhu $v0, %lo(BattleCam_TargetActor)($v0)
/* 1776E4 80248E04 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 1776E8 80248E08 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 1776EC 80248E0C AFBF0040 */ sw $ra, 0x40($sp)
@ -334,8 +334,8 @@ glabel func_80248DE4
/* 177B9C 802492BC 8042F2A6 */ lb $v0, %lo(D_8029F2A6)($v0)
/* 177BA0 802492C0 10400029 */ beqz $v0, .L80249368
/* 177BA4 802492C4 00000000 */ nop
/* 177BA8 802492C8 3C01802A */ lui $at, %hi(D_8029F28C)
/* 177BAC 802492CC C422F28C */ lwc1 $f2, %lo(D_8029F28C)($at)
/* 177BA8 802492C8 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 177BAC 802492CC C422F28C */ lwc1 $f2, %lo(BattleCam_TargetBoomLength)($at)
/* 177BB0 802492D0 3C0143FA */ lui $at, 0x43fa
/* 177BB4 802492D4 44810000 */ mtc1 $at, $f0
/* 177BB8 802492D8 00000000 */ nop
@ -395,8 +395,8 @@ glabel func_80248DE4
/* 177C84 802493A4 45030001 */ bc1tl .L802493AC
/* 177C88 802493A8 46000686 */ mov.s $f26, $f0
.L802493AC:
/* 177C8C 802493AC 3C03802A */ lui $v1, %hi(D_8029F280)
/* 177C90 802493B0 2463F280 */ addiu $v1, $v1, %lo(D_8029F280)
/* 177C8C 802493AC 3C03802A */ lui $v1, %hi(BattleCam_BoomLength)
/* 177C90 802493B0 2463F280 */ addiu $v1, $v1, %lo(BattleCam_BoomLength)
/* 177C94 802493B4 84620000 */ lh $v0, ($v1)
/* 177C98 802493B8 461AB080 */ add.s $f2, $f22, $f26
/* 177C9C 802493BC 44820000 */ mtc1 $v0, $f0
@ -412,13 +412,13 @@ glabel func_80248DE4
/* 177CC4 802493E4 E61E0054 */ swc1 $f30, 0x54($s0)
/* 177CC8 802493E8 E61C0058 */ swc1 $f28, 0x58($s0)
/* 177CCC 802493EC C7B0001C */ lwc1 $f16, 0x1c($sp)
/* 177CD0 802493F0 3C02802A */ lui $v0, %hi(D_8029F286)
/* 177CD4 802493F4 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 177CD8 802493F8 3C03802A */ lui $v1, %hi(D_8029F282)
/* 177CDC 802493FC 9463F282 */ lhu $v1, %lo(D_8029F282)($v1)
/* 177CD0 802493F0 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 177CD4 802493F4 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 177CD8 802493F8 3C03802A */ lui $v1, %hi(BattleCam_BoomYaw)
/* 177CDC 802493FC 9463F282 */ lhu $v1, %lo(BattleCam_BoomYaw)($v1)
/* 177CE0 80249400 A604001E */ sh $a0, 0x1e($s0)
/* 177CE4 80249404 3C04802A */ lui $a0, %hi(D_8029F284)
/* 177CE8 80249408 9484F284 */ lhu $a0, %lo(D_8029F284)($a0)
/* 177CE4 80249404 3C04802A */ lui $a0, %hi(BattleCam_BoomPitch)
/* 177CE8 80249408 9484F284 */ lhu $a0, %lo(BattleCam_BoomPitch)($a0)
/* 177CEC 8024940C 00021200 */ sll $v0, $v0, 8
/* 177CF0 80249410 E610005C */ swc1 $f16, 0x5c($s0)
/* 177CF4 80249414 A6020026 */ sh $v0, 0x26($s0)
@ -432,18 +432,18 @@ glabel func_80248DE4
/* 177D10 80249430 00000000 */ nop
/* 177D14 80249434 46800020 */ cvt.s.w $f0, $f0
/* 177D18 80249438 86020022 */ lh $v0, 0x22($s0)
/* 177D1C 8024943C 3C01802A */ lui $at, %hi(D_8029F28C)
/* 177D20 80249440 E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 177D1C 8024943C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 177D20 80249440 E420F28C */ swc1 $f0, %lo(BattleCam_TargetBoomLength)($at)
/* 177D24 80249444 44820000 */ mtc1 $v0, $f0
/* 177D28 80249448 00000000 */ nop
/* 177D2C 8024944C 46800020 */ cvt.s.w $f0, $f0
/* 177D30 80249450 3C01802A */ lui $at, %hi(D_8029F294)
/* 177D34 80249454 E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 177D30 80249450 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 177D34 80249454 E420F294 */ swc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 177D38 80249458 44830000 */ mtc1 $v1, $f0
/* 177D3C 8024945C 00000000 */ nop
/* 177D40 80249460 46800020 */ cvt.s.w $f0, $f0
/* 177D44 80249464 3C01802A */ lui $at, %hi(D_8029F290)
/* 177D48 80249468 E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 177D44 80249464 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 177D48 80249468 E420F290 */ swc1 $f0, %lo(BattleCam_TargetBoomYaw)($at)
/* 177D4C 8024946C 04820001 */ bltzl $a0, .L80249474
/* 177D50 80249470 248400FF */ addiu $a0, $a0, 0xff
.L80249474:
@ -451,30 +451,30 @@ glabel func_80248DE4
/* 177D58 80249478 C6020054 */ lwc1 $f2, 0x54($s0)
/* 177D5C 8024947C C6040058 */ lwc1 $f4, 0x58($s0)
/* 177D60 80249480 C606005C */ lwc1 $f6, 0x5c($s0)
/* 177D64 80249484 3C03802A */ lui $v1, %hi(D_8029F29E)
/* 177D68 80249488 9463F29E */ lhu $v1, %lo(D_8029F29E)($v1)
/* 177D64 80249484 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeLeft)
/* 177D68 80249488 9463F29E */ lhu $v1, %lo(BattleCam_MoveTimeLeft)($v1)
/* 177D6C 8024948C 44820000 */ mtc1 $v0, $f0
/* 177D70 80249490 00000000 */ nop
/* 177D74 80249494 46800020 */ cvt.s.w $f0, $f0
/* 177D78 80249498 3C01802A */ lui $at, %hi(D_8029F298)
/* 177D7C 8024949C E420F298 */ swc1 $f0, %lo(D_8029F298)($at)
/* 177D80 802494A0 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 177D84 802494A4 E422F2A8 */ swc1 $f2, %lo(D_8029F2A8)($at)
/* 177D88 802494A8 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 177D8C 802494AC E424F2AC */ swc1 $f4, %lo(D_8029F2AC)($at)
/* 177D90 802494B0 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 177D94 802494B4 E426F2B0 */ swc1 $f6, %lo(D_8029F2B0)($at)
/* 177D98 802494B8 3C01802A */ lui $at, %hi(D_8029F2A0)
/* 177D9C 802494BC A423F2A0 */ sh $v1, %lo(D_8029F2A0)($at)
/* 177D78 80249498 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 177D7C 8024949C E420F298 */ swc1 $f0, %lo(BattleCam_TargetBoomZOffset)($at)
/* 177D80 802494A0 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 177D84 802494A4 E422F2A8 */ swc1 $f2, %lo(BattleCam_TargetPosX)($at)
/* 177D88 802494A8 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 177D8C 802494AC E424F2AC */ swc1 $f4, %lo(BattleCam_TargetPosY)($at)
/* 177D90 802494B0 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 177D94 802494B4 E426F2B0 */ swc1 $f6, %lo(BattleCam_TargetPosZ)($at)
/* 177D98 802494B8 3C01802A */ lui $at, %hi(BattleCam_MoveTimeTotal)
/* 177D9C 802494BC A423F2A0 */ sh $v1, %lo(BattleCam_MoveTimeTotal)($at)
.L802494C0:
/* 177DA0 802494C0 3C02802A */ lui $v0, %hi(D_8029F2A5)
/* 177DA4 802494C4 8042F2A5 */ lb $v0, %lo(D_8029F2A5)($v0)
/* 177DA0 802494C0 3C02802A */ lui $v0, %hi(BattleCam_UseLinearInterp)
/* 177DA4 802494C4 8042F2A5 */ lb $v0, %lo(BattleCam_UseLinearInterp)($v0)
/* 177DA8 802494C8 14400027 */ bnez $v0, .L80249568
/* 177DAC 802494CC 00000000 */ nop
/* 177DB0 802494D0 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 177DB4 802494D4 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 177DB8 802494D8 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 177DBC 802494DC 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 177DB0 802494D0 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 177DB4 802494D4 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 177DB8 802494D8 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 177DBC 802494DC 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 177DC0 802494E0 3C013F80 */ lui $at, 0x3f80
/* 177DC4 802494E4 4481C000 */ mtc1 $at, $f24
/* 177DC8 802494E8 4482D000 */ mtc1 $v0, $f26
@ -510,10 +510,10 @@ glabel func_80248DE4
/* 177E40 80249560 08092565 */ j .L80249594
/* 177E44 80249564 4600C681 */ sub.s $f26, $f24, $f0
.L80249568:
/* 177E48 80249568 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 177E4C 8024956C 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 177E50 80249570 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 177E54 80249574 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 177E48 80249568 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 177E4C 8024956C 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 177E50 80249570 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 177E54 80249574 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 177E58 80249578 4482D000 */ mtc1 $v0, $f26
/* 177E5C 8024957C 00000000 */ nop
/* 177E60 80249580 4680D6A0 */ cvt.s.w $f26, $f26
@ -522,20 +522,20 @@ glabel func_80248DE4
/* 177E6C 8024958C 46800020 */ cvt.s.w $f0, $f0
/* 177E70 80249590 4600D683 */ div.s $f26, $f26, $f0
.L80249594:
/* 177E74 80249594 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 177E78 80249598 C426F2A8 */ lwc1 $f6, %lo(D_8029F2A8)($at)
/* 177E74 80249594 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 177E78 80249598 C426F2A8 */ lwc1 $f6, %lo(BattleCam_TargetPosX)($at)
/* 177E7C 8024959C 461A3182 */ mul.s $f6, $f6, $f26
/* 177E80 802495A0 00000000 */ nop
/* 177E84 802495A4 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 177E88 802495A8 C428F2AC */ lwc1 $f8, %lo(D_8029F2AC)($at)
/* 177E84 802495A4 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 177E88 802495A8 C428F2AC */ lwc1 $f8, %lo(BattleCam_TargetPosY)($at)
/* 177E8C 802495AC 461A4202 */ mul.s $f8, $f8, $f26
/* 177E90 802495B0 00000000 */ nop
/* 177E94 802495B4 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 177E98 802495B8 C424F2B0 */ lwc1 $f4, %lo(D_8029F2B0)($at)
/* 177E94 802495B4 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 177E98 802495B8 C424F2B0 */ lwc1 $f4, %lo(BattleCam_TargetPosZ)($at)
/* 177E9C 802495BC 461A2102 */ mul.s $f4, $f4, $f26
/* 177EA0 802495C0 00000000 */ nop
/* 177EA4 802495C4 3C01802A */ lui $at, %hi(D_8029F298)
/* 177EA8 802495C8 C422F298 */ lwc1 $f2, %lo(D_8029F298)($at)
/* 177EA4 802495C4 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 177EA8 802495C8 C422F298 */ lwc1 $f2, %lo(BattleCam_TargetBoomZOffset)($at)
/* 177EAC 802495CC 461A1082 */ mul.s $f2, $f2, $f26
/* 177EB0 802495D0 00000000 */ nop
/* 177EB4 802495D4 3C013F80 */ lui $at, 0x3f80
@ -546,8 +546,8 @@ glabel func_80248DE4
/* 177EC8 802495E8 00000000 */ nop
/* 177ECC 802495EC 4616E382 */ mul.s $f14, $f28, $f22
/* 177ED0 802495F0 00000000 */ nop
/* 177ED4 802495F4 3C02802A */ lui $v0, %hi(D_8029F286)
/* 177ED8 802495F8 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 177ED4 802495F4 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 177ED8 802495F8 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 177EDC 802495FC 44820000 */ mtc1 $v0, $f0
/* 177EE0 80249600 00000000 */ nop
/* 177EE4 80249604 46800020 */ cvt.s.w $f0, $f0
@ -604,33 +604,33 @@ glabel func_80248DE4
/* 177FB0 802496D0 00000000 */ nop
/* 177FB4 802496D4 46020002 */ mul.s $f0, $f0, $f2
/* 177FB8 802496D8 00000000 */ nop
/* 177FBC 802496DC 3C01802A */ lui $at, %hi(D_8029F28C)
/* 177FC0 802496E0 C42AF28C */ lwc1 $f10, %lo(D_8029F28C)($at)
/* 177FBC 802496DC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 177FC0 802496E0 C42AF28C */ lwc1 $f10, %lo(BattleCam_TargetBoomLength)($at)
/* 177FC4 802496E4 461A5282 */ mul.s $f10, $f10, $f26
/* 177FC8 802496E8 00000000 */ nop
/* 177FCC 802496EC 3C01802A */ lui $at, %hi(D_8029F290)
/* 177FD0 802496F0 C428F290 */ lwc1 $f8, %lo(D_8029F290)($at)
/* 177FCC 802496EC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 177FD0 802496F0 C428F290 */ lwc1 $f8, %lo(BattleCam_TargetBoomYaw)($at)
/* 177FD4 802496F4 461A4202 */ mul.s $f8, $f8, $f26
/* 177FD8 802496F8 00000000 */ nop
/* 177FDC 802496FC 3C01802A */ lui $at, %hi(D_8029F294)
/* 177FE0 80249700 C424F294 */ lwc1 $f4, %lo(D_8029F294)($at)
/* 177FE4 80249704 3C02802A */ lui $v0, %hi(D_8029F280)
/* 177FE8 80249708 8442F280 */ lh $v0, %lo(D_8029F280)($v0)
/* 177FDC 802496FC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 177FE0 80249700 C424F294 */ lwc1 $f4, %lo(BattleCam_TargetBoomPitch)($at)
/* 177FE4 80249704 3C02802A */ lui $v0, %hi(BattleCam_BoomLength)
/* 177FE8 80249708 8442F280 */ lh $v0, %lo(BattleCam_BoomLength)($v0)
/* 177FEC 8024970C 461A2102 */ mul.s $f4, $f4, $f26
/* 177FF0 80249710 00000000 */ nop
/* 177FF4 80249714 44821000 */ mtc1 $v0, $f2
/* 177FF8 80249718 00000000 */ nop
/* 177FFC 8024971C 468010A0 */ cvt.s.w $f2, $f2
/* 178000 80249720 3C02802A */ lui $v0, %hi(D_8029F282)
/* 178004 80249724 8442F282 */ lh $v0, %lo(D_8029F282)($v0)
/* 178000 80249720 3C02802A */ lui $v0, %hi(BattleCam_BoomYaw)
/* 178004 80249724 8442F282 */ lh $v0, %lo(BattleCam_BoomYaw)($v0)
/* 178008 80249728 44823000 */ mtc1 $v0, $f6
/* 17800C 8024972C 00000000 */ nop
/* 178010 80249730 468031A0 */ cvt.s.w $f6, $f6
/* 178014 80249734 46163182 */ mul.s $f6, $f6, $f22
/* 178018 80249738 00000000 */ nop
/* 17801C 8024973C 46141080 */ add.s $f2, $f2, $f20
/* 178020 80249740 3C02802A */ lui $v0, %hi(D_8029F284)
/* 178024 80249744 8442F284 */ lh $v0, %lo(D_8029F284)($v0)
/* 178020 80249740 3C02802A */ lui $v0, %hi(BattleCam_BoomPitch)
/* 178024 80249744 8442F284 */ lh $v0, %lo(BattleCam_BoomPitch)($v0)
/* 178028 80249748 46001080 */ add.s $f2, $f2, $f0
/* 17802C 8024974C 44820000 */ mtc1 $v0, $f0
/* 178030 80249750 00000000 */ nop
@ -640,8 +640,8 @@ glabel func_80248DE4
/* 178040 80249760 46161082 */ mul.s $f2, $f2, $f22
/* 178044 80249764 00000000 */ nop
/* 178048 80249768 46064200 */ add.s $f8, $f8, $f6
/* 17804C 8024976C 3C04802A */ lui $a0, %hi(D_8029F29E)
/* 178050 80249770 2484F29E */ addiu $a0, $a0, %lo(D_8029F29E)
/* 17804C 8024976C 3C04802A */ lui $a0, %hi(BattleCam_MoveTimeLeft)
/* 178050 80249770 2484F29E */ addiu $a0, $a0, %lo(BattleCam_MoveTimeLeft)
/* 178054 80249774 46002100 */ add.s $f4, $f4, $f0
/* 178058 80249778 4600440D */ trunc.w.s $f16, $f8
/* 17805C 8024977C 44028000 */ mfc1 $v0, $f16
@ -661,8 +661,8 @@ glabel func_80248DE4
/* 178094 802497B4 14400006 */ bnez $v0, .L802497D0
/* 178098 802497B8 2462FFFF */ addiu $v0, $v1, -1
/* 17809C 802497BC 24020001 */ addiu $v0, $zero, 1
/* 1780A0 802497C0 3C01802A */ lui $at, %hi(D_8029F29C)
/* 1780A4 802497C4 A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 1780A0 802497C0 3C01802A */ lui $at, %hi(BattleCam_DoneMoving)
/* 1780A4 802497C4 A022F29C */ sb $v0, %lo(BattleCam_DoneMoving)($at)
/* 1780A8 802497C8 080925F6 */ j .L802497D8
/* 1780AC 802497CC 0000102D */ daddu $v0, $zero, $zero
.L802497D0:

View File

@ -15,8 +15,8 @@ glabel func_80249804
/* 1780F0 80249810 AFB00038 */ sw $s0, 0x38($sp)
/* 1780F4 80249814 3C10800B */ lui $s0, %hi(gCameras+0x558)
/* 1780F8 80249818 261022D8 */ addiu $s0, $s0, %lo(gCameras+0x558)
/* 1780FC 8024981C 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 178100 80249820 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 1780FC 8024981C 3C02802A */ lui $v0, %hi(BattleCam_TargetActor)
/* 178100 80249820 9442F27C */ lhu $v0, %lo(BattleCam_TargetActor)($v0)
/* 178104 80249824 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 178108 80249828 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 17810C 8024982C AFBF0040 */ sw $ra, 0x40($sp)
@ -334,8 +334,8 @@ glabel func_80249804
/* 1785BC 80249CDC 8042F2A6 */ lb $v0, %lo(D_8029F2A6)($v0)
/* 1785C0 80249CE0 10400029 */ beqz $v0, .L80249D88
/* 1785C4 80249CE4 00000000 */ nop
/* 1785C8 80249CE8 3C01802A */ lui $at, %hi(D_8029F28C)
/* 1785CC 80249CEC C422F28C */ lwc1 $f2, %lo(D_8029F28C)($at)
/* 1785C8 80249CE8 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 1785CC 80249CEC C422F28C */ lwc1 $f2, %lo(BattleCam_TargetBoomLength)($at)
/* 1785D0 80249CF0 3C0143FA */ lui $at, 0x43fa
/* 1785D4 80249CF4 44810000 */ mtc1 $at, $f0
/* 1785D8 80249CF8 00000000 */ nop
@ -395,8 +395,8 @@ glabel func_80249804
/* 1786A4 80249DC4 45030001 */ bc1tl .L80249DCC
/* 1786A8 80249DC8 46000686 */ mov.s $f26, $f0
.L80249DCC:
/* 1786AC 80249DCC 3C03802A */ lui $v1, %hi(D_8029F280)
/* 1786B0 80249DD0 2463F280 */ addiu $v1, $v1, %lo(D_8029F280)
/* 1786AC 80249DCC 3C03802A */ lui $v1, %hi(BattleCam_BoomLength)
/* 1786B0 80249DD0 2463F280 */ addiu $v1, $v1, %lo(BattleCam_BoomLength)
/* 1786B4 80249DD4 84620000 */ lh $v0, ($v1)
/* 1786B8 80249DD8 461AB080 */ add.s $f2, $f22, $f26
/* 1786BC 80249DDC 44820000 */ mtc1 $v0, $f0
@ -412,13 +412,13 @@ glabel func_80249804
/* 1786E4 80249E04 E61E0054 */ swc1 $f30, 0x54($s0)
/* 1786E8 80249E08 E61C0058 */ swc1 $f28, 0x58($s0)
/* 1786EC 80249E0C C7B0001C */ lwc1 $f16, 0x1c($sp)
/* 1786F0 80249E10 3C02802A */ lui $v0, %hi(D_8029F286)
/* 1786F4 80249E14 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 1786F8 80249E18 3C03802A */ lui $v1, %hi(D_8029F282)
/* 1786FC 80249E1C 9463F282 */ lhu $v1, %lo(D_8029F282)($v1)
/* 1786F0 80249E10 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 1786F4 80249E14 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 1786F8 80249E18 3C03802A */ lui $v1, %hi(BattleCam_BoomYaw)
/* 1786FC 80249E1C 9463F282 */ lhu $v1, %lo(BattleCam_BoomYaw)($v1)
/* 178700 80249E20 A604001E */ sh $a0, 0x1e($s0)
/* 178704 80249E24 3C04802A */ lui $a0, %hi(D_8029F284)
/* 178708 80249E28 9484F284 */ lhu $a0, %lo(D_8029F284)($a0)
/* 178704 80249E24 3C04802A */ lui $a0, %hi(BattleCam_BoomPitch)
/* 178708 80249E28 9484F284 */ lhu $a0, %lo(BattleCam_BoomPitch)($a0)
/* 17870C 80249E2C 00021200 */ sll $v0, $v0, 8
/* 178710 80249E30 E610005C */ swc1 $f16, 0x5c($s0)
/* 178714 80249E34 A6020026 */ sh $v0, 0x26($s0)
@ -432,18 +432,18 @@ glabel func_80249804
/* 178730 80249E50 00000000 */ nop
/* 178734 80249E54 46800020 */ cvt.s.w $f0, $f0
/* 178738 80249E58 86020022 */ lh $v0, 0x22($s0)
/* 17873C 80249E5C 3C01802A */ lui $at, %hi(D_8029F28C)
/* 178740 80249E60 E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 17873C 80249E5C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 178740 80249E60 E420F28C */ swc1 $f0, %lo(BattleCam_TargetBoomLength)($at)
/* 178744 80249E64 44820000 */ mtc1 $v0, $f0
/* 178748 80249E68 00000000 */ nop
/* 17874C 80249E6C 46800020 */ cvt.s.w $f0, $f0
/* 178750 80249E70 3C01802A */ lui $at, %hi(D_8029F294)
/* 178754 80249E74 E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 178750 80249E70 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 178754 80249E74 E420F294 */ swc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 178758 80249E78 44830000 */ mtc1 $v1, $f0
/* 17875C 80249E7C 00000000 */ nop
/* 178760 80249E80 46800020 */ cvt.s.w $f0, $f0
/* 178764 80249E84 3C01802A */ lui $at, %hi(D_8029F290)
/* 178768 80249E88 E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 178764 80249E84 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 178768 80249E88 E420F290 */ swc1 $f0, %lo(BattleCam_TargetBoomYaw)($at)
/* 17876C 80249E8C 04820001 */ bltzl $a0, .L80249E94
/* 178770 80249E90 248400FF */ addiu $a0, $a0, 0xff
.L80249E94:
@ -451,30 +451,30 @@ glabel func_80249804
/* 178778 80249E98 C6020054 */ lwc1 $f2, 0x54($s0)
/* 17877C 80249E9C C6040058 */ lwc1 $f4, 0x58($s0)
/* 178780 80249EA0 C606005C */ lwc1 $f6, 0x5c($s0)
/* 178784 80249EA4 3C03802A */ lui $v1, %hi(D_8029F29E)
/* 178788 80249EA8 9463F29E */ lhu $v1, %lo(D_8029F29E)($v1)
/* 178784 80249EA4 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeLeft)
/* 178788 80249EA8 9463F29E */ lhu $v1, %lo(BattleCam_MoveTimeLeft)($v1)
/* 17878C 80249EAC 44820000 */ mtc1 $v0, $f0
/* 178790 80249EB0 00000000 */ nop
/* 178794 80249EB4 46800020 */ cvt.s.w $f0, $f0
/* 178798 80249EB8 3C01802A */ lui $at, %hi(D_8029F298)
/* 17879C 80249EBC E420F298 */ swc1 $f0, %lo(D_8029F298)($at)
/* 1787A0 80249EC0 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 1787A4 80249EC4 E422F2A8 */ swc1 $f2, %lo(D_8029F2A8)($at)
/* 1787A8 80249EC8 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 1787AC 80249ECC E424F2AC */ swc1 $f4, %lo(D_8029F2AC)($at)
/* 1787B0 80249ED0 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 1787B4 80249ED4 E426F2B0 */ swc1 $f6, %lo(D_8029F2B0)($at)
/* 1787B8 80249ED8 3C01802A */ lui $at, %hi(D_8029F2A0)
/* 1787BC 80249EDC A423F2A0 */ sh $v1, %lo(D_8029F2A0)($at)
/* 178798 80249EB8 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 17879C 80249EBC E420F298 */ swc1 $f0, %lo(BattleCam_TargetBoomZOffset)($at)
/* 1787A0 80249EC0 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 1787A4 80249EC4 E422F2A8 */ swc1 $f2, %lo(BattleCam_TargetPosX)($at)
/* 1787A8 80249EC8 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 1787AC 80249ECC E424F2AC */ swc1 $f4, %lo(BattleCam_TargetPosY)($at)
/* 1787B0 80249ED0 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 1787B4 80249ED4 E426F2B0 */ swc1 $f6, %lo(BattleCam_TargetPosZ)($at)
/* 1787B8 80249ED8 3C01802A */ lui $at, %hi(BattleCam_MoveTimeTotal)
/* 1787BC 80249EDC A423F2A0 */ sh $v1, %lo(BattleCam_MoveTimeTotal)($at)
.L80249EE0:
/* 1787C0 80249EE0 3C02802A */ lui $v0, %hi(D_8029F2A5)
/* 1787C4 80249EE4 8042F2A5 */ lb $v0, %lo(D_8029F2A5)($v0)
/* 1787C0 80249EE0 3C02802A */ lui $v0, %hi(BattleCam_UseLinearInterp)
/* 1787C4 80249EE4 8042F2A5 */ lb $v0, %lo(BattleCam_UseLinearInterp)($v0)
/* 1787C8 80249EE8 14400027 */ bnez $v0, .L80249F88
/* 1787CC 80249EEC 00000000 */ nop
/* 1787D0 80249EF0 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 1787D4 80249EF4 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 1787D8 80249EF8 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 1787DC 80249EFC 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 1787D0 80249EF0 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 1787D4 80249EF4 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 1787D8 80249EF8 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 1787DC 80249EFC 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 1787E0 80249F00 3C013F80 */ lui $at, 0x3f80
/* 1787E4 80249F04 4481C000 */ mtc1 $at, $f24
/* 1787E8 80249F08 4482D000 */ mtc1 $v0, $f26
@ -510,10 +510,10 @@ glabel func_80249804
/* 178860 80249F80 080927ED */ j .L80249FB4
/* 178864 80249F84 4600C681 */ sub.s $f26, $f24, $f0
.L80249F88:
/* 178868 80249F88 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 17886C 80249F8C 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 178870 80249F90 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 178874 80249F94 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 178868 80249F88 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 17886C 80249F8C 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 178870 80249F90 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 178874 80249F94 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 178878 80249F98 4482D000 */ mtc1 $v0, $f26
/* 17887C 80249F9C 00000000 */ nop
/* 178880 80249FA0 4680D6A0 */ cvt.s.w $f26, $f26
@ -522,20 +522,20 @@ glabel func_80249804
/* 17888C 80249FAC 46800020 */ cvt.s.w $f0, $f0
/* 178890 80249FB0 4600D683 */ div.s $f26, $f26, $f0
.L80249FB4:
/* 178894 80249FB4 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 178898 80249FB8 C426F2A8 */ lwc1 $f6, %lo(D_8029F2A8)($at)
/* 178894 80249FB4 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 178898 80249FB8 C426F2A8 */ lwc1 $f6, %lo(BattleCam_TargetPosX)($at)
/* 17889C 80249FBC 461A3182 */ mul.s $f6, $f6, $f26
/* 1788A0 80249FC0 00000000 */ nop
/* 1788A4 80249FC4 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 1788A8 80249FC8 C428F2AC */ lwc1 $f8, %lo(D_8029F2AC)($at)
/* 1788A4 80249FC4 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 1788A8 80249FC8 C428F2AC */ lwc1 $f8, %lo(BattleCam_TargetPosY)($at)
/* 1788AC 80249FCC 461A4202 */ mul.s $f8, $f8, $f26
/* 1788B0 80249FD0 00000000 */ nop
/* 1788B4 80249FD4 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 1788B8 80249FD8 C424F2B0 */ lwc1 $f4, %lo(D_8029F2B0)($at)
/* 1788B4 80249FD4 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 1788B8 80249FD8 C424F2B0 */ lwc1 $f4, %lo(BattleCam_TargetPosZ)($at)
/* 1788BC 80249FDC 461A2102 */ mul.s $f4, $f4, $f26
/* 1788C0 80249FE0 00000000 */ nop
/* 1788C4 80249FE4 3C01802A */ lui $at, %hi(D_8029F298)
/* 1788C8 80249FE8 C422F298 */ lwc1 $f2, %lo(D_8029F298)($at)
/* 1788C4 80249FE4 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 1788C8 80249FE8 C422F298 */ lwc1 $f2, %lo(BattleCam_TargetBoomZOffset)($at)
/* 1788CC 80249FEC 461A1082 */ mul.s $f2, $f2, $f26
/* 1788D0 80249FF0 00000000 */ nop
/* 1788D4 80249FF4 3C013F80 */ lui $at, 0x3f80
@ -546,8 +546,8 @@ glabel func_80249804
/* 1788E8 8024A008 00000000 */ nop
/* 1788EC 8024A00C 4616E382 */ mul.s $f14, $f28, $f22
/* 1788F0 8024A010 00000000 */ nop
/* 1788F4 8024A014 3C02802A */ lui $v0, %hi(D_8029F286)
/* 1788F8 8024A018 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 1788F4 8024A014 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 1788F8 8024A018 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 1788FC 8024A01C 44820000 */ mtc1 $v0, $f0
/* 178900 8024A020 00000000 */ nop
/* 178904 8024A024 46800020 */ cvt.s.w $f0, $f0
@ -600,33 +600,33 @@ glabel func_80249804
/* 1789C0 8024A0E0 00000000 */ nop
/* 1789C4 8024A0E4 46020002 */ mul.s $f0, $f0, $f2
/* 1789C8 8024A0E8 00000000 */ nop
/* 1789CC 8024A0EC 3C01802A */ lui $at, %hi(D_8029F28C)
/* 1789D0 8024A0F0 C42AF28C */ lwc1 $f10, %lo(D_8029F28C)($at)
/* 1789CC 8024A0EC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 1789D0 8024A0F0 C42AF28C */ lwc1 $f10, %lo(BattleCam_TargetBoomLength)($at)
/* 1789D4 8024A0F4 461A5282 */ mul.s $f10, $f10, $f26
/* 1789D8 8024A0F8 00000000 */ nop
/* 1789DC 8024A0FC 3C01802A */ lui $at, %hi(D_8029F290)
/* 1789E0 8024A100 C428F290 */ lwc1 $f8, %lo(D_8029F290)($at)
/* 1789DC 8024A0FC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 1789E0 8024A100 C428F290 */ lwc1 $f8, %lo(BattleCam_TargetBoomYaw)($at)
/* 1789E4 8024A104 461A4202 */ mul.s $f8, $f8, $f26
/* 1789E8 8024A108 00000000 */ nop
/* 1789EC 8024A10C 3C01802A */ lui $at, %hi(D_8029F294)
/* 1789F0 8024A110 C424F294 */ lwc1 $f4, %lo(D_8029F294)($at)
/* 1789F4 8024A114 3C02802A */ lui $v0, %hi(D_8029F280)
/* 1789F8 8024A118 8442F280 */ lh $v0, %lo(D_8029F280)($v0)
/* 1789EC 8024A10C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 1789F0 8024A110 C424F294 */ lwc1 $f4, %lo(BattleCam_TargetBoomPitch)($at)
/* 1789F4 8024A114 3C02802A */ lui $v0, %hi(BattleCam_BoomLength)
/* 1789F8 8024A118 8442F280 */ lh $v0, %lo(BattleCam_BoomLength)($v0)
/* 1789FC 8024A11C 461A2102 */ mul.s $f4, $f4, $f26
/* 178A00 8024A120 00000000 */ nop
/* 178A04 8024A124 44821000 */ mtc1 $v0, $f2
/* 178A08 8024A128 00000000 */ nop
/* 178A0C 8024A12C 468010A0 */ cvt.s.w $f2, $f2
/* 178A10 8024A130 3C02802A */ lui $v0, %hi(D_8029F282)
/* 178A14 8024A134 8442F282 */ lh $v0, %lo(D_8029F282)($v0)
/* 178A10 8024A130 3C02802A */ lui $v0, %hi(BattleCam_BoomYaw)
/* 178A14 8024A134 8442F282 */ lh $v0, %lo(BattleCam_BoomYaw)($v0)
/* 178A18 8024A138 44823000 */ mtc1 $v0, $f6
/* 178A1C 8024A13C 00000000 */ nop
/* 178A20 8024A140 468031A0 */ cvt.s.w $f6, $f6
/* 178A24 8024A144 46163182 */ mul.s $f6, $f6, $f22
/* 178A28 8024A148 00000000 */ nop
/* 178A2C 8024A14C 46141080 */ add.s $f2, $f2, $f20
/* 178A30 8024A150 3C02802A */ lui $v0, %hi(D_8029F284)
/* 178A34 8024A154 8442F284 */ lh $v0, %lo(D_8029F284)($v0)
/* 178A30 8024A150 3C02802A */ lui $v0, %hi(BattleCam_BoomPitch)
/* 178A34 8024A154 8442F284 */ lh $v0, %lo(BattleCam_BoomPitch)($v0)
/* 178A38 8024A158 46001080 */ add.s $f2, $f2, $f0
/* 178A3C 8024A15C 44820000 */ mtc1 $v0, $f0
/* 178A40 8024A160 00000000 */ nop
@ -636,8 +636,8 @@ glabel func_80249804
/* 178A50 8024A170 46161082 */ mul.s $f2, $f2, $f22
/* 178A54 8024A174 00000000 */ nop
/* 178A58 8024A178 46064200 */ add.s $f8, $f8, $f6
/* 178A5C 8024A17C 3C04802A */ lui $a0, %hi(D_8029F29E)
/* 178A60 8024A180 2484F29E */ addiu $a0, $a0, %lo(D_8029F29E)
/* 178A5C 8024A17C 3C04802A */ lui $a0, %hi(BattleCam_MoveTimeLeft)
/* 178A60 8024A180 2484F29E */ addiu $a0, $a0, %lo(BattleCam_MoveTimeLeft)
/* 178A64 8024A184 46002100 */ add.s $f4, $f4, $f0
/* 178A68 8024A188 4600440D */ trunc.w.s $f16, $f8
/* 178A6C 8024A18C 44028000 */ mfc1 $v0, $f16
@ -657,8 +657,8 @@ glabel func_80249804
/* 178AA4 8024A1C4 14400006 */ bnez $v0, .L8024A1E0
/* 178AA8 8024A1C8 2462FFFF */ addiu $v0, $v1, -1
/* 178AAC 8024A1CC 24020001 */ addiu $v0, $zero, 1
/* 178AB0 8024A1D0 3C01802A */ lui $at, %hi(D_8029F29C)
/* 178AB4 8024A1D4 A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 178AB0 8024A1D0 3C01802A */ lui $at, %hi(BattleCam_DoneMoving)
/* 178AB4 8024A1D4 A022F29C */ sb $v0, %lo(BattleCam_DoneMoving)($at)
/* 178AB8 8024A1D8 0809287A */ j .L8024A1E8
/* 178ABC 8024A1DC 0000102D */ daddu $v0, $zero, $zero
.L8024A1E0:

View File

@ -15,8 +15,8 @@ glabel func_8024A214
/* 178B00 8024A220 AFB10024 */ sw $s1, 0x24($sp)
/* 178B04 8024A224 3C11800B */ lui $s1, %hi(gCameras+0x558)
/* 178B08 8024A228 263122D8 */ addiu $s1, $s1, %lo(gCameras+0x558)
/* 178B0C 8024A22C 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 178B10 8024A230 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 178B0C 8024A22C 3C02802A */ lui $v0, %hi(BattleCam_TargetActor)
/* 178B10 8024A230 9442F27C */ lhu $v0, %lo(BattleCam_TargetActor)($v0)
/* 178B14 8024A234 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 178B18 8024A238 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 178B1C 8024A23C AFBF002C */ sw $ra, 0x2c($sp)
@ -112,8 +112,8 @@ glabel func_8024A214
/* 178C70 8024A390 8C5000E0 */ lw $s0, 0xe0($v0)
/* 178C74 8024A394 12000172 */ beqz $s0, .L8024A960
/* 178C78 8024A398 0000102D */ daddu $v0, $zero, $zero
/* 178C7C 8024A39C 3C05802A */ lui $a1, %hi(D_8029F27E)
/* 178C80 8024A3A0 84A5F27E */ lh $a1, %lo(D_8029F27E)($a1)
/* 178C7C 8024A39C 3C05802A */ lui $a1, %hi(BattleCam_TargetActorPart)
/* 178C80 8024A3A0 84A5F27E */ lh $a1, %lo(BattleCam_TargetActorPart)($a1)
/* 178C84 8024A3A4 0C099117 */ jal get_actor_part
/* 178C88 8024A3A8 0200202D */ daddu $a0, $s0, $zero
/* 178C8C 8024A3AC C45A002C */ lwc1 $f26, 0x2c($v0)
@ -193,8 +193,8 @@ glabel func_8024A214
/* 178DA8 8024A4C8 8042F2A6 */ lb $v0, %lo(D_8029F2A6)($v0)
/* 178DAC 8024A4CC 10400029 */ beqz $v0, .L8024A574
/* 178DB0 8024A4D0 00000000 */ nop
/* 178DB4 8024A4D4 3C01802A */ lui $at, %hi(D_8029F28C)
/* 178DB8 8024A4D8 C422F28C */ lwc1 $f2, %lo(D_8029F28C)($at)
/* 178DB4 8024A4D4 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 178DB8 8024A4D8 C422F28C */ lwc1 $f2, %lo(BattleCam_TargetBoomLength)($at)
/* 178DBC 8024A4DC 3C0143FA */ lui $at, 0x43fa
/* 178DC0 8024A4E0 44810000 */ mtc1 $at, $f0
/* 178DC4 8024A4E4 00000000 */ nop
@ -254,8 +254,8 @@ glabel func_8024A214
/* 178E90 8024A5B0 45030001 */ bc1tl .L8024A5B8
/* 178E94 8024A5B4 46000786 */ mov.s $f30, $f0
.L8024A5B8:
/* 178E98 8024A5B8 3C03802A */ lui $v1, %hi(D_8029F280)
/* 178E9C 8024A5BC 2463F280 */ addiu $v1, $v1, %lo(D_8029F280)
/* 178E98 8024A5B8 3C03802A */ lui $v1, %hi(BattleCam_BoomLength)
/* 178E9C 8024A5BC 2463F280 */ addiu $v1, $v1, %lo(BattleCam_BoomLength)
/* 178EA0 8024A5C0 84620000 */ lh $v0, ($v1)
/* 178EA4 8024A5C4 461EA080 */ add.s $f2, $f20, $f30
/* 178EA8 8024A5C8 44820000 */ mtc1 $v0, $f0
@ -271,13 +271,13 @@ glabel func_8024A214
/* 178ED0 8024A5F0 E63A0054 */ swc1 $f26, 0x54($s1)
/* 178ED4 8024A5F4 E63C0058 */ swc1 $f28, 0x58($s1)
/* 178ED8 8024A5F8 C7AE0010 */ lwc1 $f14, 0x10($sp)
/* 178EDC 8024A5FC 3C02802A */ lui $v0, %hi(D_8029F286)
/* 178EE0 8024A600 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 178EE4 8024A604 3C03802A */ lui $v1, %hi(D_8029F282)
/* 178EE8 8024A608 9463F282 */ lhu $v1, %lo(D_8029F282)($v1)
/* 178EDC 8024A5FC 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 178EE0 8024A600 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 178EE4 8024A604 3C03802A */ lui $v1, %hi(BattleCam_BoomYaw)
/* 178EE8 8024A608 9463F282 */ lhu $v1, %lo(BattleCam_BoomYaw)($v1)
/* 178EEC 8024A60C A624001E */ sh $a0, 0x1e($s1)
/* 178EF0 8024A610 3C04802A */ lui $a0, %hi(D_8029F284)
/* 178EF4 8024A614 9484F284 */ lhu $a0, %lo(D_8029F284)($a0)
/* 178EF0 8024A610 3C04802A */ lui $a0, %hi(BattleCam_BoomPitch)
/* 178EF4 8024A614 9484F284 */ lhu $a0, %lo(BattleCam_BoomPitch)($a0)
/* 178EF8 8024A618 00021200 */ sll $v0, $v0, 8
/* 178EFC 8024A61C E62E005C */ swc1 $f14, 0x5c($s1)
/* 178F00 8024A620 A6220026 */ sh $v0, 0x26($s1)
@ -291,18 +291,18 @@ glabel func_8024A214
/* 178F1C 8024A63C 00000000 */ nop
/* 178F20 8024A640 46800020 */ cvt.s.w $f0, $f0
/* 178F24 8024A644 86220022 */ lh $v0, 0x22($s1)
/* 178F28 8024A648 3C01802A */ lui $at, %hi(D_8029F28C)
/* 178F2C 8024A64C E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 178F28 8024A648 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 178F2C 8024A64C E420F28C */ swc1 $f0, %lo(BattleCam_TargetBoomLength)($at)
/* 178F30 8024A650 44820000 */ mtc1 $v0, $f0
/* 178F34 8024A654 00000000 */ nop
/* 178F38 8024A658 46800020 */ cvt.s.w $f0, $f0
/* 178F3C 8024A65C 3C01802A */ lui $at, %hi(D_8029F294)
/* 178F40 8024A660 E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 178F3C 8024A65C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 178F40 8024A660 E420F294 */ swc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 178F44 8024A664 44830000 */ mtc1 $v1, $f0
/* 178F48 8024A668 00000000 */ nop
/* 178F4C 8024A66C 46800020 */ cvt.s.w $f0, $f0
/* 178F50 8024A670 3C01802A */ lui $at, %hi(D_8029F290)
/* 178F54 8024A674 E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 178F50 8024A670 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 178F54 8024A674 E420F290 */ swc1 $f0, %lo(BattleCam_TargetBoomYaw)($at)
/* 178F58 8024A678 04820001 */ bltzl $a0, .L8024A680
/* 178F5C 8024A67C 248400FF */ addiu $a0, $a0, 0xff
.L8024A680:
@ -310,30 +310,30 @@ glabel func_8024A214
/* 178F64 8024A684 C6220054 */ lwc1 $f2, 0x54($s1)
/* 178F68 8024A688 C6240058 */ lwc1 $f4, 0x58($s1)
/* 178F6C 8024A68C C626005C */ lwc1 $f6, 0x5c($s1)
/* 178F70 8024A690 3C03802A */ lui $v1, %hi(D_8029F29E)
/* 178F74 8024A694 9463F29E */ lhu $v1, %lo(D_8029F29E)($v1)
/* 178F70 8024A690 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeLeft)
/* 178F74 8024A694 9463F29E */ lhu $v1, %lo(BattleCam_MoveTimeLeft)($v1)
/* 178F78 8024A698 44820000 */ mtc1 $v0, $f0
/* 178F7C 8024A69C 00000000 */ nop
/* 178F80 8024A6A0 46800020 */ cvt.s.w $f0, $f0
/* 178F84 8024A6A4 3C01802A */ lui $at, %hi(D_8029F298)
/* 178F88 8024A6A8 E420F298 */ swc1 $f0, %lo(D_8029F298)($at)
/* 178F8C 8024A6AC 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 178F90 8024A6B0 E422F2A8 */ swc1 $f2, %lo(D_8029F2A8)($at)
/* 178F94 8024A6B4 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 178F98 8024A6B8 E424F2AC */ swc1 $f4, %lo(D_8029F2AC)($at)
/* 178F9C 8024A6BC 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 178FA0 8024A6C0 E426F2B0 */ swc1 $f6, %lo(D_8029F2B0)($at)
/* 178FA4 8024A6C4 3C01802A */ lui $at, %hi(D_8029F2A0)
/* 178FA8 8024A6C8 A423F2A0 */ sh $v1, %lo(D_8029F2A0)($at)
/* 178F84 8024A6A4 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 178F88 8024A6A8 E420F298 */ swc1 $f0, %lo(BattleCam_TargetBoomZOffset)($at)
/* 178F8C 8024A6AC 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 178F90 8024A6B0 E422F2A8 */ swc1 $f2, %lo(BattleCam_TargetPosX)($at)
/* 178F94 8024A6B4 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 178F98 8024A6B8 E424F2AC */ swc1 $f4, %lo(BattleCam_TargetPosY)($at)
/* 178F9C 8024A6BC 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 178FA0 8024A6C0 E426F2B0 */ swc1 $f6, %lo(BattleCam_TargetPosZ)($at)
/* 178FA4 8024A6C4 3C01802A */ lui $at, %hi(BattleCam_MoveTimeTotal)
/* 178FA8 8024A6C8 A423F2A0 */ sh $v1, %lo(BattleCam_MoveTimeTotal)($at)
.L8024A6CC:
/* 178FAC 8024A6CC 3C02802A */ lui $v0, %hi(D_8029F2A5)
/* 178FB0 8024A6D0 8042F2A5 */ lb $v0, %lo(D_8029F2A5)($v0)
/* 178FAC 8024A6CC 3C02802A */ lui $v0, %hi(BattleCam_UseLinearInterp)
/* 178FB0 8024A6D0 8042F2A5 */ lb $v0, %lo(BattleCam_UseLinearInterp)($v0)
/* 178FB4 8024A6D4 14400027 */ bnez $v0, .L8024A774
/* 178FB8 8024A6D8 00000000 */ nop
/* 178FBC 8024A6DC 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 178FC0 8024A6E0 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 178FC4 8024A6E4 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 178FC8 8024A6E8 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 178FBC 8024A6DC 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 178FC0 8024A6E0 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 178FC4 8024A6E4 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 178FC8 8024A6E8 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 178FCC 8024A6EC 3C013F80 */ lui $at, 0x3f80
/* 178FD0 8024A6F0 4481C000 */ mtc1 $at, $f24
/* 178FD4 8024A6F4 44822000 */ mtc1 $v0, $f4
@ -369,10 +369,10 @@ glabel func_8024A214
/* 17904C 8024A76C 080929E8 */ j .L8024A7A0
/* 179050 8024A770 4600C101 */ sub.s $f4, $f24, $f0
.L8024A774:
/* 179054 8024A774 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 179058 8024A778 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 17905C 8024A77C 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 179060 8024A780 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 179054 8024A774 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 179058 8024A778 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 17905C 8024A77C 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 179060 8024A780 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 179064 8024A784 44822000 */ mtc1 $v0, $f4
/* 179068 8024A788 00000000 */ nop
/* 17906C 8024A78C 46802120 */ cvt.s.w $f4, $f4
@ -381,28 +381,28 @@ glabel func_8024A214
/* 179078 8024A798 46800020 */ cvt.s.w $f0, $f0
/* 17907C 8024A79C 46002103 */ div.s $f4, $f4, $f0
.L8024A7A0:
/* 179080 8024A7A0 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 179084 8024A7A4 C434F2A8 */ lwc1 $f20, %lo(D_8029F2A8)($at)
/* 179080 8024A7A0 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 179084 8024A7A4 C434F2A8 */ lwc1 $f20, %lo(BattleCam_TargetPosX)($at)
/* 179088 8024A7A8 4604A502 */ mul.s $f20, $f20, $f4
/* 17908C 8024A7AC 00000000 */ nop
/* 179090 8024A7B0 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 179094 8024A7B4 C432F2AC */ lwc1 $f18, %lo(D_8029F2AC)($at)
/* 179090 8024A7B0 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 179094 8024A7B4 C432F2AC */ lwc1 $f18, %lo(BattleCam_TargetPosY)($at)
/* 179098 8024A7B8 46049482 */ mul.s $f18, $f18, $f4
/* 17909C 8024A7BC 00000000 */ nop
/* 1790A0 8024A7C0 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 1790A4 8024A7C4 C430F2B0 */ lwc1 $f16, %lo(D_8029F2B0)($at)
/* 1790A0 8024A7C0 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 1790A4 8024A7C4 C430F2B0 */ lwc1 $f16, %lo(BattleCam_TargetPosZ)($at)
/* 1790A8 8024A7C8 46048402 */ mul.s $f16, $f16, $f4
/* 1790AC 8024A7CC 00000000 */ nop
/* 1790B0 8024A7D0 3C01802A */ lui $at, %hi(D_8029F298)
/* 1790B4 8024A7D4 C426F298 */ lwc1 $f6, %lo(D_8029F298)($at)
/* 1790B0 8024A7D0 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 1790B4 8024A7D4 C426F298 */ lwc1 $f6, %lo(BattleCam_TargetBoomZOffset)($at)
/* 1790B8 8024A7D8 46043182 */ mul.s $f6, $f6, $f4
/* 1790BC 8024A7DC 00000000 */ nop
/* 1790C0 8024A7E0 3C01802A */ lui $at, %hi(D_8029F28C)
/* 1790C4 8024A7E4 C42CF28C */ lwc1 $f12, %lo(D_8029F28C)($at)
/* 1790C0 8024A7E0 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 1790C4 8024A7E4 C42CF28C */ lwc1 $f12, %lo(BattleCam_TargetBoomLength)($at)
/* 1790C8 8024A7E8 46046302 */ mul.s $f12, $f12, $f4
/* 1790CC 8024A7EC 00000000 */ nop
/* 1790D0 8024A7F0 3C01802A */ lui $at, %hi(D_8029F290)
/* 1790D4 8024A7F4 C428F290 */ lwc1 $f8, %lo(D_8029F290)($at)
/* 1790D0 8024A7F0 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 1790D4 8024A7F4 C428F290 */ lwc1 $f8, %lo(BattleCam_TargetBoomYaw)($at)
/* 1790D8 8024A7F8 46044202 */ mul.s $f8, $f8, $f4
/* 1790DC 8024A7FC 00000000 */ nop
/* 1790E0 8024A800 3C013F80 */ lui $at, 0x3f80
@ -413,8 +413,8 @@ glabel func_8024A214
/* 1790F4 8024A814 00000000 */ nop
/* 1790F8 8024A818 4602E602 */ mul.s $f24, $f28, $f2
/* 1790FC 8024A81C 00000000 */ nop
/* 179100 8024A820 3C02802A */ lui $v0, %hi(D_8029F286)
/* 179104 8024A824 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 179100 8024A820 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 179104 8024A824 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 179108 8024A828 44820000 */ mtc1 $v0, $f0
/* 17910C 8024A82C 00000000 */ nop
/* 179110 8024A830 46800020 */ cvt.s.w $f0, $f0
@ -423,15 +423,15 @@ glabel func_8024A214
/* 17911C 8024A83C C7AE0010 */ lwc1 $f14, 0x10($sp)
/* 179120 8024A840 46027582 */ mul.s $f22, $f14, $f2
/* 179124 8024A844 00000000 */ nop
/* 179128 8024A848 3C02802A */ lui $v0, %hi(D_8029F280)
/* 17912C 8024A84C 8442F280 */ lh $v0, %lo(D_8029F280)($v0)
/* 179128 8024A848 3C02802A */ lui $v0, %hi(BattleCam_BoomLength)
/* 17912C 8024A84C 8442F280 */ lh $v0, %lo(BattleCam_BoomLength)($v0)
/* 179130 8024A850 44827000 */ mtc1 $v0, $f14
/* 179134 8024A854 00000000 */ nop
/* 179138 8024A858 468073A0 */ cvt.s.w $f14, $f14
/* 17913C 8024A85C 46027382 */ mul.s $f14, $f14, $f2
/* 179140 8024A860 00000000 */ nop
/* 179144 8024A864 3C02802A */ lui $v0, %hi(D_8029F282)
/* 179148 8024A868 8442F282 */ lh $v0, %lo(D_8029F282)($v0)
/* 179144 8024A864 3C02802A */ lui $v0, %hi(BattleCam_BoomYaw)
/* 179148 8024A868 8442F282 */ lh $v0, %lo(BattleCam_BoomYaw)($v0)
/* 17914C 8024A86C 44825000 */ mtc1 $v0, $f10
/* 179150 8024A870 00000000 */ nop
/* 179154 8024A874 468052A0 */ cvt.s.w $f10, $f10
@ -443,21 +443,21 @@ glabel func_8024A214
/* 17916C 8024A88C 00000000 */ nop
/* 179170 8024A890 46003182 */ mul.s $f6, $f6, $f0
/* 179174 8024A894 00000000 */ nop
/* 179178 8024A898 3C01802A */ lui $at, %hi(D_8029F294)
/* 17917C 8024A89C C420F294 */ lwc1 $f0, %lo(D_8029F294)($at)
/* 179178 8024A898 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 17917C 8024A89C C420F294 */ lwc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 179180 8024A8A0 46040002 */ mul.s $f0, $f0, $f4
/* 179184 8024A8A4 00000000 */ nop
/* 179188 8024A8A8 461AA500 */ add.s $f20, $f20, $f26
/* 17918C 8024A8AC 46189480 */ add.s $f18, $f18, $f24
/* 179190 8024A8B0 46168400 */ add.s $f16, $f16, $f22
/* 179194 8024A8B4 3C02802A */ lui $v0, %hi(D_8029F284)
/* 179198 8024A8B8 8442F284 */ lh $v0, %lo(D_8029F284)($v0)
/* 179194 8024A8B4 3C02802A */ lui $v0, %hi(BattleCam_BoomPitch)
/* 179198 8024A8B8 8442F284 */ lh $v0, %lo(BattleCam_BoomPitch)($v0)
/* 17919C 8024A8BC 460A4200 */ add.s $f8, $f8, $f10
/* 1791A0 8024A8C0 E7AE0018 */ swc1 $f14, 0x18($sp)
/* 1791A4 8024A8C4 E6340054 */ swc1 $f20, 0x54($s1)
/* 1791A8 8024A8C8 460E6300 */ add.s $f12, $f12, $f14
/* 1791AC 8024A8CC 3C04802A */ lui $a0, %hi(D_8029F29E)
/* 1791B0 8024A8D0 2484F29E */ addiu $a0, $a0, %lo(D_8029F29E)
/* 1791AC 8024A8CC 3C04802A */ lui $a0, %hi(BattleCam_MoveTimeLeft)
/* 1791B0 8024A8D0 2484F29E */ addiu $a0, $a0, %lo(BattleCam_MoveTimeLeft)
/* 1791B4 8024A8D4 44822000 */ mtc1 $v0, $f4
/* 1791B8 8024A8D8 00000000 */ nop
/* 1791BC 8024A8DC 46802120 */ cvt.s.w $f4, $f4
@ -487,8 +487,8 @@ glabel func_8024A214
/* 17921C 8024A93C 14400006 */ bnez $v0, .L8024A958
/* 179220 8024A940 2462FFFF */ addiu $v0, $v1, -1
/* 179224 8024A944 24020001 */ addiu $v0, $zero, 1
/* 179228 8024A948 3C01802A */ lui $at, %hi(D_8029F29C)
/* 17922C 8024A94C A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 179228 8024A948 3C01802A */ lui $at, %hi(BattleCam_DoneMoving)
/* 17922C 8024A94C A022F29C */ sb $v0, %lo(BattleCam_DoneMoving)($at)
/* 179230 8024A950 08092A58 */ j .L8024A960
/* 179234 8024A954 0000102D */ daddu $v0, $zero, $zero
.L8024A958:

View File

@ -13,8 +13,8 @@ glabel func_8024A990
/* 179274 8024A994 AFB00020 */ sw $s0, 0x20($sp)
/* 179278 8024A998 3C10800B */ lui $s0, %hi(gCameras+0x558)
/* 17927C 8024A99C 261022D8 */ addiu $s0, $s0, %lo(gCameras+0x558)
/* 179280 8024A9A0 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 179284 8024A9A4 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 179280 8024A9A0 3C02802A */ lui $v0, %hi(BattleCam_TargetActor)
/* 179284 8024A9A4 9442F27C */ lhu $v0, %lo(BattleCam_TargetActor)($v0)
/* 179288 8024A9A8 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 17928C 8024A9AC 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 179290 8024A9B0 AFBF0024 */ sw $ra, 0x24($sp)
@ -113,8 +113,8 @@ glabel func_8024A990
/* 1793E4 8024AB04 8042F2A6 */ lb $v0, %lo(D_8029F2A6)($v0)
/* 1793E8 8024AB08 10400029 */ beqz $v0, .L8024ABB0
/* 1793EC 8024AB0C 00000000 */ nop
/* 1793F0 8024AB10 3C01802A */ lui $at, %hi(D_8029F28C)
/* 1793F4 8024AB14 C422F28C */ lwc1 $f2, %lo(D_8029F28C)($at)
/* 1793F0 8024AB10 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 1793F4 8024AB14 C422F28C */ lwc1 $f2, %lo(BattleCam_TargetBoomLength)($at)
/* 1793F8 8024AB18 3C0143FA */ lui $at, 0x43fa
/* 1793FC 8024AB1C 44810000 */ mtc1 $at, $f0
/* 179400 8024AB20 00000000 */ nop
@ -180,15 +180,15 @@ glabel func_8024A990
/* 1794E0 8024AC00 44820000 */ mtc1 $v0, $f0
/* 1794E4 8024AC04 00000000 */ nop
/* 1794E8 8024AC08 46800020 */ cvt.s.w $f0, $f0
/* 1794EC 8024AC0C 3C01802A */ lui $at, %hi(D_8029F28C)
/* 1794F0 8024AC10 E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 1794EC 8024AC0C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 1794F0 8024AC10 E420F28C */ swc1 $f0, %lo(BattleCam_TargetBoomLength)($at)
/* 1794F4 8024AC14 44830000 */ mtc1 $v1, $f0
/* 1794F8 8024AC18 00000000 */ nop
/* 1794FC 8024AC1C 46800020 */ cvt.s.w $f0, $f0
/* 179500 8024AC20 3C03802A */ lui $v1, %hi(D_8029F280)
/* 179504 8024AC24 2463F280 */ addiu $v1, $v1, %lo(D_8029F280)
/* 179508 8024AC28 3C01802A */ lui $at, %hi(D_8029F294)
/* 17950C 8024AC2C E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 179500 8024AC20 3C03802A */ lui $v1, %hi(BattleCam_BoomLength)
/* 179504 8024AC24 2463F280 */ addiu $v1, $v1, %lo(BattleCam_BoomLength)
/* 179508 8024AC28 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 17950C 8024AC2C E420F294 */ swc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 179510 8024AC30 84620000 */ lh $v0, ($v1)
/* 179514 8024AC34 46083000 */ add.s $f0, $f6, $f8
/* 179518 8024AC38 44821000 */ mtc1 $v0, $f2
@ -199,8 +199,8 @@ glabel func_8024A990
/* 17952C 8024AC4C 44820000 */ mtc1 $v0, $f0
/* 179530 8024AC50 00000000 */ nop
/* 179534 8024AC54 46800020 */ cvt.s.w $f0, $f0
/* 179538 8024AC58 3C01802A */ lui $at, %hi(D_8029F290)
/* 17953C 8024AC5C E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 179538 8024AC58 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 17953C 8024AC5C E420F290 */ swc1 $f0, %lo(BattleCam_TargetBoomYaw)($at)
/* 179540 8024AC60 4600148D */ trunc.w.s $f18, $f2
/* 179544 8024AC64 44029000 */ mfc1 $v0, $f18
/* 179548 8024AC68 04810002 */ bgez $a0, .L8024AC74
@ -211,30 +211,30 @@ glabel func_8024A990
/* 179558 8024AC78 C6020054 */ lwc1 $f2, 0x54($s0)
/* 17955C 8024AC7C C6040058 */ lwc1 $f4, 0x58($s0)
/* 179560 8024AC80 C606005C */ lwc1 $f6, 0x5c($s0)
/* 179564 8024AC84 3C03802A */ lui $v1, %hi(D_8029F29E)
/* 179568 8024AC88 9463F29E */ lhu $v1, %lo(D_8029F29E)($v1)
/* 179564 8024AC84 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeLeft)
/* 179568 8024AC88 9463F29E */ lhu $v1, %lo(BattleCam_MoveTimeLeft)($v1)
/* 17956C 8024AC8C 44820000 */ mtc1 $v0, $f0
/* 179570 8024AC90 00000000 */ nop
/* 179574 8024AC94 46800020 */ cvt.s.w $f0, $f0
/* 179578 8024AC98 3C01802A */ lui $at, %hi(D_8029F298)
/* 17957C 8024AC9C E420F298 */ swc1 $f0, %lo(D_8029F298)($at)
/* 179580 8024ACA0 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 179584 8024ACA4 E422F2A8 */ swc1 $f2, %lo(D_8029F2A8)($at)
/* 179588 8024ACA8 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 17958C 8024ACAC E424F2AC */ swc1 $f4, %lo(D_8029F2AC)($at)
/* 179590 8024ACB0 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 179594 8024ACB4 E426F2B0 */ swc1 $f6, %lo(D_8029F2B0)($at)
/* 179598 8024ACB8 3C01802A */ lui $at, %hi(D_8029F2A0)
/* 17959C 8024ACBC A423F2A0 */ sh $v1, %lo(D_8029F2A0)($at)
/* 179578 8024AC98 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 17957C 8024AC9C E420F298 */ swc1 $f0, %lo(BattleCam_TargetBoomZOffset)($at)
/* 179580 8024ACA0 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 179584 8024ACA4 E422F2A8 */ swc1 $f2, %lo(BattleCam_TargetPosX)($at)
/* 179588 8024ACA8 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 17958C 8024ACAC E424F2AC */ swc1 $f4, %lo(BattleCam_TargetPosY)($at)
/* 179590 8024ACB0 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 179594 8024ACB4 E426F2B0 */ swc1 $f6, %lo(BattleCam_TargetPosZ)($at)
/* 179598 8024ACB8 3C01802A */ lui $at, %hi(BattleCam_MoveTimeTotal)
/* 17959C 8024ACBC A423F2A0 */ sh $v1, %lo(BattleCam_MoveTimeTotal)($at)
.L8024ACC0:
/* 1795A0 8024ACC0 3C02802A */ lui $v0, %hi(D_8029F2A5)
/* 1795A4 8024ACC4 8042F2A5 */ lb $v0, %lo(D_8029F2A5)($v0)
/* 1795A0 8024ACC0 3C02802A */ lui $v0, %hi(BattleCam_UseLinearInterp)
/* 1795A4 8024ACC4 8042F2A5 */ lb $v0, %lo(BattleCam_UseLinearInterp)($v0)
/* 1795A8 8024ACC8 14400027 */ bnez $v0, .L8024AD68
/* 1795AC 8024ACCC 00000000 */ nop
/* 1795B0 8024ACD0 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 1795B4 8024ACD4 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 1795B8 8024ACD8 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 1795BC 8024ACDC 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 1795B0 8024ACD0 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 1795B4 8024ACD4 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 1795B8 8024ACD8 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 1795BC 8024ACDC 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 1795C0 8024ACE0 3C013F80 */ lui $at, 0x3f80
/* 1795C4 8024ACE4 4481C000 */ mtc1 $at, $f24
/* 1795C8 8024ACE8 4482A000 */ mtc1 $v0, $f20
@ -270,10 +270,10 @@ glabel func_8024A990
/* 179640 8024AD60 08092B65 */ j .L8024AD94
/* 179644 8024AD64 4600C501 */ sub.s $f20, $f24, $f0
.L8024AD68:
/* 179648 8024AD68 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 17964C 8024AD6C 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 179650 8024AD70 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 179654 8024AD74 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 179648 8024AD68 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 17964C 8024AD6C 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 179650 8024AD70 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 179654 8024AD74 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 179658 8024AD78 4482A000 */ mtc1 $v0, $f20
/* 17965C 8024AD7C 00000000 */ nop
/* 179660 8024AD80 4680A520 */ cvt.s.w $f20, $f20
@ -286,8 +286,8 @@ glabel func_8024A990
/* 179678 8024AD98 8042F2A3 */ lb $v0, %lo(D_8029F2A3)($v0)
/* 17967C 8024AD9C 10400013 */ beqz $v0, .L8024ADEC
/* 179680 8024ADA0 00000000 */ nop
/* 179684 8024ADA4 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 179688 8024ADA8 C424F2A8 */ lwc1 $f4, %lo(D_8029F2A8)($at)
/* 179684 8024ADA4 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 179688 8024ADA8 C424F2A8 */ lwc1 $f4, %lo(BattleCam_TargetPosX)($at)
/* 17968C 8024ADAC 46142102 */ mul.s $f4, $f4, $f20
/* 179690 8024ADB0 00000000 */ nop
/* 179694 8024ADB4 3C02802A */ lui $v0, %hi(D_8029F2A7)
@ -309,8 +309,8 @@ glabel func_8024A990
/* 1796D0 8024ADF0 8042F2A2 */ lb $v0, %lo(D_8029F2A2)($v0)
/* 1796D4 8024ADF4 1040000E */ beqz $v0, .L8024AE30
/* 1796D8 8024ADF8 00000000 */ nop
/* 1796DC 8024ADFC 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 1796E0 8024AE00 C422F2AC */ lwc1 $f2, %lo(D_8029F2AC)($at)
/* 1796DC 8024ADFC 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 1796E0 8024AE00 C422F2AC */ lwc1 $f2, %lo(BattleCam_TargetPosY)($at)
/* 1796E4 8024AE04 46141082 */ mul.s $f2, $f2, $f20
/* 1796E8 8024AE08 00000000 */ nop
/* 1796EC 8024AE0C 3C013F80 */ lui $at, 0x3f80
@ -323,45 +323,45 @@ glabel func_8024A990
/* 179708 8024AE28 46001080 */ add.s $f2, $f2, $f0
/* 17970C 8024AE2C E6020058 */ swc1 $f2, 0x58($s0)
.L8024AE30:
/* 179710 8024AE30 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 179714 8024AE34 C430F2B0 */ lwc1 $f16, %lo(D_8029F2B0)($at)
/* 179710 8024AE30 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 179714 8024AE34 C430F2B0 */ lwc1 $f16, %lo(BattleCam_TargetPosZ)($at)
/* 179718 8024AE38 46148402 */ mul.s $f16, $f16, $f20
/* 17971C 8024AE3C 00000000 */ nop
/* 179720 8024AE40 3C01802A */ lui $at, %hi(D_8029F298)
/* 179724 8024AE44 C42CF298 */ lwc1 $f12, %lo(D_8029F298)($at)
/* 179720 8024AE40 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 179724 8024AE44 C42CF298 */ lwc1 $f12, %lo(BattleCam_TargetBoomZOffset)($at)
/* 179728 8024AE48 46146302 */ mul.s $f12, $f12, $f20
/* 17972C 8024AE4C 00000000 */ nop
/* 179730 8024AE50 3C01802A */ lui $at, %hi(D_8029F28C)
/* 179734 8024AE54 C42EF28C */ lwc1 $f14, %lo(D_8029F28C)($at)
/* 179730 8024AE50 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 179734 8024AE54 C42EF28C */ lwc1 $f14, %lo(BattleCam_TargetBoomLength)($at)
/* 179738 8024AE58 46147382 */ mul.s $f14, $f14, $f20
/* 17973C 8024AE5C 00000000 */ nop
/* 179740 8024AE60 3C01802A */ lui $at, %hi(D_8029F290)
/* 179744 8024AE64 C428F290 */ lwc1 $f8, %lo(D_8029F290)($at)
/* 179740 8024AE60 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 179744 8024AE64 C428F290 */ lwc1 $f8, %lo(BattleCam_TargetBoomYaw)($at)
/* 179748 8024AE68 46144202 */ mul.s $f8, $f8, $f20
/* 17974C 8024AE6C 00000000 */ nop
/* 179750 8024AE70 3C01802A */ lui $at, %hi(D_8029F294)
/* 179754 8024AE74 C426F294 */ lwc1 $f6, %lo(D_8029F294)($at)
/* 179750 8024AE70 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 179754 8024AE74 C426F294 */ lwc1 $f6, %lo(BattleCam_TargetBoomPitch)($at)
/* 179758 8024AE78 46143182 */ mul.s $f6, $f6, $f20
/* 17975C 8024AE7C 00000000 */ nop
/* 179760 8024AE80 3C013F80 */ lui $at, 0x3f80
/* 179764 8024AE84 44812000 */ mtc1 $at, $f4
/* 179768 8024AE88 3C02802A */ lui $v0, %hi(D_8029F286)
/* 17976C 8024AE8C 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 179768 8024AE88 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 17976C 8024AE8C 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 179770 8024AE90 46142101 */ sub.s $f4, $f4, $f20
/* 179774 8024AE94 44820000 */ mtc1 $v0, $f0
/* 179778 8024AE98 00000000 */ nop
/* 17977C 8024AE9C 46800020 */ cvt.s.w $f0, $f0
/* 179780 8024AEA0 46040002 */ mul.s $f0, $f0, $f4
/* 179784 8024AEA4 00000000 */ nop
/* 179788 8024AEA8 3C02802A */ lui $v0, %hi(D_8029F280)
/* 17978C 8024AEAC 8442F280 */ lh $v0, %lo(D_8029F280)($v0)
/* 179788 8024AEA8 3C02802A */ lui $v0, %hi(BattleCam_BoomLength)
/* 17978C 8024AEAC 8442F280 */ lh $v0, %lo(BattleCam_BoomLength)($v0)
/* 179790 8024AEB0 4604E702 */ mul.s $f28, $f28, $f4
/* 179794 8024AEB4 00000000 */ nop
/* 179798 8024AEB8 44825000 */ mtc1 $v0, $f10
/* 17979C 8024AEBC 00000000 */ nop
/* 1797A0 8024AEC0 468052A0 */ cvt.s.w $f10, $f10
/* 1797A4 8024AEC4 3C02802A */ lui $v0, %hi(D_8029F282)
/* 1797A8 8024AEC8 8442F282 */ lh $v0, %lo(D_8029F282)($v0)
/* 1797A4 8024AEC4 3C02802A */ lui $v0, %hi(BattleCam_BoomYaw)
/* 1797A8 8024AEC8 8442F282 */ lh $v0, %lo(BattleCam_BoomYaw)($v0)
/* 1797AC 8024AECC 44821000 */ mtc1 $v0, $f2
/* 1797B0 8024AED0 00000000 */ nop
/* 1797B4 8024AED4 468010A0 */ cvt.s.w $f2, $f2
@ -377,8 +377,8 @@ glabel func_8024A990
/* 1797DC 8024AEFC 44810000 */ mtc1 $at, $f0
/* 1797E0 8024AF00 00000000 */ nop
/* 1797E4 8024AF04 4600F001 */ sub.s $f0, $f30, $f0
/* 1797E8 8024AF08 3C02802A */ lui $v0, %hi(D_8029F284)
/* 1797EC 8024AF0C 8442F284 */ lh $v0, %lo(D_8029F284)($v0)
/* 1797E8 8024AF08 3C02802A */ lui $v0, %hi(BattleCam_BoomPitch)
/* 1797EC 8024AF0C 8442F284 */ lh $v0, %lo(BattleCam_BoomPitch)($v0)
/* 1797F0 8024AF10 46005280 */ add.s $f10, $f10, $f0
/* 1797F4 8024AF14 44820000 */ mtc1 $v0, $f0
/* 1797F8 8024AF18 00000000 */ nop
@ -390,8 +390,8 @@ glabel func_8024A990
/* 179810 8024AF30 E7BC0018 */ swc1 $f28, 0x18($sp)
/* 179814 8024AF34 461C8400 */ add.s $f16, $f16, $f28
/* 179818 8024AF38 46024200 */ add.s $f8, $f8, $f2
/* 17981C 8024AF3C 3C04802A */ lui $a0, %hi(D_8029F29E)
/* 179820 8024AF40 2484F29E */ addiu $a0, $a0, %lo(D_8029F29E)
/* 17981C 8024AF3C 3C04802A */ lui $a0, %hi(BattleCam_MoveTimeLeft)
/* 179820 8024AF40 2484F29E */ addiu $a0, $a0, %lo(BattleCam_MoveTimeLeft)
/* 179824 8024AF44 E610005C */ swc1 $f16, 0x5c($s0)
/* 179828 8024AF48 46003180 */ add.s $f6, $f6, $f0
/* 17982C 8024AF4C 4600448D */ trunc.w.s $f18, $f8
@ -416,8 +416,8 @@ glabel func_8024A990
/* 179878 8024AF98 14400006 */ bnez $v0, .L8024AFB4
/* 17987C 8024AF9C 2462FFFF */ addiu $v0, $v1, -1
/* 179880 8024AFA0 24020001 */ addiu $v0, $zero, 1
/* 179884 8024AFA4 3C01802A */ lui $at, %hi(D_8029F29C)
/* 179888 8024AFA8 A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 179884 8024AFA4 3C01802A */ lui $at, %hi(BattleCam_DoneMoving)
/* 179888 8024AFA8 A022F29C */ sb $v0, %lo(BattleCam_DoneMoving)($at)
/* 17988C 8024AFAC 08092BEF */ j .L8024AFBC
/* 179890 8024AFB0 0000102D */ daddu $v0, $zero, $zero
.L8024AFB4:

View File

@ -13,8 +13,8 @@ glabel func_8024AFE4
/* 1798C8 8024AFE8 AFB00020 */ sw $s0, 0x20($sp)
/* 1798CC 8024AFEC 3C10800B */ lui $s0, %hi(gCameras+0x558)
/* 1798D0 8024AFF0 261022D8 */ addiu $s0, $s0, %lo(gCameras+0x558)
/* 1798D4 8024AFF4 3C02802A */ lui $v0, %hi(D_8029F27C)
/* 1798D8 8024AFF8 9442F27C */ lhu $v0, %lo(D_8029F27C)($v0)
/* 1798D4 8024AFF4 3C02802A */ lui $v0, %hi(BattleCam_TargetActor)
/* 1798D8 8024AFF8 9442F27C */ lhu $v0, %lo(BattleCam_TargetActor)($v0)
/* 1798DC 8024AFFC 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 1798E0 8024B000 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 1798E4 8024B004 AFBF0024 */ sw $ra, 0x24($sp)
@ -144,8 +144,8 @@ glabel func_8024AFE4
/* 179AB4 8024B1D4 8042F2A6 */ lb $v0, %lo(D_8029F2A6)($v0)
/* 179AB8 8024B1D8 10400029 */ beqz $v0, .L8024B280
/* 179ABC 8024B1DC 00000000 */ nop
/* 179AC0 8024B1E0 3C01802A */ lui $at, %hi(D_8029F28C)
/* 179AC4 8024B1E4 C422F28C */ lwc1 $f2, %lo(D_8029F28C)($at)
/* 179AC0 8024B1E0 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 179AC4 8024B1E4 C422F28C */ lwc1 $f2, %lo(BattleCam_TargetBoomLength)($at)
/* 179AC8 8024B1E8 3C0143FA */ lui $at, 0x43fa
/* 179ACC 8024B1EC 44810000 */ mtc1 $at, $f0
/* 179AD0 8024B1F0 00000000 */ nop
@ -195,18 +195,18 @@ glabel func_8024AFE4
/* 179B78 8024B298 00000000 */ nop
/* 179B7C 8024B29C 46800020 */ cvt.s.w $f0, $f0
/* 179B80 8024B2A0 86020022 */ lh $v0, 0x22($s0)
/* 179B84 8024B2A4 3C01802A */ lui $at, %hi(D_8029F28C)
/* 179B88 8024B2A8 E420F28C */ swc1 $f0, %lo(D_8029F28C)($at)
/* 179B84 8024B2A4 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 179B88 8024B2A8 E420F28C */ swc1 $f0, %lo(BattleCam_TargetBoomLength)($at)
/* 179B8C 8024B2AC 44820000 */ mtc1 $v0, $f0
/* 179B90 8024B2B0 00000000 */ nop
/* 179B94 8024B2B4 46800020 */ cvt.s.w $f0, $f0
/* 179B98 8024B2B8 3C01802A */ lui $at, %hi(D_8029F294)
/* 179B9C 8024B2BC E420F294 */ swc1 $f0, %lo(D_8029F294)($at)
/* 179B98 8024B2B8 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 179B9C 8024B2BC E420F294 */ swc1 $f0, %lo(BattleCam_TargetBoomPitch)($at)
/* 179BA0 8024B2C0 44830000 */ mtc1 $v1, $f0
/* 179BA4 8024B2C4 00000000 */ nop
/* 179BA8 8024B2C8 46800020 */ cvt.s.w $f0, $f0
/* 179BAC 8024B2CC 3C01802A */ lui $at, %hi(D_8029F290)
/* 179BB0 8024B2D0 E420F290 */ swc1 $f0, %lo(D_8029F290)($at)
/* 179BAC 8024B2CC 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 179BB0 8024B2D0 E420F290 */ swc1 $f0, %lo(BattleCam_TargetBoomYaw)($at)
/* 179BB4 8024B2D4 04820001 */ bltzl $a0, .L8024B2DC
/* 179BB8 8024B2D8 248400FF */ addiu $a0, $a0, 0xff
.L8024B2DC:
@ -214,30 +214,30 @@ glabel func_8024AFE4
/* 179BC0 8024B2E0 C6020054 */ lwc1 $f2, 0x54($s0)
/* 179BC4 8024B2E4 C6040058 */ lwc1 $f4, 0x58($s0)
/* 179BC8 8024B2E8 C606005C */ lwc1 $f6, 0x5c($s0)
/* 179BCC 8024B2EC 3C03802A */ lui $v1, %hi(D_8029F29E)
/* 179BD0 8024B2F0 9463F29E */ lhu $v1, %lo(D_8029F29E)($v1)
/* 179BCC 8024B2EC 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeLeft)
/* 179BD0 8024B2F0 9463F29E */ lhu $v1, %lo(BattleCam_MoveTimeLeft)($v1)
/* 179BD4 8024B2F4 44820000 */ mtc1 $v0, $f0
/* 179BD8 8024B2F8 00000000 */ nop
/* 179BDC 8024B2FC 46800020 */ cvt.s.w $f0, $f0
/* 179BE0 8024B300 3C01802A */ lui $at, %hi(D_8029F298)
/* 179BE4 8024B304 E420F298 */ swc1 $f0, %lo(D_8029F298)($at)
/* 179BE8 8024B308 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 179BEC 8024B30C E422F2A8 */ swc1 $f2, %lo(D_8029F2A8)($at)
/* 179BF0 8024B310 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 179BF4 8024B314 E424F2AC */ swc1 $f4, %lo(D_8029F2AC)($at)
/* 179BF8 8024B318 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 179BFC 8024B31C E426F2B0 */ swc1 $f6, %lo(D_8029F2B0)($at)
/* 179C00 8024B320 3C01802A */ lui $at, %hi(D_8029F2A0)
/* 179C04 8024B324 A423F2A0 */ sh $v1, %lo(D_8029F2A0)($at)
/* 179BE0 8024B300 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 179BE4 8024B304 E420F298 */ swc1 $f0, %lo(BattleCam_TargetBoomZOffset)($at)
/* 179BE8 8024B308 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 179BEC 8024B30C E422F2A8 */ swc1 $f2, %lo(BattleCam_TargetPosX)($at)
/* 179BF0 8024B310 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 179BF4 8024B314 E424F2AC */ swc1 $f4, %lo(BattleCam_TargetPosY)($at)
/* 179BF8 8024B318 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 179BFC 8024B31C E426F2B0 */ swc1 $f6, %lo(BattleCam_TargetPosZ)($at)
/* 179C00 8024B320 3C01802A */ lui $at, %hi(BattleCam_MoveTimeTotal)
/* 179C04 8024B324 A423F2A0 */ sh $v1, %lo(BattleCam_MoveTimeTotal)($at)
.L8024B328:
/* 179C08 8024B328 3C02802A */ lui $v0, %hi(D_8029F2A5)
/* 179C0C 8024B32C 8042F2A5 */ lb $v0, %lo(D_8029F2A5)($v0)
/* 179C08 8024B328 3C02802A */ lui $v0, %hi(BattleCam_UseLinearInterp)
/* 179C0C 8024B32C 8042F2A5 */ lb $v0, %lo(BattleCam_UseLinearInterp)($v0)
/* 179C10 8024B330 14400027 */ bnez $v0, .L8024B3D0
/* 179C14 8024B334 00000000 */ nop
/* 179C18 8024B338 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 179C1C 8024B33C 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 179C20 8024B340 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 179C24 8024B344 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 179C18 8024B338 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 179C1C 8024B33C 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 179C20 8024B340 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 179C24 8024B344 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 179C28 8024B348 3C013F80 */ lui $at, 0x3f80
/* 179C2C 8024B34C 4481C000 */ mtc1 $at, $f24
/* 179C30 8024B350 4482E000 */ mtc1 $v0, $f28
@ -273,10 +273,10 @@ glabel func_8024AFE4
/* 179CA8 8024B3C8 08092CFF */ j .L8024B3FC
/* 179CAC 8024B3CC 4600C701 */ sub.s $f28, $f24, $f0
.L8024B3D0:
/* 179CB0 8024B3D0 3C02802A */ lui $v0, %hi(D_8029F29E)
/* 179CB4 8024B3D4 8442F29E */ lh $v0, %lo(D_8029F29E)($v0)
/* 179CB8 8024B3D8 3C03802A */ lui $v1, %hi(D_8029F2A0)
/* 179CBC 8024B3DC 8463F2A0 */ lh $v1, %lo(D_8029F2A0)($v1)
/* 179CB0 8024B3D0 3C02802A */ lui $v0, %hi(BattleCam_MoveTimeLeft)
/* 179CB4 8024B3D4 8442F29E */ lh $v0, %lo(BattleCam_MoveTimeLeft)($v0)
/* 179CB8 8024B3D8 3C03802A */ lui $v1, %hi(BattleCam_MoveTimeTotal)
/* 179CBC 8024B3DC 8463F2A0 */ lh $v1, %lo(BattleCam_MoveTimeTotal)($v1)
/* 179CC0 8024B3E0 4482E000 */ mtc1 $v0, $f28
/* 179CC4 8024B3E4 00000000 */ nop
/* 179CC8 8024B3E8 4680E720 */ cvt.s.w $f28, $f28
@ -285,32 +285,32 @@ glabel func_8024AFE4
/* 179CD4 8024B3F4 46800020 */ cvt.s.w $f0, $f0
/* 179CD8 8024B3F8 4600E703 */ div.s $f28, $f28, $f0
.L8024B3FC:
/* 179CDC 8024B3FC 3C01802A */ lui $at, %hi(D_8029F2A8)
/* 179CE0 8024B400 C434F2A8 */ lwc1 $f20, %lo(D_8029F2A8)($at)
/* 179CDC 8024B3FC 3C01802A */ lui $at, %hi(BattleCam_TargetPosX)
/* 179CE0 8024B400 C434F2A8 */ lwc1 $f20, %lo(BattleCam_TargetPosX)($at)
/* 179CE4 8024B404 461CA502 */ mul.s $f20, $f20, $f28
/* 179CE8 8024B408 00000000 */ nop
/* 179CEC 8024B40C 3C01802A */ lui $at, %hi(D_8029F2AC)
/* 179CF0 8024B410 C432F2AC */ lwc1 $f18, %lo(D_8029F2AC)($at)
/* 179CEC 8024B40C 3C01802A */ lui $at, %hi(BattleCam_TargetPosY)
/* 179CF0 8024B410 C432F2AC */ lwc1 $f18, %lo(BattleCam_TargetPosY)($at)
/* 179CF4 8024B414 461C9482 */ mul.s $f18, $f18, $f28
/* 179CF8 8024B418 00000000 */ nop
/* 179CFC 8024B41C 3C01802A */ lui $at, %hi(D_8029F2B0)
/* 179D00 8024B420 C430F2B0 */ lwc1 $f16, %lo(D_8029F2B0)($at)
/* 179CFC 8024B41C 3C01802A */ lui $at, %hi(BattleCam_TargetPosZ)
/* 179D00 8024B420 C430F2B0 */ lwc1 $f16, %lo(BattleCam_TargetPosZ)($at)
/* 179D04 8024B424 461C8402 */ mul.s $f16, $f16, $f28
/* 179D08 8024B428 00000000 */ nop
/* 179D0C 8024B42C 3C01802A */ lui $at, %hi(D_8029F298)
/* 179D10 8024B430 C42AF298 */ lwc1 $f10, %lo(D_8029F298)($at)
/* 179D0C 8024B42C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomZOffset)
/* 179D10 8024B430 C42AF298 */ lwc1 $f10, %lo(BattleCam_TargetBoomZOffset)($at)
/* 179D14 8024B434 461C5282 */ mul.s $f10, $f10, $f28
/* 179D18 8024B438 00000000 */ nop
/* 179D1C 8024B43C 3C01802A */ lui $at, %hi(D_8029F28C)
/* 179D20 8024B440 C42EF28C */ lwc1 $f14, %lo(D_8029F28C)($at)
/* 179D1C 8024B43C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomLength)
/* 179D20 8024B440 C42EF28C */ lwc1 $f14, %lo(BattleCam_TargetBoomLength)($at)
/* 179D24 8024B444 461C7382 */ mul.s $f14, $f14, $f28
/* 179D28 8024B448 00000000 */ nop
/* 179D2C 8024B44C 3C01802A */ lui $at, %hi(D_8029F290)
/* 179D30 8024B450 C428F290 */ lwc1 $f8, %lo(D_8029F290)($at)
/* 179D2C 8024B44C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomYaw)
/* 179D30 8024B450 C428F290 */ lwc1 $f8, %lo(BattleCam_TargetBoomYaw)($at)
/* 179D34 8024B454 461C4202 */ mul.s $f8, $f8, $f28
/* 179D38 8024B458 00000000 */ nop
/* 179D3C 8024B45C 3C01802A */ lui $at, %hi(D_8029F294)
/* 179D40 8024B460 C424F294 */ lwc1 $f4, %lo(D_8029F294)($at)
/* 179D3C 8024B45C 3C01802A */ lui $at, %hi(BattleCam_TargetBoomPitch)
/* 179D40 8024B460 C424F294 */ lwc1 $f4, %lo(BattleCam_TargetBoomPitch)($at)
/* 179D44 8024B464 461C2102 */ mul.s $f4, $f4, $f28
/* 179D48 8024B468 00000000 */ nop
/* 179D4C 8024B46C 3C013F80 */ lui $at, 0x3f80
@ -322,20 +322,20 @@ glabel func_8024AFE4
/* 179D64 8024B484 C7BE0018 */ lwc1 $f30, 0x18($sp)
/* 179D68 8024B488 4602F602 */ mul.s $f24, $f30, $f2
/* 179D6C 8024B48C 00000000 */ nop
/* 179D70 8024B490 3C02802A */ lui $v0, %hi(D_8029F286)
/* 179D74 8024B494 8442F286 */ lh $v0, %lo(D_8029F286)($v0)
/* 179D70 8024B490 3C02802A */ lui $v0, %hi(BattleCam_BoomZOffset)
/* 179D74 8024B494 8442F286 */ lh $v0, %lo(BattleCam_BoomZOffset)($v0)
/* 179D78 8024B498 44820000 */ mtc1 $v0, $f0
/* 179D7C 8024B49C 00000000 */ nop
/* 179D80 8024B4A0 46800020 */ cvt.s.w $f0, $f0
/* 179D84 8024B4A4 3C02802A */ lui $v0, %hi(D_8029F280)
/* 179D88 8024B4A8 8442F280 */ lh $v0, %lo(D_8029F280)($v0)
/* 179D84 8024B4A4 3C02802A */ lui $v0, %hi(BattleCam_BoomLength)
/* 179D88 8024B4A8 8442F280 */ lh $v0, %lo(BattleCam_BoomLength)($v0)
/* 179D8C 8024B4AC 46020002 */ mul.s $f0, $f0, $f2
/* 179D90 8024B4B0 00000000 */ nop
/* 179D94 8024B4B4 44826000 */ mtc1 $v0, $f12
/* 179D98 8024B4B8 00000000 */ nop
/* 179D9C 8024B4BC 46806320 */ cvt.s.w $f12, $f12
/* 179DA0 8024B4C0 3C02802A */ lui $v0, %hi(D_8029F282)
/* 179DA4 8024B4C4 8442F282 */ lh $v0, %lo(D_8029F282)($v0)
/* 179DA0 8024B4C0 3C02802A */ lui $v0, %hi(BattleCam_BoomYaw)
/* 179DA4 8024B4C4 8442F282 */ lh $v0, %lo(BattleCam_BoomYaw)($v0)
/* 179DA8 8024B4C8 44823000 */ mtc1 $v0, $f6
/* 179DAC 8024B4CC 00000000 */ nop
/* 179DB0 8024B4D0 468031A0 */ cvt.s.w $f6, $f6
@ -355,8 +355,8 @@ glabel func_8024AFE4
/* 179DE8 8024B508 44810000 */ mtc1 $at, $f0
/* 179DEC 8024B50C 00000000 */ nop
/* 179DF0 8024B510 4600F001 */ sub.s $f0, $f30, $f0
/* 179DF4 8024B514 3C02802A */ lui $v0, %hi(D_8029F284)
/* 179DF8 8024B518 8442F284 */ lh $v0, %lo(D_8029F284)($v0)
/* 179DF4 8024B514 3C02802A */ lui $v0, %hi(BattleCam_BoomPitch)
/* 179DF8 8024B518 8442F284 */ lh $v0, %lo(BattleCam_BoomPitch)($v0)
/* 179DFC 8024B51C 46006300 */ add.s $f12, $f12, $f0
/* 179E00 8024B520 44820000 */ mtc1 $v0, $f0
/* 179E04 8024B524 00000000 */ nop
@ -368,8 +368,8 @@ glabel func_8024AFE4
/* 179E1C 8024B53C 461AA500 */ add.s $f20, $f20, $f26
/* 179E20 8024B540 46189480 */ add.s $f18, $f18, $f24
/* 179E24 8024B544 46064200 */ add.s $f8, $f8, $f6
/* 179E28 8024B548 3C04802A */ lui $a0, %hi(D_8029F29E)
/* 179E2C 8024B54C 2484F29E */ addiu $a0, $a0, %lo(D_8029F29E)
/* 179E28 8024B548 3C04802A */ lui $a0, %hi(BattleCam_MoveTimeLeft)
/* 179E2C 8024B54C 2484F29E */ addiu $a0, $a0, %lo(BattleCam_MoveTimeLeft)
/* 179E30 8024B550 46168400 */ add.s $f16, $f16, $f22
/* 179E34 8024B554 E6140054 */ swc1 $f20, 0x54($s0)
/* 179E38 8024B558 E6120058 */ swc1 $f18, 0x58($s0)
@ -397,8 +397,8 @@ glabel func_8024AFE4
/* 179E90 8024B5B0 14400006 */ bnez $v0, .L8024B5CC
/* 179E94 8024B5B4 2462FFFF */ addiu $v0, $v1, -1
/* 179E98 8024B5B8 24020001 */ addiu $v0, $zero, 1
/* 179E9C 8024B5BC 3C01802A */ lui $at, %hi(D_8029F29C)
/* 179EA0 8024B5C0 A022F29C */ sb $v0, %lo(D_8029F29C)($at)
/* 179E9C 8024B5BC 3C01802A */ lui $at, %hi(BattleCam_DoneMoving)
/* 179EA0 8024B5C0 A022F29C */ sb $v0, %lo(BattleCam_DoneMoving)($at)
/* 179EA4 8024B5C4 08092D75 */ j .L8024B5D4
/* 179EA8 8024B5C8 0000102D */ daddu $v0, $zero, $zero
.L8024B5CC:

View File

@ -1,182 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel draw_msg
/* BCBEC 801264EC 27BDFA58 */ addiu $sp, $sp, -0x5a8
/* BCBF0 801264F0 8FA205BC */ lw $v0, 0x5bc($sp)
/* BCBF4 801264F4 AFB7059C */ sw $s7, 0x59c($sp)
/* BCBF8 801264F8 8FB705B8 */ lw $s7, 0x5b8($sp)
/* BCBFC 801264FC AFB00580 */ sw $s0, 0x580($sp)
/* BCC00 80126500 0080802D */ daddu $s0, $a0, $zero
/* BCC04 80126504 AFBE05A0 */ sw $fp, 0x5a0($sp)
/* BCC08 80126508 00E0F02D */ daddu $fp, $a3, $zero
/* BCC0C 8012650C AFB60598 */ sw $s6, 0x598($sp)
/* BCC10 80126510 0000B02D */ daddu $s6, $zero, $zero
/* BCC14 80126514 AFB20588 */ sw $s2, 0x588($sp)
/* BCC18 80126518 02C0902D */ daddu $s2, $s6, $zero
/* BCC1C 8012651C AFB40590 */ sw $s4, 0x590($sp)
/* BCC20 80126520 0000A02D */ daddu $s4, $zero, $zero
/* BCC24 80126524 AFB3058C */ sw $s3, 0x58c($sp)
/* BCC28 80126528 0280982D */ daddu $s3, $s4, $zero
/* BCC2C 8012652C AFBF05A4 */ sw $ra, 0x5a4($sp)
/* BCC30 80126530 AFB50594 */ sw $s5, 0x594($sp)
/* BCC34 80126534 AFB10584 */ sw $s1, 0x584($sp)
/* BCC38 80126538 AFA505AC */ sw $a1, 0x5ac($sp)
/* BCC3C 8012653C AFA605B0 */ sw $a2, 0x5b0($sp)
/* BCC40 80126540 12000087 */ beqz $s0, .L80126760
/* BCC44 80126544 0040A82D */ daddu $s5, $v0, $zero
/* BCC48 80126548 30420001 */ andi $v0, $v0, 1
/* BCC4C 8012654C 10400003 */ beqz $v0, .L8012655C
/* BCC50 80126550 2BC200FF */ slti $v0, $fp, 0xff
/* BCC54 80126554 24160002 */ addiu $s6, $zero, 2
/* BCC58 80126558 24130001 */ addiu $s3, $zero, 1
.L8012655C:
/* BCC5C 8012655C 54400001 */ bnel $v0, $zero, .L80126564
/* BCC60 80126560 36D60001 */ ori $s6, $s6, 1
.L80126564:
/* BCC64 80126564 27B10020 */ addiu $s1, $sp, 0x20
/* BCC68 80126568 0220202D */ daddu $a0, $s1, $zero
/* BCC6C 8012656C 24050001 */ addiu $a1, $zero, 1
/* BCC70 80126570 0C0495A9 */ jal initialize_printer
/* BCC74 80126574 0000302D */ daddu $a2, $zero, $zero
/* BCC78 80126578 06010003 */ bgez $s0, .L80126588
/* BCC7C 8012657C 00000000 */ nop
/* BCC80 80126580 08049975 */ j .L801265D4
/* BCC84 80126584 AFB00020 */ sw $s0, 0x20($sp)
.L80126588:
/* BCC88 80126588 0C00AB0A */ jal general_heap_malloc
/* BCC8C 8012658C 24040400 */ addiu $a0, $zero, 0x400
/* BCC90 80126590 0040A02D */ daddu $s4, $v0, $zero
/* BCC94 80126594 0200202D */ daddu $a0, $s0, $zero
/* BCC98 80126598 0C049601 */ jal dma_load_msg
/* BCC9C 8012659C 0280282D */ daddu $a1, $s4, $zero
/* BCCA0 801265A0 0000282D */ daddu $a1, $zero, $zero
/* BCCA4 801265A4 27B00578 */ addiu $s0, $sp, 0x578
/* BCCA8 801265A8 0200302D */ daddu $a2, $s0, $zero
/* BCCAC 801265AC AFB40020 */ sw $s4, 0x20($sp)
/* BCCB0 801265B0 AFA00010 */ sw $zero, 0x10($sp)
/* BCCB4 801265B4 AFA00014 */ sw $zero, 0x14($sp)
/* BCCB8 801265B8 AFA00018 */ sw $zero, 0x18($sp)
/* BCCBC 801265BC AFB3001C */ sw $s3, 0x1c($sp)
/* BCCC0 801265C0 0280202D */ daddu $a0, $s4, $zero
/* BCCC4 801265C4 0C0497DA */ jal get_msg_properties
/* BCCC8 801265C8 00A0382D */ daddu $a3, $a1, $zero
/* BCCCC 801265CC 96020002 */ lhu $v0, 2($s0)
/* BCCD0 801265D0 A7A20558 */ sh $v0, 0x558($sp)
.L801265D4:
/* BCCD4 801265D4 06E00011 */ bltz $s7, .L8012661C
/* BCCD8 801265D8 26450001 */ addiu $a1, $s2, 1
/* BCCDC 801265DC 24A40001 */ addiu $a0, $a1, 1
/* BCCE0 801265E0 3242FFFF */ andi $v0, $s2, 0xffff
/* BCCE4 801265E4 02221021 */ addu $v0, $s1, $v0
/* BCCE8 801265E8 240300FF */ addiu $v1, $zero, 0xff
/* BCCEC 801265EC A0430010 */ sb $v1, 0x10($v0)
/* BCCF0 801265F0 30A2FFFF */ andi $v0, $a1, 0xffff
/* BCCF4 801265F4 02221021 */ addu $v0, $s1, $v0
/* BCCF8 801265F8 24030004 */ addiu $v1, $zero, 4
/* BCCFC 801265FC 3084FFFF */ andi $a0, $a0, 0xffff
/* BCD00 80126600 02242021 */ addu $a0, $s1, $a0
/* BCD04 80126604 A0430010 */ sb $v1, 0x10($v0)
/* BCD08 80126608 A0970010 */ sb $s7, 0x10($a0)
/* BCD0C 8012660C 96220004 */ lhu $v0, 4($s1)
/* BCD10 80126610 24B20002 */ addiu $s2, $a1, 2
/* BCD14 80126614 24420003 */ addiu $v0, $v0, 3
/* BCD18 80126618 A6220004 */ sh $v0, 4($s1)
.L8012661C:
/* BCD1C 8012661C 32A20002 */ andi $v0, $s5, 2
/* BCD20 80126620 10400012 */ beqz $v0, .L8012666C
/* BCD24 80126624 26450001 */ addiu $a1, $s2, 1
/* BCD28 80126628 24A40001 */ addiu $a0, $a1, 1
/* BCD2C 8012662C 3242FFFF */ andi $v0, $s2, 0xffff
/* BCD30 80126630 02221021 */ addu $v0, $s1, $v0
/* BCD34 80126634 240300FF */ addiu $v1, $zero, 0xff
/* BCD38 80126638 A0430010 */ sb $v1, 0x10($v0)
/* BCD3C 8012663C 30A2FFFF */ andi $v0, $a1, 0xffff
/* BCD40 80126640 02221021 */ addu $v0, $s1, $v0
/* BCD44 80126644 2403001C */ addiu $v1, $zero, 0x1c
/* BCD48 80126648 3084FFFF */ andi $a0, $a0, 0xffff
/* BCD4C 8012664C 02242021 */ addu $a0, $s1, $a0
/* BCD50 80126650 A0430010 */ sb $v1, 0x10($v0)
/* BCD54 80126654 24020008 */ addiu $v0, $zero, 8
/* BCD58 80126658 A0820010 */ sb $v0, 0x10($a0)
/* BCD5C 8012665C 96220004 */ lhu $v0, 4($s1)
/* BCD60 80126660 24B20002 */ addiu $s2, $a1, 2
/* BCD64 80126664 24420003 */ addiu $v0, $v0, 3
/* BCD68 80126668 A6220004 */ sh $v0, 4($s1)
.L8012666C:
/* BCD6C 8012666C 32A20004 */ andi $v0, $s5, 4
/* BCD70 80126670 10400012 */ beqz $v0, .L801266BC
/* BCD74 80126674 26450001 */ addiu $a1, $s2, 1
/* BCD78 80126678 24A40001 */ addiu $a0, $a1, 1
/* BCD7C 8012667C 3242FFFF */ andi $v0, $s2, 0xffff
/* BCD80 80126680 02221021 */ addu $v0, $s1, $v0
/* BCD84 80126684 240300FF */ addiu $v1, $zero, 0xff
/* BCD88 80126688 A0430010 */ sb $v1, 0x10($v0)
/* BCD8C 8012668C 30A2FFFF */ andi $v0, $a1, 0xffff
/* BCD90 80126690 02221021 */ addu $v0, $s1, $v0
/* BCD94 80126694 2403001C */ addiu $v1, $zero, 0x1c
/* BCD98 80126698 3084FFFF */ andi $a0, $a0, 0xffff
/* BCD9C 8012669C 02242021 */ addu $a0, $s1, $a0
/* BCDA0 801266A0 A0430010 */ sb $v1, 0x10($v0)
/* BCDA4 801266A4 24020009 */ addiu $v0, $zero, 9
/* BCDA8 801266A8 A0820010 */ sb $v0, 0x10($a0)
/* BCDAC 801266AC 96220004 */ lhu $v0, 4($s1)
/* BCDB0 801266B0 24B20002 */ addiu $s2, $a1, 2
/* BCDB4 801266B4 24420003 */ addiu $v0, $v0, 3
/* BCDB8 801266B8 A6220004 */ sh $v0, 4($s1)
.L801266BC:
/* BCDBC 801266BC 32A20008 */ andi $v0, $s5, 8
/* BCDC0 801266C0 10400011 */ beqz $v0, .L80126708
/* BCDC4 801266C4 26440001 */ addiu $a0, $s2, 1
/* BCDC8 801266C8 24850001 */ addiu $a1, $a0, 1
/* BCDCC 801266CC 3242FFFF */ andi $v0, $s2, 0xffff
/* BCDD0 801266D0 02221021 */ addu $v0, $s1, $v0
/* BCDD4 801266D4 240300FF */ addiu $v1, $zero, 0xff
/* BCDD8 801266D8 3084FFFF */ andi $a0, $a0, 0xffff
/* BCDDC 801266DC 02242021 */ addu $a0, $s1, $a0
/* BCDE0 801266E0 A0430010 */ sb $v1, 0x10($v0)
/* BCDE4 801266E4 2402001C */ addiu $v0, $zero, 0x1c
/* BCDE8 801266E8 30A5FFFF */ andi $a1, $a1, 0xffff
/* BCDEC 801266EC 02252821 */ addu $a1, $s1, $a1
/* BCDF0 801266F0 A0820010 */ sb $v0, 0x10($a0)
/* BCDF4 801266F4 2402000E */ addiu $v0, $zero, 0xe
/* BCDF8 801266F8 A0A20010 */ sb $v0, 0x10($a1)
/* BCDFC 801266FC 96220004 */ lhu $v0, 4($s1)
/* BCE00 80126700 24420003 */ addiu $v0, $v0, 3
/* BCE04 80126704 A6220004 */ sh $v0, 4($s1)
.L80126708:
/* BCE08 80126708 0220202D */ daddu $a0, $s1, $zero
/* BCE0C 8012670C 24052710 */ addiu $a1, $zero, 0x2710
/* BCE10 80126710 0C04915C */ jal msg_copy_to_print_buffer
/* BCE14 80126714 24060001 */ addiu $a2, $zero, 1
/* BCE18 80126718 0220202D */ daddu $a0, $s1, $zero
/* BCE1C 8012671C 0000382D */ daddu $a3, $zero, $zero
/* BCE20 80126720 8FA805AC */ lw $t0, 0x5ac($sp)
/* BCE24 80126724 32C2FFFF */ andi $v0, $s6, 0xffff
/* BCE28 80126728 AFA20014 */ sw $v0, 0x14($sp)
/* BCE2C 8012672C 33C200FF */ andi $v0, $fp, 0xff
/* BCE30 80126730 AFA00010 */ sw $zero, 0x10($sp)
/* BCE34 80126734 AFA20018 */ sw $v0, 0x18($sp)
/* BCE38 80126738 00082C00 */ sll $a1, $t0, 0x10
/* BCE3C 8012673C 8FA805B0 */ lw $t0, 0x5b0($sp)
/* BCE40 80126740 00052C03 */ sra $a1, $a1, 0x10
/* BCE44 80126744 00083400 */ sll $a2, $t0, 0x10
/* BCE48 80126748 0C049F64 */ jal appendGfx_message
/* BCE4C 8012674C 00063403 */ sra $a2, $a2, 0x10
/* BCE50 80126750 12800003 */ beqz $s4, .L80126760
/* BCE54 80126754 00000000 */ nop
/* BCE58 80126758 0C00AB1E */ jal general_heap_free
/* BCE5C 8012675C 0280202D */ daddu $a0, $s4, $zero
.L80126760:
/* BCE60 80126760 8FBF05A4 */ lw $ra, 0x5a4($sp)
/* BCE64 80126764 8FBE05A0 */ lw $fp, 0x5a0($sp)
/* BCE68 80126768 8FB7059C */ lw $s7, 0x59c($sp)
/* BCE6C 8012676C 8FB60598 */ lw $s6, 0x598($sp)
/* BCE70 80126770 8FB50594 */ lw $s5, 0x594($sp)
/* BCE74 80126774 8FB40590 */ lw $s4, 0x590($sp)
/* BCE78 80126778 8FB3058C */ lw $s3, 0x58c($sp)
/* BCE7C 8012677C 8FB20588 */ lw $s2, 0x588($sp)
/* BCE80 80126780 8FB10584 */ lw $s1, 0x584($sp)
/* BCE84 80126784 8FB00580 */ lw $s0, 0x580($sp)
/* BCE88 80126788 03E00008 */ jr $ra
/* BCE8C 8012678C 27BD05A8 */ addiu $sp, $sp, 0x5a8

View File

@ -1,115 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80150580
.double 0.6
.section .text
glabel msg_get_draw_char_width
/* BC4F4 80125DF4 288200F0 */ slti $v0, $a0, 0xf0
/* BC4F8 80125DF8 44871000 */ mtc1 $a3, $f2
/* BC4FC 80125DFC 8FA70010 */ lw $a3, 0x10($sp)
/* BC500 80125E00 97A30016 */ lhu $v1, 0x16($sp)
/* BC504 80125E04 14400004 */ bnez $v0, .L80125E18
/* BC508 80125E08 2482FF0B */ addiu $v0, $a0, -0xf5
/* BC50C 80125E0C 2C420003 */ sltiu $v0, $v0, 3
/* BC510 80125E10 10400037 */ beqz $v0, .L80125EF0
/* BC514 80125E14 0000102D */ daddu $v0, $zero, $zero
.L80125E18:
/* BC518 80125E18 10E00005 */ beqz $a3, .L80125E30
/* BC51C 80125E1C 240200F5 */ addiu $v0, $zero, 0xf5
/* BC520 80125E20 44870000 */ mtc1 $a3, $f0
/* BC524 80125E24 00000000 */ nop
/* BC528 80125E28 080497B1 */ j .L80125EC4
/* BC52C 80125E2C 46800020 */ cvt.s.w $f0, $f0
.L80125E30:
/* BC530 80125E30 30620100 */ andi $v0, $v1, 0x100
/* BC534 80125E34 10400015 */ beqz $v0, .L80125E8C
/* BC538 80125E38 00051880 */ sll $v1, $a1, 2
/* BC53C 80125E3C 00061040 */ sll $v0, $a2, 1
/* BC540 80125E40 3C01802F */ lui $at, %hi(gMsgCharsets)
/* BC544 80125E44 00230821 */ addu $at, $at, $v1
/* BC548 80125E48 8C23B5A8 */ lw $v1, %lo(gMsgCharsets)($at)
/* BC54C 80125E4C 00461021 */ addu $v0, $v0, $a2
/* BC550 80125E50 8C630008 */ lw $v1, 8($v1)
/* BC554 80125E54 00021080 */ sll $v0, $v0, 2
/* BC558 80125E58 00431021 */ addu $v0, $v0, $v1
/* BC55C 80125E5C 8C430004 */ lw $v1, 4($v0)
/* BC560 80125E60 1060000A */ beqz $v1, .L80125E8C
/* BC564 80125E64 240200F5 */ addiu $v0, $zero, 0xf5
/* BC568 80125E68 10820008 */ beq $a0, $v0, .L80125E8C
/* BC56C 80125E6C 240200F6 */ addiu $v0, $zero, 0xf6
/* BC570 80125E70 10820006 */ beq $a0, $v0, .L80125E8C
/* BC574 80125E74 240200F7 */ addiu $v0, $zero, 0xf7
/* BC578 80125E78 10820004 */ beq $a0, $v0, .L80125E8C
/* BC57C 80125E7C 00641021 */ addu $v0, $v1, $a0
/* BC580 80125E80 90420000 */ lbu $v0, ($v0)
/* BC584 80125E84 080497AD */ j .L80125EB4
/* BC588 80125E88 00000000 */ nop
.L80125E8C:
/* BC58C 80125E8C 00051880 */ sll $v1, $a1, 2
/* BC590 80125E90 00061040 */ sll $v0, $a2, 1
/* BC594 80125E94 3C01802F */ lui $at, %hi(gMsgCharsets)
/* BC598 80125E98 00230821 */ addu $at, $at, $v1
/* BC59C 80125E9C 8C23B5A8 */ lw $v1, %lo(gMsgCharsets)($at)
/* BC5A0 80125EA0 00461021 */ addu $v0, $v0, $a2
/* BC5A4 80125EA4 8C630008 */ lw $v1, 8($v1)
/* BC5A8 80125EA8 00021080 */ sll $v0, $v0, 2
/* BC5AC 80125EAC 00431021 */ addu $v0, $v0, $v1
/* BC5B0 80125EB0 90420008 */ lbu $v0, 8($v0)
.L80125EB4:
/* BC5B4 80125EB4 44820000 */ mtc1 $v0, $f0
/* BC5B8 80125EB8 00000000 */ nop
/* BC5BC 80125EBC 46800020 */ cvt.s.w $f0, $f0
/* BC5C0 80125EC0 240200F5 */ addiu $v0, $zero, 0xf5
.L80125EC4:
/* BC5C4 80125EC4 1482000C */ bne $a0, $v0, .L80125EF8
/* BC5C8 80125EC8 240200F6 */ addiu $v0, $zero, 0xf6
/* BC5CC 80125ECC 46020002 */ mul.s $f0, $f0, $f2
/* BC5D0 80125ED0 00000000 */ nop
/* BC5D4 80125ED4 3C018015 */ lui $at, %hi(D_80150580)
/* BC5D8 80125ED8 D4220580 */ ldc1 $f2, %lo(D_80150580)($at)
/* BC5DC 80125EDC 46000021 */ cvt.d.s $f0, $f0
.L80125EE0:
/* BC5E0 80125EE0 46220002 */ mul.d $f0, $f0, $f2
/* BC5E4 80125EE4 00000000 */ nop
/* BC5E8 80125EE8 4620010D */ trunc.w.d $f4, $f0
/* BC5EC 80125EEC 44022000 */ mfc1 $v0, $f4
.L80125EF0:
/* BC5F0 80125EF0 03E00008 */ jr $ra
/* BC5F4 80125EF4 00000000 */ nop
.L80125EF8:
/* BC5F8 80125EF8 14820008 */ bne $a0, $v0, .L80125F1C
/* BC5FC 80125EFC 240200F7 */ addiu $v0, $zero, 0xf7
/* BC600 80125F00 46020002 */ mul.s $f0, $f0, $f2
/* BC604 80125F04 00000000 */ nop
/* BC608 80125F08 46000021 */ cvt.d.s $f0, $f0
/* BC60C 80125F0C 4620010D */ trunc.w.d $f4, $f0
/* BC610 80125F10 44022000 */ mfc1 $v0, $f4
/* BC614 80125F14 03E00008 */ jr $ra
/* BC618 80125F18 00000000 */ nop
.L80125F1C:
/* BC61C 80125F1C 14820008 */ bne $a0, $v0, .L80125F40
/* BC620 80125F20 288200F0 */ slti $v0, $a0, 0xf0
/* BC624 80125F24 46020002 */ mul.s $f0, $f0, $f2
/* BC628 80125F28 00000000 */ nop
/* BC62C 80125F2C 3C013FE0 */ lui $at, 0x3fe0
/* BC630 80125F30 44811800 */ mtc1 $at, $f3
/* BC634 80125F34 44801000 */ mtc1 $zero, $f2
/* BC638 80125F38 080497B8 */ j .L80125EE0
/* BC63C 80125F3C 46000021 */ cvt.d.s $f0, $f0
.L80125F40:
/* BC640 80125F40 10400007 */ beqz $v0, .L80125F60
/* BC644 80125F44 00000000 */ nop
/* BC648 80125F48 46020002 */ mul.s $f0, $f0, $f2
/* BC64C 80125F4C 00000000 */ nop
/* BC650 80125F50 4600010D */ trunc.w.s $f4, $f0
/* BC654 80125F54 44022000 */ mfc1 $v0, $f4
/* BC658 80125F58 03E00008 */ jr $ra
/* BC65C 80125F5C 00000000 */ nop
.L80125F60:
/* BC660 80125F60 03E00008 */ jr $ra
/* BC664 80125F64 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80150578
.double 0.6
.section .text
glabel msg_get_print_char_width
/* BC384 80125C84 288200F0 */ slti $v0, $a0, 0xf0
/* BC388 80125C88 44871000 */ mtc1 $a3, $f2
/* BC38C 80125C8C 8FA70010 */ lw $a3, 0x10($sp)
/* BC390 80125C90 93A30017 */ lbu $v1, 0x17($sp)
/* BC394 80125C94 14400004 */ bnez $v0, .L80125CA8
/* BC398 80125C98 2482FF09 */ addiu $v0, $a0, -0xf7
/* BC39C 80125C9C 2C420003 */ sltiu $v0, $v0, 3
/* BC3A0 80125CA0 10400036 */ beqz $v0, .L80125D7C
/* BC3A4 80125CA4 0000102D */ daddu $v0, $zero, $zero
.L80125CA8:
/* BC3A8 80125CA8 10E00005 */ beqz $a3, .L80125CC0
/* BC3AC 80125CAC 240200F7 */ addiu $v0, $zero, 0xf7
/* BC3B0 80125CB0 44870000 */ mtc1 $a3, $f0
/* BC3B4 80125CB4 00000000 */ nop
/* BC3B8 80125CB8 08049754 */ j .L80125D50
/* BC3BC 80125CBC 46800020 */ cvt.s.w $f0, $f0
.L80125CC0:
/* BC3C0 80125CC0 10600015 */ beqz $v1, .L80125D18
/* BC3C4 80125CC4 00051880 */ sll $v1, $a1, 2
/* BC3C8 80125CC8 00061040 */ sll $v0, $a2, 1
/* BC3CC 80125CCC 3C01802F */ lui $at, %hi(gMsgCharsets)
/* BC3D0 80125CD0 00230821 */ addu $at, $at, $v1
/* BC3D4 80125CD4 8C23B5A8 */ lw $v1, %lo(gMsgCharsets)($at)
/* BC3D8 80125CD8 00461021 */ addu $v0, $v0, $a2
/* BC3DC 80125CDC 8C630008 */ lw $v1, 8($v1)
/* BC3E0 80125CE0 00021080 */ sll $v0, $v0, 2
/* BC3E4 80125CE4 00431021 */ addu $v0, $v0, $v1
/* BC3E8 80125CE8 8C430004 */ lw $v1, 4($v0)
/* BC3EC 80125CEC 1060000A */ beqz $v1, .L80125D18
/* BC3F0 80125CF0 240200F7 */ addiu $v0, $zero, 0xf7
/* BC3F4 80125CF4 10820008 */ beq $a0, $v0, .L80125D18
/* BC3F8 80125CF8 240200F8 */ addiu $v0, $zero, 0xf8
/* BC3FC 80125CFC 10820006 */ beq $a0, $v0, .L80125D18
/* BC400 80125D00 240200F9 */ addiu $v0, $zero, 0xf9
/* BC404 80125D04 10820004 */ beq $a0, $v0, .L80125D18
/* BC408 80125D08 00641021 */ addu $v0, $v1, $a0
/* BC40C 80125D0C 90420000 */ lbu $v0, ($v0)
/* BC410 80125D10 08049750 */ j .L80125D40
/* BC414 80125D14 00000000 */ nop
.L80125D18:
/* BC418 80125D18 00051880 */ sll $v1, $a1, 2
/* BC41C 80125D1C 00061040 */ sll $v0, $a2, 1
/* BC420 80125D20 3C01802F */ lui $at, %hi(gMsgCharsets)
/* BC424 80125D24 00230821 */ addu $at, $at, $v1
/* BC428 80125D28 8C23B5A8 */ lw $v1, %lo(gMsgCharsets)($at)
/* BC42C 80125D2C 00461021 */ addu $v0, $v0, $a2
/* BC430 80125D30 8C630008 */ lw $v1, 8($v1)
/* BC434 80125D34 00021080 */ sll $v0, $v0, 2
/* BC438 80125D38 00431021 */ addu $v0, $v0, $v1
/* BC43C 80125D3C 90420008 */ lbu $v0, 8($v0)
.L80125D40:
/* BC440 80125D40 44820000 */ mtc1 $v0, $f0
/* BC444 80125D44 00000000 */ nop
/* BC448 80125D48 46800020 */ cvt.s.w $f0, $f0
/* BC44C 80125D4C 240200F7 */ addiu $v0, $zero, 0xf7
.L80125D50:
/* BC450 80125D50 1482000C */ bne $a0, $v0, .L80125D84
/* BC454 80125D54 240200F8 */ addiu $v0, $zero, 0xf8
/* BC458 80125D58 46020002 */ mul.s $f0, $f0, $f2
/* BC45C 80125D5C 00000000 */ nop
/* BC460 80125D60 3C018015 */ lui $at, %hi(D_80150578)
/* BC464 80125D64 D4220578 */ ldc1 $f2, %lo(D_80150578)($at)
/* BC468 80125D68 46000021 */ cvt.d.s $f0, $f0
.L80125D6C:
/* BC46C 80125D6C 46220002 */ mul.d $f0, $f0, $f2
/* BC470 80125D70 00000000 */ nop
/* BC474 80125D74 4620010D */ trunc.w.d $f4, $f0
/* BC478 80125D78 44022000 */ mfc1 $v0, $f4
.L80125D7C:
/* BC47C 80125D7C 03E00008 */ jr $ra
/* BC480 80125D80 00000000 */ nop
.L80125D84:
/* BC484 80125D84 14820008 */ bne $a0, $v0, .L80125DA8
/* BC488 80125D88 240200F9 */ addiu $v0, $zero, 0xf9
/* BC48C 80125D8C 46020002 */ mul.s $f0, $f0, $f2
/* BC490 80125D90 00000000 */ nop
/* BC494 80125D94 46000021 */ cvt.d.s $f0, $f0
/* BC498 80125D98 4620010D */ trunc.w.d $f4, $f0
/* BC49C 80125D9C 44022000 */ mfc1 $v0, $f4
/* BC4A0 80125DA0 03E00008 */ jr $ra
/* BC4A4 80125DA4 00000000 */ nop
.L80125DA8:
/* BC4A8 80125DA8 14820008 */ bne $a0, $v0, .L80125DCC
/* BC4AC 80125DAC 288200F0 */ slti $v0, $a0, 0xf0
/* BC4B0 80125DB0 46020002 */ mul.s $f0, $f0, $f2
/* BC4B4 80125DB4 00000000 */ nop
/* BC4B8 80125DB8 3C013FE0 */ lui $at, 0x3fe0
/* BC4BC 80125DBC 44811800 */ mtc1 $at, $f3
/* BC4C0 80125DC0 44801000 */ mtc1 $zero, $f2
/* BC4C4 80125DC4 0804975B */ j .L80125D6C
/* BC4C8 80125DC8 46000021 */ cvt.d.s $f0, $f0
.L80125DCC:
/* BC4CC 80125DCC 10400007 */ beqz $v0, .L80125DEC
/* BC4D0 80125DD0 00000000 */ nop
/* BC4D4 80125DD4 46020002 */ mul.s $f0, $f0, $f2
/* BC4D8 80125DD8 00000000 */ nop
/* BC4DC 80125DDC 4600010D */ trunc.w.s $f4, $f0
/* BC4E0 80125DE0 44022000 */ mfc1 $v0, $f4
/* BC4E4 80125DE4 03E00008 */ jr $ra
/* BC4E8 80125DE8 00000000 */ nop
.L80125DEC:
/* BC4EC 80125DEC 03E00008 */ jr $ra
/* BC4F0 80125DF0 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,96 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_B70860
/* B70860 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B70864 80240004 AFB00018 */ sw $s0, 0x18($sp)
/* B70868 80240008 0080802D */ daddu $s0, $a0, $zero
/* B7086C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* B70870 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* B70874 80240014 AFB1001C */ sw $s1, 0x1c($sp)
/* B70878 80240018 3C118011 */ lui $s1, %hi(gPlayerData)
/* B7087C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* B70880 80240020 AFB20020 */ sw $s2, 0x20($sp)
/* B70884 80240024 0220902D */ daddu $s2, $s1, $zero
/* B70888 80240028 10A00004 */ beqz $a1, .L8024003C
/* B7088C 8024002C AFBF0024 */ sw $ra, 0x24($sp)
/* B70890 80240030 240200FF */ addiu $v0, $zero, 0xff
/* B70894 80240034 AE020070 */ sw $v0, 0x70($s0)
/* B70898 80240038 AE000074 */ sw $zero, 0x74($s0)
.L8024003C:
/* B7089C 8024003C 24040001 */ addiu $a0, $zero, 1
/* B708A0 80240040 C460002C */ lwc1 $f0, 0x2c($v1)
/* B708A4 80240044 3C014100 */ lui $at, 0x4100
/* B708A8 80240048 44811000 */ mtc1 $at, $f2
/* B708AC 8024004C 00000000 */ nop
/* B708B0 80240050 46020000 */ add.s $f0, $f0, $f2
/* B708B4 80240054 C4620030 */ lwc1 $f2, 0x30($v1)
/* B708B8 80240058 C4640028 */ lwc1 $f4, 0x28($v1)
/* B708BC 8024005C 4600118D */ trunc.w.s $f6, $f2
/* B708C0 80240060 E7A60010 */ swc1 $f6, 0x10($sp)
/* B708C4 80240064 4600218D */ trunc.w.s $f6, $f4
/* B708C8 80240068 44063000 */ mfc1 $a2, $f6
/* B708CC 8024006C 4600018D */ trunc.w.s $f6, $f0
/* B708D0 80240070 44073000 */ mfc1 $a3, $f6
/* B708D4 80240074 0C04DFB0 */ jal set_screen_overlay_center_worldpos
/* B708D8 80240078 0080282D */ daddu $a1, $a0, $zero
/* B708DC 8024007C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* B708E0 80240080 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* B708E4 80240084 10400012 */ beqz $v0, .L802400D0
/* B708E8 80240088 24020006 */ addiu $v0, $zero, 6
/* B708EC 8024008C 82230012 */ lb $v1, 0x12($s1)
/* B708F0 80240090 14620022 */ bne $v1, $v0, .L8024011C
/* B708F4 80240094 00000000 */ nop
/* B708F8 80240098 8E020074 */ lw $v0, 0x74($s0)
/* B708FC 8024009C 14400004 */ bnez $v0, .L802400B0
/* B70900 802400A0 24020001 */ addiu $v0, $zero, 1
/* B70904 802400A4 AE020074 */ sw $v0, 0x74($s0)
/* B70908 802400A8 0C05272D */ jal sfx_play_sound
/* B7090C 802400AC 24042011 */ addiu $a0, $zero, 0x2011
.L802400B0:
/* B70910 802400B0 8E020070 */ lw $v0, 0x70($s0)
/* B70914 802400B4 2442FFF8 */ addiu $v0, $v0, -8
/* B70918 802400B8 AE020070 */ sw $v0, 0x70($s0)
/* B7091C 802400BC 2842005A */ slti $v0, $v0, 0x5a
/* B70920 802400C0 10400016 */ beqz $v0, .L8024011C
/* B70924 802400C4 2402005A */ addiu $v0, $zero, 0x5a
/* B70928 802400C8 08090047 */ j .L8024011C
/* B7092C 802400CC AE020070 */ sw $v0, 0x70($s0)
.L802400D0:
/* B70930 802400D0 82430012 */ lb $v1, 0x12($s2)
/* B70934 802400D4 14620010 */ bne $v1, $v0, .L80240118
/* B70938 802400D8 240200FF */ addiu $v0, $zero, 0xff
/* B7093C 802400DC 8E020074 */ lw $v0, 0x74($s0)
/* B70940 802400E0 10400007 */ beqz $v0, .L80240100
/* B70944 802400E4 00000000 */ nop
/* B70948 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* B7094C 802400EC 284200FF */ slti $v0, $v0, 0xff
/* B70950 802400F0 10400003 */ beqz $v0, .L80240100
/* B70954 802400F4 AE000074 */ sw $zero, 0x74($s0)
/* B70958 802400F8 0C05272D */ jal sfx_play_sound
/* B7095C 802400FC 24042012 */ addiu $a0, $zero, 0x2012
.L80240100:
/* B70960 80240100 8E020070 */ lw $v0, 0x70($s0)
/* B70964 80240104 24420008 */ addiu $v0, $v0, 8
/* B70968 80240108 AE020070 */ sw $v0, 0x70($s0)
/* B7096C 8024010C 284200FF */ slti $v0, $v0, 0xff
/* B70970 80240110 14400002 */ bnez $v0, .L8024011C
/* B70974 80240114 240200FF */ addiu $v0, $zero, 0xff
.L80240118:
/* B70978 80240118 AE020070 */ sw $v0, 0x70($s0)
.L8024011C:
/* B7097C 8024011C C6060070 */ lwc1 $f6, 0x70($s0)
/* B70980 80240120 468031A0 */ cvt.s.w $f6, $f6
/* B70984 80240124 44053000 */ mfc1 $a1, $f6
/* B70988 80240128 0C04E035 */ jal set_screen_overlay_alpha
/* B7098C 8024012C 24040001 */ addiu $a0, $zero, 1
/* B70990 80240130 3C05437F */ lui $a1, 0x437f
/* B70994 80240134 0C04DF69 */ jal set_screen_overlay_params_back
/* B70998 80240138 2404000B */ addiu $a0, $zero, 0xb
/* B7099C 8024013C 8FBF0024 */ lw $ra, 0x24($sp)
/* B709A0 80240140 8FB20020 */ lw $s2, 0x20($sp)
/* B709A4 80240144 8FB1001C */ lw $s1, 0x1c($sp)
/* B709A8 80240148 8FB00018 */ lw $s0, 0x18($sp)
/* B709AC 8024014C 0000102D */ daddu $v0, $zero, $zero
/* B709B0 80240150 03E00008 */ jr $ra
/* B709B4 80240154 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_8A9A10
/* 8A9A10 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 8A9A14 80240004 AFB00018 */ sw $s0, 0x18($sp)
/* 8A9A18 80240008 0080802D */ daddu $s0, $a0, $zero
/* 8A9A1C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* 8A9A20 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* 8A9A24 80240014 AFB1001C */ sw $s1, 0x1c($sp)
/* 8A9A28 80240018 3C118011 */ lui $s1, %hi(gPlayerData)
/* 8A9A2C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* 8A9A30 80240020 AFB20020 */ sw $s2, 0x20($sp)
/* 8A9A34 80240024 0220902D */ daddu $s2, $s1, $zero
/* 8A9A38 80240028 10A00004 */ beqz $a1, .L8024003C
/* 8A9A3C 8024002C AFBF0024 */ sw $ra, 0x24($sp)
/* 8A9A40 80240030 240200FF */ addiu $v0, $zero, 0xff
/* 8A9A44 80240034 AE020070 */ sw $v0, 0x70($s0)
/* 8A9A48 80240038 AE000074 */ sw $zero, 0x74($s0)
.L8024003C:
/* 8A9A4C 8024003C 24040001 */ addiu $a0, $zero, 1
/* 8A9A50 80240040 C460002C */ lwc1 $f0, 0x2c($v1)
/* 8A9A54 80240044 3C014100 */ lui $at, 0x4100
/* 8A9A58 80240048 44811000 */ mtc1 $at, $f2
/* 8A9A5C 8024004C 00000000 */ nop
/* 8A9A60 80240050 46020000 */ add.s $f0, $f0, $f2
/* 8A9A64 80240054 C4620030 */ lwc1 $f2, 0x30($v1)
/* 8A9A68 80240058 C4640028 */ lwc1 $f4, 0x28($v1)
/* 8A9A6C 8024005C 4600118D */ trunc.w.s $f6, $f2
/* 8A9A70 80240060 E7A60010 */ swc1 $f6, 0x10($sp)
/* 8A9A74 80240064 4600218D */ trunc.w.s $f6, $f4
/* 8A9A78 80240068 44063000 */ mfc1 $a2, $f6
/* 8A9A7C 8024006C 4600018D */ trunc.w.s $f6, $f0
/* 8A9A80 80240070 44073000 */ mfc1 $a3, $f6
/* 8A9A84 80240074 0C04DFB0 */ jal set_screen_overlay_center_worldpos
/* 8A9A88 80240078 0080282D */ daddu $a1, $a0, $zero
/* 8A9A8C 8024007C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* 8A9A90 80240080 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* 8A9A94 80240084 10400012 */ beqz $v0, .L802400D0
/* 8A9A98 80240088 24020006 */ addiu $v0, $zero, 6
/* 8A9A9C 8024008C 82230012 */ lb $v1, 0x12($s1)
/* 8A9AA0 80240090 14620022 */ bne $v1, $v0, .L8024011C
/* 8A9AA4 80240094 00000000 */ nop
/* 8A9AA8 80240098 8E020074 */ lw $v0, 0x74($s0)
/* 8A9AAC 8024009C 14400004 */ bnez $v0, .L802400B0
/* 8A9AB0 802400A0 24020001 */ addiu $v0, $zero, 1
/* 8A9AB4 802400A4 AE020074 */ sw $v0, 0x74($s0)
/* 8A9AB8 802400A8 0C05272D */ jal sfx_play_sound
/* 8A9ABC 802400AC 24042011 */ addiu $a0, $zero, 0x2011
.L802400B0:
/* 8A9AC0 802400B0 8E020070 */ lw $v0, 0x70($s0)
/* 8A9AC4 802400B4 2442FFF8 */ addiu $v0, $v0, -8
/* 8A9AC8 802400B8 AE020070 */ sw $v0, 0x70($s0)
/* 8A9ACC 802400BC 2842005A */ slti $v0, $v0, 0x5a
/* 8A9AD0 802400C0 10400016 */ beqz $v0, .L8024011C
/* 8A9AD4 802400C4 2402005A */ addiu $v0, $zero, 0x5a
/* 8A9AD8 802400C8 08090047 */ j .L8024011C
/* 8A9ADC 802400CC AE020070 */ sw $v0, 0x70($s0)
.L802400D0:
/* 8A9AE0 802400D0 82430012 */ lb $v1, 0x12($s2)
/* 8A9AE4 802400D4 14620010 */ bne $v1, $v0, .L80240118
/* 8A9AE8 802400D8 240200FF */ addiu $v0, $zero, 0xff
/* 8A9AEC 802400DC 8E020074 */ lw $v0, 0x74($s0)
/* 8A9AF0 802400E0 10400007 */ beqz $v0, .L80240100
/* 8A9AF4 802400E4 00000000 */ nop
/* 8A9AF8 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* 8A9AFC 802400EC 284200FF */ slti $v0, $v0, 0xff
/* 8A9B00 802400F0 10400003 */ beqz $v0, .L80240100
/* 8A9B04 802400F4 AE000074 */ sw $zero, 0x74($s0)
/* 8A9B08 802400F8 0C05272D */ jal sfx_play_sound
/* 8A9B0C 802400FC 24042012 */ addiu $a0, $zero, 0x2012
.L80240100:
/* 8A9B10 80240100 8E020070 */ lw $v0, 0x70($s0)
/* 8A9B14 80240104 24420008 */ addiu $v0, $v0, 8
/* 8A9B18 80240108 AE020070 */ sw $v0, 0x70($s0)
/* 8A9B1C 8024010C 284200FF */ slti $v0, $v0, 0xff
/* 8A9B20 80240110 14400002 */ bnez $v0, .L8024011C
/* 8A9B24 80240114 240200FF */ addiu $v0, $zero, 0xff
.L80240118:
/* 8A9B28 80240118 AE020070 */ sw $v0, 0x70($s0)
.L8024011C:
/* 8A9B2C 8024011C C6060070 */ lwc1 $f6, 0x70($s0)
/* 8A9B30 80240120 468031A0 */ cvt.s.w $f6, $f6
/* 8A9B34 80240124 44053000 */ mfc1 $a1, $f6
/* 8A9B38 80240128 0C04E035 */ jal set_screen_overlay_alpha
/* 8A9B3C 8024012C 24040001 */ addiu $a0, $zero, 1
/* 8A9B40 80240130 3C05437F */ lui $a1, 0x437f
/* 8A9B44 80240134 0C04DF69 */ jal set_screen_overlay_params_back
/* 8A9B48 80240138 2404000B */ addiu $a0, $zero, 0xb
/* 8A9B4C 8024013C 8FBF0024 */ lw $ra, 0x24($sp)
/* 8A9B50 80240140 8FB20020 */ lw $s2, 0x20($sp)
/* 8A9B54 80240144 8FB1001C */ lw $s1, 0x1c($sp)
/* 8A9B58 80240148 8FB00018 */ lw $s0, 0x18($sp)
/* 8A9B5C 8024014C 0000102D */ daddu $v0, $zero, $zero
/* 8A9B60 80240150 03E00008 */ jr $ra
/* 8A9B64 80240154 27BD0028 */ addiu $sp, $sp, 0x28
/* 8A9B68 80240158 00000000 */ nop
/* 8A9B6C 8024015C 00000000 */ nop

View File

@ -1,141 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80240A30_8AA440
.double 0.06
.section .text
glabel func_80240160_8A9B70
/* 8A9B70 80240160 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 8A9B74 80240164 AFB60028 */ sw $s6, 0x28($sp)
/* 8A9B78 80240168 00C0B02D */ daddu $s6, $a2, $zero
/* 8A9B7C 8024016C AFB7002C */ sw $s7, 0x2c($sp)
/* 8A9B80 80240170 00E0B82D */ daddu $s7, $a3, $zero
/* 8A9B84 80240174 AFB20018 */ sw $s2, 0x18($sp)
/* 8A9B88 80240178 0000902D */ daddu $s2, $zero, $zero
/* 8A9B8C 8024017C AFB50024 */ sw $s5, 0x24($sp)
/* 8A9B90 80240180 3C158011 */ lui $s5, %hi(gPlayerStatus)
/* 8A9B94 80240184 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus)
/* 8A9B98 80240188 AFBF0030 */ sw $ra, 0x30($sp)
/* 8A9B9C 8024018C AFB40020 */ sw $s4, 0x20($sp)
/* 8A9BA0 80240190 AFB3001C */ sw $s3, 0x1c($sp)
/* 8A9BA4 80240194 AFB10014 */ sw $s1, 0x14($sp)
/* 8A9BA8 80240198 1AC00063 */ blez $s6, .L80240328
/* 8A9BAC 8024019C AFB00010 */ sw $s0, 0x10($sp)
/* 8A9BB0 802401A0 3C1451EB */ lui $s4, 0x51eb
/* 8A9BB4 802401A4 3694851F */ ori $s4, $s4, 0x851f
/* 8A9BB8 802401A8 00A0882D */ daddu $s1, $a1, $zero
/* 8A9BBC 802401AC 0080982D */ daddu $s3, $a0, $zero
.L802401B0:
/* 8A9BC0 802401B0 86220000 */ lh $v0, ($s1)
/* 8A9BC4 802401B4 C6A00028 */ lwc1 $f0, 0x28($s5)
/* 8A9BC8 802401B8 44826000 */ mtc1 $v0, $f12
/* 8A9BCC 802401BC 00000000 */ nop
/* 8A9BD0 802401C0 46806320 */ cvt.s.w $f12, $f12
/* 8A9BD4 802401C4 46006001 */ sub.s $f0, $f12, $f0
/* 8A9BD8 802401C8 4600018D */ trunc.w.s $f6, $f0
/* 8A9BDC 802401CC 44023000 */ mfc1 $v0, $f6
/* 8A9BE0 802401D0 00000000 */ nop
/* 8A9BE4 802401D4 00420018 */ mult $v0, $v0
/* 8A9BE8 802401D8 86220004 */ lh $v0, 4($s1)
/* 8A9BEC 802401DC C6A00030 */ lwc1 $f0, 0x30($s5)
/* 8A9BF0 802401E0 44821000 */ mtc1 $v0, $f2
/* 8A9BF4 802401E4 00000000 */ nop
/* 8A9BF8 802401E8 468010A0 */ cvt.s.w $f2, $f2
/* 8A9BFC 802401EC 46001001 */ sub.s $f0, $f2, $f0
/* 8A9C00 802401F0 00001812 */ mflo $v1
/* 8A9C04 802401F4 4600018D */ trunc.w.s $f6, $f0
/* 8A9C08 802401F8 44023000 */ mfc1 $v0, $f6
/* 8A9C0C 802401FC 00000000 */ nop
/* 8A9C10 80240200 00420018 */ mult $v0, $v0
/* 8A9C14 80240204 00001012 */ mflo $v0
/* 8A9C18 80240208 00621021 */ addu $v0, $v1, $v0
/* 8A9C1C 8024020C 00000000 */ nop
/* 8A9C20 80240210 00540018 */ mult $v0, $s4
/* 8A9C24 80240214 000217C3 */ sra $v0, $v0, 0x1f
/* 8A9C28 80240218 00001810 */ mfhi $v1
/* 8A9C2C 8024021C 00031943 */ sra $v1, $v1, 5
/* 8A9C30 80240220 00628023 */ subu $s0, $v1, $v0
/* 8A9C34 80240224 2A02000B */ slti $v0, $s0, 0xb
/* 8A9C38 80240228 50400001 */ beql $v0, $zero, .L80240230
/* 8A9C3C 8024022C 2410000A */ addiu $s0, $zero, 0xa
.L80240230:
/* 8A9C40 80240230 3C018024 */ lui $at, %hi(D_80240A30_8AA440)
/* 8A9C44 80240234 D4200A30 */ ldc1 $f0, %lo(D_80240A30_8AA440)($at)
/* 8A9C48 80240238 46006321 */ cvt.d.s $f12, $f12
/* 8A9C4C 8024023C 46206302 */ mul.d $f12, $f12, $f0
/* 8A9C50 80240240 00000000 */ nop
/* 8A9C54 80240244 3C013CF5 */ lui $at, 0x3cf5
/* 8A9C58 80240248 3421C28F */ ori $at, $at, 0xc28f
/* 8A9C5C 8024024C 44810000 */ mtc1 $at, $f0
/* 8A9C60 80240250 00000000 */ nop
/* 8A9C64 80240254 46001002 */ mul.s $f0, $f2, $f0
/* 8A9C68 80240258 00000000 */ nop
/* 8A9C6C 8024025C 3C013C23 */ lui $at, 0x3c23
/* 8A9C70 80240260 3421D70A */ ori $at, $at, 0xd70a
/* 8A9C74 80240264 44812000 */ mtc1 $at, $f4
/* 8A9C78 80240268 44971000 */ mtc1 $s7, $f2
/* 8A9C7C 8024026C 00000000 */ nop
/* 8A9C80 80240270 468010A0 */ cvt.s.w $f2, $f2
/* 8A9C84 80240274 46041082 */ mul.s $f2, $f2, $f4
/* 8A9C88 80240278 00000000 */ nop
/* 8A9C8C 8024027C 46000021 */ cvt.d.s $f0, $f0
/* 8A9C90 80240280 46206300 */ add.d $f12, $f12, $f0
/* 8A9C94 80240284 001017C2 */ srl $v0, $s0, 0x1f
/* 8A9C98 80240288 460010A1 */ cvt.d.s $f2, $f2
/* 8A9C9C 8024028C 46226300 */ add.d $f12, $f12, $f2
/* 8A9CA0 80240290 02021021 */ addu $v0, $s0, $v0
/* 8A9CA4 80240294 00028043 */ sra $s0, $v0, 1
/* 8A9CA8 80240298 0C00A85B */ jal sin_rad
/* 8A9CAC 8024029C 46206320 */ cvt.s.d $f12, $f12
/* 8A9CB0 802402A0 46000000 */ add.s $f0, $f0, $f0
/* 8A9CB4 802402A4 3C014000 */ lui $at, 0x4000
/* 8A9CB8 802402A8 44811000 */ mtc1 $at, $f2
/* 8A9CBC 802402AC 00000000 */ nop
/* 8A9CC0 802402B0 46020000 */ add.s $f0, $f0, $f2
/* 8A9CC4 802402B4 4600018D */ trunc.w.s $f6, $f0
/* 8A9CC8 802402B8 44033000 */ mfc1 $v1, $f6
/* 8A9CCC 802402BC 00000000 */ nop
/* 8A9CD0 802402C0 02038021 */ addu $s0, $s0, $v1
/* 8A9CD4 802402C4 86230000 */ lh $v1, ($s1)
/* 8A9CD8 802402C8 240200C8 */ addiu $v0, $zero, 0xc8
/* 8A9CDC 802402CC 00431823 */ subu $v1, $v0, $v1
/* 8A9CE0 802402D0 04620001 */ bltzl $v1, .L802402D8
/* 8A9CE4 802402D4 0000182D */ daddu $v1, $zero, $zero
.L802402D8:
/* 8A9CE8 802402D8 28620065 */ slti $v0, $v1, 0x65
/* 8A9CEC 802402DC 50400001 */ beql $v0, $zero, .L802402E4
/* 8A9CF0 802402E0 24030064 */ addiu $v1, $zero, 0x64
.L802402E4:
/* 8A9CF4 802402E4 02030018 */ mult $s0, $v1
/* 8A9CF8 802402E8 00001012 */ mflo $v0
/* 8A9CFC 802402EC 00000000 */ nop
/* 8A9D00 802402F0 00000000 */ nop
/* 8A9D04 802402F4 00540018 */ mult $v0, $s4
/* 8A9D08 802402F8 96640002 */ lhu $a0, 2($s3)
/* 8A9D0C 802402FC 26730010 */ addiu $s3, $s3, 0x10
/* 8A9D10 80240300 26520001 */ addiu $s2, $s2, 1
/* 8A9D14 80240304 000217C3 */ sra $v0, $v0, 0x1f
/* 8A9D18 80240308 00001810 */ mfhi $v1
/* 8A9D1C 8024030C 00031943 */ sra $v1, $v1, 5
/* 8A9D20 80240310 00628023 */ subu $s0, $v1, $v0
/* 8A9D24 80240314 00902021 */ addu $a0, $a0, $s0
/* 8A9D28 80240318 A6240002 */ sh $a0, 2($s1)
/* 8A9D2C 8024031C 0256102A */ slt $v0, $s2, $s6
/* 8A9D30 80240320 1440FFA3 */ bnez $v0, .L802401B0
/* 8A9D34 80240324 26310010 */ addiu $s1, $s1, 0x10
.L80240328:
/* 8A9D38 80240328 8FBF0030 */ lw $ra, 0x30($sp)
/* 8A9D3C 8024032C 8FB7002C */ lw $s7, 0x2c($sp)
/* 8A9D40 80240330 8FB60028 */ lw $s6, 0x28($sp)
/* 8A9D44 80240334 8FB50024 */ lw $s5, 0x24($sp)
/* 8A9D48 80240338 8FB40020 */ lw $s4, 0x20($sp)
/* 8A9D4C 8024033C 8FB3001C */ lw $s3, 0x1c($sp)
/* 8A9D50 80240340 8FB20018 */ lw $s2, 0x18($sp)
/* 8A9D54 80240344 8FB10014 */ lw $s1, 0x14($sp)
/* 8A9D58 80240348 8FB00010 */ lw $s0, 0x10($sp)
/* 8A9D5C 8024034C 03E00008 */ jr $ra
/* 8A9D60 80240350 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,39 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240354_8A9D64
/* 8A9D64 80240354 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 8A9D68 80240358 24040001 */ addiu $a0, $zero, 1
/* 8A9D6C 8024035C 27A50010 */ addiu $a1, $sp, 0x10
/* 8A9D70 80240360 27A60014 */ addiu $a2, $sp, 0x14
/* 8A9D74 80240364 27A70018 */ addiu $a3, $sp, 0x18
/* 8A9D78 80240368 AFBF0028 */ sw $ra, 0x28($sp)
/* 8A9D7C 8024036C AFB10024 */ sw $s1, 0x24($sp)
/* 8A9D80 80240370 0C0470AC */ jal mdl_get_copied_vertices
/* 8A9D84 80240374 AFB00020 */ sw $s0, 0x20($sp)
/* 8A9D88 80240378 3C108024 */ lui $s0, %hi(D_802407C0_8AA1D0)
/* 8A9D8C 8024037C 261007C0 */ addiu $s0, $s0, %lo(D_802407C0_8AA1D0)
/* 8A9D90 80240380 8FA40010 */ lw $a0, 0x10($sp)
/* 8A9D94 80240384 8FA50014 */ lw $a1, 0x14($sp)
/* 8A9D98 80240388 8FA60018 */ lw $a2, 0x18($sp)
/* 8A9D9C 8024038C 0C090058 */ jal func_80240160_8A9B70
/* 8A9DA0 80240390 96070000 */ lhu $a3, ($s0)
/* 8A9DA4 80240394 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 8A9DA8 80240398 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 8A9DAC 8024039C 8C620000 */ lw $v0, ($v1)
/* 8A9DB0 802403A0 24040001 */ addiu $a0, $zero, 1
/* 8A9DB4 802403A4 0040882D */ daddu $s1, $v0, $zero
/* 8A9DB8 802403A8 24420008 */ addiu $v0, $v0, 8
/* 8A9DBC 802403AC AC620000 */ sw $v0, ($v1)
/* 8A9DC0 802403B0 3C02DE00 */ lui $v0, 0xde00
/* 8A9DC4 802403B4 0C0470BB */ jal mdl_get_copied_gfx
/* 8A9DC8 802403B8 AE220000 */ sw $v0, ($s1)
/* 8A9DCC 802403BC 96030000 */ lhu $v1, ($s0)
/* 8A9DD0 802403C0 AE220004 */ sw $v0, 4($s1)
/* 8A9DD4 802403C4 2463000A */ addiu $v1, $v1, 0xa
/* 8A9DD8 802403C8 A6030000 */ sh $v1, ($s0)
/* 8A9DDC 802403CC 8FBF0028 */ lw $ra, 0x28($sp)
/* 8A9DE0 802403D0 8FB10024 */ lw $s1, 0x24($sp)
/* 8A9DE4 802403D4 8FB00020 */ lw $s0, 0x20($sp)
/* 8A9DE8 802403D8 03E00008 */ jr $ra
/* 8A9DEC 802403DC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,85 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80240A38_8AA448
.double 0.06
.section .text
glabel func_802403E0_8A9DF0
/* 8A9DF0 802403E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 8A9DF4 802403E4 AFB00010 */ sw $s0, 0x10($sp)
/* 8A9DF8 802403E8 0080802D */ daddu $s0, $a0, $zero
/* 8A9DFC 802403EC AFBF0014 */ sw $ra, 0x14($sp)
/* 8A9E00 802403F0 C60C0084 */ lwc1 $f12, 0x84($s0)
/* 8A9E04 802403F4 46806320 */ cvt.s.w $f12, $f12
/* 8A9E08 802403F8 3C018024 */ lui $at, %hi(D_80240A38_8AA448)
/* 8A9E0C 802403FC D4200A38 */ ldc1 $f0, %lo(D_80240A38_8AA448)($at)
/* 8A9E10 80240400 46006321 */ cvt.d.s $f12, $f12
/* 8A9E14 80240404 46206302 */ mul.d $f12, $f12, $f0
/* 8A9E18 80240408 00000000 */ nop
/* 8A9E1C 8024040C 3C013CF5 */ lui $at, 0x3cf5
/* 8A9E20 80240410 3421C28F */ ori $at, $at, 0xc28f
/* 8A9E24 80240414 44810000 */ mtc1 $at, $f0
/* 8A9E28 80240418 C602008C */ lwc1 $f2, 0x8c($s0)
/* 8A9E2C 8024041C 468010A0 */ cvt.s.w $f2, $f2
/* 8A9E30 80240420 46001082 */ mul.s $f2, $f2, $f0
/* 8A9E34 80240424 00000000 */ nop
/* 8A9E38 80240428 3C028024 */ lui $v0, %hi(D_802407C0_8AA1D0)
/* 8A9E3C 8024042C 944207C0 */ lhu $v0, %lo(D_802407C0_8AA1D0)($v0)
/* 8A9E40 80240430 3C013C23 */ lui $at, 0x3c23
/* 8A9E44 80240434 3421D70A */ ori $at, $at, 0xd70a
/* 8A9E48 80240438 44812000 */ mtc1 $at, $f4
/* 8A9E4C 8024043C 44820000 */ mtc1 $v0, $f0
/* 8A9E50 80240440 00000000 */ nop
/* 8A9E54 80240444 46800020 */ cvt.s.w $f0, $f0
/* 8A9E58 80240448 46040002 */ mul.s $f0, $f0, $f4
/* 8A9E5C 8024044C 00000000 */ nop
/* 8A9E60 80240450 460010A1 */ cvt.d.s $f2, $f2
/* 8A9E64 80240454 46226300 */ add.d $f12, $f12, $f2
/* 8A9E68 80240458 46000021 */ cvt.d.s $f0, $f0
/* 8A9E6C 8024045C 46206300 */ add.d $f12, $f12, $f0
/* 8A9E70 80240460 0C00A85B */ jal sin_rad
/* 8A9E74 80240464 46206320 */ cvt.s.d $f12, $f12
/* 8A9E78 80240468 46000180 */ add.s $f6, $f0, $f0
/* 8A9E7C 8024046C 3C014348 */ lui $at, 0x4348
/* 8A9E80 80240470 44811000 */ mtc1 $at, $f2
/* 8A9E84 80240474 C6000084 */ lwc1 $f0, 0x84($s0)
/* 8A9E88 80240478 46800020 */ cvt.s.w $f0, $f0
/* 8A9E8C 8024047C 46001081 */ sub.s $f2, $f2, $f0
/* 8A9E90 80240480 44800000 */ mtc1 $zero, $f0
/* 8A9E94 80240484 00000000 */ nop
/* 8A9E98 80240488 4600103C */ c.lt.s $f2, $f0
/* 8A9E9C 8024048C 00000000 */ nop
/* 8A9EA0 80240490 45030001 */ bc1tl .L80240498
/* 8A9EA4 80240494 46000086 */ mov.s $f2, $f0
.L80240498:
/* 8A9EA8 80240498 3C0142C8 */ lui $at, 0x42c8
/* 8A9EAC 8024049C 44812000 */ mtc1 $at, $f4
/* 8A9EB0 802404A0 00000000 */ nop
/* 8A9EB4 802404A4 4602203C */ c.lt.s $f4, $f2
/* 8A9EB8 802404A8 00000000 */ nop
/* 8A9EBC 802404AC 45030001 */ bc1tl .L802404B4
/* 8A9EC0 802404B0 46002086 */ mov.s $f2, $f4
.L802404B4:
/* 8A9EC4 802404B4 46023082 */ mul.s $f2, $f6, $f2
/* 8A9EC8 802404B8 00000000 */ nop
/* 8A9ECC 802404BC 3C014480 */ lui $at, 0x4480
/* 8A9ED0 802404C0 44810000 */ mtc1 $at, $f0
/* 8A9ED4 802404C4 46041183 */ div.s $f6, $f2, $f4
/* 8A9ED8 802404C8 46003002 */ mul.s $f0, $f6, $f0
/* 8A9EDC 802404CC 00000000 */ nop
/* 8A9EE0 802404D0 3C01CD5B */ lui $at, 0xcd5b
/* 8A9EE4 802404D4 34215858 */ ori $at, $at, 0x5858
/* 8A9EE8 802404D8 44811000 */ mtc1 $at, $f2
/* 8A9EEC 802404DC 00000000 */ nop
/* 8A9EF0 802404E0 46020000 */ add.s $f0, $f0, $f2
/* 8A9EF4 802404E4 4600020D */ trunc.w.s $f8, $f0
/* 8A9EF8 802404E8 E6080084 */ swc1 $f8, 0x84($s0)
/* 8A9EFC 802404EC 8FBF0014 */ lw $ra, 0x14($sp)
/* 8A9F00 802404F0 8FB00010 */ lw $s0, 0x10($sp)
/* 8A9F04 802404F4 24020002 */ addiu $v0, $zero, 2
/* 8A9F08 802404F8 03E00008 */ jr $ra
/* 8A9F0C 802404FC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240500_8A9F10
/* 8A9F10 80240500 3C028016 */ lui $v0, %hi(gCollisionStatus+0x18)
/* 8A9F14 80240504 8442A568 */ lh $v0, %lo(gCollisionStatus+0x18)($v0)
/* 8A9F18 80240508 04400002 */ bltz $v0, .L80240514
/* 8A9F1C 8024050C 24020001 */ addiu $v0, $zero, 1
/* 8A9F20 80240510 AC820088 */ sw $v0, 0x88($a0)
.L80240514:
/* 8A9F24 80240514 03E00008 */ jr $ra
/* 8A9F28 80240518 24020002 */ addiu $v0, $zero, 2
/* 8A9F2C 8024051C 00000000 */ nop

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_8AA450
/* 8AA450 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 8AA454 80240004 AFB00018 */ sw $s0, 0x18($sp)
/* 8AA458 80240008 0080802D */ daddu $s0, $a0, $zero
/* 8AA45C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* 8AA460 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* 8AA464 80240014 AFB1001C */ sw $s1, 0x1c($sp)
/* 8AA468 80240018 3C118011 */ lui $s1, %hi(gPlayerData)
/* 8AA46C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* 8AA470 80240020 AFB20020 */ sw $s2, 0x20($sp)
/* 8AA474 80240024 0220902D */ daddu $s2, $s1, $zero
/* 8AA478 80240028 10A00004 */ beqz $a1, .L8024003C
/* 8AA47C 8024002C AFBF0024 */ sw $ra, 0x24($sp)
/* 8AA480 80240030 240200FF */ addiu $v0, $zero, 0xff
/* 8AA484 80240034 AE020070 */ sw $v0, 0x70($s0)
/* 8AA488 80240038 AE000074 */ sw $zero, 0x74($s0)
.L8024003C:
/* 8AA48C 8024003C 24040001 */ addiu $a0, $zero, 1
/* 8AA490 80240040 C460002C */ lwc1 $f0, 0x2c($v1)
/* 8AA494 80240044 3C014100 */ lui $at, 0x4100
/* 8AA498 80240048 44811000 */ mtc1 $at, $f2
/* 8AA49C 8024004C 00000000 */ nop
/* 8AA4A0 80240050 46020000 */ add.s $f0, $f0, $f2
/* 8AA4A4 80240054 C4620030 */ lwc1 $f2, 0x30($v1)
/* 8AA4A8 80240058 C4640028 */ lwc1 $f4, 0x28($v1)
/* 8AA4AC 8024005C 4600118D */ trunc.w.s $f6, $f2
/* 8AA4B0 80240060 E7A60010 */ swc1 $f6, 0x10($sp)
/* 8AA4B4 80240064 4600218D */ trunc.w.s $f6, $f4
/* 8AA4B8 80240068 44063000 */ mfc1 $a2, $f6
/* 8AA4BC 8024006C 4600018D */ trunc.w.s $f6, $f0
/* 8AA4C0 80240070 44073000 */ mfc1 $a3, $f6
/* 8AA4C4 80240074 0C04DFB0 */ jal set_screen_overlay_center_worldpos
/* 8AA4C8 80240078 0080282D */ daddu $a1, $a0, $zero
/* 8AA4CC 8024007C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* 8AA4D0 80240080 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* 8AA4D4 80240084 10400012 */ beqz $v0, .L802400D0
/* 8AA4D8 80240088 24020006 */ addiu $v0, $zero, 6
/* 8AA4DC 8024008C 82230012 */ lb $v1, 0x12($s1)
/* 8AA4E0 80240090 14620022 */ bne $v1, $v0, .L8024011C
/* 8AA4E4 80240094 00000000 */ nop
/* 8AA4E8 80240098 8E020074 */ lw $v0, 0x74($s0)
/* 8AA4EC 8024009C 14400004 */ bnez $v0, .L802400B0
/* 8AA4F0 802400A0 24020001 */ addiu $v0, $zero, 1
/* 8AA4F4 802400A4 AE020074 */ sw $v0, 0x74($s0)
/* 8AA4F8 802400A8 0C05272D */ jal sfx_play_sound
/* 8AA4FC 802400AC 24042011 */ addiu $a0, $zero, 0x2011
.L802400B0:
/* 8AA500 802400B0 8E020070 */ lw $v0, 0x70($s0)
/* 8AA504 802400B4 2442FFF8 */ addiu $v0, $v0, -8
/* 8AA508 802400B8 AE020070 */ sw $v0, 0x70($s0)
/* 8AA50C 802400BC 2842005A */ slti $v0, $v0, 0x5a
/* 8AA510 802400C0 10400016 */ beqz $v0, .L8024011C
/* 8AA514 802400C4 2402005A */ addiu $v0, $zero, 0x5a
/* 8AA518 802400C8 08090047 */ j .L8024011C
/* 8AA51C 802400CC AE020070 */ sw $v0, 0x70($s0)
.L802400D0:
/* 8AA520 802400D0 82430012 */ lb $v1, 0x12($s2)
/* 8AA524 802400D4 14620010 */ bne $v1, $v0, .L80240118
/* 8AA528 802400D8 240200FF */ addiu $v0, $zero, 0xff
/* 8AA52C 802400DC 8E020074 */ lw $v0, 0x74($s0)
/* 8AA530 802400E0 10400007 */ beqz $v0, .L80240100
/* 8AA534 802400E4 00000000 */ nop
/* 8AA538 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* 8AA53C 802400EC 284200FF */ slti $v0, $v0, 0xff
/* 8AA540 802400F0 10400003 */ beqz $v0, .L80240100
/* 8AA544 802400F4 AE000074 */ sw $zero, 0x74($s0)
/* 8AA548 802400F8 0C05272D */ jal sfx_play_sound
/* 8AA54C 802400FC 24042012 */ addiu $a0, $zero, 0x2012
.L80240100:
/* 8AA550 80240100 8E020070 */ lw $v0, 0x70($s0)
/* 8AA554 80240104 24420008 */ addiu $v0, $v0, 8
/* 8AA558 80240108 AE020070 */ sw $v0, 0x70($s0)
/* 8AA55C 8024010C 284200FF */ slti $v0, $v0, 0xff
/* 8AA560 80240110 14400002 */ bnez $v0, .L8024011C
/* 8AA564 80240114 240200FF */ addiu $v0, $zero, 0xff
.L80240118:
/* 8AA568 80240118 AE020070 */ sw $v0, 0x70($s0)
.L8024011C:
/* 8AA56C 8024011C C6060070 */ lwc1 $f6, 0x70($s0)
/* 8AA570 80240120 468031A0 */ cvt.s.w $f6, $f6
/* 8AA574 80240124 44053000 */ mfc1 $a1, $f6
/* 8AA578 80240128 0C04E035 */ jal set_screen_overlay_alpha
/* 8AA57C 8024012C 24040001 */ addiu $a0, $zero, 1
/* 8AA580 80240130 3C05437F */ lui $a1, 0x437f
/* 8AA584 80240134 0C04DF69 */ jal set_screen_overlay_params_back
/* 8AA588 80240138 2404000B */ addiu $a0, $zero, 0xb
/* 8AA58C 8024013C 8FBF0024 */ lw $ra, 0x24($sp)
/* 8AA590 80240140 8FB20020 */ lw $s2, 0x20($sp)
/* 8AA594 80240144 8FB1001C */ lw $s1, 0x1c($sp)
/* 8AA598 80240148 8FB00018 */ lw $s0, 0x18($sp)
/* 8AA59C 8024014C 0000102D */ daddu $v0, $zero, $zero
/* 8AA5A0 80240150 03E00008 */ jr $ra
/* 8AA5A4 80240154 27BD0028 */ addiu $sp, $sp, 0x28
/* 8AA5A8 80240158 00000000 */ nop
/* 8AA5AC 8024015C 00000000 */ nop

View File

@ -1,10 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240730_8AAB80
/* 8AAB80 80240730 3C028011 */ lui $v0, %hi(gPartnerActionStatus+0x3)
/* 8AAB84 80240734 8042EBB3 */ lb $v0, %lo(gPartnerActionStatus+0x3)($v0)
/* 8AAB88 80240738 38420006 */ xori $v0, $v0, 6
/* 8AAB8C 8024073C 2C420001 */ sltiu $v0, $v0, 1
/* 8AAB90 80240740 03E00008 */ jr $ra
/* 8AAB94 80240744 00021040 */ sll $v0, $v0, 1

View File

@ -1,10 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240748_8AAB98
/* 8AAB98 80240748 3C028011 */ lui $v0, %hi(gPartnerActionStatus+0x3)
/* 8AAB9C 8024074C 8042EBB3 */ lb $v0, %lo(gPartnerActionStatus+0x3)($v0)
/* 8AABA0 80240750 38420006 */ xori $v0, $v0, 6
/* 8AABA4 80240754 0002102B */ sltu $v0, $zero, $v0
/* 8AABA8 80240758 03E00008 */ jr $ra
/* 8AABAC 8024075C 00021040 */ sll $v0, $v0, 1

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240760_8AABB0
/* 8AABB0 80240760 3C028016 */ lui $v0, %hi(gCollisionStatus+0x18)
/* 8AABB4 80240764 8442A568 */ lh $v0, %lo(gCollisionStatus+0x18)($v0)
/* 8AABB8 80240768 04400002 */ bltz $v0, .L80240774
/* 8AABBC 8024076C 24020001 */ addiu $v0, $zero, 1
/* 8AABC0 80240770 AC820088 */ sw $v0, 0x88($a0)
.L80240774:
/* 8AABC4 80240774 03E00008 */ jr $ra
/* 8AABC8 80240778 24020002 */ addiu $v0, $zero, 2
/* 8AABCC 8024077C 00000000 */ nop

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_A46F60
/* A46F60 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* A46F64 80240004 AFB00018 */ sw $s0, 0x18($sp)
/* A46F68 80240008 0080802D */ daddu $s0, $a0, $zero
/* A46F6C 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* A46F70 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* A46F74 80240014 AFB1001C */ sw $s1, 0x1c($sp)
/* A46F78 80240018 3C118011 */ lui $s1, %hi(gPlayerData)
/* A46F7C 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* A46F80 80240020 AFB20020 */ sw $s2, 0x20($sp)
/* A46F84 80240024 0220902D */ daddu $s2, $s1, $zero
/* A46F88 80240028 10A00004 */ beqz $a1, .L8024003C
/* A46F8C 8024002C AFBF0024 */ sw $ra, 0x24($sp)
/* A46F90 80240030 240200FF */ addiu $v0, $zero, 0xff
/* A46F94 80240034 AE020070 */ sw $v0, 0x70($s0)
/* A46F98 80240038 AE000074 */ sw $zero, 0x74($s0)
.L8024003C:
/* A46F9C 8024003C 24040001 */ addiu $a0, $zero, 1
/* A46FA0 80240040 C460002C */ lwc1 $f0, 0x2c($v1)
/* A46FA4 80240044 3C014100 */ lui $at, 0x4100
/* A46FA8 80240048 44811000 */ mtc1 $at, $f2
/* A46FAC 8024004C 00000000 */ nop
/* A46FB0 80240050 46020000 */ add.s $f0, $f0, $f2
/* A46FB4 80240054 C4620030 */ lwc1 $f2, 0x30($v1)
/* A46FB8 80240058 C4640028 */ lwc1 $f4, 0x28($v1)
/* A46FBC 8024005C 4600118D */ trunc.w.s $f6, $f2
/* A46FC0 80240060 E7A60010 */ swc1 $f6, 0x10($sp)
/* A46FC4 80240064 4600218D */ trunc.w.s $f6, $f4
/* A46FC8 80240068 44063000 */ mfc1 $a2, $f6
/* A46FCC 8024006C 4600018D */ trunc.w.s $f6, $f0
/* A46FD0 80240070 44073000 */ mfc1 $a3, $f6
/* A46FD4 80240074 0C04DFB0 */ jal set_screen_overlay_center_worldpos
/* A46FD8 80240078 0080282D */ daddu $a1, $a0, $zero
/* A46FDC 8024007C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* A46FE0 80240080 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* A46FE4 80240084 10400012 */ beqz $v0, .L802400D0
/* A46FE8 80240088 24020006 */ addiu $v0, $zero, 6
/* A46FEC 8024008C 82230012 */ lb $v1, 0x12($s1)
/* A46FF0 80240090 14620022 */ bne $v1, $v0, .L8024011C
/* A46FF4 80240094 00000000 */ nop
/* A46FF8 80240098 8E020074 */ lw $v0, 0x74($s0)
/* A46FFC 8024009C 14400004 */ bnez $v0, .L802400B0
/* A47000 802400A0 24020001 */ addiu $v0, $zero, 1
/* A47004 802400A4 AE020074 */ sw $v0, 0x74($s0)
/* A47008 802400A8 0C05272D */ jal sfx_play_sound
/* A4700C 802400AC 24042011 */ addiu $a0, $zero, 0x2011
.L802400B0:
/* A47010 802400B0 8E020070 */ lw $v0, 0x70($s0)
/* A47014 802400B4 2442FFF8 */ addiu $v0, $v0, -8
/* A47018 802400B8 AE020070 */ sw $v0, 0x70($s0)
/* A4701C 802400BC 2842005A */ slti $v0, $v0, 0x5a
/* A47020 802400C0 10400016 */ beqz $v0, .L8024011C
/* A47024 802400C4 2402005A */ addiu $v0, $zero, 0x5a
/* A47028 802400C8 08090047 */ j .L8024011C
/* A4702C 802400CC AE020070 */ sw $v0, 0x70($s0)
.L802400D0:
/* A47030 802400D0 82430012 */ lb $v1, 0x12($s2)
/* A47034 802400D4 14620010 */ bne $v1, $v0, .L80240118
/* A47038 802400D8 240200FF */ addiu $v0, $zero, 0xff
/* A4703C 802400DC 8E020074 */ lw $v0, 0x74($s0)
/* A47040 802400E0 10400007 */ beqz $v0, .L80240100
/* A47044 802400E4 00000000 */ nop
/* A47048 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* A4704C 802400EC 284200FF */ slti $v0, $v0, 0xff
/* A47050 802400F0 10400003 */ beqz $v0, .L80240100
/* A47054 802400F4 AE000074 */ sw $zero, 0x74($s0)
/* A47058 802400F8 0C05272D */ jal sfx_play_sound
/* A4705C 802400FC 24042012 */ addiu $a0, $zero, 0x2012
.L80240100:
/* A47060 80240100 8E020070 */ lw $v0, 0x70($s0)
/* A47064 80240104 24420008 */ addiu $v0, $v0, 8
/* A47068 80240108 AE020070 */ sw $v0, 0x70($s0)
/* A4706C 8024010C 284200FF */ slti $v0, $v0, 0xff
/* A47070 80240110 14400002 */ bnez $v0, .L8024011C
/* A47074 80240114 240200FF */ addiu $v0, $zero, 0xff
.L80240118:
/* A47078 80240118 AE020070 */ sw $v0, 0x70($s0)
.L8024011C:
/* A4707C 8024011C C6060070 */ lwc1 $f6, 0x70($s0)
/* A47080 80240120 468031A0 */ cvt.s.w $f6, $f6
/* A47084 80240124 44053000 */ mfc1 $a1, $f6
/* A47088 80240128 0C04E035 */ jal set_screen_overlay_alpha
/* A4708C 8024012C 24040001 */ addiu $a0, $zero, 1
/* A47090 80240130 3C05437F */ lui $a1, 0x437f
/* A47094 80240134 0C04DF69 */ jal set_screen_overlay_params_back
/* A47098 80240138 2404000B */ addiu $a0, $zero, 0xb
/* A4709C 8024013C 8FBF0024 */ lw $ra, 0x24($sp)
/* A470A0 80240140 8FB20020 */ lw $s2, 0x20($sp)
/* A470A4 80240144 8FB1001C */ lw $s1, 0x1c($sp)
/* A470A8 80240148 8FB00018 */ lw $s0, 0x18($sp)
/* A470AC 8024014C 0000102D */ daddu $v0, $zero, $zero
/* A470B0 80240150 03E00008 */ jr $ra
/* A470B4 80240154 27BD0028 */ addiu $sp, $sp, 0x28
/* A470B8 80240158 00000000 */ nop
/* A470BC 8024015C 00000000 */ nop

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_A485C0
/* A485C0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* A485C4 80240004 AFB00018 */ sw $s0, 0x18($sp)
/* A485C8 80240008 0080802D */ daddu $s0, $a0, $zero
/* A485CC 8024000C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* A485D0 80240010 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* A485D4 80240014 AFB1001C */ sw $s1, 0x1c($sp)
/* A485D8 80240018 3C118011 */ lui $s1, %hi(gPlayerData)
/* A485DC 8024001C 2631F290 */ addiu $s1, $s1, %lo(gPlayerData)
/* A485E0 80240020 AFB20020 */ sw $s2, 0x20($sp)
/* A485E4 80240024 0220902D */ daddu $s2, $s1, $zero
/* A485E8 80240028 10A00004 */ beqz $a1, .L8024003C
/* A485EC 8024002C AFBF0024 */ sw $ra, 0x24($sp)
/* A485F0 80240030 240200FF */ addiu $v0, $zero, 0xff
/* A485F4 80240034 AE020070 */ sw $v0, 0x70($s0)
/* A485F8 80240038 AE000074 */ sw $zero, 0x74($s0)
.L8024003C:
/* A485FC 8024003C 24040001 */ addiu $a0, $zero, 1
/* A48600 80240040 C460002C */ lwc1 $f0, 0x2c($v1)
/* A48604 80240044 3C014100 */ lui $at, 0x4100
/* A48608 80240048 44811000 */ mtc1 $at, $f2
/* A4860C 8024004C 00000000 */ nop
/* A48610 80240050 46020000 */ add.s $f0, $f0, $f2
/* A48614 80240054 C4620030 */ lwc1 $f2, 0x30($v1)
/* A48618 80240058 C4640028 */ lwc1 $f4, 0x28($v1)
/* A4861C 8024005C 4600118D */ trunc.w.s $f6, $f2
/* A48620 80240060 E7A60010 */ swc1 $f6, 0x10($sp)
/* A48624 80240064 4600218D */ trunc.w.s $f6, $f4
/* A48628 80240068 44063000 */ mfc1 $a2, $f6
/* A4862C 8024006C 4600018D */ trunc.w.s $f6, $f0
/* A48630 80240070 44073000 */ mfc1 $a3, $f6
/* A48634 80240074 0C04DFB0 */ jal set_screen_overlay_center_worldpos
/* A48638 80240078 0080282D */ daddu $a1, $a0, $zero
/* A4863C 8024007C 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* A48640 80240080 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* A48644 80240084 10400012 */ beqz $v0, .L802400D0
/* A48648 80240088 24020006 */ addiu $v0, $zero, 6
/* A4864C 8024008C 82230012 */ lb $v1, 0x12($s1)
/* A48650 80240090 14620022 */ bne $v1, $v0, .L8024011C
/* A48654 80240094 00000000 */ nop
/* A48658 80240098 8E020074 */ lw $v0, 0x74($s0)
/* A4865C 8024009C 14400004 */ bnez $v0, .L802400B0
/* A48660 802400A0 24020001 */ addiu $v0, $zero, 1
/* A48664 802400A4 AE020074 */ sw $v0, 0x74($s0)
/* A48668 802400A8 0C05272D */ jal sfx_play_sound
/* A4866C 802400AC 24042011 */ addiu $a0, $zero, 0x2011
.L802400B0:
/* A48670 802400B0 8E020070 */ lw $v0, 0x70($s0)
/* A48674 802400B4 2442FFF8 */ addiu $v0, $v0, -8
/* A48678 802400B8 AE020070 */ sw $v0, 0x70($s0)
/* A4867C 802400BC 2842005A */ slti $v0, $v0, 0x5a
/* A48680 802400C0 10400016 */ beqz $v0, .L8024011C
/* A48684 802400C4 2402005A */ addiu $v0, $zero, 0x5a
/* A48688 802400C8 08090047 */ j .L8024011C
/* A4868C 802400CC AE020070 */ sw $v0, 0x70($s0)
.L802400D0:
/* A48690 802400D0 82430012 */ lb $v1, 0x12($s2)
/* A48694 802400D4 14620010 */ bne $v1, $v0, .L80240118
/* A48698 802400D8 240200FF */ addiu $v0, $zero, 0xff
/* A4869C 802400DC 8E020074 */ lw $v0, 0x74($s0)
/* A486A0 802400E0 10400007 */ beqz $v0, .L80240100
/* A486A4 802400E4 00000000 */ nop
/* A486A8 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* A486AC 802400EC 284200FF */ slti $v0, $v0, 0xff
/* A486B0 802400F0 10400003 */ beqz $v0, .L80240100
/* A486B4 802400F4 AE000074 */ sw $zero, 0x74($s0)
/* A486B8 802400F8 0C05272D */ jal sfx_play_sound
/* A486BC 802400FC 24042012 */ addiu $a0, $zero, 0x2012
.L80240100:
/* A486C0 80240100 8E020070 */ lw $v0, 0x70($s0)
/* A486C4 80240104 24420008 */ addiu $v0, $v0, 8
/* A486C8 80240108 AE020070 */ sw $v0, 0x70($s0)
/* A486CC 8024010C 284200FF */ slti $v0, $v0, 0xff
/* A486D0 80240110 14400002 */ bnez $v0, .L8024011C
/* A486D4 80240114 240200FF */ addiu $v0, $zero, 0xff
.L80240118:
/* A486D8 80240118 AE020070 */ sw $v0, 0x70($s0)
.L8024011C:
/* A486DC 8024011C C6060070 */ lwc1 $f6, 0x70($s0)
/* A486E0 80240120 468031A0 */ cvt.s.w $f6, $f6
/* A486E4 80240124 44053000 */ mfc1 $a1, $f6
/* A486E8 80240128 0C04E035 */ jal set_screen_overlay_alpha
/* A486EC 8024012C 24040001 */ addiu $a0, $zero, 1
/* A486F0 80240130 3C05437F */ lui $a1, 0x437f
/* A486F4 80240134 0C04DF69 */ jal set_screen_overlay_params_back
/* A486F8 80240138 2404000B */ addiu $a0, $zero, 0xb
/* A486FC 8024013C 8FBF0024 */ lw $ra, 0x24($sp)
/* A48700 80240140 8FB20020 */ lw $s2, 0x20($sp)
/* A48704 80240144 8FB1001C */ lw $s1, 0x1c($sp)
/* A48708 80240148 8FB00018 */ lw $s0, 0x18($sp)
/* A4870C 8024014C 0000102D */ daddu $v0, $zero, $zero
/* A48710 80240150 03E00008 */ jr $ra
/* A48714 80240154 27BD0028 */ addiu $sp, $sp, 0x28
/* A48718 80240158 00000000 */ nop
/* A4871C 8024015C 00000000 */ nop

View File

@ -4,7 +4,7 @@
glabel func_80241F80_833780
/* 833780 80241F80 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 833784 80241F84 AFBF0010 */ sw $ra, 0x10($sp)
/* 833788 80241F88 0C03A5B2 */ jal func_800E96C8
/* 833788 80241F88 0C03A5B2 */ jal hide_coin_counter_immediately
/* 83378C 80241F8C 00000000 */ nop
/* 833790 80241F90 8FBF0010 */ lw $ra, 0x10($sp)
/* 833794 80241F94 24020002 */ addiu $v0, $zero, 2

View File

@ -1,34 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241170_E0F910
/* E0F910 80241170 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E0F914 80241174 AFB10014 */ sw $s1, 0x14($sp)
/* E0F918 80241178 0080882D */ daddu $s1, $a0, $zero
/* E0F91C 8024117C AFB00010 */ sw $s0, 0x10($sp)
/* E0F920 80241180 0000802D */ daddu $s0, $zero, $zero
/* E0F924 80241184 AFBF0018 */ sw $ra, 0x18($sp)
/* E0F928 80241188 0C039D91 */ jal find_item
/* E0F92C 8024118C 2404007C */ addiu $a0, $zero, 0x7c
/* E0F930 80241190 04400003 */ bltz $v0, .L802411A0
/* E0F934 80241194 00000000 */ nop
/* E0F938 80241198 0809046C */ j .L802411B0
/* E0F93C 8024119C 24100002 */ addiu $s0, $zero, 2
.L802411A0:
/* E0F940 802411A0 0C039D91 */ jal find_item
/* E0F944 802411A4 2404007B */ addiu $a0, $zero, 0x7b
/* E0F948 802411A8 04430001 */ bgezl $v0, .L802411B0
/* E0F94C 802411AC 24100001 */ addiu $s0, $zero, 1
.L802411B0:
/* E0F950 802411B0 0220202D */ daddu $a0, $s1, $zero
/* E0F954 802411B4 3C05FE36 */ lui $a1, 0xfe36
/* E0F958 802411B8 34A53C85 */ ori $a1, $a1, 0x3c85
/* E0F95C 802411BC 0C0B2026 */ jal evt_set_variable
/* E0F960 802411C0 0200302D */ daddu $a2, $s0, $zero
/* E0F964 802411C4 8FBF0018 */ lw $ra, 0x18($sp)
/* E0F968 802411C8 8FB10014 */ lw $s1, 0x14($sp)
/* E0F96C 802411CC 8FB00010 */ lw $s0, 0x10($sp)
/* E0F970 802411D0 24020002 */ addiu $v0, $zero, 2
/* E0F974 802411D4 03E00008 */ jr $ra
/* E0F978 802411D8 27BD0020 */ addiu $sp, $sp, 0x20
/* E0F97C 802411DC 00000000 */ nop

View File

@ -1,235 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80243F90_E12730
.double 0.65
dlabel D_80243F98_E12738
.double 0.55
.section .text
glabel func_802411E0_E0F980
/* E0F980 802411E0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* E0F984 802411E4 AFB1002C */ sw $s1, 0x2c($sp)
/* E0F988 802411E8 0080882D */ daddu $s1, $a0, $zero
/* E0F98C 802411EC AFB20030 */ sw $s2, 0x30($sp)
/* E0F990 802411F0 00A0902D */ daddu $s2, $a1, $zero
/* E0F994 802411F4 AFBF0034 */ sw $ra, 0x34($sp)
/* E0F998 802411F8 1A4000CB */ blez $s2, .L80241528
/* E0F99C 802411FC AFB00028 */ sw $s0, 0x28($sp)
/* E0F9A0 80241200 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* E0F9A4 80241204 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* E0F9A8 80241208 3C02DE00 */ lui $v0, 0xde00
/* E0F9AC 8024120C 44920000 */ mtc1 $s2, $f0
/* E0F9B0 80241210 00000000 */ nop
/* E0F9B4 80241214 46800021 */ cvt.d.w $f0, $f0
/* E0F9B8 80241218 8C830000 */ lw $v1, ($a0)
/* E0F9BC 8024121C 3C018024 */ lui $at, %hi(D_80243F90_E12730)
/* E0F9C0 80241220 D4223F90 */ ldc1 $f2, %lo(D_80243F90_E12730)($at)
/* E0F9C4 80241224 0060282D */ daddu $a1, $v1, $zero
/* E0F9C8 80241228 24630008 */ addiu $v1, $v1, 8
/* E0F9CC 8024122C AC830000 */ sw $v1, ($a0)
/* E0F9D0 80241230 ACA20000 */ sw $v0, ($a1)
/* E0F9D4 80241234 3C028024 */ lui $v0, %hi(D_80243C50_E123F0)
/* E0F9D8 80241238 24423C50 */ addiu $v0, $v0, %lo(D_80243C50_E123F0)
/* E0F9DC 8024123C ACA20004 */ sw $v0, 4($a1)
/* E0F9E0 80241240 24620008 */ addiu $v0, $v1, 8
/* E0F9E4 80241244 AC820000 */ sw $v0, ($a0)
/* E0F9E8 80241248 3C02E700 */ lui $v0, 0xe700
/* E0F9EC 8024124C 46220002 */ mul.d $f0, $f0, $f2
/* E0F9F0 80241250 00000000 */ nop
/* E0F9F4 80241254 AC620000 */ sw $v0, ($v1)
/* E0F9F8 80241258 24620010 */ addiu $v0, $v1, 0x10
/* E0F9FC 8024125C AC600004 */ sw $zero, 4($v1)
/* E0FA00 80241260 AC820000 */ sw $v0, ($a0)
/* E0FA04 80241264 3C02FA00 */ lui $v0, 0xfa00
/* E0FA08 80241268 3C0141E0 */ lui $at, 0x41e0
/* E0FA0C 8024126C 44811800 */ mtc1 $at, $f3
/* E0FA10 80241270 44801000 */ mtc1 $zero, $f2
/* E0FA14 80241274 246D000C */ addiu $t5, $v1, 0xc
/* E0FA18 80241278 4620103E */ c.le.d $f2, $f0
/* E0FA1C 8024127C 00000000 */ nop
/* E0FA20 80241280 45010005 */ bc1t .L80241298
/* E0FA24 80241284 AC620008 */ sw $v0, 8($v1)
/* E0FA28 80241288 4620010D */ trunc.w.d $f4, $f0
/* E0FA2C 8024128C 440C2000 */ mfc1 $t4, $f4
/* E0FA30 80241290 080904AD */ j .L802412B4
/* E0FA34 80241294 3C091078 */ lui $t1, 0x1078
.L80241298:
/* E0FA38 80241298 46220001 */ sub.d $f0, $f0, $f2
/* E0FA3C 8024129C 3C028000 */ lui $v0, 0x8000
/* E0FA40 802412A0 4620010D */ trunc.w.d $f4, $f0
/* E0FA44 802412A4 440C2000 */ mfc1 $t4, $f4
/* E0FA48 802412A8 00000000 */ nop
/* E0FA4C 802412AC 01826025 */ or $t4, $t4, $v0
/* E0FA50 802412B0 3C091078 */ lui $t1, 0x1078
.L802412B4:
/* E0FA54 802412B4 35291800 */ ori $t1, $t1, 0x1800
/* E0FA58 802412B8 3C0BF644 */ lui $t3, 0xf644
/* E0FA5C 802412BC 356B0204 */ ori $t3, $t3, 0x204
/* E0FA60 802412C0 3C0A000C */ lui $t2, 0xc
/* E0FA64 802412C4 354A00D4 */ ori $t2, $t2, 0xd4
/* E0FA68 802412C8 2404002D */ addiu $a0, $zero, 0x2d
/* E0FA6C 802412CC 24050032 */ addiu $a1, $zero, 0x32
/* E0FA70 802412D0 240600E6 */ addiu $a2, $zero, 0xe6
/* E0FA74 802412D4 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* E0FA78 802412D8 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* E0FA7C 802412DC 318200FF */ andi $v0, $t4, 0xff
/* E0FA80 802412E0 00491025 */ or $v0, $v0, $t1
/* E0FA84 802412E4 44921000 */ mtc1 $s2, $f2
/* E0FA88 802412E8 00000000 */ nop
/* E0FA8C 802412EC 468010A1 */ cvt.d.w $f2, $f2
/* E0FA90 802412F0 8D030000 */ lw $v1, ($t0)
/* E0FA94 802412F4 3C018024 */ lui $at, %hi(D_80243F98_E12738)
/* E0FA98 802412F8 D4203F98 */ ldc1 $f0, %lo(D_80243F98_E12738)($at)
/* E0FA9C 802412FC 24100001 */ addiu $s0, $zero, 1
/* E0FAA0 80241300 ADA20000 */ sw $v0, ($t5)
/* E0FAA4 80241304 0060102D */ daddu $v0, $v1, $zero
/* E0FAA8 80241308 24630008 */ addiu $v1, $v1, 8
/* E0FAAC 8024130C AD030000 */ sw $v1, ($t0)
/* E0FAB0 80241310 AC4B0000 */ sw $t3, ($v0)
/* E0FAB4 80241314 AC4A0004 */ sw $t2, 4($v0)
/* E0FAB8 80241318 24620008 */ addiu $v0, $v1, 8
/* E0FABC 8024131C AD020000 */ sw $v0, ($t0)
/* E0FAC0 80241320 3C02E700 */ lui $v0, 0xe700
/* E0FAC4 80241324 46201082 */ mul.d $f2, $f2, $f0
/* E0FAC8 80241328 00000000 */ nop
/* E0FACC 8024132C AC620000 */ sw $v0, ($v1)
/* E0FAD0 80241330 24020006 */ addiu $v0, $zero, 6
/* E0FAD4 80241334 AC600004 */ sw $zero, 4($v1)
/* E0FAD8 80241338 AFA20010 */ sw $v0, 0x10($sp)
/* E0FADC 8024133C AFA00014 */ sw $zero, 0x14($sp)
/* E0FAE0 80241340 AFB00018 */ sw $s0, 0x18($sp)
/* E0FAE4 80241344 AFB20020 */ sw $s2, 0x20($sp)
/* E0FAE8 80241348 4620110D */ trunc.w.d $f4, $f2
/* E0FAEC 8024134C E7A4001C */ swc1 $f4, 0x1c($sp)
/* E0FAF0 80241350 0C04B6D6 */ jal msg_draw_frame
/* E0FAF4 80241354 24070052 */ addiu $a3, $zero, 0x52
/* E0FAF8 80241358 8E220008 */ lw $v0, 8($s1)
/* E0FAFC 8024135C 1450001F */ bne $v0, $s0, .L802413DC
/* E0FB00 80241360 3C040008 */ lui $a0, 8
/* E0FB04 80241364 3484001C */ ori $a0, $a0, 0x1c
/* E0FB08 80241368 24050042 */ addiu $a1, $zero, 0x42
/* E0FB0C 8024136C 24060039 */ addiu $a2, $zero, 0x39
/* E0FB10 80241370 0240382D */ daddu $a3, $s2, $zero
/* E0FB14 80241374 AFB00010 */ sw $s0, 0x10($sp)
/* E0FB18 80241378 0C04993B */ jal draw_msg
/* E0FB1C 8024137C AFA00014 */ sw $zero, 0x14($sp)
/* E0FB20 80241380 240500DB */ addiu $a1, $zero, 0xdb
/* E0FB24 80241384 2406004E */ addiu $a2, $zero, 0x4e
/* E0FB28 80241388 0200382D */ daddu $a3, $s0, $zero
/* E0FB2C 8024138C 3C108011 */ lui $s0, %hi(gPlayerData)
/* E0FB30 80241390 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* E0FB34 80241394 AFA00010 */ sw $zero, 0x10($sp)
/* E0FB38 80241398 AFB20014 */ sw $s2, 0x14($sp)
/* E0FB3C 8024139C 9604032E */ lhu $a0, 0x32e($s0)
/* E0FB40 802413A0 24110003 */ addiu $s1, $zero, 3
/* E0FB44 802413A4 0C049DA7 */ jal draw_number
/* E0FB48 802413A8 AFB10018 */ sw $s1, 0x18($sp)
/* E0FB4C 802413AC 240500DB */ addiu $a1, $zero, 0xdb
/* E0FB50 802413B0 2406005D */ addiu $a2, $zero, 0x5d
/* E0FB54 802413B4 8E040330 */ lw $a0, 0x330($s0)
/* E0FB58 802413B8 24070001 */ addiu $a3, $zero, 1
/* E0FB5C 802413BC AFA00010 */ sw $zero, 0x10($sp)
/* E0FB60 802413C0 AFB20014 */ sw $s2, 0x14($sp)
/* E0FB64 802413C4 0C049DA7 */ jal draw_number
/* E0FB68 802413C8 AFB10018 */ sw $s1, 0x18($sp)
/* E0FB6C 802413CC 240500DB */ addiu $a1, $zero, 0xdb
/* E0FB70 802413D0 96040334 */ lhu $a0, 0x334($s0)
/* E0FB74 802413D4 08090514 */ j .L80241450
/* E0FB78 802413D8 2406006C */ addiu $a2, $zero, 0x6c
.L802413DC:
/* E0FB7C 802413DC 3484001D */ ori $a0, $a0, 0x1d
/* E0FB80 802413E0 24050040 */ addiu $a1, $zero, 0x40
/* E0FB84 802413E4 24060039 */ addiu $a2, $zero, 0x39
/* E0FB88 802413E8 0240382D */ daddu $a3, $s2, $zero
/* E0FB8C 802413EC AFB00010 */ sw $s0, 0x10($sp)
/* E0FB90 802413F0 0C04993B */ jal draw_msg
/* E0FB94 802413F4 AFA00014 */ sw $zero, 0x14($sp)
/* E0FB98 802413F8 240500DB */ addiu $a1, $zero, 0xdb
/* E0FB9C 802413FC 2406004E */ addiu $a2, $zero, 0x4e
/* E0FBA0 80241400 24070001 */ addiu $a3, $zero, 1
/* E0FBA4 80241404 3C108011 */ lui $s0, %hi(gPlayerData)
/* E0FBA8 80241408 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* E0FBAC 8024140C AFA00010 */ sw $zero, 0x10($sp)
/* E0FBB0 80241410 AFB20014 */ sw $s2, 0x14($sp)
/* E0FBB4 80241414 96040336 */ lhu $a0, 0x336($s0)
/* E0FBB8 80241418 24110003 */ addiu $s1, $zero, 3
/* E0FBBC 8024141C 0C049DA7 */ jal draw_number
/* E0FBC0 80241420 AFB10018 */ sw $s1, 0x18($sp)
/* E0FBC4 80241424 240500DB */ addiu $a1, $zero, 0xdb
/* E0FBC8 80241428 2406005D */ addiu $a2, $zero, 0x5d
/* E0FBCC 8024142C 8E040338 */ lw $a0, 0x338($s0)
/* E0FBD0 80241430 24070001 */ addiu $a3, $zero, 1
/* E0FBD4 80241434 AFA00010 */ sw $zero, 0x10($sp)
/* E0FBD8 80241438 AFB20014 */ sw $s2, 0x14($sp)
/* E0FBDC 8024143C 0C049DA7 */ jal draw_number
/* E0FBE0 80241440 AFB10018 */ sw $s1, 0x18($sp)
/* E0FBE4 80241444 240500DB */ addiu $a1, $zero, 0xdb
/* E0FBE8 80241448 2406006C */ addiu $a2, $zero, 0x6c
/* E0FBEC 8024144C 9604033C */ lhu $a0, 0x33c($s0)
.L80241450:
/* E0FBF0 80241450 24070001 */ addiu $a3, $zero, 1
/* E0FBF4 80241454 AFA00010 */ sw $zero, 0x10($sp)
/* E0FBF8 80241458 AFB20014 */ sw $s2, 0x14($sp)
/* E0FBFC 8024145C 0C049DA7 */ jal draw_number
/* E0FC00 80241460 AFB10018 */ sw $s1, 0x18($sp)
/* E0FC04 80241464 3C040008 */ lui $a0, 8
/* E0FC08 80241468 3484001E */ ori $a0, $a0, 0x1e
/* E0FC0C 8024146C 2405003A */ addiu $a1, $zero, 0x3a
/* E0FC10 80241470 2406004E */ addiu $a2, $zero, 0x4e
/* E0FC14 80241474 0240382D */ daddu $a3, $s2, $zero
/* E0FC18 80241478 24100001 */ addiu $s0, $zero, 1
/* E0FC1C 8024147C AFA00010 */ sw $zero, 0x10($sp)
/* E0FC20 80241480 0C04993B */ jal draw_msg
/* E0FC24 80241484 AFB00014 */ sw $s0, 0x14($sp)
/* E0FC28 80241488 3C040008 */ lui $a0, 8
/* E0FC2C 8024148C 34840023 */ ori $a0, $a0, 0x23
/* E0FC30 80241490 240500DF */ addiu $a1, $zero, 0xdf
/* E0FC34 80241494 2406004E */ addiu $a2, $zero, 0x4e
/* E0FC38 80241498 0240382D */ daddu $a3, $s2, $zero
/* E0FC3C 8024149C AFA00010 */ sw $zero, 0x10($sp)
/* E0FC40 802414A0 0C04993B */ jal draw_msg
/* E0FC44 802414A4 AFB00014 */ sw $s0, 0x14($sp)
/* E0FC48 802414A8 3C040008 */ lui $a0, 8
/* E0FC4C 802414AC 3484001F */ ori $a0, $a0, 0x1f
/* E0FC50 802414B0 2405003A */ addiu $a1, $zero, 0x3a
/* E0FC54 802414B4 2406005D */ addiu $a2, $zero, 0x5d
/* E0FC58 802414B8 0240382D */ daddu $a3, $s2, $zero
/* E0FC5C 802414BC AFA00010 */ sw $zero, 0x10($sp)
/* E0FC60 802414C0 0C04993B */ jal draw_msg
/* E0FC64 802414C4 AFB00014 */ sw $s0, 0x14($sp)
/* E0FC68 802414C8 3C040008 */ lui $a0, 8
/* E0FC6C 802414CC 34840021 */ ori $a0, $a0, 0x21
/* E0FC70 802414D0 240500DF */ addiu $a1, $zero, 0xdf
/* E0FC74 802414D4 2406005D */ addiu $a2, $zero, 0x5d
/* E0FC78 802414D8 0240382D */ daddu $a3, $s2, $zero
/* E0FC7C 802414DC AFA00010 */ sw $zero, 0x10($sp)
/* E0FC80 802414E0 0C04993B */ jal draw_msg
/* E0FC84 802414E4 AFB00014 */ sw $s0, 0x14($sp)
/* E0FC88 802414E8 3C040008 */ lui $a0, 8
/* E0FC8C 802414EC 34840020 */ ori $a0, $a0, 0x20
/* E0FC90 802414F0 2405003A */ addiu $a1, $zero, 0x3a
/* E0FC94 802414F4 2406006C */ addiu $a2, $zero, 0x6c
/* E0FC98 802414F8 0240382D */ daddu $a3, $s2, $zero
/* E0FC9C 802414FC AFA00010 */ sw $zero, 0x10($sp)
/* E0FCA0 80241500 0C04993B */ jal draw_msg
/* E0FCA4 80241504 AFB00014 */ sw $s0, 0x14($sp)
/* E0FCA8 80241508 3C040008 */ lui $a0, 8
/* E0FCAC 8024150C 34840021 */ ori $a0, $a0, 0x21
/* E0FCB0 80241510 240500DF */ addiu $a1, $zero, 0xdf
/* E0FCB4 80241514 2406006C */ addiu $a2, $zero, 0x6c
/* E0FCB8 80241518 0240382D */ daddu $a3, $s2, $zero
/* E0FCBC 8024151C AFA00010 */ sw $zero, 0x10($sp)
/* E0FCC0 80241520 0C04993B */ jal draw_msg
/* E0FCC4 80241524 AFB00014 */ sw $s0, 0x14($sp)
.L80241528:
/* E0FCC8 80241528 8FBF0034 */ lw $ra, 0x34($sp)
/* E0FCCC 8024152C 8FB20030 */ lw $s2, 0x30($sp)
/* E0FCD0 80241530 8FB1002C */ lw $s1, 0x2c($sp)
/* E0FCD4 80241534 8FB00028 */ lw $s0, 0x28($sp)
/* E0FCD8 80241538 03E00008 */ jr $ra
/* E0FCDC 8024153C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80243FA0_E12740
.word .L80241588_E0FD28, .L802415A4_E0FD44, .L80241604_E0FDA4, .L8024163C_E0FDDC, .L80241658_E0FDF8, 0, 0, 0
.section .text
glabel func_80241540_E0FCE0
/* E0FCE0 80241540 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E0FCE4 80241544 0000202D */ daddu $a0, $zero, $zero
/* E0FCE8 80241548 3C05FD05 */ lui $a1, 0xfd05
/* E0FCEC 8024154C 34A50F8A */ ori $a1, $a1, 0xf8a
/* E0FCF0 80241550 AFBF0020 */ sw $ra, 0x20($sp)
/* E0FCF4 80241554 AFB1001C */ sw $s1, 0x1c($sp)
/* E0FCF8 80241558 0C0B1EAF */ jal evt_get_variable
/* E0FCFC 8024155C AFB00018 */ sw $s0, 0x18($sp)
/* E0FD00 80241560 0040802D */ daddu $s0, $v0, $zero
/* E0FD04 80241564 8E030000 */ lw $v1, ($s0)
/* E0FD08 80241568 2C620005 */ sltiu $v0, $v1, 5
/* E0FD0C 8024156C 1040004C */ beqz $v0, .L802416A0
/* E0FD10 80241570 00031080 */ sll $v0, $v1, 2
/* E0FD14 80241574 3C018024 */ lui $at, %hi(jtbl_80243FA0_E12740)
/* E0FD18 80241578 00220821 */ addu $at, $at, $v0
/* E0FD1C 8024157C 8C223FA0 */ lw $v0, %lo(jtbl_80243FA0_E12740)($at)
/* E0FD20 80241580 00400008 */ jr $v0
/* E0FD24 80241584 00000000 */ nop
.L80241588_E0FD28:
/* E0FD28 80241588 2404021C */ addiu $a0, $zero, 0x21c
/* E0FD2C 8024158C 0000282D */ daddu $a1, $zero, $zero
/* E0FD30 80241590 00A0302D */ daddu $a2, $a1, $zero
/* E0FD34 80241594 24020001 */ addiu $v0, $zero, 1
/* E0FD38 80241598 AE000004 */ sw $zero, 4($s0)
/* E0FD3C 8024159C 0C015478 */ jal snd_start_sound
/* E0FD40 802415A0 AE020000 */ sw $v0, ($s0)
.L802415A4_E0FD44:
/* E0FD44 802415A4 3C054200 */ lui $a1, 0x4200
/* E0FD48 802415A8 8E020004 */ lw $v0, 4($s0)
/* E0FD4C 802415AC 3C06437F */ lui $a2, 0x437f
/* E0FD50 802415B0 24420001 */ addiu $v0, $v0, 1
/* E0FD54 802415B4 AE020004 */ sw $v0, 4($s0)
/* E0FD58 802415B8 24020005 */ addiu $v0, $zero, 5
/* E0FD5C 802415BC AFA20010 */ sw $v0, 0x10($sp)
/* E0FD60 802415C0 8E070004 */ lw $a3, 4($s0)
/* E0FD64 802415C4 0C00A8ED */ jal update_lerp
/* E0FD68 802415C8 0000202D */ daddu $a0, $zero, $zero
/* E0FD6C 802415CC 8E020004 */ lw $v0, 4($s0)
/* E0FD70 802415D0 4600008D */ trunc.w.s $f2, $f0
/* E0FD74 802415D4 44031000 */ mfc1 $v1, $f2
/* E0FD78 802415D8 00000000 */ nop
/* E0FD7C 802415DC AE03000C */ sw $v1, 0xc($s0)
/* E0FD80 802415E0 28420005 */ slti $v0, $v0, 5
/* E0FD84 802415E4 1440002E */ bnez $v0, .L802416A0
/* E0FD88 802415E8 AE030010 */ sw $v1, 0x10($s0)
/* E0FD8C 802415EC 24020002 */ addiu $v0, $zero, 2
/* E0FD90 802415F0 AE020000 */ sw $v0, ($s0)
/* E0FD94 802415F4 240200FF */ addiu $v0, $zero, 0xff
/* E0FD98 802415F8 AE02000C */ sw $v0, 0xc($s0)
/* E0FD9C 802415FC 080905A8 */ j .L802416A0
/* E0FDA0 80241600 AE020010 */ sw $v0, 0x10($s0)
.L80241604_E0FDA4:
/* E0FDA4 80241604 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E0FDA8 80241608 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E0FDAC 8024160C 240200FF */ addiu $v0, $zero, 0xff
/* E0FDB0 80241610 AE02000C */ sw $v0, 0xc($s0)
/* E0FDB4 80241614 AE020010 */ sw $v0, 0x10($s0)
/* E0FDB8 80241618 8C620000 */ lw $v0, ($v1)
/* E0FDBC 8024161C 3042C000 */ andi $v0, $v0, 0xc000
/* E0FDC0 80241620 10400002 */ beqz $v0, .L8024162C
/* E0FDC4 80241624 24020003 */ addiu $v0, $zero, 3
/* E0FDC8 80241628 AE020000 */ sw $v0, ($s0)
.L8024162C:
/* E0FDCC 8024162C 8E030000 */ lw $v1, ($s0)
/* E0FDD0 80241630 24020003 */ addiu $v0, $zero, 3
/* E0FDD4 80241634 1462001A */ bne $v1, $v0, .L802416A0
/* E0FDD8 80241638 00000000 */ nop
.L8024163C_E0FDDC:
/* E0FDDC 8024163C 240400CA */ addiu $a0, $zero, 0xca
/* E0FDE0 80241640 0000282D */ daddu $a1, $zero, $zero
/* E0FDE4 80241644 00A0302D */ daddu $a2, $a1, $zero
/* E0FDE8 80241648 24020004 */ addiu $v0, $zero, 4
/* E0FDEC 8024164C AE000004 */ sw $zero, 4($s0)
/* E0FDF0 80241650 0C015478 */ jal snd_start_sound
/* E0FDF4 80241654 AE020000 */ sw $v0, ($s0)
.L80241658_E0FDF8:
/* E0FDF8 80241658 0000202D */ daddu $a0, $zero, $zero
/* E0FDFC 8024165C C6000010 */ lwc1 $f0, 0x10($s0)
/* E0FE00 80241660 46800020 */ cvt.s.w $f0, $f0
/* E0FE04 80241664 24110005 */ addiu $s1, $zero, 5
/* E0FE08 80241668 8E020004 */ lw $v0, 4($s0)
/* E0FE0C 8024166C 44050000 */ mfc1 $a1, $f0
/* E0FE10 80241670 24420001 */ addiu $v0, $v0, 1
/* E0FE14 80241674 AE020004 */ sw $v0, 4($s0)
/* E0FE18 80241678 AFB10010 */ sw $s1, 0x10($sp)
/* E0FE1C 8024167C 8E070004 */ lw $a3, 4($s0)
/* E0FE20 80241680 0C00A8ED */ jal update_lerp
/* E0FE24 80241684 0000302D */ daddu $a2, $zero, $zero
/* E0FE28 80241688 8E020004 */ lw $v0, 4($s0)
/* E0FE2C 8024168C 4600008D */ trunc.w.s $f2, $f0
/* E0FE30 80241690 E602000C */ swc1 $f2, 0xc($s0)
/* E0FE34 80241694 0051102A */ slt $v0, $v0, $s1
/* E0FE38 80241698 50400001 */ beql $v0, $zero, .L802416A0
/* E0FE3C 8024169C AE110000 */ sw $s1, ($s0)
.L802416A0:
/* E0FE40 802416A0 8E05000C */ lw $a1, 0xc($s0)
/* E0FE44 802416A4 0C090478 */ jal func_802411E0_E0F980
/* E0FE48 802416A8 0200202D */ daddu $a0, $s0, $zero
/* E0FE4C 802416AC 8FBF0020 */ lw $ra, 0x20($sp)
/* E0FE50 802416B0 8FB1001C */ lw $s1, 0x1c($sp)
/* E0FE54 802416B4 8FB00018 */ lw $s0, 0x18($sp)
/* E0FE58 802416B8 03E00008 */ jr $ra
/* E0FE5C 802416BC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802416C0_E0FE60
/* E0FE60 802416C0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E0FE64 802416C4 2402002D */ addiu $v0, $zero, 0x2d
/* E0FE68 802416C8 AFA20010 */ sw $v0, 0x10($sp)
/* E0FE6C 802416CC 3C028024 */ lui $v0, %hi(func_80241540_E0FCE0)
/* E0FE70 802416D0 24421540 */ addiu $v0, $v0, %lo(func_80241540_E0FCE0)
/* E0FE74 802416D4 27A40010 */ addiu $a0, $sp, 0x10
/* E0FE78 802416D8 AFBF0020 */ sw $ra, 0x20($sp)
/* E0FE7C 802416DC AFA00018 */ sw $zero, 0x18($sp)
/* E0FE80 802416E0 AFA2001C */ sw $v0, 0x1c($sp)
/* E0FE84 802416E4 0C047644 */ jal queue_render_task
/* E0FE88 802416E8 AFA00014 */ sw $zero, 0x14($sp)
/* E0FE8C 802416EC 8FBF0020 */ lw $ra, 0x20($sp)
/* E0FE90 802416F0 03E00008 */ jr $ra
/* E0FE94 802416F4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,56 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802416F8_E0FE98
/* E0FE98 802416F8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E0FE9C 802416FC AFB10014 */ sw $s1, 0x14($sp)
/* E0FEA0 80241700 0080882D */ daddu $s1, $a0, $zero
/* E0FEA4 80241704 AFBF001C */ sw $ra, 0x1c($sp)
/* E0FEA8 80241708 AFB20018 */ sw $s2, 0x18($sp)
/* E0FEAC 8024170C AFB00010 */ sw $s0, 0x10($sp)
/* E0FEB0 80241710 8E22000C */ lw $v0, 0xc($s1)
/* E0FEB4 80241714 00A0802D */ daddu $s0, $a1, $zero
/* E0FEB8 80241718 0C0B1EAF */ jal evt_get_variable
/* E0FEBC 8024171C 8C450000 */ lw $a1, ($v0)
/* E0FEC0 80241720 12000013 */ beqz $s0, .L80241770
/* E0FEC4 80241724 0040902D */ daddu $s2, $v0, $zero
/* E0FEC8 80241728 0C00AB39 */ jal heap_malloc
/* E0FECC 8024172C 24040018 */ addiu $a0, $zero, 0x18
/* E0FED0 80241730 0040802D */ daddu $s0, $v0, $zero
/* E0FED4 80241734 0000202D */ daddu $a0, $zero, $zero
/* E0FED8 80241738 3C058024 */ lui $a1, %hi(func_802416C0_E0FE60)
/* E0FEDC 8024173C 24A516C0 */ addiu $a1, $a1, %lo(func_802416C0_E0FE60)
/* E0FEE0 80241740 240200FF */ addiu $v0, $zero, 0xff
/* E0FEE4 80241744 AE300070 */ sw $s0, 0x70($s1)
/* E0FEE8 80241748 AE000000 */ sw $zero, ($s0)
/* E0FEEC 8024174C 0C048C56 */ jal create_generic_entity_world
/* E0FEF0 80241750 AE02000C */ sw $v0, 0xc($s0)
/* E0FEF4 80241754 0220202D */ daddu $a0, $s1, $zero
/* E0FEF8 80241758 3C05FD05 */ lui $a1, 0xfd05
/* E0FEFC 8024175C 34A50F8A */ ori $a1, $a1, 0xf8a
/* E0FF00 80241760 0200302D */ daddu $a2, $s0, $zero
/* E0FF04 80241764 AE020014 */ sw $v0, 0x14($s0)
/* E0FF08 80241768 0C0B2026 */ jal evt_set_variable
/* E0FF0C 8024176C AE120008 */ sw $s2, 8($s0)
.L80241770:
/* E0FF10 80241770 8E300070 */ lw $s0, 0x70($s1)
/* E0FF14 80241774 8E030000 */ lw $v1, ($s0)
/* E0FF18 80241778 24020005 */ addiu $v0, $zero, 5
/* E0FF1C 8024177C 14620007 */ bne $v1, $v0, .L8024179C
/* E0FF20 80241780 0000102D */ daddu $v0, $zero, $zero
/* E0FF24 80241784 8E040014 */ lw $a0, 0x14($s0)
/* E0FF28 80241788 0C048D70 */ jal free_generic_entity
/* E0FF2C 8024178C 00000000 */ nop
/* E0FF30 80241790 0C00AB4B */ jal heap_free
/* E0FF34 80241794 0200202D */ daddu $a0, $s0, $zero
/* E0FF38 80241798 24020001 */ addiu $v0, $zero, 1
.L8024179C:
/* E0FF3C 8024179C 8FBF001C */ lw $ra, 0x1c($sp)
/* E0FF40 802417A0 8FB20018 */ lw $s2, 0x18($sp)
/* E0FF44 802417A4 8FB10014 */ lw $s1, 0x14($sp)
/* E0FF48 802417A8 8FB00010 */ lw $s0, 0x10($sp)
/* E0FF4C 802417AC 03E00008 */ jr $ra
/* E0FF50 802417B0 27BD0020 */ addiu $sp, $sp, 0x20
/* E0FF54 802417B4 00000000 */ nop
/* E0FF58 802417B8 00000000 */ nop
/* E0FF5C 802417BC 00000000 */ nop

View File

@ -1,146 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_802435B0_E15D10
.double -95.0
dlabel D_802435B8_E15D18
.double 95.0
dlabel D_802435C0_E15D20
.double -0.35
dlabel D_802435C8_E15D28
.double 0.3
dlabel D_802435D0_E15D30
.double 0.35
dlabel D_802435D8_E15D38
.double 0.8
.section .text
glabel func_80240000_E12760
/* E12760 80240000 27BDFFC8 */ addiu $sp, $sp, -0x38
/* E12764 80240004 AFB10014 */ sw $s1, 0x14($sp)
/* E12768 80240008 3C11800F */ lui $s1, %hi(gPlayerStatusPtr)
/* E1276C 8024000C 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr)
/* E12770 80240010 AFBF0018 */ sw $ra, 0x18($sp)
/* E12774 80240014 AFB00010 */ sw $s0, 0x10($sp)
/* E12778 80240018 F7B80030 */ sdc1 $f24, 0x30($sp)
/* E1277C 8024001C F7B60028 */ sdc1 $f22, 0x28($sp)
/* E12780 80240020 F7B40020 */ sdc1 $f20, 0x20($sp)
/* E12784 80240024 8E260000 */ lw $a2, ($s1)
/* E12788 80240028 C4C40028 */ lwc1 $f4, 0x28($a2)
/* E1278C 8024002C 3C018024 */ lui $at, %hi(D_802435B0_E15D10)
/* E12790 80240030 D42235B0 */ ldc1 $f2, %lo(D_802435B0_E15D10)($at)
/* E12794 80240034 46002021 */ cvt.d.s $f0, $f4
/* E12798 80240038 4622003C */ c.lt.d $f0, $f2
/* E1279C 8024003C 00000000 */ nop
/* E127A0 80240040 45000003 */ bc1f .L80240050
/* E127A4 80240044 0080802D */ daddu $s0, $a0, $zero
/* E127A8 80240048 3C01C2BE */ lui $at, 0xc2be
/* E127AC 8024004C 44812000 */ mtc1 $at, $f4
.L80240050:
/* E127B0 80240050 3C018024 */ lui $at, %hi(D_802435B8_E15D18)
/* E127B4 80240054 D42235B8 */ ldc1 $f2, %lo(D_802435B8_E15D18)($at)
/* E127B8 80240058 46002021 */ cvt.d.s $f0, $f4
/* E127BC 8024005C 4620103C */ c.lt.d $f2, $f0
/* E127C0 80240060 00000000 */ nop
/* E127C4 80240064 45000003 */ bc1f .L80240074
/* E127C8 80240068 00000000 */ nop
/* E127CC 8024006C 3C0142BE */ lui $at, 0x42be
/* E127D0 80240070 44812000 */ mtc1 $at, $f4
.L80240074:
/* E127D4 80240074 C4D80030 */ lwc1 $f24, 0x30($a2)
/* E127D8 80240078 3C01C054 */ lui $at, 0xc054
/* E127DC 8024007C 44811800 */ mtc1 $at, $f3
/* E127E0 80240080 44801000 */ mtc1 $zero, $f2
/* E127E4 80240084 4600C021 */ cvt.d.s $f0, $f24
/* E127E8 80240088 4622003C */ c.lt.d $f0, $f2
/* E127EC 8024008C 00000000 */ nop
/* E127F0 80240090 45000003 */ bc1f .L802400A0
/* E127F4 80240094 00000000 */ nop
/* E127F8 80240098 3C01C2A0 */ lui $at, 0xc2a0
/* E127FC 8024009C 4481C000 */ mtc1 $at, $f24
.L802400A0:
/* E12800 802400A0 3C014054 */ lui $at, 0x4054
/* E12804 802400A4 44811800 */ mtc1 $at, $f3
/* E12808 802400A8 44801000 */ mtc1 $zero, $f2
/* E1280C 802400AC 4600C021 */ cvt.d.s $f0, $f24
/* E12810 802400B0 4620103C */ c.lt.d $f2, $f0
/* E12814 802400B4 00000000 */ nop
/* E12818 802400B8 45000003 */ bc1f .L802400C8
/* E1281C 802400BC 00000000 */ nop
/* E12820 802400C0 3C0142A0 */ lui $at, 0x42a0
/* E12824 802400C4 4481C000 */ mtc1 $at, $f24
.L802400C8:
/* E12828 802400C8 3C018024 */ lui $at, %hi(D_802435C0_E15D20)
/* E1282C 802400CC D42035C0 */ ldc1 $f0, %lo(D_802435C0_E15D20)($at)
/* E12830 802400D0 4600C521 */ cvt.d.s $f20, $f24
/* E12834 802400D4 4620A502 */ mul.d $f20, $f20, $f0
/* E12838 802400D8 00000000 */ nop
/* E1283C 802400DC 3C018024 */ lui $at, %hi(D_802435C8_E15D28)
/* E12840 802400E0 D42035C8 */ ldc1 $f0, %lo(D_802435C8_E15D28)($at)
/* E12844 802400E4 4620A502 */ mul.d $f20, $f20, $f0
/* E12848 802400E8 00000000 */ nop
/* E1284C 802400EC 3C018024 */ lui $at, %hi(D_802435D0_E15D30)
/* E12850 802400F0 D42035D0 */ ldc1 $f0, %lo(D_802435D0_E15D30)($at)
/* E12854 802400F4 460025A1 */ cvt.d.s $f22, $f4
/* E12858 802400F8 4620B582 */ mul.d $f22, $f22, $f0
/* E1285C 802400FC 00000000 */ nop
/* E12860 80240100 0200202D */ daddu $a0, $s0, $zero
/* E12864 80240104 3C05FE36 */ lui $a1, 0xfe36
/* E12868 80240108 34A53C80 */ ori $a1, $a1, 0x3c80
/* E1286C 8024010C 44062000 */ mfc1 $a2, $f4
/* E12870 80240110 4620A520 */ cvt.s.d $f20, $f20
/* E12874 80240114 0C0B2190 */ jal evt_set_float_variable
/* E12878 80240118 4620B5A0 */ cvt.s.d $f22, $f22
/* E1287C 8024011C 0200202D */ daddu $a0, $s0, $zero
/* E12880 80240120 3C05FE36 */ lui $a1, 0xfe36
/* E12884 80240124 4406C000 */ mfc1 $a2, $f24
/* E12888 80240128 0C0B2190 */ jal evt_set_float_variable
/* E1288C 8024012C 34A53C81 */ ori $a1, $a1, 0x3c81
/* E12890 80240130 0200202D */ daddu $a0, $s0, $zero
/* E12894 80240134 3C05FE36 */ lui $a1, 0xfe36
/* E12898 80240138 4406A000 */ mfc1 $a2, $f20
/* E1289C 8024013C 0C0B2190 */ jal evt_set_float_variable
/* E128A0 80240140 34A53C82 */ ori $a1, $a1, 0x3c82
/* E128A4 80240144 0200202D */ daddu $a0, $s0, $zero
/* E128A8 80240148 3C05FE36 */ lui $a1, 0xfe36
/* E128AC 8024014C 4406B000 */ mfc1 $a2, $f22
/* E128B0 80240150 0C0B2190 */ jal evt_set_float_variable
/* E128B4 80240154 34A53C83 */ ori $a1, $a1, 0x3c83
/* E128B8 80240158 8E230000 */ lw $v1, ($s1)
/* E128BC 8024015C C4600028 */ lwc1 $f0, 0x28($v1)
/* E128C0 80240160 3C018024 */ lui $at, %hi(D_802435D8_E15D38)
/* E128C4 80240164 D42235D8 */ ldc1 $f2, %lo(D_802435D8_E15D38)($at)
/* E128C8 80240168 46000021 */ cvt.d.s $f0, $f0
/* E128CC 8024016C 46220002 */ mul.d $f0, $f0, $f2
/* E128D0 80240170 00000000 */ nop
/* E128D4 80240174 3C028015 */ lui $v0, %hi(D_80151328)
/* E128D8 80240178 8C421328 */ lw $v0, %lo(D_80151328)($v0)
/* E128DC 8024017C 3C0142A0 */ lui $at, 0x42a0
/* E128E0 80240180 44811000 */ mtc1 $at, $f2
/* E128E4 80240184 00000000 */ nop
/* E128E8 80240188 E442000C */ swc1 $f2, 0xc($v0)
/* E128EC 8024018C 3C014248 */ lui $at, 0x4248
/* E128F0 80240190 44811000 */ mtc1 $at, $f2
/* E128F4 80240194 46200020 */ cvt.s.d $f0, $f0
/* E128F8 80240198 E4400008 */ swc1 $f0, 8($v0)
/* E128FC 8024019C C4600030 */ lwc1 $f0, 0x30($v1)
/* E12900 802401A0 46020000 */ add.s $f0, $f0, $f2
/* E12904 802401A4 E4400010 */ swc1 $f0, 0x10($v0)
/* E12908 802401A8 8FBF0018 */ lw $ra, 0x18($sp)
/* E1290C 802401AC 8FB10014 */ lw $s1, 0x14($sp)
/* E12910 802401B0 8FB00010 */ lw $s0, 0x10($sp)
/* E12914 802401B4 D7B80030 */ ldc1 $f24, 0x30($sp)
/* E12918 802401B8 D7B60028 */ ldc1 $f22, 0x28($sp)
/* E1291C 802401BC D7B40020 */ ldc1 $f20, 0x20($sp)
/* E12920 802401C0 24020002 */ addiu $v0, $zero, 2
/* E12924 802401C4 03E00008 */ jr $ra
/* E12928 802401C8 27BD0038 */ addiu $sp, $sp, 0x38
/* E1292C 802401CC 00000000 */ nop

View File

@ -1,141 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802401D0_E12930
/* E12930 802401D0 27BDFFA0 */ addiu $sp, $sp, -0x60
/* E12934 802401D4 0000202D */ daddu $a0, $zero, $zero
/* E12938 802401D8 AFBF0058 */ sw $ra, 0x58($sp)
/* E1293C 802401DC AFB10054 */ sw $s1, 0x54($sp)
/* E12940 802401E0 0C00FB3A */ jal get_enemy
/* E12944 802401E4 AFB00050 */ sw $s0, 0x50($sp)
/* E12948 802401E8 2404FFFF */ addiu $a0, $zero, -1
/* E1294C 802401EC 8C430074 */ lw $v1, 0x74($v0)
/* E12950 802401F0 1464000B */ bne $v1, $a0, .L80240220
/* E12954 802401F4 8C510080 */ lw $s1, 0x80($v0)
/* E12958 802401F8 8E230014 */ lw $v1, 0x14($s1)
/* E1295C 802401FC 28620141 */ slti $v0, $v1, 0x141
/* E12960 80240200 1040006B */ beqz $v0, .L802403B0
/* E12964 80240204 2462000A */ addiu $v0, $v1, 0xa
/* E12968 80240208 AE220014 */ sw $v0, 0x14($s1)
/* E1296C 8024020C 28420142 */ slti $v0, $v0, 0x142
/* E12970 80240210 1440000C */ bnez $v0, .L80240244
/* E12974 80240214 24020141 */ addiu $v0, $zero, 0x141
/* E12978 80240218 08090091 */ j .L80240244
/* E1297C 8024021C AE220014 */ sw $v0, 0x14($s1)
.L80240220:
/* E12980 80240220 8E230014 */ lw $v1, 0x14($s1)
/* E12984 80240224 286200DD */ slti $v0, $v1, 0xdd
/* E12988 80240228 14400006 */ bnez $v0, .L80240244
/* E1298C 8024022C 2462FFF6 */ addiu $v0, $v1, -0xa
/* E12990 80240230 AE220014 */ sw $v0, 0x14($s1)
/* E12994 80240234 284200DC */ slti $v0, $v0, 0xdc
/* E12998 80240238 10400002 */ beqz $v0, .L80240244
/* E1299C 8024023C 240200DC */ addiu $v0, $zero, 0xdc
/* E129A0 80240240 AE220014 */ sw $v0, 0x14($s1)
.L80240244:
/* E129A4 80240244 8E220014 */ lw $v0, 0x14($s1)
/* E129A8 80240248 28420141 */ slti $v0, $v0, 0x141
/* E129AC 8024024C 10400058 */ beqz $v0, .L802403B0
/* E129B0 80240250 0000202D */ daddu $a0, $zero, $zero
/* E129B4 80240254 24050009 */ addiu $a1, $zero, 9
/* E129B8 80240258 24020048 */ addiu $v0, $zero, 0x48
/* E129BC 8024025C AFA20014 */ sw $v0, 0x14($sp)
/* E129C0 80240260 24020014 */ addiu $v0, $zero, 0x14
/* E129C4 80240264 AFA20018 */ sw $v0, 0x18($sp)
/* E129C8 80240268 240200FF */ addiu $v0, $zero, 0xff
/* E129CC 8024026C AFA2001C */ sw $v0, 0x1c($sp)
/* E129D0 80240270 24020140 */ addiu $v0, $zero, 0x140
/* E129D4 80240274 AFA20044 */ sw $v0, 0x44($sp)
/* E129D8 80240278 240200F0 */ addiu $v0, $zero, 0xf0
/* E129DC 8024027C AFA00010 */ sw $zero, 0x10($sp)
/* E129E0 80240280 AFA00020 */ sw $zero, 0x20($sp)
/* E129E4 80240284 AFA00024 */ sw $zero, 0x24($sp)
/* E129E8 80240288 AFA00028 */ sw $zero, 0x28($sp)
/* E129EC 8024028C AFA0002C */ sw $zero, 0x2c($sp)
/* E129F0 80240290 AFA00030 */ sw $zero, 0x30($sp)
/* E129F4 80240294 AFA00034 */ sw $zero, 0x34($sp)
/* E129F8 80240298 AFA00038 */ sw $zero, 0x38($sp)
/* E129FC 8024029C AFA0003C */ sw $zero, 0x3c($sp)
/* E12A00 802402A0 AFA00040 */ sw $zero, 0x40($sp)
/* E12A04 802402A4 AFA20048 */ sw $v0, 0x48($sp)
/* E12A08 802402A8 AFA0004C */ sw $zero, 0x4c($sp)
/* E12A0C 802402AC 8E260014 */ lw $a2, 0x14($s1)
/* E12A10 802402B0 0C03D4B8 */ jal draw_box
/* E12A14 802402B4 2407001C */ addiu $a3, $zero, 0x1c
/* E12A18 802402B8 24060027 */ addiu $a2, $zero, 0x27
/* E12A1C 802402BC 8E300004 */ lw $s0, 4($s1)
/* E12A20 802402C0 8E250014 */ lw $a1, 0x14($s1)
/* E12A24 802402C4 0200202D */ daddu $a0, $s0, $zero
/* E12A28 802402C8 0C051261 */ jal hud_element_set_render_pos
/* E12A2C 802402CC 24A5000F */ addiu $a1, $a1, 0xf
/* E12A30 802402D0 0C0511EA */ jal hud_element_draw_clipped
/* E12A34 802402D4 0200202D */ daddu $a0, $s0, $zero
/* E12A38 802402D8 8E24000C */ lw $a0, 0xc($s1)
/* E12A3C 802402DC 8E230010 */ lw $v1, 0x10($s1)
/* E12A40 802402E0 0064102A */ slt $v0, $v1, $a0
/* E12A44 802402E4 10400003 */ beqz $v0, .L802402F4
/* E12A48 802402E8 0083102A */ slt $v0, $a0, $v1
/* E12A4C 802402EC 080900E1 */ j .L80240384
/* E12A50 802402F0 AE23000C */ sw $v1, 0xc($s1)
.L802402F4:
/* E12A54 802402F4 10400023 */ beqz $v0, .L80240384
/* E12A58 802402F8 00641823 */ subu $v1, $v1, $a0
/* E12A5C 802402FC 28620065 */ slti $v0, $v1, 0x65
/* E12A60 80240300 14400003 */ bnez $v0, .L80240310
/* E12A64 80240304 2862004C */ slti $v0, $v1, 0x4c
/* E12A68 80240308 080900DB */ j .L8024036C
/* E12A6C 8024030C 24820028 */ addiu $v0, $a0, 0x28
.L80240310:
/* E12A70 80240310 14400003 */ bnez $v0, .L80240320
/* E12A74 80240314 28620033 */ slti $v0, $v1, 0x33
/* E12A78 80240318 080900DB */ j .L8024036C
/* E12A7C 8024031C 24820023 */ addiu $v0, $a0, 0x23
.L80240320:
/* E12A80 80240320 14400003 */ bnez $v0, .L80240330
/* E12A84 80240324 2862001F */ slti $v0, $v1, 0x1f
/* E12A88 80240328 080900DB */ j .L8024036C
/* E12A8C 8024032C 2482001E */ addiu $v0, $a0, 0x1e
.L80240330:
/* E12A90 80240330 14400003 */ bnez $v0, .L80240340
/* E12A94 80240334 28620015 */ slti $v0, $v1, 0x15
/* E12A98 80240338 080900DB */ j .L8024036C
/* E12A9C 8024033C 24820014 */ addiu $v0, $a0, 0x14
.L80240340:
/* E12AA0 80240340 14400003 */ bnez $v0, .L80240350
/* E12AA4 80240344 2862000B */ slti $v0, $v1, 0xb
/* E12AA8 80240348 080900DB */ j .L8024036C
/* E12AAC 8024034C 2482000A */ addiu $v0, $a0, 0xa
.L80240350:
/* E12AB0 80240350 14400003 */ bnez $v0, .L80240360
/* E12AB4 80240354 28620006 */ slti $v0, $v1, 6
/* E12AB8 80240358 080900DB */ j .L8024036C
/* E12ABC 8024035C 24820005 */ addiu $v0, $a0, 5
.L80240360:
/* E12AC0 80240360 14400002 */ bnez $v0, .L8024036C
/* E12AC4 80240364 24820001 */ addiu $v0, $a0, 1
/* E12AC8 80240368 24820002 */ addiu $v0, $a0, 2
.L8024036C:
/* E12ACC 8024036C AE22000C */ sw $v0, 0xc($s1)
/* E12AD0 80240370 24040211 */ addiu $a0, $zero, 0x211
/* E12AD4 80240374 0000282D */ daddu $a1, $zero, $zero
/* E12AD8 80240378 24060040 */ addiu $a2, $zero, 0x40
/* E12ADC 8024037C 0C0526AE */ jal sfx_play_sound_with_params
/* E12AE0 80240380 24070032 */ addiu $a3, $zero, 0x32
.L80240384:
/* E12AE4 80240384 24060020 */ addiu $a2, $zero, 0x20
/* E12AE8 80240388 24070001 */ addiu $a3, $zero, 1
/* E12AEC 8024038C 8E250014 */ lw $a1, 0x14($s1)
/* E12AF0 80240390 240200FF */ addiu $v0, $zero, 0xff
/* E12AF4 80240394 AFA20014 */ sw $v0, 0x14($sp)
/* E12AF8 80240398 24020003 */ addiu $v0, $zero, 3
/* E12AFC 8024039C AFA00010 */ sw $zero, 0x10($sp)
/* E12B00 802403A0 AFA20018 */ sw $v0, 0x18($sp)
/* E12B04 802403A4 8E24000C */ lw $a0, 0xc($s1)
/* E12B08 802403A8 0C049DA7 */ jal draw_number
/* E12B0C 802403AC 24A5003F */ addiu $a1, $a1, 0x3f
.L802403B0:
/* E12B10 802403B0 8FBF0058 */ lw $ra, 0x58($sp)
/* E12B14 802403B4 8FB10054 */ lw $s1, 0x54($sp)
/* E12B18 802403B8 8FB00050 */ lw $s0, 0x50($sp)
/* E12B1C 802403BC 03E00008 */ jr $ra
/* E12B20 802403C0 27BD0060 */ addiu $sp, $sp, 0x60

Some files were not shown because too many files have changed in this diff Show More