Engine cod (#738)

* a couplez

* func & data cleaning

* sig

* move data and fix nonmatching

* Finish 17D6A0

* Don't use backticks in progress.py

* func_8025995C and clean

* 2 sprite funcs and cleanup

* 3 sprite funcs

* gather_magic_main

* 3 sprite funcs

* more sprite work and cleanup

* sprite funcs

* more clean

* UnkFloatFunc005

* warnings

* cleaning and os stuff

* 2 more funcs + warnings

* yaml work, move map data metadata to separate yml file

* apply_transform_to_children

* cleaningz

* PR comment
This commit is contained in:
Ethan Roseman 2022-07-08 08:57:08 -04:00 committed by GitHub
parent ea64a774fc
commit d31e0b8936
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
96 changed files with 4825 additions and 9292 deletions

View File

@ -122,6 +122,26 @@ typedef struct {
#define PFS_ERR_NO_GBCART 12 /* no gb cartridge (64GB-PAK) */
#define PFS_ERR_NEW_GBCART 13 /* gb cartridge may be changed */
/* Definition for bank */
#define PFS_ID_BANK_256K 0
#define PFS_ID_BANK_1M 4
#define PFS_BANKS_256K 1
#define PFS_WRITTEN 2
#define DEF_DIR_PAGES 2
#define PFS_ID_0AREA 1
#define PFS_ID_1AREA 3
#define PFS_ID_2AREA 4
#define PFS_ID_3AREA 6
#define PFS_LABEL_AREA 7
#define PFS_ID_PAGE PFS_ONE_PAGE * 0
#define PFS_BANK_LAPPED_BY 8 /* => u8 */
#define PFS_SECTOR_PER_BANK 32
#define PFS_INODE_DIST_MAP (PFS_BANK_LAPPED_BY * PFS_SECTOR_PER_BANK)
#define PFS_SECTOR_SIZE (PFS_INODE_SIZE_PER_PAGE/PFS_SECTOR_PER_BANK)
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)

View File

@ -322,7 +322,7 @@ typedef struct Trigger {
/* */ f32 varTableF[3];
/* */ void* varTablePtr[3];
/* */ };
/* 0x28 */ s32 itemList;
/* 0x28 */ s32* itemList;
/* 0x2C */ s32 unk_tr_2C; // related to Goombario somehow, custom tattle perhaps?
/* 0x30 */ u8 hasPlayerInteractPrompt;
/* 0x31 */ char unk_31[3];
@ -1736,7 +1736,7 @@ typedef struct DecorationTable {
/* 0x6CD */ s8 numPalettes;
/* 0x6CE */ char unk_6CE[2];
/* 0x6D0 */ u16** palettes;
/* 0x6D4 */ u16* unk_6D4[27];
/* 0x6D4 */ s16* unk_6D4[27];
/* 0x740 */ s16 unk_740;
/* 0x742 */ s16 unk_742;
/* 0x744 */ s16 unk_744;
@ -1755,8 +1755,8 @@ typedef struct DecorationTable {
/* 0x767 */ s8 unk_767;
/* 0x768 */ u8 unk_768;
/* 0x769 */ char unk_769[3];
/* 0x76C */ s16 unk_76C[16];
/* 0x78C */ char unk_78C[76];
/* 0x76C */ s16* unk_76C[16];
/* 0x78C */ char unk_7AC[0x2C];
/* 0x7D8 */ s8 unk_7D8;
/* 0x7D9 */ s8 unk_7D9;
/* 0x7DA */ char unk_7DA;
@ -2380,11 +2380,11 @@ typedef struct Message {
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
/* 0x44 */ s32 unk_44;
/* 0x48 */ char unk_48[0x4];
/* 0x48 */ f32 unk_48;
} Message; // size = 0x4C
struct PopupMessage;
typedef void (*PopupMessageCallback)(struct PopupMessage* popup);
typedef void (*PopupMessageCallback)(void* popup);
typedef struct PopupMessage {
/* 0x00 */ s32 unk_00;
/* 0x04 */ PopupMessageCallback updateFunc;
@ -2453,7 +2453,7 @@ typedef struct FoldImageRecPart {
/* 0x0A */ u16 height;
/* 0x0C */ s16 xOffset;
/* 0x0E */ s16 yOffset;
/* 0x10 */ u8 unk_10; // alpha?
/* 0x10 */ u8 opacity; // alpha?
/* 0x11 */ char unk_11[0x7];
} FoldImageRecPart; // size = 0x18

257
include/controller.h Executable file
View File

@ -0,0 +1,257 @@
#ifndef _CONTROLLER_H
#define _CONTROLLER_H
#include "PR/os_internal.h"
#include "PR/rcp.h"
//should go somewhere else but
#define ARRLEN(x) ((s32)(sizeof(x) / sizeof(x[0])))
#define CHNL_ERR(format) (((format).rxsize & CHNL_ERR_MASK) >> 4)
typedef struct
{
/* 0x0 */ u32 ramarray[15];
/* 0x3C */ u32 pifstatus;
} OSPifRam;
typedef struct
{
/* 0x0 */ u8 dummy;
/* 0x1 */ u8 txsize;
/* 0x2 */ u8 rxsize;
/* 0x3 */ u8 cmd;
/* 0x4 */ u16 button;
/* 0x6 */ s8 stick_x;
/* 0x7 */ s8 stick_y;
} __OSContReadFormat;
typedef struct
{
/* 0x0 */ u8 dummy;
/* 0x1 */ u8 txsize;
/* 0x2 */ u8 rxsize;
/* 0x3 */ u8 cmd;
/* 0x4 */ u8 typeh;
/* 0x5 */ u8 typel;
/* 0x6 */ u8 status;
/* 0x7 */ u8 dummy1;
} __OSContRequesFormat;
typedef struct
{
/* 0x0 */ u8 txsize;
/* 0x1 */ u8 rxsize;
/* 0x2 */ u8 cmd;
/* 0x3 */ u8 typeh;
/* 0x4 */ u8 typel;
/* 0x5 */ u8 status;
} __OSContRequesFormatShort;
typedef struct
{
/* 0x0 */ u8 dummy;
/* 0x1 */ u8 txsize;
/* 0x2 */ u8 rxsize;
/* 0x3 */ u8 cmd;
/* 0x4 */ u8 addrh;
/* 0x5 */ u8 addrl;
/* 0x6 */ u8 data[BLOCKSIZE];
/* 0x26 */ u8 datacrc;
} __OSContRamReadFormat;
typedef union {
/* 0x0 */ struct
{
/* 0x0 */ u8 bank;
/* 0x1 */ u8 page;
} inode_t;
/* 0x0 */ u16 ipage;
} __OSInodeUnit;
typedef struct
{
/* 0x0 */ u32 game_code;
/* 0x4 */ u16 company_code;
/* 0x6 */ __OSInodeUnit start_page;
/* 0x8 */ u8 status;
/* 0x9 */ s8 reserved;
/* 0xA */ u16 data_sum;
/* 0xC */ u8 ext_name[PFS_FILE_EXT_LEN];
/* 0x10 */ u8 game_name[PFS_FILE_NAME_LEN];
} __OSDir;
typedef struct
{
/* 0x0 */ __OSInodeUnit inode_page[128];
} __OSInode;
typedef struct
{
/* 0x0 */ u32 repaired;
/* 0x4 */ u32 random;
/* 0x8 */ u64 serial_mid;
/* 0x10 */ u64 serial_low;
/* 0x18 */ u16 deviceid;
/* 0x1A */ u8 banks;
/* 0x1B */ u8 version;
/* 0x1C */ u16 checksum;
/* 0x1E */ u16 inverted_checksum;
} __OSPackId;
typedef struct
{
/* 0x0 */ u8 txsize;
/* 0x1 */ u8 rxsize;
/* 0x2 */ u8 cmd;
/* 0x3 */ u8 address;
/* 0x4 */ u8 data[EEPROM_BLOCK_SIZE];
} __OSContEepromFormat;
// Joybus commands
//from: http://en64.shoutwiki.com/wiki/SI_Registers_Detailed#CONT_CMD_Usage
#define CONT_CMD_REQUEST_STATUS 0
#define CONT_CMD_READ_BUTTON 1
#define CONT_CMD_READ_PAK 2
#define CONT_CMD_WRITE_PAK 3
#define CONT_CMD_READ_EEPROM 4
#define CONT_CMD_WRITE_EEPROM 5
#define CONT_CMD_READ36_VOICE 9
#define CONT_CMD_WRITE20_VOICE 10
#define CONT_CMD_READ2_VOICE 11
#define CONT_CMD_WRITE4_VOICE 12
#define CONT_CMD_SWRITE_VOICE 13
#define CONT_CMD_CHANNEL_RESET 0xFD
#define CONT_CMD_RESET 0xFF
// Bytes transmitted for each joybus command
#define CONT_CMD_REQUEST_STATUS_TX 1
#define CONT_CMD_READ_BUTTON_TX 1
#define CONT_CMD_READ_PAK_TX 3
#define CONT_CMD_WRITE_PAK_TX 35
#define CONT_CMD_READ_EEPROM_TX 2
#define CONT_CMD_WRITE_EEPROM_TX 10
#define CONT_CMD_READ36_VOICE_TX 3
#define CONT_CMD_WRITE20_VOICE_TX 23
#define CONT_CMD_READ2_VOICE_TX 3
#define CONT_CMD_WRITE4_VOICE_TX 7
#define CONT_CMD_SWRITE_VOICE_TX 3
#define CONT_CMD_RESET_TX 1
// Bytes received for each joybus command
#define CONT_CMD_REQUEST_STATUS_RX 3
#define CONT_CMD_READ_BUTTON_RX 4
#define CONT_CMD_READ_PAK_RX 33
#define CONT_CMD_WRITE_PAK_RX 1
#define CONT_CMD_READ_EEPROM_RX 8
#define CONT_CMD_WRITE_EEPROM_RX 1
#define CONT_CMD_READ36_VOICE_RX 37
#define CONT_CMD_WRITE20_VOICE_RX 1
#define CONT_CMD_READ2_VOICE_RX 3
#define CONT_CMD_WRITE4_VOICE_RX 1
#define CONT_CMD_SWRITE_VOICE_RX 1
#define CONT_CMD_RESET_RX 3
#define CONT_CMD_NOP 0xff
#define CONT_CMD_END 0xfe //indicates end of a command
#define CONT_CMD_EXE 1 //set pif ram status byte to this to do a command
#define DIR_STATUS_EMPTY 0
#define DIR_STATUS_UNKNOWN 1
#define DIR_STATUS_OCCUPIED 2
// Controller accessory addresses
// https://github.com/joeldipops/TransferBoy/blob/master/docs/TransferPakReference.md
// Accesory detection
#define CONT_ADDR_DETECT 0x8000
// Rumble
#define CONT_ADDR_RUMBLE 0xC000
// Controller Pak
// Transfer Pak
#define CONT_ADDR_GB_POWER 0x8000 // Same as the detection address, but semantically different
#define CONT_ADDR_GB_BANK 0xA000
#define CONT_ADDR_GB_STATUS 0xB000
// Addresses sent to controller accessories are in blocks, not bytes
#define CONT_BLOCKS(x) ((x) / BLOCKSIZE)
// Block addresses of the above
#define CONT_BLOCK_DETECT CONT_BLOCKS(CONT_ADDR_DETECT)
#define CONT_BLOCK_RUMBLE CONT_BLOCKS(CONT_ADDR_RUMBLE)
#define CONT_BLOCK_GB_POWER CONT_BLOCKS(CONT_ADDR_GB_POWER)
#define CONT_BLOCK_GB_BANK CONT_BLOCKS(CONT_ADDR_GB_BANK)
#define CONT_BLOCK_GB_STATUS CONT_BLOCKS(CONT_ADDR_GB_STATUS)
// Transfer pak
#define GB_POWER_ON 0x84
#define GB_POWER_OFF 0xFE
typedef struct
{
/* 0x0 */ __OSInode inode;
/* 0x100 */ u8 bank;
/* 0x101 */ u8 map[PFS_INODE_DIST_MAP];
} __OSInodeCache;
extern s32 __osEepStatus(OSMesgQueue *, OSContStatus *);
u16 __osSumcalc(u8 *ptr, int length);
s32 __osIdCheckSum(u16 *ptr, u16 *csum, u16 *icsum);
s32 __osRepairPackId(OSPfs *pfs, __OSPackId *badid, __OSPackId *newid);
s32 __osCheckPackId(OSPfs *pfs, __OSPackId *temp);
s32 __osGetId(OSPfs *pfs);
s32 __osCheckId(OSPfs *pfs);
s32 __osPfsRWInode(OSPfs *pfs, __OSInode *inode, u8 flag, u8 bank);
s32 __osPfsSelectBank(OSPfs *pfs, u8 bank);
s32 __osPfsDeclearPage(OSPfs *pfs, __OSInode *inode, int file_size_in_pages, int *first_page, u8 bank, int *decleared, int *last_page);
s32 __osPfsReleasePages(OSPfs *pfs, __OSInode *inode, u8 start_page, u8 bank, __OSInodeUnit *last_page);
s32 __osBlockSum(OSPfs *pfs, u8 page_no, u16 *sum, u8 bank);
s32 __osContRamRead(OSMesgQueue *mq, int channel, u16 address, u8 *buffer);
s32 __osContRamWrite(OSMesgQueue *mq, int channel, u16 address, u8 *buffer, int force);
void __osContGetInitData(u8 *pattern, OSContStatus *data);
void __osPackRequestData(u8 cmd);
void __osPfsRequestData(u8 cmd);
void __osPfsGetInitData(u8* pattern, OSContStatus* data);
u8 __osContAddressCrc(u16 addr);
u8 __osContDataCrc(u8 *data);
s32 __osPfsGetStatus(OSMesgQueue *queue, int channel);
extern u8 __osContLastCmd;
extern OSTimer __osEepromTimer;
extern OSMesg __osEepromTimerMsg;
extern OSMesgQueue __osEepromTimerQ;
extern OSPifRam __osEepPifRam;
extern OSPifRam __osContPifRam;
extern OSPifRam __osPfsPifRam;
extern u8 __osMaxControllers;
//some version of this almost certainly existed since there's plenty of times where it's used right before a return 0
#define ERRCK(fn) \
ret = fn; \
if (ret != 0) \
return ret;
#define SET_ACTIVEBANK_TO_ZERO \
if (pfs->activebank != 0) \
{ \
ERRCK(__osPfsSelectBank(pfs, 0)) \
}
#define PFS_CHECK_ID \
if (__osCheckId(pfs) == PFS_ERR_NEW_PACK) \
return PFS_ERR_NEW_PACK;
#define PFS_CHECK_STATUS \
if ((pfs->status & PFS_INITIALIZED) == 0) \
return PFS_ERR_INVALID;
#define PFS_GET_STATUS \
__osSiGetAccess(); \
ret = __osPfsGetStatus(queue, channel); \
__osSiRelAccess(); \
if (ret != 0) \
return ret;
#endif

View File

@ -690,6 +690,27 @@ typedef struct HuffPuffBreathFXData {
/* 0x30 */ s32 unk_30;
} HuffPuffBreathFXData; // size = ?
typedef struct GatherMagicFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ char unk_28[0x4];
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
} GatherMagicFXData;
typedef struct LightningBoltFXData {
/* 0x00 */ char unk_00[0xC];
/* 0x0C */ f32 unk_0C;

View File

@ -99,7 +99,7 @@ FX_MAIN(firework_main);
FX_MAIN(confetti_main);
FX_MAIN(snowfall_main);
FX_MAIN(fx_46_main);
FX_MAIN(gather_magic_main);
EffectInstance* gather_magic_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* attack_result_text_main(s32, f32, f32, f32, f32, s32);
EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32);
FX_MAIN(flashing_box_shockwave_main);

View File

@ -182,6 +182,7 @@ s32 dispatch_damage_event_actor_0(Actor* actor, s32 damageAmount, s32 event);
// Text
MessagePrintState* msg_get_printer_for_msg(s32 msgID, s32* a1);
s32 msg_printer_load_msg(s32 msgID, MessagePrintState* printer);
void msg_printer_set_origin_pos(MessagePrintState* msgPrintState, s32 x, s32 y);
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32* screenX, s32* screenY, s32* screenZ);
@ -201,7 +202,7 @@ Npc* peach_make_disguise_npc(s32 peachDisguise);
void peach_set_disguise_anim(s32);
s32 draw_box(s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(s32),
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(void*),
void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, f32 (*outMtx)[4]);
s32 get_msg_width(s32 msgID, u16 charset);
@ -427,6 +428,10 @@ void partner_set_tether_distance(f32);
void btl_delete_player_actor(Actor* player);
s32 cancel_message(MessagePrintState* msgPrintState);
void set_message_images(MessageImageData* images);
void kill_all_scripts(void);
s32 does_script_exist(s32 id);
s32 does_script_exist_by_ref(Evt* script);
@ -435,6 +440,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
f32 get_player_normal_yaw(void);
void set_standard_shadow_scale(Shadow* shadow, f32 scale);
void set_npc_shadow_scale(Shadow* shadow, f32 height, f32 npcRadius);
void set_npc_animation(Npc* npc, u32 animID);
void set_peach_shadow_scale(Shadow* shadow, f32 scale);
s32 is_block_on_ground(Entity* block);
void set_animation(s32 actorID, s32, s32 animationIndex);
@ -467,6 +473,13 @@ void set_entity_fog_dist(s32 start, s32 end);
void set_entity_fog_color(s32 r, s32 g, s32 b, s32 a);
struct ModelTransformGroup* get_transform_group(s32 index);
void make_transform_group(u16 modelID);
void enable_transform_group(u16 modelID);
void disable_transform_group(u16 modelID);
void set_map_transition_effect(s32);
void set_tex_panner(struct Model* model, s32 texPannerID);
void set_custom_gfx(s32 customGfxIndex, Gfx* pre, Gfx* post);
s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 facingAngleSign,
s32 pickupVar);
@ -508,7 +521,9 @@ s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s1
void bgm_set_battle_song(s32, s32);
void bgm_push_battle_song(void);
void func_801497FC(s32 arg0);
s32 func_8014A964(s32 playerIndex, s32 songID, s32 variation, s32 fadeInTime, s16 arg4, s16 arg5);
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);
s32 func_8014AB0C(s32 playerIndex, s16 arg1);
void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
@ -581,6 +596,15 @@ void bgm_reset_sequence_players(void);
void reset_ambient_sounds(void);
void sfx_clear_sounds(void);
void poll_rumble(void);
void bgm_pop_song(void);
void bgm_push_song(s32 songID, s32 variation);
void bgm_pop_battle_song(void);
s32 play_ambient_sounds(s32 fadeInTime, s32 fadeOutTime);
s32 get_fortress_key_count(void);
s32 subtract_fortress_keys(s32 amt);
s32 add_star_points(s32 amt);
s32 add_star_pieces(s32 amt);
s32 make_item_entity_at_player(s32 itemID, s32 arg1, s32 pickupMsgFlags);
void set_action_state(s32 actionState);
s32 get_collider_type_by_id(s32 colliderID);
@ -1010,7 +1034,7 @@ s32 check_conversation_trigger(void);
void clear_player_status(void);
void clear_entity_models(void);
void bind_entity_model_setupGfx(s32 idx, s32 setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*));
void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*));
void clear_animator_list(void);
void clear_model_data(void);
void clear_sprite_shading_data(void);

View File

@ -47,9 +47,7 @@ if cat /etc/os-release | grep -E 'ID=debian|ID_LIKE=(.*)debian' &> /dev/null; th
echo "Installing packages for Debian or derivative (apt)"
# Add i386 arch for wine32
# sudo dpkg --add-architecture i386
${SUDO} apt install -y curl git python3 python3-pip python3-setuptools build-essential binutils-mips-linux-gnu zlib1g-dev libyaml-dev ninja-build cpp-mips-linux-gnu gcc-multilib|| exit 1
${SUDO} apt install -y curl git python3 python3-pip python3-setuptools build-essential binutils-mips-linux-gnu zlib1g-dev libyaml-dev ninja-build cpp-mips-linux-gnu || exit 1
python3 -m pip install -U -r requirements.txt
if [[ $1 == "--extra" ]]; then

View File

@ -168,7 +168,7 @@ def main(args):
else:
s = "s"
print(f"This local build matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) over latest `{args.version}`.")
print(f"This local build matches {funcs_delta} function{s} (+{ ratio_delta:.2f}%) over latest '{args.version}'.")
if __name__ == "__main__":

View File

@ -1,19 +1,57 @@
#include "common.h"
#include "sprite.h"
#include "nu/nusys.h"
// TODO generate this somehow, or prevent it from shifting. must be resolved at compile time
#define SPRITE_ROM_START 0x1943000 + 0x10
typedef struct UnkSpr10 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ char unk_04[0xC];
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ void* unk_0C;
} UnkSpr10;
extern s32 D_802E004C;
extern s32 D_802E0050[];
extern s32 D_802E0C10;
extern s32 D_802E0C20[];
extern s32 D_802E0C58;
extern UnkSpr10 D_802E0C70[];
extern s32 D_802E0C5C;
extern s32 D_802E0C60[];
extern UnkSpr10 D_802E0C70[18];
INCLUDE_ASM(s32, "101b90_len_8f0", spr_swizzle_anim_offsets);
INCLUDE_ASM(s32, "101b90_len_8f0", spr_load_sprite);
INCLUDE_ASM(void, "101b90_len_8f0", spr_init_player_raster_cache, s32 cacheSize, s32 maxRasterSize);
void spr_init_player_raster_cache(s32 cacheSize, s32 maxRasterSize) {
void* var_a1;
s32 i;
nuPiReadRom(SPRITE_ROM_START, &D_802E0C60, 0xC);
D_802E0C58 = cacheSize;
D_802E0C5C = maxRasterSize;
D_802E0C60[0] += SPRITE_ROM_START;
D_802E0C60[1] += SPRITE_ROM_START;
D_802E0C60[2] += SPRITE_ROM_START;
var_a1 = _heap_malloc(&gSpriteHeapPtr, maxRasterSize * cacheSize);
for (i = 0; i < ARRAY_COUNT(D_802E0C70); i++) {
D_802E0C70[i].unk_0C = var_a1;
var_a1 += D_802E0C5C;
D_802E0C70[i].unk_00 = 0;
D_802E0C70[i].unk_04 = 0;
D_802E0C70[i].unk_08 = 0xFF;
}
for (i = 0; i < 13; i++) {
D_802E0050[i] = 0;
}
D_802E004C = 0;
nuPiReadRom(D_802E0C60[0], &D_802E0C10, 0xC);
nuPiReadRom(D_802E0C60[0] + D_802E0C10, D_802E0C20, 0x38);
}
INCLUDE_ASM(s32, "101b90_len_8f0", spr_get_player_raster);

View File

@ -12,16 +12,16 @@ void filemenu_draw_contents_copy_arrow(
s32 opacity, s32 darkening
);
extern s32 D_80241ECC;
extern HudScript D_80241ECC;
extern MenuPanel D_8024A098;
extern MenuPanel D_8024A114;
extern MenuPanel D_8024A158;
extern MenuPanel D_8024A1D8;
extern s32 D_8024BA60;
extern s32 D_8024BA98;
extern WindowStyleCustom D_8024BA60;
extern WindowStyleCustom D_8024BA98;
extern s32 D_8024C088;
s32* D_80249B80[] = { &D_80241ECC };
HudScript* D_80249B80[] = { &D_80241ECC };
MenuPanel* filemenu_menus[4] = { &D_8024A098, &D_8024A114, &D_8024A158, &D_8024A1D8 };
s32 D_80249B94 = SCREEN_WIDTH / 2;
s32 D_80249B98 = -SCREEN_HEIGHT / 2;
@ -56,12 +56,57 @@ Vp D_80249D60 = {
}
};
f32 D_80249D70[15] = { 7.0f, 12.5f, 13.0f, 14.5f, 14.0f, 13.0f, 11.5f, 9.5f, 7.5f, 5.5f, 3.5f, 2.0f, 1.0f, 0.5f, 0.0f };
s32 D_80249DAC[] = { 0x2C000010, 0x00180120, 0x00C00000, 0x00000000, 0x00000000, 0xFF000000, 0x00000001, 0x40000000, };
s32** D_80249DCC = &D_8024BA60;
s32 D_80249DD0[] = { 0x18000000, 0x00000120, 0x00C00000, filemenu_draw_contents_copy_arrow, 0x00000000,
0x2C000000, 0x00000001, 0x00000000, &D_8024BA98, 0x17000000, 0x00000140, 0x00F00000,
filemenu_draw_cursor, 0x00000000, 0xFF000000, 0x00000001, 0x00000000, &D_8024BA98, 0x00000000,
0x00000000, };
MenuWindowBP D_80249DAC[3] = {
{
.windowID = 0x2C,
.pos = {
.x = 16,
.y = 24,
},
.width = 288,
.height = 192,
.priority = 0,
.fpDrawContents = NULL,
.tab = NULL,
.parentID = -1,
.fpUpdate = { 1 },
.extraFlags = 0x40,
.style = { .customStyle = &D_8024BA60 },
},
{
.windowID = 0x18,
.pos = {
.x = 0,
.y = 0,
},
.width = 0x120,
.height = 0xC0,
.priority = 0,
.fpDrawContents = filemenu_draw_contents_copy_arrow,
.tab = NULL,
.parentID = 0x2C,
.fpUpdate = { 1} ,
.extraFlags = 0x00,
.style = { .customStyle = &D_8024BA98 },
},
{
.windowID = 0x17,
.pos = {
.x = 0,
.y = 0,
},
.width = 0x140,
.height = 0xF0,
.priority = 0,
.fpDrawContents = filemenu_draw_cursor,
.tab = NULL,
.parentID = -1,
.fpUpdate = { 1 },
.extraFlags = 0x00,
.style = { .customStyle = &D_8024BA98 },
},
};
extern Gfx D_8024B600[];
extern Gfx D_8024B6F0[];
@ -100,9 +145,9 @@ void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row) {
(menu->numCols * menu->row) + menu->col];
}
void filemenu_set_cursor_alpha(s32 arg0) {
filemenu_cursorGoalAlpha = arg0;
filemenu_cursorGoalAlpha2 = arg0;
void filemenu_set_cursor_alpha(s32 alpha) {
filemenu_cursorGoalAlpha = alpha;
filemenu_cursorGoalAlpha2 = alpha;
}
void filemenu_set_cursor_goal_pos(s32 windowID, s32 posX, s32 posY) {
@ -238,7 +283,7 @@ void filemenu_update(void) {
}
// TODO clean up bad match
menuIt = &filemenu_menus;
menuIt = filemenu_menus;
for (i = 0; i < ARRAY_COUNT(filemenu_menus); i++, menuIt++) {
menu = *menuIt;
if (menu->initialized && menu->fpUpdate != NULL) {
@ -812,11 +857,10 @@ void filemenu_draw_contents_copy_arrow(MenuPanel* menu, s32 baseX, s32 baseY, s3
}
}
// some reordering at the end
#ifdef NON_MATCHING
// TODO bad match, look into
void filemenu_init(s32 arg0) {
MenuPanel** panelIt;
MenuPanel* menu;
u32 temp_a2;
s32 i;
dma_copy(ui_images_ROM_START, ui_images_ROM_END, ui_images_VRAM);
@ -825,14 +869,15 @@ void filemenu_init(s32 arg0) {
hud_element_set_flags(filemenu_cursorHudElemID[i], HUD_ELEMENT_FLAGS_DROP_SHADOW | HUD_ELEMENT_FLAGS_80);
}
D_8024C088 = filemenu_cursorHudElemID[1];
if (arg0 == 0) {
*D_80249DCC = NULL;
D_8024C088 = filemenu_cursorHudElemID[0];
if (!arg0) {
D_80249DAC[0].style.customStyle->background.imgData = NULL; // ???
}
setup_pause_menu_tab(D_80249DAC, 3);
setup_pause_menu_tab(D_80249DAC, ARRAY_COUNT(D_80249DAC));
menu = filemenu_menus[0];
filemenu_8024C098 = 0;
if (arg0 == 0) {
if (!arg0) {
menu->page = 0;
} else {
menu->page = 2;
@ -859,16 +904,14 @@ void filemenu_init(s32 arg0) {
filemenu_set_selected(menu, (gGameStatusPtr->saveSlot & 1) * 2, gGameStatusPtr->saveSlot >> 1);
for (i = 0; i < ARRAY_COUNT(filemenu_menus); i++) {
if (filemenu_menus[i]->fpInit != NULL) {
filemenu_menus[i]->fpInit(filemenu_menus[i]);
panelIt = filemenu_menus;
for (i = 0; i < ARRAY_COUNT(filemenu_menus); i++, panelIt++) {
if ((*panelIt)->fpInit != NULL) {
(*panelIt)->fpInit((*panelIt));
}
}
update_window_hierarchy(0x17, 0x40);
}
#else
INCLUDE_ASM(void, "163400", filemenu_init);
#endif
// TODO bad match, look into
void filemenu_cleanup(void) {

View File

@ -6,7 +6,7 @@
extern HudScript* filemenu_hudElemScripts[14];
extern MenuWindowBP filemenu_windowBPs[14];
extern WindowStyleCustom D_8024BDA8[];
extern s8 D_8024C090;
void filemenu_draw_contents_title(
@ -799,7 +799,56 @@ void filemenu_main_handle_input(MenuPanel* menu) {
}
}
INCLUDE_ASM(s32, "165490", filemenu_main_update);
void filemenu_main_update(MenuPanel* menu) {
gWindowStyles[56].customStyle = &D_8024BDA8[0];
gWindowStyles[57].customStyle = &D_8024BDA8[0];
gWindowStyles[58].customStyle = &D_8024BDA8[0];
gWindowStyles[59].customStyle = &D_8024BDA8[0];
gWindowStyles[60].customStyle = &D_8024BDA8[2];
gWindowStyles[61].customStyle = &D_8024BDA8[2];
gWindowStyles[62].customStyle = &D_8024BDA8[2];
gWindowStyles[63].customStyle = &D_8024BDA8[2];
switch (menu->selected) {
case 0:
gWindowStyles[56].customStyle = &D_8024BDA8[1];
gWindowStyles[60].customStyle = &D_8024BDA8[3];
break;
case 1:
gWindowStyles[57].customStyle = &D_8024BDA8[1];
gWindowStyles[61].customStyle = &D_8024BDA8[3];
break;
case 2:
gWindowStyles[58].customStyle = &D_8024BDA8[1];
gWindowStyles[62].customStyle = &D_8024BDA8[3];
break;
case 3:
gWindowStyles[59].customStyle = &D_8024BDA8[1];
gWindowStyles[63].customStyle = &D_8024BDA8[3];
break;
}
if (filemenu_menus[0]->page == 4) {
switch (filemenu_loadedFileIdx) {
case 0:
gWindowStyles[56].customStyle = &D_8024BDA8[1];
gWindowStyles[60].customStyle = &D_8024BDA8[3];
return;
case 1:
gWindowStyles[57].customStyle = &D_8024BDA8[1];
gWindowStyles[61].customStyle = &D_8024BDA8[3];
return;
case 2:
gWindowStyles[58].customStyle = &D_8024BDA8[1];
gWindowStyles[62].customStyle = &D_8024BDA8[3];
return;
case 3:
gWindowStyles[59].customStyle = &D_8024BDA8[1];
gWindowStyles[63].customStyle = &D_8024BDA8[3];
return;
}
}
}
void filemenu_main_cleanup(void) {
s32 i;

View File

@ -127,6 +127,7 @@ void filemenu_draw_contents_file_create_header(MenuPanel* menu, s32 baseX, s32 b
}
}
void filemenu_draw_contents_choose_name(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening);
INCLUDE_ASM(s32, "168590", filemenu_draw_contents_choose_name);
void filemenu_choose_name_init(MenuPanel* menu) {

File diff suppressed because it is too large Load Diff

View File

@ -859,12 +859,12 @@ INCLUDE_ASM(s32, "182B30", func_80259494);
INCLUDE_ASM(s32, "182B30", func_8025950C);
void func_802596C0(ActorPart* part, s32 yaw, Matrix4f mtx) {
DecorationTable* temp_s2;
DecorationTable* decorationTable = part->decorationTable;
s32 opacity;
s32 idMask;
opacity = 255;
temp_s2 = part->decorationTable;
idMask = 0;
if (part->opacity < 255) {
@ -877,17 +877,40 @@ void func_802596C0(ActorPart* part, s32 yaw, Matrix4f mtx) {
opacity = (opacity * 120) / 255;
}
if (temp_s2->unk_768 != 0) {
if (decorationTable->unk_768 != 0) {
func_80259494(part);
spr_draw_npc_sprite(part->unk_84 | 0x20000000 | idMask, yaw, opacity, temp_s2->unk_76C, mtx);
spr_draw_npc_sprite(part->unk_84 | 0x20000000 | idMask, yaw, opacity, decorationTable->unk_76C, mtx);
} else {
spr_draw_npc_sprite(part->unk_84 | 0x20000000 | idMask, yaw, opacity, temp_s2->unk_6D4, mtx);
spr_draw_npc_sprite(part->unk_84 | 0x20000000 | idMask, yaw, opacity, decorationTable->unk_6D4, mtx);
}
}
INCLUDE_ASM(s32, "182B30", func_802597B0);
INCLUDE_ASM(s32, "182B30", func_8025995C);
void func_8025995C(ActorPart* part, s32 yaw, Matrix4f mtx) {
DecorationTable* decorationTable = part->decorationTable;
s32 partOpacity = part->opacity;
s32 opacity = 255;
s32 idMask = 0;
if (partOpacity < 0xFF) {
idMask = 0x80000000;
opacity = partOpacity;
}
if (part->flags & 0x100) {
idMask = 0x80000000;
opacity = (opacity * 120) / 255;
}
if (decorationTable->unk_768 != 0) {
func_80259494(part);
idMask |= 0x20000000;
spr_draw_player_sprite(idMask, yaw, opacity, decorationTable->unk_76C, mtx);
} else {
idMask |= 0x20000000;
spr_draw_player_sprite(idMask, yaw, opacity, decorationTable->unk_6D4, mtx);
}
}
void func_80259A48(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) {
DecorationTable* decorationTable = part->decorationTable;
@ -1851,7 +1874,6 @@ INCLUDE_ASM(s32, "182B30", func_8025BAA0);
INCLUDE_ASM(s32, "182B30", func_8025C120);
s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx) {
if (!(part->flags & 2)) {
switch (part->decorationTable->unk_750) {
case 0:

View File

@ -68,6 +68,7 @@ ApiStatus func_80260B70(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_80260BF4(Evt* script, s32 isInitialCall);
INCLUDE_ASM(s32, "18F340", func_80260BF4);
ApiStatus func_80260DB8(Evt* script, s32 isInitialCall) {

File diff suppressed because it is too large Load Diff

View File

@ -431,9 +431,9 @@ void btl_draw_menu_wheel(void) {
hud_element_set_alpha(id, (opacity * 180) / 255);
hud_element_set_scale(id, 1.2f);
if (!cond) {
hud_element_set_flags(id, 2);
hud_element_set_flags(id, HUD_ELEMENT_FLAGS_DISABLED);
} else {
hud_element_clear_flags(id, 2);
hud_element_clear_flags(id, HUD_ELEMENT_FLAGS_DISABLED);
}
func_80144238(id);
}

View File

@ -1151,7 +1151,7 @@ s32 add_coins(s32 amt) {
return playerData->coins;
}
s8 add_star_points(s32 amt) {
s32 add_star_points(s32 amt) {
PlayerData* playerData = &gPlayerData;
s8 newSP = playerData->starPoints + amt;
@ -1169,7 +1169,7 @@ s8 add_star_points(s32 amt) {
return gPlayerData.starPoints;
}
u8 add_star_pieces(s32 amt) {
s32 add_star_pieces(s32 amt) {
PlayerData* playerData = &gPlayerData;
s32 newSP = playerData->starPieces;
@ -1295,7 +1295,7 @@ s8 add_fortress_keys(s32 amt) {
return gPlayerData.fortressKeyCount;
}
s8 subtract_fortress_keys(s8 amt) {
s32 subtract_fortress_keys(s32 amt) {
PlayerData* playerData = &gPlayerData;
playerData->fortressKeyCount -= amt;
@ -1306,6 +1306,6 @@ s8 subtract_fortress_keys(s8 amt) {
return playerData->fortressKeyCount;
}
s8 get_fortress_key_count(void) {
s32 get_fortress_key_count(void) {
return gPlayerData.fortressKeyCount;
}

View File

@ -244,7 +244,7 @@ void draw_coin_sparkles(ItemEntity* itemEntity) {
foldImage.height = itemEntity->sparkleHeight;
foldImage.xOffset = -itemEntity->sparkleWidth / 2;
foldImage.yOffset = itemEntity->sparkleHeight / 2;
foldImage.unk_10 = 255;
foldImage.opacity = 255;
fold_appendGfx_component(0, &foldImage, 0, spD8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);

View File

@ -83,7 +83,7 @@ void func_802B7000_E225B0(void) {
foldImage.height = 56;
foldImage.xOffset = -28;
foldImage.yOffset = 46;
foldImage.unk_10 = 255;
foldImage.opacity = 255;
fold_appendGfx_component(0, &foldImage, 0, matrix2);
gSPPopMatrix(gMasterGfxPos++, 0);

View File

@ -3604,7 +3604,7 @@ void get_world_fog_color(s32* r, s32* g, s32* b, s32* a) {
*a = gCurrentFogSettings->a;
}
void set_tex_panner(Model* model, s8 texPannerID) {
void set_tex_panner(Model* model, s32 texPannerID) {
model->texPannerID = texPannerID;
}

View File

@ -3,18 +3,17 @@
#define NAMESPACE b_area_kgr_kgr_01
ApiStatus func_80218560_56E800(Evt* script, s32 isInitialCall);
INCLUDE_ASM(s32, "battle/area_kgr/56E800", func_80218560_56E800);
#include "common/UnkFloatFunc005.inc.c"
EvtScript N(8021C330) = {
EVT_SET(LW(10), LW(0))
EVT_LABEL(0)
EVT_CALL(func_80218560_56E800, 0)
EVT_CALL(N(UnkFloatFunc005), 0)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80218560_56E800, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -35,7 +34,7 @@ EvtScript N(8021C330) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80218560_56E800, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -54,12 +53,12 @@ EvtScript N(8021C330) = {
EVT_IF_NE(LW(0), 0)
EVT_GOTO(0)
EVT_END_IF
EVT_CALL(func_80218560_56E800, 3)
EVT_CALL(N(UnkFloatFunc005), 3)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80218560_56E800, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -80,7 +79,7 @@ EvtScript N(8021C330) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80218560_56E800, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)

View File

@ -3,18 +3,17 @@
#define NAMESPACE b_area_kmr_part_3_mac_01
ApiStatus func_80219D60_4491A0(Evt* script, s32 isInitialCall);
INCLUDE_ASM(s32, "battle/area_kmr_part_3/448E80", func_80219D60_4491A0);
#include "common/UnkFloatFunc005.inc.c"
EvtScript N(80233AF0) = {
EVT_SET(LW(10), LW(0))
EVT_LABEL(0)
EVT_CALL(func_80219D60_4491A0, 0)
EVT_CALL(N(UnkFloatFunc005), 0)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80219D60_4491A0, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -35,7 +34,7 @@ EvtScript N(80233AF0) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80219D60_4491A0, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -54,12 +53,12 @@ EvtScript N(80233AF0) = {
EVT_IF_NE(LW(0), 0)
EVT_GOTO(0)
EVT_END_IF
EVT_CALL(func_80219D60_4491A0, 3)
EVT_CALL(N(UnkFloatFunc005), 3)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80219D60_4491A0, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -80,7 +79,7 @@ EvtScript N(80233AF0) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80219D60_4491A0, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)

View File

@ -3,18 +3,17 @@
#define NAMESPACE b_area_mac_mac_01
ApiStatus func_80219900_465D90(Evt*, s32);
INCLUDE_ASM(s32, "battle/area_mac/465D90", func_80219900_465D90);
#include "common/UnkFloatFunc005.inc.c"
EvtScript N(80231770) = {
EVT_SET(LW(10), LW(0))
EVT_LABEL(0)
EVT_CALL(func_80219900_465D90, 0)
EVT_CALL(N(UnkFloatFunc005), 0)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80219900_465D90, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -35,7 +34,7 @@ EvtScript N(80231770) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80219900_465D90, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -54,12 +53,12 @@ EvtScript N(80231770) = {
EVT_IF_NE(LW(0), 0)
EVT_GOTO(0)
EVT_END_IF
EVT_CALL(func_80219900_465D90, 3)
EVT_CALL(N(UnkFloatFunc005), 3)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
EVT_LOOP(0)
EVT_CALL(func_80219900_465D90, 1)
EVT_CALL(N(UnkFloatFunc005), 1)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)
@ -80,7 +79,7 @@ EvtScript N(80231770) = {
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(5)
EVT_LOOP(0)
EVT_CALL(func_80219900_465D90, 2)
EVT_CALL(N(UnkFloatFunc005), 2)
EVT_CALL(TranslateModel, LW(10), LW(0), LW(1), LW(2))
EVT_CALL(RotateModel, LW(10), -20, 0, 0, 1)
EVT_WAIT_FRAMES(1)

View File

@ -2,7 +2,7 @@
#define NAMESPACE b_area_tik
INCLUDE_ASM(s32, "battle/area_tik/5EDDF0", func_80219960_5EDDF0);
#include "common/UnkFloatFunc005.inc.c"
#include "world/common/atomic/TexturePan.inc.c"

View File

@ -2,7 +2,7 @@
#define NAMESPACE b_area_tik2
INCLUDE_ASM(s32, "battle/area_tik2/60A470", func_802199C0_60A470);
#include "common/UnkFloatFunc005.inc.c"
#include "world/common/atomic/TexturePan.inc.c"

View File

@ -2,7 +2,7 @@
#define NAMESPACE b_area_tik3
INCLUDE_ASM(s32, "battle/area_tik3/6197E0", func_802190F0_6197E0);
#include "common/UnkFloatFunc005.inc.c"
#include "world/common/atomic/TexturePan.inc.c"

View File

@ -0,0 +1,101 @@
#include "common.h"
#include "battle/battle.h"
ApiStatus N(UnkFloatFunc005)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
#ifdef AVOID_UB
f32 vt0 = 0.0f;
f32 vt1 = 0.0f;
f32 vt2 = 0.0f;
#else
f32 vt0;
f32 vt1;
f32 vt2;
#endif
f32 vt3;
f32 vt4;
f32 vt5;
f32 vt6;
f32 vt7;
f64 temp_f20;
f64 temp_f20_2;
f64 temp_f20_3;
f64 temp_f20_4;
s32 temp_s1;
script->functionTemp[0] = temp_s1 = evt_get_variable(script, *args++);
switch (temp_s1) {
case 0:
vt0 = 142.0f;
vt1 = 0.0f;
vt2 = -118.0f;
script->varTable[3] = 142;
script->varTable[4] = 0;
script->varTable[5] = -118;
script->varTable[6] = 44;
script->varTable[7] = -118;
script->varTable[8] = 3;
script->varTable[9] = 0;
script->varTable[11] = 0;
script->functionTemp[0] = 1;
break;
case 3:
vt0 = 91.0f;
vt1 = 0.0f;
vt2 = -118.0f;
script->varTable[3] = 91;
script->varTable[4] = 0;
script->varTable[5] = -118;
script->varTable[6] = 91;
script->varTable[7] = -118;
script->varTable[8] = 3;
script->varTable[9] = 0;
script->varTable[11] = 0;
script->functionTemp[0] = 1;
break;
case 1:
script->varTable[9] += script->varTable[8];
if (script->varTable[9] > 45) {
script->varTable[9] = 45;
}
vt0 = script->varTable[3];
vt1 = script->varTable[4];
vt2 = script->varTable[5];
vt3 = script->varTable[6];
vt4 = script->varTable[7];
temp_f20 = vt0 * (1.0 - sin_rad((script->varTable[9] * TAU) / 360.0f));
vt0 = (temp_f20 + (vt3 * sin_rad((script->varTable[9] * TAU) / 360.0f)));
vt1 = vt1 + (sin_rad(((script->varTable[9] * 2) * TAU) / 360.0f) * 90.0f);
temp_f20_2 = vt2 * (1.0 - sin_rad((script->varTable[9] * TAU) / 360.0f));
vt2 = temp_f20_2 + (vt4 * sin_rad((script->varTable[9] * TAU) / 360.0f));
if (script->varTable[9] == 45) {
script->varTable[11] = 1;
}
break;
case 2:
script->varTable[9] += script->varTable[8];
if (script->varTable[9] > 90) {
script->varTable[9] = 90;
}
vt0 = script->varTable[3];
vt1 = script->varTable[4];
vt2 = script->varTable[5];
vt3 = script->varTable[6];
vt4 = script->varTable[7];
temp_f20_3 = vt0 * (1.0 - sin_rad((script->varTable[9] * TAU) / 360.0f));
vt0 = (temp_f20_3 + (vt3 * sin_rad((script->varTable[9] * TAU) / 360.0f)));
vt1 = vt1 + (sin_rad(((script->varTable[9] * 2) * TAU) / 360.0f) * 90.0f);
temp_f20_4 = vt2 * (1.0 - sin_rad((script->varTable[9] * TAU) / 360.0f));
vt2 = temp_f20_4 + (vt4 * sin_rad((script->varTable[9] * TAU) / 360.0f));
if (script->varTable[9] == 90) {
script->varTable[11] = 2;
}
break;
}
script->varTable[0] = vt0;
script->varTable[1] = vt1;
script->varTable[2] = vt2;
return ApiStatus_DONE2;
}

View File

@ -601,7 +601,7 @@ s32 fold_appendGfx_component(s32 idx, FoldImageRecPart* image, u32 flagBits, Mat
FoldState* state = &(*D_80156954)[idx];
s32 ret = 0;
if (image->unk_10 == 0) {
if (image->opacity == 0) {
return 0;
}
@ -615,7 +615,7 @@ s32 fold_appendGfx_component(s32 idx, FoldImageRecPart* image, u32 flagBits, Mat
fold_currentImage->yOffset = image->yOffset;
fold_currentImage->unk_18 = 0;
fold_currentImage->unk_1E = 0;
fold_currentImage->alphaMultiplier = image->unk_10;
fold_currentImage->alphaMultiplier = image->opacity;
if ((u32)idx >= 90) {
return 0;

View File

@ -2,10 +2,72 @@
#include "effects_internal.h"
void gather_magic_appendGfx(void* effect);
void gather_magic_init(EffectInstance* effect);
void gather_magic_update(EffectInstance* effect);
void gather_magic_render(EffectInstance* effect);
INCLUDE_ASM(s32, "effects/gather_magic", gather_magic_main);
EffectInstance* gather_magic_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
GatherMagicFXData* data;
s32 numParts = 31;
s32 i;
void gather_magic_init(void) {
bp.unk_00 = 0;
bp.init = gather_magic_init;
bp.update = gather_magic_update;
bp.renderWorld = gather_magic_render;
bp.unk_14 = NULL;
bp.effectID = EFFECT_GATHER_MAGIC;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = shim_general_heap_malloc(numParts * sizeof(*data));
effect->data = data;
ASSERT(effect->data != NULL);
data->unk_04 = arg0;
data->unk_1C = 0;
if (arg5 <= 0) {
data->unk_18 = 100;
} else {
data->unk_18 = arg5;
}
data->unk_14 = 0;
data->unk_08 = arg1;
data->unk_0C = arg2;
data->unk_10 = arg3;
if (arg0 == 0) {
data->unk_30 = 255;
data->unk_34 = 0;
data->unk_38 = 255;
data->unk_3C = 255;
data->unk_40 = 255;
data->unk_44 = 255;
} else {
data->unk_30 = 255;
data->unk_34 = 20;
data->unk_38 = 33;
data->unk_3C = 50;
data->unk_40 = 20;
data->unk_44 = 10;
}
data++;
for (i = 1; i < numParts; i++, data++) {
s32 d = numParts - 1;
f32 zero = 0.0f;
data->unk_20 = ((i - 1) * 3240) / d;
data->unk_24 = zero;
data->unk_2C = ((i - 1) * 100) / d;
data->unk_00 = 0;
}
return effect;
}
void gather_magic_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/gather_magic", gather_magic_update);

View File

@ -397,7 +397,7 @@ void appendGfx_entity_model(EntityModel* model) {
foldImage.height = imageData->height;
foldImage.xOffset = -imageData->width / 2;
foldImage.yOffset = imageData->height / 2;
foldImage.unk_10 = 255;
foldImage.opacity = 255;
guMtxL2F(foldMtx, &model->transform);
fold_appendGfx_component(0, &foldImage, 0, foldMtx);
}
@ -706,7 +706,7 @@ void draw_entity_model_E(s32 modelIdx, Mtx* transformMtx) {
foldImage.height = imageData->height;
foldImage.xOffset = -imageData->width / 2;
foldImage.yOffset = imageData->height / 2;
foldImage.unk_10 = 255;
foldImage.opacity = 255;
guMtxL2F(foldMtx, &model->transform);
fold_appendGfx_component(0, &foldImage, 0, foldMtx);
}
@ -782,11 +782,11 @@ void clear_entity_model_flags(s32 idx, s32 newFlags) {
}
}
void bind_entity_model_setupGfx(s32 idx, s32 setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*)) {
void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*)) {
EntityModel* entityModel = (*gCurrentEntityModelList)[idx & ~BATTLE_ENTITY_ID_MASK];
entityModel->fpSetupGfxCallback = fpSetupGfxCallback;
entityModel->setupGfxCallbackArg0 = (void*)setupGfxCallbackArg0;
entityModel->setupGfxCallbackArg0 = setupGfxCallbackArg0;
}
void func_80122F8C(s32 idx, s32 newFlags) {

View File

@ -1,12 +1,15 @@
#include "common.h"
#include "pause/pause_common.h"
#include "hud_element.h"
#include "world/partners.h"
extern EvtScript D_802D9D34;
extern s32* D_802DB7D0;
extern s32 D_802DB7D8[10];
extern s32 D_802DB800[10];
s32 func_802D5B10();
extern PopupMenu D_802DB830;
ApiStatus func_802D5B10(Evt* script, s32 isInitialCall);
s32 D_802D9D30 = 0;
@ -22,7 +25,7 @@ ApiStatus func_802D5C70(Evt* script) {
Bytecode* args = script->ptrReadPos;
s32 i;
D_802DB7D0 = evt_get_variable(script, *args++);
D_802DB7D0 = (s32*) evt_get_variable(script, *args++);
for (i = 0; i < ARRAY_COUNT(D_802DB7D8); i++) {
D_802DB7D8[i] = 0;
@ -38,7 +41,11 @@ ApiStatus FadeOutMusic(Evt* script, s32 isInitialCall) {
s32 itemID = evt_get_variable(script, *args++);
s32* ptrNextPos = args++;
return (bgm_set_song(itemID, -1, 0, evt_get_variable(script, *ptrNextPos++), 8) != 0) * ApiStatus_DONE2;
if (bgm_set_song(itemID, -1, 0, evt_get_variable(script, *ptrNextPos++), 8) != 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus SetMusicTrack(Evt* script, s32 isInitialCall) {
@ -48,7 +55,11 @@ ApiStatus SetMusicTrack(Evt* script, s32 isInitialCall) {
s32 variation = evt_get_variable(script, *args++);
s16 volume = evt_get_variable(script, *args++);
return (bgm_set_song(musicPlayer, songID, variation, 0x1F4, volume) != 0) * ApiStatus_DONE2;
if (bgm_set_song(musicPlayer, songID, variation, 500, volume) != 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus FadeInMusic(Evt* script, s32 isInitialCall) {
@ -60,7 +71,11 @@ ApiStatus FadeInMusic(Evt* script, s32 isInitialCall) {
s16 var4 = evt_get_variable(script, *args++);
s16 var5 = evt_get_variable(script, *args++);
return (func_8014A964(var0, var1, var2, var3, var4, var5) != 0) * ApiStatus_DONE2;
if (func_8014A964(var0, var1, var2, var3, var4, var5) != 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus func_802D5EE0(Evt* script, s32 isInitialCall) {
@ -115,14 +130,22 @@ ApiStatus ClearAmbientSounds(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 flags = evt_get_variable(script, *args++);
return (play_ambient_sounds(-1, flags) != 0) * ApiStatus_DONE2;
if (play_ambient_sounds(-1, flags) != 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus PlayAmbientSounds(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 soundID = evt_get_variable(script, *args++);
return (play_ambient_sounds(soundID, 0xFA) != 0) * ApiStatus_DONE2;
if (play_ambient_sounds(soundID, 0xFA) != 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus PlaySound(Evt* script, s32 isInitialCall) {
@ -194,16 +217,194 @@ ApiStatus PlaySoundAtF(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(ApiStatus, "evt/fa4c0_len_3bf0", ShowKeyChoicePopup, Evt* script, s32 isInitialCall);
ApiStatus ShowKeyChoicePopup(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
PopupMenu* menu = &D_802DB830;
Trigger* trigger = script->owner2.trigger;
s32 numEntries;
s32 t; // TODO required in both places to match
s32 i;
INCLUDE_ASM(ApiStatus, "evt/fa4c0_len_3bf0", ShowConsumableChoicePopup, Evt* script, s32 isInitialCall);
if (isInitialCall) {
script->functionTemp[0] = 0;
}
t = script->functionTemp[0];
switch (t) {
case 0:
disable_player_input();
disable_player_static_collisions();
partner_disable_input();
close_status_menu();
numEntries = 0;
gOverrideFlags |= GLOBAL_OVERRIDES_40;
for (i = 0; i < ARRAY_COUNT(playerData->keyItems); i++) {
s16 invItem = playerData->keyItems[i];
if (invItem != ITEM_NONE) {
s32 found = FALSE;
s32* itemIt = trigger->itemList;
while (*itemIt > 0) {
if (invItem == *itemIt) {
found = TRUE;
break;
}
itemIt++;
}
if (found) {
ItemData* item = &gItemTable[playerData->keyItems[i]];
menu->ptrIcon[numEntries] = gItemHudScripts[item->hudElemID].enabled;
menu->userIndex[numEntries] = i;
menu->enabled[numEntries] = TRUE;
menu->nameMsg[numEntries] = item->nameMsg;
menu->descMsg[numEntries] = item->shortDescMsg;
numEntries++;
}
}
}
if (numEntries == 0) {
script->varTable[0] = 0;
return ApiStatus_DONE1;
}
menu->popupType = 0xC;
menu->numEntries = numEntries;
menu->initialPos = 0;
create_popup_menu(menu);
script->functionTemp[1] = 0;
script->functionTemp[0] = 1;
break;
case 1:
if (script->functionTemp[1] == 0) {
script->functionTemp[2] = menu->result;
if (script->functionTemp[2] == 0) {
break;
}
hide_popup_menu();
}
script->functionTemp[1]++;
if (script->functionTemp[1] >= 15) {
destroy_popup_menu();
if (script->functionTemp[2] == 0xFF) {
script->varTable[0] = -1;
return ApiStatus_DONE1;
} else {
t = menu->userIndex[script->functionTemp[2] - 1];
script->varTable[1] = t;
script->varTable[0] = playerData->keyItems[t];
return ApiStatus_DONE1;
}
}
break;
}
return ApiStatus_BLOCK;
}
ApiStatus ShowConsumableChoicePopup(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
PopupMenu* menu = &D_802DB830;
Trigger* trigger = script->owner2.trigger;
s32 numEntries;
s32 t; // TODO required in both places to match
s32 i;
if (isInitialCall) {
script->functionTemp[0] = 0;
}
t = script->functionTemp[0];
switch (t) {
case 0:
disable_player_input();
disable_player_static_collisions();
partner_disable_input();
close_status_menu();
numEntries = 0;
gOverrideFlags |= GLOBAL_OVERRIDES_40;
for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) {
s16 invItem = playerData->invItems[i];
if (invItem != ITEM_NONE) {
s32 found = FALSE;
s32* itemIt = trigger->itemList;
while (*itemIt > 0) {
if (invItem == *itemIt) {
found = TRUE;
break;
}
itemIt++;
}
if (found) {
ItemData* item = &gItemTable[playerData->invItems[i]];
menu->ptrIcon[numEntries] = gItemHudScripts[item->hudElemID].enabled;
menu->userIndex[numEntries] = i;
menu->enabled[numEntries] = TRUE;
menu->nameMsg[numEntries] = item->nameMsg;
menu->descMsg[numEntries] = item->shortDescMsg;
numEntries++;
}
}
}
if (numEntries == 0) {
script->varTable[0] = 0;
return ApiStatus_DONE1;
}
menu->popupType = 0xC;
menu->numEntries = numEntries;
menu->initialPos = 0;
create_popup_menu(menu);
script->functionTemp[1] = 0;
script->functionTemp[0] = 1;
break;
case 1:
if (script->functionTemp[1] == 0) {
script->functionTemp[2] = menu->result;
if (script->functionTemp[2] == 0) {
break;
}
hide_popup_menu();
}
script->functionTemp[1]++;
if (script->functionTemp[1] >= 15) {
destroy_popup_menu();
if (script->functionTemp[2] == 0xFF) {
script->varTable[0] = -1;
return ApiStatus_DONE1;
} else {
t = menu->userIndex[script->functionTemp[2] - 1];
script->varTable[1] = t;
script->varTable[0] = playerData->invItems[t];
return ApiStatus_DONE1;
}
}
break;
}
return ApiStatus_BLOCK;
}
// TODO: probably a split here (sound_api, item_api)
ApiStatus RemoveKeyItemAt(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
s16* ptrKeyItems = &gPlayerData.keyItems;
s16* ptrKeyItems = gPlayerData.keyItems;
ptrKeyItems[index] = ITEM_NONE;
return ApiStatus_DONE2;
@ -212,7 +413,7 @@ ApiStatus RemoveKeyItemAt(Evt* script, s32 isInitialCall) {
ApiStatus RemoveItemAt(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 index = evt_get_variable(script, *args++);
s16* ptrInvItems = &gPlayerData.invItems;
s16* ptrInvItems = gPlayerData.invItems;
ptrInvItems[index] = ITEM_NONE;
sort_items();

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "model.h"
#include "evt.h"
typedef struct LavaReset {
/* 0x00 */ s32 colliderID;
@ -238,11 +239,11 @@ ApiStatus SetTexPanOffset(Evt* script, s32 isInitialCall) {
ApiStatus SetCustomGfx(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
s32 var3 = evt_get_variable(script, *args++);
s32 idx = evt_get_variable(script, *args++);
Gfx* pre = (Gfx*) evt_get_variable(script, *args++);
Gfx* post = (Gfx*) evt_get_variable(script, *args++);
set_custom_gfx(var1, var2, var3);
set_custom_gfx(idx, pre, post);
return ApiStatus_DONE2;
}
@ -278,7 +279,65 @@ ApiStatus SetModelFlags(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "evt/map_api", apply_transform_to_children);
void apply_transform_to_children(ApiStatus (*apiFunc)(Evt*, s32), Evt* script) {
Evt localEvt;
ModelTreeInfo* parentModelInfo;
ModelTreeInfo* childModelInfo;
s32 parentModelID;
s32 originalArg;
s32* argsPtr;
s32 modelIndex;
s32 firstChild;
s32 lastChild;
s32 i;
firstChild = -1;
parentModelID = evt_get_variable(script, *script->ptrReadPos);
modelIndex = (*mdl_currentModelTreeNodeInfo)[parentModelID].modelIndex;
lastChild = -1;
if (modelIndex < 0xFF) {
firstChild = lastChild = modelIndex;
} else {
s32 treeDepth = (*mdl_currentModelTreeNodeInfo)[parentModelID].treeDepth;
// check all models with a lowerID in the tree
for (i = parentModelID - 1; i >= 0; i--) {
childModelInfo = &(*mdl_currentModelTreeNodeInfo)[i];
if (treeDepth < childModelInfo->treeDepth) {
s32 childModelIndex = childModelInfo->modelIndex;
if (childModelIndex < 0xFF) {
if (lastChild == -1) {
lastChild = childModelIndex;
}
firstChild = childModelIndex;
}
} else {
// if node is no longer deeper than parent, we've exhausted the children
break;
}
}
}
// copy the input script into a local one we will modify
localEvt = *script;
argsPtr = localEvt.ptrReadPos;
originalArg = *argsPtr;
for (i = firstChild; i <= lastChild; i++) {
Model* model = (*gCurrentModels)[i];
localEvt.ptrReadPos = argsPtr;
*argsPtr = model->modelID;
apiFunc(&localEvt, TRUE);
}
*argsPtr = originalArg;
}
ApiStatus MakeTransformGroup(Evt* script, s32 isInitialCall) {
make_transform_group((u16)evt_get_variable(script, *script->ptrReadPos));

View File

@ -1,5 +1,8 @@
#include "common.h"
extern s32 D_802DAE50;
extern s32 D_802DAE54;
ApiStatus _show_message(Evt* script, s32 isInitialCall, s32 arg2);
ApiStatus SpeakToPlayer(Evt* script, s32 isInitialCall) {
@ -18,7 +21,157 @@ ApiStatus SpeakToNpc(Evt* script, s32 isInitialCall) {
return _show_message(script, isInitialCall, 3);
}
INCLUDE_ASM(ApiStatus, "evt/msg_api", _show_message, Evt* script, s32 isInitialCall, s32 arg2);
s32 _show_message(Evt* script, s32 isInitialCall, s32 arg2) {
PlayerStatus* playerStatus = &gPlayerStatus;
Bytecode* args = script->ptrReadPos;
s32 screenX, screenY, screenZ;
Npc* npc;
Npc* npc2;
f32 yaw;
f32 angle;
f32 x, z;
f32* yawPtr;
s32 temp_fp;
s32 npcID;
s32 msgID;
s32 animID;
s32 ret;
npc2 = NULL;
if (isInitialCall) {
D_802DB264 = 0;
temp_fp = evt_get_variable(script, *args++);
script->varTable[13] = evt_get_variable(script, *args++);
script->varTable[14] = evt_get_variable(script, *args++);
script->functionTemp[1] = evt_get_variable(script, *args++);
D_802DAE54 = 0;
D_802DAE50 = 0;
if (script->functionTemp[1] & 0x100) {
D_802DAE50 = evt_get_variable(script, *args++);
D_802DAE54 = evt_get_variable(script, *args++);
}
switch (arg2) {
case 0:
msgID = evt_get_variable(script, *args++);
gCurrentPrintContext = msg_get_printer_for_msg(msgID, &D_802DB264);
break;
case 1:
close_message(gCurrentPrintContext);
break;
case 2:
msgID = evt_get_variable(script, *args++);
msg_printer_load_msg(msgID, gCurrentPrintContext);
break;
case 3:
npcID = evt_get_variable(script, *args++);
msgID = evt_get_variable(script, *args++);
npc2 = resolve_npc(script, npcID);
gCurrentPrintContext = msg_get_printer_for_msg(msgID, &D_802DB264);
break;
}
if (temp_fp == NPC_PLAYER) {
get_screen_coords(gCurrentCameraID, playerStatus->position.x,
playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z,
&screenX, &screenY, &screenZ);
script->functionTemp[3] = playerStatus->anim;
npc = (Npc*) NPC_PLAYER;
script->varTable[15] = playerStatus->targetYaw;
} else {
npc = resolve_npc(script, temp_fp);
get_screen_coords(gCurrentCameraID, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z,
&screenX, &screenY, &screenZ);
script->functionTemp[3] = npc->currentAnim.w;
script->varTable[15] = npc->yaw;
}
msg_printer_set_origin_pos(gCurrentPrintContext, screenX + D_802DAE50, screenY + D_802DAE54);
script->varTablePtr[12] = npc;
if (npc != (Npc*) NPC_PLAYER) {
if (arg2 == 3) {
yawPtr = &npc2->yaw;
angle = atan2(npc->pos.x, npc->pos.z, npc2->pos.x, npc2->pos.z);
} else {
yawPtr = &playerStatus->targetYaw;
angle = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z);
}
yaw = clamp_angle(angle + 180.0f);
switch (script->functionTemp[1] & 0xF) {
case 0:
npc->yaw = angle;
*yawPtr = yaw;
break;
case 1:
npc->yaw = yaw;
*yawPtr = yaw;
break;
case 2:
npc->yaw = angle;
*yawPtr = angle;
break;
case 3:
npc->yaw = yaw;
*yawPtr = angle;
break;
case 4:
npc->yaw = angle;
break;
case 5:
break;
}
}
}
npc = script->varTablePtr[12];
if (npc != (Npc*) NPC_PLAYER) {
get_screen_coords(gCurrentCameraID, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z, &screenX, &screenY, &screenZ);
animID = script->varTable[13];
if (animID != -1) {
if (!(gCurrentPrintContext->stateFlags & 0x80)) {
animID = script->varTable[14];
}
set_npc_animation(npc, animID);
}
} else {
get_screen_coords(gCurrentCameraID, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight, playerStatus->position.z, &screenX, &screenY, &screenZ);
if (script->varTable[13] != -1) {
if (gCurrentPrintContext->stateFlags & 0x80) {
playerStatus->anim = script->varTable[13];
} else {
playerStatus->anim = script->varTable[14];
}
}
}
if (!(script->functionTemp[1] & 0x200)) {
msg_printer_set_origin_pos(gCurrentPrintContext, screenX + D_802DAE50, screenY + D_802DAE54);
}
if (gCurrentPrintContext->stateFlags & 0x40) {
return TRUE;
}
if (D_802DB264 != 1) {
return FALSE;
}
if (script->varTable[13] != -1) {
if (npc != (Npc*) NPC_PLAYER) {
set_npc_animation(npc, script->functionTemp[3]);
} else {
playerStatus->anim = script->functionTemp[3];
}
}
if (script->functionTemp[1] & 0x10) {
npc->yaw = script->varTable[0xF];
}
return TRUE;
}
ApiStatus ShowMessageAtScreenPos(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
@ -149,12 +302,16 @@ s32 cancel_current_message(void) {
}
ApiStatus SetMessageImages(Evt* script, s32 isInitialCall) {
set_message_images(*script->ptrReadPos);
Bytecode* args = script->ptrReadPos;
set_message_images((MessageImageData*) *args++);
return ApiStatus_DONE2;
}
ApiStatus func_802D0C94(Evt* script, s32 initialCall) {
if (evt_get_variable(script, *script->ptrReadPos) == 0) {
Bytecode* args = script->ptrReadPos;
if (evt_get_variable(script, *args++) == 0) {
gOverrideFlags |= GLOBAL_OVERRIDES_10;
} else {
gOverrideFlags &= ~GLOBAL_OVERRIDES_10;

View File

@ -13,16 +13,24 @@ GameStatus* gGameStatusPtr = &gGameStatus;
s16 D_800741A0 = 0;
s16 D_800741A2 = 0;
s32 D_800741A4 = 0;
s32 D_800741A8[] = { 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000,
};
s32 D_800741A8[] = {
0x00010000, 0x00000000, 0x00000001, 0x00000000,
0x00000000, 0x00010000, 0x00000000, 0x00000001,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000,
};
u16 gMatrixListPos = 0;
u16 D_800741F2 = 0;
s32 gCurrentDisplayContextIndex = 0;
s32 gPauseBackgroundFade = 0;
s32 D_800741FC = 0;
s32 D_80074200[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000 };
Vp D_80074200 = {
.vp = {
.vscale = {640, 480, 511, 0},
.vtrans = {640, 480, 511, 0},
}
};
Gfx D_80074210[] = {
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
@ -476,10 +484,10 @@ void gfx_draw_background(void) {
gGameStatusPtr->backgroundFlags |= 0x30;
// fall through
case 0x30:
// Draw the saved framebuffer to the background, fading in at a rate of 0x10 opacity per frame until reaching 0x80 opacity
gPauseBackgroundFade += 0x10;
if (gPauseBackgroundFade > 0x80) {
gPauseBackgroundFade = 0x80;
// Draw the saved framebuffer to the background, fading in at a rate of 16 opacity per frame until reaching 128 opacity
gPauseBackgroundFade += 16;
if (gPauseBackgroundFade > 128) {
gPauseBackgroundFade = 128;
}
gDPPipeSync(gMasterGfxPos++);
@ -498,7 +506,7 @@ void gfx_draw_background(void) {
// pixel's texel value instead of the current pixel's. This results in a one-pixel offset.
gDPSetCombineLERP(gMasterGfxPos++, PRIMITIVE, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1, PRIMITIVE,
TEXEL1, PRIMITIVE_ALPHA, TEXEL1, 0, 0, 0, 1);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0x28, 0x28, 0x28, gPauseBackgroundFade);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 40, 40, 40, gPauseBackgroundFade);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_POINT);
for (i = 0; i < 40; i++) {

View File

@ -812,12 +812,12 @@ void msg_printer_set_origin_pos(MessagePrintState* msgPrintState, s32 x, s32 y)
}
s32 cancel_message(MessagePrintState* msgPrintState) {
if ((msgPrintState->stateFlags & MSG_STATE_FLAG_2) == 0) {
return 0;
if (!(msgPrintState->stateFlags & MSG_STATE_FLAG_2)) {
return FALSE;
}
msgPrintState->stateFlags |= MSG_STATE_FLAG_1;
return 1;
return TRUE;
}
void set_message_images(MessageImageData* images) {
@ -1093,7 +1093,9 @@ void draw_digit(u32 img, s32 charset, s32 posX, s32 posY) {
INCLUDE_ASM(void, "msg", draw_number, s32 value, s32 x, s32 y, s32 arg3, s32 palette, s32 opacity, s32 style);
void drawbox_message_delegate(MessagePrintState* printer) {
void drawbox_message_delegate(void* data) {
MessagePrintState* printer = data;
appendGfx_message(printer, 0, 0, 0, 0, 4, 0);
}

View File

@ -10,7 +10,7 @@ extern u64 nuScStack[NU_SC_STACK_SIZE / sizeof(u64)];
BSS void (*nuIdleFunc)(void);
void nuBoot(void) {
osInitialize(); // osInitialize
osInitialize();
osCreateThread(&D_800A4270, NU_IDLE_THREAD_ID, boot_idle, NULL, &nuScStack, 10);
osStartThread(&D_800A4270);
}

View File

@ -1,4 +1,5 @@
#include "common.h"
#include "controller.h"
INCLUDE_ASM(s32, "os/43200_len_7c0", __osMotorAccess, OSPfs* pfs, s32 unk);

View File

@ -1,23 +1,30 @@
#include "sprite.h"
extern s32 D_802DF590[];
extern s32 D_802DFA58[];
extern s32 spr_allocateBtlComponentsOnWorldHeap;
extern s32 D_802DF540;
extern SpriteAnimData* spr_playerSprites[13];
extern s32 D_802DF57C;
extern s32 spr_playerMaxComponents;
extern SpriteAnimData* spr_npcSprites[0xEA];
extern PlayerCurrentAnimInfo spr_playerCurrentAnimInfo[3];
extern SpriteInstance D_802DFA48[51];
extern SpriteAnimData* spr_npcSprites[0xEA];
extern u8 spr_npcSpriteInstanceCount[];
extern s32** D_802DFE44;
extern SpriteInstance D_802DFA48[51];
extern Quad* D_802DFE44;
extern s32 D_802DFE48[22];
extern s32 D_802DFEA0[3];
extern s32 D_802DFEAC;
void spr_init_player_raster_cache(s32 cacheSize, s32 maxRasterSize);
Vtx spr_defaultQuad[] = {
Quad spr_defaultQuad = {
{
{{{ -16, 56, 0 }, FALSE, { 0, 0 }, { 240, 240, 240, 255 }}},
{{{ 16, 56, 0 }, FALSE, { 1024, 0 }, { 120, 120, 120, 255 }}},
{{{ 16, 0, 0 }, FALSE, { 1024, 1792 }, { 0, 0, 0, 255 }}},
{{{ -16, 0, 0 }, FALSE, { 0, 1792 }, { 120, 120, 120, 255 }}},
}
};
Vp D_802DF3D0 = {{
@ -85,26 +92,193 @@ PlayerSpriteSet spr_playerSpriteSets[] = {
/* Peach */ { 6, 0x900, 0x00003C00 },
};
void spr_appendGfx_component_flat(
Quad* vertices,
void* raster, void* palette,
s32 width, s32 height,
f32 arg5,
Matrix4f mtx,
s32 alpha
);
void spr_init_quad_cache(void) {
s32 i;
D_802DFE44 = _heap_malloc(&gSpriteHeapPtr, 0x580);
for (i = 0; i < 22; i++) {
D_802DFE44 = _heap_malloc(&gSpriteHeapPtr, ARRAY_COUNT(D_802DFE48) * sizeof(*D_802DFE44));
for (i = 0; i < ARRAY_COUNT(D_802DFE48); i++) {
D_802DFE48[i] = -1;
}
}
INCLUDE_ASM(s32, "sprite", spr_get_cached_quad);
Quad* spr_get_cached_quad(s32 quadIndex) {
s32* temp_v1 = &D_802DFE48[quadIndex];
INCLUDE_ASM(s32, "sprite", spr_make_quad_for_size);
*temp_v1 |= 0x1F;
return &D_802DFE44[quadIndex];
}
INCLUDE_ASM(s32, "sprite", spr_get_quad_for_size);
void spr_make_quad_for_size(Quad* quad, s32 width, s32 height) {
Vtx* vtx = &quad->v[0];
s32 w = width; // required to match
INCLUDE_ASM(s32, "sprite", spr_clear_quad_cache);
*quad = spr_defaultQuad;
vtx->v.ob[0] = -w / 2;
vtx->v.ob[1] = height;
vtx->v.tc[0] = 0x2000;
vtx->v.tc[1] = 0x2000;
vtx++;
vtx->v.ob[0] = w / 2;
vtx->v.ob[1] = height;
vtx->v.tc[0] = (w + 256) * 32;
vtx->v.tc[1] = 0x2000;
vtx++;
vtx->v.tc[0] = (w + 256) * 32;
vtx->v.ob[0] = w / 2;
vtx->v.tc[1] = (height + 256) * 32;
vtx++;
vtx->v.ob[0] = -w / 2;
vtx->v.tc[0] = 0x2000;
vtx->v.tc[1] = (height + 256) * 32;
}
Quad* spr_get_quad_for_size(s32* quadIndex, s32 width, s32 height) {
Quad* quad;
s32 qi;
s32 widthHeight;
s32 i;
if ((width * height) / 2 <= 0x800) {
widthHeight = (width << 0x18) + (height << 0x10);
qi = *quadIndex;
if (qi != -1 && (widthHeight == (D_802DFE48[qi] & 0xFFFF0000))) {
return spr_get_cached_quad(qi);
}
for (i = 0; i < ARRAY_COUNT(D_802DFE48); i++) {
if (widthHeight == (D_802DFE48[i] & 0xFFFF0000)) {
*quadIndex = i;
return spr_get_cached_quad(i);
}
}
for (i = 0; i < ARRAY_COUNT(D_802DFE48); i++) {
if (D_802DFE48[i] == -1) {
break;
}
}
if (i != ARRAY_COUNT(D_802DFE48)) {
*quadIndex = i;
D_802DFE48[i] = widthHeight;
quad = spr_get_cached_quad(i);
spr_make_quad_for_size(quad, width, height);
return quad;
}
}
return NULL;
}
void spr_clear_quad_cache(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_802DFE48); i++) {
if (D_802DFE48[i] != -1) {
D_802DFE48[i]--;
if (!(D_802DFE48[i] & 0xFFFF)) {
D_802DFE48[i] = -1;
}
}
}
}
INCLUDE_ASM(s32, "sprite", spr_appendGfx_component_flat);
INCLUDE_ASM(s32, "sprite", spr_appendGfx_component);
void spr_appendGfx_component(
SpriteRasterCacheEntry* cache,
f32 dx, f32 dy, f32 dz,
f32 rotX, f32 rotY, f32 rotZ,
f32 scaleX, f32 scaleY, f32 scaleZ,
s32 opacity, void* palette, Matrix4f mtx)
{
Matrix4f sp20;
Matrix4f sp60;
FoldImageRecPart spA0;
s32 quadIndex;
Quad* quad;
u32 temp_v1;
s32 width;
s32 height;
guTranslateF(sp60, dx, dy, dz);
guMtxCatF(sp60, mtx, sp20);
if (rotY != 0.0f) {
guRotateF(sp60, rotY, 0.0f, 1.0f, 0.0f);
guMtxCatF(sp60, sp20, sp20);
}
if (rotZ != 0.0f) {
guRotateF(sp60, rotZ, 0.0f, 0.0f, 1.0f);
guMtxCatF(sp60, sp20, sp20);
}
if (rotX != 0.0f) {
guRotateF(sp60, rotX, 1.0f, 0.0f, 0.0f);
guMtxCatF(sp60, sp20, sp20);
}
if (scaleX != 1.0f || scaleY != 1.0f || scaleZ != 1.0f) {
guScaleF(sp60, scaleX, scaleY, scaleZ);
guMtxCatF(sp60, sp20, sp20);
}
guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (D_80151328->flags & 1) {
if ((u8) opacity == 255) {
gSPDisplayList(gMasterGfxPos++, D_802DF460);
} else {
gSPDisplayList(gMasterGfxPos++, D_802DF490);
}
} else {
if ((u8) opacity == 255) {
gSPDisplayList(gMasterGfxPos++, D_802DF3F0);
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, (u8) opacity);
gSPDisplayList(gMasterGfxPos++, D_802DF428);
}
}
width = cache->width;
height = cache->height;
quadIndex = cache->quadCacheIndex;
quad = NULL;
if (!(D_802DF540 & (0x80000000 | 0x40000000 | 0x20000000 | 0x10000000))) {
quad = spr_get_quad_for_size(&quadIndex, width, height);
cache->quadCacheIndex = quadIndex;
}
if (quad != NULL) {
spr_appendGfx_component_flat(quad, cache->image, palette, width, height, rotY, sp20, (u8) opacity);
} else {
spA0.raster = cache->image;
spA0.palette = palette;
spA0.width = width;
spA0.height = height;
spA0.xOffset = -(width / 2);
spA0.yOffset = height;
spA0.opacity = opacity;
if (fold_appendGfx_component((u8) (u16) D_802DF540, &spA0, 0x80000, sp20) == 1) { // todo bitfield?
D_802DF540 &= ~(0x80000000 | 0x40000000 | 0x20000000 | 0x10000000);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void spr_transform_point(s32 rotX, s32 rotY, s32 rotZ, f32 inX, f32 inY, f32 inZ, f32* outX, f32* outY, f32* outZ) {
if (rotX == 0 && rotY == 0 && rotZ == 0) {
@ -137,7 +311,51 @@ void spr_transform_point(s32 rotX, s32 rotY, s32 rotZ, f32 inX, f32 inY, f32 inZ
}
}
INCLUDE_ASM(s32, "sprite", spr_draw_component);
void spr_draw_component(s32 opacity, SpriteComponent* component, UnkSpriteThing* arg2, SpriteRasterCacheEntry** cache, s16** arg4, f32 arg5, Matrix4f mtx) {
f32 dx;
f32 dy;
f32 dz;
SpriteRasterCacheEntry* cacheEntry;
s32 paletteIdx;
void* pal;
f32 rotX;
f32 rotY;
f32 rotZ;
f32 inX;
f32 inY;
f32 inZ;
if (component->initialized && component->currentRaster != -1) {
rotX = D_802DFEA0[0];
rotY = D_802DFEA0[1];
rotZ = D_802DFEA0[2];
inX = component->compPos.x + arg2->unk_06.x;
inY = component->compPos.y + arg2->unk_06.y;
inZ = component->compPos.z + arg2->unk_06.z;
spr_transform_point(rotX, rotY, rotZ, inX, inY, inZ * arg5, &dx, &dy, &dz);
cacheEntry = cache[component->currentRaster];
paletteIdx = component->currentPalette;
if (opacity & 0x08000000) {
cacheEntry->image = spr_get_player_raster(component->currentRaster & 0xFFF, D_802DF57C);
}
D_802DF540 = component->unk_4C;
pal = arg4[paletteIdx];
spr_appendGfx_component(
cacheEntry,
dx, dy, dz,
rotX + component->rotation.x,
rotY + component->rotation.y,
rotZ + component->rotation.z,
component->scale.x,
component->scale.y,
component->scale.z,
opacity, pal, mtx
);
component->unk_4C = D_802DF540;
}
}
s32 spr_sign_extend_12bit(u16 val) {
s32 temp = val & 0xFFF;
@ -159,45 +377,59 @@ s32 spr_sign_extend_16bit(u16 val) {
}
}
void spr_component_update_commands(SpriteComponent* comp, SpriteAnimComponent* animComponent);
INCLUDE_ASM(s32, "sprite", spr_component_update_commands);
#ifdef NON_EQUIVALENT
void spr_component_update_finish(SpriteComponent* comp, SpriteComponent** compList, s32 arg2, s32 palette) {
s32 temp_t0;
s32 temp_v0_2;
s8 temp_v0_3;
SpriteComponent* temp_v0;
void spr_component_update_finish(SpriteComponent* comp, SpriteComponent** compList,
SpriteRasterCacheEntry** rasterCacheEntry, s32 overridePalette)
{
SpriteComponent* listComp;
SpriteRasterCacheEntry* cache;
if (comp->initialized) {
temp_t0 = comp->unk_04;
comp->compPos.x = comp->posOffset.x;
comp->compPos.y = comp->posOffset.y;
comp->compPos.z = comp->posOffset.z;
if ((temp_t0 & 0xF00) == 0x100) {
temp_v0 = compList[temp_t0 & 0xFF];
comp->compPos.x = comp->posOffset.x + temp_v0->compPos.x;
comp->compPos.y = comp->posOffset.y + temp_v0->compPos.y;
comp->compPos.z = comp->posOffset.z + temp_v0->compPos.z;
if ((comp->unk_04 & 0xF00) == 0x100) {
listComp = compList[comp->unk_04 & 0xFF];
comp->compPos.x += listComp->compPos.x;
comp->compPos.y += listComp->compPos.y;
comp->compPos.z += listComp->compPos.z;
}
temp_v0_2 = comp->currentRaster;
if ((temp_v0_2 != -1) && (comp->currentRaster == -1)) {
temp_v0_3 = (*((temp_v0_2 * 4) + arg2))->unk6;
comp->unk18 = (s32) temp_v0_3;
if ((palette != 0) && (temp_v0_3 == 0)) {
comp->unk18 = palette;
if (comp->currentRaster != -1) {
cache = rasterCacheEntry[comp->currentRaster];
if (comp->currentPalette == -1) {
comp->currentPalette = cache->palette;
if (overridePalette != 0 && comp->currentPalette == 0) {
comp->currentPalette = overridePalette;
}
}
}
}
}
#else
s32 spr_component_update(s32 arg0, SpriteComponent** compList, SpriteAnimComponent** arg2, SpriteRasterCacheEntry** rasterCache, s32 overridePalette) {
SpriteComponent** compListIt;
INCLUDE_ASM(s32, "sprite", spr_component_update_finish);
D_802DFEAC = arg0;
#endif
compListIt = compList;
while ((s32) *compListIt != -1) {
spr_component_update_commands(*compListIt++, *arg2);
if ((s32) *arg2 != -1) {
arg2++;
}
}
INCLUDE_ASM(s32, "sprite", spr_component_update);
compListIt = compList;
while ((s32) *compListIt != -1) {
spr_component_update_finish(*compListIt++, compList, rasterCache, overridePalette);
}
return D_802DFEAC;
}
void spr_init_component_anim_state(SpriteComponent* comp, s16*** anim) {
if (anim == (s16***)-1) {
@ -247,7 +479,7 @@ void spr_set_anim_timescale(f32 timescale) {
void spr_load_player_sprite(s32 spriteIndex) {
s32 ind = spriteIndex - 1;
SpriteAnimData* playerSprite = spr_load_sprite(ind, 1, 0);
SpriteAnimData* playerSprite = spr_load_sprite(ind, TRUE, FALSE);
spr_playerSprites[ind] = playerSprite;
if (spr_playerMaxComponents < playerSprite->maxComponents) {
@ -280,7 +512,7 @@ void spr_init_sprites(s32 playerSpriteSet) {
for (i = 1; i < 0xE; i++) {
if ((flags >> i) & 1) {
spr_load_player_sprite(i); // spr_load_player_sprite
spr_load_player_sprite(i);
}
}
@ -309,7 +541,7 @@ void spr_init_sprites(s32 playerSpriteSet) {
sprite->unk_10 = 0;
}
spr_init_quad_cache(); // spr_init_quad_cache
spr_init_quad_cache();
}
void spr_render_init(void) {
@ -326,7 +558,7 @@ INCLUDE_ASM(void, "sprite", spr_update_player_sprite, s32 arg0, s32 arg1, f32 ar
INCLUDE_ASM(void, "sprite", spr_draw_player_sprite, s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 func_802DDEC4(s32 arg0) {
return D_802DF590[arg0 * 3]; // The struct of D_802DF590 is probably 0xC in size with this taking the first field.
return spr_playerCurrentAnimInfo[arg0].unk_08;
}
void func_802DDEE4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) {
@ -337,7 +569,7 @@ void func_802DDEE4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s
if (spr_playerCurrentAnimInfo[arg0].componentList != NULL) {
componentListIt = spr_playerCurrentAnimInfo[arg0].componentList;
i = 0;
while (*componentListIt != (SpriteComponent*)-1) {
component = *componentListIt;
if (arg1 == -1 || i == arg1) {
@ -358,14 +590,29 @@ void func_802DDFF8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s
func_802DDEE4(0, -1, arg1, arg2, arg3, arg4, arg5, arg6);
}
INCLUDE_ASM(s32, "sprite", spr_get_player_raster_info);
void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 rasterIndex) {
SpriteAnimData* sprite;
SpriteRasterCacheEntry* cache;
u16** paletteOffsetCopy;
playerSpriteID--;
sprite = spr_playerSprites[playerSpriteID];
if (sprite != NULL) {
paletteOffsetCopy = sprite->palettesOffset;
cache = sprite->rastersOffset[rasterIndex];
out->width = cache->width;
out->height = cache->height;
out->defaultPal = paletteOffsetCopy[cache->palette];
out->raster = spr_get_player_raster(rasterIndex, playerSpriteID);
}
}
u16** spr_get_player_palettes(s32 spriteIndex) {
SpriteAnimData* sprites = spr_playerSprites[spriteIndex - 1];
if (sprites == NULL) {
return NULL;
}
return sprites->palettesOffset;
}
@ -376,10 +623,47 @@ INCLUDE_ASM(s32, "sprite", spr_update_sprite, s32 arg0, s32 arg1, f32 arg2);
INCLUDE_ASM(void, "sprite", spr_draw_npc_sprite, s32 arg0, s32 arg1, s32 arg2, s32 arg3, Matrix4f* arg4);
s32 func_802DE5C8(s32 arg0) {
return D_802DFA58[arg0 * 5]; // The struct of D_802DFA58 is probably 0x14 in size with this taking the first field.
return D_802DFA48[arg0].unk_10;
}
INCLUDE_ASM(s32, "sprite", spr_free_sprite);
s32 spr_free_sprite(s32 spriteInstanceID) {
SpriteInstance* sprite = &D_802DFA48[spriteInstanceID];
s32 spriteIndex = sprite->spriteIndex;
SpriteHeader* spriteData;
SpriteComponent** comps;
if (spriteIndex == 0 || spriteIndex >= ARRAY_COUNT(spr_npcSprites)) {
return spriteInstanceID;
}
spr_npcSpriteInstanceCount[spriteIndex]--;
spriteData = sprite->spriteData;
comps = sprite->componentList;
while ((s32) *comps != -1) {
func_8013A854((u8) (*comps)->unk_4C);
comps++;
}
comps = D_802DFA48[spriteInstanceID].componentList;
if (spr_npcSpriteInstanceCount[spriteIndex] == 0) {
spr_npcSprites[spriteIndex] = NULL;
_heap_free(&gSpriteHeapPtr, spriteData);
}
if (spr_allocateBtlComponentsOnWorldHeap) {
_heap_free(&heap_generalHead, comps);
} else {
_heap_free(&gSpriteHeapPtr, comps);
}
D_802DFA48[spriteInstanceID].spriteIndex = 0;
D_802DFA48[spriteInstanceID].componentList = NULL;
D_802DFA48[spriteInstanceID].spriteData = NULL;
D_802DFA48[spriteInstanceID].currentAnimID = -1;
return 0;
}
s32 func_802DE748(s32 arg0, s32 arg1) {
SpriteComponent** componentList = D_802DFA48[arg0].componentList;
@ -399,28 +683,20 @@ s32 func_802DE894(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s3
INCLUDE_ASM(s32, "sprite", func_802DE8DC);
typedef struct UnkSpriteStruct {
/* 0x00 */ s32* unk_00;
/* 0x04 */ u8 width;
/* 0x05 */ u8 height;
/* 0x06 */ s8 unk_06;
/* 0x07 */ u8 unk_07;
} UnkSpriteStruct;
s32 spr_get_npc_raster_info(SpriteRasterInfo* out, s32 npcSpriteID, s32 rasterIndex) {
SpriteAnimData* sprite = spr_npcSprites[npcSpriteID];
UnkSpriteStruct* temp_v1;
SpriteRasterCacheEntry* cache;
u16** paletteOffsetCopy;
s32 newVar;
if (sprite != NULL) {
paletteOffsetCopy = sprite->palettesOffset;
temp_v1 = (UnkSpriteStruct*)sprite->rastersOffset[rasterIndex];
out->raster = temp_v1->unk_00;
out->width = temp_v1->width;
cache = sprite->rastersOffset[rasterIndex];
out->raster = cache->image;
out->width = cache->width;
newVar = npcSpriteID;
out->height = temp_v1->height;
out->defaultPal = paletteOffsetCopy[temp_v1->unk_06];
out->height = cache->height;
out->defaultPal = paletteOffsetCopy[cache->palette];
return TRUE;
}
return FALSE;

View File

@ -13,7 +13,7 @@ typedef struct SpriteComponent {
/* 0x18 */ s32 currentPalette;
/* 0x1C */ Vec3f posOffset;
/* 0x28 */ Vec3f compPos;
/* 0x34 */ Vec3f rotation;
/* 0x34 */ Vec3i rotation;
/* 0x40 */ Vec3f scale;
/* 0x4C */ s32 unk_4C;
} SpriteComponent; // size = 0x50
@ -35,8 +35,8 @@ typedef struct SpriteRasterCacheEntry {
/* 0x00 */ void* image;
/* 0x04 */ u8 width;
/* 0x05 */ u8 height;
/* 0x06 */ u8 palette;
/* 0x07 */ u8 quadCacheIndex;
/* 0x06 */ s8 palette;
/* 0x07 */ s8 quadCacheIndex;
} SpriteRasterCacheEntry; // size = 0x8
typedef struct SpriteHeader {
@ -44,13 +44,13 @@ typedef struct SpriteHeader {
/* 0x04 */ s16** paletteList;
/* 0x08 */ s32 maxComponents;
/* 0x0C */ s32 colorVariants;
/* 0x10 */ SpriteAnimComponent* animListStart;
/* 0x10 */ SpriteAnimComponent** animListStart;
} SpriteHeader; // size = 0x14
typedef struct SpriteInstance {
/* 0x00 */ s32 spriteIndex;
/* 0x04 */ SpriteComponent** componentList;
/* 0x08 */ s32 spriteData;
/* 0x08 */ SpriteHeader* spriteData;
/* 0x0C */ s32 currentAnimID;
/* 0x10 */ s32 unk_10;
} SpriteInstance; // size = 0x14
@ -69,13 +69,22 @@ typedef struct PlayerSpriteSet {
/// Sprite data header.
typedef struct SpriteAnimData {
/* 0x00 */ s32** rastersOffset;
/* 0x00 */ SpriteRasterCacheEntry** rastersOffset;
/* 0x04 */ u16** palettesOffset;
/* 0x08 */ s32 maxComponents;
/* 0x0C */ s32 colorVariations;
} SpriteAnimData; // size = 0x10
extern Vtx spr_defaultQuad[4];
typedef struct UnkSpriteThing {
/* 0x00 */ char unk_00[0x6];
/* 0x06 */ Vec3s unk_06;
} UnkSpriteThing; // size = ??
typedef struct Quad {
Vtx v[4];
} Quad; // size = 0x40
extern Quad spr_defaultQuad;
extern Vp D_802DF3D0;
extern Vp D_802DF3E0;
extern Gfx D_802DF3F0[];
@ -85,70 +94,6 @@ extern Gfx D_802DF490[];
extern f32 spr_animUpdateTimeScale;
extern PlayerSpriteSet spr_playerSpriteSets[7];
void spr_init_quad_cache(void);
Vtx* spr_get_cached_quad(s32* quadIndex);
void spr_make_quad_for_size(Vtx* quad, s32 width, s32 height);
Vtx* spr_get_quad_for_size(s32* quadIndex, s32 width, s32 height);
void spr_clear_quad_cache(void);
void spr_appendGfx_component_flat(
Vtx* vertices,
void* raster, void* palette,
s32 width, s32 height,
s32 arg5,
Matrix4f mtx,
s32 alpha
);
void spr_appendGfx_component(
Vtx* vertices,
void* raster, void* palette,
s32 width, s32 height,
s32 arg5,
Matrix4f mtx,
s32 alpha
);
void spr_transform_point(s32 rotX, s32 rotY, s32 rotZ, f32 inX, f32 inY, f32 inZ, f32* outX, f32* outY, f32* outZ);
void spr_draw_component(
SpriteRasterCacheEntry* raster,
f32 dx, f32 dy, f32 dz,
f32 rotX, f32 rotY, f32 rotZ,
f32 scaleX, f32 scaleY, f32 scaleZ,
s32 opacity,
void* palette,
Matrix4f mtx
);
s32 spr_sign_extend_12bit(u16 val);
s32 spr_sign_extend_16bit(u16 val);
void spr_component_update_commands(SpriteComponent* comp, SpriteAnimComponent* anim);
void spr_component_update_finish(
SpriteComponent* comp,
SpriteComponent** compList,
SpriteRasterCacheEntry* rasterCacheEntry,
s32 overridePalette
);
// TODO: anim possibly should be SpriteComponentAnim*
void spr_init_component_anim_state(SpriteComponent* comp, s16*** anim);
void spr_init_anim_state(SpriteComponent** compList, s16** cmdList);
void spr_set_anim_timescale(f32 timeScale);
void spr_load_player_sprite(s32 spriteIndex);
SpriteAnimData* spr_load_sprite(s32, s32, s32);
void fold_init(void);
void spr_init_sprites(s32 playerSpriteSet);
@ -157,11 +102,9 @@ void spr_render_init(void);
void spr_update_player_raster_cache(void);
s32 func_802DDA84(void);
s32 spr_update_player_sprite(s32 arg0, s32 arg1, f32 arg2);
s32 spr_draw_player_sprite(s32 arg0, s32 yaw, s32 arg2, s16** paletteList, Matrix4f mtx);
s32 spr_draw_player_sprite(s32 spriteInstanceID, s32 yaw, s32 arg2, s16** paletteList, Matrix4f mtx);
s32 func_802DDEC4(s32 arg0);
@ -169,6 +112,8 @@ void func_802DDEE4(s32, s32, s32, s32, s32, s32, s32, s32);
void func_802DDFF8(s32, s32, s32, s32, s32, s32, s32);
void* spr_get_player_raster(s32 rasterIndex, s32 playerSpriteID);
void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 rasterIndex);
u16** spr_get_player_palettes(s32 spriteIndex);
@ -200,4 +145,6 @@ s32 spr_get_npc_color_variations(s32 npcSpriteID);
void render_shaded_sprite(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha, s32);
SpriteAnimData* spr_load_sprite(s32 idx, s32 arg1, s32 arg2);
#endif

View File

@ -136,7 +136,7 @@ void state_step_language_select(void) {
clear_entity_data(0);
clear_trigger_data();
nuPiReadRomOverlay(&D_8007798C);
filemenu_init(1);
filemenu_init(TRUE);
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
set_screen_overlay_params_front(255, 255.0f);
}
@ -175,7 +175,7 @@ void state_step_file_select(void) {
D_800A0930 = -1;
battle_heap_create();
nuPiReadRomOverlay(&D_8007798C);
filemenu_init(0);
filemenu_init(FALSE);
}
}

View File

@ -96,7 +96,7 @@ void state_init_logos(void) {
clear_effect_data();
gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD;
intro_logos_update_fade();
gGameStatusPtr->backgroundFlags = FALSE;
gGameStatusPtr->backgroundFlags = 0;
}
void state_step_logos(void) {

View File

@ -110,12 +110,12 @@ extern HudScript HES_Peril;
extern HudScript HES_Danger;
void update_merlee_message(PopupMessage* popup);
void draw_merlee_message(PopupMessage* popup);
void update_merlee_message(void* popup);
void draw_merlee_message(void* popup);
void func_80045BC8(void);
void init_all_status_icons(void);
void update_all_status_icons(PopupMessage* popup);
void draw_all_status_icons(PopupMessage* popup);
void update_all_status_icons(void* popup);
void draw_all_status_icons(void* popup);
void func_80045AC0(void) {
s32 i;
@ -213,7 +213,8 @@ void show_merlee_message(s16 messageIndex, s16 duration) {
}
}
void update_merlee_message(PopupMessage* popup) {
void update_merlee_message(void* data) {
PopupMessage* popup = data;
s32 closeMessage = FALSE;
switch (popup->unk_16) {
@ -259,7 +260,8 @@ void draw_merlee_message_string(PopupMessage* popup, s32 posX, s32 posY) {
draw_msg(messageID, posX, posY, 255, 15, 0);
}
void draw_merlee_message(PopupMessage* popup) {
void draw_merlee_message(void* data) {
PopupMessage* popup = data;
s32 messageID;
s32 xPos;
s32 width;
@ -284,10 +286,10 @@ void init_all_status_icons(void) {
PopupMessage* popup = get_current_merlee_message();
if (popup != NULL) {
popup->updateFunc = &update_all_status_icons;
popup->updateFunc = update_all_status_icons;
popup->unk_00 = 0;
popup->unk_08 = NULL;
popup->drawFunc = &draw_all_status_icons;
popup->drawFunc = draw_all_status_icons;
popup->message = general_heap_malloc(64 * sizeof(HudStatusIcon));
icons = D_800A0F44 = (HudStatusIcon*)(popup->message);
ASSERT(icons != NULL);
@ -297,7 +299,8 @@ void init_all_status_icons(void) {
}
}
void update_all_status_icons(PopupMessage* popup) {
void update_all_status_icons(void* data) {
PopupMessage* popup = data;
HudStatusIcon* icon;
int i;
s32 elementID;
@ -525,7 +528,8 @@ void update_all_status_icons(PopupMessage* popup) {
}
}
void draw_all_status_icons(PopupMessage* popup) {
void draw_all_status_icons(void* data) {
PopupMessage* popup = data;
HudStatusIcon* icon;
s32 elementId;
f32 x, y, z;

View File

@ -20,7 +20,7 @@ typedef struct WindowGroup {
/* 0x01 */ u8 max;
} WindowGroup; // size = 0x02
WindowStyle gWindowStyles[] = {
WindowStyle gWindowStyles[64] = {
{ 3 }, { 3 }, { 11 }, { 12 }, { 13 }, { 14 }, { 3 }, { 21 }, { 3 }, { 0 }, { 9 }, { 3 }, { 0 }, { 1 }, { 3 }, { 9 },
{ 10 }, { 7 }, { 8 }, { 3 }, { 3 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 },
{ 0 }, { 0 }, { 0 }, { 0 }, { 3 }, { 11 }, { 12 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 },

View File

@ -5,8 +5,6 @@ static char* N(exit_str_1) = "kmr_22";
static char* N(exit_str_2) = "tik_22";
static char* N(exit_str_3) = "";
s32 func_8014AB0C(s32, s16);
ApiStatus func_80240000_892A20(Evt* script, s32 isInitialCall) {
func_8014AB0C(0, 2);
return ApiStatus_DONE2;

View File

@ -3,8 +3,6 @@
static char* N(exit_str_0) = "tik_21";
static char* N(exit_str_1) = "tik_17";
s32 func_8014AB0C(s32, s16);
ApiStatus func_80240000_89FEC0(Evt* script, s32 isInitialCall) {
func_8014AB0C(0, 2);
return ApiStatus_DONE2;

View File

@ -79,7 +79,7 @@ void func_80240020_9AE720(void) {
recPart.height = sp30.height;
recPart.xOffset = -(sp30.width / 2);
recPart.yOffset = (sp30.height / 2);
recPart.unk_10 = 255;
recPart.opacity = 255;
fold_appendGfx_component(unkTrd->foldStateID, &recPart, 0, sp40);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);

View File

@ -197,6 +197,7 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
with Path("tools/permuter_settings.toml").open("w") as f:
f.write(f"compiler_command = \"{cc} {CPPFLAGS.replace('$version', 'us')} {cflags} -DPERMUTER -fforce-addr\"\n")
f.write(f"assembler_command = \"{cross}as -EB -march=vr4300 -mtune=vr4300 -Iinclude\"\n")
f.write(f"compiler_type = \"gcc\"\n")
f.write(
"""
[preserve_macros]

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,5 @@
import os
from pathlib import Path
from segtypes.n64.segment import N64Segment
from segtypes.n64.ia8 import N64SegIa8
from segtypes.n64.rgba32 import N64SegRgba32
@ -7,6 +9,9 @@ from util.color import unpack_color
from util.iter import iter_in_groups
from util import options
import png
import yaml as yaml_loader
script_dir = Path(os.path.dirname(os.path.realpath(__file__)))
def decode_null_terminated_ascii(data):
length = 0
@ -70,7 +75,8 @@ class N64SegPm_map_data(N64Segment):
yaml=yaml,
)
self.files = yaml["files"]
with open(script_dir / "map_data.yaml") as f:
self.files = yaml_loader.load(f.read(), Loader=yaml_loader.SafeLoader)
def split(self, rom_bytes):
fs_dir = options.get_asset_path() / self.dir / self.name

File diff suppressed because it is too large Load Diff

View File

@ -264,7 +264,13 @@ dlabel D_8024BDA8
.word 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xC8C8C8FF, 0x828265FF
dlabel D_8024BDE0
.word 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFFFFFFFF, 0xC8C8AAFF, 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x585C44FF, 0x988F82FF, 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFFEE6AFF, 0x92641AFF
.word 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFFFFFFFF, 0xC8C8AAFF
dlabel D_8024BE18
.word 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0x585C44FF, 0x988F82FF
dlabel D_8024BE50
.word 0x00000000, 0x00000000, 0x00000000, D_8024B400, 0x31100810, 0x08100810, 0x08000000, 0x00000000, 0xFC317FFF, 0x5FFEF438, 0xFC3135FF, 0x5FFEFE38, 0xFFEE6AFF, 0x92641AFF
dlabel D_8024BE88
.word 0x00000000, 0x00000000, 0x00000000, D_8024A400, 0x03101010, 0x10101010, 0x10000000, 0x00000000, 0xFCFFFFFF, 0xFFFD7438, 0xFCFFB5FF, 0xFFFD7E38, 0x000000FF, 0x00000000

View File

@ -568,177 +568,3 @@ dlabel D_8022E9D8_56DDB8
dlabel D_8022EA10_56DDF0
.word D_8022CDD4_56C1B4, 0x00000001, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022EE60_56E240, 0x00000001, D_8022E7FC_56DBDC, D_8021B4A0_55A880, 0x00000000, D_8022EE48_56E228, 0x00000001, D_8022E818_56DBF8, D_8021B62C_55AA0C, 0x00000000, D_8022EE2C_56E20C, 0x00000002, D_8022E834_56DC14, D_8021B62C_55AA0C, 0x00000000, D_8022EE10_56E1F0, 0x00000002, D_8022E86C_56DC4C, D_8021B62C_55AA0C, 0x00000000, D_8022EDF4_56E1D4, 0x00000002, D_8022E8A4_56DC84, D_8021B62C_55AA0C, 0x00000000, D_8022EDD8_56E1B8, 0x00000004, D_8022E8DC_56DCBC, D_8021B62C_55AA0C, 0x00000000, D_8022EDB8_56E198, 0x00000002, D_8022E94C_56DD2C, D_8021B62C_55AA0C, 0x00000000, D_8022ED98_56E178, 0x00000001, D_8022E984_56DD64, D_8021B62C_55AA0C, 0x00000000, D_8022ED80_56E160, 0x00000002, D_8022E9A0_56DD80, D_8021B62C_55AA0C, 0x00000000, D_8022ED64_56E144, 0x00000002, D_8022E9D8_56DDB8, D_8021B62C_55AA0C, 0x00000000, D_8022ED58_56E138, 0x00000001, D_8022EA10_56DDF0, D_8021B398_55A778, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8022EEB4_56E294, D_8021B398_55A778, D_8022EEAC_56E28C, D_8021B40C_55A7EC, D_8022EEA4_56E284, D_8021B4A0_55A880, D_8022EE9C_56E27C, D_8021B51C_55A8FC, D_8022EE94_56E274, D_8021B62C_55AA0C, D_8022EE8C_56E26C, D_8021CD70_55C150, D_8022EE84_56E264, D_8021CE1C_55C1FC, D_8022EE7C_56E25C, D_8021D09C_55C47C, D_8022EE74_56E254, D_8021D11C_55C4FC, 0x00000000, 0x00000000, 0x00000000
dlabel D_8022EB70_56DF50
.double 0.7142857142857143
dlabel D_8022EB78_56DF58
.double 90.0
dlabel jtbl_8022EB80_56DF60
.word L80218250_557630, L80218264_557644, L80218270_557650, L8021827C_55765C, L80218288_557668, L80218294_557674, L802182A0_557680, L802182AC_55768C, L802182B8_557698, L802182C4_5576A4, L802182D0_5576B0, L8021831C_5576FC
dlabel D_8022EBB0_56DF90
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EBB8_56DF98
.word 0x6F6D6F5F, 0x62743031, 0x5F686974, 0x00000000
dlabel D_8022EBC8_56DFA8
.word 0x6F6D6F5F, 0x62743031, 0x5F736861, 0x70650000
dlabel D_8022EBD8_56DFB8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EBE0_56DFC0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EBE8_56DFC8
.word 0x6F6D6F5F, 0x62743032, 0x5F686974, 0x00000000
dlabel D_8022EBF8_56DFD8
.word 0x6F6D6F5F, 0x62743032, 0x5F736861, 0x70650000
dlabel D_8022EC08_56DFE8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC10_56DFF0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC18_56DFF8
.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000
dlabel D_8022EC28_56E008
.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000
dlabel D_8022EC38_56E018
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC40_56E020
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC48_56E028
.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000
dlabel D_8022EC58_56E038
.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000
dlabel D_8022EC68_56E048
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC70_56E050
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC78_56E058
.word 0x6F6D6F5F, 0x62743034, 0x5F686974, 0x00000000
dlabel D_8022EC88_56E068
.word 0x6F6D6F5F, 0x62743034, 0x5F736861, 0x70650000
dlabel D_8022EC98_56E078
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ECA0_56E080
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ECA8_56E088
.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000
dlabel D_8022ECB8_56E098
.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000
dlabel D_8022ECC8_56E0A8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ECD0_56E0B0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ECD8_56E0B8
.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000
dlabel D_8022ECE8_56E0C8
.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000
dlabel D_8022ECF8_56E0D8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED00_56E0E0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ED08_56E0E8
.word 0x6F6D6F5F, 0x62743036, 0x5F686974, 0x00000000
dlabel D_8022ED18_56E0F8
.word 0x6F6D6F5F, 0x62743036, 0x5F736861, 0x70650000
dlabel D_8022ED28_56E108
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED30_56E110
.word 0x6F6D6F5F, 0x62743037, 0x5F686974, 0x00000000
dlabel D_8022ED40_56E120
.word 0x6F6D6F5F, 0x62743037, 0x5F736861, 0x70650000
dlabel D_8022ED50_56E130
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED58_56E138
.word 0x83778343, 0x837A815B, 0x00000000
dlabel D_8022ED64_56E144
.word 0x83678351, 0x836D8352, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000
dlabel D_8022ED80_56E160
.word 0x83548393, 0x837B7882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022ED98_56E178
.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83588169, 0x8373815B, 0x836082D6, 0x82F1816A, 0x00000000
dlabel D_8022EDB8_56E198
.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83587882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EDD8_56E1B8
.word 0x83608387, 0x838D837B, 0x83937882, 0x53816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EDF4_56E1D4
.word 0x83608387, 0x838D837B, 0x83937882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EE10_56E1F0
.word 0x834B837B, 0x839382D6, 0x82A27882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EE2C_56E20C
.word 0x834E838A, 0x837B815B, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000
dlabel D_8022EE48_56E228
.word 0x834E838A, 0x837B815B, 0x81698373, 0x815B8360, 0x82D682F1, 0x816A0000
dlabel D_8022EE60_56E240
.word 0x83728362, 0x834F834A, 0x83938365, 0x838982AD, 0x82F10000
dlabel D_8022EE74_56E254
.word 0x6F6D6F5F, 0x30370000
dlabel D_8022EE7C_56E25C
.word 0x6F6D6F5F, 0x30360000
dlabel D_8022EE84_56E264
.word 0x6F6D6F5F, 0x30356200
dlabel D_8022EE8C_56E26C
.word 0x6F6D6F5F, 0x30350000
dlabel D_8022EE94_56E274
.word 0x6F6D6F5F, 0x30340000
dlabel D_8022EE9C_56E27C
.word 0x6F6D6F5F, 0x30336200
dlabel D_8022EEA4_56E284
.word 0x6F6D6F5F, 0x30330000
dlabel D_8022EEAC_56E28C
.word 0x6F6D6F5F, 0x30320000
dlabel D_8022EEB4_56E294
.word 0x6F6D6F5F, 0x30310000, 0x00000000

View File

@ -0,0 +1,168 @@
.include "macro.inc"
.section .rodata
dlabel D_8022EBB0_56DF90
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EBB8_56DF98
.word 0x6F6D6F5F, 0x62743031, 0x5F686974, 0x00000000
dlabel D_8022EBC8_56DFA8
.word 0x6F6D6F5F, 0x62743031, 0x5F736861, 0x70650000
dlabel D_8022EBD8_56DFB8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EBE0_56DFC0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EBE8_56DFC8
.word 0x6F6D6F5F, 0x62743032, 0x5F686974, 0x00000000
dlabel D_8022EBF8_56DFD8
.word 0x6F6D6F5F, 0x62743032, 0x5F736861, 0x70650000
dlabel D_8022EC08_56DFE8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC10_56DFF0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC18_56DFF8
.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000
dlabel D_8022EC28_56E008
.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000
dlabel D_8022EC38_56E018
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC40_56E020
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC48_56E028
.word 0x6F6D6F5F, 0x62743033, 0x5F686974, 0x00000000
dlabel D_8022EC58_56E038
.word 0x6F6D6F5F, 0x62743033, 0x5F736861, 0x70650000
dlabel D_8022EC68_56E048
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022EC70_56E050
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022EC78_56E058
.word 0x6F6D6F5F, 0x62743034, 0x5F686974, 0x00000000
dlabel D_8022EC88_56E068
.word 0x6F6D6F5F, 0x62743034, 0x5F736861, 0x70650000
dlabel D_8022EC98_56E078
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ECA0_56E080
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ECA8_56E088
.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000
dlabel D_8022ECB8_56E098
.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000
dlabel D_8022ECC8_56E0A8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ECD0_56E0B0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ECD8_56E0B8
.word 0x6F6D6F5F, 0x62743035, 0x5F686974, 0x00000000
dlabel D_8022ECE8_56E0C8
.word 0x6F6D6F5F, 0x62743035, 0x5F736861, 0x70650000
dlabel D_8022ECF8_56E0D8
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED00_56E0E0
.word 0x6F6D6F5F, 0x62670000
dlabel D_8022ED08_56E0E8
.word 0x6F6D6F5F, 0x62743036, 0x5F686974, 0x00000000
dlabel D_8022ED18_56E0F8
.word 0x6F6D6F5F, 0x62743036, 0x5F736861, 0x70650000
dlabel D_8022ED28_56E108
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED30_56E110
.word 0x6F6D6F5F, 0x62743037, 0x5F686974, 0x00000000
dlabel D_8022ED40_56E120
.word 0x6F6D6F5F, 0x62743037, 0x5F736861, 0x70650000
dlabel D_8022ED50_56E130
.word 0x6F6D6F5F, 0x74657800
dlabel D_8022ED58_56E138
.word 0x83778343, 0x837A815B, 0x00000000
dlabel D_8022ED64_56E144
.word 0x83678351, 0x836D8352, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000
dlabel D_8022ED80_56E160
.word 0x83548393, 0x837B7882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022ED98_56E178
.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83588169, 0x8373815B, 0x836082D6, 0x82F1816A, 0x00000000
dlabel D_8022EDB8_56E198
.word 0x836E8393, 0x837D815B, 0x8375838D, 0x83587882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EDD8_56E1B8
.word 0x83608387, 0x838D837B, 0x83937882, 0x53816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EDF4_56E1D4
.word 0x83608387, 0x838D837B, 0x83937882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EE10_56E1F0
.word 0x834B837B, 0x839382D6, 0x82A27882, 0x51816983, 0x73815B83, 0x6082D682, 0xF1816A00
dlabel D_8022EE2C_56E20C
.word 0x834E838A, 0x837B815B, 0x78825181, 0x69837381, 0x5B836082, 0xD682F181, 0x6A000000
dlabel D_8022EE48_56E228
.word 0x834E838A, 0x837B815B, 0x81698373, 0x815B8360, 0x82D682F1, 0x816A0000
dlabel D_8022EE60_56E240
.word 0x83728362, 0x834F834A, 0x83938365, 0x838982AD, 0x82F10000
dlabel D_8022EE74_56E254
.word 0x6F6D6F5F, 0x30370000
dlabel D_8022EE7C_56E25C
.word 0x6F6D6F5F, 0x30360000
dlabel D_8022EE84_56E264
.word 0x6F6D6F5F, 0x30356200
dlabel D_8022EE8C_56E26C
.word 0x6F6D6F5F, 0x30350000
dlabel D_8022EE94_56E274
.word 0x6F6D6F5F, 0x30340000
dlabel D_8022EE9C_56E27C
.word 0x6F6D6F5F, 0x30336200
dlabel D_8022EEA4_56E284
.word 0x6F6D6F5F, 0x30330000
dlabel D_8022EEAC_56E28C
.word 0x6F6D6F5F, 0x30320000
dlabel D_8022EEB4_56E294
.word 0x6F6D6F5F, 0x30310000, 0x00000000

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,86 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_init_player_raster_cache
/* 101E50 802DED60 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 101E54 802DED64 AFB10014 */ sw $s1, 0x14($sp)
/* 101E58 802DED68 0080882D */ daddu $s1, $a0, $zero
/* 101E5C 802DED6C AFB20018 */ sw $s2, 0x18($sp)
/* 101E60 802DED70 00A0902D */ daddu $s2, $a1, $zero
/* 101E64 802DED74 3C040194 */ lui $a0, 0x194
/* 101E68 802DED78 34843010 */ ori $a0, $a0, 0x3010
/* 101E6C 802DED7C AFB00010 */ sw $s0, 0x10($sp)
/* 101E70 802DED80 3C10802E */ lui $s0, %hi(D_802E0C60)
/* 101E74 802DED84 26100C60 */ addiu $s0, $s0, %lo(D_802E0C60)
/* 101E78 802DED88 0200282D */ daddu $a1, $s0, $zero
/* 101E7C 802DED8C AFBF001C */ sw $ra, 0x1c($sp)
/* 101E80 802DED90 0C017D24 */ jal nuPiReadRom
/* 101E84 802DED94 2406000C */ addiu $a2, $zero, 0xc
/* 101E88 802DED98 3C060194 */ lui $a2, 0x194
/* 101E8C 802DED9C 34C63010 */ ori $a2, $a2, 0x3010
/* 101E90 802DEDA0 3C048035 */ lui $a0, %hi(gSpriteHeapPtr)
/* 101E94 802DEDA4 2484F800 */ addiu $a0, $a0, %lo(gSpriteHeapPtr)
/* 101E98 802DEDA8 8E020000 */ lw $v0, ($s0)
/* 101E9C 802DEDAC 02510018 */ mult $s2, $s1
/* 101EA0 802DEDB0 3C01802E */ lui $at, %hi(D_802E0C58)
/* 101EA4 802DEDB4 AC310C58 */ sw $s1, %lo(D_802E0C58)($at)
/* 101EA8 802DEDB8 3C11802E */ lui $s1, %hi(D_802E0C5C)
/* 101EAC 802DEDBC 26310C5C */ addiu $s1, $s1, %lo(D_802E0C5C)
/* 101EB0 802DEDC0 AE320000 */ sw $s2, ($s1)
/* 101EB4 802DEDC4 8E030008 */ lw $v1, 8($s0)
/* 101EB8 802DEDC8 00461021 */ addu $v0, $v0, $a2
/* 101EBC 802DEDCC AE020000 */ sw $v0, ($s0)
/* 101EC0 802DEDD0 8E020004 */ lw $v0, 4($s0)
/* 101EC4 802DEDD4 00661821 */ addu $v1, $v1, $a2
/* 101EC8 802DEDD8 AE030008 */ sw $v1, 8($s0)
/* 101ECC 802DEDDC 00461021 */ addu $v0, $v0, $a2
/* 101ED0 802DEDE0 00002812 */ mflo $a1
/* 101ED4 802DEDE4 0C00A41B */ jal _heap_malloc
/* 101ED8 802DEDE8 AE020004 */ sw $v0, 4($s0)
/* 101EDC 802DEDEC 0040282D */ daddu $a1, $v0, $zero
/* 101EE0 802DEDF0 0000202D */ daddu $a0, $zero, $zero
/* 101EE4 802DEDF4 240600FF */ addiu $a2, $zero, 0xff
/* 101EE8 802DEDF8 3C03802E */ lui $v1, %hi(D_802E0C70)
/* 101EEC 802DEDFC 24630C70 */ addiu $v1, $v1, %lo(D_802E0C70)
/* 101EF0 802DEE00 8E310000 */ lw $s1, ($s1)
.L802DEE04:
/* 101EF4 802DEE04 AC65000C */ sw $a1, 0xc($v1)
/* 101EF8 802DEE08 00B12821 */ addu $a1, $a1, $s1
/* 101EFC 802DEE0C AC600000 */ sw $zero, ($v1)
/* 101F00 802DEE10 AC600004 */ sw $zero, 4($v1)
/* 101F04 802DEE14 AC660008 */ sw $a2, 8($v1)
/* 101F08 802DEE18 24840001 */ addiu $a0, $a0, 1
/* 101F0C 802DEE1C 28820012 */ slti $v0, $a0, 0x12
/* 101F10 802DEE20 1440FFF8 */ bnez $v0, .L802DEE04
/* 101F14 802DEE24 24630010 */ addiu $v1, $v1, 0x10
/* 101F18 802DEE28 2404000C */ addiu $a0, $zero, 0xc
/* 101F1C 802DEE2C 3C02802E */ lui $v0, %hi(D_802E0080)
/* 101F20 802DEE30 24420080 */ addiu $v0, $v0, %lo(D_802E0080)
.L802DEE34:
/* 101F24 802DEE34 AC400000 */ sw $zero, ($v0)
/* 101F28 802DEE38 2484FFFF */ addiu $a0, $a0, -1
/* 101F2C 802DEE3C 0481FFFD */ bgez $a0, .L802DEE34
/* 101F30 802DEE40 2442FFFC */ addiu $v0, $v0, -4
/* 101F34 802DEE44 3C11802E */ lui $s1, %hi(D_802E0C10)
/* 101F38 802DEE48 26310C10 */ addiu $s1, $s1, %lo(D_802E0C10)
/* 101F3C 802DEE4C 0220282D */ daddu $a1, $s1, $zero
/* 101F40 802DEE50 3C10802E */ lui $s0, %hi(D_802E0C60)
/* 101F44 802DEE54 26100C60 */ addiu $s0, $s0, %lo(D_802E0C60)
/* 101F48 802DEE58 8E040000 */ lw $a0, ($s0)
/* 101F4C 802DEE5C 3C01802E */ lui $at, %hi(D_802E004C)
/* 101F50 802DEE60 AC20004C */ sw $zero, %lo(D_802E004C)($at)
/* 101F54 802DEE64 0C017D24 */ jal nuPiReadRom
/* 101F58 802DEE68 2406000C */ addiu $a2, $zero, 0xc
/* 101F5C 802DEE6C 3C05802E */ lui $a1, %hi(D_802E0C20)
/* 101F60 802DEE70 24A50C20 */ addiu $a1, $a1, %lo(D_802E0C20)
/* 101F64 802DEE74 8E020000 */ lw $v0, ($s0)
/* 101F68 802DEE78 8E240000 */ lw $a0, ($s1)
/* 101F6C 802DEE7C 24060038 */ addiu $a2, $zero, 0x38
/* 101F70 802DEE80 0C017D24 */ jal nuPiReadRom
/* 101F74 802DEE84 00442021 */ addu $a0, $v0, $a0
/* 101F78 802DEE88 8FBF001C */ lw $ra, 0x1c($sp)
/* 101F7C 802DEE8C 8FB20018 */ lw $s2, 0x18($sp)
/* 101F80 802DEE90 8FB10014 */ lw $s1, 0x14($sp)
/* 101F84 802DEE94 8FB00010 */ lw $s0, 0x10($sp)
/* 101F88 802DEE98 03E00008 */ jr $ra
/* 101F8C 802DEE9C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,151 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_init
/* 165140 802448E0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 165144 802448E4 AFB40020 */ sw $s4, 0x20($sp)
/* 165148 802448E8 0080A02D */ daddu $s4, $a0, $zero
/* 16514C 802448EC 3C040013 */ lui $a0, 0x13
/* 165150 802448F0 24841340 */ addiu $a0, $a0, 0x1340
/* 165154 802448F4 3C050013 */ lui $a1, 0x13
/* 165158 802448F8 24A55EE0 */ addiu $a1, $a1, 0x5ee0
/* 16515C 802448FC 3C068024 */ lui $a2, %hi(get_dpad_input_radial)
/* 165160 80244900 24C6E000 */ addiu $a2, $a2, %lo(get_dpad_input_radial)
/* 165164 80244904 AFBF0028 */ sw $ra, 0x28($sp)
/* 165168 80244908 AFB50024 */ sw $s5, 0x24($sp)
/* 16516C 8024490C AFB3001C */ sw $s3, 0x1c($sp)
/* 165170 80244910 AFB20018 */ sw $s2, 0x18($sp)
/* 165174 80244914 AFB10014 */ sw $s1, 0x14($sp)
/* 165178 80244918 0C00A5CF */ jal dma_copy
/* 16517C 8024491C AFB00010 */ sw $s0, 0x10($sp)
/* 165180 80244920 0000802D */ daddu $s0, $zero, $zero
/* 165184 80244924 3C128025 */ lui $s2, %hi(filemenu_cursorHudElemID)
/* 165188 80244928 2652C0A0 */ addiu $s2, $s2, %lo(filemenu_cursorHudElemID)
/* 16518C 8024492C 3C118025 */ lui $s1, %hi(D_80249B80)
/* 165190 80244930 26319B80 */ addiu $s1, $s1, %lo(D_80249B80)
.L80244934:
/* 165194 80244934 8E240000 */ lw $a0, ($s1)
/* 165198 80244938 26310004 */ addiu $s1, $s1, 4
/* 16519C 8024493C 0C050529 */ jal hud_element_create
/* 1651A0 80244940 26100001 */ addiu $s0, $s0, 1
/* 1651A4 80244944 0040202D */ daddu $a0, $v0, $zero
/* 1651A8 80244948 3C052000 */ lui $a1, 0x2000
/* 1651AC 8024494C 34A50080 */ ori $a1, $a1, 0x80
/* 1651B0 80244950 0C051280 */ jal hud_element_set_flags
/* 1651B4 80244954 AE440000 */ sw $a0, ($s2)
/* 1651B8 80244958 1A00FFF6 */ blez $s0, .L80244934
/* 1651BC 8024495C 26520004 */ addiu $s2, $s2, 4
/* 1651C0 80244960 3C028025 */ lui $v0, %hi(filemenu_cursorHudElemID)
/* 1651C4 80244964 8C42C0A0 */ lw $v0, %lo(filemenu_cursorHudElemID)($v0)
/* 1651C8 80244968 3C018025 */ lui $at, %hi(D_8024C088)
/* 1651CC 8024496C AC22C088 */ sw $v0, %lo(D_8024C088)($at)
/* 1651D0 80244970 16800004 */ bnez $s4, .L80244984
/* 1651D4 80244974 00000000 */ nop
/* 1651D8 80244978 3C028025 */ lui $v0, %hi(D_80249DCC)
/* 1651DC 8024497C 8C429DCC */ lw $v0, %lo(D_80249DCC)($v0)
/* 1651E0 80244980 AC400000 */ sw $zero, ($v0)
.L80244984:
/* 1651E4 80244984 3C048025 */ lui $a0, %hi(D_80249DAC)
/* 1651E8 80244988 24849DAC */ addiu $a0, $a0, %lo(D_80249DAC)
/* 1651EC 8024498C 0C051FCC */ jal setup_pause_menu_tab
/* 1651F0 80244990 24050003 */ addiu $a1, $zero, 3
/* 1651F4 80244994 3C138025 */ lui $s3, %hi(filemenu_menus)
/* 1651F8 80244998 8E739B84 */ lw $s3, %lo(filemenu_menus)($s3)
/* 1651FC 8024499C 3C018025 */ lui $at, %hi(filemenu_8024C098)
/* 165200 802449A0 A020C098 */ sb $zero, %lo(filemenu_8024C098)($at)
/* 165204 802449A4 16800003 */ bnez $s4, .L802449B4
/* 165208 802449A8 24020002 */ addiu $v0, $zero, 2
/* 16520C 802449AC 0809126E */ j .L802449B8
/* 165210 802449B0 A2600004 */ sb $zero, 4($s3)
.L802449B4:
/* 165214 802449B4 A2620004 */ sb $v0, 4($s3)
.L802449B8:
/* 165218 802449B8 82620004 */ lb $v0, 4($s3)
/* 16521C 802449BC 14400031 */ bnez $v0, .L80244A84
/* 165220 802449C0 0260202D */ daddu $a0, $s3, $zero
/* 165224 802449C4 0000802D */ daddu $s0, $zero, $zero
/* 165228 802449C8 3C15800E */ lui $s5, %hi(gCurrentSaveFile)
/* 16522C 802449CC 26B5ACC0 */ addiu $s5, $s5, %lo(gCurrentSaveFile)
/* 165230 802449D0 24140001 */ addiu $s4, $zero, 1
/* 165234 802449D4 3C118007 */ lui $s1, %hi(gSaveSlotHasData)
/* 165238 802449D8 26317A24 */ addiu $s1, $s1, %lo(gSaveSlotHasData)
/* 16523C 802449DC 3C128007 */ lui $s2, %hi(gSaveSlotMetadata)
/* 165240 802449E0 265279C4 */ addiu $s2, $s2, %lo(gSaveSlotMetadata)
.L802449E4:
/* 165244 802449E4 0C00ACB4 */ jal fio_load_game
/* 165248 802449E8 0200202D */ daddu $a0, $s0, $zero
/* 16524C 802449EC 14400003 */ bnez $v0, .L802449FC
/* 165250 802449F0 00000000 */ nop
/* 165254 802449F4 0809128C */ j .L80244A30
/* 165258 802449F8 A2200000 */ sb $zero, ($s1)
.L802449FC:
/* 16525C 802449FC 8EA712EC */ lw $a3, 0x12ec($s5)
/* 165260 80244A00 8EA812F0 */ lw $t0, 0x12f0($s5)
/* 165264 80244A04 8EA912F4 */ lw $t1, 0x12f4($s5)
/* 165268 80244A08 8EAA12F8 */ lw $t2, 0x12f8($s5)
/* 16526C 80244A0C AE470000 */ sw $a3, ($s2)
/* 165270 80244A10 AE480004 */ sw $t0, 4($s2)
/* 165274 80244A14 AE490008 */ sw $t1, 8($s2)
/* 165278 80244A18 AE4A000C */ sw $t2, 0xc($s2)
/* 16527C 80244A1C 8EA712FC */ lw $a3, 0x12fc($s5)
/* 165280 80244A20 8EA81300 */ lw $t0, 0x1300($s5)
/* 165284 80244A24 AE470010 */ sw $a3, 0x10($s2)
/* 165288 80244A28 AE480014 */ sw $t0, 0x14($s2)
/* 16528C 80244A2C A2340000 */ sb $s4, ($s1)
.L80244A30:
/* 165290 80244A30 26310001 */ addiu $s1, $s1, 1
/* 165294 80244A34 26100001 */ addiu $s0, $s0, 1
/* 165298 80244A38 2A020004 */ slti $v0, $s0, 4
/* 16529C 80244A3C 1440FFE9 */ bnez $v0, .L802449E4
/* 1652A0 80244A40 26520018 */ addiu $s2, $s2, 0x18
/* 1652A4 80244A44 82620004 */ lb $v0, 4($s3)
/* 1652A8 80244A48 1440000E */ bnez $v0, .L80244A84
/* 1652AC 80244A4C 0260202D */ daddu $a0, $s3, $zero
/* 1652B0 80244A50 0C00ABF6 */ jal fio_has_valid_backup
/* 1652B4 80244A54 00000000 */ nop
/* 1652B8 80244A58 3C04800E */ lui $a0, %hi(D_800D95E8)
/* 1652BC 80244A5C 248495E8 */ addiu $a0, $a0, %lo(D_800D95E8)
/* 1652C0 80244A60 8C82003C */ lw $v0, 0x3c($a0)
/* 1652C4 80244A64 2C420004 */ sltiu $v0, $v0, 4
/* 1652C8 80244A68 50400001 */ beql $v0, $zero, .L80244A70
/* 1652CC 80244A6C AC80003C */ sw $zero, 0x3c($a0)
.L80244A70:
/* 1652D0 80244A70 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1652D4 80244A74 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1652D8 80244A78 9082003F */ lbu $v0, 0x3f($a0)
/* 1652DC 80244A7C A0620166 */ sb $v0, 0x166($v1)
/* 1652E0 80244A80 0260202D */ daddu $a0, $s3, $zero
.L80244A84:
/* 1652E4 80244A84 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1652E8 80244A88 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1652EC 80244A8C 3C118025 */ lui $s1, %hi(filemenu_menus)
/* 1652F0 80244A90 26319B84 */ addiu $s1, $s1, %lo(filemenu_menus)
/* 1652F4 80244A94 90460166 */ lbu $a2, 0x166($v0)
/* 1652F8 80244A98 0000802D */ daddu $s0, $zero, $zero
/* 1652FC 80244A9C 30C50001 */ andi $a1, $a2, 1
/* 165300 80244AA0 00052840 */ sll $a1, $a1, 1
/* 165304 80244AA4 0C090B65 */ jal filemenu_set_selected
/* 165308 80244AA8 00063042 */ srl $a2, $a2, 1
.L80244AAC:
/* 16530C 80244AAC 8E240000 */ lw $a0, ($s1)
/* 165310 80244AB0 8C82000C */ lw $v0, 0xc($a0)
/* 165314 80244AB4 10400003 */ beqz $v0, .L80244AC4
/* 165318 80244AB8 26100001 */ addiu $s0, $s0, 1
/* 16531C 80244ABC 0040F809 */ jalr $v0
/* 165320 80244AC0 00000000 */ nop
.L80244AC4:
/* 165324 80244AC4 2A020004 */ slti $v0, $s0, 4
/* 165328 80244AC8 1440FFF8 */ bnez $v0, .L80244AAC
/* 16532C 80244ACC 26310004 */ addiu $s1, $s1, 4
/* 165330 80244AD0 24040017 */ addiu $a0, $zero, 0x17
/* 165334 80244AD4 0C051F5C */ jal update_window_hierarchy
/* 165338 80244AD8 24050040 */ addiu $a1, $zero, 0x40
/* 16533C 80244ADC 8FBF0028 */ lw $ra, 0x28($sp)
/* 165340 80244AE0 8FB50024 */ lw $s5, 0x24($sp)
/* 165344 80244AE4 8FB40020 */ lw $s4, 0x20($sp)
/* 165348 80244AE8 8FB3001C */ lw $s3, 0x1c($sp)
/* 16534C 80244AEC 8FB20018 */ lw $s2, 0x18($sp)
/* 165350 80244AF0 8FB10014 */ lw $s1, 0x14($sp)
/* 165354 80244AF4 8FB00010 */ lw $s0, 0x10($sp)
/* 165358 80244AF8 03E00008 */ jr $ra
/* 16535C 80244AFC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,116 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel filemenu_main_update
/* 16738C 80246B2C 3C058015 */ lui $a1, %hi(gWindowStyles)
/* 167390 80246B30 24A5F150 */ addiu $a1, $a1, %lo(gWindowStyles)
/* 167394 80246B34 3C068025 */ lui $a2, %hi(D_8024BDA8)
/* 167398 80246B38 24C6BDA8 */ addiu $a2, $a2, %lo(D_8024BDA8)
/* 16739C 80246B3C 24C20070 */ addiu $v0, $a2, 0x70
/* 1673A0 80246B40 ACA600E0 */ sw $a2, 0xe0($a1)
/* 1673A4 80246B44 ACA600E4 */ sw $a2, 0xe4($a1)
/* 1673A8 80246B48 ACA600E8 */ sw $a2, 0xe8($a1)
/* 1673AC 80246B4C ACA600EC */ sw $a2, 0xec($a1)
/* 1673B0 80246B50 ACA200F0 */ sw $v0, 0xf0($a1)
/* 1673B4 80246B54 ACA200F4 */ sw $v0, 0xf4($a1)
/* 1673B8 80246B58 ACA200F8 */ sw $v0, 0xf8($a1)
/* 1673BC 80246B5C ACA200FC */ sw $v0, 0xfc($a1)
/* 1673C0 80246B60 90830003 */ lbu $v1, 3($a0)
/* 1673C4 80246B64 24020001 */ addiu $v0, $zero, 1
/* 1673C8 80246B68 10620011 */ beq $v1, $v0, .L80246BB0
/* 1673CC 80246B6C 28620002 */ slti $v0, $v1, 2
/* 1673D0 80246B70 10400005 */ beqz $v0, .L80246B88
/* 1673D4 80246B74 24020002 */ addiu $v0, $zero, 2
/* 1673D8 80246B78 10600009 */ beqz $v1, .L80246BA0
/* 1673DC 80246B7C 24C20038 */ addiu $v0, $a2, 0x38
/* 1673E0 80246B80 08091AF9 */ j .L80246BE4
/* 1673E4 80246B84 00000000 */ nop
.L80246B88:
/* 1673E8 80246B88 1062000E */ beq $v1, $v0, .L80246BC4
/* 1673EC 80246B8C 24020003 */ addiu $v0, $zero, 3
/* 1673F0 80246B90 10620011 */ beq $v1, $v0, .L80246BD8
/* 1673F4 80246B94 24C20038 */ addiu $v0, $a2, 0x38
/* 1673F8 80246B98 08091AF9 */ j .L80246BE4
/* 1673FC 80246B9C 00000000 */ nop
.L80246BA0:
/* 167400 80246BA0 ACA200E0 */ sw $v0, 0xe0($a1)
/* 167404 80246BA4 24C200A8 */ addiu $v0, $a2, 0xa8
/* 167408 80246BA8 08091AF9 */ j .L80246BE4
/* 16740C 80246BAC ACA200F0 */ sw $v0, 0xf0($a1)
.L80246BB0:
/* 167410 80246BB0 24C20038 */ addiu $v0, $a2, 0x38
/* 167414 80246BB4 ACA200E4 */ sw $v0, 0xe4($a1)
/* 167418 80246BB8 24C200A8 */ addiu $v0, $a2, 0xa8
/* 16741C 80246BBC 08091AF9 */ j .L80246BE4
/* 167420 80246BC0 ACA200F4 */ sw $v0, 0xf4($a1)
.L80246BC4:
/* 167424 80246BC4 24C20038 */ addiu $v0, $a2, 0x38
/* 167428 80246BC8 ACA200E8 */ sw $v0, 0xe8($a1)
/* 16742C 80246BCC 24C200A8 */ addiu $v0, $a2, 0xa8
/* 167430 80246BD0 08091AF9 */ j .L80246BE4
/* 167434 80246BD4 ACA200F8 */ sw $v0, 0xf8($a1)
.L80246BD8:
/* 167438 80246BD8 ACA200EC */ sw $v0, 0xec($a1)
/* 16743C 80246BDC 24C200A8 */ addiu $v0, $a2, 0xa8
/* 167440 80246BE0 ACA200FC */ sw $v0, 0xfc($a1)
.L80246BE4:
/* 167444 80246BE4 3C028025 */ lui $v0, %hi(filemenu_menus)
/* 167448 80246BE8 8C429B84 */ lw $v0, %lo(filemenu_menus)($v0)
/* 16744C 80246BEC 80430004 */ lb $v1, 4($v0)
/* 167450 80246BF0 24020004 */ addiu $v0, $zero, 4
/* 167454 80246BF4 14620009 */ bne $v1, $v0, .L80246C1C
/* 167458 80246BF8 24020001 */ addiu $v0, $zero, 1
/* 16745C 80246BFC 3C038025 */ lui $v1, %hi(filemenu_loadedFileIdx)
/* 167460 80246C00 8C63C094 */ lw $v1, %lo(filemenu_loadedFileIdx)($v1)
/* 167464 80246C04 10620015 */ beq $v1, $v0, .L80246C5C
/* 167468 80246C08 28620002 */ slti $v0, $v1, 2
/* 16746C 80246C0C 50400005 */ beql $v0, $zero, .L80246C24
/* 167470 80246C10 24020002 */ addiu $v0, $zero, 2
/* 167474 80246C14 10600009 */ beqz $v1, .L80246C3C
/* 167478 80246C18 00000000 */ nop
.L80246C1C:
/* 16747C 80246C1C 03E00008 */ jr $ra
/* 167480 80246C20 00000000 */ nop
.L80246C24:
/* 167484 80246C24 10620015 */ beq $v1, $v0, .L80246C7C
/* 167488 80246C28 24020003 */ addiu $v0, $zero, 3
/* 16748C 80246C2C 1062001B */ beq $v1, $v0, .L80246C9C
/* 167490 80246C30 00000000 */ nop
/* 167494 80246C34 03E00008 */ jr $ra
/* 167498 80246C38 00000000 */ nop
.L80246C3C:
/* 16749C 80246C3C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674A0 80246C40 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674A4 80246C44 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674A8 80246C48 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674AC 80246C4C AC6200E0 */ sw $v0, 0xe0($v1)
/* 1674B0 80246C50 24420070 */ addiu $v0, $v0, 0x70
/* 1674B4 80246C54 03E00008 */ jr $ra
/* 1674B8 80246C58 AC6200F0 */ sw $v0, 0xf0($v1)
.L80246C5C:
/* 1674BC 80246C5C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674C0 80246C60 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674C4 80246C64 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674C8 80246C68 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674CC 80246C6C AC6200E4 */ sw $v0, 0xe4($v1)
/* 1674D0 80246C70 24420070 */ addiu $v0, $v0, 0x70
/* 1674D4 80246C74 03E00008 */ jr $ra
/* 1674D8 80246C78 AC6200F4 */ sw $v0, 0xf4($v1)
.L80246C7C:
/* 1674DC 80246C7C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 1674E0 80246C80 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 1674E4 80246C84 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 1674E8 80246C88 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 1674EC 80246C8C AC6200E8 */ sw $v0, 0xe8($v1)
/* 1674F0 80246C90 24420070 */ addiu $v0, $v0, 0x70
/* 1674F4 80246C94 03E00008 */ jr $ra
/* 1674F8 80246C98 AC6200F8 */ sw $v0, 0xf8($v1)
.L80246C9C:
/* 1674FC 80246C9C 3C038015 */ lui $v1, %hi(gWindowStyles)
/* 167500 80246CA0 2463F150 */ addiu $v1, $v1, %lo(gWindowStyles)
/* 167504 80246CA4 3C028025 */ lui $v0, %hi(D_8024BDE0)
/* 167508 80246CA8 2442BDE0 */ addiu $v0, $v0, %lo(D_8024BDE0)
/* 16750C 80246CAC AC6200EC */ sw $v0, 0xec($v1)
/* 167510 80246CB0 24420070 */ addiu $v0, $v0, 0x70
/* 167514 80246CB4 03E00008 */ jr $ra
/* 167518 80246CB8 AC6200FC */ sw $v0, 0xfc($v1)

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel btl_set_popup_duration
/* 17E3A4 8024FAC4 3C02802A */ lui $v0, %hi(D_8029F64A)
/* 17E3A8 8024FAC8 8442F64A */ lh $v0, %lo(D_8029F64A)($v0)
/* 17E3AC 8024FACC 3C038028 */ lui $v1, %hi(D_802838F8)
/* 17E3B0 8024FAD0 10400003 */ beqz $v0, .L8024FAE0
/* 17E3B4 8024FAD4 8C6338F8 */ lw $v1, %lo(D_802838F8)($v1)
/* 17E3B8 8024FAD8 54600001 */ bnel $v1, $zero, .L8024FAE0
/* 17E3BC 8024FADC A4640014 */ sh $a0, 0x14($v1)
.L8024FAE0:
/* 17E3C0 8024FAE0 03E00008 */ jr $ra
/* 17E3C4 8024FAE4 00000000 */ nop

View File

@ -1,252 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024EFE0
/* 17D8C0 8024EFE0 27BDFF98 */ addiu $sp, $sp, -0x68
/* 17D8C4 8024EFE4 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 17D8C8 8024EFE8 4486E000 */ mtc1 $a2, $f28
/* 17D8CC 8024EFEC F7B60048 */ sdc1 $f22, 0x48($sp)
/* 17D8D0 8024EFF0 3C013F80 */ lui $at, 0x3f80
/* 17D8D4 8024EFF4 4481B000 */ mtc1 $at, $f22
/* 17D8D8 8024EFF8 AFB20020 */ sw $s2, 0x20($sp)
/* 17D8DC 8024EFFC 8FB2007C */ lw $s2, 0x7c($sp)
/* 17D8E0 8024F000 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 17D8E4 8024F004 46006606 */ mov.s $f24, $f12
/* 17D8E8 8024F008 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 17D8EC 8024F00C 46007686 */ mov.s $f26, $f14
/* 17D8F0 8024F010 AFB5002C */ sw $s5, 0x2c($sp)
/* 17D8F4 8024F014 00E0A82D */ daddu $s5, $a3, $zero
/* 17D8F8 8024F018 AFB70034 */ sw $s7, 0x34($sp)
/* 17D8FC 8024F01C 0000B82D */ daddu $s7, $zero, $zero
/* 17D900 8024F020 AFB1001C */ sw $s1, 0x1c($sp)
/* 17D904 8024F024 3C11800E */ lui $s1, %hi(gBattleStatus)
/* 17D908 8024F028 2631C070 */ addiu $s1, $s1, %lo(gBattleStatus)
/* 17D90C 8024F02C AFBF003C */ sw $ra, 0x3c($sp)
/* 17D910 8024F030 AFBE0038 */ sw $fp, 0x38($sp)
/* 17D914 8024F034 AFB60030 */ sw $s6, 0x30($sp)
/* 17D918 8024F038 AFB40028 */ sw $s4, 0x28($sp)
/* 17D91C 8024F03C AFB30024 */ sw $s3, 0x24($sp)
/* 17D920 8024F040 AFB00018 */ sw $s0, 0x18($sp)
/* 17D924 8024F044 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 17D928 8024F048 1EA00009 */ bgtz $s5, .L8024F070
/* 17D92C 8024F04C 4600B506 */ mov.s $f20, $f22
/* 17D930 8024F050 24150001 */ addiu $s5, $zero, 1
/* 17D934 8024F054 02A0B82D */ daddu $s7, $s5, $zero
/* 17D938 8024F058 3C013ECC */ lui $at, 0x3ecc
/* 17D93C 8024F05C 3421CCCD */ ori $at, $at, 0xcccd
/* 17D940 8024F060 4481B000 */ mtc1 $at, $f22
/* 17D944 8024F064 3C013F33 */ lui $at, 0x3f33
/* 17D948 8024F068 34213333 */ ori $at, $at, 0x3333
/* 17D94C 8024F06C 4481A000 */ mtc1 $at, $f20
.L8024F070:
/* 17D950 8024F070 8E220000 */ lw $v0, ($s1)
/* 17D954 8024F074 30420240 */ andi $v0, $v0, 0x240
/* 17D958 8024F078 10400004 */ beqz $v0, .L8024F08C
/* 17D95C 8024F07C 00000000 */ nop
/* 17D960 8024F080 4600B021 */ cvt.d.s $f0, $f22
/* 17D964 8024F084 46200000 */ add.d $f0, $f0, $f0
/* 17D968 8024F088 462005A0 */ cvt.s.d $f22, $f0
.L8024F08C:
/* 17D96C 8024F08C 0C093BDA */ jal btl_create_popup
/* 17D970 8024F090 00000000 */ nop
/* 17D974 8024F094 0040802D */ daddu $s0, $v0, $zero
/* 17D978 8024F098 120000AD */ beqz $s0, .L8024F350
/* 17D97C 8024F09C 00000000 */ nop
/* 17D980 8024F0A0 06410003 */ bgez $s2, .L8024F0B0
/* 17D984 8024F0A4 24140001 */ addiu $s4, $zero, 1
/* 17D988 8024F0A8 00129023 */ negu $s2, $s2
/* 17D98C 8024F0AC 2414FFFF */ addiu $s4, $zero, -1
.L8024F0B0:
/* 17D990 8024F0B0 2A420006 */ slti $v0, $s2, 6
/* 17D994 8024F0B4 14400003 */ bnez $v0, .L8024F0C4
/* 17D998 8024F0B8 00152080 */ sll $a0, $s5, 2
/* 17D99C 8024F0BC 08093C2C */ j .L8024F0B0
/* 17D9A0 8024F0C0 2652FFFB */ addiu $s2, $s2, -5
.L8024F0C4:
/* 17D9A4 8024F0C4 00952021 */ addu $a0, $a0, $s5
/* 17D9A8 8024F0C8 00042080 */ sll $a0, $a0, 2
/* 17D9AC 8024F0CC 00952023 */ subu $a0, $a0, $s5
/* 17D9B0 8024F0D0 00042080 */ sll $a0, $a0, 2
/* 17D9B4 8024F0D4 3C028025 */ lui $v0, %hi(func_8024F394)
/* 17D9B8 8024F0D8 2442F394 */ addiu $v0, $v0, %lo(func_8024F394)
/* 17D9BC 8024F0DC A6200090 */ sh $zero, 0x90($s1)
/* 17D9C0 8024F0E0 AE020004 */ sw $v0, 4($s0)
/* 17D9C4 8024F0E4 3C028025 */ lui $v0, %hi(func_8024F5AC)
/* 17D9C8 8024F0E8 2442F5AC */ addiu $v0, $v0, %lo(func_8024F5AC)
/* 17D9CC 8024F0EC AE020008 */ sw $v0, 8($s0)
/* 17D9D0 8024F0F0 96020010 */ lhu $v0, 0x10($s0)
/* 17D9D4 8024F0F4 24030001 */ addiu $v1, $zero, 1
/* 17D9D8 8024F0F8 AE000000 */ sw $zero, ($s0)
/* 17D9DC 8024F0FC AE00000C */ sw $zero, 0xc($s0)
/* 17D9E0 8024F100 A6030012 */ sh $v1, 0x12($s0)
/* 17D9E4 8024F104 34420010 */ ori $v0, $v0, 0x10
/* 17D9E8 8024F108 0C00AB39 */ jal heap_malloc
/* 17D9EC 8024F10C A6020010 */ sh $v0, 0x10($s0)
/* 17D9F0 8024F110 0040982D */ daddu $s3, $v0, $zero
/* 17D9F4 8024F114 16600003 */ bnez $s3, .L8024F124
/* 17D9F8 8024F118 AE130018 */ sw $s3, 0x18($s0)
.L8024F11C:
/* 17D9FC 8024F11C 08093C47 */ j .L8024F11C
/* 17DA00 8024F120 00000000 */ nop
.L8024F124:
/* 17DA04 8024F124 1AA0008A */ blez $s5, .L8024F350
/* 17DA08 8024F128 0000882D */ daddu $s1, $zero, $zero
/* 17DA0C 8024F12C 3C038028 */ lui $v1, %hi(D_80283744)
/* 17DA10 8024F130 24633744 */ addiu $v1, $v1, %lo(D_80283744)
/* 17DA14 8024F134 00151080 */ sll $v0, $s5, 2
/* 17DA18 8024F138 00431021 */ addu $v0, $v0, $v1
/* 17DA1C 8024F13C AFA20010 */ sw $v0, 0x10($sp)
/* 17DA20 8024F140 3C168028 */ lui $s6, %hi(D_802835DC)
/* 17DA24 8024F144 26D635DC */ addiu $s6, $s6, %lo(D_802835DC)
/* 17DA28 8024F148 001410C0 */ sll $v0, $s4, 3
/* 17DA2C 8024F14C 00541023 */ subu $v0, $v0, $s4
/* 17DA30 8024F150 00021080 */ sll $v0, $v0, 2
/* 17DA34 8024F154 00541023 */ subu $v0, $v0, $s4
/* 17DA38 8024F158 00021080 */ sll $v0, $v0, 2
/* 17DA3C 8024F15C 0054F023 */ subu $fp, $v0, $s4
/* 17DA40 8024F160 26700048 */ addiu $s0, $s3, 0x48
.L8024F164:
/* 17DA44 8024F164 24020001 */ addiu $v0, $zero, 1
/* 17DA48 8024F168 AE620000 */ sw $v0, ($s3)
/* 17DA4C 8024F16C 8FA80010 */ lw $t0, 0x10($sp)
/* 17DA50 8024F170 0C048338 */ jal load_entity_model
/* 17DA54 8024F174 8D040000 */ lw $a0, ($t0)
/* 17DA58 8024F178 0040202D */ daddu $a0, $v0, $zero
/* 17DA5C 8024F17C 24050020 */ addiu $a1, $zero, 0x20
/* 17DA60 8024F180 0C048BBA */ jal set_entity_model_flags
/* 17DA64 8024F184 AE04FFBC */ sw $a0, -0x44($s0)
/* 17DA68 8024F188 8E04FFBC */ lw $a0, -0x44($s0)
/* 17DA6C 8024F18C 3C068025 */ lui $a2, %hi(func_8024F768)
/* 17DA70 8024F190 24C6F768 */ addiu $a2, $a2, %lo(func_8024F768)
/* 17DA74 8024F194 0C048BD9 */ jal bind_entity_model_setupGfx
/* 17DA78 8024F198 0260282D */ daddu $a1, $s3, $zero
/* 17DA7C 8024F19C 0240102D */ daddu $v0, $s2, $zero
/* 17DA80 8024F1A0 E618FFF0 */ swc1 $f24, -0x10($s0)
/* 17DA84 8024F1A4 E61AFFF4 */ swc1 $f26, -0xc($s0)
/* 17DA88 8024F1A8 06410002 */ bgez $s2, .L8024F1B4
/* 17DA8C 8024F1AC E61CFFF8 */ swc1 $f28, -8($s0)
/* 17DA90 8024F1B0 26420007 */ addiu $v0, $s2, 7
.L8024F1B4:
/* 17DA94 8024F1B4 000218C3 */ sra $v1, $v0, 3
/* 17DA98 8024F1B8 000310C0 */ sll $v0, $v1, 3
/* 17DA9C 8024F1BC 02421823 */ subu $v1, $s2, $v0
/* 17DAA0 8024F1C0 00031040 */ sll $v0, $v1, 1
/* 17DAA4 8024F1C4 00431021 */ addu $v0, $v0, $v1
/* 17DAA8 8024F1C8 00022080 */ sll $a0, $v0, 2
/* 17DAAC 8024F1CC 00962021 */ addu $a0, $a0, $s6
/* 17DAB0 8024F1D0 C4800000 */ lwc1 $f0, ($a0)
/* 17DAB4 8024F1D4 46000021 */ cvt.d.s $f0, $f0
/* 17DAB8 8024F1D8 46200000 */ add.d $f0, $f0, $f0
/* 17DABC 8024F1DC 44941000 */ mtc1 $s4, $f2
/* 17DAC0 8024F1E0 00000000 */ nop
/* 17DAC4 8024F1E4 468010A1 */ cvt.d.w $f2, $f2
/* 17DAC8 8024F1E8 46220002 */ mul.d $f0, $f0, $f2
/* 17DACC 8024F1EC 00000000 */ nop
/* 17DAD0 8024F1F0 4600A0A1 */ cvt.d.s $f2, $f20
/* 17DAD4 8024F1F4 46220002 */ mul.d $f0, $f0, $f2
/* 17DAD8 8024F1F8 00000000 */ nop
/* 17DADC 8024F1FC 24430001 */ addiu $v1, $v0, 1
/* 17DAE0 8024F200 00031880 */ sll $v1, $v1, 2
/* 17DAE4 8024F204 00761821 */ addu $v1, $v1, $s6
/* 17DAE8 8024F208 46200020 */ cvt.s.d $f0, $f0
/* 17DAEC 8024F20C E600FFCC */ swc1 $f0, -0x34($s0)
/* 17DAF0 8024F210 C4600000 */ lwc1 $f0, ($v1)
/* 17DAF4 8024F214 46000021 */ cvt.d.s $f0, $f0
/* 17DAF8 8024F218 46200000 */ add.d $f0, $f0, $f0
/* 17DAFC 8024F21C 46220002 */ mul.d $f0, $f0, $f2
/* 17DB00 8024F220 00000000 */ nop
/* 17DB04 8024F224 24420002 */ addiu $v0, $v0, 2
/* 17DB08 8024F228 00021080 */ sll $v0, $v0, 2
/* 17DB0C 8024F22C 00561021 */ addu $v0, $v0, $s6
/* 17DB10 8024F230 46200020 */ cvt.s.d $f0, $f0
/* 17DB14 8024F234 E600FFD0 */ swc1 $f0, -0x30($s0)
/* 17DB18 8024F238 C4400000 */ lwc1 $f0, ($v0)
/* 17DB1C 8024F23C 46000021 */ cvt.d.s $f0, $f0
/* 17DB20 8024F240 46200000 */ add.d $f0, $f0, $f0
/* 17DB24 8024F244 46220002 */ mul.d $f0, $f0, $f2
/* 17DB28 8024F248 00000000 */ nop
/* 17DB2C 8024F24C 46200020 */ cvt.s.d $f0, $f0
/* 17DB30 8024F250 E600FFD4 */ swc1 $f0, -0x2c($s0)
/* 17DB34 8024F254 C4800000 */ lwc1 $f0, ($a0)
/* 17DB38 8024F258 44941000 */ mtc1 $s4, $f2
/* 17DB3C 8024F25C 00000000 */ nop
/* 17DB40 8024F260 468010A0 */ cvt.s.w $f2, $f2
/* 17DB44 8024F264 46020002 */ mul.s $f0, $f0, $f2
/* 17DB48 8024F268 00000000 */ nop
/* 17DB4C 8024F26C 46140002 */ mul.s $f0, $f0, $f20
/* 17DB50 8024F270 00000000 */ nop
/* 17DB54 8024F274 E600FFC0 */ swc1 $f0, -0x40($s0)
/* 17DB58 8024F278 C4600000 */ lwc1 $f0, ($v1)
/* 17DB5C 8024F27C 46140002 */ mul.s $f0, $f0, $f20
/* 17DB60 8024F280 00000000 */ nop
/* 17DB64 8024F284 E600FFC4 */ swc1 $f0, -0x3c($s0)
/* 17DB68 8024F288 C4400000 */ lwc1 $f0, ($v0)
/* 17DB6C 8024F28C 46140002 */ mul.s $f0, $f0, $f20
/* 17DB70 8024F290 00000000 */ nop
/* 17DB74 8024F294 26520001 */ addiu $s2, $s2, 1
/* 17DB78 8024F298 0220102D */ daddu $v0, $s1, $zero
/* 17DB7C 8024F29C 06210002 */ bgez $s1, .L8024F2A8
/* 17DB80 8024F2A0 E600FFC8 */ swc1 $f0, -0x38($s0)
/* 17DB84 8024F2A4 26220007 */ addiu $v0, $s1, 7
.L8024F2A8:
/* 17DB88 8024F2A8 000218C3 */ sra $v1, $v0, 3
/* 17DB8C 8024F2AC 000310C0 */ sll $v0, $v1, 3
/* 17DB90 8024F2B0 02221823 */ subu $v1, $s1, $v0
/* 17DB94 8024F2B4 00031040 */ sll $v0, $v1, 1
/* 17DB98 8024F2B8 00431021 */ addu $v0, $v0, $v1
/* 17DB9C 8024F2BC 00021080 */ sll $v0, $v0, 2
/* 17DBA0 8024F2C0 3C088028 */ lui $t0, %hi(D_80283690)
/* 17DBA4 8024F2C4 25083690 */ addiu $t0, $t0, %lo(D_80283690)
/* 17DBA8 8024F2C8 00481021 */ addu $v0, $v0, $t0
/* 17DBAC 8024F2CC C4420000 */ lwc1 $f2, ($v0)
/* 17DBB0 8024F2D0 46161082 */ mul.s $f2, $f2, $f22
/* 17DBB4 8024F2D4 00000000 */ nop
/* 17DBB8 8024F2D8 3C014334 */ lui $at, 0x4334
/* 17DBBC 8024F2DC 44816000 */ mtc1 $at, $f12
/* 17DBC0 8024F2E0 449E0000 */ mtc1 $fp, $f0
/* 17DBC4 8024F2E4 00000000 */ nop
/* 17DBC8 8024F2E8 46800020 */ cvt.s.w $f0, $f0
/* 17DBCC 8024F2EC AE00FFE0 */ sw $zero, -0x20($s0)
/* 17DBD0 8024F2F0 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 17DBD4 8024F2F4 E602FFEC */ swc1 $f2, -0x14($s0)
/* 17DBD8 8024F2F8 3C01800B */ lui $at, %hi(gCameras+0x5C4)
/* 17DBDC 8024F2FC C4202344 */ lwc1 $f0, %lo(gCameras+0x5C4)($at)
/* 17DBE0 8024F300 0C00A6C9 */ jal clamp_angle
/* 17DBE4 8024F304 46006301 */ sub.s $f12, $f12, $f0
/* 17DBE8 8024F308 2402000E */ addiu $v0, $zero, 0xe
/* 17DBEC 8024F30C E600FFE8 */ swc1 $f0, -0x18($s0)
/* 17DBF0 8024F310 AE02FFD8 */ sw $v0, -0x28($s0)
/* 17DBF4 8024F314 8FA80078 */ lw $t0, 0x78($sp)
/* 17DBF8 8024F318 240200F0 */ addiu $v0, $zero, 0xf0
/* 17DBFC 8024F31C AE02FFFC */ sw $v0, -4($s0)
/* 17DC00 8024F320 12E00003 */ beqz $s7, .L8024F330
/* 17DC04 8024F324 AE08FFDC */ sw $t0, -0x24($s0)
/* 17DC08 8024F328 2402000A */ addiu $v0, $zero, 0xa
/* 17DC0C 8024F32C AE02FFFC */ sw $v0, -4($s0)
.L8024F330:
/* 17DC10 8024F330 26310001 */ addiu $s1, $s1, 1
/* 17DC14 8024F334 2673004C */ addiu $s3, $s3, 0x4c
/* 17DC18 8024F338 3C01437F */ lui $at, 0x437f
/* 17DC1C 8024F33C 44810000 */ mtc1 $at, $f0
/* 17DC20 8024F340 0235102A */ slt $v0, $s1, $s5
/* 17DC24 8024F344 E6000000 */ swc1 $f0, ($s0)
/* 17DC28 8024F348 1440FF86 */ bnez $v0, .L8024F164
/* 17DC2C 8024F34C 2610004C */ addiu $s0, $s0, 0x4c
.L8024F350:
/* 17DC30 8024F350 8FBF003C */ lw $ra, 0x3c($sp)
/* 17DC34 8024F354 8FBE0038 */ lw $fp, 0x38($sp)
/* 17DC38 8024F358 8FB70034 */ lw $s7, 0x34($sp)
/* 17DC3C 8024F35C 8FB60030 */ lw $s6, 0x30($sp)
/* 17DC40 8024F360 8FB5002C */ lw $s5, 0x2c($sp)
/* 17DC44 8024F364 8FB40028 */ lw $s4, 0x28($sp)
/* 17DC48 8024F368 8FB30024 */ lw $s3, 0x24($sp)
/* 17DC4C 8024F36C 8FB20020 */ lw $s2, 0x20($sp)
/* 17DC50 8024F370 8FB1001C */ lw $s1, 0x1c($sp)
/* 17DC54 8024F374 8FB00018 */ lw $s0, 0x18($sp)
/* 17DC58 8024F378 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 17DC5C 8024F37C D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 17DC60 8024F380 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 17DC64 8024F384 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 17DC68 8024F388 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 17DC6C 8024F38C 03E00008 */ jr $ra
/* 17DC70 8024F390 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,932 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8029CD98
.word .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L8024FBC0_17E4A0, .L80250654_17EF34, .L80250654_17EF34, .L80250654_17EF34, .L80250654_17EF34, .L80250654_17EF34, .L80250654_17EF34, .L802506BC_17EF9C, .L802506BC_17EF9C, .L802506BC_17EF9C, .L802506BC_17EF9C, .L802506BC_17EF9C, .L802506BC_17EF9C, .L802506BC_17EF9C, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, .L8024FB84_17E464, 0
dlabel jtbl_8029CEF0
.word .L802507A8_17F088, .L80250678_17EF58, .L8024FBA8_17E488, .L802506B0_17EF90, .L8024FBDC_17E4BC, 0
dlabel jtbl_8029CF08
.word .L80250178_17EA58, .L8024FC78_17E558, .L80250178_17EA58, .L80250178_17EA58, .L8024FC68_17E548, .L8024FCDC_17E5BC, .L8024FD40_17E620, .L8024FE1C_17E6FC, .L8024FE2C_17E70C, .L8024FECC_17E7AC, .L8024FEDC_17E7BC, .L8024FF40_17E820, .L8024FFA0_17E880, .L80250178_17EA58, .L80250178_17EA58, .L80250004_17E8E4, .L80250068_17E948, .L80250178_17EA58, .L8025013C_17EA1C, .L8025013C_17EA1C, .L80250178_17EA58, 0
dlabel jtbl_8029CF60
.word .L802504A4_17ED84, .L80250254_17EB34, .L802504A4_17ED84, .L80250224_17EB04, .L8025023C_17EB1C, .L80250284_17EB64, .L802502B4_17EB94, .L80250314_17EBF4, .L8025032C_17EC0C, .L80250374_17EC54, .L8025038C_17EC6C, .L802503BC_17EC9C, .L802503EC_17ECCC, .L8025041C_17ECFC, .L802504A4_17ED84, .L80250434_17ED14, .L8025045C_17ED3C, .L80250474_17ED54, .L8025048C_17ED6C, .L8025048C_17ED6C, .L802504A4_17ED84, 0
dlabel jtbl_8029CFB8
.word .L802505A4_17EE84, .L802505B4_17EE94, .L802505A4_17EE84, .L802505A4_17EE84, .L802505A4_17EE84, .L802505B4_17EE94, .L80250604_17EEE4, .L802505A4_17EE84, .L802505D4_17EEB4, .L802505A4_17EE84, .L802505B4_17EE94, .L802505B4_17EE94, .L802505B4_17EE94, .L802505A4_17EE84, .L802505A4_17EE84, .L802505B4_17EE94, .L802505D4_17EEB4, .L802505A4_17EE84, .L802505A4_17EE84, .L802505A4_17EE84, .L802505A4_17EE84, 0
dlabel jtbl_8029D010
.word .L802507A8_17F088, .L80250678_17EF58, .L80250684_17EF64, .L802506B0_17EF90, .L8024FBDC_17E4BC, 0
dlabel jtbl_8029D028
.word .L80250708_17EFE8, .L80250718_17EFF8, .L80250728_17F008, .L80250738_17F018, .L80250748_17F028, .L80250758_17F038, .L80250768_17F048, 0
.section .text
glabel func_8024FB3C
/* 17E41C 8024FB3C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 17E420 8024FB40 AFB10014 */ sw $s1, 0x14($sp)
/* 17E424 8024FB44 0080882D */ daddu $s1, $a0, $zero
/* 17E428 8024FB48 AFB20018 */ sw $s2, 0x18($sp)
/* 17E42C 8024FB4C AFBF001C */ sw $ra, 0x1c($sp)
/* 17E430 8024FB50 AFB00010 */ sw $s0, 0x10($sp)
/* 17E434 8024FB54 86230012 */ lh $v1, 0x12($s1)
/* 17E438 8024FB58 3C04800E */ lui $a0, %hi(gBattleStatus)
/* 17E43C 8024FB5C 2484C070 */ addiu $a0, $a0, %lo(gBattleStatus)
/* 17E440 8024FB60 2C620055 */ sltiu $v0, $v1, 0x55
/* 17E444 8024FB64 1040031D */ beqz $v0, .L802507DC
/* 17E448 8024FB68 0000902D */ daddu $s2, $zero, $zero
/* 17E44C 8024FB6C 00031080 */ sll $v0, $v1, 2
/* 17E450 8024FB70 3C01802A */ lui $at, %hi(jtbl_8029CD98)
/* 17E454 8024FB74 00220821 */ addu $at, $at, $v0
/* 17E458 8024FB78 8C22CD98 */ lw $v0, %lo(jtbl_8029CD98)($at)
/* 17E45C 8024FB7C 00400008 */ jr $v0
/* 17E460 8024FB80 00000000 */ nop
.L8024FB84_17E464:
/* 17E464 8024FB84 82230016 */ lb $v1, 0x16($s1)
/* 17E468 8024FB88 2C620005 */ sltiu $v0, $v1, 5
/* 17E46C 8024FB8C 10400313 */ beqz $v0, .L802507DC
/* 17E470 8024FB90 00031080 */ sll $v0, $v1, 2
/* 17E474 8024FB94 3C01802A */ lui $at, %hi(jtbl_8029CEF0)
/* 17E478 8024FB98 00220821 */ addu $at, $at, $v0
/* 17E47C 8024FB9C 8C22CEF0 */ lw $v0, %lo(jtbl_8029CEF0)($at)
/* 17E480 8024FBA0 00400008 */ jr $v0
/* 17E484 8024FBA4 00000000 */ nop
.L8024FBA8_17E488:
/* 17E488 8024FBA8 8C820214 */ lw $v0, 0x214($a0)
/* 17E48C 8024FBAC 3042C000 */ andi $v0, $v0, 0xc000
/* 17E490 8024FBB0 544002B8 */ bnel $v0, $zero, .L80250694
/* 17E494 8024FBB4 A6200014 */ sh $zero, 0x14($s1)
/* 17E498 8024FBB8 080941A5 */ j .L80250694
/* 17E49C 8024FBBC 00000000 */ nop
.L8024FBC0_17E4A0:
/* 17E4A0 8024FBC0 3C03802A */ lui $v1, %hi(D_8029F64A)
/* 17E4A4 8024FBC4 2463F64A */ addiu $v1, $v1, %lo(D_8029F64A)
/* 17E4A8 8024FBC8 80840083 */ lb $a0, 0x83($a0)
/* 17E4AC 8024FBCC 24020001 */ addiu $v0, $zero, 1
/* 17E4B0 8024FBD0 14800004 */ bnez $a0, .L8024FBE4
/* 17E4B4 8024FBD4 A4620000 */ sh $v0, ($v1)
/* 17E4B8 8024FBD8 A4600000 */ sh $zero, ($v1)
.L8024FBDC_17E4BC:
/* 17E4BC 8024FBDC 080941F7 */ j .L802507DC
/* 17E4C0 8024FBE0 24120001 */ addiu $s2, $zero, 1
.L8024FBE4:
/* 17E4C4 8024FBE4 82230016 */ lb $v1, 0x16($s1)
/* 17E4C8 8024FBE8 24020001 */ addiu $v0, $zero, 1
/* 17E4CC 8024FBEC 1062016A */ beq $v1, $v0, .L80250198
/* 17E4D0 8024FBF0 28620002 */ slti $v0, $v1, 2
/* 17E4D4 8024FBF4 50400005 */ beql $v0, $zero, .L8024FC0C
/* 17E4D8 8024FBF8 24020002 */ addiu $v0, $zero, 2
/* 17E4DC 8024FBFC 10600007 */ beqz $v1, .L8024FC1C
/* 17E4E0 8024FC00 3C04FFFE */ lui $a0, 0xfffe
/* 17E4E4 8024FC04 080941F7 */ j .L802507DC
/* 17E4E8 8024FC08 00000000 */ nop
.L8024FC0C:
/* 17E4EC 8024FC0C 10620231 */ beq $v1, $v0, .L802504D4
/* 17E4F0 8024FC10 00000000 */ nop
/* 17E4F4 8024FC14 080941F7 */ j .L802507DC
/* 17E4F8 8024FC18 00000000 */ nop
.L8024FC1C:
/* 17E4FC 8024FC1C 3C03800E */ lui $v1, %hi(gBattleStatus)
/* 17E500 8024FC20 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus)
/* 17E504 8024FC24 8C620000 */ lw $v0, ($v1)
/* 17E508 8024FC28 3484FFFF */ ori $a0, $a0, 0xffff
/* 17E50C 8024FC2C 34424000 */ ori $v0, $v0, 0x4000
/* 17E510 8024FC30 00441024 */ and $v0, $v0, $a0
/* 17E514 8024FC34 AC620000 */ sw $v0, ($v1)
/* 17E518 8024FC38 96220012 */ lhu $v0, 0x12($s1)
/* 17E51C 8024FC3C 2442FFD2 */ addiu $v0, $v0, -0x2e
/* 17E520 8024FC40 00021400 */ sll $v0, $v0, 0x10
/* 17E524 8024FC44 00021C03 */ sra $v1, $v0, 0x10
/* 17E528 8024FC48 2C620015 */ sltiu $v0, $v1, 0x15
/* 17E52C 8024FC4C 104002D6 */ beqz $v0, .L802507A8_17F088
/* 17E530 8024FC50 00031080 */ sll $v0, $v1, 2
/* 17E534 8024FC54 3C01802A */ lui $at, %hi(jtbl_8029CF08)
/* 17E538 8024FC58 00220821 */ addu $at, $at, $v0
/* 17E53C 8024FC5C 8C22CF08 */ lw $v0, %lo(jtbl_8029CF08)($at)
/* 17E540 8024FC60 00400008 */ jr $v0
/* 17E544 8024FC64 00000000 */ nop
.L8024FC68_17E548:
/* 17E548 8024FC68 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E54C 8024FC6C 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E550 8024FC70 08094060 */ j .L80250180
/* 17E554 8024FC74 00000000 */ nop
.L8024FC78_17E558:
/* 17E558 8024FC78 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E55C 8024FC7C 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E560 8024FC80 0C050529 */ jal hud_element_create
/* 17E564 8024FC84 00000000 */ nop
/* 17E568 8024FC88 00022400 */ sll $a0, $v0, 0x10
/* 17E56C 8024FC8C 00042403 */ sra $a0, $a0, 0x10
/* 17E570 8024FC90 34058080 */ ori $a1, $zero, 0x8080
/* 17E574 8024FC94 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E578 8024FC98 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E57C 8024FC9C 0C051280 */ jal hud_element_set_flags
/* 17E580 8024FCA0 A6020000 */ sh $v0, ($s0)
/* 17E584 8024FCA4 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E588 8024FCA8 86040000 */ lh $a0, ($s0)
/* 17E58C 8024FCAC 0C051261 */ jal hud_element_set_render_pos
/* 17E590 8024FCB0 00A0302D */ daddu $a2, $a1, $zero
/* 17E594 8024FCB4 3C048029 */ lui $a0, %hi(HES_TimingReady)
/* 17E598 8024FCB8 24842788 */ addiu $a0, $a0, %lo(HES_TimingReady)
/* 17E59C 8024FCBC 0C050529 */ jal hud_element_create
/* 17E5A0 8024FCC0 00000000 */ nop
/* 17E5A4 8024FCC4 00022400 */ sll $a0, $v0, 0x10
/* 17E5A8 8024FCC8 00042403 */ sra $a0, $a0, 0x10
/* 17E5AC 8024FCCC 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E5B0 8024FCD0 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E5B4 8024FCD4 080941E3 */ j .L8025078C
/* 17E5B8 8024FCD8 24050080 */ addiu $a1, $zero, 0x80
.L8024FCDC_17E5BC:
/* 17E5BC 8024FCDC 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E5C0 8024FCE0 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E5C4 8024FCE4 0C050529 */ jal hud_element_create
/* 17E5C8 8024FCE8 00000000 */ nop
/* 17E5CC 8024FCEC 00022400 */ sll $a0, $v0, 0x10
/* 17E5D0 8024FCF0 00042403 */ sra $a0, $a0, 0x10
/* 17E5D4 8024FCF4 34058080 */ ori $a1, $zero, 0x8080
/* 17E5D8 8024FCF8 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E5DC 8024FCFC 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E5E0 8024FD00 0C051280 */ jal hud_element_set_flags
/* 17E5E4 8024FD04 A6020000 */ sh $v0, ($s0)
/* 17E5E8 8024FD08 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E5EC 8024FD0C 86040000 */ lh $a0, ($s0)
/* 17E5F0 8024FD10 0C051261 */ jal hud_element_set_render_pos
/* 17E5F4 8024FD14 00A0302D */ daddu $a2, $a1, $zero
/* 17E5F8 8024FD18 3C048029 */ lui $a0, %hi(HES_AimTarget)
/* 17E5FC 8024FD1C 248436D4 */ addiu $a0, $a0, %lo(HES_AimTarget)
/* 17E600 8024FD20 0C050529 */ jal hud_element_create
/* 17E604 8024FD24 00000000 */ nop
/* 17E608 8024FD28 00022400 */ sll $a0, $v0, 0x10
/* 17E60C 8024FD2C 00042403 */ sra $a0, $a0, 0x10
/* 17E610 8024FD30 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E614 8024FD34 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E618 8024FD38 08094044 */ j .L80250110
/* 17E61C 8024FD3C 34058080 */ ori $a1, $zero, 0x8080
.L8024FD40_17E620:
/* 17E620 8024FD40 3C048029 */ lui $a0, %hi(HES_CUpButton)
/* 17E624 8024FD44 2484259C */ addiu $a0, $a0, %lo(HES_CUpButton)
/* 17E628 8024FD48 0C050529 */ jal hud_element_create
/* 17E62C 8024FD4C 00000000 */ nop
/* 17E630 8024FD50 00022400 */ sll $a0, $v0, 0x10
/* 17E634 8024FD54 00042403 */ sra $a0, $a0, 0x10
/* 17E638 8024FD58 34058080 */ ori $a1, $zero, 0x8080
/* 17E63C 8024FD5C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E640 8024FD60 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E644 8024FD64 0C051280 */ jal hud_element_set_flags
/* 17E648 8024FD68 A6020000 */ sh $v0, ($s0)
/* 17E64C 8024FD6C 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E650 8024FD70 86040000 */ lh $a0, ($s0)
/* 17E654 8024FD74 0C051261 */ jal hud_element_set_render_pos
/* 17E658 8024FD78 00A0302D */ daddu $a2, $a1, $zero
/* 17E65C 8024FD7C 3C048029 */ lui $a0, %hi(HES_CDownButton)
/* 17E660 8024FD80 24842630 */ addiu $a0, $a0, %lo(HES_CDownButton)
/* 17E664 8024FD84 0C050529 */ jal hud_element_create
/* 17E668 8024FD88 00000000 */ nop
/* 17E66C 8024FD8C 00022400 */ sll $a0, $v0, 0x10
/* 17E670 8024FD90 00042403 */ sra $a0, $a0, 0x10
/* 17E674 8024FD94 24050080 */ addiu $a1, $zero, 0x80
/* 17E678 8024FD98 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E67C 8024FD9C 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E680 8024FDA0 0C051280 */ jal hud_element_set_flags
/* 17E684 8024FDA4 A6020000 */ sh $v0, ($s0)
/* 17E688 8024FDA8 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E68C 8024FDAC 86040000 */ lh $a0, ($s0)
/* 17E690 8024FDB0 0C051261 */ jal hud_element_set_render_pos
/* 17E694 8024FDB4 00A0302D */ daddu $a2, $a1, $zero
/* 17E698 8024FDB8 3C048029 */ lui $a0, %hi(HES_CLeftButton)
/* 17E69C 8024FDBC 24842438 */ addiu $a0, $a0, %lo(HES_CLeftButton)
/* 17E6A0 8024FDC0 0C050529 */ jal hud_element_create
/* 17E6A4 8024FDC4 00000000 */ nop
/* 17E6A8 8024FDC8 00022400 */ sll $a0, $v0, 0x10
/* 17E6AC 8024FDCC 00042403 */ sra $a0, $a0, 0x10
/* 17E6B0 8024FDD0 24050080 */ addiu $a1, $zero, 0x80
/* 17E6B4 8024FDD4 3C10802A */ lui $s0, %hi(D_8029F646)
/* 17E6B8 8024FDD8 2610F646 */ addiu $s0, $s0, %lo(D_8029F646)
/* 17E6BC 8024FDDC 0C051280 */ jal hud_element_set_flags
/* 17E6C0 8024FDE0 A6020000 */ sh $v0, ($s0)
/* 17E6C4 8024FDE4 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E6C8 8024FDE8 86040000 */ lh $a0, ($s0)
/* 17E6CC 8024FDEC 0C051261 */ jal hud_element_set_render_pos
/* 17E6D0 8024FDF0 00A0302D */ daddu $a2, $a1, $zero
/* 17E6D4 8024FDF4 3C048029 */ lui $a0, %hi(HES_CRightButton)
/* 17E6D8 8024FDF8 248424CC */ addiu $a0, $a0, %lo(HES_CRightButton)
/* 17E6DC 8024FDFC 0C050529 */ jal hud_element_create
/* 17E6E0 8024FE00 00000000 */ nop
/* 17E6E4 8024FE04 00022400 */ sll $a0, $v0, 0x10
/* 17E6E8 8024FE08 00042403 */ sra $a0, $a0, 0x10
/* 17E6EC 8024FE0C 3C10802A */ lui $s0, %hi(D_8029F648)
/* 17E6F0 8024FE10 2610F648 */ addiu $s0, $s0, %lo(D_8029F648)
/* 17E6F4 8024FE14 080941E3 */ j .L8025078C
/* 17E6F8 8024FE18 24050080 */ addiu $a1, $zero, 0x80
.L8024FE1C_17E6FC:
/* 17E6FC 8024FE1C 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E700 8024FE20 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E704 8024FE24 08094060 */ j .L80250180
/* 17E708 8024FE28 00000000 */ nop
.L8024FE2C_17E70C:
/* 17E70C 8024FE2C 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17E710 8024FE30 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
/* 17E714 8024FE34 0C050529 */ jal hud_element_create
/* 17E718 8024FE38 00000000 */ nop
/* 17E71C 8024FE3C 00022400 */ sll $a0, $v0, 0x10
/* 17E720 8024FE40 00042403 */ sra $a0, $a0, 0x10
/* 17E724 8024FE44 34058080 */ ori $a1, $zero, 0x8080
/* 17E728 8024FE48 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E72C 8024FE4C 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E730 8024FE50 0C051280 */ jal hud_element_set_flags
/* 17E734 8024FE54 A6020000 */ sh $v0, ($s0)
/* 17E738 8024FE58 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E73C 8024FE5C 86040000 */ lh $a0, ($s0)
/* 17E740 8024FE60 0C051261 */ jal hud_element_set_render_pos
/* 17E744 8024FE64 00A0302D */ daddu $a2, $a1, $zero
/* 17E748 8024FE68 3C048029 */ lui $a0, %hi(HES_BButton)
/* 17E74C 8024FE6C 2484231C */ addiu $a0, $a0, %lo(HES_BButton)
/* 17E750 8024FE70 0C050529 */ jal hud_element_create
/* 17E754 8024FE74 00000000 */ nop
/* 17E758 8024FE78 00022400 */ sll $a0, $v0, 0x10
/* 17E75C 8024FE7C 00042403 */ sra $a0, $a0, 0x10
/* 17E760 8024FE80 34058080 */ ori $a1, $zero, 0x8080
/* 17E764 8024FE84 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E768 8024FE88 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E76C 8024FE8C 0C051280 */ jal hud_element_set_flags
/* 17E770 8024FE90 A6020000 */ sh $v0, ($s0)
/* 17E774 8024FE94 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E778 8024FE98 86040000 */ lh $a0, ($s0)
/* 17E77C 8024FE9C 0C051261 */ jal hud_element_set_render_pos
/* 17E780 8024FEA0 00A0302D */ daddu $a2, $a1, $zero
/* 17E784 8024FEA4 3C048029 */ lui $a0, %hi(HES_CDownButton)
/* 17E788 8024FEA8 24842630 */ addiu $a0, $a0, %lo(HES_CDownButton)
/* 17E78C 8024FEAC 0C050529 */ jal hud_element_create
/* 17E790 8024FEB0 00000000 */ nop
/* 17E794 8024FEB4 00022400 */ sll $a0, $v0, 0x10
/* 17E798 8024FEB8 00042403 */ sra $a0, $a0, 0x10
/* 17E79C 8024FEBC 3C10802A */ lui $s0, %hi(D_8029F646)
/* 17E7A0 8024FEC0 2610F646 */ addiu $s0, $s0, %lo(D_8029F646)
/* 17E7A4 8024FEC4 080941E3 */ j .L8025078C
/* 17E7A8 8024FEC8 34058080 */ ori $a1, $zero, 0x8080
.L8024FECC_17E7AC:
/* 17E7AC 8024FECC 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E7B0 8024FED0 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E7B4 8024FED4 08094060 */ j .L80250180
/* 17E7B8 8024FED8 00000000 */ nop
.L8024FEDC_17E7BC:
/* 17E7BC 8024FEDC 3C048029 */ lui $a0, %hi(HES_TimingReady)
/* 17E7C0 8024FEE0 24842788 */ addiu $a0, $a0, %lo(HES_TimingReady)
/* 17E7C4 8024FEE4 0C050529 */ jal hud_element_create
/* 17E7C8 8024FEE8 00000000 */ nop
/* 17E7CC 8024FEEC 00022400 */ sll $a0, $v0, 0x10
/* 17E7D0 8024FEF0 00042403 */ sra $a0, $a0, 0x10
/* 17E7D4 8024FEF4 24050080 */ addiu $a1, $zero, 0x80
/* 17E7D8 8024FEF8 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E7DC 8024FEFC 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E7E0 8024FF00 0C051280 */ jal hud_element_set_flags
/* 17E7E4 8024FF04 A6020000 */ sh $v0, ($s0)
/* 17E7E8 8024FF08 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E7EC 8024FF0C 86040000 */ lh $a0, ($s0)
/* 17E7F0 8024FF10 0C051261 */ jal hud_element_set_render_pos
/* 17E7F4 8024FF14 00A0302D */ daddu $a2, $a1, $zero
/* 17E7F8 8024FF18 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17E7FC 8024FF1C 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
/* 17E800 8024FF20 0C050529 */ jal hud_element_create
/* 17E804 8024FF24 00000000 */ nop
/* 17E808 8024FF28 00022400 */ sll $a0, $v0, 0x10
/* 17E80C 8024FF2C 00042403 */ sra $a0, $a0, 0x10
/* 17E810 8024FF30 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E814 8024FF34 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E818 8024FF38 080941E3 */ j .L8025078C
/* 17E81C 8024FF3C 34058080 */ ori $a1, $zero, 0x8080
.L8024FF40_17E820:
/* 17E820 8024FF40 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17E824 8024FF44 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
/* 17E828 8024FF48 0C050529 */ jal hud_element_create
/* 17E82C 8024FF4C 00000000 */ nop
/* 17E830 8024FF50 00022400 */ sll $a0, $v0, 0x10
/* 17E834 8024FF54 00042403 */ sra $a0, $a0, 0x10
/* 17E838 8024FF58 34058080 */ ori $a1, $zero, 0x8080
/* 17E83C 8024FF5C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E840 8024FF60 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E844 8024FF64 0C051280 */ jal hud_element_set_flags
/* 17E848 8024FF68 A6020000 */ sh $v0, ($s0)
/* 17E84C 8024FF6C 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E850 8024FF70 86040000 */ lh $a0, ($s0)
/* 17E854 8024FF74 0C051261 */ jal hud_element_set_render_pos
/* 17E858 8024FF78 00A0302D */ daddu $a2, $a1, $zero
/* 17E85C 8024FF7C 3C048029 */ lui $a0, %hi(HES_BButton)
/* 17E860 8024FF80 2484231C */ addiu $a0, $a0, %lo(HES_BButton)
/* 17E864 8024FF84 0C050529 */ jal hud_element_create
/* 17E868 8024FF88 00000000 */ nop
/* 17E86C 8024FF8C 86040000 */ lh $a0, ($s0)
/* 17E870 8024FF90 3C01802A */ lui $at, %hi(D_8029F644)
/* 17E874 8024FF94 A422F644 */ sh $v0, %lo(D_8029F644)($at)
/* 17E878 8024FF98 080941E4 */ j .L80250790
/* 17E87C 8024FF9C 34058080 */ ori $a1, $zero, 0x8080
.L8024FFA0_17E880:
/* 17E880 8024FFA0 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17E884 8024FFA4 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
/* 17E888 8024FFA8 0C050529 */ jal hud_element_create
/* 17E88C 8024FFAC 00000000 */ nop
/* 17E890 8024FFB0 00022400 */ sll $a0, $v0, 0x10
/* 17E894 8024FFB4 00042403 */ sra $a0, $a0, 0x10
/* 17E898 8024FFB8 34058080 */ ori $a1, $zero, 0x8080
/* 17E89C 8024FFBC 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E8A0 8024FFC0 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E8A4 8024FFC4 0C051280 */ jal hud_element_set_flags
/* 17E8A8 8024FFC8 A6020000 */ sh $v0, ($s0)
/* 17E8AC 8024FFCC 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E8B0 8024FFD0 86040000 */ lh $a0, ($s0)
/* 17E8B4 8024FFD4 0C051261 */ jal hud_element_set_render_pos
/* 17E8B8 8024FFD8 00A0302D */ daddu $a2, $a1, $zero
/* 17E8BC 8024FFDC 3C048029 */ lui $a0, %hi(HES_BButton)
/* 17E8C0 8024FFE0 2484231C */ addiu $a0, $a0, %lo(HES_BButton)
/* 17E8C4 8024FFE4 0C050529 */ jal hud_element_create
/* 17E8C8 8024FFE8 00000000 */ nop
/* 17E8CC 8024FFEC 00022400 */ sll $a0, $v0, 0x10
/* 17E8D0 8024FFF0 00042403 */ sra $a0, $a0, 0x10
/* 17E8D4 8024FFF4 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E8D8 8024FFF8 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E8DC 8024FFFC 080941E3 */ j .L8025078C
/* 17E8E0 80250000 34058080 */ ori $a1, $zero, 0x8080
.L80250004_17E8E4:
/* 17E8E4 80250004 3C048029 */ lui $a0, %hi(HES_TimingReady)
/* 17E8E8 80250008 24842788 */ addiu $a0, $a0, %lo(HES_TimingReady)
/* 17E8EC 8025000C 0C050529 */ jal hud_element_create
/* 17E8F0 80250010 00000000 */ nop
/* 17E8F4 80250014 00022400 */ sll $a0, $v0, 0x10
/* 17E8F8 80250018 00042403 */ sra $a0, $a0, 0x10
/* 17E8FC 8025001C 24050080 */ addiu $a1, $zero, 0x80
/* 17E900 80250020 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E904 80250024 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E908 80250028 0C051280 */ jal hud_element_set_flags
/* 17E90C 8025002C A6020000 */ sh $v0, ($s0)
/* 17E910 80250030 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E914 80250034 86040000 */ lh $a0, ($s0)
/* 17E918 80250038 0C051261 */ jal hud_element_set_render_pos
/* 17E91C 8025003C 00A0302D */ daddu $a2, $a1, $zero
/* 17E920 80250040 3C048011 */ lui $a0, %hi(HES_AButtonDown)
/* 17E924 80250044 24848B54 */ addiu $a0, $a0, %lo(HES_AButtonDown)
/* 17E928 80250048 0C050529 */ jal hud_element_create
/* 17E92C 8025004C 00000000 */ nop
/* 17E930 80250050 00022400 */ sll $a0, $v0, 0x10
/* 17E934 80250054 00042403 */ sra $a0, $a0, 0x10
/* 17E938 80250058 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E93C 8025005C 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E940 80250060 080941E3 */ j .L8025078C
/* 17E944 80250064 34058080 */ ori $a1, $zero, 0x8080
.L80250068_17E948:
/* 17E948 80250068 3C048011 */ lui $a0, %hi(HES_StickNeutral)
/* 17E94C 8025006C 24848E1C */ addiu $a0, $a0, %lo(HES_StickNeutral)
/* 17E950 80250070 0C050529 */ jal hud_element_create
/* 17E954 80250074 00000000 */ nop
/* 17E958 80250078 00022400 */ sll $a0, $v0, 0x10
/* 17E95C 8025007C 00042403 */ sra $a0, $a0, 0x10
/* 17E960 80250080 34058080 */ ori $a1, $zero, 0x8080
/* 17E964 80250084 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17E968 80250088 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17E96C 8025008C 0C051280 */ jal hud_element_set_flags
/* 17E970 80250090 A6020000 */ sh $v0, ($s0)
/* 17E974 80250094 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E978 80250098 86040000 */ lh $a0, ($s0)
/* 17E97C 8025009C 0C051261 */ jal hud_element_set_render_pos
/* 17E980 802500A0 00A0302D */ daddu $a2, $a1, $zero
/* 17E984 802500A4 3C048029 */ lui $a0, %hi(HES_AimTarget)
/* 17E988 802500A8 248436D4 */ addiu $a0, $a0, %lo(HES_AimTarget)
/* 17E98C 802500AC 0C050529 */ jal hud_element_create
/* 17E990 802500B0 00000000 */ nop
/* 17E994 802500B4 00022400 */ sll $a0, $v0, 0x10
/* 17E998 802500B8 00042403 */ sra $a0, $a0, 0x10
/* 17E99C 802500BC 34058080 */ ori $a1, $zero, 0x8080
/* 17E9A0 802500C0 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17E9A4 802500C4 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17E9A8 802500C8 0C051280 */ jal hud_element_set_flags
/* 17E9AC 802500CC A6020000 */ sh $v0, ($s0)
/* 17E9B0 802500D0 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E9B4 802500D4 86040000 */ lh $a0, ($s0)
/* 17E9B8 802500D8 0C051261 */ jal hud_element_set_render_pos
/* 17E9BC 802500DC 00A0302D */ daddu $a2, $a1, $zero
/* 17E9C0 802500E0 86040000 */ lh $a0, ($s0)
/* 17E9C4 802500E4 0C0513F6 */ jal hud_element_create_transform_B
/* 17E9C8 802500E8 00000000 */ nop
/* 17E9CC 802500EC 3C048029 */ lui $a0, %hi(HES_AimReticle)
/* 17E9D0 802500F0 2484369C */ addiu $a0, $a0, %lo(HES_AimReticle)
/* 17E9D4 802500F4 0C050529 */ jal hud_element_create
/* 17E9D8 802500F8 00000000 */ nop
/* 17E9DC 802500FC 00022400 */ sll $a0, $v0, 0x10
/* 17E9E0 80250100 00042403 */ sra $a0, $a0, 0x10
/* 17E9E4 80250104 34058080 */ ori $a1, $zero, 0x8080
/* 17E9E8 80250108 3C10802A */ lui $s0, %hi(D_8029F646)
/* 17E9EC 8025010C 2610F646 */ addiu $s0, $s0, %lo(D_8029F646)
.L80250110:
/* 17E9F0 80250110 0C051280 */ jal hud_element_set_flags
/* 17E9F4 80250114 A6020000 */ sh $v0, ($s0)
/* 17E9F8 80250118 2405FF9C */ addiu $a1, $zero, -0x64
/* 17E9FC 8025011C 86040000 */ lh $a0, ($s0)
/* 17EA00 80250120 0C051261 */ jal hud_element_set_render_pos
/* 17EA04 80250124 00A0302D */ daddu $a2, $a1, $zero
/* 17EA08 80250128 86040000 */ lh $a0, ($s0)
/* 17EA0C 8025012C 0C0513F6 */ jal hud_element_create_transform_B
/* 17EA10 80250130 00000000 */ nop
/* 17EA14 80250134 080941EB */ j .L802507AC
/* 17EA18 80250138 24020001 */ addiu $v0, $zero, 1
.L8025013C_17EA1C:
/* 17EA1C 8025013C 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17EA20 80250140 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
/* 17EA24 80250144 0C050529 */ jal hud_element_create
/* 17EA28 80250148 00000000 */ nop
/* 17EA2C 8025014C 00022400 */ sll $a0, $v0, 0x10
/* 17EA30 80250150 00042403 */ sra $a0, $a0, 0x10
/* 17EA34 80250154 34058080 */ ori $a1, $zero, 0x8080
/* 17EA38 80250158 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17EA3C 8025015C 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17EA40 80250160 0C051280 */ jal hud_element_set_flags
/* 17EA44 80250164 A6020000 */ sh $v0, ($s0)
/* 17EA48 80250168 2405FF9C */ addiu $a1, $zero, -0x64
/* 17EA4C 8025016C 86040000 */ lh $a0, ($s0)
/* 17EA50 80250170 0C051261 */ jal hud_element_set_render_pos
/* 17EA54 80250174 00A0302D */ daddu $a2, $a1, $zero
.L80250178_17EA58:
/* 17EA58 80250178 3C048011 */ lui $a0, %hi(HES_AButton)
/* 17EA5C 8025017C 24848B28 */ addiu $a0, $a0, %lo(HES_AButton)
.L80250180:
/* 17EA60 80250180 0C050529 */ jal hud_element_create
/* 17EA64 80250184 00000000 */ nop
/* 17EA68 80250188 00022400 */ sll $a0, $v0, 0x10
/* 17EA6C 8025018C 00042403 */ sra $a0, $a0, 0x10
/* 17EA70 80250190 080941E1 */ j .L80250784
/* 17EA74 80250194 34058080 */ ori $a1, $zero, 0x8080
.L80250198:
/* 17EA78 80250198 3C06800E */ lui $a2, %hi(gBattleStatus)
/* 17EA7C 8025019C 24C6C070 */ addiu $a2, $a2, %lo(gBattleStatus)
/* 17EA80 802501A0 8CC30000 */ lw $v1, ($a2)
/* 17EA84 802501A4 3C020001 */ lui $v0, 1
/* 17EA88 802501A8 00621024 */ and $v0, $v1, $v0
/* 17EA8C 802501AC 1040000A */ beqz $v0, .L802501D8
/* 17EA90 802501B0 24050007 */ addiu $a1, $zero, 7
/* 17EA94 802501B4 24040009 */ addiu $a0, $zero, 9
/* 17EA98 802501B8 2402BFFF */ addiu $v0, $zero, -0x4001
/* 17EA9C 802501BC 00621024 */ and $v0, $v1, $v0
/* 17EAA0 802501C0 0C051F9F */ jal set_window_update
/* 17EAA4 802501C4 ACC20000 */ sw $v0, ($a2)
/* 17EAA8 802501C8 24020002 */ addiu $v0, $zero, 2
/* 17EAAC 802501CC A6200014 */ sh $zero, 0x14($s1)
/* 17EAB0 802501D0 080941F7 */ j .L802507DC
/* 17EAB4 802501D4 A2220016 */ sb $v0, 0x16($s1)
.L802501D8:
/* 17EAB8 802501D8 30624000 */ andi $v0, $v1, 0x4000
/* 17EABC 802501DC 1440017F */ bnez $v0, .L802507DC
/* 17EAC0 802501E0 24020002 */ addiu $v0, $zero, 2
/* 17EAC4 802501E4 1082017D */ beq $a0, $v0, .L802507DC
/* 17EAC8 802501E8 24040009 */ addiu $a0, $zero, 9
/* 17EACC 802501EC 0C051F9F */ jal set_window_update
/* 17EAD0 802501F0 24050007 */ addiu $a1, $zero, 7
/* 17EAD4 802501F4 96220012 */ lhu $v0, 0x12($s1)
/* 17EAD8 802501F8 2442FFD2 */ addiu $v0, $v0, -0x2e
/* 17EADC 802501FC 00021400 */ sll $v0, $v0, 0x10
/* 17EAE0 80250200 00021C03 */ sra $v1, $v0, 0x10
/* 17EAE4 80250204 2C620015 */ sltiu $v0, $v1, 0x15
/* 17EAE8 80250208 104000AC */ beqz $v0, .L802504BC
/* 17EAEC 8025020C 00031080 */ sll $v0, $v1, 2
/* 17EAF0 80250210 3C01802A */ lui $at, %hi(jtbl_8029CF60)
/* 17EAF4 80250214 00220821 */ addu $at, $at, $v0
/* 17EAF8 80250218 8C22CF60 */ lw $v0, %lo(jtbl_8029CF60)($at)
/* 17EAFC 8025021C 00400008 */ jr $v0
/* 17EB00 80250220 00000000 */ nop
.L80250224_17EB04:
/* 17EB04 80250224 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EB08 80250228 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EB0C 8025022C 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17EB10 80250230 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17EB14 80250234 0809412D */ j .L802504B4
/* 17EB18 80250238 00000000 */ nop
.L8025023C_17EB1C:
/* 17EB1C 8025023C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EB20 80250240 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EB24 80250244 3C058011 */ lui $a1, %hi(HES_StickMashLeft)
/* 17EB28 80250248 24A58F30 */ addiu $a1, $a1, %lo(HES_StickMashLeft)
/* 17EB2C 8025024C 0809412D */ j .L802504B4
/* 17EB30 80250250 00000000 */ nop
.L80250254_17EB34:
/* 17EB34 80250254 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EB38 80250258 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EB3C 8025025C 3C058011 */ lui $a1, %hi(HES_StickTapLeft)
/* 17EB40 80250260 24A58F90 */ addiu $a1, $a1, %lo(HES_StickTapLeft)
/* 17EB44 80250264 0C0511FF */ jal hud_element_set_script
/* 17EB48 80250268 00000000 */ nop
/* 17EB4C 8025026C 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EB50 80250270 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EB54 80250274 3C058029 */ lui $a1, %hi(HES_TimingBlink)
/* 17EB58 80250278 24A527B4 */ addiu $a1, $a1, %lo(HES_TimingBlink)
/* 17EB5C 8025027C 0809412D */ j .L802504B4
/* 17EB60 80250280 00000000 */ nop
.L80250284_17EB64:
/* 17EB64 80250284 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EB68 80250288 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EB6C 8025028C 3C058011 */ lui $a1, %hi(HES_StickTapLeft)
/* 17EB70 80250290 24A58F90 */ addiu $a1, $a1, %lo(HES_StickTapLeft)
/* 17EB74 80250294 0C0511FF */ jal hud_element_set_script
/* 17EB78 80250298 00000000 */ nop
/* 17EB7C 8025029C 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EB80 802502A0 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EB84 802502A4 3C058029 */ lui $a1, %hi(HES_AimTarget)
/* 17EB88 802502A8 24A536D4 */ addiu $a1, $a1, %lo(HES_AimTarget)
/* 17EB8C 802502AC 0809412D */ j .L802504B4
/* 17EB90 802502B0 00000000 */ nop
.L802502B4_17EB94:
/* 17EB94 802502B4 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EB98 802502B8 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EB9C 802502BC 3C058029 */ lui $a1, %hi(HES_MashCUpButton)
/* 17EBA0 802502C0 24A525F4 */ addiu $a1, $a1, %lo(HES_MashCUpButton)
/* 17EBA4 802502C4 0C0511FF */ jal hud_element_set_script
/* 17EBA8 802502C8 00000000 */ nop
/* 17EBAC 802502CC 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EBB0 802502D0 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EBB4 802502D4 3C058029 */ lui $a1, %hi(HES_MashCDownButton1)
/* 17EBB8 802502D8 24A52688 */ addiu $a1, $a1, %lo(HES_MashCDownButton1)
/* 17EBBC 802502DC 0C0511FF */ jal hud_element_set_script
/* 17EBC0 802502E0 00000000 */ nop
/* 17EBC4 802502E4 3C04802A */ lui $a0, %hi(D_8029F646)
/* 17EBC8 802502E8 8484F646 */ lh $a0, %lo(D_8029F646)($a0)
/* 17EBCC 802502EC 3C058029 */ lui $a1, %hi(HES_MashCLeftButton)
/* 17EBD0 802502F0 24A52490 */ addiu $a1, $a1, %lo(HES_MashCLeftButton)
/* 17EBD4 802502F4 0C0511FF */ jal hud_element_set_script
/* 17EBD8 802502F8 00000000 */ nop
/* 17EBDC 802502FC 3C04802A */ lui $a0, %hi(D_8029F648)
/* 17EBE0 80250300 8484F648 */ lh $a0, %lo(D_8029F648)($a0)
/* 17EBE4 80250304 3C058029 */ lui $a1, %hi(HES_MashCRightButton1)
/* 17EBE8 80250308 24A52524 */ addiu $a1, $a1, %lo(HES_MashCRightButton1)
/* 17EBEC 8025030C 0809412D */ j .L802504B4
/* 17EBF0 80250310 00000000 */ nop
.L80250314_17EBF4:
/* 17EBF4 80250314 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EBF8 80250318 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EBFC 8025031C 3C058011 */ lui $a1, %hi(HES_StickBackAndForth)
/* 17EC00 80250320 24A58E80 */ addiu $a1, $a1, %lo(HES_StickBackAndForth)
/* 17EC04 80250324 0809412D */ j .L802504B4
/* 17EC08 80250328 00000000 */ nop
.L8025032C_17EC0C:
/* 17EC0C 8025032C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EC10 80250330 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EC14 80250334 3C058011 */ lui $a1, %hi(HES_PressAButton)
/* 17EC18 80250338 24A58BBC */ addiu $a1, $a1, %lo(HES_PressAButton)
/* 17EC1C 8025033C 0C0511FF */ jal hud_element_set_script
/* 17EC20 80250340 00000000 */ nop
/* 17EC24 80250344 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EC28 80250348 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EC2C 8025034C 3C058029 */ lui $a1, %hi(HES_PressBButton)
/* 17EC30 80250350 24A523B0 */ addiu $a1, $a1, %lo(HES_PressBButton)
/* 17EC34 80250354 0C0511FF */ jal hud_element_set_script
/* 17EC38 80250358 00000000 */ nop
/* 17EC3C 8025035C 3C04802A */ lui $a0, %hi(D_8029F646)
/* 17EC40 80250360 8484F646 */ lh $a0, %lo(D_8029F646)($a0)
/* 17EC44 80250364 3C058029 */ lui $a1, %hi(HES_PressCDownButton)
/* 17EC48 80250368 24A526C4 */ addiu $a1, $a1, %lo(HES_PressCDownButton)
/* 17EC4C 8025036C 0809412D */ j .L802504B4
/* 17EC50 80250370 00000000 */ nop
.L80250374_17EC54:
/* 17EC54 80250374 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EC58 80250378 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EC5C 8025037C 3C058011 */ lui $a1, %hi(HES_RotateStickCW)
/* 17EC60 80250380 24A58D6C */ addiu $a1, $a1, %lo(HES_RotateStickCW)
/* 17EC64 80250384 0809412D */ j .L802504B4
/* 17EC68 80250388 00000000 */ nop
.L8025038C_17EC6C:
/* 17EC6C 8025038C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EC70 80250390 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EC74 80250394 3C058029 */ lui $a1, %hi(HES_TimingBlink)
/* 17EC78 80250398 24A527B4 */ addiu $a1, $a1, %lo(HES_TimingBlink)
/* 17EC7C 8025039C 0C0511FF */ jal hud_element_set_script
/* 17EC80 802503A0 00000000 */ nop
/* 17EC84 802503A4 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EC88 802503A8 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EC8C 802503AC 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17EC90 802503B0 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17EC94 802503B4 0809412D */ j .L802504B4
/* 17EC98 802503B8 00000000 */ nop
.L802503BC_17EC9C:
/* 17EC9C 802503BC 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ECA0 802503C0 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ECA4 802503C4 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17ECA8 802503C8 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17ECAC 802503CC 0C0511FF */ jal hud_element_set_script
/* 17ECB0 802503D0 00000000 */ nop
/* 17ECB4 802503D4 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17ECB8 802503D8 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17ECBC 802503DC 3C058029 */ lui $a1, %hi(HES_MashBButton2)
/* 17ECC0 802503E0 24A523FC */ addiu $a1, $a1, %lo(HES_MashBButton2)
/* 17ECC4 802503E4 0809412D */ j .L802504B4
/* 17ECC8 802503E8 00000000 */ nop
.L802503EC_17ECCC:
/* 17ECCC 802503EC 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ECD0 802503F0 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ECD4 802503F4 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17ECD8 802503F8 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17ECDC 802503FC 0C0511FF */ jal hud_element_set_script
/* 17ECE0 80250400 00000000 */ nop
/* 17ECE4 80250404 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17ECE8 80250408 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17ECEC 8025040C 3C058029 */ lui $a1, %hi(HES_MashBButton1)
/* 17ECF0 80250410 24A52374 */ addiu $a1, $a1, %lo(HES_MashBButton1)
/* 17ECF4 80250414 0809412D */ j .L802504B4
/* 17ECF8 80250418 00000000 */ nop
.L8025041C_17ECFC:
/* 17ECFC 8025041C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED00 80250420 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ED04 80250424 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17ED08 80250428 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17ED0C 8025042C 0809412D */ j .L802504B4
/* 17ED10 80250430 00000000 */ nop
.L80250434_17ED14:
/* 17ED14 80250434 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED18 80250438 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ED1C 8025043C 3C058029 */ lui $a1, %hi(HES_TimingBlink)
/* 17ED20 80250440 24A527B4 */ addiu $a1, $a1, %lo(HES_TimingBlink)
/* 17ED24 80250444 0C0511FF */ jal hud_element_set_script
/* 17ED28 80250448 00000000 */ nop
/* 17ED2C 8025044C 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17ED30 80250450 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17ED34 80250454 0809412B */ j .L802504AC
/* 17ED38 80250458 00000000 */ nop
.L8025045C_17ED3C:
/* 17ED3C 8025045C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED40 80250460 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ED44 80250464 3C058011 */ lui $a1, %hi(HES_StickTapRight)
/* 17ED48 80250468 24A591E4 */ addiu $a1, $a1, %lo(HES_StickTapRight)
/* 17ED4C 8025046C 0809412D */ j .L802504B4
/* 17ED50 80250470 00000000 */ nop
.L80250474_17ED54:
/* 17ED54 80250474 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED58 80250478 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ED5C 8025047C 3C058011 */ lui $a1, %hi(HES_MashAButton)
/* 17ED60 80250480 24A58B80 */ addiu $a1, $a1, %lo(HES_MashAButton)
/* 17ED64 80250484 0809412D */ j .L802504B4
/* 17ED68 80250488 00000000 */ nop
.L8025048C_17ED6C:
/* 17ED6C 8025048C 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED70 80250490 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17ED74 80250494 3C058011 */ lui $a1, %hi(HES_PressAButton)
/* 17ED78 80250498 24A58BBC */ addiu $a1, $a1, %lo(HES_PressAButton)
/* 17ED7C 8025049C 0C0511FF */ jal hud_element_set_script
/* 17ED80 802504A0 00000000 */ nop
.L802504A4_17ED84:
/* 17ED84 802504A4 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17ED88 802504A8 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
.L802504AC:
/* 17ED8C 802504AC 3C058011 */ lui $a1, %hi(HES_PressAButton)
/* 17ED90 802504B0 24A58BBC */ addiu $a1, $a1, %lo(HES_PressAButton)
.L802504B4:
/* 17ED94 802504B4 0C0511FF */ jal hud_element_set_script
/* 17ED98 802504B8 00000000 */ nop
.L802504BC:
/* 17ED9C 802504BC 86230014 */ lh $v1, 0x14($s1)
/* 17EDA0 802504C0 2402FFFF */ addiu $v0, $zero, -1
/* 17EDA4 802504C4 1062006C */ beq $v1, $v0, .L80250678_17EF58
/* 17EDA8 802504C8 2402001E */ addiu $v0, $zero, 0x1e
/* 17EDAC 802504CC 0809419E */ j .L80250678_17EF58
/* 17EDB0 802504D0 A6220014 */ sh $v0, 0x14($s1)
.L802504D4:
/* 17EDB4 802504D4 14830006 */ bne $a0, $v1, .L802504F0
/* 17EDB8 802504D8 3C030001 */ lui $v1, 1
/* 17EDBC 802504DC 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 17EDC0 802504E0 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0)
/* 17EDC4 802504E4 00431024 */ and $v0, $v0, $v1
/* 17EDC8 802504E8 104000BC */ beqz $v0, .L802507DC
/* 17EDCC 802504EC 00000000 */ nop
.L802504F0:
/* 17EDD0 802504F0 3C04802A */ lui $a0, %hi(D_8029F64E)
/* 17EDD4 802504F4 2484F64E */ addiu $a0, $a0, %lo(D_8029F64E)
/* 17EDD8 802504F8 84820000 */ lh $v0, ($a0)
/* 17EDDC 802504FC 94830000 */ lhu $v1, ($a0)
/* 17EDE0 80250500 284200C0 */ slti $v0, $v0, 0xc0
/* 17EDE4 80250504 1040000C */ beqz $v0, .L80250538
/* 17EDE8 80250508 00000000 */ nop
/* 17EDEC 8025050C 3C02802A */ lui $v0, %hi(D_8029F64C)
/* 17EDF0 80250510 8442F64C */ lh $v0, %lo(D_8029F64C)($v0)
/* 17EDF4 80250514 144000B1 */ bnez $v0, .L802507DC
/* 17EDF8 80250518 2462000A */ addiu $v0, $v1, 0xa
/* 17EDFC 8025051C A4820000 */ sh $v0, ($a0)
/* 17EE00 80250520 00021400 */ sll $v0, $v0, 0x10
/* 17EE04 80250524 00021403 */ sra $v0, $v0, 0x10
/* 17EE08 80250528 284200C1 */ slti $v0, $v0, 0xc1
/* 17EE0C 8025052C 14400002 */ bnez $v0, .L80250538
/* 17EE10 80250530 240200C0 */ addiu $v0, $zero, 0xc0
/* 17EE14 80250534 A4820000 */ sh $v0, ($a0)
.L80250538:
/* 17EE18 80250538 3C02802A */ lui $v0, %hi(D_8029F64E)
/* 17EE1C 8025053C 9442F64E */ lhu $v0, %lo(D_8029F64E)($v0)
/* 17EE20 80250540 3C03802A */ lui $v1, %hi(D_8029F650)
/* 17EE24 80250544 9463F650 */ lhu $v1, %lo(D_8029F650)($v1)
/* 17EE28 80250548 00431021 */ addu $v0, $v0, $v1
/* 17EE2C 8025054C 3C018016 */ lui $at, %hi(D_80159E7E)
/* 17EE30 80250550 A4229E7E */ sh $v0, %lo(D_80159E7E)($at)
/* 17EE34 80250554 2402FFFF */ addiu $v0, $zero, -1
/* 17EE38 80250558 86240014 */ lh $a0, 0x14($s1)
/* 17EE3C 8025055C 1082009F */ beq $a0, $v0, .L802507DC
/* 17EE40 80250560 96230014 */ lhu $v1, 0x14($s1)
/* 17EE44 80250564 10800003 */ beqz $a0, .L80250574
/* 17EE48 80250568 00621021 */ addu $v0, $v1, $v0
/* 17EE4C 8025056C 080941F7 */ j .L802507DC
/* 17EE50 80250570 A6220014 */ sh $v0, 0x14($s1)
.L80250574:
/* 17EE54 80250574 96220012 */ lhu $v0, 0x12($s1)
/* 17EE58 80250578 2442FFD2 */ addiu $v0, $v0, -0x2e
/* 17EE5C 8025057C 00021400 */ sll $v0, $v0, 0x10
/* 17EE60 80250580 00021C03 */ sra $v1, $v0, 0x10
/* 17EE64 80250584 2C620015 */ sltiu $v0, $v1, 0x15
/* 17EE68 80250588 1040002E */ beqz $v0, .L80250644
/* 17EE6C 8025058C 00031080 */ sll $v0, $v1, 2
/* 17EE70 80250590 3C01802A */ lui $at, %hi(jtbl_8029CFB8)
/* 17EE74 80250594 00220821 */ addu $at, $at, $v0
/* 17EE78 80250598 8C22CFB8 */ lw $v0, %lo(jtbl_8029CFB8)($at)
/* 17EE7C 8025059C 00400008 */ jr $v0
/* 17EE80 802505A0 00000000 */ nop
.L802505A4_17EE84:
/* 17EE84 802505A4 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EE88 802505A8 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EE8C 802505AC 0809418F */ j .L8025063C
/* 17EE90 802505B0 00000000 */ nop
.L802505B4_17EE94:
/* 17EE94 802505B4 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EE98 802505B8 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EE9C 802505BC 0C05123D */ jal hud_element_free
/* 17EEA0 802505C0 00000000 */ nop
/* 17EEA4 802505C4 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EEA8 802505C8 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EEAC 802505CC 0809418F */ j .L8025063C
/* 17EEB0 802505D0 00000000 */ nop
.L802505D4_17EEB4:
/* 17EEB4 802505D4 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EEB8 802505D8 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EEBC 802505DC 0C05123D */ jal hud_element_free
/* 17EEC0 802505E0 00000000 */ nop
/* 17EEC4 802505E4 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EEC8 802505E8 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EECC 802505EC 0C05123D */ jal hud_element_free
/* 17EED0 802505F0 00000000 */ nop
/* 17EED4 802505F4 3C04802A */ lui $a0, %hi(D_8029F646)
/* 17EED8 802505F8 8484F646 */ lh $a0, %lo(D_8029F646)($a0)
/* 17EEDC 802505FC 0809418F */ j .L8025063C
/* 17EEE0 80250600 00000000 */ nop
.L80250604_17EEE4:
/* 17EEE4 80250604 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17EEE8 80250608 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17EEEC 8025060C 0C05123D */ jal hud_element_free
/* 17EEF0 80250610 00000000 */ nop
/* 17EEF4 80250614 3C04802A */ lui $a0, %hi(D_8029F644)
/* 17EEF8 80250618 8484F644 */ lh $a0, %lo(D_8029F644)($a0)
/* 17EEFC 8025061C 0C05123D */ jal hud_element_free
/* 17EF00 80250620 00000000 */ nop
/* 17EF04 80250624 3C04802A */ lui $a0, %hi(D_8029F646)
/* 17EF08 80250628 8484F646 */ lh $a0, %lo(D_8029F646)($a0)
/* 17EF0C 8025062C 0C05123D */ jal hud_element_free
/* 17EF10 80250630 00000000 */ nop
/* 17EF14 80250634 3C04802A */ lui $a0, %hi(D_8029F648)
/* 17EF18 80250638 8484F648 */ lh $a0, %lo(D_8029F648)($a0)
.L8025063C:
/* 17EF1C 8025063C 0C05123D */ jal hud_element_free
/* 17EF20 80250640 00000000 */ nop
.L80250644:
/* 17EF24 80250644 3C01802A */ lui $at, %hi(D_8029F64A)
/* 17EF28 80250648 A420F64A */ sh $zero, %lo(D_8029F64A)($at)
/* 17EF2C 8025064C 080941F7 */ j .L802507DC
/* 17EF30 80250650 24120001 */ addiu $s2, $zero, 1
.L80250654_17EF34:
/* 17EF34 80250654 82230016 */ lb $v1, 0x16($s1)
/* 17EF38 80250658 2C620005 */ sltiu $v0, $v1, 5
/* 17EF3C 8025065C 1040005F */ beqz $v0, .L802507DC
/* 17EF40 80250660 00031080 */ sll $v0, $v1, 2
/* 17EF44 80250664 3C01802A */ lui $at, %hi(jtbl_8029D010)
/* 17EF48 80250668 00220821 */ addu $at, $at, $v0
/* 17EF4C 8025066C 8C22D010 */ lw $v0, %lo(jtbl_8029D010)($at)
/* 17EF50 80250670 00400008 */ jr $v0
/* 17EF54 80250674 00000000 */ nop
.L80250678_17EF58:
/* 17EF58 80250678 24020002 */ addiu $v0, $zero, 2
/* 17EF5C 8025067C 080941F7 */ j .L802507DC
/* 17EF60 80250680 A2220016 */ sb $v0, 0x16($s1)
.L80250684_17EF64:
/* 17EF64 80250684 8C820214 */ lw $v0, 0x214($a0)
/* 17EF68 80250688 3042C000 */ andi $v0, $v0, 0xc000
/* 17EF6C 8025068C 54400001 */ bnel $v0, $zero, .L80250694
/* 17EF70 80250690 A6200014 */ sh $zero, 0x14($s1)
.L80250694:
/* 17EF74 80250694 86220014 */ lh $v0, 0x14($s1)
/* 17EF78 80250698 96230014 */ lhu $v1, 0x14($s1)
/* 17EF7C 8025069C 14400049 */ bnez $v0, .L802507C4
/* 17EF80 802506A0 2462FFFF */ addiu $v0, $v1, -1
/* 17EF84 802506A4 24020003 */ addiu $v0, $zero, 3
/* 17EF88 802506A8 080941F7 */ j .L802507DC
/* 17EF8C 802506AC A2220016 */ sb $v0, 0x16($s1)
.L802506B0_17EF90:
/* 17EF90 802506B0 24020004 */ addiu $v0, $zero, 4
/* 17EF94 802506B4 080941F7 */ j .L802507DC
/* 17EF98 802506B8 A2220016 */ sb $v0, 0x16($s1)
.L802506BC_17EF9C:
/* 17EF9C 802506BC 82230016 */ lb $v1, 0x16($s1)
/* 17EFA0 802506C0 10600005 */ beqz $v1, .L802506D8
/* 17EFA4 802506C4 24020001 */ addiu $v0, $zero, 1
/* 17EFA8 802506C8 1062003A */ beq $v1, $v0, .L802507B4
/* 17EFAC 802506CC 00000000 */ nop
/* 17EFB0 802506D0 080941F7 */ j .L802507DC
/* 17EFB4 802506D4 00000000 */ nop
.L802506D8:
/* 17EFB8 802506D8 96220012 */ lhu $v0, 0x12($s1)
/* 17EFBC 802506DC 2442FFB7 */ addiu $v0, $v0, -0x49
/* 17EFC0 802506E0 00021400 */ sll $v0, $v0, 0x10
/* 17EFC4 802506E4 00021C03 */ sra $v1, $v0, 0x10
/* 17EFC8 802506E8 2C620007 */ sltiu $v0, $v1, 7
/* 17EFCC 802506EC 1040002E */ beqz $v0, .L802507A8_17F088
/* 17EFD0 802506F0 00031080 */ sll $v0, $v1, 2
/* 17EFD4 802506F4 3C01802A */ lui $at, %hi(jtbl_8029D028)
/* 17EFD8 802506F8 00220821 */ addu $at, $at, $v0
/* 17EFDC 802506FC 8C22D028 */ lw $v0, %lo(jtbl_8029D028)($at)
/* 17EFE0 80250700 00400008 */ jr $v0
/* 17EFE4 80250704 00000000 */ nop
.L80250708_17EFE8:
/* 17EFE8 80250708 3C048008 */ lui $a0, %hi(HES_Item_Hammer1)
/* 17EFEC 8025070C 248406A0 */ addiu $a0, $a0, %lo(HES_Item_Hammer1)
/* 17EFF0 80250710 080941DC */ j .L80250770
/* 17EFF4 80250714 00000000 */ nop
.L80250718_17EFF8:
/* 17EFF8 80250718 3C048008 */ lui $a0, %hi(HES_Item_Hammer2)
/* 17EFFC 8025071C 248406D0 */ addiu $a0, $a0, %lo(HES_Item_Hammer2)
/* 17F000 80250720 080941DC */ j .L80250770
/* 17F004 80250724 00000000 */ nop
.L80250728_17F008:
/* 17F008 80250728 3C048008 */ lui $a0, %hi(HES_Item_Hammer3)
/* 17F00C 8025072C 24840700 */ addiu $a0, $a0, %lo(HES_Item_Hammer3)
/* 17F010 80250730 080941DC */ j .L80250770
/* 17F014 80250734 00000000 */ nop
.L80250738_17F018:
/* 17F018 80250738 3C048008 */ lui $a0, %hi(HES_Item_Boots1)
/* 17F01C 8025073C 24840730 */ addiu $a0, $a0, %lo(HES_Item_Boots1)
/* 17F020 80250740 080941DC */ j .L80250770
/* 17F024 80250744 00000000 */ nop
.L80250748_17F028:
/* 17F028 80250748 3C048008 */ lui $a0, %hi(HES_Item_Boots2)
/* 17F02C 8025074C 24840760 */ addiu $a0, $a0, %lo(HES_Item_Boots2)
/* 17F030 80250750 080941DC */ j .L80250770
/* 17F034 80250754 00000000 */ nop
.L80250758_17F038:
/* 17F038 80250758 3C048008 */ lui $a0, %hi(HES_Item_Boots3)
/* 17F03C 8025075C 24840790 */ addiu $a0, $a0, %lo(HES_Item_Boots3)
/* 17F040 80250760 080941DC */ j .L80250770
/* 17F044 80250764 00000000 */ nop
.L80250768_17F048:
/* 17F048 80250768 3C048008 */ lui $a0, %hi(HES_Item_Items)
/* 17F04C 8025076C 248407C0 */ addiu $a0, $a0, %lo(HES_Item_Items)
.L80250770:
/* 17F050 80250770 0C050529 */ jal hud_element_create
/* 17F054 80250774 00000000 */ nop
/* 17F058 80250778 00022400 */ sll $a0, $v0, 0x10
/* 17F05C 8025077C 00042403 */ sra $a0, $a0, 0x10
/* 17F060 80250780 24050080 */ addiu $a1, $zero, 0x80
.L80250784:
/* 17F064 80250784 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F068 80250788 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
.L8025078C:
/* 17F06C 8025078C A6020000 */ sh $v0, ($s0)
.L80250790:
/* 17F070 80250790 0C051280 */ jal hud_element_set_flags
/* 17F074 80250794 00000000 */ nop
/* 17F078 80250798 2405FF9C */ addiu $a1, $zero, -0x64
/* 17F07C 8025079C 86040000 */ lh $a0, ($s0)
/* 17F080 802507A0 0C051261 */ jal hud_element_set_render_pos
/* 17F084 802507A4 00A0302D */ daddu $a2, $a1, $zero
.L802507A8_17F088:
/* 17F088 802507A8 24020001 */ addiu $v0, $zero, 1
.L802507AC:
/* 17F08C 802507AC 080941F7 */ j .L802507DC
/* 17F090 802507B0 A2220016 */ sb $v0, 0x16($s1)
.L802507B4:
/* 17F094 802507B4 86220014 */ lh $v0, 0x14($s1)
/* 17F098 802507B8 96230014 */ lhu $v1, 0x14($s1)
/* 17F09C 802507BC 10400003 */ beqz $v0, .L802507CC
/* 17F0A0 802507C0 2462FFFF */ addiu $v0, $v1, -1
.L802507C4:
/* 17F0A4 802507C4 080941F7 */ j .L802507DC
/* 17F0A8 802507C8 A6220014 */ sh $v0, 0x14($s1)
.L802507CC:
/* 17F0AC 802507CC 3C04802A */ lui $a0, %hi(D_8029F642)
/* 17F0B0 802507D0 8484F642 */ lh $a0, %lo(D_8029F642)($a0)
/* 17F0B4 802507D4 0C05123D */ jal hud_element_free
/* 17F0B8 802507D8 24120001 */ addiu $s2, $zero, 1
.L802507DC:
/* 17F0BC 802507DC 12400008 */ beqz $s2, .L80250800
/* 17F0C0 802507E0 00000000 */ nop
/* 17F0C4 802507E4 24040009 */ addiu $a0, $zero, 9
/* 17F0C8 802507E8 0C051F9F */ jal set_window_update
/* 17F0CC 802507EC 24050002 */ addiu $a1, $zero, 2
/* 17F0D0 802507F0 3C018028 */ lui $at, %hi(D_802838F8)
/* 17F0D4 802507F4 AC2038F8 */ sw $zero, %lo(D_802838F8)($at)
/* 17F0D8 802507F8 0C093BE9 */ jal free_popup
/* 17F0DC 802507FC 0220202D */ daddu $a0, $s1, $zero
.L80250800:
/* 17F0E0 80250800 8FBF001C */ lw $ra, 0x1c($sp)
/* 17F0E4 80250804 8FB20018 */ lw $s2, 0x18($sp)
/* 17F0E8 80250808 8FB10014 */ lw $s1, 0x14($sp)
/* 17F0EC 8025080C 8FB00010 */ lw $s0, 0x10($sp)
/* 17F0F0 80250810 03E00008 */ jr $ra
/* 17F0F4 80250814 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,460 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8029D048
.word .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L802508C0_17F1A0, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L802509DC_17F2BC, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, .L80250988_17F268, .L80250988_17F268, .L80250988_17F268, .L80250988_17F268, .L80250988_17F268, .L80250988_17F268, .L80250988_17F268, .L80250868_17F148, .L8025090C_17F1EC, .L80250868_17F148, .L80250868_17F148, .L80250868_17F148, 0
dlabel jtbl_8029D1A0
.word .L80250A88_17F368, .L80250AA0_17F380, .L80250B00_17F3E0, .L80250B18_17F3F8, .L80250B30_17F410, .L80250B58_17F438, .L80250E80_17F760, .L80250E80_17F760, .L80250BB0_17F490, .L80250E80_17F760, .L80250C54_17F534, .L80250E80_17F760, .L80250C9C_17F57C, .L80250E80_17F760, .L80250D00_17F5E0, .L80250D18_17F5F8, .L80250D60_17F640, .L80250E80_17F760, .L80250E3C_17F71C, .L80250E3C_17F71C
.section .text
glabel func_80250818
/* 17F0F8 80250818 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 17F0FC 8025081C AFB20020 */ sw $s2, 0x20($sp)
/* 17F100 80250820 24B2000F */ addiu $s2, $a1, 0xf
/* 17F104 80250824 AFB30024 */ sw $s3, 0x24($sp)
/* 17F108 80250828 0080982D */ daddu $s3, $a0, $zero
/* 17F10C 8025082C AFBF002C */ sw $ra, 0x2c($sp)
/* 17F110 80250830 AFB40028 */ sw $s4, 0x28($sp)
/* 17F114 80250834 AFB1001C */ sw $s1, 0x1c($sp)
/* 17F118 80250838 AFB00018 */ sw $s0, 0x18($sp)
/* 17F11C 8025083C F7B40030 */ sdc1 $f20, 0x30($sp)
/* 17F120 80250840 86630012 */ lh $v1, 0x12($s3)
/* 17F124 80250844 2C620055 */ sltiu $v0, $v1, 0x55
/* 17F128 80250848 1040018D */ beqz $v0, .L80250E80_17F760
/* 17F12C 8025084C 24D10006 */ addiu $s1, $a2, 6
/* 17F130 80250850 00031080 */ sll $v0, $v1, 2
/* 17F134 80250854 3C01802A */ lui $at, %hi(jtbl_8029D048)
/* 17F138 80250858 00220821 */ addu $at, $at, $v0
/* 17F13C 8025085C 8C22D048 */ lw $v0, %lo(jtbl_8029D048)($at)
/* 17F140 80250860 00400008 */ jr $v0
/* 17F144 80250864 00000000 */ nop
.L80250868_17F148:
/* 17F148 80250868 86620012 */ lh $v0, 0x12($s3)
/* 17F14C 8025086C 00021080 */ sll $v0, $v0, 2
/* 17F150 80250870 3C108028 */ lui $s0, %hi(bMessages)
/* 17F154 80250874 02028021 */ addu $s0, $s0, $v0
/* 17F158 80250878 8E103770 */ lw $s0, %lo(bMessages)($s0)
/* 17F15C 8025087C 0C04992C */ jal get_msg_lines
/* 17F160 80250880 0200202D */ daddu $a0, $s0, $zero
/* 17F164 80250884 2443FFFF */ addiu $v1, $v0, -1
/* 17F168 80250888 0200202D */ daddu $a0, $s0, $zero
/* 17F16C 8025088C 0240282D */ daddu $a1, $s2, $zero
/* 17F170 80250890 240700FF */ addiu $a3, $zero, 0xff
/* 17F174 80250894 00031040 */ sll $v0, $v1, 1
/* 17F178 80250898 3C068028 */ lui $a2, %hi(D_802835D4)
/* 17F17C 8025089C 00C23021 */ addu $a2, $a2, $v0
/* 17F180 802508A0 84C635D4 */ lh $a2, %lo(D_802835D4)($a2)
/* 17F184 802508A4 2402000F */ addiu $v0, $zero, 0xf
/* 17F188 802508A8 AFA20010 */ sw $v0, 0x10($sp)
/* 17F18C 802508AC AFA00014 */ sw $zero, 0x14($sp)
/* 17F190 802508B0 0C04993B */ jal draw_msg
/* 17F194 802508B4 02263021 */ addu $a2, $s1, $a2
/* 17F198 802508B8 080943A0 */ j .L80250E80_17F760
/* 17F19C 802508BC 00000000 */ nop
.L802508C0_17F1A0:
/* 17F1A0 802508C0 86620012 */ lh $v0, 0x12($s3)
/* 17F1A4 802508C4 00021080 */ sll $v0, $v0, 2
/* 17F1A8 802508C8 3C108028 */ lui $s0, %hi(bMessages)
/* 17F1AC 802508CC 02028021 */ addu $s0, $s0, $v0
/* 17F1B0 802508D0 8E103770 */ lw $s0, %lo(bMessages)($s0)
/* 17F1B4 802508D4 0C04992C */ jal get_msg_lines
/* 17F1B8 802508D8 0200202D */ daddu $a0, $s0, $zero
/* 17F1BC 802508DC 2443FFFF */ addiu $v1, $v0, -1
/* 17F1C0 802508E0 0000282D */ daddu $a1, $zero, $zero
/* 17F1C4 802508E4 00031040 */ sll $v0, $v1, 1
/* 17F1C8 802508E8 3C018028 */ lui $at, %hi(D_802835D4)
/* 17F1CC 802508EC 00220821 */ addu $at, $at, $v0
/* 17F1D0 802508F0 842235D4 */ lh $v0, %lo(D_802835D4)($at)
/* 17F1D4 802508F4 3C04802A */ lui $a0, %hi(D_8029F640)
/* 17F1D8 802508F8 8484F640 */ lh $a0, %lo(D_8029F640)($a0)
/* 17F1DC 802508FC 0C0496FA */ jal set_message_value
/* 17F1E0 80250900 02228821 */ addu $s1, $s1, $v0
/* 17F1E4 80250904 08094259 */ j .L80250964
/* 17F1E8 80250908 0200202D */ daddu $a0, $s0, $zero
.L8025090C_17F1EC:
/* 17F1EC 8025090C 86620012 */ lh $v0, 0x12($s3)
/* 17F1F0 80250910 00021080 */ sll $v0, $v0, 2
/* 17F1F4 80250914 3C108028 */ lui $s0, %hi(bMessages)
/* 17F1F8 80250918 02028021 */ addu $s0, $s0, $v0
/* 17F1FC 8025091C 8E103770 */ lw $s0, %lo(bMessages)($s0)
/* 17F200 80250920 0C04992C */ jal get_msg_lines
/* 17F204 80250924 0200202D */ daddu $a0, $s0, $zero
/* 17F208 80250928 2443FFFF */ addiu $v1, $v0, -1
/* 17F20C 8025092C 0000282D */ daddu $a1, $zero, $zero
/* 17F210 80250930 00031840 */ sll $v1, $v1, 1
/* 17F214 80250934 3C02802A */ lui $v0, %hi(D_8029F640)
/* 17F218 80250938 8442F640 */ lh $v0, %lo(D_8029F640)($v0)
/* 17F21C 8025093C 3C018028 */ lui $at, %hi(D_802835D4)
/* 17F220 80250940 00230821 */ addu $at, $at, $v1
/* 17F224 80250944 842335D4 */ lh $v1, %lo(D_802835D4)($at)
/* 17F228 80250948 00021080 */ sll $v0, $v0, 2
/* 17F22C 8025094C 3C048028 */ lui $a0, %hi(bActorMessages)
/* 17F230 80250950 00822021 */ addu $a0, $a0, $v0
/* 17F234 80250954 8C8438C4 */ lw $a0, %lo(bActorMessages)($a0)
/* 17F238 80250958 0C0496CF */ jal set_message_msg
/* 17F23C 8025095C 02238821 */ addu $s1, $s1, $v1
/* 17F240 80250960 0200202D */ daddu $a0, $s0, $zero
.L80250964:
/* 17F244 80250964 0240282D */ daddu $a1, $s2, $zero
/* 17F248 80250968 0220302D */ daddu $a2, $s1, $zero
/* 17F24C 8025096C 240700FF */ addiu $a3, $zero, 0xff
/* 17F250 80250970 2402000F */ addiu $v0, $zero, 0xf
/* 17F254 80250974 AFA20010 */ sw $v0, 0x10($sp)
/* 17F258 80250978 0C04993B */ jal draw_msg
/* 17F25C 8025097C AFA00014 */ sw $zero, 0x14($sp)
/* 17F260 80250980 080943A0 */ j .L80250E80_17F760
/* 17F264 80250984 00000000 */ nop
.L80250988_17F268:
/* 17F268 80250988 2645001D */ addiu $a1, $s2, 0x1d
/* 17F26C 8025098C 26260006 */ addiu $a2, $s1, 6
/* 17F270 80250990 86620012 */ lh $v0, 0x12($s3)
/* 17F274 80250994 240700FF */ addiu $a3, $zero, 0xff
/* 17F278 80250998 00021080 */ sll $v0, $v0, 2
/* 17F27C 8025099C 3C108028 */ lui $s0, %hi(bMessages)
/* 17F280 802509A0 02028021 */ addu $s0, $s0, $v0
/* 17F284 802509A4 8E103770 */ lw $s0, %lo(bMessages)($s0)
/* 17F288 802509A8 2402000F */ addiu $v0, $zero, 0xf
/* 17F28C 802509AC AFA20010 */ sw $v0, 0x10($sp)
/* 17F290 802509B0 AFA00014 */ sw $zero, 0x14($sp)
/* 17F294 802509B4 0C04993B */ jal draw_msg
/* 17F298 802509B8 0200202D */ daddu $a0, $s0, $zero
/* 17F29C 802509BC 2645000D */ addiu $a1, $s2, 0xd
/* 17F2A0 802509C0 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F2A4 802509C4 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F2A8 802509C8 86040000 */ lh $a0, ($s0)
/* 17F2AC 802509CC 0C051261 */ jal hud_element_set_render_pos
/* 17F2B0 802509D0 2626000E */ addiu $a2, $s1, 0xe
/* 17F2B4 802509D4 0809439D */ j .L80250E74
/* 17F2B8 802509D8 00000000 */ nop
.L802509DC_17F2BC:
/* 17F2BC 802509DC 82620016 */ lb $v0, 0x16($s3)
/* 17F2C0 802509E0 28420002 */ slti $v0, $v0, 2
/* 17F2C4 802509E4 10400002 */ beqz $v0, .L802509F0
/* 17F2C8 802509E8 241400FF */ addiu $s4, $zero, 0xff
/* 17F2CC 802509EC 241400A0 */ addiu $s4, $zero, 0xa0
.L802509F0:
/* 17F2D0 802509F0 86630012 */ lh $v1, 0x12($s3)
/* 17F2D4 802509F4 2402003B */ addiu $v0, $zero, 0x3b
/* 17F2D8 802509F8 50620001 */ beql $v1, $v0, .L80250A00
/* 17F2DC 802509FC 241400FF */ addiu $s4, $zero, 0xff
.L80250A00:
/* 17F2E0 80250A00 2652FFF5 */ addiu $s2, $s2, -0xb
/* 17F2E4 80250A04 00031080 */ sll $v0, $v1, 2
/* 17F2E8 80250A08 3C108028 */ lui $s0, %hi(bMessages)
/* 17F2EC 80250A0C 02028021 */ addu $s0, $s0, $v0
/* 17F2F0 80250A10 8E103770 */ lw $s0, %lo(bMessages)($s0)
/* 17F2F4 80250A14 2631FFFA */ addiu $s1, $s1, -6
/* 17F2F8 80250A18 0C04992C */ jal get_msg_lines
/* 17F2FC 80250A1C 0200202D */ daddu $a0, $s0, $zero
/* 17F300 80250A20 2443FFFF */ addiu $v1, $v0, -1
/* 17F304 80250A24 0200202D */ daddu $a0, $s0, $zero
/* 17F308 80250A28 2645000B */ addiu $a1, $s2, 0xb
/* 17F30C 80250A2C 0280382D */ daddu $a3, $s4, $zero
/* 17F310 80250A30 00031040 */ sll $v0, $v1, 1
/* 17F314 80250A34 3C038028 */ lui $v1, %hi(D_802835D4)
/* 17F318 80250A38 00621821 */ addu $v1, $v1, $v0
/* 17F31C 80250A3C 846335D4 */ lh $v1, %lo(D_802835D4)($v1)
/* 17F320 80250A40 2402000F */ addiu $v0, $zero, 0xf
/* 17F324 80250A44 AFA20010 */ sw $v0, 0x10($sp)
/* 17F328 80250A48 AFA00014 */ sw $zero, 0x14($sp)
/* 17F32C 80250A4C 02238821 */ addu $s1, $s1, $v1
/* 17F330 80250A50 0C04993B */ jal draw_msg
/* 17F334 80250A54 26260006 */ addiu $a2, $s1, 6
/* 17F338 80250A58 96620012 */ lhu $v0, 0x12($s3)
/* 17F33C 80250A5C 2442FFD2 */ addiu $v0, $v0, -0x2e
/* 17F340 80250A60 00021400 */ sll $v0, $v0, 0x10
/* 17F344 80250A64 00021C03 */ sra $v1, $v0, 0x10
/* 17F348 80250A68 2C620014 */ sltiu $v0, $v1, 0x14
/* 17F34C 80250A6C 10400104 */ beqz $v0, .L80250E80_17F760
/* 17F350 80250A70 00031080 */ sll $v0, $v1, 2
/* 17F354 80250A74 3C01802A */ lui $at, %hi(jtbl_8029D1A0)
/* 17F358 80250A78 00220821 */ addu $at, $at, $v0
/* 17F35C 80250A7C 8C22D1A0 */ lw $v0, %lo(jtbl_8029D1A0)($at)
/* 17F360 80250A80 00400008 */ jr $v0
/* 17F364 80250A84 00000000 */ nop
.L80250A88_17F368:
/* 17F368 80250A88 26450041 */ addiu $a1, $s2, 0x41
/* 17F36C 80250A8C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F370 80250A90 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F374 80250A94 86040000 */ lh $a0, ($s0)
/* 17F378 80250A98 08094394 */ j .L80250E50
/* 17F37C 80250A9C 2626000E */ addiu $a2, $s1, 0xe
.L80250AA0_17F380:
/* 17F380 80250AA0 26450037 */ addiu $a1, $s2, 0x37
/* 17F384 80250AA4 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F388 80250AA8 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F38C 80250AAC 86040000 */ lh $a0, ($s0)
/* 17F390 80250AB0 0C051261 */ jal hud_element_set_render_pos
/* 17F394 80250AB4 2626000E */ addiu $a2, $s1, 0xe
/* 17F398 80250AB8 86040000 */ lh $a0, ($s0)
/* 17F39C 80250ABC 3C053F19 */ lui $a1, 0x3f19
/* 17F3A0 80250AC0 0C051308 */ jal hud_element_set_scale
/* 17F3A4 80250AC4 34A5999A */ ori $a1, $a1, 0x999a
/* 17F3A8 80250AC8 86040000 */ lh $a0, ($s0)
/* 17F3AC 80250ACC 0C0513AC */ jal hud_element_set_alpha
/* 17F3B0 80250AD0 0280282D */ daddu $a1, $s4, $zero
/* 17F3B4 80250AD4 86040000 */ lh $a0, ($s0)
/* 17F3B8 80250AD8 0C0511EA */ jal hud_element_draw_clipped
/* 17F3BC 80250ADC 00000000 */ nop
/* 17F3C0 80250AE0 26450049 */ addiu $a1, $s2, 0x49
/* 17F3C4 80250AE4 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F3C8 80250AE8 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F3CC 80250AEC 86040000 */ lh $a0, ($s0)
/* 17F3D0 80250AF0 0C051261 */ jal hud_element_set_render_pos
/* 17F3D4 80250AF4 2626001F */ addiu $a2, $s1, 0x1f
/* 17F3D8 80250AF8 0809439A */ j .L80250E68
/* 17F3DC 80250AFC 00000000 */ nop
.L80250B00_17F3E0:
/* 17F3E0 80250B00 26450040 */ addiu $a1, $s2, 0x40
/* 17F3E4 80250B04 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F3E8 80250B08 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F3EC 80250B0C 86040000 */ lh $a0, ($s0)
/* 17F3F0 80250B10 08094394 */ j .L80250E50
/* 17F3F4 80250B14 2626000E */ addiu $a2, $s1, 0xe
.L80250B18_17F3F8:
/* 17F3F8 80250B18 26450043 */ addiu $a1, $s2, 0x43
/* 17F3FC 80250B1C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F400 80250B20 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F404 80250B24 86040000 */ lh $a0, ($s0)
/* 17F408 80250B28 08094394 */ j .L80250E50
/* 17F40C 80250B2C 2626000E */ addiu $a2, $s1, 0xe
.L80250B30_17F410:
/* 17F410 80250B30 26450038 */ addiu $a1, $s2, 0x38
/* 17F414 80250B34 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F418 80250B38 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F41C 80250B3C 86040000 */ lh $a0, ($s0)
/* 17F420 80250B40 0C051261 */ jal hud_element_set_render_pos
/* 17F424 80250B44 2626000E */ addiu $a2, $s1, 0xe
/* 17F428 80250B48 86040000 */ lh $a0, ($s0)
/* 17F42C 80250B4C 3C053F19 */ lui $a1, 0x3f19
/* 17F430 80250B50 08094398 */ j .L80250E60
/* 17F434 80250B54 34A5999A */ ori $a1, $a1, 0x999a
.L80250B58_17F438:
/* 17F438 80250B58 26450041 */ addiu $a1, $s2, 0x41
/* 17F43C 80250B5C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F440 80250B60 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F444 80250B64 86040000 */ lh $a0, ($s0)
/* 17F448 80250B68 0C051261 */ jal hud_element_set_render_pos
/* 17F44C 80250B6C 2626000D */ addiu $a2, $s1, 0xd
/* 17F450 80250B70 86040000 */ lh $a0, ($s0)
/* 17F454 80250B74 3C053F19 */ lui $a1, 0x3f19
/* 17F458 80250B78 0C051308 */ jal hud_element_set_scale
/* 17F45C 80250B7C 34A5999A */ ori $a1, $a1, 0x999a
/* 17F460 80250B80 86040000 */ lh $a0, ($s0)
/* 17F464 80250B84 0C0513AC */ jal hud_element_set_alpha
/* 17F468 80250B88 0280282D */ daddu $a1, $s4, $zero
/* 17F46C 80250B8C 86040000 */ lh $a0, ($s0)
/* 17F470 80250B90 0C0511EA */ jal hud_element_draw_clipped
/* 17F474 80250B94 00000000 */ nop
/* 17F478 80250B98 26450092 */ addiu $a1, $s2, 0x92
/* 17F47C 80250B9C 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F480 80250BA0 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F484 80250BA4 86040000 */ lh $a0, ($s0)
/* 17F488 80250BA8 08094381 */ j .L80250E04
/* 17F48C 80250BAC 26260020 */ addiu $a2, $s1, 0x20
.L80250BB0_17F490:
/* 17F490 80250BB0 26450056 */ addiu $a1, $s2, 0x56
/* 17F494 80250BB4 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F498 80250BB8 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F49C 80250BBC 2631000D */ addiu $s1, $s1, 0xd
/* 17F4A0 80250BC0 86040000 */ lh $a0, ($s0)
/* 17F4A4 80250BC4 0C051261 */ jal hud_element_set_render_pos
/* 17F4A8 80250BC8 0220302D */ daddu $a2, $s1, $zero
/* 17F4AC 80250BCC 3C013F00 */ lui $at, 0x3f00
/* 17F4B0 80250BD0 4481A000 */ mtc1 $at, $f20
/* 17F4B4 80250BD4 86040000 */ lh $a0, ($s0)
/* 17F4B8 80250BD8 4405A000 */ mfc1 $a1, $f20
/* 17F4BC 80250BDC 0C051308 */ jal hud_element_set_scale
/* 17F4C0 80250BE0 00000000 */ nop
/* 17F4C4 80250BE4 86040000 */ lh $a0, ($s0)
/* 17F4C8 80250BE8 0C0513AC */ jal hud_element_set_alpha
/* 17F4CC 80250BEC 0280282D */ daddu $a1, $s4, $zero
/* 17F4D0 80250BF0 86040000 */ lh $a0, ($s0)
/* 17F4D4 80250BF4 0C0511EA */ jal hud_element_draw_clipped
/* 17F4D8 80250BF8 00000000 */ nop
/* 17F4DC 80250BFC 26450040 */ addiu $a1, $s2, 0x40
/* 17F4E0 80250C00 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F4E4 80250C04 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F4E8 80250C08 86040000 */ lh $a0, ($s0)
/* 17F4EC 80250C0C 0C051261 */ jal hud_element_set_render_pos
/* 17F4F0 80250C10 0220302D */ daddu $a2, $s1, $zero
/* 17F4F4 80250C14 86040000 */ lh $a0, ($s0)
/* 17F4F8 80250C18 4405A000 */ mfc1 $a1, $f20
/* 17F4FC 80250C1C 0C051308 */ jal hud_element_set_scale
/* 17F500 80250C20 00000000 */ nop
/* 17F504 80250C24 86040000 */ lh $a0, ($s0)
/* 17F508 80250C28 0C0513AC */ jal hud_element_set_alpha
/* 17F50C 80250C2C 0280282D */ daddu $a1, $s4, $zero
/* 17F510 80250C30 86040000 */ lh $a0, ($s0)
/* 17F514 80250C34 0C0511EA */ jal hud_element_draw_clipped
/* 17F518 80250C38 00000000 */ nop
/* 17F51C 80250C3C 2645006C */ addiu $a1, $s2, 0x6c
/* 17F520 80250C40 3C10802A */ lui $s0, %hi(D_8029F646)
/* 17F524 80250C44 2610F646 */ addiu $s0, $s0, %lo(D_8029F646)
/* 17F528 80250C48 86040000 */ lh $a0, ($s0)
/* 17F52C 80250C4C 08094394 */ j .L80250E50
/* 17F530 80250C50 0220302D */ daddu $a2, $s1, $zero
.L80250C54_17F534:
/* 17F534 80250C54 26450069 */ addiu $a1, $s2, 0x69
/* 17F538 80250C58 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F53C 80250C5C 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F540 80250C60 86040000 */ lh $a0, ($s0)
/* 17F544 80250C64 0C051261 */ jal hud_element_set_render_pos
/* 17F548 80250C68 2626000D */ addiu $a2, $s1, 0xd
/* 17F54C 80250C6C 86040000 */ lh $a0, ($s0)
/* 17F550 80250C70 0C0513AC */ jal hud_element_set_alpha
/* 17F554 80250C74 0280282D */ daddu $a1, $s4, $zero
/* 17F558 80250C78 86040000 */ lh $a0, ($s0)
/* 17F55C 80250C7C 0C0511EA */ jal hud_element_draw_clipped
/* 17F560 80250C80 00000000 */ nop
/* 17F564 80250C84 26450041 */ addiu $a1, $s2, 0x41
/* 17F568 80250C88 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F56C 80250C8C 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F570 80250C90 86040000 */ lh $a0, ($s0)
/* 17F574 80250C94 08094394 */ j .L80250E50
/* 17F578 80250C98 2626000E */ addiu $a2, $s1, 0xe
.L80250C9C_17F57C:
/* 17F57C 80250C9C 2645003F */ addiu $a1, $s2, 0x3f
/* 17F580 80250CA0 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F584 80250CA4 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F588 80250CA8 2631000E */ addiu $s1, $s1, 0xe
/* 17F58C 80250CAC 86040000 */ lh $a0, ($s0)
/* 17F590 80250CB0 0C051261 */ jal hud_element_set_render_pos
/* 17F594 80250CB4 0220302D */ daddu $a2, $s1, $zero
/* 17F598 80250CB8 3C013F00 */ lui $at, 0x3f00
/* 17F59C 80250CBC 4481A000 */ mtc1 $at, $f20
/* 17F5A0 80250CC0 86040000 */ lh $a0, ($s0)
/* 17F5A4 80250CC4 4405A000 */ mfc1 $a1, $f20
/* 17F5A8 80250CC8 0C051308 */ jal hud_element_set_scale
/* 17F5AC 80250CCC 00000000 */ nop
/* 17F5B0 80250CD0 86040000 */ lh $a0, ($s0)
/* 17F5B4 80250CD4 0C0513AC */ jal hud_element_set_alpha
/* 17F5B8 80250CD8 0280282D */ daddu $a1, $s4, $zero
/* 17F5BC 80250CDC 86040000 */ lh $a0, ($s0)
/* 17F5C0 80250CE0 0C0511EA */ jal hud_element_draw_clipped
/* 17F5C4 80250CE4 00000000 */ nop
/* 17F5C8 80250CE8 26450054 */ addiu $a1, $s2, 0x54
/* 17F5CC 80250CEC 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F5D0 80250CF0 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F5D4 80250CF4 86040000 */ lh $a0, ($s0)
/* 17F5D8 80250CF8 08094394 */ j .L80250E50
/* 17F5DC 80250CFC 0220302D */ daddu $a2, $s1, $zero
.L80250D00_17F5E0:
/* 17F5E0 80250D00 2645007C */ addiu $a1, $s2, 0x7c
/* 17F5E4 80250D04 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F5E8 80250D08 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F5EC 80250D0C 86040000 */ lh $a0, ($s0)
/* 17F5F0 80250D10 08094394 */ j .L80250E50
/* 17F5F4 80250D14 2626000E */ addiu $a2, $s1, 0xe
.L80250D18_17F5F8:
/* 17F5F8 80250D18 26450038 */ addiu $a1, $s2, 0x38
/* 17F5FC 80250D1C 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F600 80250D20 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F604 80250D24 86040000 */ lh $a0, ($s0)
/* 17F608 80250D28 0C051261 */ jal hud_element_set_render_pos
/* 17F60C 80250D2C 2626001F */ addiu $a2, $s1, 0x1f
/* 17F610 80250D30 86040000 */ lh $a0, ($s0)
/* 17F614 80250D34 0C0513AC */ jal hud_element_set_alpha
/* 17F618 80250D38 0280282D */ daddu $a1, $s4, $zero
/* 17F61C 80250D3C 86040000 */ lh $a0, ($s0)
/* 17F620 80250D40 0C0511EA */ jal hud_element_draw_clipped
/* 17F624 80250D44 00000000 */ nop
/* 17F628 80250D48 26450035 */ addiu $a1, $s2, 0x35
/* 17F62C 80250D4C 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F630 80250D50 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F634 80250D54 86040000 */ lh $a0, ($s0)
/* 17F638 80250D58 08094394 */ j .L80250E50
/* 17F63C 80250D5C 2626000E */ addiu $a2, $s1, 0xe
.L80250D60_17F640:
/* 17F640 80250D60 2645006B */ addiu $a1, $s2, 0x6b
/* 17F644 80250D64 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F648 80250D68 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F64C 80250D6C 86040000 */ lh $a0, ($s0)
/* 17F650 80250D70 0C051261 */ jal hud_element_set_render_pos
/* 17F654 80250D74 2626000D */ addiu $a2, $s1, 0xd
/* 17F658 80250D78 86040000 */ lh $a0, ($s0)
/* 17F65C 80250D7C 3C053F19 */ lui $a1, 0x3f19
/* 17F660 80250D80 34A5999A */ ori $a1, $a1, 0x999a
/* 17F664 80250D84 0C051308 */ jal hud_element_set_scale
/* 17F668 80250D88 2631000F */ addiu $s1, $s1, 0xf
/* 17F66C 80250D8C 86040000 */ lh $a0, ($s0)
/* 17F670 80250D90 0C0513AC */ jal hud_element_set_alpha
/* 17F674 80250D94 0280282D */ daddu $a1, $s4, $zero
/* 17F678 80250D98 86040000 */ lh $a0, ($s0)
/* 17F67C 80250D9C 0C0511EA */ jal hud_element_draw_clipped
/* 17F680 80250DA0 00000000 */ nop
/* 17F684 80250DA4 264500D2 */ addiu $a1, $s2, 0xd2
/* 17F688 80250DA8 3C10802A */ lui $s0, %hi(D_8029F644)
/* 17F68C 80250DAC 2610F644 */ addiu $s0, $s0, %lo(D_8029F644)
/* 17F690 80250DB0 86040000 */ lh $a0, ($s0)
/* 17F694 80250DB4 0C051261 */ jal hud_element_set_render_pos
/* 17F698 80250DB8 0220302D */ daddu $a2, $s1, $zero
/* 17F69C 80250DBC 3C013F4C */ lui $at, 0x3f4c
/* 17F6A0 80250DC0 3421CCCD */ ori $at, $at, 0xcccd
/* 17F6A4 80250DC4 4481A000 */ mtc1 $at, $f20
/* 17F6A8 80250DC8 86040000 */ lh $a0, ($s0)
/* 17F6AC 80250DCC 4405A000 */ mfc1 $a1, $f20
/* 17F6B0 80250DD0 0C051308 */ jal hud_element_set_scale
/* 17F6B4 80250DD4 00000000 */ nop
/* 17F6B8 80250DD8 86040000 */ lh $a0, ($s0)
/* 17F6BC 80250DDC 0C0513AC */ jal hud_element_set_alpha
/* 17F6C0 80250DE0 0280282D */ daddu $a1, $s4, $zero
/* 17F6C4 80250DE4 86040000 */ lh $a0, ($s0)
/* 17F6C8 80250DE8 0C051086 */ jal func_80144218
/* 17F6CC 80250DEC 00000000 */ nop
/* 17F6D0 80250DF0 26450038 */ addiu $a1, $s2, 0x38
/* 17F6D4 80250DF4 3C10802A */ lui $s0, %hi(D_8029F646)
/* 17F6D8 80250DF8 2610F646 */ addiu $s0, $s0, %lo(D_8029F646)
/* 17F6DC 80250DFC 86040000 */ lh $a0, ($s0)
/* 17F6E0 80250E00 0220302D */ daddu $a2, $s1, $zero
.L80250E04:
/* 17F6E4 80250E04 0C051261 */ jal hud_element_set_render_pos
/* 17F6E8 80250E08 00000000 */ nop
/* 17F6EC 80250E0C 86040000 */ lh $a0, ($s0)
/* 17F6F0 80250E10 3C053F4C */ lui $a1, 0x3f4c
/* 17F6F4 80250E14 0C051308 */ jal hud_element_set_scale
/* 17F6F8 80250E18 34A5CCCD */ ori $a1, $a1, 0xcccd
/* 17F6FC 80250E1C 86040000 */ lh $a0, ($s0)
/* 17F700 80250E20 0C0513AC */ jal hud_element_set_alpha
/* 17F704 80250E24 0280282D */ daddu $a1, $s4, $zero
/* 17F708 80250E28 86040000 */ lh $a0, ($s0)
/* 17F70C 80250E2C 0C051086 */ jal func_80144218
/* 17F710 80250E30 00000000 */ nop
/* 17F714 80250E34 080943A0 */ j .L80250E80_17F760
/* 17F718 80250E38 00000000 */ nop
.L80250E3C_17F71C:
/* 17F71C 80250E3C 26450040 */ addiu $a1, $s2, 0x40
/* 17F720 80250E40 3C10802A */ lui $s0, %hi(D_8029F642)
/* 17F724 80250E44 2610F642 */ addiu $s0, $s0, %lo(D_8029F642)
/* 17F728 80250E48 86040000 */ lh $a0, ($s0)
/* 17F72C 80250E4C 2626000D */ addiu $a2, $s1, 0xd
.L80250E50:
/* 17F730 80250E50 0C051261 */ jal hud_element_set_render_pos
/* 17F734 80250E54 00000000 */ nop
/* 17F738 80250E58 86040000 */ lh $a0, ($s0)
/* 17F73C 80250E5C 3C053F00 */ lui $a1, 0x3f00
.L80250E60:
/* 17F740 80250E60 0C051308 */ jal hud_element_set_scale
/* 17F744 80250E64 00000000 */ nop
.L80250E68:
/* 17F748 80250E68 86040000 */ lh $a0, ($s0)
/* 17F74C 80250E6C 0C0513AC */ jal hud_element_set_alpha
/* 17F750 80250E70 0280282D */ daddu $a1, $s4, $zero
.L80250E74:
/* 17F754 80250E74 86040000 */ lh $a0, ($s0)
/* 17F758 80250E78 0C0511EA */ jal hud_element_draw_clipped
/* 17F75C 80250E7C 00000000 */ nop
.L80250E80_17F760:
/* 17F760 80250E80 8FBF002C */ lw $ra, 0x2c($sp)
/* 17F764 80250E84 8FB40028 */ lw $s4, 0x28($sp)
/* 17F768 80250E88 8FB30024 */ lw $s3, 0x24($sp)
/* 17F76C 80250E8C 8FB20020 */ lw $s2, 0x20($sp)
/* 17F770 80250E90 8FB1001C */ lw $s1, 0x1c($sp)
/* 17F774 80250E94 8FB00018 */ lw $s0, 0x18($sp)
/* 17F778 80250E98 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 17F77C 80250E9C 03E00008 */ jr $ra
/* 17F780 80250EA0 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,67 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025995C
/* 18823C 8025995C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 188240 80259960 AFB40028 */ sw $s4, 0x28($sp)
/* 188244 80259964 00A0A02D */ daddu $s4, $a1, $zero
/* 188248 80259968 AFB30024 */ sw $s3, 0x24($sp)
/* 18824C 8025996C 00C0982D */ daddu $s3, $a2, $zero
/* 188250 80259970 AFB1001C */ sw $s1, 0x1c($sp)
/* 188254 80259974 241100FF */ addiu $s1, $zero, 0xff
/* 188258 80259978 AFB00018 */ sw $s0, 0x18($sp)
/* 18825C 8025997C AFBF002C */ sw $ra, 0x2c($sp)
/* 188260 80259980 AFB20020 */ sw $s2, 0x20($sp)
/* 188264 80259984 84830098 */ lh $v1, 0x98($a0)
/* 188268 80259988 8C9200C0 */ lw $s2, 0xc0($a0)
/* 18826C 8025998C 0071102A */ slt $v0, $v1, $s1
/* 188270 80259990 10400003 */ beqz $v0, .L802599A0
/* 188274 80259994 0000802D */ daddu $s0, $zero, $zero
/* 188278 80259998 3C108000 */ lui $s0, 0x8000
/* 18827C 8025999C 0060882D */ daddu $s1, $v1, $zero
.L802599A0:
/* 188280 802599A0 8C820000 */ lw $v0, ($a0)
/* 188284 802599A4 30420100 */ andi $v0, $v0, 0x100
/* 188288 802599A8 1040000C */ beqz $v0, .L802599DC
/* 18828C 802599AC 3C038080 */ lui $v1, 0x8080
/* 188290 802599B0 34638081 */ ori $v1, $v1, 0x8081
/* 188294 802599B4 00111100 */ sll $v0, $s1, 4
/* 188298 802599B8 00511023 */ subu $v0, $v0, $s1
/* 18829C 802599BC 000210C0 */ sll $v0, $v0, 3
/* 1882A0 802599C0 00430018 */ mult $v0, $v1
/* 1882A4 802599C4 3C108000 */ lui $s0, 0x8000
/* 1882A8 802599C8 00004010 */ mfhi $t0
/* 1882AC 802599CC 01021821 */ addu $v1, $t0, $v0
/* 1882B0 802599D0 000319C3 */ sra $v1, $v1, 7
/* 1882B4 802599D4 000217C3 */ sra $v0, $v0, 0x1f
/* 1882B8 802599D8 00628823 */ subu $s1, $v1, $v0
.L802599DC:
/* 1882BC 802599DC 92420768 */ lbu $v0, 0x768($s2)
/* 1882C0 802599E0 5040000A */ beql $v0, $zero, .L80259A0C
/* 1882C4 802599E4 AFB30010 */ sw $s3, 0x10($sp)
/* 1882C8 802599E8 0C096525 */ jal func_80259494
/* 1882CC 802599EC 00000000 */ nop
/* 1882D0 802599F0 AFB30010 */ sw $s3, 0x10($sp)
/* 1882D4 802599F4 3C042000 */ lui $a0, 0x2000
/* 1882D8 802599F8 02042025 */ or $a0, $s0, $a0
/* 1882DC 802599FC 0280282D */ daddu $a1, $s4, $zero
/* 1882E0 80259A00 0220302D */ daddu $a2, $s1, $zero
/* 1882E4 80259A04 08096688 */ j .L80259A20
/* 1882E8 80259A08 2647076C */ addiu $a3, $s2, 0x76c
.L80259A0C:
/* 1882EC 80259A0C 3C042000 */ lui $a0, 0x2000
/* 1882F0 80259A10 02042025 */ or $a0, $s0, $a0
/* 1882F4 80259A14 0280282D */ daddu $a1, $s4, $zero
/* 1882F8 80259A18 0220302D */ daddu $a2, $s1, $zero
/* 1882FC 80259A1C 264706D4 */ addiu $a3, $s2, 0x6d4
.L80259A20:
/* 188300 80259A20 0C0B7710 */ jal spr_draw_player_sprite
/* 188304 80259A24 00000000 */ nop
/* 188308 80259A28 8FBF002C */ lw $ra, 0x2c($sp)
/* 18830C 80259A2C 8FB40028 */ lw $s4, 0x28($sp)
/* 188310 80259A30 8FB30024 */ lw $s3, 0x24($sp)
/* 188314 80259A34 8FB20020 */ lw $s2, 0x20($sp)
/* 188318 80259A38 8FB1001C */ lw $s1, 0x1c($sp)
/* 18831C 80259A3C 8FB00018 */ lw $s0, 0x18($sp)
/* 188320 80259A40 03E00008 */ jr $ra
/* 188324 80259A44 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80218560_56E800
/* 56E800 80218560 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 56E804 80218564 AFB00020 */ sw $s0, 0x20($sp)
/* 56E808 80218568 0080802D */ daddu $s0, $a0, $zero
/* 56E80C 8021856C AFBF0028 */ sw $ra, 0x28($sp)
/* 56E810 80218570 AFB10024 */ sw $s1, 0x24($sp)
/* 56E814 80218574 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 56E818 80218578 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 56E81C 8021857C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 56E820 80218580 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 56E824 80218584 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 56E828 80218588 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 56E82C 8021858C 8E02000C */ lw $v0, 0xc($s0)
/* 56E830 80218590 0C0B1EAF */ jal evt_get_variable
/* 56E834 80218594 8C450000 */ lw $a1, ($v0)
/* 56E838 80218598 0040882D */ daddu $s1, $v0, $zero
/* 56E83C 8021859C 24040001 */ addiu $a0, $zero, 1
/* 56E840 802185A0 1224002F */ beq $s1, $a0, .L80218660
/* 56E844 802185A4 AE110070 */ sw $s1, 0x70($s0)
/* 56E848 802185A8 2A220002 */ slti $v0, $s1, 2
/* 56E84C 802185AC 10400005 */ beqz $v0, .L802185C4
/* 56E850 802185B0 24020002 */ addiu $v0, $zero, 2
/* 56E854 802185B4 12200009 */ beqz $s1, .L802185DC
/* 56E858 802185B8 2402008E */ addiu $v0, $zero, 0x8e
/* 56E85C 802185BC 08086258 */ j .L80218960
/* 56E860 802185C0 00000000 */ nop
.L802185C4:
/* 56E864 802185C4 12220085 */ beq $s1, $v0, .L802187DC
/* 56E868 802185C8 24020003 */ addiu $v0, $zero, 3
/* 56E86C 802185CC 12220013 */ beq $s1, $v0, .L8021861C
/* 56E870 802185D0 2403005B */ addiu $v1, $zero, 0x5b
/* 56E874 802185D4 08086258 */ j .L80218960
/* 56E878 802185D8 00000000 */ nop
.L802185DC:
/* 56E87C 802185DC 3C01430E */ lui $at, 0x430e
/* 56E880 802185E0 44812000 */ mtc1 $at, $f4
/* 56E884 802185E4 3C01C2EC */ lui $at, 0xc2ec
/* 56E888 802185E8 4481F000 */ mtc1 $at, $f30
/* 56E88C 802185EC 2403FF8A */ addiu $v1, $zero, -0x76
/* 56E890 802185F0 AFA00014 */ sw $zero, 0x14($sp)
/* 56E894 802185F4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 56E898 802185F8 AE020090 */ sw $v0, 0x90($s0)
/* 56E89C 802185FC 2402002C */ addiu $v0, $zero, 0x2c
/* 56E8A0 80218600 AE02009C */ sw $v0, 0x9c($s0)
/* 56E8A4 80218604 24020003 */ addiu $v0, $zero, 3
/* 56E8A8 80218608 AE000094 */ sw $zero, 0x94($s0)
/* 56E8AC 8021860C AE030098 */ sw $v1, 0x98($s0)
/* 56E8B0 80218610 AE0300A0 */ sw $v1, 0xa0($s0)
/* 56E8B4 80218614 08086194 */ j .L80218650
/* 56E8B8 80218618 AE0200A4 */ sw $v0, 0xa4($s0)
.L8021861C:
/* 56E8BC 8021861C 3C0142B6 */ lui $at, 0x42b6
/* 56E8C0 80218620 44812000 */ mtc1 $at, $f4
/* 56E8C4 80218624 3C01C2EC */ lui $at, 0xc2ec
/* 56E8C8 80218628 4481F000 */ mtc1 $at, $f30
/* 56E8CC 8021862C 2402FF8A */ addiu $v0, $zero, -0x76
/* 56E8D0 80218630 AFA00014 */ sw $zero, 0x14($sp)
/* 56E8D4 80218634 E7A40010 */ swc1 $f4, 0x10($sp)
/* 56E8D8 80218638 AE030090 */ sw $v1, 0x90($s0)
/* 56E8DC 8021863C AE000094 */ sw $zero, 0x94($s0)
/* 56E8E0 80218640 AE020098 */ sw $v0, 0x98($s0)
/* 56E8E4 80218644 AE03009C */ sw $v1, 0x9c($s0)
/* 56E8E8 80218648 AE0200A0 */ sw $v0, 0xa0($s0)
/* 56E8EC 8021864C AE1100A4 */ sw $s1, 0xa4($s0)
.L80218650:
/* 56E8F0 80218650 AE0000A8 */ sw $zero, 0xa8($s0)
/* 56E8F4 80218654 AE0000B0 */ sw $zero, 0xb0($s0)
/* 56E8F8 80218658 08086258 */ j .L80218960
/* 56E8FC 8021865C AE040070 */ sw $a0, 0x70($s0)
.L80218660:
/* 56E900 80218660 8E0200A8 */ lw $v0, 0xa8($s0)
/* 56E904 80218664 8E0300A4 */ lw $v1, 0xa4($s0)
/* 56E908 80218668 00431021 */ addu $v0, $v0, $v1
/* 56E90C 8021866C AE0200A8 */ sw $v0, 0xa8($s0)
/* 56E910 80218670 2842002E */ slti $v0, $v0, 0x2e
/* 56E914 80218674 14400003 */ bnez $v0, .L80218684
/* 56E918 80218678 00000000 */ nop
/* 56E91C 8021867C 2402002D */ addiu $v0, $zero, 0x2d
/* 56E920 80218680 AE0200A8 */ sw $v0, 0xa8($s0)
.L80218684:
/* 56E924 80218684 C6040090 */ lwc1 $f4, 0x90($s0)
/* 56E928 80218688 46802120 */ cvt.s.w $f4, $f4
/* 56E92C 8021868C E7A40010 */ swc1 $f4, 0x10($sp)
/* 56E930 80218690 C6040094 */ lwc1 $f4, 0x94($s0)
/* 56E934 80218694 46802120 */ cvt.s.w $f4, $f4
/* 56E938 80218698 E7A40014 */ swc1 $f4, 0x14($sp)
/* 56E93C 8021869C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56E940 802186A0 46806320 */ cvt.s.w $f12, $f12
/* 56E944 802186A4 3C0140C9 */ lui $at, 0x40c9
/* 56E948 802186A8 34210FD0 */ ori $at, $at, 0xfd0
/* 56E94C 802186AC 4481D000 */ mtc1 $at, $f26
/* 56E950 802186B0 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 56E954 802186B4 4680F7A0 */ cvt.s.w $f30, $f30
/* 56E958 802186B8 461A6302 */ mul.s $f12, $f12, $f26
/* 56E95C 802186BC 00000000 */ nop
/* 56E960 802186C0 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 56E964 802186C4 4680E720 */ cvt.s.w $f28, $f28
/* 56E968 802186C8 3C0143B4 */ lui $at, 0x43b4
/* 56E96C 802186CC 4481C000 */ mtc1 $at, $f24
/* 56E970 802186D0 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 56E974 802186D4 46802120 */ cvt.s.w $f4, $f4
/* 56E978 802186D8 E7A40018 */ swc1 $f4, 0x18($sp)
/* 56E97C 802186DC 0C00A85B */ jal sin_rad
/* 56E980 802186E0 46186303 */ div.s $f12, $f12, $f24
/* 56E984 802186E4 46000021 */ cvt.d.s $f0, $f0
/* 56E988 802186E8 3C013FF0 */ lui $at, 0x3ff0
/* 56E98C 802186EC 4481B800 */ mtc1 $at, $f23
/* 56E990 802186F0 4480B000 */ mtc1 $zero, $f22
/* 56E994 802186F4 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 56E998 802186F8 4620B001 */ sub.d $f0, $f22, $f0
/* 56E99C 802186FC 46002521 */ cvt.d.s $f20, $f4
/* 56E9A0 80218700 4620A502 */ mul.d $f20, $f20, $f0
/* 56E9A4 80218704 00000000 */ nop
/* 56E9A8 80218708 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56E9AC 8021870C 46806320 */ cvt.s.w $f12, $f12
/* 56E9B0 80218710 461A6302 */ mul.s $f12, $f12, $f26
/* 56E9B4 80218714 00000000 */ nop
/* 56E9B8 80218718 0C00A85B */ jal sin_rad
/* 56E9BC 8021871C 46186303 */ div.s $f12, $f12, $f24
/* 56E9C0 80218720 4600E002 */ mul.s $f0, $f28, $f0
/* 56E9C4 80218724 00000000 */ nop
/* 56E9C8 80218728 8E0200A8 */ lw $v0, 0xa8($s0)
/* 56E9CC 8021872C 00021040 */ sll $v0, $v0, 1
/* 56E9D0 80218730 44826000 */ mtc1 $v0, $f12
/* 56E9D4 80218734 00000000 */ nop
/* 56E9D8 80218738 46806320 */ cvt.s.w $f12, $f12
/* 56E9DC 8021873C 461A6302 */ mul.s $f12, $f12, $f26
/* 56E9E0 80218740 00000000 */ nop
/* 56E9E4 80218744 46000021 */ cvt.d.s $f0, $f0
/* 56E9E8 80218748 4620A500 */ add.d $f20, $f20, $f0
/* 56E9EC 8021874C 46186303 */ div.s $f12, $f12, $f24
/* 56E9F0 80218750 4620A520 */ cvt.s.d $f20, $f20
/* 56E9F4 80218754 0C00A85B */ jal sin_rad
/* 56E9F8 80218758 E7B40010 */ swc1 $f20, 0x10($sp)
/* 56E9FC 8021875C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EA00 80218760 46806320 */ cvt.s.w $f12, $f12
/* 56EA04 80218764 461A6302 */ mul.s $f12, $f12, $f26
/* 56EA08 80218768 00000000 */ nop
/* 56EA0C 8021876C 3C0142B4 */ lui $at, 0x42b4
/* 56EA10 80218770 44811000 */ mtc1 $at, $f2
/* 56EA14 80218774 00000000 */ nop
/* 56EA18 80218778 46020002 */ mul.s $f0, $f0, $f2
/* 56EA1C 8021877C 00000000 */ nop
/* 56EA20 80218780 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 56EA24 80218784 46002100 */ add.s $f4, $f4, $f0
/* 56EA28 80218788 46186303 */ div.s $f12, $f12, $f24
/* 56EA2C 8021878C 0C00A85B */ jal sin_rad
/* 56EA30 80218790 E7A40014 */ swc1 $f4, 0x14($sp)
/* 56EA34 80218794 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EA38 80218798 46806320 */ cvt.s.w $f12, $f12
/* 56EA3C 8021879C 461A6302 */ mul.s $f12, $f12, $f26
/* 56EA40 802187A0 00000000 */ nop
/* 56EA44 802187A4 46000021 */ cvt.d.s $f0, $f0
/* 56EA48 802187A8 4620B581 */ sub.d $f22, $f22, $f0
/* 56EA4C 802187AC 4600F521 */ cvt.d.s $f20, $f30
/* 56EA50 802187B0 4636A502 */ mul.d $f20, $f20, $f22
/* 56EA54 802187B4 00000000 */ nop
/* 56EA58 802187B8 0C00A85B */ jal sin_rad
/* 56EA5C 802187BC 46186303 */ div.s $f12, $f12, $f24
/* 56EA60 802187C0 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 56EA64 802187C4 46002002 */ mul.s $f0, $f4, $f0
/* 56EA68 802187C8 00000000 */ nop
/* 56EA6C 802187CC 46000021 */ cvt.d.s $f0, $f0
/* 56EA70 802187D0 4620A500 */ add.d $f20, $f20, $f0
/* 56EA74 802187D4 08086254 */ j .L80218950
/* 56EA78 802187D8 2402002D */ addiu $v0, $zero, 0x2d
.L802187DC:
/* 56EA7C 802187DC 8E0200A8 */ lw $v0, 0xa8($s0)
/* 56EA80 802187E0 8E0300A4 */ lw $v1, 0xa4($s0)
/* 56EA84 802187E4 00431021 */ addu $v0, $v0, $v1
/* 56EA88 802187E8 AE0200A8 */ sw $v0, 0xa8($s0)
/* 56EA8C 802187EC 2842005B */ slti $v0, $v0, 0x5b
/* 56EA90 802187F0 14400002 */ bnez $v0, .L802187FC
/* 56EA94 802187F4 2402005A */ addiu $v0, $zero, 0x5a
/* 56EA98 802187F8 AE0200A8 */ sw $v0, 0xa8($s0)
.L802187FC:
/* 56EA9C 802187FC C6040090 */ lwc1 $f4, 0x90($s0)
/* 56EAA0 80218800 46802120 */ cvt.s.w $f4, $f4
/* 56EAA4 80218804 E7A40010 */ swc1 $f4, 0x10($sp)
/* 56EAA8 80218808 C6040094 */ lwc1 $f4, 0x94($s0)
/* 56EAAC 8021880C 46802120 */ cvt.s.w $f4, $f4
/* 56EAB0 80218810 E7A40014 */ swc1 $f4, 0x14($sp)
/* 56EAB4 80218814 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EAB8 80218818 46806320 */ cvt.s.w $f12, $f12
/* 56EABC 8021881C 3C0140C9 */ lui $at, 0x40c9
/* 56EAC0 80218820 34210FD0 */ ori $at, $at, 0xfd0
/* 56EAC4 80218824 4481D000 */ mtc1 $at, $f26
/* 56EAC8 80218828 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 56EACC 8021882C 4680F7A0 */ cvt.s.w $f30, $f30
/* 56EAD0 80218830 461A6302 */ mul.s $f12, $f12, $f26
/* 56EAD4 80218834 00000000 */ nop
/* 56EAD8 80218838 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 56EADC 8021883C 4680E720 */ cvt.s.w $f28, $f28
/* 56EAE0 80218840 3C0143B4 */ lui $at, 0x43b4
/* 56EAE4 80218844 4481C000 */ mtc1 $at, $f24
/* 56EAE8 80218848 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 56EAEC 8021884C 46802120 */ cvt.s.w $f4, $f4
/* 56EAF0 80218850 E7A40018 */ swc1 $f4, 0x18($sp)
/* 56EAF4 80218854 0C00A85B */ jal sin_rad
/* 56EAF8 80218858 46186303 */ div.s $f12, $f12, $f24
/* 56EAFC 8021885C 46000021 */ cvt.d.s $f0, $f0
/* 56EB00 80218860 3C013FF0 */ lui $at, 0x3ff0
/* 56EB04 80218864 4481B800 */ mtc1 $at, $f23
/* 56EB08 80218868 4480B000 */ mtc1 $zero, $f22
/* 56EB0C 8021886C C7A40010 */ lwc1 $f4, 0x10($sp)
/* 56EB10 80218870 4620B001 */ sub.d $f0, $f22, $f0
/* 56EB14 80218874 46002521 */ cvt.d.s $f20, $f4
/* 56EB18 80218878 4620A502 */ mul.d $f20, $f20, $f0
/* 56EB1C 8021887C 00000000 */ nop
/* 56EB20 80218880 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EB24 80218884 46806320 */ cvt.s.w $f12, $f12
/* 56EB28 80218888 461A6302 */ mul.s $f12, $f12, $f26
/* 56EB2C 8021888C 00000000 */ nop
/* 56EB30 80218890 0C00A85B */ jal sin_rad
/* 56EB34 80218894 46186303 */ div.s $f12, $f12, $f24
/* 56EB38 80218898 4600E002 */ mul.s $f0, $f28, $f0
/* 56EB3C 8021889C 00000000 */ nop
/* 56EB40 802188A0 8E0200A8 */ lw $v0, 0xa8($s0)
/* 56EB44 802188A4 00021040 */ sll $v0, $v0, 1
/* 56EB48 802188A8 44826000 */ mtc1 $v0, $f12
/* 56EB4C 802188AC 00000000 */ nop
/* 56EB50 802188B0 46806320 */ cvt.s.w $f12, $f12
/* 56EB54 802188B4 461A6302 */ mul.s $f12, $f12, $f26
/* 56EB58 802188B8 00000000 */ nop
/* 56EB5C 802188BC 46000021 */ cvt.d.s $f0, $f0
/* 56EB60 802188C0 4620A500 */ add.d $f20, $f20, $f0
/* 56EB64 802188C4 46186303 */ div.s $f12, $f12, $f24
/* 56EB68 802188C8 4620A520 */ cvt.s.d $f20, $f20
/* 56EB6C 802188CC 0C00A85B */ jal sin_rad
/* 56EB70 802188D0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 56EB74 802188D4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EB78 802188D8 46806320 */ cvt.s.w $f12, $f12
/* 56EB7C 802188DC 461A6302 */ mul.s $f12, $f12, $f26
/* 56EB80 802188E0 00000000 */ nop
/* 56EB84 802188E4 3C0142B4 */ lui $at, 0x42b4
/* 56EB88 802188E8 44811000 */ mtc1 $at, $f2
/* 56EB8C 802188EC 00000000 */ nop
/* 56EB90 802188F0 46020002 */ mul.s $f0, $f0, $f2
/* 56EB94 802188F4 00000000 */ nop
/* 56EB98 802188F8 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 56EB9C 802188FC 46002100 */ add.s $f4, $f4, $f0
/* 56EBA0 80218900 46186303 */ div.s $f12, $f12, $f24
/* 56EBA4 80218904 0C00A85B */ jal sin_rad
/* 56EBA8 80218908 E7A40014 */ swc1 $f4, 0x14($sp)
/* 56EBAC 8021890C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 56EBB0 80218910 46806320 */ cvt.s.w $f12, $f12
/* 56EBB4 80218914 461A6302 */ mul.s $f12, $f12, $f26
/* 56EBB8 80218918 00000000 */ nop
/* 56EBBC 8021891C 46000021 */ cvt.d.s $f0, $f0
/* 56EBC0 80218920 4620B581 */ sub.d $f22, $f22, $f0
/* 56EBC4 80218924 4600F521 */ cvt.d.s $f20, $f30
/* 56EBC8 80218928 4636A502 */ mul.d $f20, $f20, $f22
/* 56EBCC 8021892C 00000000 */ nop
/* 56EBD0 80218930 0C00A85B */ jal sin_rad
/* 56EBD4 80218934 46186303 */ div.s $f12, $f12, $f24
/* 56EBD8 80218938 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 56EBDC 8021893C 46002002 */ mul.s $f0, $f4, $f0
/* 56EBE0 80218940 00000000 */ nop
/* 56EBE4 80218944 46000021 */ cvt.d.s $f0, $f0
/* 56EBE8 80218948 4620A500 */ add.d $f20, $f20, $f0
/* 56EBEC 8021894C 2402005A */ addiu $v0, $zero, 0x5a
.L80218950:
/* 56EBF0 80218950 8E0300A8 */ lw $v1, 0xa8($s0)
/* 56EBF4 80218954 14620002 */ bne $v1, $v0, .L80218960
/* 56EBF8 80218958 4620A7A0 */ cvt.s.d $f30, $f20
/* 56EBFC 8021895C AE1100B0 */ sw $s1, 0xb0($s0)
.L80218960:
/* 56EC00 80218960 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 56EC04 80218964 4600210D */ trunc.w.s $f4, $f4
/* 56EC08 80218968 E6040084 */ swc1 $f4, 0x84($s0)
/* 56EC0C 8021896C C7A40014 */ lwc1 $f4, 0x14($sp)
/* 56EC10 80218970 4600210D */ trunc.w.s $f4, $f4
/* 56EC14 80218974 E6040088 */ swc1 $f4, 0x88($s0)
/* 56EC18 80218978 4600F10D */ trunc.w.s $f4, $f30
/* 56EC1C 8021897C E604008C */ swc1 $f4, 0x8c($s0)
/* 56EC20 80218980 8FBF0028 */ lw $ra, 0x28($sp)
/* 56EC24 80218984 8FB10024 */ lw $s1, 0x24($sp)
/* 56EC28 80218988 8FB00020 */ lw $s0, 0x20($sp)
/* 56EC2C 8021898C D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 56EC30 80218990 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 56EC34 80218994 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 56EC38 80218998 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 56EC3C 8021899C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 56EC40 802189A0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 56EC44 802189A4 24020002 */ addiu $v0, $zero, 2
/* 56EC48 802189A8 03E00008 */ jr $ra
/* 56EC4C 802189AC 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80219D60_4491A0
/* 4491A0 80219D60 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 4491A4 80219D64 AFB00020 */ sw $s0, 0x20($sp)
/* 4491A8 80219D68 0080802D */ daddu $s0, $a0, $zero
/* 4491AC 80219D6C AFBF0028 */ sw $ra, 0x28($sp)
/* 4491B0 80219D70 AFB10024 */ sw $s1, 0x24($sp)
/* 4491B4 80219D74 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 4491B8 80219D78 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 4491BC 80219D7C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 4491C0 80219D80 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 4491C4 80219D84 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 4491C8 80219D88 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 4491CC 80219D8C 8E02000C */ lw $v0, 0xc($s0)
/* 4491D0 80219D90 0C0B1EAF */ jal evt_get_variable
/* 4491D4 80219D94 8C450000 */ lw $a1, ($v0)
/* 4491D8 80219D98 0040882D */ daddu $s1, $v0, $zero
/* 4491DC 80219D9C 24040001 */ addiu $a0, $zero, 1
/* 4491E0 80219DA0 1224002F */ beq $s1, $a0, .L80219E60
/* 4491E4 80219DA4 AE110070 */ sw $s1, 0x70($s0)
/* 4491E8 80219DA8 2A220002 */ slti $v0, $s1, 2
/* 4491EC 80219DAC 10400005 */ beqz $v0, .L80219DC4
/* 4491F0 80219DB0 24020002 */ addiu $v0, $zero, 2
/* 4491F4 80219DB4 12200009 */ beqz $s1, .L80219DDC
/* 4491F8 80219DB8 2402008E */ addiu $v0, $zero, 0x8e
/* 4491FC 80219DBC 08086858 */ j .L8021A160
/* 449200 80219DC0 00000000 */ nop
.L80219DC4:
/* 449204 80219DC4 12220085 */ beq $s1, $v0, .L80219FDC
/* 449208 80219DC8 24020003 */ addiu $v0, $zero, 3
/* 44920C 80219DCC 12220013 */ beq $s1, $v0, .L80219E1C
/* 449210 80219DD0 2403005B */ addiu $v1, $zero, 0x5b
/* 449214 80219DD4 08086858 */ j .L8021A160
/* 449218 80219DD8 00000000 */ nop
.L80219DDC:
/* 44921C 80219DDC 3C01430E */ lui $at, 0x430e
/* 449220 80219DE0 44812000 */ mtc1 $at, $f4
/* 449224 80219DE4 3C01C2EC */ lui $at, 0xc2ec
/* 449228 80219DE8 4481F000 */ mtc1 $at, $f30
/* 44922C 80219DEC 2403FF8A */ addiu $v1, $zero, -0x76
/* 449230 80219DF0 AFA00014 */ sw $zero, 0x14($sp)
/* 449234 80219DF4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 449238 80219DF8 AE020090 */ sw $v0, 0x90($s0)
/* 44923C 80219DFC 2402002C */ addiu $v0, $zero, 0x2c
/* 449240 80219E00 AE02009C */ sw $v0, 0x9c($s0)
/* 449244 80219E04 24020003 */ addiu $v0, $zero, 3
/* 449248 80219E08 AE000094 */ sw $zero, 0x94($s0)
/* 44924C 80219E0C AE030098 */ sw $v1, 0x98($s0)
/* 449250 80219E10 AE0300A0 */ sw $v1, 0xa0($s0)
/* 449254 80219E14 08086794 */ j .L80219E50
/* 449258 80219E18 AE0200A4 */ sw $v0, 0xa4($s0)
.L80219E1C:
/* 44925C 80219E1C 3C0142B6 */ lui $at, 0x42b6
/* 449260 80219E20 44812000 */ mtc1 $at, $f4
/* 449264 80219E24 3C01C2EC */ lui $at, 0xc2ec
/* 449268 80219E28 4481F000 */ mtc1 $at, $f30
/* 44926C 80219E2C 2402FF8A */ addiu $v0, $zero, -0x76
/* 449270 80219E30 AFA00014 */ sw $zero, 0x14($sp)
/* 449274 80219E34 E7A40010 */ swc1 $f4, 0x10($sp)
/* 449278 80219E38 AE030090 */ sw $v1, 0x90($s0)
/* 44927C 80219E3C AE000094 */ sw $zero, 0x94($s0)
/* 449280 80219E40 AE020098 */ sw $v0, 0x98($s0)
/* 449284 80219E44 AE03009C */ sw $v1, 0x9c($s0)
/* 449288 80219E48 AE0200A0 */ sw $v0, 0xa0($s0)
/* 44928C 80219E4C AE1100A4 */ sw $s1, 0xa4($s0)
.L80219E50:
/* 449290 80219E50 AE0000A8 */ sw $zero, 0xa8($s0)
/* 449294 80219E54 AE0000B0 */ sw $zero, 0xb0($s0)
/* 449298 80219E58 08086858 */ j .L8021A160
/* 44929C 80219E5C AE040070 */ sw $a0, 0x70($s0)
.L80219E60:
/* 4492A0 80219E60 8E0200A8 */ lw $v0, 0xa8($s0)
/* 4492A4 80219E64 8E0300A4 */ lw $v1, 0xa4($s0)
/* 4492A8 80219E68 00431021 */ addu $v0, $v0, $v1
/* 4492AC 80219E6C AE0200A8 */ sw $v0, 0xa8($s0)
/* 4492B0 80219E70 2842002E */ slti $v0, $v0, 0x2e
/* 4492B4 80219E74 14400003 */ bnez $v0, .L80219E84
/* 4492B8 80219E78 00000000 */ nop
/* 4492BC 80219E7C 2402002D */ addiu $v0, $zero, 0x2d
/* 4492C0 80219E80 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219E84:
/* 4492C4 80219E84 C6040090 */ lwc1 $f4, 0x90($s0)
/* 4492C8 80219E88 46802120 */ cvt.s.w $f4, $f4
/* 4492CC 80219E8C E7A40010 */ swc1 $f4, 0x10($sp)
/* 4492D0 80219E90 C6040094 */ lwc1 $f4, 0x94($s0)
/* 4492D4 80219E94 46802120 */ cvt.s.w $f4, $f4
/* 4492D8 80219E98 E7A40014 */ swc1 $f4, 0x14($sp)
/* 4492DC 80219E9C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 4492E0 80219EA0 46806320 */ cvt.s.w $f12, $f12
/* 4492E4 80219EA4 3C0140C9 */ lui $at, 0x40c9
/* 4492E8 80219EA8 34210FD0 */ ori $at, $at, 0xfd0
/* 4492EC 80219EAC 4481D000 */ mtc1 $at, $f26
/* 4492F0 80219EB0 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 4492F4 80219EB4 4680F7A0 */ cvt.s.w $f30, $f30
/* 4492F8 80219EB8 461A6302 */ mul.s $f12, $f12, $f26
/* 4492FC 80219EBC 00000000 */ nop
/* 449300 80219EC0 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 449304 80219EC4 4680E720 */ cvt.s.w $f28, $f28
/* 449308 80219EC8 3C0143B4 */ lui $at, 0x43b4
/* 44930C 80219ECC 4481C000 */ mtc1 $at, $f24
/* 449310 80219ED0 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 449314 80219ED4 46802120 */ cvt.s.w $f4, $f4
/* 449318 80219ED8 E7A40018 */ swc1 $f4, 0x18($sp)
/* 44931C 80219EDC 0C00A85B */ jal sin_rad
/* 449320 80219EE0 46186303 */ div.s $f12, $f12, $f24
/* 449324 80219EE4 46000021 */ cvt.d.s $f0, $f0
/* 449328 80219EE8 3C013FF0 */ lui $at, 0x3ff0
/* 44932C 80219EEC 4481B800 */ mtc1 $at, $f23
/* 449330 80219EF0 4480B000 */ mtc1 $zero, $f22
/* 449334 80219EF4 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 449338 80219EF8 4620B001 */ sub.d $f0, $f22, $f0
/* 44933C 80219EFC 46002521 */ cvt.d.s $f20, $f4
/* 449340 80219F00 4620A502 */ mul.d $f20, $f20, $f0
/* 449344 80219F04 00000000 */ nop
/* 449348 80219F08 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 44934C 80219F0C 46806320 */ cvt.s.w $f12, $f12
/* 449350 80219F10 461A6302 */ mul.s $f12, $f12, $f26
/* 449354 80219F14 00000000 */ nop
/* 449358 80219F18 0C00A85B */ jal sin_rad
/* 44935C 80219F1C 46186303 */ div.s $f12, $f12, $f24
/* 449360 80219F20 4600E002 */ mul.s $f0, $f28, $f0
/* 449364 80219F24 00000000 */ nop
/* 449368 80219F28 8E0200A8 */ lw $v0, 0xa8($s0)
/* 44936C 80219F2C 00021040 */ sll $v0, $v0, 1
/* 449370 80219F30 44826000 */ mtc1 $v0, $f12
/* 449374 80219F34 00000000 */ nop
/* 449378 80219F38 46806320 */ cvt.s.w $f12, $f12
/* 44937C 80219F3C 461A6302 */ mul.s $f12, $f12, $f26
/* 449380 80219F40 00000000 */ nop
/* 449384 80219F44 46000021 */ cvt.d.s $f0, $f0
/* 449388 80219F48 4620A500 */ add.d $f20, $f20, $f0
/* 44938C 80219F4C 46186303 */ div.s $f12, $f12, $f24
/* 449390 80219F50 4620A520 */ cvt.s.d $f20, $f20
/* 449394 80219F54 0C00A85B */ jal sin_rad
/* 449398 80219F58 E7B40010 */ swc1 $f20, 0x10($sp)
/* 44939C 80219F5C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 4493A0 80219F60 46806320 */ cvt.s.w $f12, $f12
/* 4493A4 80219F64 461A6302 */ mul.s $f12, $f12, $f26
/* 4493A8 80219F68 00000000 */ nop
/* 4493AC 80219F6C 3C0142B4 */ lui $at, 0x42b4
/* 4493B0 80219F70 44811000 */ mtc1 $at, $f2
/* 4493B4 80219F74 00000000 */ nop
/* 4493B8 80219F78 46020002 */ mul.s $f0, $f0, $f2
/* 4493BC 80219F7C 00000000 */ nop
/* 4493C0 80219F80 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 4493C4 80219F84 46002100 */ add.s $f4, $f4, $f0
/* 4493C8 80219F88 46186303 */ div.s $f12, $f12, $f24
/* 4493CC 80219F8C 0C00A85B */ jal sin_rad
/* 4493D0 80219F90 E7A40014 */ swc1 $f4, 0x14($sp)
/* 4493D4 80219F94 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 4493D8 80219F98 46806320 */ cvt.s.w $f12, $f12
/* 4493DC 80219F9C 461A6302 */ mul.s $f12, $f12, $f26
/* 4493E0 80219FA0 00000000 */ nop
/* 4493E4 80219FA4 46000021 */ cvt.d.s $f0, $f0
/* 4493E8 80219FA8 4620B581 */ sub.d $f22, $f22, $f0
/* 4493EC 80219FAC 4600F521 */ cvt.d.s $f20, $f30
/* 4493F0 80219FB0 4636A502 */ mul.d $f20, $f20, $f22
/* 4493F4 80219FB4 00000000 */ nop
/* 4493F8 80219FB8 0C00A85B */ jal sin_rad
/* 4493FC 80219FBC 46186303 */ div.s $f12, $f12, $f24
/* 449400 80219FC0 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 449404 80219FC4 46002002 */ mul.s $f0, $f4, $f0
/* 449408 80219FC8 00000000 */ nop
/* 44940C 80219FCC 46000021 */ cvt.d.s $f0, $f0
/* 449410 80219FD0 4620A500 */ add.d $f20, $f20, $f0
/* 449414 80219FD4 08086854 */ j .L8021A150
/* 449418 80219FD8 2402002D */ addiu $v0, $zero, 0x2d
.L80219FDC:
/* 44941C 80219FDC 8E0200A8 */ lw $v0, 0xa8($s0)
/* 449420 80219FE0 8E0300A4 */ lw $v1, 0xa4($s0)
/* 449424 80219FE4 00431021 */ addu $v0, $v0, $v1
/* 449428 80219FE8 AE0200A8 */ sw $v0, 0xa8($s0)
/* 44942C 80219FEC 2842005B */ slti $v0, $v0, 0x5b
/* 449430 80219FF0 14400002 */ bnez $v0, .L80219FFC
/* 449434 80219FF4 2402005A */ addiu $v0, $zero, 0x5a
/* 449438 80219FF8 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219FFC:
/* 44943C 80219FFC C6040090 */ lwc1 $f4, 0x90($s0)
/* 449440 8021A000 46802120 */ cvt.s.w $f4, $f4
/* 449444 8021A004 E7A40010 */ swc1 $f4, 0x10($sp)
/* 449448 8021A008 C6040094 */ lwc1 $f4, 0x94($s0)
/* 44944C 8021A00C 46802120 */ cvt.s.w $f4, $f4
/* 449450 8021A010 E7A40014 */ swc1 $f4, 0x14($sp)
/* 449454 8021A014 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 449458 8021A018 46806320 */ cvt.s.w $f12, $f12
/* 44945C 8021A01C 3C0140C9 */ lui $at, 0x40c9
/* 449460 8021A020 34210FD0 */ ori $at, $at, 0xfd0
/* 449464 8021A024 4481D000 */ mtc1 $at, $f26
/* 449468 8021A028 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 44946C 8021A02C 4680F7A0 */ cvt.s.w $f30, $f30
/* 449470 8021A030 461A6302 */ mul.s $f12, $f12, $f26
/* 449474 8021A034 00000000 */ nop
/* 449478 8021A038 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 44947C 8021A03C 4680E720 */ cvt.s.w $f28, $f28
/* 449480 8021A040 3C0143B4 */ lui $at, 0x43b4
/* 449484 8021A044 4481C000 */ mtc1 $at, $f24
/* 449488 8021A048 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 44948C 8021A04C 46802120 */ cvt.s.w $f4, $f4
/* 449490 8021A050 E7A40018 */ swc1 $f4, 0x18($sp)
/* 449494 8021A054 0C00A85B */ jal sin_rad
/* 449498 8021A058 46186303 */ div.s $f12, $f12, $f24
/* 44949C 8021A05C 46000021 */ cvt.d.s $f0, $f0
/* 4494A0 8021A060 3C013FF0 */ lui $at, 0x3ff0
/* 4494A4 8021A064 4481B800 */ mtc1 $at, $f23
/* 4494A8 8021A068 4480B000 */ mtc1 $zero, $f22
/* 4494AC 8021A06C C7A40010 */ lwc1 $f4, 0x10($sp)
/* 4494B0 8021A070 4620B001 */ sub.d $f0, $f22, $f0
/* 4494B4 8021A074 46002521 */ cvt.d.s $f20, $f4
/* 4494B8 8021A078 4620A502 */ mul.d $f20, $f20, $f0
/* 4494BC 8021A07C 00000000 */ nop
/* 4494C0 8021A080 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 4494C4 8021A084 46806320 */ cvt.s.w $f12, $f12
/* 4494C8 8021A088 461A6302 */ mul.s $f12, $f12, $f26
/* 4494CC 8021A08C 00000000 */ nop
/* 4494D0 8021A090 0C00A85B */ jal sin_rad
/* 4494D4 8021A094 46186303 */ div.s $f12, $f12, $f24
/* 4494D8 8021A098 4600E002 */ mul.s $f0, $f28, $f0
/* 4494DC 8021A09C 00000000 */ nop
/* 4494E0 8021A0A0 8E0200A8 */ lw $v0, 0xa8($s0)
/* 4494E4 8021A0A4 00021040 */ sll $v0, $v0, 1
/* 4494E8 8021A0A8 44826000 */ mtc1 $v0, $f12
/* 4494EC 8021A0AC 00000000 */ nop
/* 4494F0 8021A0B0 46806320 */ cvt.s.w $f12, $f12
/* 4494F4 8021A0B4 461A6302 */ mul.s $f12, $f12, $f26
/* 4494F8 8021A0B8 00000000 */ nop
/* 4494FC 8021A0BC 46000021 */ cvt.d.s $f0, $f0
/* 449500 8021A0C0 4620A500 */ add.d $f20, $f20, $f0
/* 449504 8021A0C4 46186303 */ div.s $f12, $f12, $f24
/* 449508 8021A0C8 4620A520 */ cvt.s.d $f20, $f20
/* 44950C 8021A0CC 0C00A85B */ jal sin_rad
/* 449510 8021A0D0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 449514 8021A0D4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 449518 8021A0D8 46806320 */ cvt.s.w $f12, $f12
/* 44951C 8021A0DC 461A6302 */ mul.s $f12, $f12, $f26
/* 449520 8021A0E0 00000000 */ nop
/* 449524 8021A0E4 3C0142B4 */ lui $at, 0x42b4
/* 449528 8021A0E8 44811000 */ mtc1 $at, $f2
/* 44952C 8021A0EC 00000000 */ nop
/* 449530 8021A0F0 46020002 */ mul.s $f0, $f0, $f2
/* 449534 8021A0F4 00000000 */ nop
/* 449538 8021A0F8 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 44953C 8021A0FC 46002100 */ add.s $f4, $f4, $f0
/* 449540 8021A100 46186303 */ div.s $f12, $f12, $f24
/* 449544 8021A104 0C00A85B */ jal sin_rad
/* 449548 8021A108 E7A40014 */ swc1 $f4, 0x14($sp)
/* 44954C 8021A10C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 449550 8021A110 46806320 */ cvt.s.w $f12, $f12
/* 449554 8021A114 461A6302 */ mul.s $f12, $f12, $f26
/* 449558 8021A118 00000000 */ nop
/* 44955C 8021A11C 46000021 */ cvt.d.s $f0, $f0
/* 449560 8021A120 4620B581 */ sub.d $f22, $f22, $f0
/* 449564 8021A124 4600F521 */ cvt.d.s $f20, $f30
/* 449568 8021A128 4636A502 */ mul.d $f20, $f20, $f22
/* 44956C 8021A12C 00000000 */ nop
/* 449570 8021A130 0C00A85B */ jal sin_rad
/* 449574 8021A134 46186303 */ div.s $f12, $f12, $f24
/* 449578 8021A138 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 44957C 8021A13C 46002002 */ mul.s $f0, $f4, $f0
/* 449580 8021A140 00000000 */ nop
/* 449584 8021A144 46000021 */ cvt.d.s $f0, $f0
/* 449588 8021A148 4620A500 */ add.d $f20, $f20, $f0
/* 44958C 8021A14C 2402005A */ addiu $v0, $zero, 0x5a
.L8021A150:
/* 449590 8021A150 8E0300A8 */ lw $v1, 0xa8($s0)
/* 449594 8021A154 14620002 */ bne $v1, $v0, .L8021A160
/* 449598 8021A158 4620A7A0 */ cvt.s.d $f30, $f20
/* 44959C 8021A15C AE1100B0 */ sw $s1, 0xb0($s0)
.L8021A160:
/* 4495A0 8021A160 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 4495A4 8021A164 4600210D */ trunc.w.s $f4, $f4
/* 4495A8 8021A168 E6040084 */ swc1 $f4, 0x84($s0)
/* 4495AC 8021A16C C7A40014 */ lwc1 $f4, 0x14($sp)
/* 4495B0 8021A170 4600210D */ trunc.w.s $f4, $f4
/* 4495B4 8021A174 E6040088 */ swc1 $f4, 0x88($s0)
/* 4495B8 8021A178 4600F10D */ trunc.w.s $f4, $f30
/* 4495BC 8021A17C E604008C */ swc1 $f4, 0x8c($s0)
/* 4495C0 8021A180 8FBF0028 */ lw $ra, 0x28($sp)
/* 4495C4 8021A184 8FB10024 */ lw $s1, 0x24($sp)
/* 4495C8 8021A188 8FB00020 */ lw $s0, 0x20($sp)
/* 4495CC 8021A18C D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 4495D0 8021A190 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 4495D4 8021A194 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 4495D8 8021A198 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 4495DC 8021A19C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 4495E0 8021A1A0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 4495E4 8021A1A4 24020002 */ addiu $v0, $zero, 2
/* 4495E8 8021A1A8 03E00008 */ jr $ra
/* 4495EC 8021A1AC 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80219900_465D90
/* 465D90 80219900 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 465D94 80219904 AFB00020 */ sw $s0, 0x20($sp)
/* 465D98 80219908 0080802D */ daddu $s0, $a0, $zero
/* 465D9C 8021990C AFBF0028 */ sw $ra, 0x28($sp)
/* 465DA0 80219910 AFB10024 */ sw $s1, 0x24($sp)
/* 465DA4 80219914 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 465DA8 80219918 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 465DAC 8021991C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 465DB0 80219920 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 465DB4 80219924 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 465DB8 80219928 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 465DBC 8021992C 8E02000C */ lw $v0, 0xc($s0)
/* 465DC0 80219930 0C0B1EAF */ jal evt_get_variable
/* 465DC4 80219934 8C450000 */ lw $a1, ($v0)
/* 465DC8 80219938 0040882D */ daddu $s1, $v0, $zero
/* 465DCC 8021993C 24040001 */ addiu $a0, $zero, 1
/* 465DD0 80219940 1224002F */ beq $s1, $a0, .L80219A00
/* 465DD4 80219944 AE110070 */ sw $s1, 0x70($s0)
/* 465DD8 80219948 2A220002 */ slti $v0, $s1, 2
/* 465DDC 8021994C 10400005 */ beqz $v0, .L80219964
/* 465DE0 80219950 24020002 */ addiu $v0, $zero, 2
/* 465DE4 80219954 12200009 */ beqz $s1, .L8021997C
/* 465DE8 80219958 2402008E */ addiu $v0, $zero, 0x8e
/* 465DEC 8021995C 08086740 */ j .L80219D00
/* 465DF0 80219960 00000000 */ nop
.L80219964:
/* 465DF4 80219964 12220085 */ beq $s1, $v0, .L80219B7C
/* 465DF8 80219968 24020003 */ addiu $v0, $zero, 3
/* 465DFC 8021996C 12220013 */ beq $s1, $v0, .L802199BC
/* 465E00 80219970 2403005B */ addiu $v1, $zero, 0x5b
/* 465E04 80219974 08086740 */ j .L80219D00
/* 465E08 80219978 00000000 */ nop
.L8021997C:
/* 465E0C 8021997C 3C01430E */ lui $at, 0x430e
/* 465E10 80219980 44812000 */ mtc1 $at, $f4
/* 465E14 80219984 3C01C2EC */ lui $at, 0xc2ec
/* 465E18 80219988 4481F000 */ mtc1 $at, $f30
/* 465E1C 8021998C 2403FF8A */ addiu $v1, $zero, -0x76
/* 465E20 80219990 AFA00014 */ sw $zero, 0x14($sp)
/* 465E24 80219994 E7A40010 */ swc1 $f4, 0x10($sp)
/* 465E28 80219998 AE020090 */ sw $v0, 0x90($s0)
/* 465E2C 8021999C 2402002C */ addiu $v0, $zero, 0x2c
/* 465E30 802199A0 AE02009C */ sw $v0, 0x9c($s0)
/* 465E34 802199A4 24020003 */ addiu $v0, $zero, 3
/* 465E38 802199A8 AE000094 */ sw $zero, 0x94($s0)
/* 465E3C 802199AC AE030098 */ sw $v1, 0x98($s0)
/* 465E40 802199B0 AE0300A0 */ sw $v1, 0xa0($s0)
/* 465E44 802199B4 0808667C */ j .L802199F0
/* 465E48 802199B8 AE0200A4 */ sw $v0, 0xa4($s0)
.L802199BC:
/* 465E4C 802199BC 3C0142B6 */ lui $at, 0x42b6
/* 465E50 802199C0 44812000 */ mtc1 $at, $f4
/* 465E54 802199C4 3C01C2EC */ lui $at, 0xc2ec
/* 465E58 802199C8 4481F000 */ mtc1 $at, $f30
/* 465E5C 802199CC 2402FF8A */ addiu $v0, $zero, -0x76
/* 465E60 802199D0 AFA00014 */ sw $zero, 0x14($sp)
/* 465E64 802199D4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 465E68 802199D8 AE030090 */ sw $v1, 0x90($s0)
/* 465E6C 802199DC AE000094 */ sw $zero, 0x94($s0)
/* 465E70 802199E0 AE020098 */ sw $v0, 0x98($s0)
/* 465E74 802199E4 AE03009C */ sw $v1, 0x9c($s0)
/* 465E78 802199E8 AE0200A0 */ sw $v0, 0xa0($s0)
/* 465E7C 802199EC AE1100A4 */ sw $s1, 0xa4($s0)
.L802199F0:
/* 465E80 802199F0 AE0000A8 */ sw $zero, 0xa8($s0)
/* 465E84 802199F4 AE0000B0 */ sw $zero, 0xb0($s0)
/* 465E88 802199F8 08086740 */ j .L80219D00
/* 465E8C 802199FC AE040070 */ sw $a0, 0x70($s0)
.L80219A00:
/* 465E90 80219A00 8E0200A8 */ lw $v0, 0xa8($s0)
/* 465E94 80219A04 8E0300A4 */ lw $v1, 0xa4($s0)
/* 465E98 80219A08 00431021 */ addu $v0, $v0, $v1
/* 465E9C 80219A0C AE0200A8 */ sw $v0, 0xa8($s0)
/* 465EA0 80219A10 2842002E */ slti $v0, $v0, 0x2e
/* 465EA4 80219A14 14400003 */ bnez $v0, .L80219A24
/* 465EA8 80219A18 00000000 */ nop
/* 465EAC 80219A1C 2402002D */ addiu $v0, $zero, 0x2d
/* 465EB0 80219A20 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219A24:
/* 465EB4 80219A24 C6040090 */ lwc1 $f4, 0x90($s0)
/* 465EB8 80219A28 46802120 */ cvt.s.w $f4, $f4
/* 465EBC 80219A2C E7A40010 */ swc1 $f4, 0x10($sp)
/* 465EC0 80219A30 C6040094 */ lwc1 $f4, 0x94($s0)
/* 465EC4 80219A34 46802120 */ cvt.s.w $f4, $f4
/* 465EC8 80219A38 E7A40014 */ swc1 $f4, 0x14($sp)
/* 465ECC 80219A3C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 465ED0 80219A40 46806320 */ cvt.s.w $f12, $f12
/* 465ED4 80219A44 3C0140C9 */ lui $at, 0x40c9
/* 465ED8 80219A48 34210FD0 */ ori $at, $at, 0xfd0
/* 465EDC 80219A4C 4481D000 */ mtc1 $at, $f26
/* 465EE0 80219A50 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 465EE4 80219A54 4680F7A0 */ cvt.s.w $f30, $f30
/* 465EE8 80219A58 461A6302 */ mul.s $f12, $f12, $f26
/* 465EEC 80219A5C 00000000 */ nop
/* 465EF0 80219A60 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 465EF4 80219A64 4680E720 */ cvt.s.w $f28, $f28
/* 465EF8 80219A68 3C0143B4 */ lui $at, 0x43b4
/* 465EFC 80219A6C 4481C000 */ mtc1 $at, $f24
/* 465F00 80219A70 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 465F04 80219A74 46802120 */ cvt.s.w $f4, $f4
/* 465F08 80219A78 E7A40018 */ swc1 $f4, 0x18($sp)
/* 465F0C 80219A7C 0C00A85B */ jal sin_rad
/* 465F10 80219A80 46186303 */ div.s $f12, $f12, $f24
/* 465F14 80219A84 46000021 */ cvt.d.s $f0, $f0
/* 465F18 80219A88 3C013FF0 */ lui $at, 0x3ff0
/* 465F1C 80219A8C 4481B800 */ mtc1 $at, $f23
/* 465F20 80219A90 4480B000 */ mtc1 $zero, $f22
/* 465F24 80219A94 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 465F28 80219A98 4620B001 */ sub.d $f0, $f22, $f0
/* 465F2C 80219A9C 46002521 */ cvt.d.s $f20, $f4
/* 465F30 80219AA0 4620A502 */ mul.d $f20, $f20, $f0
/* 465F34 80219AA4 00000000 */ nop
/* 465F38 80219AA8 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 465F3C 80219AAC 46806320 */ cvt.s.w $f12, $f12
/* 465F40 80219AB0 461A6302 */ mul.s $f12, $f12, $f26
/* 465F44 80219AB4 00000000 */ nop
/* 465F48 80219AB8 0C00A85B */ jal sin_rad
/* 465F4C 80219ABC 46186303 */ div.s $f12, $f12, $f24
/* 465F50 80219AC0 4600E002 */ mul.s $f0, $f28, $f0
/* 465F54 80219AC4 00000000 */ nop
/* 465F58 80219AC8 8E0200A8 */ lw $v0, 0xa8($s0)
/* 465F5C 80219ACC 00021040 */ sll $v0, $v0, 1
/* 465F60 80219AD0 44826000 */ mtc1 $v0, $f12
/* 465F64 80219AD4 00000000 */ nop
/* 465F68 80219AD8 46806320 */ cvt.s.w $f12, $f12
/* 465F6C 80219ADC 461A6302 */ mul.s $f12, $f12, $f26
/* 465F70 80219AE0 00000000 */ nop
/* 465F74 80219AE4 46000021 */ cvt.d.s $f0, $f0
/* 465F78 80219AE8 4620A500 */ add.d $f20, $f20, $f0
/* 465F7C 80219AEC 46186303 */ div.s $f12, $f12, $f24
/* 465F80 80219AF0 4620A520 */ cvt.s.d $f20, $f20
/* 465F84 80219AF4 0C00A85B */ jal sin_rad
/* 465F88 80219AF8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 465F8C 80219AFC C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 465F90 80219B00 46806320 */ cvt.s.w $f12, $f12
/* 465F94 80219B04 461A6302 */ mul.s $f12, $f12, $f26
/* 465F98 80219B08 00000000 */ nop
/* 465F9C 80219B0C 3C0142B4 */ lui $at, 0x42b4
/* 465FA0 80219B10 44811000 */ mtc1 $at, $f2
/* 465FA4 80219B14 00000000 */ nop
/* 465FA8 80219B18 46020002 */ mul.s $f0, $f0, $f2
/* 465FAC 80219B1C 00000000 */ nop
/* 465FB0 80219B20 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 465FB4 80219B24 46002100 */ add.s $f4, $f4, $f0
/* 465FB8 80219B28 46186303 */ div.s $f12, $f12, $f24
/* 465FBC 80219B2C 0C00A85B */ jal sin_rad
/* 465FC0 80219B30 E7A40014 */ swc1 $f4, 0x14($sp)
/* 465FC4 80219B34 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 465FC8 80219B38 46806320 */ cvt.s.w $f12, $f12
/* 465FCC 80219B3C 461A6302 */ mul.s $f12, $f12, $f26
/* 465FD0 80219B40 00000000 */ nop
/* 465FD4 80219B44 46000021 */ cvt.d.s $f0, $f0
/* 465FD8 80219B48 4620B581 */ sub.d $f22, $f22, $f0
/* 465FDC 80219B4C 4600F521 */ cvt.d.s $f20, $f30
/* 465FE0 80219B50 4636A502 */ mul.d $f20, $f20, $f22
/* 465FE4 80219B54 00000000 */ nop
/* 465FE8 80219B58 0C00A85B */ jal sin_rad
/* 465FEC 80219B5C 46186303 */ div.s $f12, $f12, $f24
/* 465FF0 80219B60 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 465FF4 80219B64 46002002 */ mul.s $f0, $f4, $f0
/* 465FF8 80219B68 00000000 */ nop
/* 465FFC 80219B6C 46000021 */ cvt.d.s $f0, $f0
/* 466000 80219B70 4620A500 */ add.d $f20, $f20, $f0
/* 466004 80219B74 0808673C */ j .L80219CF0
/* 466008 80219B78 2402002D */ addiu $v0, $zero, 0x2d
.L80219B7C:
/* 46600C 80219B7C 8E0200A8 */ lw $v0, 0xa8($s0)
/* 466010 80219B80 8E0300A4 */ lw $v1, 0xa4($s0)
/* 466014 80219B84 00431021 */ addu $v0, $v0, $v1
/* 466018 80219B88 AE0200A8 */ sw $v0, 0xa8($s0)
/* 46601C 80219B8C 2842005B */ slti $v0, $v0, 0x5b
/* 466020 80219B90 14400002 */ bnez $v0, .L80219B9C
/* 466024 80219B94 2402005A */ addiu $v0, $zero, 0x5a
/* 466028 80219B98 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219B9C:
/* 46602C 80219B9C C6040090 */ lwc1 $f4, 0x90($s0)
/* 466030 80219BA0 46802120 */ cvt.s.w $f4, $f4
/* 466034 80219BA4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 466038 80219BA8 C6040094 */ lwc1 $f4, 0x94($s0)
/* 46603C 80219BAC 46802120 */ cvt.s.w $f4, $f4
/* 466040 80219BB0 E7A40014 */ swc1 $f4, 0x14($sp)
/* 466044 80219BB4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 466048 80219BB8 46806320 */ cvt.s.w $f12, $f12
/* 46604C 80219BBC 3C0140C9 */ lui $at, 0x40c9
/* 466050 80219BC0 34210FD0 */ ori $at, $at, 0xfd0
/* 466054 80219BC4 4481D000 */ mtc1 $at, $f26
/* 466058 80219BC8 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 46605C 80219BCC 4680F7A0 */ cvt.s.w $f30, $f30
/* 466060 80219BD0 461A6302 */ mul.s $f12, $f12, $f26
/* 466064 80219BD4 00000000 */ nop
/* 466068 80219BD8 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 46606C 80219BDC 4680E720 */ cvt.s.w $f28, $f28
/* 466070 80219BE0 3C0143B4 */ lui $at, 0x43b4
/* 466074 80219BE4 4481C000 */ mtc1 $at, $f24
/* 466078 80219BE8 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 46607C 80219BEC 46802120 */ cvt.s.w $f4, $f4
/* 466080 80219BF0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 466084 80219BF4 0C00A85B */ jal sin_rad
/* 466088 80219BF8 46186303 */ div.s $f12, $f12, $f24
/* 46608C 80219BFC 46000021 */ cvt.d.s $f0, $f0
/* 466090 80219C00 3C013FF0 */ lui $at, 0x3ff0
/* 466094 80219C04 4481B800 */ mtc1 $at, $f23
/* 466098 80219C08 4480B000 */ mtc1 $zero, $f22
/* 46609C 80219C0C C7A40010 */ lwc1 $f4, 0x10($sp)
/* 4660A0 80219C10 4620B001 */ sub.d $f0, $f22, $f0
/* 4660A4 80219C14 46002521 */ cvt.d.s $f20, $f4
/* 4660A8 80219C18 4620A502 */ mul.d $f20, $f20, $f0
/* 4660AC 80219C1C 00000000 */ nop
/* 4660B0 80219C20 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 4660B4 80219C24 46806320 */ cvt.s.w $f12, $f12
/* 4660B8 80219C28 461A6302 */ mul.s $f12, $f12, $f26
/* 4660BC 80219C2C 00000000 */ nop
/* 4660C0 80219C30 0C00A85B */ jal sin_rad
/* 4660C4 80219C34 46186303 */ div.s $f12, $f12, $f24
/* 4660C8 80219C38 4600E002 */ mul.s $f0, $f28, $f0
/* 4660CC 80219C3C 00000000 */ nop
/* 4660D0 80219C40 8E0200A8 */ lw $v0, 0xa8($s0)
/* 4660D4 80219C44 00021040 */ sll $v0, $v0, 1
/* 4660D8 80219C48 44826000 */ mtc1 $v0, $f12
/* 4660DC 80219C4C 00000000 */ nop
/* 4660E0 80219C50 46806320 */ cvt.s.w $f12, $f12
/* 4660E4 80219C54 461A6302 */ mul.s $f12, $f12, $f26
/* 4660E8 80219C58 00000000 */ nop
/* 4660EC 80219C5C 46000021 */ cvt.d.s $f0, $f0
/* 4660F0 80219C60 4620A500 */ add.d $f20, $f20, $f0
/* 4660F4 80219C64 46186303 */ div.s $f12, $f12, $f24
/* 4660F8 80219C68 4620A520 */ cvt.s.d $f20, $f20
/* 4660FC 80219C6C 0C00A85B */ jal sin_rad
/* 466100 80219C70 E7B40010 */ swc1 $f20, 0x10($sp)
/* 466104 80219C74 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 466108 80219C78 46806320 */ cvt.s.w $f12, $f12
/* 46610C 80219C7C 461A6302 */ mul.s $f12, $f12, $f26
/* 466110 80219C80 00000000 */ nop
/* 466114 80219C84 3C0142B4 */ lui $at, 0x42b4
/* 466118 80219C88 44811000 */ mtc1 $at, $f2
/* 46611C 80219C8C 00000000 */ nop
/* 466120 80219C90 46020002 */ mul.s $f0, $f0, $f2
/* 466124 80219C94 00000000 */ nop
/* 466128 80219C98 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 46612C 80219C9C 46002100 */ add.s $f4, $f4, $f0
/* 466130 80219CA0 46186303 */ div.s $f12, $f12, $f24
/* 466134 80219CA4 0C00A85B */ jal sin_rad
/* 466138 80219CA8 E7A40014 */ swc1 $f4, 0x14($sp)
/* 46613C 80219CAC C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 466140 80219CB0 46806320 */ cvt.s.w $f12, $f12
/* 466144 80219CB4 461A6302 */ mul.s $f12, $f12, $f26
/* 466148 80219CB8 00000000 */ nop
/* 46614C 80219CBC 46000021 */ cvt.d.s $f0, $f0
/* 466150 80219CC0 4620B581 */ sub.d $f22, $f22, $f0
/* 466154 80219CC4 4600F521 */ cvt.d.s $f20, $f30
/* 466158 80219CC8 4636A502 */ mul.d $f20, $f20, $f22
/* 46615C 80219CCC 00000000 */ nop
/* 466160 80219CD0 0C00A85B */ jal sin_rad
/* 466164 80219CD4 46186303 */ div.s $f12, $f12, $f24
/* 466168 80219CD8 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 46616C 80219CDC 46002002 */ mul.s $f0, $f4, $f0
/* 466170 80219CE0 00000000 */ nop
/* 466174 80219CE4 46000021 */ cvt.d.s $f0, $f0
/* 466178 80219CE8 4620A500 */ add.d $f20, $f20, $f0
/* 46617C 80219CEC 2402005A */ addiu $v0, $zero, 0x5a
.L80219CF0:
/* 466180 80219CF0 8E0300A8 */ lw $v1, 0xa8($s0)
/* 466184 80219CF4 14620002 */ bne $v1, $v0, .L80219D00
/* 466188 80219CF8 4620A7A0 */ cvt.s.d $f30, $f20
/* 46618C 80219CFC AE1100B0 */ sw $s1, 0xb0($s0)
.L80219D00:
/* 466190 80219D00 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 466194 80219D04 4600210D */ trunc.w.s $f4, $f4
/* 466198 80219D08 E6040084 */ swc1 $f4, 0x84($s0)
/* 46619C 80219D0C C7A40014 */ lwc1 $f4, 0x14($sp)
/* 4661A0 80219D10 4600210D */ trunc.w.s $f4, $f4
/* 4661A4 80219D14 E6040088 */ swc1 $f4, 0x88($s0)
/* 4661A8 80219D18 4600F10D */ trunc.w.s $f4, $f30
/* 4661AC 80219D1C E604008C */ swc1 $f4, 0x8c($s0)
/* 4661B0 80219D20 8FBF0028 */ lw $ra, 0x28($sp)
/* 4661B4 80219D24 8FB10024 */ lw $s1, 0x24($sp)
/* 4661B8 80219D28 8FB00020 */ lw $s0, 0x20($sp)
/* 4661BC 80219D2C D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 4661C0 80219D30 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 4661C4 80219D34 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 4661C8 80219D38 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 4661CC 80219D3C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 4661D0 80219D40 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 4661D4 80219D44 24020002 */ addiu $v0, $zero, 2
/* 4661D8 80219D48 03E00008 */ jr $ra
/* 4661DC 80219D4C 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,6 +1,19 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8022EB70_56DF50
.double 0.7142857142857143
dlabel D_8022EB78_56DF58
.double 90.0
dlabel jtbl_8022EB80_56DF60
.word L80218250_557630, L80218264_557644, L80218270_557650, L8021827C_55765C, L80218288_557668, L80218294_557674, L802182A0_557680, L802182AC_55768C, L802182B8_557698, L802182C4_5576A4, L802182D0_5576B0, L8021831C_5576FC
.section .text
glabel func_80218070_557450
/* 557450 80218070 27BDFF88 */ addiu $sp, $sp, -0x78
/* 557454 80218074 AFB00030 */ sw $s0, 0x30($sp)

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80219960_5EDDF0
/* 5EDDF0 80219960 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 5EDDF4 80219964 AFB00020 */ sw $s0, 0x20($sp)
/* 5EDDF8 80219968 0080802D */ daddu $s0, $a0, $zero
/* 5EDDFC 8021996C AFBF0028 */ sw $ra, 0x28($sp)
/* 5EDE00 80219970 AFB10024 */ sw $s1, 0x24($sp)
/* 5EDE04 80219974 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 5EDE08 80219978 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 5EDE0C 8021997C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 5EDE10 80219980 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 5EDE14 80219984 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 5EDE18 80219988 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 5EDE1C 8021998C 8E02000C */ lw $v0, 0xc($s0)
/* 5EDE20 80219990 0C0B1EAF */ jal evt_get_variable
/* 5EDE24 80219994 8C450000 */ lw $a1, ($v0)
/* 5EDE28 80219998 0040882D */ daddu $s1, $v0, $zero
/* 5EDE2C 8021999C 24040001 */ addiu $a0, $zero, 1
/* 5EDE30 802199A0 1224002F */ beq $s1, $a0, .L80219A60
/* 5EDE34 802199A4 AE110070 */ sw $s1, 0x70($s0)
/* 5EDE38 802199A8 2A220002 */ slti $v0, $s1, 2
/* 5EDE3C 802199AC 10400005 */ beqz $v0, .L802199C4
/* 5EDE40 802199B0 24020002 */ addiu $v0, $zero, 2
/* 5EDE44 802199B4 12200009 */ beqz $s1, .L802199DC
/* 5EDE48 802199B8 2402008E */ addiu $v0, $zero, 0x8e
/* 5EDE4C 802199BC 08086758 */ j .L80219D60
/* 5EDE50 802199C0 00000000 */ nop
.L802199C4:
/* 5EDE54 802199C4 12220085 */ beq $s1, $v0, .L80219BDC
/* 5EDE58 802199C8 24020003 */ addiu $v0, $zero, 3
/* 5EDE5C 802199CC 12220013 */ beq $s1, $v0, .L80219A1C
/* 5EDE60 802199D0 2403005B */ addiu $v1, $zero, 0x5b
/* 5EDE64 802199D4 08086758 */ j .L80219D60
/* 5EDE68 802199D8 00000000 */ nop
.L802199DC:
/* 5EDE6C 802199DC 3C01430E */ lui $at, 0x430e
/* 5EDE70 802199E0 44812000 */ mtc1 $at, $f4
/* 5EDE74 802199E4 3C01C2EC */ lui $at, 0xc2ec
/* 5EDE78 802199E8 4481F000 */ mtc1 $at, $f30
/* 5EDE7C 802199EC 2403FF8A */ addiu $v1, $zero, -0x76
/* 5EDE80 802199F0 AFA00014 */ sw $zero, 0x14($sp)
/* 5EDE84 802199F4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 5EDE88 802199F8 AE020090 */ sw $v0, 0x90($s0)
/* 5EDE8C 802199FC 2402002C */ addiu $v0, $zero, 0x2c
/* 5EDE90 80219A00 AE02009C */ sw $v0, 0x9c($s0)
/* 5EDE94 80219A04 24020003 */ addiu $v0, $zero, 3
/* 5EDE98 80219A08 AE000094 */ sw $zero, 0x94($s0)
/* 5EDE9C 80219A0C AE030098 */ sw $v1, 0x98($s0)
/* 5EDEA0 80219A10 AE0300A0 */ sw $v1, 0xa0($s0)
/* 5EDEA4 80219A14 08086694 */ j .L80219A50
/* 5EDEA8 80219A18 AE0200A4 */ sw $v0, 0xa4($s0)
.L80219A1C:
/* 5EDEAC 80219A1C 3C0142B6 */ lui $at, 0x42b6
/* 5EDEB0 80219A20 44812000 */ mtc1 $at, $f4
/* 5EDEB4 80219A24 3C01C2EC */ lui $at, 0xc2ec
/* 5EDEB8 80219A28 4481F000 */ mtc1 $at, $f30
/* 5EDEBC 80219A2C 2402FF8A */ addiu $v0, $zero, -0x76
/* 5EDEC0 80219A30 AFA00014 */ sw $zero, 0x14($sp)
/* 5EDEC4 80219A34 E7A40010 */ swc1 $f4, 0x10($sp)
/* 5EDEC8 80219A38 AE030090 */ sw $v1, 0x90($s0)
/* 5EDECC 80219A3C AE000094 */ sw $zero, 0x94($s0)
/* 5EDED0 80219A40 AE020098 */ sw $v0, 0x98($s0)
/* 5EDED4 80219A44 AE03009C */ sw $v1, 0x9c($s0)
/* 5EDED8 80219A48 AE0200A0 */ sw $v0, 0xa0($s0)
/* 5EDEDC 80219A4C AE1100A4 */ sw $s1, 0xa4($s0)
.L80219A50:
/* 5EDEE0 80219A50 AE0000A8 */ sw $zero, 0xa8($s0)
/* 5EDEE4 80219A54 AE0000B0 */ sw $zero, 0xb0($s0)
/* 5EDEE8 80219A58 08086758 */ j .L80219D60
/* 5EDEEC 80219A5C AE040070 */ sw $a0, 0x70($s0)
.L80219A60:
/* 5EDEF0 80219A60 8E0200A8 */ lw $v0, 0xa8($s0)
/* 5EDEF4 80219A64 8E0300A4 */ lw $v1, 0xa4($s0)
/* 5EDEF8 80219A68 00431021 */ addu $v0, $v0, $v1
/* 5EDEFC 80219A6C AE0200A8 */ sw $v0, 0xa8($s0)
/* 5EDF00 80219A70 2842002E */ slti $v0, $v0, 0x2e
/* 5EDF04 80219A74 14400003 */ bnez $v0, .L80219A84
/* 5EDF08 80219A78 00000000 */ nop
/* 5EDF0C 80219A7C 2402002D */ addiu $v0, $zero, 0x2d
/* 5EDF10 80219A80 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219A84:
/* 5EDF14 80219A84 C6040090 */ lwc1 $f4, 0x90($s0)
/* 5EDF18 80219A88 46802120 */ cvt.s.w $f4, $f4
/* 5EDF1C 80219A8C E7A40010 */ swc1 $f4, 0x10($sp)
/* 5EDF20 80219A90 C6040094 */ lwc1 $f4, 0x94($s0)
/* 5EDF24 80219A94 46802120 */ cvt.s.w $f4, $f4
/* 5EDF28 80219A98 E7A40014 */ swc1 $f4, 0x14($sp)
/* 5EDF2C 80219A9C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EDF30 80219AA0 46806320 */ cvt.s.w $f12, $f12
/* 5EDF34 80219AA4 3C0140C9 */ lui $at, 0x40c9
/* 5EDF38 80219AA8 34210FD0 */ ori $at, $at, 0xfd0
/* 5EDF3C 80219AAC 4481D000 */ mtc1 $at, $f26
/* 5EDF40 80219AB0 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 5EDF44 80219AB4 4680F7A0 */ cvt.s.w $f30, $f30
/* 5EDF48 80219AB8 461A6302 */ mul.s $f12, $f12, $f26
/* 5EDF4C 80219ABC 00000000 */ nop
/* 5EDF50 80219AC0 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 5EDF54 80219AC4 4680E720 */ cvt.s.w $f28, $f28
/* 5EDF58 80219AC8 3C0143B4 */ lui $at, 0x43b4
/* 5EDF5C 80219ACC 4481C000 */ mtc1 $at, $f24
/* 5EDF60 80219AD0 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 5EDF64 80219AD4 46802120 */ cvt.s.w $f4, $f4
/* 5EDF68 80219AD8 E7A40018 */ swc1 $f4, 0x18($sp)
/* 5EDF6C 80219ADC 0C00A85B */ jal sin_rad
/* 5EDF70 80219AE0 46186303 */ div.s $f12, $f12, $f24
/* 5EDF74 80219AE4 46000021 */ cvt.d.s $f0, $f0
/* 5EDF78 80219AE8 3C013FF0 */ lui $at, 0x3ff0
/* 5EDF7C 80219AEC 4481B800 */ mtc1 $at, $f23
/* 5EDF80 80219AF0 4480B000 */ mtc1 $zero, $f22
/* 5EDF84 80219AF4 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 5EDF88 80219AF8 4620B001 */ sub.d $f0, $f22, $f0
/* 5EDF8C 80219AFC 46002521 */ cvt.d.s $f20, $f4
/* 5EDF90 80219B00 4620A502 */ mul.d $f20, $f20, $f0
/* 5EDF94 80219B04 00000000 */ nop
/* 5EDF98 80219B08 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EDF9C 80219B0C 46806320 */ cvt.s.w $f12, $f12
/* 5EDFA0 80219B10 461A6302 */ mul.s $f12, $f12, $f26
/* 5EDFA4 80219B14 00000000 */ nop
/* 5EDFA8 80219B18 0C00A85B */ jal sin_rad
/* 5EDFAC 80219B1C 46186303 */ div.s $f12, $f12, $f24
/* 5EDFB0 80219B20 4600E002 */ mul.s $f0, $f28, $f0
/* 5EDFB4 80219B24 00000000 */ nop
/* 5EDFB8 80219B28 8E0200A8 */ lw $v0, 0xa8($s0)
/* 5EDFBC 80219B2C 00021040 */ sll $v0, $v0, 1
/* 5EDFC0 80219B30 44826000 */ mtc1 $v0, $f12
/* 5EDFC4 80219B34 00000000 */ nop
/* 5EDFC8 80219B38 46806320 */ cvt.s.w $f12, $f12
/* 5EDFCC 80219B3C 461A6302 */ mul.s $f12, $f12, $f26
/* 5EDFD0 80219B40 00000000 */ nop
/* 5EDFD4 80219B44 46000021 */ cvt.d.s $f0, $f0
/* 5EDFD8 80219B48 4620A500 */ add.d $f20, $f20, $f0
/* 5EDFDC 80219B4C 46186303 */ div.s $f12, $f12, $f24
/* 5EDFE0 80219B50 4620A520 */ cvt.s.d $f20, $f20
/* 5EDFE4 80219B54 0C00A85B */ jal sin_rad
/* 5EDFE8 80219B58 E7B40010 */ swc1 $f20, 0x10($sp)
/* 5EDFEC 80219B5C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EDFF0 80219B60 46806320 */ cvt.s.w $f12, $f12
/* 5EDFF4 80219B64 461A6302 */ mul.s $f12, $f12, $f26
/* 5EDFF8 80219B68 00000000 */ nop
/* 5EDFFC 80219B6C 3C0142B4 */ lui $at, 0x42b4
/* 5EE000 80219B70 44811000 */ mtc1 $at, $f2
/* 5EE004 80219B74 00000000 */ nop
/* 5EE008 80219B78 46020002 */ mul.s $f0, $f0, $f2
/* 5EE00C 80219B7C 00000000 */ nop
/* 5EE010 80219B80 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 5EE014 80219B84 46002100 */ add.s $f4, $f4, $f0
/* 5EE018 80219B88 46186303 */ div.s $f12, $f12, $f24
/* 5EE01C 80219B8C 0C00A85B */ jal sin_rad
/* 5EE020 80219B90 E7A40014 */ swc1 $f4, 0x14($sp)
/* 5EE024 80219B94 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EE028 80219B98 46806320 */ cvt.s.w $f12, $f12
/* 5EE02C 80219B9C 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE030 80219BA0 00000000 */ nop
/* 5EE034 80219BA4 46000021 */ cvt.d.s $f0, $f0
/* 5EE038 80219BA8 4620B581 */ sub.d $f22, $f22, $f0
/* 5EE03C 80219BAC 4600F521 */ cvt.d.s $f20, $f30
/* 5EE040 80219BB0 4636A502 */ mul.d $f20, $f20, $f22
/* 5EE044 80219BB4 00000000 */ nop
/* 5EE048 80219BB8 0C00A85B */ jal sin_rad
/* 5EE04C 80219BBC 46186303 */ div.s $f12, $f12, $f24
/* 5EE050 80219BC0 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 5EE054 80219BC4 46002002 */ mul.s $f0, $f4, $f0
/* 5EE058 80219BC8 00000000 */ nop
/* 5EE05C 80219BCC 46000021 */ cvt.d.s $f0, $f0
/* 5EE060 80219BD0 4620A500 */ add.d $f20, $f20, $f0
/* 5EE064 80219BD4 08086754 */ j .L80219D50
/* 5EE068 80219BD8 2402002D */ addiu $v0, $zero, 0x2d
.L80219BDC:
/* 5EE06C 80219BDC 8E0200A8 */ lw $v0, 0xa8($s0)
/* 5EE070 80219BE0 8E0300A4 */ lw $v1, 0xa4($s0)
/* 5EE074 80219BE4 00431021 */ addu $v0, $v0, $v1
/* 5EE078 80219BE8 AE0200A8 */ sw $v0, 0xa8($s0)
/* 5EE07C 80219BEC 2842005B */ slti $v0, $v0, 0x5b
/* 5EE080 80219BF0 14400002 */ bnez $v0, .L80219BFC
/* 5EE084 80219BF4 2402005A */ addiu $v0, $zero, 0x5a
/* 5EE088 80219BF8 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219BFC:
/* 5EE08C 80219BFC C6040090 */ lwc1 $f4, 0x90($s0)
/* 5EE090 80219C00 46802120 */ cvt.s.w $f4, $f4
/* 5EE094 80219C04 E7A40010 */ swc1 $f4, 0x10($sp)
/* 5EE098 80219C08 C6040094 */ lwc1 $f4, 0x94($s0)
/* 5EE09C 80219C0C 46802120 */ cvt.s.w $f4, $f4
/* 5EE0A0 80219C10 E7A40014 */ swc1 $f4, 0x14($sp)
/* 5EE0A4 80219C14 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EE0A8 80219C18 46806320 */ cvt.s.w $f12, $f12
/* 5EE0AC 80219C1C 3C0140C9 */ lui $at, 0x40c9
/* 5EE0B0 80219C20 34210FD0 */ ori $at, $at, 0xfd0
/* 5EE0B4 80219C24 4481D000 */ mtc1 $at, $f26
/* 5EE0B8 80219C28 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 5EE0BC 80219C2C 4680F7A0 */ cvt.s.w $f30, $f30
/* 5EE0C0 80219C30 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE0C4 80219C34 00000000 */ nop
/* 5EE0C8 80219C38 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 5EE0CC 80219C3C 4680E720 */ cvt.s.w $f28, $f28
/* 5EE0D0 80219C40 3C0143B4 */ lui $at, 0x43b4
/* 5EE0D4 80219C44 4481C000 */ mtc1 $at, $f24
/* 5EE0D8 80219C48 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 5EE0DC 80219C4C 46802120 */ cvt.s.w $f4, $f4
/* 5EE0E0 80219C50 E7A40018 */ swc1 $f4, 0x18($sp)
/* 5EE0E4 80219C54 0C00A85B */ jal sin_rad
/* 5EE0E8 80219C58 46186303 */ div.s $f12, $f12, $f24
/* 5EE0EC 80219C5C 46000021 */ cvt.d.s $f0, $f0
/* 5EE0F0 80219C60 3C013FF0 */ lui $at, 0x3ff0
/* 5EE0F4 80219C64 4481B800 */ mtc1 $at, $f23
/* 5EE0F8 80219C68 4480B000 */ mtc1 $zero, $f22
/* 5EE0FC 80219C6C C7A40010 */ lwc1 $f4, 0x10($sp)
/* 5EE100 80219C70 4620B001 */ sub.d $f0, $f22, $f0
/* 5EE104 80219C74 46002521 */ cvt.d.s $f20, $f4
/* 5EE108 80219C78 4620A502 */ mul.d $f20, $f20, $f0
/* 5EE10C 80219C7C 00000000 */ nop
/* 5EE110 80219C80 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EE114 80219C84 46806320 */ cvt.s.w $f12, $f12
/* 5EE118 80219C88 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE11C 80219C8C 00000000 */ nop
/* 5EE120 80219C90 0C00A85B */ jal sin_rad
/* 5EE124 80219C94 46186303 */ div.s $f12, $f12, $f24
/* 5EE128 80219C98 4600E002 */ mul.s $f0, $f28, $f0
/* 5EE12C 80219C9C 00000000 */ nop
/* 5EE130 80219CA0 8E0200A8 */ lw $v0, 0xa8($s0)
/* 5EE134 80219CA4 00021040 */ sll $v0, $v0, 1
/* 5EE138 80219CA8 44826000 */ mtc1 $v0, $f12
/* 5EE13C 80219CAC 00000000 */ nop
/* 5EE140 80219CB0 46806320 */ cvt.s.w $f12, $f12
/* 5EE144 80219CB4 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE148 80219CB8 00000000 */ nop
/* 5EE14C 80219CBC 46000021 */ cvt.d.s $f0, $f0
/* 5EE150 80219CC0 4620A500 */ add.d $f20, $f20, $f0
/* 5EE154 80219CC4 46186303 */ div.s $f12, $f12, $f24
/* 5EE158 80219CC8 4620A520 */ cvt.s.d $f20, $f20
/* 5EE15C 80219CCC 0C00A85B */ jal sin_rad
/* 5EE160 80219CD0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 5EE164 80219CD4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EE168 80219CD8 46806320 */ cvt.s.w $f12, $f12
/* 5EE16C 80219CDC 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE170 80219CE0 00000000 */ nop
/* 5EE174 80219CE4 3C0142B4 */ lui $at, 0x42b4
/* 5EE178 80219CE8 44811000 */ mtc1 $at, $f2
/* 5EE17C 80219CEC 00000000 */ nop
/* 5EE180 80219CF0 46020002 */ mul.s $f0, $f0, $f2
/* 5EE184 80219CF4 00000000 */ nop
/* 5EE188 80219CF8 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 5EE18C 80219CFC 46002100 */ add.s $f4, $f4, $f0
/* 5EE190 80219D00 46186303 */ div.s $f12, $f12, $f24
/* 5EE194 80219D04 0C00A85B */ jal sin_rad
/* 5EE198 80219D08 E7A40014 */ swc1 $f4, 0x14($sp)
/* 5EE19C 80219D0C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 5EE1A0 80219D10 46806320 */ cvt.s.w $f12, $f12
/* 5EE1A4 80219D14 461A6302 */ mul.s $f12, $f12, $f26
/* 5EE1A8 80219D18 00000000 */ nop
/* 5EE1AC 80219D1C 46000021 */ cvt.d.s $f0, $f0
/* 5EE1B0 80219D20 4620B581 */ sub.d $f22, $f22, $f0
/* 5EE1B4 80219D24 4600F521 */ cvt.d.s $f20, $f30
/* 5EE1B8 80219D28 4636A502 */ mul.d $f20, $f20, $f22
/* 5EE1BC 80219D2C 00000000 */ nop
/* 5EE1C0 80219D30 0C00A85B */ jal sin_rad
/* 5EE1C4 80219D34 46186303 */ div.s $f12, $f12, $f24
/* 5EE1C8 80219D38 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 5EE1CC 80219D3C 46002002 */ mul.s $f0, $f4, $f0
/* 5EE1D0 80219D40 00000000 */ nop
/* 5EE1D4 80219D44 46000021 */ cvt.d.s $f0, $f0
/* 5EE1D8 80219D48 4620A500 */ add.d $f20, $f20, $f0
/* 5EE1DC 80219D4C 2402005A */ addiu $v0, $zero, 0x5a
.L80219D50:
/* 5EE1E0 80219D50 8E0300A8 */ lw $v1, 0xa8($s0)
/* 5EE1E4 80219D54 14620002 */ bne $v1, $v0, .L80219D60
/* 5EE1E8 80219D58 4620A7A0 */ cvt.s.d $f30, $f20
/* 5EE1EC 80219D5C AE1100B0 */ sw $s1, 0xb0($s0)
.L80219D60:
/* 5EE1F0 80219D60 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 5EE1F4 80219D64 4600210D */ trunc.w.s $f4, $f4
/* 5EE1F8 80219D68 E6040084 */ swc1 $f4, 0x84($s0)
/* 5EE1FC 80219D6C C7A40014 */ lwc1 $f4, 0x14($sp)
/* 5EE200 80219D70 4600210D */ trunc.w.s $f4, $f4
/* 5EE204 80219D74 E6040088 */ swc1 $f4, 0x88($s0)
/* 5EE208 80219D78 4600F10D */ trunc.w.s $f4, $f30
/* 5EE20C 80219D7C E604008C */ swc1 $f4, 0x8c($s0)
/* 5EE210 80219D80 8FBF0028 */ lw $ra, 0x28($sp)
/* 5EE214 80219D84 8FB10024 */ lw $s1, 0x24($sp)
/* 5EE218 80219D88 8FB00020 */ lw $s0, 0x20($sp)
/* 5EE21C 80219D8C D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 5EE220 80219D90 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 5EE224 80219D94 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 5EE228 80219D98 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 5EE22C 80219D9C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 5EE230 80219DA0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 5EE234 80219DA4 24020002 */ addiu $v0, $zero, 2
/* 5EE238 80219DA8 03E00008 */ jr $ra
/* 5EE23C 80219DAC 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802199C0_60A470
/* 60A470 802199C0 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 60A474 802199C4 AFB00020 */ sw $s0, 0x20($sp)
/* 60A478 802199C8 0080802D */ daddu $s0, $a0, $zero
/* 60A47C 802199CC AFBF0028 */ sw $ra, 0x28($sp)
/* 60A480 802199D0 AFB10024 */ sw $s1, 0x24($sp)
/* 60A484 802199D4 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 60A488 802199D8 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 60A48C 802199DC F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 60A490 802199E0 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 60A494 802199E4 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 60A498 802199E8 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 60A49C 802199EC 8E02000C */ lw $v0, 0xc($s0)
/* 60A4A0 802199F0 0C0B1EAF */ jal evt_get_variable
/* 60A4A4 802199F4 8C450000 */ lw $a1, ($v0)
/* 60A4A8 802199F8 0040882D */ daddu $s1, $v0, $zero
/* 60A4AC 802199FC 24040001 */ addiu $a0, $zero, 1
/* 60A4B0 80219A00 1224002F */ beq $s1, $a0, .L80219AC0
/* 60A4B4 80219A04 AE110070 */ sw $s1, 0x70($s0)
/* 60A4B8 80219A08 2A220002 */ slti $v0, $s1, 2
/* 60A4BC 80219A0C 10400005 */ beqz $v0, .L80219A24
/* 60A4C0 80219A10 24020002 */ addiu $v0, $zero, 2
/* 60A4C4 80219A14 12200009 */ beqz $s1, .L80219A3C
/* 60A4C8 80219A18 2402008E */ addiu $v0, $zero, 0x8e
/* 60A4CC 80219A1C 08086770 */ j .L80219DC0
/* 60A4D0 80219A20 00000000 */ nop
.L80219A24:
/* 60A4D4 80219A24 12220085 */ beq $s1, $v0, .L80219C3C
/* 60A4D8 80219A28 24020003 */ addiu $v0, $zero, 3
/* 60A4DC 80219A2C 12220013 */ beq $s1, $v0, .L80219A7C
/* 60A4E0 80219A30 2403005B */ addiu $v1, $zero, 0x5b
/* 60A4E4 80219A34 08086770 */ j .L80219DC0
/* 60A4E8 80219A38 00000000 */ nop
.L80219A3C:
/* 60A4EC 80219A3C 3C01430E */ lui $at, 0x430e
/* 60A4F0 80219A40 44812000 */ mtc1 $at, $f4
/* 60A4F4 80219A44 3C01C2EC */ lui $at, 0xc2ec
/* 60A4F8 80219A48 4481F000 */ mtc1 $at, $f30
/* 60A4FC 80219A4C 2403FF8A */ addiu $v1, $zero, -0x76
/* 60A500 80219A50 AFA00014 */ sw $zero, 0x14($sp)
/* 60A504 80219A54 E7A40010 */ swc1 $f4, 0x10($sp)
/* 60A508 80219A58 AE020090 */ sw $v0, 0x90($s0)
/* 60A50C 80219A5C 2402002C */ addiu $v0, $zero, 0x2c
/* 60A510 80219A60 AE02009C */ sw $v0, 0x9c($s0)
/* 60A514 80219A64 24020003 */ addiu $v0, $zero, 3
/* 60A518 80219A68 AE000094 */ sw $zero, 0x94($s0)
/* 60A51C 80219A6C AE030098 */ sw $v1, 0x98($s0)
/* 60A520 80219A70 AE0300A0 */ sw $v1, 0xa0($s0)
/* 60A524 80219A74 080866AC */ j .L80219AB0
/* 60A528 80219A78 AE0200A4 */ sw $v0, 0xa4($s0)
.L80219A7C:
/* 60A52C 80219A7C 3C0142B6 */ lui $at, 0x42b6
/* 60A530 80219A80 44812000 */ mtc1 $at, $f4
/* 60A534 80219A84 3C01C2EC */ lui $at, 0xc2ec
/* 60A538 80219A88 4481F000 */ mtc1 $at, $f30
/* 60A53C 80219A8C 2402FF8A */ addiu $v0, $zero, -0x76
/* 60A540 80219A90 AFA00014 */ sw $zero, 0x14($sp)
/* 60A544 80219A94 E7A40010 */ swc1 $f4, 0x10($sp)
/* 60A548 80219A98 AE030090 */ sw $v1, 0x90($s0)
/* 60A54C 80219A9C AE000094 */ sw $zero, 0x94($s0)
/* 60A550 80219AA0 AE020098 */ sw $v0, 0x98($s0)
/* 60A554 80219AA4 AE03009C */ sw $v1, 0x9c($s0)
/* 60A558 80219AA8 AE0200A0 */ sw $v0, 0xa0($s0)
/* 60A55C 80219AAC AE1100A4 */ sw $s1, 0xa4($s0)
.L80219AB0:
/* 60A560 80219AB0 AE0000A8 */ sw $zero, 0xa8($s0)
/* 60A564 80219AB4 AE0000B0 */ sw $zero, 0xb0($s0)
/* 60A568 80219AB8 08086770 */ j .L80219DC0
/* 60A56C 80219ABC AE040070 */ sw $a0, 0x70($s0)
.L80219AC0:
/* 60A570 80219AC0 8E0200A8 */ lw $v0, 0xa8($s0)
/* 60A574 80219AC4 8E0300A4 */ lw $v1, 0xa4($s0)
/* 60A578 80219AC8 00431021 */ addu $v0, $v0, $v1
/* 60A57C 80219ACC AE0200A8 */ sw $v0, 0xa8($s0)
/* 60A580 80219AD0 2842002E */ slti $v0, $v0, 0x2e
/* 60A584 80219AD4 14400003 */ bnez $v0, .L80219AE4
/* 60A588 80219AD8 00000000 */ nop
/* 60A58C 80219ADC 2402002D */ addiu $v0, $zero, 0x2d
/* 60A590 80219AE0 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219AE4:
/* 60A594 80219AE4 C6040090 */ lwc1 $f4, 0x90($s0)
/* 60A598 80219AE8 46802120 */ cvt.s.w $f4, $f4
/* 60A59C 80219AEC E7A40010 */ swc1 $f4, 0x10($sp)
/* 60A5A0 80219AF0 C6040094 */ lwc1 $f4, 0x94($s0)
/* 60A5A4 80219AF4 46802120 */ cvt.s.w $f4, $f4
/* 60A5A8 80219AF8 E7A40014 */ swc1 $f4, 0x14($sp)
/* 60A5AC 80219AFC C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A5B0 80219B00 46806320 */ cvt.s.w $f12, $f12
/* 60A5B4 80219B04 3C0140C9 */ lui $at, 0x40c9
/* 60A5B8 80219B08 34210FD0 */ ori $at, $at, 0xfd0
/* 60A5BC 80219B0C 4481D000 */ mtc1 $at, $f26
/* 60A5C0 80219B10 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 60A5C4 80219B14 4680F7A0 */ cvt.s.w $f30, $f30
/* 60A5C8 80219B18 461A6302 */ mul.s $f12, $f12, $f26
/* 60A5CC 80219B1C 00000000 */ nop
/* 60A5D0 80219B20 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 60A5D4 80219B24 4680E720 */ cvt.s.w $f28, $f28
/* 60A5D8 80219B28 3C0143B4 */ lui $at, 0x43b4
/* 60A5DC 80219B2C 4481C000 */ mtc1 $at, $f24
/* 60A5E0 80219B30 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 60A5E4 80219B34 46802120 */ cvt.s.w $f4, $f4
/* 60A5E8 80219B38 E7A40018 */ swc1 $f4, 0x18($sp)
/* 60A5EC 80219B3C 0C00A85B */ jal sin_rad
/* 60A5F0 80219B40 46186303 */ div.s $f12, $f12, $f24
/* 60A5F4 80219B44 46000021 */ cvt.d.s $f0, $f0
/* 60A5F8 80219B48 3C013FF0 */ lui $at, 0x3ff0
/* 60A5FC 80219B4C 4481B800 */ mtc1 $at, $f23
/* 60A600 80219B50 4480B000 */ mtc1 $zero, $f22
/* 60A604 80219B54 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 60A608 80219B58 4620B001 */ sub.d $f0, $f22, $f0
/* 60A60C 80219B5C 46002521 */ cvt.d.s $f20, $f4
/* 60A610 80219B60 4620A502 */ mul.d $f20, $f20, $f0
/* 60A614 80219B64 00000000 */ nop
/* 60A618 80219B68 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A61C 80219B6C 46806320 */ cvt.s.w $f12, $f12
/* 60A620 80219B70 461A6302 */ mul.s $f12, $f12, $f26
/* 60A624 80219B74 00000000 */ nop
/* 60A628 80219B78 0C00A85B */ jal sin_rad
/* 60A62C 80219B7C 46186303 */ div.s $f12, $f12, $f24
/* 60A630 80219B80 4600E002 */ mul.s $f0, $f28, $f0
/* 60A634 80219B84 00000000 */ nop
/* 60A638 80219B88 8E0200A8 */ lw $v0, 0xa8($s0)
/* 60A63C 80219B8C 00021040 */ sll $v0, $v0, 1
/* 60A640 80219B90 44826000 */ mtc1 $v0, $f12
/* 60A644 80219B94 00000000 */ nop
/* 60A648 80219B98 46806320 */ cvt.s.w $f12, $f12
/* 60A64C 80219B9C 461A6302 */ mul.s $f12, $f12, $f26
/* 60A650 80219BA0 00000000 */ nop
/* 60A654 80219BA4 46000021 */ cvt.d.s $f0, $f0
/* 60A658 80219BA8 4620A500 */ add.d $f20, $f20, $f0
/* 60A65C 80219BAC 46186303 */ div.s $f12, $f12, $f24
/* 60A660 80219BB0 4620A520 */ cvt.s.d $f20, $f20
/* 60A664 80219BB4 0C00A85B */ jal sin_rad
/* 60A668 80219BB8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 60A66C 80219BBC C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A670 80219BC0 46806320 */ cvt.s.w $f12, $f12
/* 60A674 80219BC4 461A6302 */ mul.s $f12, $f12, $f26
/* 60A678 80219BC8 00000000 */ nop
/* 60A67C 80219BCC 3C0142B4 */ lui $at, 0x42b4
/* 60A680 80219BD0 44811000 */ mtc1 $at, $f2
/* 60A684 80219BD4 00000000 */ nop
/* 60A688 80219BD8 46020002 */ mul.s $f0, $f0, $f2
/* 60A68C 80219BDC 00000000 */ nop
/* 60A690 80219BE0 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 60A694 80219BE4 46002100 */ add.s $f4, $f4, $f0
/* 60A698 80219BE8 46186303 */ div.s $f12, $f12, $f24
/* 60A69C 80219BEC 0C00A85B */ jal sin_rad
/* 60A6A0 80219BF0 E7A40014 */ swc1 $f4, 0x14($sp)
/* 60A6A4 80219BF4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A6A8 80219BF8 46806320 */ cvt.s.w $f12, $f12
/* 60A6AC 80219BFC 461A6302 */ mul.s $f12, $f12, $f26
/* 60A6B0 80219C00 00000000 */ nop
/* 60A6B4 80219C04 46000021 */ cvt.d.s $f0, $f0
/* 60A6B8 80219C08 4620B581 */ sub.d $f22, $f22, $f0
/* 60A6BC 80219C0C 4600F521 */ cvt.d.s $f20, $f30
/* 60A6C0 80219C10 4636A502 */ mul.d $f20, $f20, $f22
/* 60A6C4 80219C14 00000000 */ nop
/* 60A6C8 80219C18 0C00A85B */ jal sin_rad
/* 60A6CC 80219C1C 46186303 */ div.s $f12, $f12, $f24
/* 60A6D0 80219C20 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 60A6D4 80219C24 46002002 */ mul.s $f0, $f4, $f0
/* 60A6D8 80219C28 00000000 */ nop
/* 60A6DC 80219C2C 46000021 */ cvt.d.s $f0, $f0
/* 60A6E0 80219C30 4620A500 */ add.d $f20, $f20, $f0
/* 60A6E4 80219C34 0808676C */ j .L80219DB0
/* 60A6E8 80219C38 2402002D */ addiu $v0, $zero, 0x2d
.L80219C3C:
/* 60A6EC 80219C3C 8E0200A8 */ lw $v0, 0xa8($s0)
/* 60A6F0 80219C40 8E0300A4 */ lw $v1, 0xa4($s0)
/* 60A6F4 80219C44 00431021 */ addu $v0, $v0, $v1
/* 60A6F8 80219C48 AE0200A8 */ sw $v0, 0xa8($s0)
/* 60A6FC 80219C4C 2842005B */ slti $v0, $v0, 0x5b
/* 60A700 80219C50 14400002 */ bnez $v0, .L80219C5C
/* 60A704 80219C54 2402005A */ addiu $v0, $zero, 0x5a
/* 60A708 80219C58 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219C5C:
/* 60A70C 80219C5C C6040090 */ lwc1 $f4, 0x90($s0)
/* 60A710 80219C60 46802120 */ cvt.s.w $f4, $f4
/* 60A714 80219C64 E7A40010 */ swc1 $f4, 0x10($sp)
/* 60A718 80219C68 C6040094 */ lwc1 $f4, 0x94($s0)
/* 60A71C 80219C6C 46802120 */ cvt.s.w $f4, $f4
/* 60A720 80219C70 E7A40014 */ swc1 $f4, 0x14($sp)
/* 60A724 80219C74 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A728 80219C78 46806320 */ cvt.s.w $f12, $f12
/* 60A72C 80219C7C 3C0140C9 */ lui $at, 0x40c9
/* 60A730 80219C80 34210FD0 */ ori $at, $at, 0xfd0
/* 60A734 80219C84 4481D000 */ mtc1 $at, $f26
/* 60A738 80219C88 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 60A73C 80219C8C 4680F7A0 */ cvt.s.w $f30, $f30
/* 60A740 80219C90 461A6302 */ mul.s $f12, $f12, $f26
/* 60A744 80219C94 00000000 */ nop
/* 60A748 80219C98 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 60A74C 80219C9C 4680E720 */ cvt.s.w $f28, $f28
/* 60A750 80219CA0 3C0143B4 */ lui $at, 0x43b4
/* 60A754 80219CA4 4481C000 */ mtc1 $at, $f24
/* 60A758 80219CA8 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 60A75C 80219CAC 46802120 */ cvt.s.w $f4, $f4
/* 60A760 80219CB0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 60A764 80219CB4 0C00A85B */ jal sin_rad
/* 60A768 80219CB8 46186303 */ div.s $f12, $f12, $f24
/* 60A76C 80219CBC 46000021 */ cvt.d.s $f0, $f0
/* 60A770 80219CC0 3C013FF0 */ lui $at, 0x3ff0
/* 60A774 80219CC4 4481B800 */ mtc1 $at, $f23
/* 60A778 80219CC8 4480B000 */ mtc1 $zero, $f22
/* 60A77C 80219CCC C7A40010 */ lwc1 $f4, 0x10($sp)
/* 60A780 80219CD0 4620B001 */ sub.d $f0, $f22, $f0
/* 60A784 80219CD4 46002521 */ cvt.d.s $f20, $f4
/* 60A788 80219CD8 4620A502 */ mul.d $f20, $f20, $f0
/* 60A78C 80219CDC 00000000 */ nop
/* 60A790 80219CE0 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A794 80219CE4 46806320 */ cvt.s.w $f12, $f12
/* 60A798 80219CE8 461A6302 */ mul.s $f12, $f12, $f26
/* 60A79C 80219CEC 00000000 */ nop
/* 60A7A0 80219CF0 0C00A85B */ jal sin_rad
/* 60A7A4 80219CF4 46186303 */ div.s $f12, $f12, $f24
/* 60A7A8 80219CF8 4600E002 */ mul.s $f0, $f28, $f0
/* 60A7AC 80219CFC 00000000 */ nop
/* 60A7B0 80219D00 8E0200A8 */ lw $v0, 0xa8($s0)
/* 60A7B4 80219D04 00021040 */ sll $v0, $v0, 1
/* 60A7B8 80219D08 44826000 */ mtc1 $v0, $f12
/* 60A7BC 80219D0C 00000000 */ nop
/* 60A7C0 80219D10 46806320 */ cvt.s.w $f12, $f12
/* 60A7C4 80219D14 461A6302 */ mul.s $f12, $f12, $f26
/* 60A7C8 80219D18 00000000 */ nop
/* 60A7CC 80219D1C 46000021 */ cvt.d.s $f0, $f0
/* 60A7D0 80219D20 4620A500 */ add.d $f20, $f20, $f0
/* 60A7D4 80219D24 46186303 */ div.s $f12, $f12, $f24
/* 60A7D8 80219D28 4620A520 */ cvt.s.d $f20, $f20
/* 60A7DC 80219D2C 0C00A85B */ jal sin_rad
/* 60A7E0 80219D30 E7B40010 */ swc1 $f20, 0x10($sp)
/* 60A7E4 80219D34 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A7E8 80219D38 46806320 */ cvt.s.w $f12, $f12
/* 60A7EC 80219D3C 461A6302 */ mul.s $f12, $f12, $f26
/* 60A7F0 80219D40 00000000 */ nop
/* 60A7F4 80219D44 3C0142B4 */ lui $at, 0x42b4
/* 60A7F8 80219D48 44811000 */ mtc1 $at, $f2
/* 60A7FC 80219D4C 00000000 */ nop
/* 60A800 80219D50 46020002 */ mul.s $f0, $f0, $f2
/* 60A804 80219D54 00000000 */ nop
/* 60A808 80219D58 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 60A80C 80219D5C 46002100 */ add.s $f4, $f4, $f0
/* 60A810 80219D60 46186303 */ div.s $f12, $f12, $f24
/* 60A814 80219D64 0C00A85B */ jal sin_rad
/* 60A818 80219D68 E7A40014 */ swc1 $f4, 0x14($sp)
/* 60A81C 80219D6C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 60A820 80219D70 46806320 */ cvt.s.w $f12, $f12
/* 60A824 80219D74 461A6302 */ mul.s $f12, $f12, $f26
/* 60A828 80219D78 00000000 */ nop
/* 60A82C 80219D7C 46000021 */ cvt.d.s $f0, $f0
/* 60A830 80219D80 4620B581 */ sub.d $f22, $f22, $f0
/* 60A834 80219D84 4600F521 */ cvt.d.s $f20, $f30
/* 60A838 80219D88 4636A502 */ mul.d $f20, $f20, $f22
/* 60A83C 80219D8C 00000000 */ nop
/* 60A840 80219D90 0C00A85B */ jal sin_rad
/* 60A844 80219D94 46186303 */ div.s $f12, $f12, $f24
/* 60A848 80219D98 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 60A84C 80219D9C 46002002 */ mul.s $f0, $f4, $f0
/* 60A850 80219DA0 00000000 */ nop
/* 60A854 80219DA4 46000021 */ cvt.d.s $f0, $f0
/* 60A858 80219DA8 4620A500 */ add.d $f20, $f20, $f0
/* 60A85C 80219DAC 2402005A */ addiu $v0, $zero, 0x5a
.L80219DB0:
/* 60A860 80219DB0 8E0300A8 */ lw $v1, 0xa8($s0)
/* 60A864 80219DB4 14620002 */ bne $v1, $v0, .L80219DC0
/* 60A868 80219DB8 4620A7A0 */ cvt.s.d $f30, $f20
/* 60A86C 80219DBC AE1100B0 */ sw $s1, 0xb0($s0)
.L80219DC0:
/* 60A870 80219DC0 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 60A874 80219DC4 4600210D */ trunc.w.s $f4, $f4
/* 60A878 80219DC8 E6040084 */ swc1 $f4, 0x84($s0)
/* 60A87C 80219DCC C7A40014 */ lwc1 $f4, 0x14($sp)
/* 60A880 80219DD0 4600210D */ trunc.w.s $f4, $f4
/* 60A884 80219DD4 E6040088 */ swc1 $f4, 0x88($s0)
/* 60A888 80219DD8 4600F10D */ trunc.w.s $f4, $f30
/* 60A88C 80219DDC E604008C */ swc1 $f4, 0x8c($s0)
/* 60A890 80219DE0 8FBF0028 */ lw $ra, 0x28($sp)
/* 60A894 80219DE4 8FB10024 */ lw $s1, 0x24($sp)
/* 60A898 80219DE8 8FB00020 */ lw $s0, 0x20($sp)
/* 60A89C 80219DEC D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 60A8A0 80219DF0 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 60A8A4 80219DF4 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 60A8A8 80219DF8 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 60A8AC 80219DFC D7B60038 */ ldc1 $f22, 0x38($sp)
/* 60A8B0 80219E00 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 60A8B4 80219E04 24020002 */ addiu $v0, $zero, 2
/* 60A8B8 80219E08 03E00008 */ jr $ra
/* 60A8BC 80219E0C 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,290 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802190F0_6197E0
/* 6197E0 802190F0 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 6197E4 802190F4 AFB00020 */ sw $s0, 0x20($sp)
/* 6197E8 802190F8 0080802D */ daddu $s0, $a0, $zero
/* 6197EC 802190FC AFBF0028 */ sw $ra, 0x28($sp)
/* 6197F0 80219100 AFB10024 */ sw $s1, 0x24($sp)
/* 6197F4 80219104 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 6197F8 80219108 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 6197FC 8021910C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 619800 80219110 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 619804 80219114 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 619808 80219118 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 61980C 8021911C 8E02000C */ lw $v0, 0xc($s0)
/* 619810 80219120 0C0B1EAF */ jal evt_get_variable
/* 619814 80219124 8C450000 */ lw $a1, ($v0)
/* 619818 80219128 0040882D */ daddu $s1, $v0, $zero
/* 61981C 8021912C 24040001 */ addiu $a0, $zero, 1
/* 619820 80219130 1224002F */ beq $s1, $a0, .L802191F0
/* 619824 80219134 AE110070 */ sw $s1, 0x70($s0)
/* 619828 80219138 2A220002 */ slti $v0, $s1, 2
/* 61982C 8021913C 10400005 */ beqz $v0, .L80219154
/* 619830 80219140 24020002 */ addiu $v0, $zero, 2
/* 619834 80219144 12200009 */ beqz $s1, .L8021916C
/* 619838 80219148 2402008E */ addiu $v0, $zero, 0x8e
/* 61983C 8021914C 0808653C */ j .L802194F0
/* 619840 80219150 00000000 */ nop
.L80219154:
/* 619844 80219154 12220085 */ beq $s1, $v0, .L8021936C
/* 619848 80219158 24020003 */ addiu $v0, $zero, 3
/* 61984C 8021915C 12220013 */ beq $s1, $v0, .L802191AC
/* 619850 80219160 2403005B */ addiu $v1, $zero, 0x5b
/* 619854 80219164 0808653C */ j .L802194F0
/* 619858 80219168 00000000 */ nop
.L8021916C:
/* 61985C 8021916C 3C01430E */ lui $at, 0x430e
/* 619860 80219170 44812000 */ mtc1 $at, $f4
/* 619864 80219174 3C01C2EC */ lui $at, 0xc2ec
/* 619868 80219178 4481F000 */ mtc1 $at, $f30
/* 61986C 8021917C 2403FF8A */ addiu $v1, $zero, -0x76
/* 619870 80219180 AFA00014 */ sw $zero, 0x14($sp)
/* 619874 80219184 E7A40010 */ swc1 $f4, 0x10($sp)
/* 619878 80219188 AE020090 */ sw $v0, 0x90($s0)
/* 61987C 8021918C 2402002C */ addiu $v0, $zero, 0x2c
/* 619880 80219190 AE02009C */ sw $v0, 0x9c($s0)
/* 619884 80219194 24020003 */ addiu $v0, $zero, 3
/* 619888 80219198 AE000094 */ sw $zero, 0x94($s0)
/* 61988C 8021919C AE030098 */ sw $v1, 0x98($s0)
/* 619890 802191A0 AE0300A0 */ sw $v1, 0xa0($s0)
/* 619894 802191A4 08086478 */ j .L802191E0
/* 619898 802191A8 AE0200A4 */ sw $v0, 0xa4($s0)
.L802191AC:
/* 61989C 802191AC 3C0142B6 */ lui $at, 0x42b6
/* 6198A0 802191B0 44812000 */ mtc1 $at, $f4
/* 6198A4 802191B4 3C01C2EC */ lui $at, 0xc2ec
/* 6198A8 802191B8 4481F000 */ mtc1 $at, $f30
/* 6198AC 802191BC 2402FF8A */ addiu $v0, $zero, -0x76
/* 6198B0 802191C0 AFA00014 */ sw $zero, 0x14($sp)
/* 6198B4 802191C4 E7A40010 */ swc1 $f4, 0x10($sp)
/* 6198B8 802191C8 AE030090 */ sw $v1, 0x90($s0)
/* 6198BC 802191CC AE000094 */ sw $zero, 0x94($s0)
/* 6198C0 802191D0 AE020098 */ sw $v0, 0x98($s0)
/* 6198C4 802191D4 AE03009C */ sw $v1, 0x9c($s0)
/* 6198C8 802191D8 AE0200A0 */ sw $v0, 0xa0($s0)
/* 6198CC 802191DC AE1100A4 */ sw $s1, 0xa4($s0)
.L802191E0:
/* 6198D0 802191E0 AE0000A8 */ sw $zero, 0xa8($s0)
/* 6198D4 802191E4 AE0000B0 */ sw $zero, 0xb0($s0)
/* 6198D8 802191E8 0808653C */ j .L802194F0
/* 6198DC 802191EC AE040070 */ sw $a0, 0x70($s0)
.L802191F0:
/* 6198E0 802191F0 8E0200A8 */ lw $v0, 0xa8($s0)
/* 6198E4 802191F4 8E0300A4 */ lw $v1, 0xa4($s0)
/* 6198E8 802191F8 00431021 */ addu $v0, $v0, $v1
/* 6198EC 802191FC AE0200A8 */ sw $v0, 0xa8($s0)
/* 6198F0 80219200 2842002E */ slti $v0, $v0, 0x2e
/* 6198F4 80219204 14400003 */ bnez $v0, .L80219214
/* 6198F8 80219208 00000000 */ nop
/* 6198FC 8021920C 2402002D */ addiu $v0, $zero, 0x2d
/* 619900 80219210 AE0200A8 */ sw $v0, 0xa8($s0)
.L80219214:
/* 619904 80219214 C6040090 */ lwc1 $f4, 0x90($s0)
/* 619908 80219218 46802120 */ cvt.s.w $f4, $f4
/* 61990C 8021921C E7A40010 */ swc1 $f4, 0x10($sp)
/* 619910 80219220 C6040094 */ lwc1 $f4, 0x94($s0)
/* 619914 80219224 46802120 */ cvt.s.w $f4, $f4
/* 619918 80219228 E7A40014 */ swc1 $f4, 0x14($sp)
/* 61991C 8021922C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619920 80219230 46806320 */ cvt.s.w $f12, $f12
/* 619924 80219234 3C0140C9 */ lui $at, 0x40c9
/* 619928 80219238 34210FD0 */ ori $at, $at, 0xfd0
/* 61992C 8021923C 4481D000 */ mtc1 $at, $f26
/* 619930 80219240 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 619934 80219244 4680F7A0 */ cvt.s.w $f30, $f30
/* 619938 80219248 461A6302 */ mul.s $f12, $f12, $f26
/* 61993C 8021924C 00000000 */ nop
/* 619940 80219250 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 619944 80219254 4680E720 */ cvt.s.w $f28, $f28
/* 619948 80219258 3C0143B4 */ lui $at, 0x43b4
/* 61994C 8021925C 4481C000 */ mtc1 $at, $f24
/* 619950 80219260 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 619954 80219264 46802120 */ cvt.s.w $f4, $f4
/* 619958 80219268 E7A40018 */ swc1 $f4, 0x18($sp)
/* 61995C 8021926C 0C00A85B */ jal sin_rad
/* 619960 80219270 46186303 */ div.s $f12, $f12, $f24
/* 619964 80219274 46000021 */ cvt.d.s $f0, $f0
/* 619968 80219278 3C013FF0 */ lui $at, 0x3ff0
/* 61996C 8021927C 4481B800 */ mtc1 $at, $f23
/* 619970 80219280 4480B000 */ mtc1 $zero, $f22
/* 619974 80219284 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 619978 80219288 4620B001 */ sub.d $f0, $f22, $f0
/* 61997C 8021928C 46002521 */ cvt.d.s $f20, $f4
/* 619980 80219290 4620A502 */ mul.d $f20, $f20, $f0
/* 619984 80219294 00000000 */ nop
/* 619988 80219298 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 61998C 8021929C 46806320 */ cvt.s.w $f12, $f12
/* 619990 802192A0 461A6302 */ mul.s $f12, $f12, $f26
/* 619994 802192A4 00000000 */ nop
/* 619998 802192A8 0C00A85B */ jal sin_rad
/* 61999C 802192AC 46186303 */ div.s $f12, $f12, $f24
/* 6199A0 802192B0 4600E002 */ mul.s $f0, $f28, $f0
/* 6199A4 802192B4 00000000 */ nop
/* 6199A8 802192B8 8E0200A8 */ lw $v0, 0xa8($s0)
/* 6199AC 802192BC 00021040 */ sll $v0, $v0, 1
/* 6199B0 802192C0 44826000 */ mtc1 $v0, $f12
/* 6199B4 802192C4 00000000 */ nop
/* 6199B8 802192C8 46806320 */ cvt.s.w $f12, $f12
/* 6199BC 802192CC 461A6302 */ mul.s $f12, $f12, $f26
/* 6199C0 802192D0 00000000 */ nop
/* 6199C4 802192D4 46000021 */ cvt.d.s $f0, $f0
/* 6199C8 802192D8 4620A500 */ add.d $f20, $f20, $f0
/* 6199CC 802192DC 46186303 */ div.s $f12, $f12, $f24
/* 6199D0 802192E0 4620A520 */ cvt.s.d $f20, $f20
/* 6199D4 802192E4 0C00A85B */ jal sin_rad
/* 6199D8 802192E8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 6199DC 802192EC C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 6199E0 802192F0 46806320 */ cvt.s.w $f12, $f12
/* 6199E4 802192F4 461A6302 */ mul.s $f12, $f12, $f26
/* 6199E8 802192F8 00000000 */ nop
/* 6199EC 802192FC 3C0142B4 */ lui $at, 0x42b4
/* 6199F0 80219300 44811000 */ mtc1 $at, $f2
/* 6199F4 80219304 00000000 */ nop
/* 6199F8 80219308 46020002 */ mul.s $f0, $f0, $f2
/* 6199FC 8021930C 00000000 */ nop
/* 619A00 80219310 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 619A04 80219314 46002100 */ add.s $f4, $f4, $f0
/* 619A08 80219318 46186303 */ div.s $f12, $f12, $f24
/* 619A0C 8021931C 0C00A85B */ jal sin_rad
/* 619A10 80219320 E7A40014 */ swc1 $f4, 0x14($sp)
/* 619A14 80219324 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619A18 80219328 46806320 */ cvt.s.w $f12, $f12
/* 619A1C 8021932C 461A6302 */ mul.s $f12, $f12, $f26
/* 619A20 80219330 00000000 */ nop
/* 619A24 80219334 46000021 */ cvt.d.s $f0, $f0
/* 619A28 80219338 4620B581 */ sub.d $f22, $f22, $f0
/* 619A2C 8021933C 4600F521 */ cvt.d.s $f20, $f30
/* 619A30 80219340 4636A502 */ mul.d $f20, $f20, $f22
/* 619A34 80219344 00000000 */ nop
/* 619A38 80219348 0C00A85B */ jal sin_rad
/* 619A3C 8021934C 46186303 */ div.s $f12, $f12, $f24
/* 619A40 80219350 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 619A44 80219354 46002002 */ mul.s $f0, $f4, $f0
/* 619A48 80219358 00000000 */ nop
/* 619A4C 8021935C 46000021 */ cvt.d.s $f0, $f0
/* 619A50 80219360 4620A500 */ add.d $f20, $f20, $f0
/* 619A54 80219364 08086538 */ j .L802194E0
/* 619A58 80219368 2402002D */ addiu $v0, $zero, 0x2d
.L8021936C:
/* 619A5C 8021936C 8E0200A8 */ lw $v0, 0xa8($s0)
/* 619A60 80219370 8E0300A4 */ lw $v1, 0xa4($s0)
/* 619A64 80219374 00431021 */ addu $v0, $v0, $v1
/* 619A68 80219378 AE0200A8 */ sw $v0, 0xa8($s0)
/* 619A6C 8021937C 2842005B */ slti $v0, $v0, 0x5b
/* 619A70 80219380 14400002 */ bnez $v0, .L8021938C
/* 619A74 80219384 2402005A */ addiu $v0, $zero, 0x5a
/* 619A78 80219388 AE0200A8 */ sw $v0, 0xa8($s0)
.L8021938C:
/* 619A7C 8021938C C6040090 */ lwc1 $f4, 0x90($s0)
/* 619A80 80219390 46802120 */ cvt.s.w $f4, $f4
/* 619A84 80219394 E7A40010 */ swc1 $f4, 0x10($sp)
/* 619A88 80219398 C6040094 */ lwc1 $f4, 0x94($s0)
/* 619A8C 8021939C 46802120 */ cvt.s.w $f4, $f4
/* 619A90 802193A0 E7A40014 */ swc1 $f4, 0x14($sp)
/* 619A94 802193A4 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619A98 802193A8 46806320 */ cvt.s.w $f12, $f12
/* 619A9C 802193AC 3C0140C9 */ lui $at, 0x40c9
/* 619AA0 802193B0 34210FD0 */ ori $at, $at, 0xfd0
/* 619AA4 802193B4 4481D000 */ mtc1 $at, $f26
/* 619AA8 802193B8 C61E0098 */ lwc1 $f30, 0x98($s0)
/* 619AAC 802193BC 4680F7A0 */ cvt.s.w $f30, $f30
/* 619AB0 802193C0 461A6302 */ mul.s $f12, $f12, $f26
/* 619AB4 802193C4 00000000 */ nop
/* 619AB8 802193C8 C61C009C */ lwc1 $f28, 0x9c($s0)
/* 619ABC 802193CC 4680E720 */ cvt.s.w $f28, $f28
/* 619AC0 802193D0 3C0143B4 */ lui $at, 0x43b4
/* 619AC4 802193D4 4481C000 */ mtc1 $at, $f24
/* 619AC8 802193D8 C60400A0 */ lwc1 $f4, 0xa0($s0)
/* 619ACC 802193DC 46802120 */ cvt.s.w $f4, $f4
/* 619AD0 802193E0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 619AD4 802193E4 0C00A85B */ jal sin_rad
/* 619AD8 802193E8 46186303 */ div.s $f12, $f12, $f24
/* 619ADC 802193EC 46000021 */ cvt.d.s $f0, $f0
/* 619AE0 802193F0 3C013FF0 */ lui $at, 0x3ff0
/* 619AE4 802193F4 4481B800 */ mtc1 $at, $f23
/* 619AE8 802193F8 4480B000 */ mtc1 $zero, $f22
/* 619AEC 802193FC C7A40010 */ lwc1 $f4, 0x10($sp)
/* 619AF0 80219400 4620B001 */ sub.d $f0, $f22, $f0
/* 619AF4 80219404 46002521 */ cvt.d.s $f20, $f4
/* 619AF8 80219408 4620A502 */ mul.d $f20, $f20, $f0
/* 619AFC 8021940C 00000000 */ nop
/* 619B00 80219410 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619B04 80219414 46806320 */ cvt.s.w $f12, $f12
/* 619B08 80219418 461A6302 */ mul.s $f12, $f12, $f26
/* 619B0C 8021941C 00000000 */ nop
/* 619B10 80219420 0C00A85B */ jal sin_rad
/* 619B14 80219424 46186303 */ div.s $f12, $f12, $f24
/* 619B18 80219428 4600E002 */ mul.s $f0, $f28, $f0
/* 619B1C 8021942C 00000000 */ nop
/* 619B20 80219430 8E0200A8 */ lw $v0, 0xa8($s0)
/* 619B24 80219434 00021040 */ sll $v0, $v0, 1
/* 619B28 80219438 44826000 */ mtc1 $v0, $f12
/* 619B2C 8021943C 00000000 */ nop
/* 619B30 80219440 46806320 */ cvt.s.w $f12, $f12
/* 619B34 80219444 461A6302 */ mul.s $f12, $f12, $f26
/* 619B38 80219448 00000000 */ nop
/* 619B3C 8021944C 46000021 */ cvt.d.s $f0, $f0
/* 619B40 80219450 4620A500 */ add.d $f20, $f20, $f0
/* 619B44 80219454 46186303 */ div.s $f12, $f12, $f24
/* 619B48 80219458 4620A520 */ cvt.s.d $f20, $f20
/* 619B4C 8021945C 0C00A85B */ jal sin_rad
/* 619B50 80219460 E7B40010 */ swc1 $f20, 0x10($sp)
/* 619B54 80219464 C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619B58 80219468 46806320 */ cvt.s.w $f12, $f12
/* 619B5C 8021946C 461A6302 */ mul.s $f12, $f12, $f26
/* 619B60 80219470 00000000 */ nop
/* 619B64 80219474 3C0142B4 */ lui $at, 0x42b4
/* 619B68 80219478 44811000 */ mtc1 $at, $f2
/* 619B6C 8021947C 00000000 */ nop
/* 619B70 80219480 46020002 */ mul.s $f0, $f0, $f2
/* 619B74 80219484 00000000 */ nop
/* 619B78 80219488 C7A40014 */ lwc1 $f4, 0x14($sp)
/* 619B7C 8021948C 46002100 */ add.s $f4, $f4, $f0
/* 619B80 80219490 46186303 */ div.s $f12, $f12, $f24
/* 619B84 80219494 0C00A85B */ jal sin_rad
/* 619B88 80219498 E7A40014 */ swc1 $f4, 0x14($sp)
/* 619B8C 8021949C C60C00A8 */ lwc1 $f12, 0xa8($s0)
/* 619B90 802194A0 46806320 */ cvt.s.w $f12, $f12
/* 619B94 802194A4 461A6302 */ mul.s $f12, $f12, $f26
/* 619B98 802194A8 00000000 */ nop
/* 619B9C 802194AC 46000021 */ cvt.d.s $f0, $f0
/* 619BA0 802194B0 4620B581 */ sub.d $f22, $f22, $f0
/* 619BA4 802194B4 4600F521 */ cvt.d.s $f20, $f30
/* 619BA8 802194B8 4636A502 */ mul.d $f20, $f20, $f22
/* 619BAC 802194BC 00000000 */ nop
/* 619BB0 802194C0 0C00A85B */ jal sin_rad
/* 619BB4 802194C4 46186303 */ div.s $f12, $f12, $f24
/* 619BB8 802194C8 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 619BBC 802194CC 46002002 */ mul.s $f0, $f4, $f0
/* 619BC0 802194D0 00000000 */ nop
/* 619BC4 802194D4 46000021 */ cvt.d.s $f0, $f0
/* 619BC8 802194D8 4620A500 */ add.d $f20, $f20, $f0
/* 619BCC 802194DC 2402005A */ addiu $v0, $zero, 0x5a
.L802194E0:
/* 619BD0 802194E0 8E0300A8 */ lw $v1, 0xa8($s0)
/* 619BD4 802194E4 14620002 */ bne $v1, $v0, .L802194F0
/* 619BD8 802194E8 4620A7A0 */ cvt.s.d $f30, $f20
/* 619BDC 802194EC AE1100B0 */ sw $s1, 0xb0($s0)
.L802194F0:
/* 619BE0 802194F0 C7A40010 */ lwc1 $f4, 0x10($sp)
/* 619BE4 802194F4 4600210D */ trunc.w.s $f4, $f4
/* 619BE8 802194F8 E6040084 */ swc1 $f4, 0x84($s0)
/* 619BEC 802194FC C7A40014 */ lwc1 $f4, 0x14($sp)
/* 619BF0 80219500 4600210D */ trunc.w.s $f4, $f4
/* 619BF4 80219504 E6040088 */ swc1 $f4, 0x88($s0)
/* 619BF8 80219508 4600F10D */ trunc.w.s $f4, $f30
/* 619BFC 8021950C E604008C */ swc1 $f4, 0x8c($s0)
/* 619C00 80219510 8FBF0028 */ lw $ra, 0x28($sp)
/* 619C04 80219514 8FB10024 */ lw $s1, 0x24($sp)
/* 619C08 80219518 8FB00020 */ lw $s0, 0x20($sp)
/* 619C0C 8021951C D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 619C10 80219520 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 619C14 80219524 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 619C18 80219528 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 619C1C 8021952C D7B60038 */ ldc1 $f22, 0x38($sp)
/* 619C20 80219530 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 619C24 80219534 24020002 */ addiu $v0, $zero, 2
/* 619C28 80219538 03E00008 */ jr $ra
/* 619C2C 8021953C 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,143 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel gather_magic_main
/* 38EE60 E008E000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 38EE64 E008E004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 38EE68 E008E008 4485A000 */ mtc1 $a1, $f20
/* 38EE6C E008E00C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 38EE70 E008E010 4486B000 */ mtc1 $a2, $f22
/* 38EE74 E008E014 AFB30034 */ sw $s3, 0x34($sp)
/* 38EE78 E008E018 0080982D */ daddu $s3, $a0, $zero
/* 38EE7C E008E01C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 38EE80 E008E020 4487C000 */ mtc1 $a3, $f24
/* 38EE84 E008E024 27A40010 */ addiu $a0, $sp, 0x10
/* 38EE88 E008E028 AFB20030 */ sw $s2, 0x30($sp)
/* 38EE8C E008E02C 8FB2006C */ lw $s2, 0x6c($sp)
/* 38EE90 E008E030 3C02E009 */ lui $v0, %hi(gather_magic_init)
/* 38EE94 E008E034 2442E1FC */ addiu $v0, $v0, %lo(gather_magic_init)
/* 38EE98 E008E038 AFA20018 */ sw $v0, 0x18($sp)
/* 38EE9C E008E03C 3C02E009 */ lui $v0, %hi(gather_magic_update)
/* 38EEA0 E008E040 2442E204 */ addiu $v0, $v0, %lo(gather_magic_update)
/* 38EEA4 E008E044 AFA2001C */ sw $v0, 0x1c($sp)
/* 38EEA8 E008E048 3C02E009 */ lui $v0, %hi(gather_magic_render)
/* 38EEAC E008E04C 2442E498 */ addiu $v0, $v0, %lo(gather_magic_render)
/* 38EEB0 E008E050 AFA20020 */ sw $v0, 0x20($sp)
/* 38EEB4 E008E054 24020047 */ addiu $v0, $zero, 0x47
/* 38EEB8 E008E058 AFBF0038 */ sw $ra, 0x38($sp)
/* 38EEBC E008E05C AFB1002C */ sw $s1, 0x2c($sp)
/* 38EEC0 E008E060 AFB00028 */ sw $s0, 0x28($sp)
/* 38EEC4 E008E064 AFA00010 */ sw $zero, 0x10($sp)
/* 38EEC8 E008E068 AFA00024 */ sw $zero, 0x24($sp)
/* 38EECC E008E06C 0C080124 */ jal shim_create_effect_instance
/* 38EED0 E008E070 AFA20014 */ sw $v0, 0x14($sp)
/* 38EED4 E008E074 240408B8 */ addiu $a0, $zero, 0x8b8
/* 38EED8 E008E078 2411001F */ addiu $s1, $zero, 0x1f
/* 38EEDC E008E07C 0040802D */ daddu $s0, $v0, $zero
/* 38EEE0 E008E080 0C08012C */ jal shim_general_heap_malloc
/* 38EEE4 E008E084 AE110008 */ sw $s1, 8($s0)
/* 38EEE8 E008E088 0040282D */ daddu $a1, $v0, $zero
/* 38EEEC E008E08C 14A00003 */ bnez $a1, .LE008E09C
/* 38EEF0 E008E090 AE05000C */ sw $a1, 0xc($s0)
.LE008E094:
/* 38EEF4 E008E094 08023825 */ j .LE008E094
/* 38EEF8 E008E098 00000000 */ nop
.LE008E09C:
/* 38EEFC E008E09C ACB30004 */ sw $s3, 4($a1)
/* 38EF00 E008E0A0 1E400004 */ bgtz $s2, .LE008E0B4
/* 38EF04 E008E0A4 ACA0001C */ sw $zero, 0x1c($a1)
/* 38EF08 E008E0A8 24020064 */ addiu $v0, $zero, 0x64
/* 38EF0C E008E0AC 0802382E */ j .LE008E0B8
/* 38EF10 E008E0B0 ACA20018 */ sw $v0, 0x18($a1)
.LE008E0B4:
/* 38EF14 E008E0B4 ACB20018 */ sw $s2, 0x18($a1)
.LE008E0B8:
/* 38EF18 E008E0B8 ACA00014 */ sw $zero, 0x14($a1)
/* 38EF1C E008E0BC E4B40008 */ swc1 $f20, 8($a1)
/* 38EF20 E008E0C0 E4B6000C */ swc1 $f22, 0xc($a1)
/* 38EF24 E008E0C4 16600008 */ bnez $s3, .LE008E0E8
/* 38EF28 E008E0C8 E4B80010 */ swc1 $f24, 0x10($a1)
/* 38EF2C E008E0CC 240200FF */ addiu $v0, $zero, 0xff
/* 38EF30 E008E0D0 ACA20030 */ sw $v0, 0x30($a1)
/* 38EF34 E008E0D4 ACA00034 */ sw $zero, 0x34($a1)
/* 38EF38 E008E0D8 ACA20038 */ sw $v0, 0x38($a1)
/* 38EF3C E008E0DC ACA2003C */ sw $v0, 0x3c($a1)
/* 38EF40 E008E0E0 08023844 */ j .LE008E110
/* 38EF44 E008E0E4 ACA20040 */ sw $v0, 0x40($a1)
.LE008E0E8:
/* 38EF48 E008E0E8 240200FF */ addiu $v0, $zero, 0xff
/* 38EF4C E008E0EC 24030014 */ addiu $v1, $zero, 0x14
/* 38EF50 E008E0F0 ACA20030 */ sw $v0, 0x30($a1)
/* 38EF54 E008E0F4 24020021 */ addiu $v0, $zero, 0x21
/* 38EF58 E008E0F8 ACA20038 */ sw $v0, 0x38($a1)
/* 38EF5C E008E0FC 24020032 */ addiu $v0, $zero, 0x32
/* 38EF60 E008E100 ACA2003C */ sw $v0, 0x3c($a1)
/* 38EF64 E008E104 2402000A */ addiu $v0, $zero, 0xa
/* 38EF68 E008E108 ACA30034 */ sw $v1, 0x34($a1)
/* 38EF6C E008E10C ACA30040 */ sw $v1, 0x40($a1)
.LE008E110:
/* 38EF70 E008E110 ACA20044 */ sw $v0, 0x44($a1)
/* 38EF74 E008E114 240A0001 */ addiu $t2, $zero, 1
/* 38EF78 E008E118 0151102A */ slt $v0, $t2, $s1
/* 38EF7C E008E11C 1040002C */ beqz $v0, .LE008E1D0
/* 38EF80 E008E120 24A50048 */ addiu $a1, $a1, 0x48
/* 38EF84 E008E124 2629FFFF */ addiu $t1, $s1, -1
/* 38EF88 E008E128 44801000 */ mtc1 $zero, $f2
/* 38EF8C E008E12C 24A6002C */ addiu $a2, $a1, 0x2c
/* 38EF90 E008E130 0000402D */ daddu $t0, $zero, $zero
/* 38EF94 E008E134 0100382D */ daddu $a3, $t0, $zero
.LE008E138:
/* 38EF98 E008E138 15200002 */ bnez $t1, .LE008E144
/* 38EF9C E008E13C 00E9001A */ div $zero, $a3, $t1
/* 38EFA0 E008E140 0007000D */ break 7
.LE008E144:
/* 38EFA4 E008E144 2401FFFF */ addiu $at, $zero, -1
/* 38EFA8 E008E148 15210004 */ bne $t1, $at, .LE008E15C
/* 38EFAC E008E14C 3C018000 */ lui $at, 0x8000
/* 38EFB0 E008E150 14E10002 */ bne $a3, $at, .LE008E15C
/* 38EFB4 E008E154 00000000 */ nop
/* 38EFB8 E008E158 0006000D */ break 6
.LE008E15C:
/* 38EFBC E008E15C 00001812 */ mflo $v1
/* 38EFC0 E008E160 00000000 */ nop
/* 38EFC4 E008E164 15200002 */ bnez $t1, .LE008E170
/* 38EFC8 E008E168 0109001A */ div $zero, $t0, $t1
/* 38EFCC E008E16C 0007000D */ break 7
.LE008E170:
/* 38EFD0 E008E170 2401FFFF */ addiu $at, $zero, -1
/* 38EFD4 E008E174 15210004 */ bne $t1, $at, .LE008E188
/* 38EFD8 E008E178 3C018000 */ lui $at, 0x8000
/* 38EFDC E008E17C 15010002 */ bne $t0, $at, .LE008E188
/* 38EFE0 E008E180 00000000 */ nop
/* 38EFE4 E008E184 0006000D */ break 6
.LE008E188:
/* 38EFE8 E008E188 00002012 */ mflo $a0
/* 38EFEC E008E18C 25080064 */ addiu $t0, $t0, 0x64
/* 38EFF0 E008E190 24E70CA8 */ addiu $a3, $a3, 0xca8
/* 38EFF4 E008E194 254A0001 */ addiu $t2, $t2, 1
/* 38EFF8 E008E198 0151102A */ slt $v0, $t2, $s1
/* 38EFFC E008E19C E4C2FFF8 */ swc1 $f2, -8($a2)
/* 38F000 E008E1A0 44830000 */ mtc1 $v1, $f0
/* 38F004 E008E1A4 00000000 */ nop
/* 38F008 E008E1A8 46800020 */ cvt.s.w $f0, $f0
/* 38F00C E008E1AC E4C0FFF4 */ swc1 $f0, -0xc($a2)
/* 38F010 E008E1B0 44840000 */ mtc1 $a0, $f0
/* 38F014 E008E1B4 00000000 */ nop
/* 38F018 E008E1B8 46800020 */ cvt.s.w $f0, $f0
/* 38F01C E008E1BC E4C00000 */ swc1 $f0, ($a2)
/* 38F020 E008E1C0 24C60048 */ addiu $a2, $a2, 0x48
/* 38F024 E008E1C4 ACA00000 */ sw $zero, ($a1)
/* 38F028 E008E1C8 1440FFDB */ bnez $v0, .LE008E138
/* 38F02C E008E1CC 24A50048 */ addiu $a1, $a1, 0x48
.LE008E1D0:
/* 38F030 E008E1D0 0200102D */ daddu $v0, $s0, $zero
/* 38F034 E008E1D4 8FBF0038 */ lw $ra, 0x38($sp)
/* 38F038 E008E1D8 8FB30034 */ lw $s3, 0x34($sp)
/* 38F03C E008E1DC 8FB20030 */ lw $s2, 0x30($sp)
/* 38F040 E008E1E0 8FB1002C */ lw $s1, 0x2c($sp)
/* 38F044 E008E1E4 8FB00028 */ lw $s0, 0x28($sp)
/* 38F048 E008E1E8 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 38F04C E008E1EC D7B60048 */ ldc1 $f22, 0x48($sp)
/* 38F050 E008E1F0 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 38F054 E008E1F4 03E00008 */ jr $ra
/* 38F058 E008E1F8 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,152 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel ShowConsumableChoicePopup
/* FAFEC 802D663C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* FAFF0 802D6640 AFB00010 */ sw $s0, 0x10($sp)
/* FAFF4 802D6644 0080802D */ daddu $s0, $a0, $zero
/* FAFF8 802D6648 AFB3001C */ sw $s3, 0x1c($sp)
/* FAFFC 802D664C 3C138011 */ lui $s3, %hi(gPlayerData)
/* FB000 802D6650 2673F290 */ addiu $s3, $s3, %lo(gPlayerData)
/* FB004 802D6654 AFB10014 */ sw $s1, 0x14($sp)
/* FB008 802D6658 3C11802E */ lui $s1, %hi(D_802DB830)
/* FB00C 802D665C 2631B830 */ addiu $s1, $s1, %lo(D_802DB830)
/* FB010 802D6660 AFBF0020 */ sw $ra, 0x20($sp)
/* FB014 802D6664 AFB20018 */ sw $s2, 0x18($sp)
/* FB018 802D6668 8E12014C */ lw $s2, 0x14c($s0)
/* FB01C 802D666C 54A00001 */ bnel $a1, $zero, .L802D6674
/* FB020 802D6670 AE000070 */ sw $zero, 0x70($s0)
.L802D6674:
/* FB024 802D6674 8E030070 */ lw $v1, 0x70($s0)
/* FB028 802D6678 10600005 */ beqz $v1, .L802D6690
/* FB02C 802D667C 24020001 */ addiu $v0, $zero, 1
/* FB030 802D6680 1062004B */ beq $v1, $v0, .L802D67B0
/* FB034 802D6684 0000102D */ daddu $v0, $zero, $zero
/* FB038 802D6688 080B5A0F */ j .L802D683C
/* FB03C 802D668C 00000000 */ nop
.L802D6690:
/* FB040 802D6690 0C03805E */ jal disable_player_input
/* FB044 802D6694 00000000 */ nop
/* FB048 802D6698 0C038045 */ jal disable_player_static_collisions
/* FB04C 802D669C 00000000 */ nop
/* FB050 802D66A0 0C03BD8A */ jal partner_disable_input
/* FB054 802D66A4 00000000 */ nop
/* FB058 802D66A8 0C03A5EE */ jal close_status_menu
/* FB05C 802D66AC 00000000 */ nop
/* FB060 802D66B0 0000482D */ daddu $t1, $zero, $zero
/* FB064 802D66B4 0120402D */ daddu $t0, $t1, $zero
/* FB068 802D66B8 3C0C8008 */ lui $t4, %hi(gItemTable)
/* FB06C 802D66BC 258C78E0 */ addiu $t4, $t4, %lo(gItemTable)
/* FB070 802D66C0 3C0B8009 */ lui $t3, %hi(gItemHudScripts)
/* FB074 802D66C4 256BA680 */ addiu $t3, $t3, %lo(gItemHudScripts)
/* FB078 802D66C8 240A0001 */ addiu $t2, $zero, 1
/* FB07C 802D66CC 0260382D */ daddu $a3, $s3, $zero
/* FB080 802D66D0 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* FB084 802D66D4 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* FB088 802D66D8 8C620000 */ lw $v0, ($v1)
/* FB08C 802D66DC 0220302D */ daddu $a2, $s1, $zero
/* FB090 802D66E0 34420040 */ ori $v0, $v0, 0x40
/* FB094 802D66E4 AC620000 */ sw $v0, ($v1)
.L802D66E8:
/* FB098 802D66E8 84E401B4 */ lh $a0, 0x1b4($a3)
/* FB09C 802D66EC 5080001F */ beql $a0, $zero, .L802D676C
/* FB0A0 802D66F0 25080001 */ addiu $t0, $t0, 1
/* FB0A4 802D66F4 8E430028 */ lw $v1, 0x28($s2)
/* FB0A8 802D66F8 8C620000 */ lw $v0, ($v1)
/* FB0AC 802D66FC 18400008 */ blez $v0, .L802D6720
/* FB0B0 802D6700 0000282D */ daddu $a1, $zero, $zero
.L802D6704:
/* FB0B4 802D6704 54820003 */ bnel $a0, $v0, .L802D6714
/* FB0B8 802D6708 24630004 */ addiu $v1, $v1, 4
/* FB0BC 802D670C 080B59C8 */ j .L802D6720
/* FB0C0 802D6710 24050001 */ addiu $a1, $zero, 1
.L802D6714:
/* FB0C4 802D6714 8C620000 */ lw $v0, ($v1)
/* FB0C8 802D6718 1C40FFFA */ bgtz $v0, .L802D6704
/* FB0CC 802D671C 00000000 */ nop
.L802D6720:
/* FB0D0 802D6720 50A00012 */ beql $a1, $zero, .L802D676C
/* FB0D4 802D6724 25080001 */ addiu $t0, $t0, 1
/* FB0D8 802D6728 84E301B4 */ lh $v1, 0x1b4($a3)
/* FB0DC 802D672C 00031940 */ sll $v1, $v1, 5
/* FB0E0 802D6730 006C1821 */ addu $v1, $v1, $t4
/* FB0E4 802D6734 84620004 */ lh $v0, 4($v1)
/* FB0E8 802D6738 000210C0 */ sll $v0, $v0, 3
/* FB0EC 802D673C 004B1021 */ addu $v0, $v0, $t3
/* FB0F0 802D6740 8C420000 */ lw $v0, ($v0)
/* FB0F4 802D6744 ACC80108 */ sw $t0, 0x108($a2)
/* FB0F8 802D6748 ACCA018C */ sw $t2, 0x18c($a2)
/* FB0FC 802D674C ACC20000 */ sw $v0, ($a2)
/* FB100 802D6750 8C620000 */ lw $v0, ($v1)
/* FB104 802D6754 ACC20084 */ sw $v0, 0x84($a2)
/* FB108 802D6758 8C620014 */ lw $v0, 0x14($v1)
/* FB10C 802D675C 25290001 */ addiu $t1, $t1, 1
/* FB110 802D6760 ACC20294 */ sw $v0, 0x294($a2)
/* FB114 802D6764 24C60004 */ addiu $a2, $a2, 4
/* FB118 802D6768 25080001 */ addiu $t0, $t0, 1
.L802D676C:
/* FB11C 802D676C 2902000A */ slti $v0, $t0, 0xa
/* FB120 802D6770 1440FFDD */ bnez $v0, .L802D66E8
/* FB124 802D6774 24E70002 */ addiu $a3, $a3, 2
/* FB128 802D6778 15200004 */ bnez $t1, .L802D678C
/* FB12C 802D677C 2402000C */ addiu $v0, $zero, 0xc
/* FB130 802D6780 AE000084 */ sw $zero, 0x84($s0)
/* FB134 802D6784 080B5A0F */ j .L802D683C
/* FB138 802D6788 24020001 */ addiu $v0, $zero, 1
.L802D678C:
/* FB13C 802D678C 0220202D */ daddu $a0, $s1, $zero
/* FB140 802D6790 AE220318 */ sw $v0, 0x318($s1)
/* FB144 802D6794 AE290324 */ sw $t1, 0x324($s1)
/* FB148 802D6798 0C03D390 */ jal create_popup_menu
/* FB14C 802D679C AE200328 */ sw $zero, 0x328($s1)
/* FB150 802D67A0 24020001 */ addiu $v0, $zero, 1
/* FB154 802D67A4 AE000074 */ sw $zero, 0x74($s0)
/* FB158 802D67A8 080B5A0E */ j .L802D6838
/* FB15C 802D67AC AE020070 */ sw $v0, 0x70($s0)
.L802D67B0:
/* FB160 802D67B0 8E020074 */ lw $v0, 0x74($s0)
/* FB164 802D67B4 14400008 */ bnez $v0, .L802D67D8
/* FB168 802D67B8 24420001 */ addiu $v0, $v0, 1
/* FB16C 802D67BC 8622032C */ lh $v0, 0x32c($s1)
/* FB170 802D67C0 1040001D */ beqz $v0, .L802D6838
/* FB174 802D67C4 AE020078 */ sw $v0, 0x78($s0)
/* FB178 802D67C8 0C03C4EC */ jal hide_popup_menu
/* FB17C 802D67CC 00000000 */ nop
/* FB180 802D67D0 8E020074 */ lw $v0, 0x74($s0)
/* FB184 802D67D4 24420001 */ addiu $v0, $v0, 1
.L802D67D8:
/* FB188 802D67D8 AE020074 */ sw $v0, 0x74($s0)
/* FB18C 802D67DC 2842000F */ slti $v0, $v0, 0xf
/* FB190 802D67E0 14400016 */ bnez $v0, .L802D683C
/* FB194 802D67E4 0000102D */ daddu $v0, $zero, $zero
/* FB198 802D67E8 0C03C54E */ jal destroy_popup_menu
/* FB19C 802D67EC 00000000 */ nop
/* FB1A0 802D67F0 8E030078 */ lw $v1, 0x78($s0)
/* FB1A4 802D67F4 240200FF */ addiu $v0, $zero, 0xff
/* FB1A8 802D67F8 54620005 */ bnel $v1, $v0, .L802D6810
/* FB1AC 802D67FC 2462FFFF */ addiu $v0, $v1, -1
/* FB1B0 802D6800 2402FFFF */ addiu $v0, $zero, -1
/* FB1B4 802D6804 AE020084 */ sw $v0, 0x84($s0)
/* FB1B8 802D6808 080B5A0F */ j .L802D683C
/* FB1BC 802D680C 24020001 */ addiu $v0, $zero, 1
.L802D6810:
/* FB1C0 802D6810 00021080 */ sll $v0, $v0, 2
/* FB1C4 802D6814 00511021 */ addu $v0, $v0, $s1
/* FB1C8 802D6818 8C430108 */ lw $v1, 0x108($v0)
/* FB1CC 802D681C 00031040 */ sll $v0, $v1, 1
/* FB1D0 802D6820 00531021 */ addu $v0, $v0, $s3
/* FB1D4 802D6824 AE030088 */ sw $v1, 0x88($s0)
/* FB1D8 802D6828 844301B4 */ lh $v1, 0x1b4($v0)
/* FB1DC 802D682C 24020001 */ addiu $v0, $zero, 1
/* FB1E0 802D6830 080B5A0F */ j .L802D683C
/* FB1E4 802D6834 AE030084 */ sw $v1, 0x84($s0)
.L802D6838:
/* FB1E8 802D6838 0000102D */ daddu $v0, $zero, $zero
.L802D683C:
/* FB1EC 802D683C 8FBF0020 */ lw $ra, 0x20($sp)
/* FB1F0 802D6840 8FB3001C */ lw $s3, 0x1c($sp)
/* FB1F4 802D6844 8FB20018 */ lw $s2, 0x18($sp)
/* FB1F8 802D6848 8FB10014 */ lw $s1, 0x14($sp)
/* FB1FC 802D684C 8FB00010 */ lw $s0, 0x10($sp)
/* FB200 802D6850 03E00008 */ jr $ra
/* FB204 802D6854 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,152 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel ShowKeyChoicePopup
/* FADD0 802D6420 27BDFFD8 */ addiu $sp, $sp, -0x28
/* FADD4 802D6424 AFB00010 */ sw $s0, 0x10($sp)
/* FADD8 802D6428 0080802D */ daddu $s0, $a0, $zero
/* FADDC 802D642C AFB3001C */ sw $s3, 0x1c($sp)
/* FADE0 802D6430 3C138011 */ lui $s3, %hi(gPlayerData)
/* FADE4 802D6434 2673F290 */ addiu $s3, $s3, %lo(gPlayerData)
/* FADE8 802D6438 AFB10014 */ sw $s1, 0x14($sp)
/* FADEC 802D643C 3C11802E */ lui $s1, %hi(D_802DB830)
/* FADF0 802D6440 2631B830 */ addiu $s1, $s1, %lo(D_802DB830)
/* FADF4 802D6444 AFBF0020 */ sw $ra, 0x20($sp)
/* FADF8 802D6448 AFB20018 */ sw $s2, 0x18($sp)
/* FADFC 802D644C 8E12014C */ lw $s2, 0x14c($s0)
/* FAE00 802D6450 54A00001 */ bnel $a1, $zero, .L802D6458
/* FAE04 802D6454 AE000070 */ sw $zero, 0x70($s0)
.L802D6458:
/* FAE08 802D6458 8E030070 */ lw $v1, 0x70($s0)
/* FAE0C 802D645C 10600005 */ beqz $v1, .L802D6474
/* FAE10 802D6460 24020001 */ addiu $v0, $zero, 1
/* FAE14 802D6464 1062004B */ beq $v1, $v0, .L802D6594
/* FAE18 802D6468 0000102D */ daddu $v0, $zero, $zero
/* FAE1C 802D646C 080B5988 */ j .L802D6620
/* FAE20 802D6470 00000000 */ nop
.L802D6474:
/* FAE24 802D6474 0C03805E */ jal disable_player_input
/* FAE28 802D6478 00000000 */ nop
/* FAE2C 802D647C 0C038045 */ jal disable_player_static_collisions
/* FAE30 802D6480 00000000 */ nop
/* FAE34 802D6484 0C03BD8A */ jal partner_disable_input
/* FAE38 802D6488 00000000 */ nop
/* FAE3C 802D648C 0C03A5EE */ jal close_status_menu
/* FAE40 802D6490 00000000 */ nop
/* FAE44 802D6494 0000482D */ daddu $t1, $zero, $zero
/* FAE48 802D6498 0120402D */ daddu $t0, $t1, $zero
/* FAE4C 802D649C 3C0C8008 */ lui $t4, %hi(gItemTable)
/* FAE50 802D64A0 258C78E0 */ addiu $t4, $t4, %lo(gItemTable)
/* FAE54 802D64A4 3C0B8009 */ lui $t3, %hi(gItemHudScripts)
/* FAE58 802D64A8 256BA680 */ addiu $t3, $t3, %lo(gItemHudScripts)
/* FAE5C 802D64AC 240A0001 */ addiu $t2, $zero, 1
/* FAE60 802D64B0 0260382D */ daddu $a3, $s3, $zero
/* FAE64 802D64B4 3C03800A */ lui $v1, %hi(gOverrideFlags)
/* FAE68 802D64B8 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags)
/* FAE6C 802D64BC 8C620000 */ lw $v0, ($v1)
/* FAE70 802D64C0 0220302D */ daddu $a2, $s1, $zero
/* FAE74 802D64C4 34420040 */ ori $v0, $v0, 0x40
/* FAE78 802D64C8 AC620000 */ sw $v0, ($v1)
.L802D64CC:
/* FAE7C 802D64CC 84E40074 */ lh $a0, 0x74($a3)
/* FAE80 802D64D0 5080001F */ beql $a0, $zero, .L802D6550
/* FAE84 802D64D4 25080001 */ addiu $t0, $t0, 1
/* FAE88 802D64D8 8E430028 */ lw $v1, 0x28($s2)
/* FAE8C 802D64DC 8C620000 */ lw $v0, ($v1)
/* FAE90 802D64E0 18400008 */ blez $v0, .L802D6504
/* FAE94 802D64E4 0000282D */ daddu $a1, $zero, $zero
.L802D64E8:
/* FAE98 802D64E8 54820003 */ bnel $a0, $v0, .L802D64F8
/* FAE9C 802D64EC 24630004 */ addiu $v1, $v1, 4
/* FAEA0 802D64F0 080B5941 */ j .L802D6504
/* FAEA4 802D64F4 24050001 */ addiu $a1, $zero, 1
.L802D64F8:
/* FAEA8 802D64F8 8C620000 */ lw $v0, ($v1)
/* FAEAC 802D64FC 1C40FFFA */ bgtz $v0, .L802D64E8
/* FAEB0 802D6500 00000000 */ nop
.L802D6504:
/* FAEB4 802D6504 50A00012 */ beql $a1, $zero, .L802D6550
/* FAEB8 802D6508 25080001 */ addiu $t0, $t0, 1
/* FAEBC 802D650C 84E30074 */ lh $v1, 0x74($a3)
/* FAEC0 802D6510 00031940 */ sll $v1, $v1, 5
/* FAEC4 802D6514 006C1821 */ addu $v1, $v1, $t4
/* FAEC8 802D6518 84620004 */ lh $v0, 4($v1)
/* FAECC 802D651C 000210C0 */ sll $v0, $v0, 3
/* FAED0 802D6520 004B1021 */ addu $v0, $v0, $t3
/* FAED4 802D6524 8C420000 */ lw $v0, ($v0)
/* FAED8 802D6528 ACC80108 */ sw $t0, 0x108($a2)
/* FAEDC 802D652C ACCA018C */ sw $t2, 0x18c($a2)
/* FAEE0 802D6530 ACC20000 */ sw $v0, ($a2)
/* FAEE4 802D6534 8C620000 */ lw $v0, ($v1)
/* FAEE8 802D6538 ACC20084 */ sw $v0, 0x84($a2)
/* FAEEC 802D653C 8C620014 */ lw $v0, 0x14($v1)
/* FAEF0 802D6540 25290001 */ addiu $t1, $t1, 1
/* FAEF4 802D6544 ACC20294 */ sw $v0, 0x294($a2)
/* FAEF8 802D6548 24C60004 */ addiu $a2, $a2, 4
/* FAEFC 802D654C 25080001 */ addiu $t0, $t0, 1
.L802D6550:
/* FAF00 802D6550 29020020 */ slti $v0, $t0, 0x20
/* FAF04 802D6554 1440FFDD */ bnez $v0, .L802D64CC
/* FAF08 802D6558 24E70002 */ addiu $a3, $a3, 2
/* FAF0C 802D655C 15200004 */ bnez $t1, .L802D6570
/* FAF10 802D6560 2402000C */ addiu $v0, $zero, 0xc
/* FAF14 802D6564 AE000084 */ sw $zero, 0x84($s0)
/* FAF18 802D6568 080B5988 */ j .L802D6620
/* FAF1C 802D656C 24020001 */ addiu $v0, $zero, 1
.L802D6570:
/* FAF20 802D6570 0220202D */ daddu $a0, $s1, $zero
/* FAF24 802D6574 AE220318 */ sw $v0, 0x318($s1)
/* FAF28 802D6578 AE290324 */ sw $t1, 0x324($s1)
/* FAF2C 802D657C 0C03D390 */ jal create_popup_menu
/* FAF30 802D6580 AE200328 */ sw $zero, 0x328($s1)
/* FAF34 802D6584 24020001 */ addiu $v0, $zero, 1
/* FAF38 802D6588 AE000074 */ sw $zero, 0x74($s0)
/* FAF3C 802D658C 080B5987 */ j .L802D661C
/* FAF40 802D6590 AE020070 */ sw $v0, 0x70($s0)
.L802D6594:
/* FAF44 802D6594 8E020074 */ lw $v0, 0x74($s0)
/* FAF48 802D6598 14400008 */ bnez $v0, .L802D65BC
/* FAF4C 802D659C 24420001 */ addiu $v0, $v0, 1
/* FAF50 802D65A0 8622032C */ lh $v0, 0x32c($s1)
/* FAF54 802D65A4 1040001D */ beqz $v0, .L802D661C
/* FAF58 802D65A8 AE020078 */ sw $v0, 0x78($s0)
/* FAF5C 802D65AC 0C03C4EC */ jal hide_popup_menu
/* FAF60 802D65B0 00000000 */ nop
/* FAF64 802D65B4 8E020074 */ lw $v0, 0x74($s0)
/* FAF68 802D65B8 24420001 */ addiu $v0, $v0, 1
.L802D65BC:
/* FAF6C 802D65BC AE020074 */ sw $v0, 0x74($s0)
/* FAF70 802D65C0 2842000F */ slti $v0, $v0, 0xf
/* FAF74 802D65C4 14400016 */ bnez $v0, .L802D6620
/* FAF78 802D65C8 0000102D */ daddu $v0, $zero, $zero
/* FAF7C 802D65CC 0C03C54E */ jal destroy_popup_menu
/* FAF80 802D65D0 00000000 */ nop
/* FAF84 802D65D4 8E030078 */ lw $v1, 0x78($s0)
/* FAF88 802D65D8 240200FF */ addiu $v0, $zero, 0xff
/* FAF8C 802D65DC 54620005 */ bnel $v1, $v0, .L802D65F4
/* FAF90 802D65E0 2462FFFF */ addiu $v0, $v1, -1
/* FAF94 802D65E4 2402FFFF */ addiu $v0, $zero, -1
/* FAF98 802D65E8 AE020084 */ sw $v0, 0x84($s0)
/* FAF9C 802D65EC 080B5988 */ j .L802D6620
/* FAFA0 802D65F0 24020001 */ addiu $v0, $zero, 1
.L802D65F4:
/* FAFA4 802D65F4 00021080 */ sll $v0, $v0, 2
/* FAFA8 802D65F8 00511021 */ addu $v0, $v0, $s1
/* FAFAC 802D65FC 8C430108 */ lw $v1, 0x108($v0)
/* FAFB0 802D6600 00031040 */ sll $v0, $v1, 1
/* FAFB4 802D6604 00531021 */ addu $v0, $v0, $s3
/* FAFB8 802D6608 AE030088 */ sw $v1, 0x88($s0)
/* FAFBC 802D660C 84430074 */ lh $v1, 0x74($v0)
/* FAFC0 802D6610 24020001 */ addiu $v0, $zero, 1
/* FAFC4 802D6614 080B5988 */ j .L802D6620
/* FAFC8 802D6618 AE030084 */ sw $v1, 0x84($s0)
.L802D661C:
/* FAFCC 802D661C 0000102D */ daddu $v0, $zero, $zero
.L802D6620:
/* FAFD0 802D6620 8FBF0020 */ lw $ra, 0x20($sp)
/* FAFD4 802D6624 8FB3001C */ lw $s3, 0x1c($sp)
/* FAFD8 802D6628 8FB20018 */ lw $s2, 0x18($sp)
/* FAFDC 802D662C 8FB10014 */ lw $s1, 0x14($sp)
/* FAFE0 802D6630 8FB00010 */ lw $s0, 0x10($sp)
/* FAFE4 802D6634 03E00008 */ jr $ra
/* FAFE8 802D6638 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,108 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel apply_transform_to_children
/* EDF50 802C95A0 27BDFE70 */ addiu $sp, $sp, -0x190
/* EDF54 802C95A4 AFB40188 */ sw $s4, 0x188($sp)
/* EDF58 802C95A8 0080A02D */ daddu $s4, $a0, $zero
/* EDF5C 802C95AC AFB30184 */ sw $s3, 0x184($sp)
/* EDF60 802C95B0 00A0982D */ daddu $s3, $a1, $zero
/* EDF64 802C95B4 AFBF018C */ sw $ra, 0x18c($sp)
/* EDF68 802C95B8 AFB20180 */ sw $s2, 0x180($sp)
/* EDF6C 802C95BC AFB1017C */ sw $s1, 0x17c($sp)
/* EDF70 802C95C0 AFB00178 */ sw $s0, 0x178($sp)
/* EDF74 802C95C4 8E62000C */ lw $v0, 0xc($s3)
/* EDF78 802C95C8 2411FFFF */ addiu $s1, $zero, -1
/* EDF7C 802C95CC 8C450000 */ lw $a1, ($v0)
/* EDF80 802C95D0 0C0B1EAF */ jal evt_get_variable
/* EDF84 802C95D4 0260202D */ daddu $a0, $s3, $zero
/* EDF88 802C95D8 0040282D */ daddu $a1, $v0, $zero
/* EDF8C 802C95DC 3C06800A */ lui $a2, %hi(mdl_currentModelTreeNodeInfo)
/* EDF90 802C95E0 8CC6A5F4 */ lw $a2, %lo(mdl_currentModelTreeNodeInfo)($a2)
/* EDF94 802C95E4 00051080 */ sll $v0, $a1, 2
/* EDF98 802C95E8 00462021 */ addu $a0, $v0, $a2
/* EDF9C 802C95EC 90830000 */ lbu $v1, ($a0)
/* EDFA0 802C95F0 286200FF */ slti $v0, $v1, 0xff
/* EDFA4 802C95F4 10400004 */ beqz $v0, .L802C9608
/* EDFA8 802C95F8 0220902D */ daddu $s2, $s1, $zero
/* EDFAC 802C95FC 0060902D */ daddu $s2, $v1, $zero
/* EDFB0 802C9600 080B2597 */ j .L802C965C
/* EDFB4 802C9604 0240882D */ daddu $s1, $s2, $zero
.L802C9608:
/* EDFB8 802C9608 24B0FFFF */ addiu $s0, $a1, -1
/* EDFBC 802C960C 90850001 */ lbu $a1, 1($a0)
/* EDFC0 802C9610 06000013 */ bltz $s0, .L802C9660
/* EDFC4 802C9614 27A20010 */ addiu $v0, $sp, 0x10
/* EDFC8 802C9618 2407FFFF */ addiu $a3, $zero, -1
/* EDFCC 802C961C 00101080 */ sll $v0, $s0, 2
/* EDFD0 802C9620 00462021 */ addu $a0, $v0, $a2
.L802C9624:
/* EDFD4 802C9624 90820001 */ lbu $v0, 1($a0)
/* EDFD8 802C9628 00A2102A */ slt $v0, $a1, $v0
/* EDFDC 802C962C 1040000C */ beqz $v0, .L802C9660
/* EDFE0 802C9630 27A20010 */ addiu $v0, $sp, 0x10
/* EDFE4 802C9634 90830000 */ lbu $v1, ($a0)
/* EDFE8 802C9638 286200FF */ slti $v0, $v1, 0xff
/* EDFEC 802C963C 50400005 */ beql $v0, $zero, .L802C9654
/* EDFF0 802C9640 2610FFFF */ addiu $s0, $s0, -1
/* EDFF4 802C9644 52470001 */ beql $s2, $a3, .L802C964C
/* EDFF8 802C9648 0060902D */ daddu $s2, $v1, $zero
.L802C964C:
/* EDFFC 802C964C 0060882D */ daddu $s1, $v1, $zero
/* EE000 802C9650 2610FFFF */ addiu $s0, $s0, -1
.L802C9654:
/* EE004 802C9654 0601FFF3 */ bgez $s0, .L802C9624
/* EE008 802C9658 2484FFFC */ addiu $a0, $a0, -4
.L802C965C:
/* EE00C 802C965C 27A20010 */ addiu $v0, $sp, 0x10
.L802C9660:
/* EE010 802C9660 0260202D */ daddu $a0, $s3, $zero
/* EE014 802C9664 24830160 */ addiu $v1, $a0, 0x160
.L802C9668:
/* EE018 802C9668 8C880000 */ lw $t0, ($a0)
/* EE01C 802C966C 8C890004 */ lw $t1, 4($a0)
/* EE020 802C9670 8C8A0008 */ lw $t2, 8($a0)
/* EE024 802C9674 8C8B000C */ lw $t3, 0xc($a0)
/* EE028 802C9678 AC480000 */ sw $t0, ($v0)
/* EE02C 802C967C AC490004 */ sw $t1, 4($v0)
/* EE030 802C9680 AC4A0008 */ sw $t2, 8($v0)
/* EE034 802C9684 AC4B000C */ sw $t3, 0xc($v0)
/* EE038 802C9688 24840010 */ addiu $a0, $a0, 0x10
/* EE03C 802C968C 1483FFF6 */ bne $a0, $v1, .L802C9668
/* EE040 802C9690 24420010 */ addiu $v0, $v0, 0x10
/* EE044 802C9694 0220802D */ daddu $s0, $s1, $zero
/* EE048 802C9698 8C880000 */ lw $t0, ($a0)
/* EE04C 802C969C 8C890004 */ lw $t1, 4($a0)
/* EE050 802C96A0 AC480000 */ sw $t0, ($v0)
/* EE054 802C96A4 AC490004 */ sw $t1, 4($v0)
/* EE058 802C96A8 8FB1001C */ lw $s1, 0x1c($sp)
/* EE05C 802C96AC 0250102A */ slt $v0, $s2, $s0
/* EE060 802C96B0 8E330000 */ lw $s3, ($s1)
/* EE064 802C96B4 54400011 */ bnel $v0, $zero, .L802C96FC
/* EE068 802C96B8 AE330000 */ sw $s3, ($s1)
/* EE06C 802C96BC 27A40010 */ addiu $a0, $sp, 0x10
.L802C96C0:
/* EE070 802C96C0 3C038015 */ lui $v1, %hi(gCurrentModels)
/* EE074 802C96C4 8C6312CC */ lw $v1, %lo(gCurrentModels)($v1)
/* EE078 802C96C8 00101080 */ sll $v0, $s0, 2
/* EE07C 802C96CC 00431021 */ addu $v0, $v0, $v1
/* EE080 802C96D0 8C420000 */ lw $v0, ($v0)
/* EE084 802C96D4 24050001 */ addiu $a1, $zero, 1
/* EE088 802C96D8 AFB1001C */ sw $s1, 0x1c($sp)
/* EE08C 802C96DC 94420002 */ lhu $v0, 2($v0)
/* EE090 802C96E0 02058021 */ addu $s0, $s0, $a1
/* EE094 802C96E4 0280F809 */ jalr $s4
/* EE098 802C96E8 AE220000 */ sw $v0, ($s1)
/* EE09C 802C96EC 0250102A */ slt $v0, $s2, $s0
/* EE0A0 802C96F0 1040FFF3 */ beqz $v0, .L802C96C0
/* EE0A4 802C96F4 27A40010 */ addiu $a0, $sp, 0x10
/* EE0A8 802C96F8 AE330000 */ sw $s3, ($s1)
.L802C96FC:
/* EE0AC 802C96FC 8FBF018C */ lw $ra, 0x18c($sp)
/* EE0B0 802C9700 8FB40188 */ lw $s4, 0x188($sp)
/* EE0B4 802C9704 8FB30184 */ lw $s3, 0x184($sp)
/* EE0B8 802C9708 8FB20180 */ lw $s2, 0x180($sp)
/* EE0BC 802C970C 8FB1017C */ lw $s1, 0x17c($sp)
/* EE0C0 802C9710 8FB00178 */ lw $s0, 0x178($sp)
/* EE0C4 802C9714 03E00008 */ jr $ra
/* EE0C8 802C9718 27BD0190 */ addiu $sp, $sp, 0x190

View File

@ -1,386 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_802DA1F0
.word .L802D0668_F5018, .L802D0674_F5024, .L802D0680_F5030, .L802D068C_F503C, .L802D0698_F5048, .L802D069C_F504C
.section .text
glabel _show_message
/* F4CD0 802D0320 27BDFFA0 */ addiu $sp, $sp, -0x60
/* F4CD4 802D0324 AFB20038 */ sw $s2, 0x38($sp)
/* F4CD8 802D0328 0080902D */ daddu $s2, $a0, $zero
/* F4CDC 802D032C AFB50044 */ sw $s5, 0x44($sp)
/* F4CE0 802D0330 0000A82D */ daddu $s5, $zero, $zero
/* F4CE4 802D0334 AFB7004C */ sw $s7, 0x4c($sp)
/* F4CE8 802D0338 AFB3003C */ sw $s3, 0x3c($sp)
/* F4CEC 802D033C 3C138011 */ lui $s3, %hi(gPlayerStatus)
/* F4CF0 802D0340 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus)
/* F4CF4 802D0344 AFBF0054 */ sw $ra, 0x54($sp)
/* F4CF8 802D0348 AFBE0050 */ sw $fp, 0x50($sp)
/* F4CFC 802D034C AFB60048 */ sw $s6, 0x48($sp)
/* F4D00 802D0350 AFB40040 */ sw $s4, 0x40($sp)
/* F4D04 802D0354 AFB10034 */ sw $s1, 0x34($sp)
/* F4D08 802D0358 AFB00030 */ sw $s0, 0x30($sp)
/* F4D0C 802D035C F7B40058 */ sdc1 $f20, 0x58($sp)
/* F4D10 802D0360 8E50000C */ lw $s0, 0xc($s2)
/* F4D14 802D0364 10A000CD */ beqz $a1, .L802D069C_F504C
/* F4D18 802D0368 00C0B82D */ daddu $s7, $a2, $zero
/* F4D1C 802D036C 3C16802E */ lui $s6, %hi(D_802DB264)
/* F4D20 802D0370 26D6B264 */ addiu $s6, $s6, %lo(D_802DB264)
/* F4D24 802D0374 AEC00000 */ sw $zero, ($s6)
/* F4D28 802D0378 8E050000 */ lw $a1, ($s0)
/* F4D2C 802D037C 0C0B1EAF */ jal evt_get_variable
/* F4D30 802D0380 26100004 */ addiu $s0, $s0, 4
/* F4D34 802D0384 8E050000 */ lw $a1, ($s0)
/* F4D38 802D0388 26100004 */ addiu $s0, $s0, 4
/* F4D3C 802D038C 0240202D */ daddu $a0, $s2, $zero
/* F4D40 802D0390 0C0B1EAF */ jal evt_get_variable
/* F4D44 802D0394 0040F02D */ daddu $fp, $v0, $zero
/* F4D48 802D0398 AE4200B8 */ sw $v0, 0xb8($s2)
/* F4D4C 802D039C 8E050000 */ lw $a1, ($s0)
/* F4D50 802D03A0 26100004 */ addiu $s0, $s0, 4
/* F4D54 802D03A4 0C0B1EAF */ jal evt_get_variable
/* F4D58 802D03A8 0240202D */ daddu $a0, $s2, $zero
/* F4D5C 802D03AC AE4200BC */ sw $v0, 0xbc($s2)
/* F4D60 802D03B0 8E050000 */ lw $a1, ($s0)
/* F4D64 802D03B4 26100004 */ addiu $s0, $s0, 4
/* F4D68 802D03B8 0C0B1EAF */ jal evt_get_variable
/* F4D6C 802D03BC 0240202D */ daddu $a0, $s2, $zero
/* F4D70 802D03C0 3C14802E */ lui $s4, %hi(D_802DAE54)
/* F4D74 802D03C4 2694AE54 */ addiu $s4, $s4, %lo(D_802DAE54)
/* F4D78 802D03C8 AE420074 */ sw $v0, 0x74($s2)
/* F4D7C 802D03CC AE800000 */ sw $zero, ($s4)
/* F4D80 802D03D0 8E420074 */ lw $v0, 0x74($s2)
/* F4D84 802D03D4 3C11802E */ lui $s1, %hi(D_802DAE50)
/* F4D88 802D03D8 2631AE50 */ addiu $s1, $s1, %lo(D_802DAE50)
/* F4D8C 802D03DC 30420100 */ andi $v0, $v0, 0x100
/* F4D90 802D03E0 1040000B */ beqz $v0, .L802D0410
/* F4D94 802D03E4 AE200000 */ sw $zero, ($s1)
/* F4D98 802D03E8 8E050000 */ lw $a1, ($s0)
/* F4D9C 802D03EC 26100004 */ addiu $s0, $s0, 4
/* F4DA0 802D03F0 0C0B1EAF */ jal evt_get_variable
/* F4DA4 802D03F4 0240202D */ daddu $a0, $s2, $zero
/* F4DA8 802D03F8 AE220000 */ sw $v0, ($s1)
/* F4DAC 802D03FC 8E050000 */ lw $a1, ($s0)
/* F4DB0 802D0400 26100004 */ addiu $s0, $s0, 4
/* F4DB4 802D0404 0C0B1EAF */ jal evt_get_variable
/* F4DB8 802D0408 0240202D */ daddu $a0, $s2, $zero
/* F4DBC 802D040C AE820000 */ sw $v0, ($s4)
.L802D0410:
/* F4DC0 802D0410 24020001 */ addiu $v0, $zero, 1
/* F4DC4 802D0414 12E20012 */ beq $s7, $v0, .L802D0460
/* F4DC8 802D0418 2AE20002 */ slti $v0, $s7, 2
/* F4DCC 802D041C 10400005 */ beqz $v0, .L802D0434
/* F4DD0 802D0420 24020002 */ addiu $v0, $zero, 2
/* F4DD4 802D0424 12E00009 */ beqz $s7, .L802D044C
/* F4DD8 802D0428 2402FFFE */ addiu $v0, $zero, -2
/* F4DDC 802D042C 080B413A */ j .L802D04E8
/* F4DE0 802D0430 00000000 */ nop
.L802D0434:
/* F4DE4 802D0434 12E20010 */ beq $s7, $v0, .L802D0478
/* F4DE8 802D0438 24020003 */ addiu $v0, $zero, 3
/* F4DEC 802D043C 12E20017 */ beq $s7, $v0, .L802D049C
/* F4DF0 802D0440 2402FFFE */ addiu $v0, $zero, -2
/* F4DF4 802D0444 080B413A */ j .L802D04E8
/* F4DF8 802D0448 00000000 */ nop
.L802D044C:
/* F4DFC 802D044C 8E050000 */ lw $a1, ($s0)
/* F4E00 802D0450 0C0B1EAF */ jal evt_get_variable
/* F4E04 802D0454 0240202D */ daddu $a0, $s2, $zero
/* F4E08 802D0458 080B4135 */ j .L802D04D4
/* F4E0C 802D045C 0040202D */ daddu $a0, $v0, $zero
.L802D0460:
/* F4E10 802D0460 3C04802E */ lui $a0, %hi(gCurrentPrintContext)
/* F4E14 802D0464 8C84B260 */ lw $a0, %lo(gCurrentPrintContext)($a0)
/* F4E18 802D0468 0C04971C */ jal close_message
/* F4E1C 802D046C 00000000 */ nop
/* F4E20 802D0470 080B413A */ j .L802D04E8
/* F4E24 802D0474 2402FFFE */ addiu $v0, $zero, -2
.L802D0478:
/* F4E28 802D0478 8E050000 */ lw $a1, ($s0)
/* F4E2C 802D047C 0C0B1EAF */ jal evt_get_variable
/* F4E30 802D0480 0240202D */ daddu $a0, $s2, $zero
/* F4E34 802D0484 3C05802E */ lui $a1, %hi(gCurrentPrintContext)
/* F4E38 802D0488 8CA5B260 */ lw $a1, %lo(gCurrentPrintContext)($a1)
/* F4E3C 802D048C 0C04969A */ jal msg_printer_load_msg
/* F4E40 802D0490 0040202D */ daddu $a0, $v0, $zero
/* F4E44 802D0494 080B413A */ j .L802D04E8
/* F4E48 802D0498 2402FFFE */ addiu $v0, $zero, -2
.L802D049C:
/* F4E4C 802D049C 8E050000 */ lw $a1, ($s0)
/* F4E50 802D04A0 26100004 */ addiu $s0, $s0, 4
/* F4E54 802D04A4 0C0B1EAF */ jal evt_get_variable
/* F4E58 802D04A8 0240202D */ daddu $a0, $s2, $zero
/* F4E5C 802D04AC 0240202D */ daddu $a0, $s2, $zero
/* F4E60 802D04B0 8E050000 */ lw $a1, ($s0)
/* F4E64 802D04B4 0C0B1EAF */ jal evt_get_variable
/* F4E68 802D04B8 0040802D */ daddu $s0, $v0, $zero
/* F4E6C 802D04BC 0240202D */ daddu $a0, $s2, $zero
/* F4E70 802D04C0 0200282D */ daddu $a1, $s0, $zero
/* F4E74 802D04C4 0C0B36B0 */ jal resolve_npc
/* F4E78 802D04C8 0040802D */ daddu $s0, $v0, $zero
/* F4E7C 802D04CC 0040A82D */ daddu $s5, $v0, $zero
/* F4E80 802D04D0 0200202D */ daddu $a0, $s0, $zero
.L802D04D4:
/* F4E84 802D04D4 0C049640 */ jal msg_get_printer_for_msg
/* F4E88 802D04D8 02C0282D */ daddu $a1, $s6, $zero
/* F4E8C 802D04DC 3C01802E */ lui $at, %hi(gCurrentPrintContext)
/* F4E90 802D04E0 AC22B260 */ sw $v0, %lo(gCurrentPrintContext)($at)
/* F4E94 802D04E4 2402FFFE */ addiu $v0, $zero, -2
.L802D04E8:
/* F4E98 802D04E8 17C20018 */ bne $fp, $v0, .L802D054C
/* F4E9C 802D04EC 0240202D */ daddu $a0, $s2, $zero
/* F4EA0 802D04F0 8E650028 */ lw $a1, 0x28($s3)
/* F4EA4 802D04F4 8E670030 */ lw $a3, 0x30($s3)
/* F4EA8 802D04F8 27A20020 */ addiu $v0, $sp, 0x20
/* F4EAC 802D04FC AFA20010 */ sw $v0, 0x10($sp)
/* F4EB0 802D0500 27A20024 */ addiu $v0, $sp, 0x24
/* F4EB4 802D0504 AFA20014 */ sw $v0, 0x14($sp)
/* F4EB8 802D0508 866200B0 */ lh $v0, 0xb0($s3)
/* F4EBC 802D050C C662002C */ lwc1 $f2, 0x2c($s3)
/* F4EC0 802D0510 44820000 */ mtc1 $v0, $f0
/* F4EC4 802D0514 00000000 */ nop
/* F4EC8 802D0518 46800020 */ cvt.s.w $f0, $f0
/* F4ECC 802D051C 46001080 */ add.s $f2, $f2, $f0
/* F4ED0 802D0520 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* F4ED4 802D0524 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* F4ED8 802D0528 44061000 */ mfc1 $a2, $f2
/* F4EDC 802D052C 27A20028 */ addiu $v0, $sp, 0x28
/* F4EE0 802D0530 0C00B94E */ jal get_screen_coords
/* F4EE4 802D0534 AFA20018 */ sw $v0, 0x18($sp)
/* F4EE8 802D0538 8E6200B8 */ lw $v0, 0xb8($s3)
/* F4EEC 802D053C AE42007C */ sw $v0, 0x7c($s2)
/* F4EF0 802D0540 C6600080 */ lwc1 $f0, 0x80($s3)
/* F4EF4 802D0544 080B416C */ j .L802D05B0
/* F4EF8 802D0548 2410FFFE */ addiu $s0, $zero, -2
.L802D054C:
/* F4EFC 802D054C 0C0B36B0 */ jal resolve_npc
/* F4F00 802D0550 03C0282D */ daddu $a1, $fp, $zero
/* F4F04 802D0554 0040802D */ daddu $s0, $v0, $zero
/* F4F08 802D0558 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* F4F0C 802D055C 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* F4F10 802D0560 860300A8 */ lh $v1, 0xa8($s0)
/* F4F14 802D0564 C602003C */ lwc1 $f2, 0x3c($s0)
/* F4F18 802D0568 27A20020 */ addiu $v0, $sp, 0x20
/* F4F1C 802D056C AFA20010 */ sw $v0, 0x10($sp)
/* F4F20 802D0570 27A20024 */ addiu $v0, $sp, 0x24
/* F4F24 802D0574 AFA20014 */ sw $v0, 0x14($sp)
/* F4F28 802D0578 27A20028 */ addiu $v0, $sp, 0x28
/* F4F2C 802D057C AFA20018 */ sw $v0, 0x18($sp)
/* F4F30 802D0580 44830000 */ mtc1 $v1, $f0
/* F4F34 802D0584 00000000 */ nop
/* F4F38 802D0588 46800020 */ cvt.s.w $f0, $f0
/* F4F3C 802D058C 46001080 */ add.s $f2, $f2, $f0
/* F4F40 802D0590 8E050038 */ lw $a1, 0x38($s0)
/* F4F44 802D0594 8E070040 */ lw $a3, 0x40($s0)
/* F4F48 802D0598 44061000 */ mfc1 $a2, $f2
/* F4F4C 802D059C 0C00B94E */ jal get_screen_coords
/* F4F50 802D05A0 00000000 */ nop
/* F4F54 802D05A4 8E020028 */ lw $v0, 0x28($s0)
/* F4F58 802D05A8 AE42007C */ sw $v0, 0x7c($s2)
/* F4F5C 802D05AC C600000C */ lwc1 $f0, 0xc($s0)
.L802D05B0:
/* F4F60 802D05B0 4600010D */ trunc.w.s $f4, $f0
/* F4F64 802D05B4 E64400C0 */ swc1 $f4, 0xc0($s2)
/* F4F68 802D05B8 3C04802E */ lui $a0, %hi(gCurrentPrintContext)
/* F4F6C 802D05BC 8C84B260 */ lw $a0, %lo(gCurrentPrintContext)($a0)
/* F4F70 802D05C0 8FA30020 */ lw $v1, 0x20($sp)
/* F4F74 802D05C4 3C05802E */ lui $a1, %hi(D_802DAE50)
/* F4F78 802D05C8 8CA5AE50 */ lw $a1, %lo(D_802DAE50)($a1)
/* F4F7C 802D05CC 8FA20024 */ lw $v0, 0x24($sp)
/* F4F80 802D05D0 3C06802E */ lui $a2, %hi(D_802DAE54)
/* F4F84 802D05D4 8CC6AE54 */ lw $a2, %lo(D_802DAE54)($a2)
/* F4F88 802D05D8 00652821 */ addu $a1, $v1, $a1
/* F4F8C 802D05DC 0C0496AE */ jal msg_printer_set_origin_pos
/* F4F90 802D05E0 00463021 */ addu $a2, $v0, $a2
/* F4F94 802D05E4 2402FFFE */ addiu $v0, $zero, -2
/* F4F98 802D05E8 1202002C */ beq $s0, $v0, .L802D069C_F504C
/* F4F9C 802D05EC AE5000B4 */ sw $s0, 0xb4($s2)
/* F4FA0 802D05F0 24020003 */ addiu $v0, $zero, 3
/* F4FA4 802D05F4 16E20007 */ bne $s7, $v0, .L802D0614
/* F4FA8 802D05F8 26710080 */ addiu $s1, $s3, 0x80
/* F4FAC 802D05FC C60C0038 */ lwc1 $f12, 0x38($s0)
/* F4FB0 802D0600 C60E0040 */ lwc1 $f14, 0x40($s0)
/* F4FB4 802D0604 8EA60038 */ lw $a2, 0x38($s5)
/* F4FB8 802D0608 8EA70040 */ lw $a3, 0x40($s5)
/* F4FBC 802D060C 080B4189 */ j .L802D0624
/* F4FC0 802D0610 26B1000C */ addiu $s1, $s5, 0xc
.L802D0614:
/* F4FC4 802D0614 C60C0038 */ lwc1 $f12, 0x38($s0)
/* F4FC8 802D0618 C60E0040 */ lwc1 $f14, 0x40($s0)
/* F4FCC 802D061C 8E660028 */ lw $a2, 0x28($s3)
/* F4FD0 802D0620 8E670030 */ lw $a3, 0x30($s3)
.L802D0624:
/* F4FD4 802D0624 0C00A720 */ jal atan2
/* F4FD8 802D0628 00000000 */ nop
/* F4FDC 802D062C 46000506 */ mov.s $f20, $f0
/* F4FE0 802D0630 3C014334 */ lui $at, 0x4334
/* F4FE4 802D0634 44816000 */ mtc1 $at, $f12
/* F4FE8 802D0638 0C00A6C9 */ jal clamp_angle
/* F4FEC 802D063C 460CA300 */ add.s $f12, $f20, $f12
/* F4FF0 802D0640 8E420074 */ lw $v0, 0x74($s2)
/* F4FF4 802D0644 3043000F */ andi $v1, $v0, 0xf
/* F4FF8 802D0648 2C620006 */ sltiu $v0, $v1, 6
/* F4FFC 802D064C 10400013 */ beqz $v0, .L802D069C_F504C
/* F5000 802D0650 00031080 */ sll $v0, $v1, 2
/* F5004 802D0654 3C01802E */ lui $at, %hi(jtbl_802DA1F0)
/* F5008 802D0658 00220821 */ addu $at, $at, $v0
/* F500C 802D065C 8C22A1F0 */ lw $v0, %lo(jtbl_802DA1F0)($at)
/* F5010 802D0660 00400008 */ jr $v0
/* F5014 802D0664 00000000 */ nop
.L802D0668_F5018:
/* F5018 802D0668 E614000C */ swc1 $f20, 0xc($s0)
/* F501C 802D066C 080B41A7 */ j .L802D069C_F504C
/* F5020 802D0670 E6200000 */ swc1 $f0, ($s1)
.L802D0674_F5024:
/* F5024 802D0674 E600000C */ swc1 $f0, 0xc($s0)
/* F5028 802D0678 080B41A7 */ j .L802D069C_F504C
/* F502C 802D067C E6200000 */ swc1 $f0, ($s1)
.L802D0680_F5030:
/* F5030 802D0680 E614000C */ swc1 $f20, 0xc($s0)
/* F5034 802D0684 080B41A7 */ j .L802D069C_F504C
/* F5038 802D0688 E6340000 */ swc1 $f20, ($s1)
.L802D068C_F503C:
/* F503C 802D068C E600000C */ swc1 $f0, 0xc($s0)
/* F5040 802D0690 080B41A7 */ j .L802D069C_F504C
/* F5044 802D0694 E6340000 */ swc1 $f20, ($s1)
.L802D0698_F5048:
/* F5048 802D0698 E614000C */ swc1 $f20, 0xc($s0)
.L802D069C_F504C:
/* F504C 802D069C 8E5000B4 */ lw $s0, 0xb4($s2)
/* F5050 802D06A0 2402FFFE */ addiu $v0, $zero, -2
/* F5054 802D06A4 12020022 */ beq $s0, $v0, .L802D0730
/* F5058 802D06A8 27A20020 */ addiu $v0, $sp, 0x20
/* F505C 802D06AC 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* F5060 802D06B0 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* F5064 802D06B4 860300A8 */ lh $v1, 0xa8($s0)
/* F5068 802D06B8 C602003C */ lwc1 $f2, 0x3c($s0)
/* F506C 802D06BC AFA20010 */ sw $v0, 0x10($sp)
/* F5070 802D06C0 27A20024 */ addiu $v0, $sp, 0x24
/* F5074 802D06C4 AFA20014 */ sw $v0, 0x14($sp)
/* F5078 802D06C8 27A20028 */ addiu $v0, $sp, 0x28
/* F507C 802D06CC AFA20018 */ sw $v0, 0x18($sp)
/* F5080 802D06D0 44830000 */ mtc1 $v1, $f0
/* F5084 802D06D4 00000000 */ nop
/* F5088 802D06D8 46800020 */ cvt.s.w $f0, $f0
/* F508C 802D06DC 46001080 */ add.s $f2, $f2, $f0
/* F5090 802D06E0 8E050038 */ lw $a1, 0x38($s0)
/* F5094 802D06E4 8E070040 */ lw $a3, 0x40($s0)
/* F5098 802D06E8 44061000 */ mfc1 $a2, $f2
/* F509C 802D06EC 0C00B94E */ jal get_screen_coords
/* F50A0 802D06F0 00000000 */ nop
/* F50A4 802D06F4 8E4500B8 */ lw $a1, 0xb8($s2)
/* F50A8 802D06F8 2402FFFF */ addiu $v0, $zero, -1
/* F50AC 802D06FC 10A2002B */ beq $a1, $v0, .L802D07AC
/* F50B0 802D0700 00000000 */ nop
/* F50B4 802D0704 3C02802E */ lui $v0, %hi(gCurrentPrintContext)
/* F50B8 802D0708 8C42B260 */ lw $v0, %lo(gCurrentPrintContext)($v0)
/* F50BC 802D070C 8C4204FC */ lw $v0, 0x4fc($v0)
/* F50C0 802D0710 30420080 */ andi $v0, $v0, 0x80
/* F50C4 802D0714 14400002 */ bnez $v0, .L802D0720
/* F50C8 802D0718 00000000 */ nop
/* F50CC 802D071C 8E4500BC */ lw $a1, 0xbc($s2)
.L802D0720:
/* F50D0 802D0720 0C0B36C3 */ jal set_npc_animation
/* F50D4 802D0724 0200202D */ daddu $a0, $s0, $zero
/* F50D8 802D0728 080B41EB */ j .L802D07AC
/* F50DC 802D072C 00000000 */ nop
.L802D0730:
/* F50E0 802D0730 8E650028 */ lw $a1, 0x28($s3)
/* F50E4 802D0734 8E670030 */ lw $a3, 0x30($s3)
/* F50E8 802D0738 AFA20010 */ sw $v0, 0x10($sp)
/* F50EC 802D073C 27A20024 */ addiu $v0, $sp, 0x24
/* F50F0 802D0740 AFA20014 */ sw $v0, 0x14($sp)
/* F50F4 802D0744 866200B0 */ lh $v0, 0xb0($s3)
/* F50F8 802D0748 C662002C */ lwc1 $f2, 0x2c($s3)
/* F50FC 802D074C 44820000 */ mtc1 $v0, $f0
/* F5100 802D0750 00000000 */ nop
/* F5104 802D0754 46800020 */ cvt.s.w $f0, $f0
/* F5108 802D0758 46001080 */ add.s $f2, $f2, $f0
/* F510C 802D075C 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* F5110 802D0760 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* F5114 802D0764 44061000 */ mfc1 $a2, $f2
/* F5118 802D0768 27A20028 */ addiu $v0, $sp, 0x28
/* F511C 802D076C 0C00B94E */ jal get_screen_coords
/* F5120 802D0770 AFA20018 */ sw $v0, 0x18($sp)
/* F5124 802D0774 8E4300B8 */ lw $v1, 0xb8($s2)
/* F5128 802D0778 2402FFFF */ addiu $v0, $zero, -1
/* F512C 802D077C 1062000B */ beq $v1, $v0, .L802D07AC
/* F5130 802D0780 00000000 */ nop
/* F5134 802D0784 3C02802E */ lui $v0, %hi(gCurrentPrintContext)
/* F5138 802D0788 8C42B260 */ lw $v0, %lo(gCurrentPrintContext)($v0)
/* F513C 802D078C 8C4204FC */ lw $v0, 0x4fc($v0)
/* F5140 802D0790 30420080 */ andi $v0, $v0, 0x80
/* F5144 802D0794 10400003 */ beqz $v0, .L802D07A4
/* F5148 802D0798 00000000 */ nop
/* F514C 802D079C 080B41EB */ j .L802D07AC
/* F5150 802D07A0 AE6300B8 */ sw $v1, 0xb8($s3)
.L802D07A4:
/* F5154 802D07A4 8E4200BC */ lw $v0, 0xbc($s2)
/* F5158 802D07A8 AE6200B8 */ sw $v0, 0xb8($s3)
.L802D07AC:
/* F515C 802D07AC 8E420074 */ lw $v0, 0x74($s2)
/* F5160 802D07B0 30420200 */ andi $v0, $v0, 0x200
/* F5164 802D07B4 1440000C */ bnez $v0, .L802D07E8
/* F5168 802D07B8 00000000 */ nop
/* F516C 802D07BC 3C04802E */ lui $a0, %hi(gCurrentPrintContext)
/* F5170 802D07C0 8C84B260 */ lw $a0, %lo(gCurrentPrintContext)($a0)
/* F5174 802D07C4 8FA30020 */ lw $v1, 0x20($sp)
/* F5178 802D07C8 3C05802E */ lui $a1, %hi(D_802DAE50)
/* F517C 802D07CC 8CA5AE50 */ lw $a1, %lo(D_802DAE50)($a1)
/* F5180 802D07D0 8FA20024 */ lw $v0, 0x24($sp)
/* F5184 802D07D4 3C06802E */ lui $a2, %hi(D_802DAE54)
/* F5188 802D07D8 8CC6AE54 */ lw $a2, %lo(D_802DAE54)($a2)
/* F518C 802D07DC 00652821 */ addu $a1, $v1, $a1
/* F5190 802D07E0 0C0496AE */ jal msg_printer_set_origin_pos
/* F5194 802D07E4 00463021 */ addu $a2, $v0, $a2
.L802D07E8:
/* F5198 802D07E8 3C02802E */ lui $v0, %hi(gCurrentPrintContext)
/* F519C 802D07EC 8C42B260 */ lw $v0, %lo(gCurrentPrintContext)($v0)
/* F51A0 802D07F0 8C4204FC */ lw $v0, 0x4fc($v0)
/* F51A4 802D07F4 30420040 */ andi $v0, $v0, 0x40
/* F51A8 802D07F8 14400019 */ bnez $v0, .L802D0860
/* F51AC 802D07FC 24020001 */ addiu $v0, $zero, 1
/* F51B0 802D0800 3C03802E */ lui $v1, %hi(D_802DB264)
/* F51B4 802D0804 8C63B264 */ lw $v1, %lo(D_802DB264)($v1)
/* F51B8 802D0808 14620015 */ bne $v1, $v0, .L802D0860
/* F51BC 802D080C 0000102D */ daddu $v0, $zero, $zero
/* F51C0 802D0810 8E4300B8 */ lw $v1, 0xb8($s2)
/* F51C4 802D0814 2402FFFF */ addiu $v0, $zero, -1
/* F51C8 802D0818 1062000A */ beq $v1, $v0, .L802D0844
/* F51CC 802D081C 2402FFFE */ addiu $v0, $zero, -2
/* F51D0 802D0820 12020006 */ beq $s0, $v0, .L802D083C
/* F51D4 802D0824 00000000 */ nop
/* F51D8 802D0828 8E45007C */ lw $a1, 0x7c($s2)
/* F51DC 802D082C 0C0B36C3 */ jal set_npc_animation
/* F51E0 802D0830 0200202D */ daddu $a0, $s0, $zero
/* F51E4 802D0834 080B4211 */ j .L802D0844
/* F51E8 802D0838 00000000 */ nop
.L802D083C:
/* F51EC 802D083C 8E42007C */ lw $v0, 0x7c($s2)
/* F51F0 802D0840 AE6200B8 */ sw $v0, 0xb8($s3)
.L802D0844:
/* F51F4 802D0844 8E420074 */ lw $v0, 0x74($s2)
/* F51F8 802D0848 30420010 */ andi $v0, $v0, 0x10
/* F51FC 802D084C 10400004 */ beqz $v0, .L802D0860
/* F5200 802D0850 24020001 */ addiu $v0, $zero, 1
/* F5204 802D0854 C64000C0 */ lwc1 $f0, 0xc0($s2)
/* F5208 802D0858 46800020 */ cvt.s.w $f0, $f0
/* F520C 802D085C E600000C */ swc1 $f0, 0xc($s0)
.L802D0860:
/* F5210 802D0860 8FBF0054 */ lw $ra, 0x54($sp)
/* F5214 802D0864 8FBE0050 */ lw $fp, 0x50($sp)
/* F5218 802D0868 8FB7004C */ lw $s7, 0x4c($sp)
/* F521C 802D086C 8FB60048 */ lw $s6, 0x48($sp)
/* F5220 802D0870 8FB50044 */ lw $s5, 0x44($sp)
/* F5224 802D0874 8FB40040 */ lw $s4, 0x40($sp)
/* F5228 802D0878 8FB3003C */ lw $s3, 0x3c($sp)
/* F522C 802D087C 8FB20038 */ lw $s2, 0x38($sp)
/* F5230 802D0880 8FB10034 */ lw $s1, 0x34($sp)
/* F5234 802D0884 8FB00030 */ lw $s0, 0x30($sp)
/* F5238 802D0888 D7B40058 */ ldc1 $f20, 0x58($sp)
/* F523C 802D088C 03E00008 */ jr $ra
/* F5240 802D0890 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osViSetMode
/* 42210 80066E10 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 42214 80066E14 AFB00010 */ sw $s0, 0x10($sp)
/* 42218 80066E18 AFBF0014 */ sw $ra, 0x14($sp)
/* 4221C 80066E1C 0C01ACD8 */ jal __osDisableInt
/* 42220 80066E20 00808021 */ addu $s0, $a0, $zero
/* 42224 80066E24 3C048009 */ lui $a0, %hi(__osViNext)
/* 42228 80066E28 8C8459D4 */ lw $a0, %lo(__osViNext)($a0)
/* 4222C 80066E2C AC900008 */ sw $s0, 8($a0)
/* 42230 80066E30 8C850008 */ lw $a1, 8($a0)
/* 42234 80066E34 24030001 */ addiu $v1, $zero, 1
/* 42238 80066E38 A4830000 */ sh $v1, ($a0)
/* 4223C 80066E3C 8CA30004 */ lw $v1, 4($a1)
/* 42240 80066E40 AC83000C */ sw $v1, 0xc($a0)
/* 42244 80066E44 0C01ACF4 */ jal __osRestoreInt
/* 42248 80066E48 00402021 */ addu $a0, $v0, $zero
/* 4224C 80066E4C 8FBF0014 */ lw $ra, 0x14($sp)
/* 42250 80066E50 8FB00010 */ lw $s0, 0x10($sp)
/* 42254 80066E54 03E00008 */ jr $ra
/* 42258 80066E58 27BD0018 */ addiu $sp, $sp, 0x18
/* 4225C 80066E5C 00000000 */ nop

View File

@ -18,9 +18,9 @@ glabel func_802DE780
/* 1018A4 802DE7B4 AFB10024 */ sw $s1, 0x24($sp)
/* 1018A8 802DE7B8 AFB00020 */ sw $s0, 0x20($sp)
/* 1018AC 802DE7BC AFA70054 */ sw $a3, 0x54($sp)
/* 1018B0 802DE7C0 3C01802E */ lui $at, %hi(D_802DFA4C)
/* 1018B0 802DE7C0 3C01802E */ lui $at, %hi(D_802DFA48 + 0x4)
/* 1018B4 802DE7C4 00220821 */ addu $at, $at, $v0
/* 1018B8 802DE7C8 8C22FA4C */ lw $v0, %lo(D_802DFA4C)($at)
/* 1018B8 802DE7C8 8C22FA4C */ lw $v0, %lo(D_802DFA48 + 0x4)($at)
/* 1018BC 802DE7CC 8FBE0064 */ lw $fp, 0x64($sp)
/* 1018C0 802DE7D0 10400024 */ beqz $v0, .L802DE864
/* 1018C4 802DE7D4 00C0A82D */ daddu $s5, $a2, $zero

View File

@ -1,275 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_appendGfx_component
/* FF9E4 802DC8F4 27BDFEF0 */ addiu $sp, $sp, -0x110
/* FF9E8 802DC8F8 F7B800F0 */ sdc1 $f24, 0xf0($sp)
/* FF9EC 802DC8FC C7B80120 */ lwc1 $f24, 0x120($sp)
/* FF9F0 802DC900 F7B600E8 */ sdc1 $f22, 0xe8($sp)
/* FF9F4 802DC904 C7B60128 */ lwc1 $f22, 0x128($sp)
/* FF9F8 802DC908 F7BA00F8 */ sdc1 $f26, 0xf8($sp)
/* FF9FC 802DC90C C7BA012C */ lwc1 $f26, 0x12c($sp)
/* FFA00 802DC910 F7BC0100 */ sdc1 $f28, 0x100($sp)
/* FFA04 802DC914 C7BC0130 */ lwc1 $f28, 0x130($sp)
/* FFA08 802DC918 F7BE0108 */ sdc1 $f30, 0x108($sp)
/* FFA0C 802DC91C C7BE0134 */ lwc1 $f30, 0x134($sp)
/* FFA10 802DC920 AFB500D4 */ sw $s5, 0xd4($sp)
/* FFA14 802DC924 8FB50138 */ lw $s5, 0x138($sp)
/* FFA18 802DC928 AFB600D8 */ sw $s6, 0xd8($sp)
/* FFA1C 802DC92C 8FB6013C */ lw $s6, 0x13c($sp)
/* FFA20 802DC930 AFB400D0 */ sw $s4, 0xd0($sp)
/* FFA24 802DC934 0080A02D */ daddu $s4, $a0, $zero
/* FFA28 802DC938 AFB100C4 */ sw $s1, 0xc4($sp)
/* FFA2C 802DC93C 27B10060 */ addiu $s1, $sp, 0x60
/* FFA30 802DC940 AFB000C0 */ sw $s0, 0xc0($sp)
/* FFA34 802DC944 8FB00140 */ lw $s0, 0x140($sp)
/* FFA38 802DC948 AFBF00DC */ sw $ra, 0xdc($sp)
/* FFA3C 802DC94C AFB300CC */ sw $s3, 0xcc($sp)
/* FFA40 802DC950 AFB200C8 */ sw $s2, 0xc8($sp)
/* FFA44 802DC954 F7B400E0 */ sdc1 $f20, 0xe0($sp)
/* FFA48 802DC958 0C019E40 */ jal guTranslateF
/* FFA4C 802DC95C 0220202D */ daddu $a0, $s1, $zero
/* FFA50 802DC960 0220202D */ daddu $a0, $s1, $zero
/* FFA54 802DC964 27A60020 */ addiu $a2, $sp, 0x20
/* FFA58 802DC968 4480A000 */ mtc1 $zero, $f20
/* FFA5C 802DC96C 0C019D80 */ jal guMtxCatF
/* FFA60 802DC970 0200282D */ daddu $a1, $s0, $zero
/* FFA64 802DC974 C7A20124 */ lwc1 $f2, 0x124($sp)
/* FFA68 802DC978 46141032 */ c.eq.s $f2, $f20
/* FFA6C 802DC97C 00000000 */ nop
/* FFA70 802DC980 4501000A */ bc1t .L802DC9AC
/* FFA74 802DC984 0220202D */ daddu $a0, $s1, $zero
/* FFA78 802DC988 44051000 */ mfc1 $a1, $f2
/* FFA7C 802DC98C 4406A000 */ mfc1 $a2, $f20
/* FFA80 802DC990 3C073F80 */ lui $a3, 0x3f80
/* FFA84 802DC994 0C019EC8 */ jal guRotateF
/* FFA88 802DC998 E7B40010 */ swc1 $f20, 0x10($sp)
/* FFA8C 802DC99C 0220202D */ daddu $a0, $s1, $zero
/* FFA90 802DC9A0 27A50020 */ addiu $a1, $sp, 0x20
/* FFA94 802DC9A4 0C019D80 */ jal guMtxCatF
/* FFA98 802DC9A8 00A0302D */ daddu $a2, $a1, $zero
.L802DC9AC:
/* FFA9C 802DC9AC 4614B032 */ c.eq.s $f22, $f20
/* FFAA0 802DC9B0 00000000 */ nop
/* FFAA4 802DC9B4 4501000C */ bc1t .L802DC9E8
/* FFAA8 802DC9B8 0220202D */ daddu $a0, $s1, $zero
/* FFAAC 802DC9BC 4405B000 */ mfc1 $a1, $f22
/* FFAB0 802DC9C0 4406A000 */ mfc1 $a2, $f20
/* FFAB4 802DC9C4 4407A000 */ mfc1 $a3, $f20
/* FFAB8 802DC9C8 3C013F80 */ lui $at, 0x3f80
/* FFABC 802DC9CC 44810000 */ mtc1 $at, $f0
/* FFAC0 802DC9D0 0C019EC8 */ jal guRotateF
/* FFAC4 802DC9D4 E7A00010 */ swc1 $f0, 0x10($sp)
/* FFAC8 802DC9D8 0220202D */ daddu $a0, $s1, $zero
/* FFACC 802DC9DC 27A50020 */ addiu $a1, $sp, 0x20
/* FFAD0 802DC9E0 0C019D80 */ jal guMtxCatF
/* FFAD4 802DC9E4 00A0302D */ daddu $a2, $a1, $zero
.L802DC9E8:
/* FFAD8 802DC9E8 4614C032 */ c.eq.s $f24, $f20
/* FFADC 802DC9EC 00000000 */ nop
/* FFAE0 802DC9F0 4501000A */ bc1t .L802DCA1C
/* FFAE4 802DC9F4 0220202D */ daddu $a0, $s1, $zero
/* FFAE8 802DC9F8 4405C000 */ mfc1 $a1, $f24
/* FFAEC 802DC9FC 3C063F80 */ lui $a2, 0x3f80
/* FFAF0 802DCA00 4407A000 */ mfc1 $a3, $f20
/* FFAF4 802DCA04 0C019EC8 */ jal guRotateF
/* FFAF8 802DCA08 AFA70010 */ sw $a3, 0x10($sp)
/* FFAFC 802DCA0C 0220202D */ daddu $a0, $s1, $zero
/* FFB00 802DCA10 27A50020 */ addiu $a1, $sp, 0x20
/* FFB04 802DCA14 0C019D80 */ jal guMtxCatF
/* FFB08 802DCA18 00A0302D */ daddu $a2, $a1, $zero
.L802DCA1C:
/* FFB0C 802DCA1C 3C013F80 */ lui $at, 0x3f80
/* FFB10 802DCA20 44810000 */ mtc1 $at, $f0
/* FFB14 802DCA24 00000000 */ nop
/* FFB18 802DCA28 4600D032 */ c.eq.s $f26, $f0
/* FFB1C 802DCA2C 00000000 */ nop
/* FFB20 802DCA30 4500000A */ bc1f .L802DCA5C
/* FFB24 802DCA34 27B00060 */ addiu $s0, $sp, 0x60
/* FFB28 802DCA38 4600E032 */ c.eq.s $f28, $f0
/* FFB2C 802DCA3C 00000000 */ nop
/* FFB30 802DCA40 45000006 */ bc1f .L802DCA5C
/* FFB34 802DCA44 00000000 */ nop
/* FFB38 802DCA48 4600F032 */ c.eq.s $f30, $f0
/* FFB3C 802DCA4C 00000000 */ nop
/* FFB40 802DCA50 4501000C */ bc1t .L802DCA84
/* FFB44 802DCA54 3C120001 */ lui $s2, 1
/* FFB48 802DCA58 27B00060 */ addiu $s0, $sp, 0x60
.L802DCA5C:
/* FFB4C 802DCA5C 4405D000 */ mfc1 $a1, $f26
/* FFB50 802DCA60 4406E000 */ mfc1 $a2, $f28
/* FFB54 802DCA64 4407F000 */ mfc1 $a3, $f30
/* FFB58 802DCA68 0C019DF0 */ jal guScaleF
/* FFB5C 802DCA6C 0200202D */ daddu $a0, $s0, $zero
/* FFB60 802DCA70 0200202D */ daddu $a0, $s0, $zero
/* FFB64 802DCA74 27A50020 */ addiu $a1, $sp, 0x20
/* FFB68 802DCA78 0C019D80 */ jal guMtxCatF
/* FFB6C 802DCA7C 00A0302D */ daddu $a2, $a1, $zero
/* FFB70 802DCA80 3C120001 */ lui $s2, 1
.L802DCA84:
/* FFB74 802DCA84 36521630 */ ori $s2, $s2, 0x1630
/* FFB78 802DCA88 27A40020 */ addiu $a0, $sp, 0x20
/* FFB7C 802DCA8C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* FFB80 802DCA90 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* FFB84 802DCA94 3C11800A */ lui $s1, %hi(gDisplayContext)
/* FFB88 802DCA98 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* FFB8C 802DCA9C 96050000 */ lhu $a1, ($s0)
/* FFB90 802DCAA0 8E220000 */ lw $v0, ($s1)
/* FFB94 802DCAA4 00052980 */ sll $a1, $a1, 6
/* FFB98 802DCAA8 00B22821 */ addu $a1, $a1, $s2
/* FFB9C 802DCAAC 0C019D40 */ jal guMtxF2L
/* FFBA0 802DCAB0 00452821 */ addu $a1, $v0, $a1
/* FFBA4 802DCAB4 3C02DA38 */ lui $v0, 0xda38
/* FFBA8 802DCAB8 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* FFBAC 802DCABC 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* FFBB0 802DCAC0 34420002 */ ori $v0, $v0, 2
/* FFBB4 802DCAC4 8D070000 */ lw $a3, ($t0)
/* FFBB8 802DCAC8 96040000 */ lhu $a0, ($s0)
/* FFBBC 802DCACC 00E0302D */ daddu $a2, $a3, $zero
/* FFBC0 802DCAD0 24E70008 */ addiu $a3, $a3, 8
/* FFBC4 802DCAD4 AD070000 */ sw $a3, ($t0)
/* FFBC8 802DCAD8 ACC20000 */ sw $v0, ($a2)
/* FFBCC 802DCADC 3082FFFF */ andi $v0, $a0, 0xffff
/* FFBD0 802DCAE0 00021180 */ sll $v0, $v0, 6
/* FFBD4 802DCAE4 00521021 */ addu $v0, $v0, $s2
/* FFBD8 802DCAE8 8E230000 */ lw $v1, ($s1)
/* FFBDC 802DCAEC 3C058015 */ lui $a1, %hi(D_80151328)
/* FFBE0 802DCAF0 8CA51328 */ lw $a1, %lo(D_80151328)($a1)
/* FFBE4 802DCAF4 00621821 */ addu $v1, $v1, $v0
/* FFBE8 802DCAF8 3C028000 */ lui $v0, 0x8000
/* FFBEC 802DCAFC 00621821 */ addu $v1, $v1, $v0
/* FFBF0 802DCB00 ACC30004 */ sw $v1, 4($a2)
/* FFBF4 802DCB04 94A20000 */ lhu $v0, ($a1)
/* FFBF8 802DCB08 24840001 */ addiu $a0, $a0, 1
/* FFBFC 802DCB0C 30420001 */ andi $v0, $v0, 1
/* FFC00 802DCB10 10400013 */ beqz $v0, .L802DCB60
/* FFC04 802DCB14 A6040000 */ sh $a0, ($s0)
/* FFC08 802DCB18 32A300FF */ andi $v1, $s5, 0xff
/* FFC0C 802DCB1C 240200FF */ addiu $v0, $zero, 0xff
/* FFC10 802DCB20 14620008 */ bne $v1, $v0, .L802DCB44
/* FFC14 802DCB24 24E20008 */ addiu $v0, $a3, 8
/* FFC18 802DCB28 AD020000 */ sw $v0, ($t0)
/* FFC1C 802DCB2C 3C02DE00 */ lui $v0, 0xde00
/* FFC20 802DCB30 ACE20000 */ sw $v0, ($a3)
/* FFC24 802DCB34 3C02802E */ lui $v0, %hi(D_802DF460)
/* FFC28 802DCB38 2442F460 */ addiu $v0, $v0, %lo(D_802DF460)
/* FFC2C 802DCB3C 080B72EE */ j .L802DCBB8
/* FFC30 802DCB40 ACE20004 */ sw $v0, 4($a3)
.L802DCB44:
/* FFC34 802DCB44 AD020000 */ sw $v0, ($t0)
/* FFC38 802DCB48 3C02DE00 */ lui $v0, 0xde00
/* FFC3C 802DCB4C ACE20000 */ sw $v0, ($a3)
/* FFC40 802DCB50 3C02802E */ lui $v0, %hi(D_802DF490)
/* FFC44 802DCB54 2442F490 */ addiu $v0, $v0, %lo(D_802DF490)
/* FFC48 802DCB58 080B72EE */ j .L802DCBB8
/* FFC4C 802DCB5C ACE20004 */ sw $v0, 4($a3)
.L802DCB60:
/* FFC50 802DCB60 32A300FF */ andi $v1, $s5, 0xff
/* FFC54 802DCB64 240200FF */ addiu $v0, $zero, 0xff
/* FFC58 802DCB68 14620008 */ bne $v1, $v0, .L802DCB8C
/* FFC5C 802DCB6C 24E20008 */ addiu $v0, $a3, 8
/* FFC60 802DCB70 AD020000 */ sw $v0, ($t0)
/* FFC64 802DCB74 3C02DE00 */ lui $v0, 0xde00
/* FFC68 802DCB78 ACE20000 */ sw $v0, ($a3)
/* FFC6C 802DCB7C 3C02802E */ lui $v0, %hi(D_802DF3F0)
/* FFC70 802DCB80 2442F3F0 */ addiu $v0, $v0, %lo(D_802DF3F0)
/* FFC74 802DCB84 080B72EE */ j .L802DCBB8
/* FFC78 802DCB88 ACE20004 */ sw $v0, 4($a3)
.L802DCB8C:
/* FFC7C 802DCB8C AD020000 */ sw $v0, ($t0)
/* FFC80 802DCB90 3C02FA00 */ lui $v0, 0xfa00
/* FFC84 802DCB94 ACE20000 */ sw $v0, ($a3)
/* FFC88 802DCB98 24E20010 */ addiu $v0, $a3, 0x10
/* FFC8C 802DCB9C ACE30004 */ sw $v1, 4($a3)
/* FFC90 802DCBA0 AD020000 */ sw $v0, ($t0)
/* FFC94 802DCBA4 3C02DE00 */ lui $v0, 0xde00
/* FFC98 802DCBA8 ACE20008 */ sw $v0, 8($a3)
/* FFC9C 802DCBAC 3C02802E */ lui $v0, %hi(D_802DF428)
/* FFCA0 802DCBB0 2442F428 */ addiu $v0, $v0, %lo(D_802DF428)
/* FFCA4 802DCBB4 ACE2000C */ sw $v0, 0xc($a3)
.L802DCBB8:
/* FFCA8 802DCBB8 92910004 */ lbu $s1, 4($s4)
/* FFCAC 802DCBBC 92920005 */ lbu $s2, 5($s4)
/* FFCB0 802DCBC0 82820007 */ lb $v0, 7($s4)
/* FFCB4 802DCBC4 3C13802E */ lui $s3, %hi(D_802DF540)
/* FFCB8 802DCBC8 2673F540 */ addiu $s3, $s3, %lo(D_802DF540)
/* FFCBC 802DCBCC AFA200B8 */ sw $v0, 0xb8($sp)
/* FFCC0 802DCBD0 8E620000 */ lw $v0, ($s3)
/* FFCC4 802DCBD4 3C03F000 */ lui $v1, 0xf000
/* FFCC8 802DCBD8 00431024 */ and $v0, $v0, $v1
/* FFCCC 802DCBDC 14400009 */ bnez $v0, .L802DCC04
/* FFCD0 802DCBE0 0000202D */ daddu $a0, $zero, $zero
/* FFCD4 802DCBE4 27B000B8 */ addiu $s0, $sp, 0xb8
/* FFCD8 802DCBE8 0200202D */ daddu $a0, $s0, $zero
/* FFCDC 802DCBEC 0220282D */ daddu $a1, $s1, $zero
/* FFCE0 802DCBF0 0C0B6F9E */ jal spr_get_quad_for_size
/* FFCE4 802DCBF4 0240302D */ daddu $a2, $s2, $zero
/* FFCE8 802DCBF8 92030003 */ lbu $v1, 3($s0)
/* FFCEC 802DCBFC 0040202D */ daddu $a0, $v0, $zero
/* FFCF0 802DCC00 A2830007 */ sb $v1, 7($s4)
.L802DCC04:
/* FFCF4 802DCC04 1080000D */ beqz $a0, .L802DCC3C
/* FFCF8 802DCC08 02C0302D */ daddu $a2, $s6, $zero
/* FFCFC 802DCC0C C7A20124 */ lwc1 $f2, 0x124($sp)
/* FFD00 802DCC10 27A20020 */ addiu $v0, $sp, 0x20
/* FFD04 802DCC14 AFA20018 */ sw $v0, 0x18($sp)
/* FFD08 802DCC18 32A200FF */ andi $v0, $s5, 0xff
/* FFD0C 802DCC1C AFB20010 */ sw $s2, 0x10($sp)
/* FFD10 802DCC20 AFA2001C */ sw $v0, 0x1c($sp)
/* FFD14 802DCC24 E7A20014 */ swc1 $f2, 0x14($sp)
/* FFD18 802DCC28 8E850000 */ lw $a1, ($s4)
/* FFD1C 802DCC2C 0C0B7002 */ jal spr_appendGfx_component_flat
/* FFD20 802DCC30 0220382D */ daddu $a3, $s1, $zero
/* FFD24 802DCC34 080B7326 */ j .L802DCC98
/* FFD28 802DCC38 3C05D838 */ lui $a1, 0xd838
.L802DCC3C:
/* FFD2C 802DCC3C 27A500A0 */ addiu $a1, $sp, 0xa0
/* FFD30 802DCC40 3C060008 */ lui $a2, 8
/* FFD34 802DCC44 27A70020 */ addiu $a3, $sp, 0x20
/* FFD38 802DCC48 00111842 */ srl $v1, $s1, 1
/* FFD3C 802DCC4C 92640003 */ lbu $a0, 3($s3)
/* FFD40 802DCC50 8E820000 */ lw $v0, ($s4)
/* FFD44 802DCC54 00031823 */ negu $v1, $v1
/* FFD48 802DCC58 AFB600A4 */ sw $s6, 0xa4($sp)
/* FFD4C 802DCC5C A7B100A8 */ sh $s1, 0xa8($sp)
/* FFD50 802DCC60 A7B200AA */ sh $s2, 0xaa($sp)
/* FFD54 802DCC64 A7A300AC */ sh $v1, 0xac($sp)
/* FFD58 802DCC68 A7B200AE */ sh $s2, 0xae($sp)
/* FFD5C 802DCC6C A3B500B0 */ sb $s5, 0xb0($sp)
/* FFD60 802DCC70 0C04EBDC */ jal fold_appendGfx_component
/* FFD64 802DCC74 AFA200A0 */ sw $v0, 0xa0($sp)
/* FFD68 802DCC78 24030001 */ addiu $v1, $zero, 1
/* FFD6C 802DCC7C 14430006 */ bne $v0, $v1, .L802DCC98
/* FFD70 802DCC80 3C05D838 */ lui $a1, 0xd838
/* FFD74 802DCC84 3C030FFF */ lui $v1, 0xfff
/* FFD78 802DCC88 8E620000 */ lw $v0, ($s3)
/* FFD7C 802DCC8C 3463FFFF */ ori $v1, $v1, 0xffff
/* FFD80 802DCC90 00431024 */ and $v0, $v0, $v1
/* FFD84 802DCC94 AE620000 */ sw $v0, ($s3)
.L802DCC98:
/* FFD88 802DCC98 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* FFD8C 802DCC9C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* FFD90 802DCCA0 8C620000 */ lw $v0, ($v1)
/* FFD94 802DCCA4 34A50002 */ ori $a1, $a1, 2
/* FFD98 802DCCA8 0040202D */ daddu $a0, $v0, $zero
/* FFD9C 802DCCAC 24420008 */ addiu $v0, $v0, 8
/* FFDA0 802DCCB0 AC620000 */ sw $v0, ($v1)
/* FFDA4 802DCCB4 24020040 */ addiu $v0, $zero, 0x40
/* FFDA8 802DCCB8 AC850000 */ sw $a1, ($a0)
/* FFDAC 802DCCBC AC820004 */ sw $v0, 4($a0)
/* FFDB0 802DCCC0 8FBF00DC */ lw $ra, 0xdc($sp)
/* FFDB4 802DCCC4 8FB600D8 */ lw $s6, 0xd8($sp)
/* FFDB8 802DCCC8 8FB500D4 */ lw $s5, 0xd4($sp)
/* FFDBC 802DCCCC 8FB400D0 */ lw $s4, 0xd0($sp)
/* FFDC0 802DCCD0 8FB300CC */ lw $s3, 0xcc($sp)
/* FFDC4 802DCCD4 8FB200C8 */ lw $s2, 0xc8($sp)
/* FFDC8 802DCCD8 8FB100C4 */ lw $s1, 0xc4($sp)
/* FFDCC 802DCCDC 8FB000C0 */ lw $s0, 0xc0($sp)
/* FFDD0 802DCCE0 D7BE0108 */ ldc1 $f30, 0x108($sp)
/* FFDD4 802DCCE4 D7BC0100 */ ldc1 $f28, 0x100($sp)
/* FFDD8 802DCCE8 D7BA00F8 */ ldc1 $f26, 0xf8($sp)
/* FFDDC 802DCCEC D7B800F0 */ ldc1 $f24, 0xf0($sp)
/* FFDE0 802DCCF0 D7B600E8 */ ldc1 $f22, 0xe8($sp)
/* FFDE4 802DCCF4 D7B400E0 */ ldc1 $f20, 0xe0($sp)
/* FFDE8 802DCCF8 03E00008 */ jr $ra
/* FFDEC 802DCCFC 27BD0110 */ addiu $sp, $sp, 0x110

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_clear_quad_cache
/* FF0B0 802DBFC0 0000202D */ daddu $a0, $zero, $zero
/* FF0B4 802DBFC4 2405FFFF */ addiu $a1, $zero, -1
/* FF0B8 802DBFC8 3C03802E */ lui $v1, %hi(D_802DFE48)
/* FF0BC 802DBFCC 2463FE48 */ addiu $v1, $v1, %lo(D_802DFE48)
.L802DBFD0:
/* FF0C0 802DBFD0 8C620000 */ lw $v0, ($v1)
/* FF0C4 802DBFD4 50450007 */ beql $v0, $a1, .L802DBFF4
/* FF0C8 802DBFD8 24840001 */ addiu $a0, $a0, 1
/* FF0CC 802DBFDC 2442FFFF */ addiu $v0, $v0, -1
/* FF0D0 802DBFE0 AC620000 */ sw $v0, ($v1)
/* FF0D4 802DBFE4 3042FFFF */ andi $v0, $v0, 0xffff
/* FF0D8 802DBFE8 50400001 */ beql $v0, $zero, .L802DBFF0
/* FF0DC 802DBFEC AC650000 */ sw $a1, ($v1)
.L802DBFF0:
/* FF0E0 802DBFF0 24840001 */ addiu $a0, $a0, 1
.L802DBFF4:
/* FF0E4 802DBFF4 28820016 */ slti $v0, $a0, 0x16
/* FF0E8 802DBFF8 1440FFF5 */ bnez $v0, .L802DBFD0
/* FF0EC 802DBFFC 24630004 */ addiu $v1, $v1, 4
/* FF0F0 802DC000 03E00008 */ jr $ra
/* FF0F4 802DC004 00000000 */ nop

View File

@ -1,62 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_component_update
/* 1007CC 802DD6DC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1007D0 802DD6E0 AFB50024 */ sw $s5, 0x24($sp)
/* 1007D4 802DD6E4 8FB50040 */ lw $s5, 0x40($sp)
/* 1007D8 802DD6E8 AFB3001C */ sw $s3, 0x1c($sp)
/* 1007DC 802DD6EC 00A0982D */ daddu $s3, $a1, $zero
/* 1007E0 802DD6F0 AFB10014 */ sw $s1, 0x14($sp)
/* 1007E4 802DD6F4 00C0882D */ daddu $s1, $a2, $zero
/* 1007E8 802DD6F8 AFB40020 */ sw $s4, 0x20($sp)
/* 1007EC 802DD6FC AFB00010 */ sw $s0, 0x10($sp)
/* 1007F0 802DD700 0260802D */ daddu $s0, $s3, $zero
/* 1007F4 802DD704 AFBF0028 */ sw $ra, 0x28($sp)
/* 1007F8 802DD708 AFB20018 */ sw $s2, 0x18($sp)
/* 1007FC 802DD70C 3C01802E */ lui $at, %hi(D_802DFEAC)
/* 100800 802DD710 AC24FEAC */ sw $a0, %lo(D_802DFEAC)($at)
/* 100804 802DD714 8E030000 */ lw $v1, ($s0)
/* 100808 802DD718 2402FFFF */ addiu $v0, $zero, -1
/* 10080C 802DD71C 1062000E */ beq $v1, $v0, .L802DD758
/* 100810 802DD720 00E0A02D */ daddu $s4, $a3, $zero
/* 100814 802DD724 0040902D */ daddu $s2, $v0, $zero
.L802DD728:
/* 100818 802DD728 8E040000 */ lw $a0, ($s0)
/* 10081C 802DD72C 8E250000 */ lw $a1, ($s1)
/* 100820 802DD730 0C0B7447 */ jal spr_component_update_commands
/* 100824 802DD734 26100004 */ addiu $s0, $s0, 4
/* 100828 802DD738 8E220000 */ lw $v0, ($s1)
/* 10082C 802DD73C 54520001 */ bnel $v0, $s2, .L802DD744
/* 100830 802DD740 26310004 */ addiu $s1, $s1, 4
.L802DD744:
/* 100834 802DD744 8E020000 */ lw $v0, ($s0)
/* 100838 802DD748 1452FFF7 */ bne $v0, $s2, .L802DD728
/* 10083C 802DD74C 2402FFFF */ addiu $v0, $zero, -1
/* 100840 802DD750 0260802D */ daddu $s0, $s3, $zero
/* 100844 802DD754 8E030000 */ lw $v1, ($s0)
.L802DD758:
/* 100848 802DD758 1062000A */ beq $v1, $v0, .L802DD784
/* 10084C 802DD75C 0040882D */ daddu $s1, $v0, $zero
.L802DD760:
/* 100850 802DD760 8E040000 */ lw $a0, ($s0)
/* 100854 802DD764 26100004 */ addiu $s0, $s0, 4
/* 100858 802DD768 0260282D */ daddu $a1, $s3, $zero
/* 10085C 802DD76C 0280302D */ daddu $a2, $s4, $zero
/* 100860 802DD770 0C0B758D */ jal spr_component_update_finish
/* 100864 802DD774 02A0382D */ daddu $a3, $s5, $zero
/* 100868 802DD778 8E020000 */ lw $v0, ($s0)
/* 10086C 802DD77C 1451FFF8 */ bne $v0, $s1, .L802DD760
/* 100870 802DD780 00000000 */ nop
.L802DD784:
/* 100874 802DD784 3C02802E */ lui $v0, %hi(D_802DFEAC)
/* 100878 802DD788 8C42FEAC */ lw $v0, %lo(D_802DFEAC)($v0)
/* 10087C 802DD78C 8FBF0028 */ lw $ra, 0x28($sp)
/* 100880 802DD790 8FB50024 */ lw $s5, 0x24($sp)
/* 100884 802DD794 8FB40020 */ lw $s4, 0x20($sp)
/* 100888 802DD798 8FB3001C */ lw $s3, 0x1c($sp)
/* 10088C 802DD79C 8FB20018 */ lw $s2, 0x18($sp)
/* 100890 802DD7A0 8FB10014 */ lw $s1, 0x14($sp)
/* 100894 802DD7A4 8FB00010 */ lw $s0, 0x10($sp)
/* 100898 802DD7A8 03E00008 */ jr $ra
/* 10089C 802DD7AC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,48 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_component_update_finish
/* 100724 802DD634 8C820000 */ lw $v0, ($a0)
/* 100728 802DD638 10400026 */ beqz $v0, .L802DD6D4
/* 10072C 802DD63C 24020100 */ addiu $v0, $zero, 0x100
/* 100730 802DD640 C480001C */ lwc1 $f0, 0x1c($a0)
/* 100734 802DD644 C4820020 */ lwc1 $f2, 0x20($a0)
/* 100738 802DD648 8C880004 */ lw $t0, 4($a0)
/* 10073C 802DD64C C4840024 */ lwc1 $f4, 0x24($a0)
/* 100740 802DD650 31030F00 */ andi $v1, $t0, 0xf00
/* 100744 802DD654 E4800028 */ swc1 $f0, 0x28($a0)
/* 100748 802DD658 E482002C */ swc1 $f2, 0x2c($a0)
/* 10074C 802DD65C 14620010 */ bne $v1, $v0, .L802DD6A0
/* 100750 802DD660 E4840030 */ swc1 $f4, 0x30($a0)
/* 100754 802DD664 310200FF */ andi $v0, $t0, 0xff
/* 100758 802DD668 00021080 */ sll $v0, $v0, 2
/* 10075C 802DD66C 00451021 */ addu $v0, $v0, $a1
/* 100760 802DD670 8C420000 */ lw $v0, ($v0)
/* 100764 802DD674 C4420028 */ lwc1 $f2, 0x28($v0)
/* 100768 802DD678 46020000 */ add.s $f0, $f0, $f2
/* 10076C 802DD67C E4800028 */ swc1 $f0, 0x28($a0)
/* 100770 802DD680 C480002C */ lwc1 $f0, 0x2c($a0)
/* 100774 802DD684 C442002C */ lwc1 $f2, 0x2c($v0)
/* 100778 802DD688 46020000 */ add.s $f0, $f0, $f2
/* 10077C 802DD68C E480002C */ swc1 $f0, 0x2c($a0)
/* 100780 802DD690 C4420030 */ lwc1 $f2, 0x30($v0)
/* 100784 802DD694 46002006 */ mov.s $f0, $f4
/* 100788 802DD698 46020000 */ add.s $f0, $f0, $f2
/* 10078C 802DD69C E4800030 */ swc1 $f0, 0x30($a0)
.L802DD6A0:
/* 100790 802DD6A0 8C820014 */ lw $v0, 0x14($a0)
/* 100794 802DD6A4 2405FFFF */ addiu $a1, $zero, -1
/* 100798 802DD6A8 1045000A */ beq $v0, $a1, .L802DD6D4
/* 10079C 802DD6AC 00021080 */ sll $v0, $v0, 2
/* 1007A0 802DD6B0 00461021 */ addu $v0, $v0, $a2
/* 1007A4 802DD6B4 8C830018 */ lw $v1, 0x18($a0)
/* 1007A8 802DD6B8 14650006 */ bne $v1, $a1, .L802DD6D4
/* 1007AC 802DD6BC 8C420000 */ lw $v0, ($v0)
/* 1007B0 802DD6C0 80420006 */ lb $v0, 6($v0)
/* 1007B4 802DD6C4 10E00003 */ beqz $a3, .L802DD6D4
/* 1007B8 802DD6C8 AC820018 */ sw $v0, 0x18($a0)
/* 1007BC 802DD6CC 50400001 */ beql $v0, $zero, .L802DD6D4
/* 1007C0 802DD6D0 AC870018 */ sw $a3, 0x18($a0)
.L802DD6D4:
/* 1007C4 802DD6D4 03E00008 */ jr $ra
/* 1007C8 802DD6D8 00000000 */ nop

View File

@ -1,134 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_draw_component
/* FFFCC 802DCEDC 27BDFF88 */ addiu $sp, $sp, -0x78
/* FFFD0 802DCEE0 AFB30054 */ sw $s3, 0x54($sp)
/* FFFD4 802DCEE4 0080982D */ daddu $s3, $a0, $zero
/* FFFD8 802DCEE8 AFB1004C */ sw $s1, 0x4c($sp)
/* FFFDC 802DCEEC 00A0882D */ daddu $s1, $a1, $zero
/* FFFE0 802DCEF0 00C0402D */ daddu $t0, $a2, $zero
/* FFFE4 802DCEF4 AFBF0058 */ sw $ra, 0x58($sp)
/* FFFE8 802DCEF8 AFB20050 */ sw $s2, 0x50($sp)
/* FFFEC 802DCEFC AFB00048 */ sw $s0, 0x48($sp)
/* FFFF0 802DCF00 F7B80070 */ sdc1 $f24, 0x70($sp)
/* FFFF4 802DCF04 F7B60068 */ sdc1 $f22, 0x68($sp)
/* FFFF8 802DCF08 F7B40060 */ sdc1 $f20, 0x60($sp)
/* FFFFC 802DCF0C 8E220000 */ lw $v0, ($s1)
/* 100000 802DCF10 10400068 */ beqz $v0, .L802DD0B4
/* 100004 802DCF14 00E0802D */ daddu $s0, $a3, $zero
/* 100008 802DCF18 8E230014 */ lw $v1, 0x14($s1)
/* 10000C 802DCF1C 2402FFFF */ addiu $v0, $zero, -1
/* 100010 802DCF20 10620064 */ beq $v1, $v0, .L802DD0B4
/* 100014 802DCF24 00000000 */ nop
/* 100018 802DCF28 3C02802E */ lui $v0, %hi(D_802DFEA0)
/* 10001C 802DCF2C 2442FEA0 */ addiu $v0, $v0, %lo(D_802DFEA0)
/* 100020 802DCF30 C4540000 */ lwc1 $f20, ($v0)
/* 100024 802DCF34 4680A520 */ cvt.s.w $f20, $f20
/* 100028 802DCF38 4600A20D */ trunc.w.s $f8, $f20
/* 10002C 802DCF3C 44044000 */ mfc1 $a0, $f8
/* 100030 802DCF40 C4560004 */ lwc1 $f22, 4($v0)
/* 100034 802DCF44 4680B5A0 */ cvt.s.w $f22, $f22
/* 100038 802DCF48 4600B20D */ trunc.w.s $f8, $f22
/* 10003C 802DCF4C 44054000 */ mfc1 $a1, $f8
/* 100040 802DCF50 C4580008 */ lwc1 $f24, 8($v0)
/* 100044 802DCF54 4680C620 */ cvt.s.w $f24, $f24
/* 100048 802DCF58 4600C20D */ trunc.w.s $f8, $f24
/* 10004C 802DCF5C 44064000 */ mfc1 $a2, $f8
/* 100050 802DCF60 8502000A */ lh $v0, 0xa($t0)
/* 100054 802DCF64 C6240030 */ lwc1 $f4, 0x30($s1)
/* 100058 802DCF68 85070006 */ lh $a3, 6($t0)
/* 10005C 802DCF6C 44820000 */ mtc1 $v0, $f0
/* 100060 802DCF70 00000000 */ nop
/* 100064 802DCF74 46800020 */ cvt.s.w $f0, $f0
/* 100068 802DCF78 46002100 */ add.s $f4, $f4, $f0
/* 10006C 802DCF7C C7A0008C */ lwc1 $f0, 0x8c($sp)
/* 100070 802DCF80 C6260028 */ lwc1 $f6, 0x28($s1)
/* 100074 802DCF84 46002102 */ mul.s $f4, $f4, $f0
/* 100078 802DCF88 00000000 */ nop
/* 10007C 802DCF8C 85030008 */ lh $v1, 8($t0)
/* 100080 802DCF90 C622002C */ lwc1 $f2, 0x2c($s1)
/* 100084 802DCF94 27A20038 */ addiu $v0, $sp, 0x38
/* 100088 802DCF98 44830000 */ mtc1 $v1, $f0
/* 10008C 802DCF9C 00000000 */ nop
/* 100090 802DCFA0 46800020 */ cvt.s.w $f0, $f0
/* 100094 802DCFA4 46001080 */ add.s $f2, $f2, $f0
/* 100098 802DCFA8 AFA20018 */ sw $v0, 0x18($sp)
/* 10009C 802DCFAC 44870000 */ mtc1 $a3, $f0
/* 1000A0 802DCFB0 00000000 */ nop
/* 1000A4 802DCFB4 46800020 */ cvt.s.w $f0, $f0
/* 1000A8 802DCFB8 46003180 */ add.s $f6, $f6, $f0
/* 1000AC 802DCFBC 27A2003C */ addiu $v0, $sp, 0x3c
/* 1000B0 802DCFC0 AFA2001C */ sw $v0, 0x1c($sp)
/* 1000B4 802DCFC4 44073000 */ mfc1 $a3, $f6
/* 1000B8 802DCFC8 27A20040 */ addiu $v0, $sp, 0x40
/* 1000BC 802DCFCC AFA20020 */ sw $v0, 0x20($sp)
/* 1000C0 802DCFD0 E7A20010 */ swc1 $f2, 0x10($sp)
/* 1000C4 802DCFD4 0C0B7340 */ jal spr_transform_point
/* 1000C8 802DCFD8 E7A40014 */ swc1 $f4, 0x14($sp)
/* 1000CC 802DCFDC 3C030800 */ lui $v1, 0x800
/* 1000D0 802DCFE0 8E240014 */ lw $a0, 0x14($s1)
/* 1000D4 802DCFE4 02631824 */ and $v1, $s3, $v1
/* 1000D8 802DCFE8 00041080 */ sll $v0, $a0, 2
/* 1000DC 802DCFEC 00501021 */ addu $v0, $v0, $s0
/* 1000E0 802DCFF0 8C520000 */ lw $s2, ($v0)
/* 1000E4 802DCFF4 8E300018 */ lw $s0, 0x18($s1)
/* 1000E8 802DCFF8 10600007 */ beqz $v1, .L802DD018
/* 1000EC 802DCFFC 00101880 */ sll $v1, $s0, 2
/* 1000F0 802DD000 3C05802E */ lui $a1, %hi(D_802DF57C)
/* 1000F4 802DD004 8CA5F57C */ lw $a1, %lo(D_802DF57C)($a1)
/* 1000F8 802DD008 0C0B7BA8 */ jal spr_get_player_raster
/* 1000FC 802DD00C 30840FFF */ andi $a0, $a0, 0xfff
/* 100100 802DD010 AE420000 */ sw $v0, ($s2)
/* 100104 802DD014 00101880 */ sll $v1, $s0, 2
.L802DD018:
/* 100108 802DD018 C7A00038 */ lwc1 $f0, 0x38($sp)
/* 10010C 802DD01C 8FA20088 */ lw $v0, 0x88($sp)
/* 100110 802DD020 C7A2003C */ lwc1 $f2, 0x3c($sp)
/* 100114 802DD024 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 100118 802DD028 00621821 */ addu $v1, $v1, $v0
/* 10011C 802DD02C 44050000 */ mfc1 $a1, $f0
/* 100120 802DD030 C6200034 */ lwc1 $f0, 0x34($s1)
/* 100124 802DD034 46800020 */ cvt.s.w $f0, $f0
/* 100128 802DD038 4600A000 */ add.s $f0, $f20, $f0
/* 10012C 802DD03C 8E22004C */ lw $v0, 0x4c($s1)
/* 100130 802DD040 8C630000 */ lw $v1, ($v1)
/* 100134 802DD044 E7A00010 */ swc1 $f0, 0x10($sp)
/* 100138 802DD048 C6200038 */ lwc1 $f0, 0x38($s1)
/* 10013C 802DD04C 46800020 */ cvt.s.w $f0, $f0
/* 100140 802DD050 4600B000 */ add.s $f0, $f22, $f0
/* 100144 802DD054 44061000 */ mfc1 $a2, $f2
/* 100148 802DD058 E7A00014 */ swc1 $f0, 0x14($sp)
/* 10014C 802DD05C C620003C */ lwc1 $f0, 0x3c($s1)
/* 100150 802DD060 46800020 */ cvt.s.w $f0, $f0
/* 100154 802DD064 4600C000 */ add.s $f0, $f24, $f0
/* 100158 802DD068 44072000 */ mfc1 $a3, $f4
/* 10015C 802DD06C E7A00018 */ swc1 $f0, 0x18($sp)
/* 100160 802DD070 C6200040 */ lwc1 $f0, 0x40($s1)
/* 100164 802DD074 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 100168 802DD078 C6200044 */ lwc1 $f0, 0x44($s1)
/* 10016C 802DD07C E7A00020 */ swc1 $f0, 0x20($sp)
/* 100170 802DD080 C6200048 */ lwc1 $f0, 0x48($s1)
/* 100174 802DD084 3C10802E */ lui $s0, %hi(D_802DF540)
/* 100178 802DD088 2610F540 */ addiu $s0, $s0, %lo(D_802DF540)
/* 10017C 802DD08C AE020000 */ sw $v0, ($s0)
/* 100180 802DD090 8FA20090 */ lw $v0, 0x90($sp)
/* 100184 802DD094 0240202D */ daddu $a0, $s2, $zero
/* 100188 802DD098 AFB30028 */ sw $s3, 0x28($sp)
/* 10018C 802DD09C AFA3002C */ sw $v1, 0x2c($sp)
/* 100190 802DD0A0 AFA20030 */ sw $v0, 0x30($sp)
/* 100194 802DD0A4 0C0B723D */ jal spr_appendGfx_component
/* 100198 802DD0A8 E7A00024 */ swc1 $f0, 0x24($sp)
/* 10019C 802DD0AC 8E020000 */ lw $v0, ($s0)
/* 1001A0 802DD0B0 AE22004C */ sw $v0, 0x4c($s1)
.L802DD0B4:
/* 1001A4 802DD0B4 8FBF0058 */ lw $ra, 0x58($sp)
/* 1001A8 802DD0B8 8FB30054 */ lw $s3, 0x54($sp)
/* 1001AC 802DD0BC 8FB20050 */ lw $s2, 0x50($sp)
/* 1001B0 802DD0C0 8FB1004C */ lw $s1, 0x4c($sp)
/* 1001B4 802DD0C4 8FB00048 */ lw $s0, 0x48($sp)
/* 1001B8 802DD0C8 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 1001BC 802DD0CC D7B60068 */ ldc1 $f22, 0x68($sp)
/* 1001C0 802DD0D0 D7B40060 */ ldc1 $f20, 0x60($sp)
/* 1001C4 802DD0D4 03E00008 */ jr $ra
/* 1001C8 802DD0D8 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -95,9 +95,9 @@ glabel spr_draw_npc_sprite
/* 101614 802DE524 00091080 */ sll $v0, $t1, 2
/* 101618 802DE528 00491021 */ addu $v0, $v0, $t1
/* 10161C 802DE52C 00021080 */ sll $v0, $v0, 2
/* 101620 802DE530 3C10802E */ lui $s0, %hi(D_802DFA4C)
/* 101620 802DE530 3C10802E */ lui $s0, %hi(D_802DFA48 + 0x4)
/* 101624 802DE534 02028021 */ addu $s0, $s0, $v0
/* 101628 802DE538 8E10FA4C */ lw $s0, %lo(D_802DFA4C)($s0)
/* 101628 802DE538 8E10FA4C */ lw $s0, %lo(D_802DFA48 + 0x4)($s0)
/* 10162C 802DE53C 3C022000 */ lui $v0, 0x2000
/* 101630 802DE540 00821024 */ and $v0, $a0, $v0
/* 101634 802DE544 54400001 */ bnel $v0, $zero, .L802DE54C

View File

@ -18,9 +18,9 @@ glabel spr_draw_player_sprite
/* 100D64 802DDC74 AFB10024 */ sw $s1, 0x24($sp)
/* 100D68 802DDC78 AFB00020 */ sw $s0, 0x20($sp)
/* 100D6C 802DDC7C F7B40048 */ sdc1 $f20, 0x48($sp)
/* 100D70 802DDC80 3C09802E */ lui $t1, %hi(D_802DF58C)
/* 100D70 802DDC80 3C09802E */ lui $t1, %hi(spr_playerCurrentAnimInfo + 0x4)
/* 100D74 802DDC84 01224821 */ addu $t1, $t1, $v0
/* 100D78 802DDC88 8D29F58C */ lw $t1, %lo(D_802DF58C)($t1)
/* 100D78 802DDC88 8D29F58C */ lw $t1, %lo(spr_playerCurrentAnimInfo + 0x4)($t1)
/* 100D7C 802DDC8C 8FB70060 */ lw $s7, 0x60($sp)
/* 100D80 802DDC90 11230080 */ beq $t1, $v1, .L802DDE94
/* 100D84 802DDC94 0000102D */ daddu $v0, $zero, $zero

View File

@ -1,99 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_free_sprite
/* 1016D8 802DE5E8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1016DC 802DE5EC AFB20018 */ sw $s2, 0x18($sp)
/* 1016E0 802DE5F0 0080902D */ daddu $s2, $a0, $zero
/* 1016E4 802DE5F4 3C03802E */ lui $v1, %hi(D_802DFA48)
/* 1016E8 802DE5F8 2463FA48 */ addiu $v1, $v1, %lo(D_802DFA48)
/* 1016EC 802DE5FC 00121080 */ sll $v0, $s2, 2
/* 1016F0 802DE600 00521021 */ addu $v0, $v0, $s2
/* 1016F4 802DE604 00021080 */ sll $v0, $v0, 2
/* 1016F8 802DE608 00432821 */ addu $a1, $v0, $v1
/* 1016FC 802DE60C AFBF0024 */ sw $ra, 0x24($sp)
/* 101700 802DE610 AFB40020 */ sw $s4, 0x20($sp)
/* 101704 802DE614 AFB3001C */ sw $s3, 0x1c($sp)
/* 101708 802DE618 AFB10014 */ sw $s1, 0x14($sp)
/* 10170C 802DE61C AFB00010 */ sw $s0, 0x10($sp)
/* 101710 802DE620 8CB10000 */ lw $s1, ($a1)
/* 101714 802DE624 12200003 */ beqz $s1, .L802DE634
/* 101718 802DE628 2A2200EA */ slti $v0, $s1, 0xea
/* 10171C 802DE62C 14400003 */ bnez $v0, .L802DE63C
/* 101720 802DE630 00000000 */ nop
.L802DE634:
/* 101724 802DE634 080B79CA */ j .L802DE728
/* 101728 802DE638 0240102D */ daddu $v0, $s2, $zero
.L802DE63C:
/* 10172C 802DE63C 3C03802E */ lui $v1, %hi(spr_npcSpriteInstanceCount)
/* 101730 802DE640 2463F958 */ addiu $v1, $v1, %lo(spr_npcSpriteInstanceCount)
/* 101734 802DE644 02231821 */ addu $v1, $s1, $v1
/* 101738 802DE648 90620000 */ lbu $v0, ($v1)
/* 10173C 802DE64C 2442FFFF */ addiu $v0, $v0, -1
/* 101740 802DE650 A0620000 */ sb $v0, ($v1)
/* 101744 802DE654 8CB00004 */ lw $s0, 4($a1)
/* 101748 802DE658 2403FFFF */ addiu $v1, $zero, -1
/* 10174C 802DE65C 8E020000 */ lw $v0, ($s0)
/* 101750 802DE660 8CB40008 */ lw $s4, 8($a1)
/* 101754 802DE664 10430009 */ beq $v0, $v1, .L802DE68C
/* 101758 802DE668 00121080 */ sll $v0, $s2, 2
/* 10175C 802DE66C 0060982D */ daddu $s3, $v1, $zero
.L802DE670:
/* 101760 802DE670 8E020000 */ lw $v0, ($s0)
/* 101764 802DE674 9044004F */ lbu $a0, 0x4f($v0)
/* 101768 802DE678 0C04EA15 */ jal func_8013A854
/* 10176C 802DE67C 26100004 */ addiu $s0, $s0, 4
/* 101770 802DE680 8E020000 */ lw $v0, ($s0)
/* 101774 802DE684 1453FFFA */ bne $v0, $s3, .L802DE670
/* 101778 802DE688 00121080 */ sll $v0, $s2, 2
.L802DE68C:
/* 10177C 802DE68C 00521021 */ addu $v0, $v0, $s2
/* 101780 802DE690 00021080 */ sll $v0, $v0, 2
/* 101784 802DE694 3C03802E */ lui $v1, %hi(spr_npcSpriteInstanceCount)
/* 101788 802DE698 00711821 */ addu $v1, $v1, $s1
/* 10178C 802DE69C 9063F958 */ lbu $v1, %lo(spr_npcSpriteInstanceCount)($v1)
/* 101790 802DE6A0 3C10802E */ lui $s0, %hi(D_802DFA4C)
/* 101794 802DE6A4 02028021 */ addu $s0, $s0, $v0
/* 101798 802DE6A8 8E10FA4C */ lw $s0, %lo(D_802DFA4C)($s0)
/* 10179C 802DE6AC 14600008 */ bnez $v1, .L802DE6D0
/* 1017A0 802DE6B0 00111080 */ sll $v0, $s1, 2
/* 1017A4 802DE6B4 3C01802E */ lui $at, %hi(spr_npcSprites)
/* 1017A8 802DE6B8 00220821 */ addu $at, $at, $v0
/* 1017AC 802DE6BC AC20F5B0 */ sw $zero, %lo(spr_npcSprites)($at)
/* 1017B0 802DE6C0 3C048035 */ lui $a0, %hi(gSpriteHeapPtr)
/* 1017B4 802DE6C4 2484F800 */ addiu $a0, $a0, %lo(gSpriteHeapPtr)
/* 1017B8 802DE6C8 0C00A487 */ jal _heap_free
/* 1017BC 802DE6CC 0280282D */ daddu $a1, $s4, $zero
.L802DE6D0:
/* 1017C0 802DE6D0 3C02802E */ lui $v0, %hi(spr_allocateBtlComponentsOnWorldHeap)
/* 1017C4 802DE6D4 8C42F524 */ lw $v0, %lo(spr_allocateBtlComponentsOnWorldHeap)($v0)
/* 1017C8 802DE6D8 3C048035 */ lui $a0, %hi(gSpriteHeapPtr)
/* 1017CC 802DE6DC 2484F800 */ addiu $a0, $a0, %lo(gSpriteHeapPtr)
/* 1017D0 802DE6E0 10400003 */ beqz $v0, .L802DE6F0
/* 1017D4 802DE6E4 00000000 */ nop
/* 1017D8 802DE6E8 3C048030 */ lui $a0, %hi(heap_generalHead)
/* 1017DC 802DE6EC 2484B800 */ addiu $a0, $a0, %lo(heap_generalHead)
.L802DE6F0:
/* 1017E0 802DE6F0 0C00A487 */ jal _heap_free
/* 1017E4 802DE6F4 0200282D */ daddu $a1, $s0, $zero
/* 1017E8 802DE6F8 0000102D */ daddu $v0, $zero, $zero
/* 1017EC 802DE6FC 3C03802E */ lui $v1, %hi(D_802DFA48)
/* 1017F0 802DE700 2463FA48 */ addiu $v1, $v1, %lo(D_802DFA48)
/* 1017F4 802DE704 00122080 */ sll $a0, $s2, 2
/* 1017F8 802DE708 00922021 */ addu $a0, $a0, $s2
/* 1017FC 802DE70C 00042080 */ sll $a0, $a0, 2
/* 101800 802DE710 00832021 */ addu $a0, $a0, $v1
/* 101804 802DE714 2403FFFF */ addiu $v1, $zero, -1
/* 101808 802DE718 AC800000 */ sw $zero, ($a0)
/* 10180C 802DE71C AC800004 */ sw $zero, 4($a0)
/* 101810 802DE720 AC800008 */ sw $zero, 8($a0)
/* 101814 802DE724 AC83000C */ sw $v1, 0xc($a0)
.L802DE728:
/* 101818 802DE728 8FBF0024 */ lw $ra, 0x24($sp)
/* 10181C 802DE72C 8FB40020 */ lw $s4, 0x20($sp)
/* 101820 802DE730 8FB3001C */ lw $s3, 0x1c($sp)
/* 101824 802DE734 8FB20018 */ lw $s2, 0x18($sp)
/* 101828 802DE738 8FB10014 */ lw $s1, 0x14($sp)
/* 10182C 802DE73C 8FB00010 */ lw $s0, 0x10($sp)
/* 101830 802DE740 03E00008 */ jr $ra
/* 101834 802DE744 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_get_cached_quad
/* FEE7C 802DBD8C 3C02802E */ lui $v0, %hi(D_802DFE48)
/* FEE80 802DBD90 2442FE48 */ addiu $v0, $v0, %lo(D_802DFE48)
/* FEE84 802DBD94 00041880 */ sll $v1, $a0, 2
/* FEE88 802DBD98 00621821 */ addu $v1, $v1, $v0
/* FEE8C 802DBD9C 8C620000 */ lw $v0, ($v1)
/* FEE90 802DBDA0 3442001F */ ori $v0, $v0, 0x1f
/* FEE94 802DBDA4 AC620000 */ sw $v0, ($v1)
/* FEE98 802DBDA8 3C02802E */ lui $v0, %hi(D_802DFE44)
/* FEE9C 802DBDAC 8C42FE44 */ lw $v0, %lo(D_802DFE44)($v0)
/* FEEA0 802DBDB0 00042180 */ sll $a0, $a0, 6
/* FEEA4 802DBDB4 03E00008 */ jr $ra
/* FEEA8 802DBDB8 00441021 */ addu $v0, $v0, $a0

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_get_player_raster_info
/* 101134 802DE044 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 101138 802DE048 AFB00010 */ sw $s0, 0x10($sp)
/* 10113C 802DE04C 0080802D */ daddu $s0, $a0, $zero
/* 101140 802DE050 24A5FFFF */ addiu $a1, $a1, -1
/* 101144 802DE054 00051080 */ sll $v0, $a1, 2
/* 101148 802DE058 AFBF0014 */ sw $ra, 0x14($sp)
/* 10114C 802DE05C 3C04802E */ lui $a0, %hi(spr_playerSprites)
/* 101150 802DE060 00822021 */ addu $a0, $a0, $v0
/* 101154 802DE064 8C84F548 */ lw $a0, %lo(spr_playerSprites)($a0)
/* 101158 802DE068 10800011 */ beqz $a0, .L802DE0B0
/* 10115C 802DE06C 00061080 */ sll $v0, $a2, 2
/* 101160 802DE070 8C830000 */ lw $v1, ($a0)
/* 101164 802DE074 00431021 */ addu $v0, $v0, $v1
/* 101168 802DE078 8C430000 */ lw $v1, ($v0)
/* 10116C 802DE07C 8C840004 */ lw $a0, 4($a0)
/* 101170 802DE080 90620004 */ lbu $v0, 4($v1)
/* 101174 802DE084 AE020008 */ sw $v0, 8($s0)
/* 101178 802DE088 90620005 */ lbu $v0, 5($v1)
/* 10117C 802DE08C AE02000C */ sw $v0, 0xc($s0)
/* 101180 802DE090 80620006 */ lb $v0, 6($v1)
/* 101184 802DE094 00021080 */ sll $v0, $v0, 2
/* 101188 802DE098 00441021 */ addu $v0, $v0, $a0
/* 10118C 802DE09C 8C420000 */ lw $v0, ($v0)
/* 101190 802DE0A0 00C0202D */ daddu $a0, $a2, $zero
/* 101194 802DE0A4 0C0B7BA8 */ jal spr_get_player_raster
/* 101198 802DE0A8 AE020004 */ sw $v0, 4($s0)
/* 10119C 802DE0AC AE020000 */ sw $v0, ($s0)
.L802DE0B0:
/* 1011A0 802DE0B0 8FBF0014 */ lw $ra, 0x14($sp)
/* 1011A4 802DE0B4 8FB00010 */ lw $s0, 0x10($sp)
/* 1011A8 802DE0B8 03E00008 */ jr $ra
/* 1011AC 802DE0BC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,94 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_get_quad_for_size
/* FEF68 802DBE78 27BDFFE0 */ addiu $sp, $sp, -0x20
/* FEF6C 802DBE7C AFB10014 */ sw $s1, 0x14($sp)
/* FEF70 802DBE80 00A0882D */ daddu $s1, $a1, $zero
/* FEF74 802DBE84 AFB20018 */ sw $s2, 0x18($sp)
/* FEF78 802DBE88 00C0902D */ daddu $s2, $a2, $zero
/* FEF7C 802DBE8C 02320018 */ mult $s1, $s2
/* FEF80 802DBE90 0080402D */ daddu $t0, $a0, $zero
/* FEF84 802DBE94 AFBF001C */ sw $ra, 0x1c($sp)
/* FEF88 802DBE98 00001012 */ mflo $v0
/* FEF8C 802DBE9C 00021FC2 */ srl $v1, $v0, 0x1f
/* FEF90 802DBEA0 00431021 */ addu $v0, $v0, $v1
/* FEF94 802DBEA4 00021043 */ sra $v0, $v0, 1
/* FEF98 802DBEA8 28420801 */ slti $v0, $v0, 0x801
/* FEF9C 802DBEAC 1040003D */ beqz $v0, .L802DBFA4
/* FEFA0 802DBEB0 AFB00010 */ sw $s0, 0x10($sp)
/* FEFA4 802DBEB4 00111600 */ sll $v0, $s1, 0x18
/* FEFA8 802DBEB8 00121C00 */ sll $v1, $s2, 0x10
/* FEFAC 802DBEBC 00432821 */ addu $a1, $v0, $v1
/* FEFB0 802DBEC0 8D040000 */ lw $a0, ($t0)
/* FEFB4 802DBEC4 2402FFFF */ addiu $v0, $zero, -1
/* FEFB8 802DBEC8 1082000C */ beq $a0, $v0, .L802DBEFC
/* FEFBC 802DBECC 00041080 */ sll $v0, $a0, 2
/* FEFC0 802DBED0 3C01802E */ lui $at, %hi(D_802DFE48)
/* FEFC4 802DBED4 00220821 */ addu $at, $at, $v0
/* FEFC8 802DBED8 8C22FE48 */ lw $v0, %lo(D_802DFE48)($at)
/* FEFCC 802DBEDC 3C03FFFF */ lui $v1, 0xffff
/* FEFD0 802DBEE0 00431024 */ and $v0, $v0, $v1
/* FEFD4 802DBEE4 54A20006 */ bnel $a1, $v0, .L802DBF00
/* FEFD8 802DBEE8 0000202D */ daddu $a0, $zero, $zero
/* FEFDC 802DBEEC 0C0B6F63 */ jal spr_get_cached_quad
/* FEFE0 802DBEF0 00000000 */ nop
/* FEFE4 802DBEF4 080B6FEA */ j .L802DBFA8
/* FEFE8 802DBEF8 00000000 */ nop
.L802DBEFC:
/* FEFEC 802DBEFC 0000202D */ daddu $a0, $zero, $zero
.L802DBF00:
/* FEFF0 802DBF00 3C06FFFF */ lui $a2, 0xffff
/* FEFF4 802DBF04 3C03802E */ lui $v1, %hi(D_802DFE48)
/* FEFF8 802DBF08 2463FE48 */ addiu $v1, $v1, %lo(D_802DFE48)
.L802DBF0C:
/* FEFFC 802DBF0C 8C620000 */ lw $v0, ($v1)
/* FF000 802DBF10 00461024 */ and $v0, $v0, $a2
/* FF004 802DBF14 10A2001F */ beq $a1, $v0, .L802DBF94
/* FF008 802DBF18 00000000 */ nop
/* FF00C 802DBF1C 24840001 */ addiu $a0, $a0, 1
/* FF010 802DBF20 28820016 */ slti $v0, $a0, 0x16
/* FF014 802DBF24 1440FFF9 */ bnez $v0, .L802DBF0C
/* FF018 802DBF28 24630004 */ addiu $v1, $v1, 4
/* FF01C 802DBF2C 0000202D */ daddu $a0, $zero, $zero
/* FF020 802DBF30 2406FFFF */ addiu $a2, $zero, -1
/* FF024 802DBF34 3C07802E */ lui $a3, %hi(D_802DFE48)
/* FF028 802DBF38 24E7FE48 */ addiu $a3, $a3, %lo(D_802DFE48)
/* FF02C 802DBF3C 00E0182D */ daddu $v1, $a3, $zero
.L802DBF40:
/* FF030 802DBF40 8C620000 */ lw $v0, ($v1)
/* FF034 802DBF44 10460006 */ beq $v0, $a2, .L802DBF60
/* FF038 802DBF48 24020016 */ addiu $v0, $zero, 0x16
/* FF03C 802DBF4C 24840001 */ addiu $a0, $a0, 1
/* FF040 802DBF50 28820016 */ slti $v0, $a0, 0x16
/* FF044 802DBF54 1440FFFA */ bnez $v0, .L802DBF40
/* FF048 802DBF58 24630004 */ addiu $v1, $v1, 4
/* FF04C 802DBF5C 24020016 */ addiu $v0, $zero, 0x16
.L802DBF60:
/* FF050 802DBF60 10820010 */ beq $a0, $v0, .L802DBFA4
/* FF054 802DBF64 00041080 */ sll $v0, $a0, 2
/* FF058 802DBF68 00471021 */ addu $v0, $v0, $a3
/* FF05C 802DBF6C AD040000 */ sw $a0, ($t0)
/* FF060 802DBF70 0C0B6F63 */ jal spr_get_cached_quad
/* FF064 802DBF74 AC450000 */ sw $a1, ($v0)
/* FF068 802DBF78 0040802D */ daddu $s0, $v0, $zero
/* FF06C 802DBF7C 0200202D */ daddu $a0, $s0, $zero
/* FF070 802DBF80 0220282D */ daddu $a1, $s1, $zero
/* FF074 802DBF84 0C0B6F6F */ jal spr_make_quad_for_size
/* FF078 802DBF88 0240302D */ daddu $a2, $s2, $zero
/* FF07C 802DBF8C 080B6FEA */ j .L802DBFA8
/* FF080 802DBF90 0200102D */ daddu $v0, $s0, $zero
.L802DBF94:
/* FF084 802DBF94 0C0B6F63 */ jal spr_get_cached_quad
/* FF088 802DBF98 AD040000 */ sw $a0, ($t0)
/* FF08C 802DBF9C 080B6FEA */ j .L802DBFA8
/* FF090 802DBFA0 00000000 */ nop
.L802DBFA4:
/* FF094 802DBFA4 0000102D */ daddu $v0, $zero, $zero
.L802DBFA8:
/* FF098 802DBFA8 8FBF001C */ lw $ra, 0x1c($sp)
/* FF09C 802DBFAC 8FB20018 */ lw $s2, 0x18($sp)
/* FF0A0 802DBFB0 8FB10014 */ lw $s1, 0x14($sp)
/* FF0A4 802DBFB4 8FB00010 */ lw $s0, 0x10($sp)
/* FF0A8 802DBFB8 03E00008 */ jr $ra
/* FF0AC 802DBFBC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -86,9 +86,9 @@ glabel spr_load_npc_sprite
/* 101308 802DE218 00121080 */ sll $v0, $s2, 2
/* 10130C 802DE21C 00521021 */ addu $v0, $v0, $s2
/* 101310 802DE220 00021080 */ sll $v0, $v0, 2
/* 101314 802DE224 3C01802E */ lui $at, %hi(D_802DFA4C)
/* 101314 802DE224 3C01802E */ lui $at, %hi(D_802DFA48 + 0x4)
/* 101318 802DE228 00220821 */ addu $at, $at, $v0
/* 10131C 802DE22C AC31FA4C */ sw $s1, %lo(D_802DFA4C)($at)
/* 10131C 802DE22C AC31FA4C */ sw $s1, %lo(D_802DFA48 + 0x4)($at)
/* 101320 802DE230 8E230000 */ lw $v1, ($s1)
/* 101324 802DE234 2402FFFF */ addiu $v0, $zero, -1
/* 101328 802DE238 10620009 */ beq $v1, $v0, .L802DE260

View File

@ -1,52 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spr_make_quad_for_size
/* FEEAC 802DBDBC 0080382D */ daddu $a3, $a0, $zero
/* FEEB0 802DBDC0 00A0402D */ daddu $t0, $a1, $zero
/* FEEB4 802DBDC4 00E0182D */ daddu $v1, $a3, $zero
/* FEEB8 802DBDC8 3C02802E */ lui $v0, %hi(spr_defaultQuad)
/* FEEBC 802DBDCC 2442F390 */ addiu $v0, $v0, %lo(spr_defaultQuad)
/* FEEC0 802DBDD0 24440040 */ addiu $a0, $v0, 0x40
.L802DBDD4:
/* FEEC4 802DBDD4 8C490000 */ lw $t1, ($v0)
/* FEEC8 802DBDD8 8C4A0004 */ lw $t2, 4($v0)
/* FEECC 802DBDDC 8C4B0008 */ lw $t3, 8($v0)
/* FEED0 802DBDE0 8C4C000C */ lw $t4, 0xc($v0)
/* FEED4 802DBDE4 AC690000 */ sw $t1, ($v1)
/* FEED8 802DBDE8 AC6A0004 */ sw $t2, 4($v1)
/* FEEDC 802DBDEC AC6B0008 */ sw $t3, 8($v1)
/* FEEE0 802DBDF0 AC6C000C */ sw $t4, 0xc($v1)
/* FEEE4 802DBDF4 24420010 */ addiu $v0, $v0, 0x10
/* FEEE8 802DBDF8 1444FFF6 */ bne $v0, $a0, .L802DBDD4
/* FEEEC 802DBDFC 24630010 */ addiu $v1, $v1, 0x10
/* FEEF0 802DBE00 00082023 */ negu $a0, $t0
/* FEEF4 802DBE04 000417C2 */ srl $v0, $a0, 0x1f
/* FEEF8 802DBE08 00822021 */ addu $a0, $a0, $v0
/* FEEFC 802DBE0C 00042043 */ sra $a0, $a0, 1
/* FEF00 802DBE10 24052000 */ addiu $a1, $zero, 0x2000
/* FEF04 802DBE14 A4E40000 */ sh $a0, ($a3)
/* FEF08 802DBE18 A4E60002 */ sh $a2, 2($a3)
/* FEF0C 802DBE1C A4E50008 */ sh $a1, 8($a3)
/* FEF10 802DBE20 A4E5000A */ sh $a1, 0xa($a3)
/* FEF14 802DBE24 24E70010 */ addiu $a3, $a3, 0x10
/* FEF18 802DBE28 00081FC2 */ srl $v1, $t0, 0x1f
/* FEF1C 802DBE2C 01031821 */ addu $v1, $t0, $v1
/* FEF20 802DBE30 00031843 */ sra $v1, $v1, 1
/* FEF24 802DBE34 25020100 */ addiu $v0, $t0, 0x100
/* FEF28 802DBE38 00021140 */ sll $v0, $v0, 5
/* FEF2C 802DBE3C A4E30000 */ sh $v1, ($a3)
/* FEF30 802DBE40 A4E60002 */ sh $a2, 2($a3)
/* FEF34 802DBE44 A4E20008 */ sh $v0, 8($a3)
/* FEF38 802DBE48 A4E5000A */ sh $a1, 0xa($a3)
/* FEF3C 802DBE4C 24E70010 */ addiu $a3, $a3, 0x10
/* FEF40 802DBE50 A4E20008 */ sh $v0, 8($a3)
/* FEF44 802DBE54 24C20100 */ addiu $v0, $a2, 0x100
/* FEF48 802DBE58 00021140 */ sll $v0, $v0, 5
/* FEF4C 802DBE5C A4E30000 */ sh $v1, ($a3)
/* FEF50 802DBE60 A4E2000A */ sh $v0, 0xa($a3)
/* FEF54 802DBE64 24E70010 */ addiu $a3, $a3, 0x10
/* FEF58 802DBE68 A4E40000 */ sh $a0, ($a3)
/* FEF5C 802DBE6C A4E50008 */ sh $a1, 8($a3)
/* FEF60 802DBE70 03E00008 */ jr $ra
/* FEF64 802DBE74 A4E2000A */ sh $v0, 0xa($a3)

View File

@ -66,9 +66,9 @@ glabel spr_update_sprite
.L802DE398:
/* 101488 802DE398 00521021 */ addu $v0, $v0, $s2
/* 10148C 802DE39C 00021080 */ sll $v0, $v0, 2
/* 101490 802DE3A0 3C01802E */ lui $at, %hi(D_802DFA58)
/* 101490 802DE3A0 3C01802E */ lui $at, %hi(D_802DFA48 + 0x10)
/* 101494 802DE3A4 00220821 */ addu $at, $at, $v0
/* 101498 802DE3A8 8C22FA58 */ lw $v0, %lo(D_802DFA58)($at)
/* 101498 802DE3A8 8C22FA58 */ lw $v0, %lo(D_802DFA48 + 0x10)($at)
/* 10149C 802DE3AC 8FBF0038 */ lw $ra, 0x38($sp)
/* 1014A0 802DE3B0 8FB70034 */ lw $s7, 0x34($sp)
/* 1014A4 802DE3B4 8FB60030 */ lw $s6, 0x30($sp)

File diff suppressed because it is too large Load Diff

View File

@ -27310,13 +27310,9 @@ spr_playerSprites = 0x802DF548; // type:data
D_802DF57C = 0x802DF57C; // type:data
spr_playerMaxComponents = 0x802DF580; // type:data
spr_playerCurrentAnimInfo = 0x802DF588; // type:data
D_802DF58C = 0x802DF58C; // type:data
D_802DF590 = 0x802DF590; // type:data
spr_npcSprites = 0x802DF5B0; // type:data
spr_npcSpriteInstanceCount = 0x802DF958; // type:data
D_802DFA48 = 0x802DFA48; // type:data
D_802DFA4C = 0x802DFA4C; // type:data
D_802DFA58 = 0x802DFA58; // type:data
D_802DFE44 = 0x802DFE44; // type:data
D_802DFE48 = 0x802DFE48; // type:data
D_802DFE9C = 0x802DFE9C; // type:data

View File

@ -1137,13 +1137,9 @@ spr_playerSprites = 0x802DF548;
D_802DF57C = 0x802DF57C;
spr_playerMaxComponents = 0x802DF580;
spr_playerCurrentAnimInfo = 0x802DF588;
D_802DF58C = 0x802DF58C;
D_802DF590 = 0x802DF590;
spr_npcSprites = 0x802DF5B0;
spr_npcSpriteInstanceCount = 0x802DF958;
D_802DFA48 = 0x802DFA48;
D_802DFA4C = 0x802DFA4C;
D_802DFA58 = 0x802DFA58;
D_802DFE44 = 0x802DFE44;
D_802DFE48 = 0x802DFE48;
D_802DFE9C = 0x802DFE9C;