mirror of
https://gitlab.com/kholdfuzion/goldeneye_src
synced 2026-08-24 23:15:59 -04:00
whoops
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
This is a working Goldeneye 007 decompilation!
|
||||
|
||||
## Setup
|
||||
The only requirements for Ubuntu 16.04 and 18.04 should be
|
||||
```
|
||||
sudo apt install binutils-mips-linux-gnu make
|
||||
```
|
||||
Make sure you cloned the repo with git otherwise it won't build!!
|
||||
|
||||
Place a USA rom in project root named
|
||||
```
|
||||
baserom.u.z64
|
||||
```
|
||||
followed by
|
||||
```
|
||||
./extract_baserom.u.sh && make
|
||||
```
|
||||
For J support also place a baserom.j.z64 in root and run:
|
||||
```
|
||||
./extract_baserom.u.sh && ./extract_diff.j.sh && make VERSION=JP
|
||||
```
|
||||
|
||||
If you are upgrading from an old repo, run:
|
||||
```
|
||||
./clean_baserom.sh && ./extract_baserom.u.sh && make clean && make
|
||||
```
|
||||
|
||||
The extract and clean scripts support switches:
|
||||
```
|
||||
name_baserom.sh files
|
||||
name_baserom.sh images
|
||||
```
|
||||
to do just one or the other, default is both
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
goldeneye_src
|
||||
├── assets: game assets
|
||||
│ ├── font: font data
|
||||
│ ├── images: image data
|
||||
│ │ └── split: split image data
|
||||
│ ├── music: music data
|
||||
│ ├── obseg: animation data
|
||||
│ │ ├── bg: bg data
|
||||
│ │ ├── brief: briefing data
|
||||
│ │ ├── chr: c model data
|
||||
│ │ ├── gun: g model data
|
||||
│ │ ├── prop: p model data
|
||||
│ │ ├── setup: setup data
|
||||
│ │ ├── stan: stan data
|
||||
│ │ └── text: text data
|
||||
│ └── ramrom: demo data
|
||||
├── bin: files that haven't been touched
|
||||
├── build: output directory
|
||||
├── ge007_libultra: to be merged with libreultra
|
||||
├── include: header files
|
||||
├── lib: SDK library code
|
||||
├── notes: documentation
|
||||
├── src: C source code for game
|
||||
│ ├── game: core ge specific code 0x7f000000 range
|
||||
│ ├── libultra: currently used libultra.s
|
||||
│ └── inflate: statically linked initial decompression code
|
||||
└── tools: build tools
|
||||
```
|
||||
|
||||
This decompilation was only made possible thanks to many awesome 00 Agents who will be revealed only if they wish.
|
||||
|
||||
GE and PD documentation made by Zoinkity
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$#" -ne "2" ];
|
||||
then
|
||||
echo "usage: $0 old_name new_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Replace $1 with $2?"
|
||||
read
|
||||
grep -rl "$1" asm/*.s asm/code/*.s asm/libultra/*.s asm/game/*.s asm/rarezip/*.s src/*.c src/*.h include/*.h undefined_syms.txt sym_bss.txt notes/ge007.u.yaml include/globals.inc | xargs sed -i "s/\b$1\b/$2/g"
|
||||
@@ -0,0 +1,69 @@
|
||||
.rsp
|
||||
|
||||
.create CODE_FILE, 0x04001000
|
||||
|
||||
// rspboot microcode by SGI
|
||||
// this initalizes the RSP and gets it ready to load the next microcode.
|
||||
|
||||
j rdpcheck
|
||||
addi at, zero, 0x0fc0
|
||||
ucodeload:
|
||||
lw v0, 0x0010(at)
|
||||
addi v1, zero, 0x0f7f
|
||||
addi a3, zero, 0x1080
|
||||
mtc0 a3, SP_MEM_ADDR
|
||||
mtc0 v0, SP_DRAM_ADDR
|
||||
mtc0 v1, SP_RD_LEN
|
||||
ucodeloadloop:
|
||||
mfc0 a0, SP_DMA_BUSY
|
||||
bne a0, zero, ucodeloadloop
|
||||
nop
|
||||
jal checkyield
|
||||
nop
|
||||
jr a3
|
||||
mtc0 zero, SP_SEMAPHORE
|
||||
checkyield:
|
||||
mfc0 t0, SP_STATUS
|
||||
andi t0, t0, 0x0080
|
||||
bne t0, zero, Yield
|
||||
nop
|
||||
jr ra
|
||||
Yield:
|
||||
mtc0 zero, SP_SEMAPHORE
|
||||
ori t0, zero, 0x5200
|
||||
mtc0 t0, SP_STATUS
|
||||
break
|
||||
nop
|
||||
rdpcheck:
|
||||
lw v0, 0x0004(at)
|
||||
andi v0, v0, 0x0002
|
||||
beq v0, zero, rdpwait
|
||||
nop
|
||||
jal checkyield
|
||||
nop
|
||||
mfc0 v0, DPC_STATUS
|
||||
andi v0, v0, 0x0100
|
||||
bgtz v0, checkyield
|
||||
nop
|
||||
rdpwait:
|
||||
lw v0, 0x0018(at)
|
||||
lw v1, 0x001c(at)
|
||||
addi v1, v1, -0x0001
|
||||
DMEMLoad:
|
||||
mfc0 s8, SP_DMA_FULL
|
||||
bne s8, zero, DMEMLoad
|
||||
nop
|
||||
mtc0 zero, SP_MEM_ADDR
|
||||
mtc0 v0, SP_DRAM_ADDR
|
||||
mtc0 v1, SP_RD_LEN
|
||||
dmaloop:
|
||||
mfc0 a0, SP_DMA_BUSY
|
||||
bne a0, zero, dmaloop
|
||||
nop
|
||||
jal checkyield
|
||||
nop
|
||||
j ucodeload
|
||||
nop
|
||||
nop
|
||||
|
||||
.close // CODE_FILE
|
||||
@@ -0,0 +1,40 @@
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.section .text, "ax"
|
||||
.include "macros.inc"
|
||||
|
||||
# zoinkity note:
|
||||
# 1000 80000400 memset (blanks) 8005D2E0 - 8008E360, sets SP->803AB410, JR to 80000450
|
||||
# technically, this is used in bootcode and used prior to TLB registration
|
||||
|
||||
glabel _start
|
||||
/* 001000 80000400 3C088006 */ lui $t0, %hi(_bssSegmentStart)
|
||||
/* 001004 80000404 3C090003 */ lui $t1, %hi(_bssSegmentSize) # lui $t1, 3
|
||||
/* 001008 80000408 2508D2E0 */ addiu $t0, %lo(_bssSegmentStart) # addiu $t0, $t0, -0x2d20
|
||||
/* 00100C 8000040C 35291080 */ ori $t1, %lo(_bssSegmentSize) # ori $t1, $t1, 0x1080
|
||||
.L80000410:
|
||||
/* 001010 80000410 2129FFF8 */ addi $t1, $t1, -8
|
||||
/* 001014 80000414 AD000000 */ sw $zero, ($t0)
|
||||
/* 001018 80000418 AD000004 */ sw $zero, 4($t0)
|
||||
/* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410
|
||||
/* 001020 80000420 21080008 */ addi $t0, $t0, 8
|
||||
/* 001024 80000424 3C0A8000 */ lui $t2, %hi(_boot_function)
|
||||
/* 001028 80000428 3C1D803B */ lui $sp, %hi(sp_rmon) # $sp, 0x803b
|
||||
/* 00102C 8000042C 254A0450 */ addiu $t2, %lo(_boot_function) # addiu $t2, $t2, 0x450
|
||||
/* 001030 80000430 01400008 */ jr $t2
|
||||
/* 001034 80000434 27BDB410 */ addiu $sp, %lo(sp_rmon) # addiu $sp, $sp, -0x4bf0
|
||||
/* 001038 80000438 00000000 */ nop
|
||||
/* 00103C 8000043C 00000000 */ nop
|
||||
/* 001040 80000440 00000000 */ nop
|
||||
/* 001044 80000444 00000000 */ nop
|
||||
/* 001048 80000448 00000000 */ nop
|
||||
/* 00104C 8000044C 00000000 */ nop
|
||||
|
||||
#hack to get us to first function of file boot0 using vaddr of 0x80000450
|
||||
_boot_function:
|
||||
|
||||
.section .data
|
||||
.section .rodata
|
||||
.section .bss
|
||||
@@ -0,0 +1,20 @@
|
||||
# Goldeneye 007 (U) disassembly and split file
|
||||
# generated by n64split v0.4a - N64 ROM splitter
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
glabel aspMainTextStart
|
||||
.incbin "/bin/aspboot.text.bin"
|
||||
glabel aspMainTextEnd
|
||||
|
||||
.section .data
|
||||
glabel aspMainDataStart
|
||||
.incbin "/bin/aspboot.data.bin"
|
||||
glabel aspMainDataEnd
|
||||
|
||||
+1370
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
#ifndef _AUDI_H_
|
||||
#define _AUDI_H_
|
||||
|
||||
void amCreateAudioMgr(void);
|
||||
void startaudiThread(void);
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
+1434
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
#ifndef _BOND_H_
|
||||
#define _BOND_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
extern u8 cfb_16_a[];
|
||||
extern u8 cfb_16_b[];
|
||||
|
||||
extern u32 *_codeSegmentStart;
|
||||
extern u32 *_codeSegmentEnd;
|
||||
extern u32 *_codeSegmentRomStart;
|
||||
extern u32 *_codeSegmentRomEnd;
|
||||
|
||||
extern u32 *_csegmentSegmentStart;
|
||||
extern u32 *_csegmentSegmentEnd;
|
||||
extern u32 *_cdataSegmentRomStart;
|
||||
extern u32 *_cdataSegmentRomEnd;
|
||||
|
||||
extern u32 *_rarezipSegmentVaddrStart;
|
||||
extern u32 *_rarezipSegmentVaddrEnd;
|
||||
extern u32 *_rarezipSegmentRomStart;
|
||||
extern u32 *_rarezipSegmentRomEnd;
|
||||
|
||||
extern u32 *_gameSegmentVaddrStart;
|
||||
extern u32 *_gameSegmentVaddrEnd;
|
||||
extern u32 *_gameSegmentRomStart;
|
||||
extern u32 *_gameSegmentRomEnd;
|
||||
|
||||
|
||||
extern u8 sp_boot[];
|
||||
extern u8 sp_rmon[];
|
||||
extern u8 sp_idle[];
|
||||
extern u8 sp_shed[];
|
||||
extern u8 sp_main[];
|
||||
extern u8 sp_audi[];
|
||||
extern u8 sp_debug[];
|
||||
|
||||
#include "bondaicommands.h" // game ai commands
|
||||
#include "bondconstants.h" // game constants
|
||||
#include "bondtypes.h" // game structs and types
|
||||
|
||||
#endif
|
||||
+352
@@ -0,0 +1,352 @@
|
||||
#ifndef _BONDTYPES_H_
|
||||
#define _BONDTYPES_H_
|
||||
#include "ultra64.h"
|
||||
#include "bondconstants.h"
|
||||
struct rgba_val{
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
};
|
||||
|
||||
struct rgba_valf32{
|
||||
f32 r;
|
||||
f32 g;
|
||||
f32 b;
|
||||
f32 a;
|
||||
};
|
||||
|
||||
/******
|
||||
|
||||
The following struct ObjectRecord was copied from AIListLogic branch
|
||||
and should be removed when merged
|
||||
|
||||
note: only the necessary fields were copied in order to compile (not the full struct)
|
||||
|
||||
******/
|
||||
typedef struct ObjectRecord
|
||||
{
|
||||
u16 obj;
|
||||
} ObjectRecord;
|
||||
|
||||
/******
|
||||
|
||||
The following struct PropRecord was copied from AIListLogic branch
|
||||
and should be removed when merged
|
||||
|
||||
note: only the necessary fields were copied in order to compile (not the full struct)
|
||||
|
||||
******/
|
||||
typedef struct PropRecord
|
||||
{
|
||||
u8 type;
|
||||
union
|
||||
{
|
||||
ObjectRecord *obj;
|
||||
} Entityp;
|
||||
} PropRecord;
|
||||
|
||||
typedef struct CHRdata CHRdata, *PCHRdata;
|
||||
|
||||
/* unfinished struct, WIP */
|
||||
struct CHRdata {
|
||||
u16 chrnum;
|
||||
s8 accuracyrating;
|
||||
s8 speedrating;
|
||||
u8 firecountleft;
|
||||
u8 firecountright;
|
||||
s8 headnum;
|
||||
s8 actiontype;
|
||||
s8 sleep;
|
||||
s8 invalidmove;
|
||||
s8 numclosearghs;
|
||||
s8 numarghs;
|
||||
u8 fadealpha;
|
||||
s8 arghrating;
|
||||
s8 aimendcount;
|
||||
s8 bodynum;
|
||||
/* 0x0010 */
|
||||
u8 grenadeprob;
|
||||
s8 flinchcnt;
|
||||
s16 hidden;
|
||||
s32 chrflags;
|
||||
void * pad;
|
||||
void * model;
|
||||
/* 0x0020 */
|
||||
void * field_20;
|
||||
f32 chrwidth;
|
||||
f32 chrheight;
|
||||
void * bondpos; /* HACK - reused as fadeout counter on death, checks if pointer at 7F02B774 */
|
||||
/* 0x0030 */
|
||||
int field_30;
|
||||
short field_34;
|
||||
char field_36;
|
||||
char field_37;
|
||||
char field_38;
|
||||
char field_39;
|
||||
char field_3A;
|
||||
char field_3B;
|
||||
int path_target_position;
|
||||
/* 0x0040 */
|
||||
int field_40;
|
||||
int field_44;
|
||||
int field_48;
|
||||
int targetflag;
|
||||
/* 0x0050 */
|
||||
int targettoshoot;
|
||||
int field_54;
|
||||
char type_of_motion;
|
||||
char distance_counter_or_something;
|
||||
short distance_to_target;
|
||||
int field_5C;
|
||||
/* 0x0060 */
|
||||
int target_position;
|
||||
int field_64;
|
||||
int field_68;
|
||||
int field_6C;
|
||||
/* 0x0070 */
|
||||
int path_segment_coverage;
|
||||
int path_segment_length;
|
||||
int field_78;
|
||||
int field_7C;
|
||||
/* 0x0080 */
|
||||
int field_80;
|
||||
int field_84;
|
||||
int field_88;
|
||||
int field_8C;
|
||||
/* 0x0090 */
|
||||
int field_90;
|
||||
int segment_coverage;
|
||||
int segment_length;
|
||||
int field_9C;
|
||||
/* 0x00A0 */
|
||||
int field_A0;
|
||||
f32 sumground;
|
||||
f32 manground;
|
||||
f32 ground;
|
||||
/* 0x00B0 */
|
||||
f32 fallspeed[3];
|
||||
f32 prevpos[3];
|
||||
/* 0x00B8 */
|
||||
s32 lastwalk60;
|
||||
s32 lastmoveok60;
|
||||
/* 0x00D0 */
|
||||
f32 visionrange;
|
||||
s32 lastseetarget60;
|
||||
f32 lastvisibletarg[3];
|
||||
/* 0x00E4 */
|
||||
void * field_E4;
|
||||
s32 timeshooter;
|
||||
f32 hearingscale;
|
||||
/* 0x00F0 */
|
||||
s32 lastheartarget60;
|
||||
u8 shadecol[4];
|
||||
u8 nextcol[4];
|
||||
f32 damage;
|
||||
/* 0x0100 */
|
||||
f32 maxdamage;
|
||||
void * ailist;
|
||||
u16 aioffset;
|
||||
u16 aireturnlist;
|
||||
u8 flags; /* used by ai commands 81-85 */
|
||||
u8 flags2; /* used by ai commands 86-8A */
|
||||
u8 BITFIELD;
|
||||
u8 random;
|
||||
/* 0x0110 */
|
||||
s32 timer60;
|
||||
u16 padpreset1; /* ID PAD_PRESET */
|
||||
u16 chrpreset1; /* ID CHR_PRESET */
|
||||
u16 chrseeshot; /* ID CHR_SEE_SHOT - ignores invincible/armoured guards */
|
||||
u16 chrseedie; /* ID CHR_SEE_DIE */
|
||||
/* 0x011C */
|
||||
f32 field_11C[2];
|
||||
f32 field_124[2];
|
||||
f32 field_12C[2];
|
||||
/* 0x0134 */
|
||||
int field_134;
|
||||
int field_138;
|
||||
f32 shotbondsum;
|
||||
/* 0x0140 */
|
||||
f32 aimuplshoulder;
|
||||
f32 aimuprshoulder;
|
||||
f32 aimupback;
|
||||
f32 aimsideback;
|
||||
/* 0x0150 */
|
||||
f32 aimendlshoulder;
|
||||
f32 aimendrshoulder;
|
||||
f32 aimendback;
|
||||
f32 aimendsideback;
|
||||
/* 0x0160 */
|
||||
int * handle_positiondata[2];
|
||||
int * ptr_SEbuffer1;
|
||||
int * ptr_SEbuffer2;
|
||||
/* 0x0170 */
|
||||
int * ptr_SEbuffer3;
|
||||
int * ptr_SEbuffer4;
|
||||
int field_178;
|
||||
int field_17C;
|
||||
/* 0x0180 */
|
||||
char field_180;
|
||||
char field_181;
|
||||
char field_182;
|
||||
char field_183;
|
||||
int field_184;
|
||||
int field_188;
|
||||
int field_18C;
|
||||
/* 0x0190 */
|
||||
int field_190;
|
||||
int field_194;
|
||||
int field_198;
|
||||
int field_19C;
|
||||
/* 0x01A0 */
|
||||
int field_1A0;
|
||||
int field_1A4;
|
||||
int field_1A8;
|
||||
char field_1AC;
|
||||
char field_1AD;
|
||||
char field_1AE;
|
||||
char field_1AF;
|
||||
/* 0x01B0 */
|
||||
int field_1B0;
|
||||
int field_1B4;
|
||||
int field_1B8;
|
||||
int field_1BC;
|
||||
/* 0x01C0 */
|
||||
int field_1C0;
|
||||
int field_1C4;
|
||||
int field_1C8;
|
||||
int field_1CC;
|
||||
/* 0x01D0 */
|
||||
int field_1D0;
|
||||
int field_1D4;
|
||||
int * handle_positiondata_hat;
|
||||
};
|
||||
|
||||
struct object_standard {
|
||||
u16 extrascale:2;
|
||||
u8 hidden2:1;
|
||||
u8 type:1;
|
||||
u16 obj;
|
||||
u16 pad;
|
||||
u32 flags;
|
||||
u32 flags2;
|
||||
void * runtime_ptr_obj_posdata;
|
||||
void * runtime_ptr_obj_instance_controller;
|
||||
void * runtime_MATRIX0;
|
||||
void * runtime_MATRIX1;
|
||||
void * runtime_MATRIX2;
|
||||
void * runtime_MATRIX3;
|
||||
void * runtime_MATRIX4;
|
||||
void * runtime_MATRIX5;
|
||||
void * runtime_MATRIX6;
|
||||
void * runtime_MATRIX7;
|
||||
void * runtime_MATRIX8;
|
||||
void * runtime_MATRIX9;
|
||||
void * runtime_MATRIXA;
|
||||
void * runtime_MATRIXB;
|
||||
void * runtime_MATRIXC;
|
||||
void * runtime_MATRIXD;
|
||||
void * runtime_MATRIXE;
|
||||
void * runtime_MATRIXF;
|
||||
f32 runtime_x_pos;
|
||||
f32 runtime_y_pos;
|
||||
f32 runtime_z_pos;
|
||||
int runtime_bitflags;
|
||||
int ptr_allocated_collisiondata_block;
|
||||
int field_6C;
|
||||
float field_70;
|
||||
short damage;
|
||||
short maxdamage;
|
||||
char field_78;
|
||||
char field_79;
|
||||
char field_7A;
|
||||
char field_7B;
|
||||
char field_7C;
|
||||
char field_7D;
|
||||
char field_7E;
|
||||
char field_7F;
|
||||
};
|
||||
|
||||
struct watchMenuObjectiveText {
|
||||
u32 id;
|
||||
enum WATCH_BRIEFING_PAGE menu;
|
||||
u16 reserved;
|
||||
u16 text;
|
||||
struct watchMenuObjectiveText * nextentry;
|
||||
};
|
||||
//!FIXME all but text field cannot be trusted
|
||||
struct objective_entry {
|
||||
u32 id;
|
||||
enum WATCH_BRIEFING_PAGE menu;
|
||||
u16 reserved;
|
||||
u16 text;
|
||||
struct watchMenuObjectiveText * nextentry;
|
||||
};
|
||||
|
||||
typedef struct sImageTableEntry {
|
||||
u32 index;
|
||||
u8 width;
|
||||
u8 height;
|
||||
u8 level;
|
||||
u8 format;
|
||||
u8 depth;
|
||||
u8 flagsS;
|
||||
u8 flagsT;
|
||||
u8 pad;
|
||||
} sImageTableEntry;
|
||||
|
||||
typedef struct sGlobalImageTable {
|
||||
u32 globalDL_0x000[30];
|
||||
u32 globalDL_0x078[42];
|
||||
u32 globalDL_0x120[42];
|
||||
u32 globalDL_0x1c8[42];
|
||||
u32 globalDL_0x270[42];
|
||||
u32 globalDL_0x318[42];
|
||||
u32 globalDL_0x3c0[42];
|
||||
u32 globalDL_0x468[42];
|
||||
u32 globalDL_0x510[42];
|
||||
u32 globalDL_0x5b8[42];
|
||||
u32 globalDL_0x660[42];
|
||||
u32 globalDL_0x708[42];
|
||||
u32 globalDL_0x7b0[42];
|
||||
u32 globalDL_0x858[42];
|
||||
u32 globalDL_0x900[42];
|
||||
u32 globalDL_0x9a8[42];
|
||||
u32 globalDL_0xa50[30];
|
||||
struct sImageTableEntry s_genericimage[1];
|
||||
struct sImageTableEntry s_impactimages[20];
|
||||
struct sImageTableEntry s_explosion_smokeimages[6];
|
||||
struct sImageTableEntry s_scattered_explosions[5];
|
||||
struct sImageTableEntry s_flareimage1[1];
|
||||
struct sImageTableEntry s_flareimage2[1];
|
||||
struct sImageTableEntry s_flareimage3[1];
|
||||
struct sImageTableEntry s_flareimage4[1];
|
||||
struct sImageTableEntry s_flareimage5[1];
|
||||
struct sImageTableEntry s_ammo9mmimage[1];
|
||||
struct sImageTableEntry s_rifleammoimage[1];
|
||||
struct sImageTableEntry s_shotgunammoimage[1];
|
||||
struct sImageTableEntry s_knifeammoimage[1];
|
||||
struct sImageTableEntry s_glammoimage[1];
|
||||
struct sImageTableEntry s_rocketammoimage[1];
|
||||
struct sImageTableEntry s_genericmineammoimage[1];
|
||||
struct sImageTableEntry s_grenadeammoimage[1];
|
||||
struct sImageTableEntry s_magnumammoimage[1];
|
||||
struct sImageTableEntry s_goldengunammoimage[1];
|
||||
struct sImageTableEntry s_remotemineammoimage[1];
|
||||
struct sImageTableEntry s_timedmineammoimage[1];
|
||||
struct sImageTableEntry s_proxmineammoimage[1];
|
||||
struct sImageTableEntry s_tankammoimage[1];
|
||||
struct sImageTableEntry s_crosshairimage[1];
|
||||
struct sImageTableEntry s_betacrosshairimage[1];
|
||||
struct sImageTableEntry s_glassoverlayimage[2];
|
||||
struct sImageTableEntry s_monitorimages[50];
|
||||
struct sImageTableEntry s_skywaterimages[3];
|
||||
struct sImageTableEntry s_mainfolderimages[6];
|
||||
struct sImageTableEntry s_mpradarimages[1];
|
||||
struct sImageTableEntry s_mpcharselimages[64];
|
||||
struct sImageTableEntry s_mpstageselimages[17];
|
||||
} sGlobalImageTable;
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
#include <ultra64.h>
|
||||
#include "boot.h"
|
||||
#include "bondgame.h"
|
||||
#include "inflate/inflate.h"
|
||||
|
||||
/**
|
||||
* @file boot.c
|
||||
* This file sets up initial tlb mapping then jumps to boot1.
|
||||
*
|
||||
* In particular, it:
|
||||
* - also contains functions that grab segment addresses
|
||||
* - will likely always be asm as it manipulates tlb directly
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 1050 70000450 registers 70000000-70400000 in TLB, JR to 70000510
|
||||
* technically, this is used in bootcode and used prior to TLB registration
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel boot
|
||||
/* 001050 70000450 24020001 */ li $v0, 1
|
||||
/* 001054 70000454 24030000 */ li $v1, 0
|
||||
/* 001058 70000458 24040000 */ li $a0, 0
|
||||
/* 00105C 7000045C 3C057000 */ lui $a1, 0x7000
|
||||
/* 001060 70000460 2406001F */ li $a2, 31
|
||||
/* 001064 70000464 24070001 */ li $a3, 1
|
||||
/* 001068 70000468 3C08007F */ lui $t0, (0x007FE000 >> 16) # lui $t0, 0x7f
|
||||
/* 00106C 7000046C 3508E000 */ ori $t0, (0x007FE000 & 0xFFFF) # ori $t0, $t0, 0xe000
|
||||
/* 001070 70000470 40820000 */ mtc0 $v0, $0
|
||||
/* 001074 70000474 00031B02 */ srl $v1, $v1, 0xc
|
||||
/* 001078 70000478 00031980 */ sll $v1, $v1, 6
|
||||
/* 00107C 7000047C 00661821 */ addu $v1, $v1, $a2
|
||||
/* 001080 70000480 40831000 */ mtc0 $v1, $2
|
||||
/* 001084 70000484 00042302 */ srl $a0, $a0, 0xc
|
||||
/* 001088 70000488 00042180 */ sll $a0, $a0, 6
|
||||
/* 00108C 7000048C 00872021 */ addu $a0, $a0, $a3
|
||||
/* 001090 70000490 40841800 */ mtc0 $a0, $3
|
||||
/* 001094 70000494 00052342 */ srl $a0, $a1, 0xd
|
||||
/* 001098 70000498 00042340 */ sll $a0, $a0, 0xd
|
||||
/* 00109C 7000049C 40845000 */ mtc0 $a0, $10
|
||||
/* 0010A0 700004A0 40882800 */ mtc0 $t0, $5
|
||||
/* 0010A4 700004A4 00000000 */ nop
|
||||
/* 0010A8 700004A8 42000002 */ tlbwi
|
||||
/* 0010AC 700004AC 3C0A7000 */ lui $t2, %hi(init) # $t2, 0x7000
|
||||
/* 0010B0 700004B0 254A0510 */ addiu $t2, %lo(init) # addiu $t2, $t2, 0x510
|
||||
/* 0010B4 700004B4 01400008 */ jr $t2
|
||||
/* 0010B8 700004B8 00000000 */ nop
|
||||
)
|
||||
|
||||
/**
|
||||
* Due to alignments the following functions are included here
|
||||
* these could have been assembly originally, or more likely part
|
||||
* of the code inserted by the custom makerom rare created
|
||||
*/
|
||||
|
||||
/**
|
||||
*10BC 700004BC V0=80020D90: target address for 21990 (USA)
|
||||
*/
|
||||
u32 *get_csegmentSegmentStart(void)
|
||||
{
|
||||
return &_csegmentSegmentStart;
|
||||
}
|
||||
|
||||
/**
|
||||
*10C8 700004C8 V0=21990: ROM address of main compressed block (USA)
|
||||
*/
|
||||
u32 *get_cdataSegmentRomStart(void)
|
||||
{
|
||||
return &_cdataSegmentRomStart;
|
||||
}
|
||||
|
||||
/**
|
||||
*10D4 700004D4 V0=33590: ROM address of 70200000 RareZip ASM [33590-34B30 ROM] (USA)
|
||||
*/
|
||||
u32 *get_cdataSegmentRomEnd(void)
|
||||
{
|
||||
return &_cdataSegmentRomEnd;
|
||||
}
|
||||
|
||||
/**
|
||||
*10E0 700004E0 V0=33590: ROM address of 70200000 RareZip ASM [33590-34B30 ROM] (USA)
|
||||
*/
|
||||
u32 *get_rarezipSegmentRomStart(void)
|
||||
{
|
||||
return &_rarezipSegmentRomStart;
|
||||
}
|
||||
|
||||
/**
|
||||
*10EC 700004EC V0=34B30: ROM address of 7F- TLB routines (USA)
|
||||
*/
|
||||
u32 *get_rarezipSegmentRomEnd(void)
|
||||
{
|
||||
return &_rarezipSegmentRomEnd;
|
||||
}
|
||||
|
||||
/**
|
||||
* 10F8 700004F8 redirect to 7020141C: decompression routine
|
||||
* accepts: A0=p->source, A1=p->target, A2=p->buffer
|
||||
* sets A3=7020141C, then jumps to address
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel jump_decompressfile
|
||||
/* 0010F8 700004F8 3C077020 */ lui $a3, %hi(decompress_entry) # $a3, 0x7020
|
||||
/* 0010FC 700004FC 24E7141C */ addiu $a3, %lo(decompress_entry) # addiu $a3, $a3, 0x141c
|
||||
/* 001100 70000500 00E00008 */ jr $a3
|
||||
/* 001104 70000504 00000000 */ nop
|
||||
)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
#ifndef _BOOT_H_
|
||||
#define _BOOT_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
u32 *get_csegmentSegmentStart(void);
|
||||
u32 *get_cdataSegmentRomStart(void);
|
||||
u32 *get_cdataSegmentRomEnd(void);
|
||||
u32 *get_rarezipSegmentRomStart(void);
|
||||
u32 *get_rarezipSegmentRomEnd(void);
|
||||
u32 jump_decompressfile(u32 source, u32 target, u32 buffer);
|
||||
|
||||
#endif
|
||||
+899
@@ -0,0 +1,899 @@
|
||||
# Super Mario 64 (J) disassembly and split file
|
||||
# generated by n64split v0.4a - N64 ROM splitter
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
|
||||
.section .text, "ax"
|
||||
/* 000040 00000000 40806800 */ mtc0 $zero, $13
|
||||
/* 000044 00000004 40804800 */ mtc0 $zero, $9
|
||||
/* 000048 00000008 40805800 */ mtc0 $zero, $11
|
||||
/* 00004C 0000000C 3C08A470 */ lui $t0, 0xa470
|
||||
/* 000050 00000010 25080000 */ addiu $t0, $t0, 0
|
||||
/* 000054 00000014 8D09000C */ lw $t1, 0xc($t0)
|
||||
/* 000058 00000018 152000ED */ bnez $t1, .L000003D0
|
||||
/* 00005C 0000001C 00000000 */ nop
|
||||
/* 000060 00000020 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 000064 00000024 AFB30000 */ sw $s3, ($sp)
|
||||
/* 000068 00000028 AFB40004 */ sw $s4, 4($sp)
|
||||
/* 00006C 0000002C AFB50008 */ sw $s5, 8($sp)
|
||||
/* 000070 00000030 AFB6000C */ sw $s6, 0xc($sp)
|
||||
/* 000074 00000034 AFB70010 */ sw $s7, 0x10($sp)
|
||||
/* 000078 00000038 3C08A470 */ lui $t0, 0xa470
|
||||
/* 00007C 0000003C 25080000 */ addiu $t0, $t0, 0
|
||||
/* 000080 00000040 3C0AA3F8 */ lui $t2, %hi(0xA3F80004) # $t2, 0xa3f8
|
||||
/* 000084 00000044 3C0BA3F0 */ lui $t3, 0xa3f0
|
||||
/* 000088 00000048 3C0CA430 */ lui $t4, 0xa430
|
||||
/* 00008C 0000004C 258C0000 */ addiu $t4, $t4, 0
|
||||
/* 000090 00000050 34090040 */ ori $t1, $zero, 64
|
||||
/* 000094 00000054 AD090004 */ sw $t1, 4($t0)
|
||||
/* 000098 00000058 24111F40 */ li $s1, 8000
|
||||
.L0000005C:
|
||||
/* 00009C 0000005C 00000000 */ nop
|
||||
/* 0000A0 00000060 2231FFFF */ addi $s1, $s1, -1
|
||||
/* 0000A4 00000064 1620FFFD */ bnez $s1, .L0000005C
|
||||
/* 0000A8 00000068 00000000 */ nop
|
||||
/* 0000AC 0000006C AD000008 */ sw $zero, 8($t0)
|
||||
/* 0000B0 00000070 24090014 */ ori $t1, $zero, 20
|
||||
/* 0000B4 00000074 AD09000C */ sw $t1, 0xc($t0)
|
||||
/* 0000B8 00000078 AD000000 */ sw $zero, ($t0)
|
||||
/* 0000BC 0000007C 24110004 */ li $s1, 4
|
||||
.L00000080:
|
||||
/* 0000C0 00000080 00000000 */ nop
|
||||
/* 0000C4 00000084 2231FFFF */ addi $s1, $s1, -1
|
||||
/* 0000C8 00000088 1620FFFD */ bnez $s1, .L00000080
|
||||
/* 0000CC 0000008C 00000000 */ nop
|
||||
/* 0000D0 00000090 3209000E */ ori $t1, $zero, 14
|
||||
/* 0000D4 00000094 AD090000 */ sw $t1, ($t0)
|
||||
/* 0000D8 00000098 24110020 */ li $s1, 32
|
||||
.L0000009C:
|
||||
/* 0000DC 0000009C 2231FFFF */ addi $s1, $s1, -1
|
||||
/* 0000E0 000000A0 1620FFFE */ bnez $s1, .L0000009C
|
||||
/* 0000E4 000000A4 3409010F */ ori $t1, $zero, 271
|
||||
/* 0000E8 000000A8 AD890000 */ sw $t1, ($t4)
|
||||
/* 0000EC 000000AC 3C091808 */ lui $t1, (0x18082838 >> 16) # lui $t1, 0x1808
|
||||
/* 0000F0 000000B0 35292838 */ ori $t1, (0x18082838 & 0xFFFF) # ori $t1, $t1, 0x2838
|
||||
/* 0000F4 000000B4 AD490008 */ sw $t1, %lo(0xA3F80008)($t2)
|
||||
/* 0000F8 000000B8 AD400014 */ sw $zero, %lo(0xA3F80014)($t2)
|
||||
/* 0000FC 000000BC 3C098000 */ lui $t1, 0x8000
|
||||
/* 000100 000000C0 AD490004 */ sw $t1, %lo(0xA3F80004)($t2)
|
||||
/* 000104 000000C4 00006825 */ move $t5, $zero
|
||||
/* 000108 000000C8 00007025 */ move $t6, $zero
|
||||
/* 00010C 000000CC 3C0FA3F0 */ lui $t7, %hi(0xA3F00018) # $t7, 0xa3f0
|
||||
/* 000110 000000D0 0000C025 */ move $t8, $zero
|
||||
/* 000114 000000D4 3C19A3F0 */ lui $t9, 0xa3f0
|
||||
/* 000118 000000D8 3C16A000 */ lui $s6, 0xa000
|
||||
/* 00011C 000000DC 0000B825 */ move $s7, $zero
|
||||
/* 000120 000000E0 3C06A3F0 */ lui $a2, 0xa3f0
|
||||
/* 000124 000000E4 3C07A000 */ lui $a3, 0xa000
|
||||
/* 000128 000000E8 00009025 */ move $s2, $zero
|
||||
/* 00012C 000000EC 3C14A000 */ lui $s4, 0xa000
|
||||
/* 000130 000000F0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 000134 000000F4 03A0F025 */ move $fp, $sp
|
||||
/* 000138 000000F8 3C10A430 */ lui $s0, %hi(0xA4300004) # $s0, 0xa430
|
||||
/* 00013C 000000FC 8E100004 */ lw $s0, %lo(0xA4300004)($s0)
|
||||
/* 000140 00000100 3C110101 */ lui $s1, 0x0101 # $s1, 0x101
|
||||
/* 000144 00000104 26310101 */ addiu $s1, 0x0101 # addiu $s1, $s1, 0x101
|
||||
/* 000148 00000108 16110005 */ bne $s0, $s1, .L00000120
|
||||
/* 00014C 0000010C 00000000 */ nop
|
||||
/* 000150 00000110 24100200 */ li $s0, 512
|
||||
/* 000154 00000114 35714000 */ ori $s1, $t3, 0x4000
|
||||
/* 000158 00000118 10000003 */ b .L00000128
|
||||
/* 00015C 0000011C 00000000 */ nop
|
||||
.L00000120:
|
||||
/* 000160 00000120 24100400 */ li $s0, 1024
|
||||
/* 000164 00000124 35718000 */ ori $s1, $t3, 0x8000
|
||||
.L00000128:
|
||||
/* 000168 00000128 AE2E0004 */ sw $t6, 4($s1)
|
||||
/* 00016C 0000012C 25F5000C */ addiu $s5, $t7, 0xc
|
||||
/* 000170 00000130 0D0001DE */ jal func_04000778
|
||||
/* 000174 00000134 00000000 */ nop
|
||||
/* 000178 00000138 10400038 */ beqz $v0, .L0000021C
|
||||
/* 00017C 0000013C 00000000 */ nop
|
||||
/* 000180 00000140 AFA20000 */ sw $v0, ($sp)
|
||||
/* 000184 00000144 24092000 */ li $t1, 8192
|
||||
/* 000188 00000148 AD890000 */ sw $t1, ($t4)
|
||||
/* 00018C 0000014C 8DEB0000 */ lw $t3, ($t7)
|
||||
/* 000190 00000150 3C08F0FF */ lui $t0, 0xf0ff
|
||||
/* 000194 00000154 01685824 */ and $t3, $t3, $t0
|
||||
/* 000198 00000158 AFAB0004 */ sw $t3, 4($sp)
|
||||
/* 00019C 0000015C 23BD0008 */ addi $sp, $sp, 8
|
||||
/* 0001A0 00000160 24091000 */ li $t1, 4096
|
||||
/* 0001A4 00000164 AD890000 */ sw $t1, ($t4)
|
||||
/* 0001A8 00000168 3C08B019 */ lui $t0, 0xb019
|
||||
/* 0001AC 0000016C 1568000C */ bne $t3, $t0, .L000001A0
|
||||
/* 0001B0 00000170 00000000 */ nop
|
||||
/* 0001B4 00000174 3C080800 */ lui $t0, 0x800
|
||||
/* 0001B8 00000178 0308C020 */ add $t8, $t8, $t0
|
||||
/* 0001BC 0000017C 0330C820 */ add $t9, $t9, $s0
|
||||
/* 0001C0 00000180 0330C820 */ add $t9, $t9, $s0
|
||||
/* 0001C4 00000184 3C080020 */ lui $t0, 0x20
|
||||
/* 0001C8 00000188 02C8B020 */ add $s6, $s6, $t0
|
||||
/* 0001CC 0000018C 0288A020 */ add $s4, $s4, $t0
|
||||
/* 0001D0 00000190 00129040 */ sll $s2, $s2, 1
|
||||
/* 0001D4 00000194 22520001 */ addi $s2, $s2, 1
|
||||
/* 0001D8 00000198 10000003 */ b .L000001A8
|
||||
/* 0001DC 0000019C 00000000 */ nop
|
||||
.L000001A0:
|
||||
/* 0001E0 000001A0 3C080010 */ lui $t0, 0x10
|
||||
/* 0001E4 000001A4 0288A020 */ add $s4, $s4, $t0
|
||||
.L000001A8:
|
||||
/* 0001E8 000001A8 24082000 */ li $t0, 8192
|
||||
/* 0001EC 000001AC AD880000 */ sw $t0, ($t4)
|
||||
/* 0001F0 000001B0 8DE90024 */ lw $t1, %lo(0xA3F00024)($t7)
|
||||
/* 0001F4 000001B4 8DFA0000 */ lw $k0, ($t7)
|
||||
/* 0001F8 000001B8 24081000 */ li $t0, 4096
|
||||
/* 0001FC 000001BC AD880000 */ sw $t0, ($t4)
|
||||
/* 000200 000001C0 3129FFFF */ andi $t1, $t1, 0xffff
|
||||
/* 000204 000001C4 24080500 */ li $t0, 1280
|
||||
/* 000208 000001C8 15280009 */ bne $t1, $t0, .L000001F0
|
||||
/* 00020C 000001CC 00000000 */ nop
|
||||
/* 000210 000001D0 3C1B0100 */ lui $k1, 0x100
|
||||
/* 000214 000001D4 035BD024 */ and $k0, $k0, $k1
|
||||
/* 000218 000001D8 17400005 */ bnez $k0, .L000001F0
|
||||
/* 00021C 000001DC 00000000 */ nop
|
||||
/* 000220 000001E0 3C08101C */ lui $t0, (0x101C0A04 >> 16) # lui $t0, 0x101c
|
||||
/* 000224 000001E4 35080A04 */ ori $t0, (0x101C0A04 & 0xFFFF) # ori $t0, $t0, 0xa04
|
||||
/* 000228 000001E8 ADE80018 */ sw $t0, %lo(0xA3F00018)($t7)
|
||||
/* 00022C 000001EC 10000003 */ b .L000001FC
|
||||
.L000001F0:
|
||||
/* 000230 000001F0 3C08080C */ lui $t0, (0x080C1204 >> 16) # lui $t0, 0x80c
|
||||
/* 000234 000001F4 35081204 */ ori $t0, (0x080C1204 & 0xFFFF) # ori $t0, $t0, 0x1204
|
||||
/* 000238 000001F8 ADE80018 */ sw $t0, %lo(0xA3F00018)($t7)
|
||||
.L000001FC:
|
||||
/* 00023C 000001FC 3C080800 */ lui $t0, 0x800
|
||||
/* 000240 00000200 01C87020 */ add $t6, $t6, $t0
|
||||
/* 000244 00000204 01F07820 */ add $t7, $t7, $s0
|
||||
/* 000248 00000208 01F07820 */ add $t7, $t7, $s0
|
||||
/* 00024C 0000020C 25AD0001 */ addiu $t5, $t5, 1
|
||||
/* 000250 00000210 2DA80008 */ sltiu $t0, $t5, 8
|
||||
/* 000254 00000214 1500FFC4 */ bnez $t0, .L00000128
|
||||
/* 000258 00000218 00000000 */ nop
|
||||
.L0000021C:
|
||||
/* 00025C 0000021C 3C08C400 */ lui $t0, 0xc400
|
||||
/* 000260 00000220 AD48000C */ sw $t0, %lo(0xA3F8000C)($t2)
|
||||
/* 000264 00000224 3C088000 */ lui $t0, 0x8000
|
||||
/* 000268 00000228 AD480004 */ sw $t0, %lo(0xA3F80004)($t2)
|
||||
/* 00026C 0000022C 03C0E825 */ move $sp, $fp
|
||||
/* 000270 00000230 00001825 */ move $v1, $zero
|
||||
.L00000234:
|
||||
/* 000274 00000234 8FA90004 */ lw $t1, 4($sp)
|
||||
/* 000278 00000238 3C08B009 */ lui $t0, 0xb009
|
||||
/* 00027C 0000023C 15280016 */ bne $t1, $t0, .L00000298
|
||||
/* 000280 00000240 00000000 */ nop
|
||||
/* 000284 00000244 AE380004 */ sw $t8, 4($s1)
|
||||
/* 000288 00000248 2735000C */ addiu $s5, $t9, 0xc
|
||||
/* 00028C 0000024C 8FA40000 */ lw $a0, ($sp)
|
||||
/* 000290 00000250 23BD0008 */ addi $sp, $sp, 8
|
||||
/* 000294 00000254 24050001 */ li $a1, 1
|
||||
/* 000298 00000258 0D000290 */ jal func_04000A40
|
||||
/* 00029C 0000025C 00000000 */ nop
|
||||
/* 0002A0 00000260 8EC80000 */ lw $t0, ($s6)
|
||||
/* 0002A4 00000264 3C080008 */ lui $t0, 8
|
||||
/* 0002A8 00000268 01164020 */ add $t0, $t0, $s6
|
||||
/* 0002AC 0000026C 8D090000 */ lw $t1, ($t0)
|
||||
/* 0002B0 00000270 8EC80000 */ lw $t0, ($s6)
|
||||
/* 0002B4 00000274 3C080008 */ lui $t0, 8
|
||||
/* 0002B8 00000278 01164020 */ add $t0, $t0, $s6
|
||||
/* 0002BC 0000027C 8D090000 */ lw $t1, ($t0)
|
||||
/* 0002C0 00000280 3C080400 */ lui $t0, 0x400
|
||||
/* 0002C4 00000284 01C87020 */ add $t6, $t6, $t0
|
||||
/* 0002C8 00000288 0330C820 */ add $t9, $t9, $s0
|
||||
/* 0002CC 0000028C 3C080010 */ lui $t0, 0x10
|
||||
/* 0002D0 00000290 02C8B020 */ add $s6, $s6, $t0
|
||||
/* 0002D4 00000294 10000021 */ b .L0000031C
|
||||
.L00000298:
|
||||
/* 0002D8 00000298 AE370004 */ sw $s7, 4($s1)
|
||||
/* 0002DC 0000029C 24D5000C */ addiu $s5, $a2, 0xc
|
||||
/* 0002E0 000002A0 8FA40000 */ lw $a0, ($sp)
|
||||
/* 0002E4 000002A4 23BD0008 */ addi $sp, $sp, 8
|
||||
/* 0002E8 000002A8 24050001 */ li $a1, 1
|
||||
/* 0002EC 000002AC 0D000290 */ jal func_04000A40
|
||||
/* 0002F0 000002B0 00000000 */ nop
|
||||
/* 0002F4 000002B4 8CE80000 */ lw $t0, ($a3)
|
||||
/* 0002F8 000002B8 3C080008 */ lui $t0, 8
|
||||
/* 0002FC 000002BC 01074020 */ add $t0, $t0, $a3
|
||||
/* 000300 000002C0 8D090000 */ lw $t1, ($t0)
|
||||
/* 000304 000002C4 3C080010 */ lui $t0, 0x10
|
||||
/* 000308 000002C8 01074020 */ add $t0, $t0, $a3
|
||||
/* 00030C 000002CC 8D090000 */ lw $t1, ($t0)
|
||||
/* 000310 000002D0 3C080018 */ lui $t0, 0x18
|
||||
/* 000314 000002D4 01074020 */ add $t0, $t0, $a3
|
||||
/* 000318 000002D8 8D090000 */ lw $t1, ($t0)
|
||||
/* 00031C 000002DC 8CE80000 */ lw $t0, ($a3)
|
||||
/* 000320 000002E0 3C080008 */ lui $t0, 8
|
||||
/* 000324 000002E4 01074020 */ add $t0, $t0, $a3
|
||||
/* 000328 000002E8 8D090000 */ lw $t1, ($t0)
|
||||
/* 00032C 000002EC 3C080010 */ lui $t0, 0x10
|
||||
/* 000330 000002F0 01074020 */ add $t0, $t0, $a3
|
||||
/* 000334 000002F4 8D090000 */ lw $t1, ($t0)
|
||||
/* 000338 000002F8 3C080018 */ lui $t0, 0x18
|
||||
/* 00033C 000002FC 01074020 */ add $t0, $t0, $a3
|
||||
/* 000340 00000300 8D090000 */ lw $t1, ($t0)
|
||||
/* 000344 00000304 3C080800 */ lui $t0, 0x800
|
||||
/* 000348 00000308 02E8B820 */ add $s7, $s7, $t0
|
||||
/* 00034C 0000030C 00D03020 */ add $a2, $a2, $s0
|
||||
/* 000350 00000310 00D03020 */ add $a2, $a2, $s0
|
||||
/* 000354 00000314 3C080020 */ lui $t0, 0x20
|
||||
/* 000358 00000318 00E83820 */ add $a3, $a3, $t0
|
||||
.L0000031C:
|
||||
/* 00035C 0000031C 24630001 */ addiu $v1, $v1, 1
|
||||
/* 000360 00000320 006D402A */ slt $t0, $v1, $t5
|
||||
/* 000364 00000324 1500FFC3 */ bnez $t0, .L00000234
|
||||
/* 000368 00000328 00000000 */ nop
|
||||
/* 00036C 0000032C 3C0AA470 */ lui $t2, %hi(0xA4700010) # $t2, 0xa470
|
||||
/* 000370 00000330 001294C0 */ sll $s2, $s2, 0x13
|
||||
/* 000374 00000334 3C090006 */ lui $t1, (0x00063634 >> 16) # lui $t1, 6
|
||||
/* 000378 00000338 35293634 */ ori $t1, (0x00063634 & 0xFFFF) # ori $t1, $t1, 0x3634
|
||||
/* 00037C 0000033C 01324825 */ or $t1, $t1, $s2
|
||||
/* 000380 00000340 AD490010 */ sw $t1, %lo(0xA4700010)($t2)
|
||||
/* 000384 00000344 8D490010 */ lw $t1, %lo(0xA4700010)($t2)
|
||||
/* 000388 00000348 3C08A000 */ lui $t0, %hi(0xA0000018) # $t0, 0xa000
|
||||
/* 00038C 0000034C 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300
|
||||
/* 000390 00000350 3C090FFF */ lui $t1, (0x0FFFFFFF >> 16) # lui $t1, 0xfff
|
||||
/* 000394 00000354 3529FFFF */ ori $t1, (0x0FFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
|
||||
/* 000398 00000358 02C9B024 */ and $s6, $s6, $t1
|
||||
/* 00039C 0000035C AD160018 */ sw $s6, %lo(0xA0000018)($t0)
|
||||
/* 0003A0 00000360 03C0E825 */ move $sp, $fp
|
||||
/* 0003A4 00000364 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* 0003A8 00000368 8FB30000 */ lw $s3, ($sp)
|
||||
/* 0003AC 0000036C 8FB40004 */ lw $s4, 4($sp)
|
||||
/* 0003B0 00000370 8FB50008 */ lw $s5, 8($sp)
|
||||
/* 0003B4 00000374 8FB6000C */ lw $s6, 0xc($sp)
|
||||
/* 0003B8 00000378 8FB70010 */ lw $s7, 0x10($sp)
|
||||
/* 0003BC 0000037C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0003C0 00000380 3C088000 */ lui $t0, 0x8000
|
||||
/* 0003C4 00000384 25080000 */ addiu $t0, $t0, 0
|
||||
/* 0003C8 00000388 25094000 */ addiu $t1, $t0, 0x4000
|
||||
/* 0003CC 0000038C 2529FFE0 */ addiu $t1, $t1, -0x20
|
||||
/* 0003D0 00000390 4080E000 */ mtc0 $zero, $28
|
||||
/* 0003D4 00000394 4080E800 */ mtc0 $zero, $29
|
||||
.L00000398:
|
||||
/* 0003D8 00000398 BD080000 */ cache 8, ($t0)
|
||||
/* 0003DC 0000039C 0109082B */ sltu $at, $t0, $t1
|
||||
/* 0003E0 000003A0 1420FFFD */ bnez $at, .L00000398
|
||||
/* 0003E4 000003A4 25080020 */ addiu $t0, $t0, 0x20
|
||||
/* 0003E8 000003A8 3C088000 */ lui $t0, 0x8000
|
||||
/* 0003EC 000003AC 25080000 */ addiu $t0, $t0, 0
|
||||
/* 0003F0 000003B0 25092000 */ addiu $t1, $t0, 0x2000
|
||||
/* 0003F4 000003B4 2529FFF0 */ addiu $t1, $t1, -0x10
|
||||
.L000003B8:
|
||||
/* 0003F8 000003B8 BD090000 */ cache 9, ($t0)
|
||||
/* 0003FC 000003BC 0109082B */ sltu $at, $t0, $t1
|
||||
/* 000400 000003C0 1420FFFD */ bnez $at, .L000003B8
|
||||
/* 000404 000003C4 25080010 */ addiu $t0, $t0, 0x10
|
||||
/* 000408 000003C8 10000013 */ b .L00000418
|
||||
/* 00040C 000003CC 00000000 */ nop
|
||||
.L000003D0:
|
||||
/* 000410 000003D0 3C088000 */ lui $t0, 0x8000
|
||||
/* 000414 000003D4 25080000 */ addiu $t0, $t0, 0
|
||||
/* 000418 000003D8 25094000 */ addiu $t1, $t0, 0x4000
|
||||
/* 00041C 000003DC 2529FFE0 */ addiu $t1, $t1, -0x20
|
||||
/* 000420 000003E0 4080E000 */ mtc0 $zero, $28
|
||||
/* 000424 000003E4 4080E800 */ mtc0 $zero, $29
|
||||
.L000003E8:
|
||||
/* 000428 000003E8 BD080000 */ cache 8, ($t0)
|
||||
/* 00042C 000003EC 0109082B */ sltu $at, $t0, $t1
|
||||
/* 000430 000003F0 1420FFFD */ bnez $at, .L000003E8
|
||||
/* 000434 000003F4 25080020 */ addiu $t0, $t0, 0x20
|
||||
/* 000438 000003F8 3C088000 */ lui $t0, 0x8000
|
||||
/* 00043C 000003FC 25080000 */ addiu $t0, $t0, 0
|
||||
/* 000440 00000400 25092000 */ addiu $t1, $t0, 0x2000
|
||||
/* 000444 00000404 2529FFF0 */ addiu $t1, $t1, -0x10
|
||||
.L00000408:
|
||||
/* 000448 00000408 BD010000 */ cache 1, ($t0)
|
||||
/* 00044C 0000040C 0109082B */ sltu $at, $t0, $t1
|
||||
/* 000450 00000410 1420FFFD */ bnez $at, .L00000408
|
||||
/* 000454 00000414 25080010 */ addiu $t0, $t0, 0x10
|
||||
.L00000418:
|
||||
/* 000458 00000418 3C0AA400 */ lui $t2, 0xa400
|
||||
/* 00045C 0000041C 254A0000 */ addiu $t2, $t2, 0
|
||||
/* 000460 00000420 3C0BFFF0 */ lui $t3, 0xfff0
|
||||
/* 000464 00000424 3C090010 */ lui $t1, 0x0010 # $t1, 0x10
|
||||
/* 000468 00000428 014B5024 */ and $t2, $t2, $t3
|
||||
/* 00046C 0000042C 3C08A400 */ lui $t0, %hi(0xA40004C0) # $t0, 0xa400
|
||||
/* 000470 00000430 2529FFFF */ addiu $t1, -1 # addiu $t1, $t1, -1
|
||||
/* 000474 00000434 3C0BA400 */ lui $t3, %hi(0xA4000774) # $t3, 0xa400
|
||||
/* 000478 00000438 250804C0 */ addiu $t0, %lo(0xA40004C0) # addiu $t0, $t0, 0x4c0
|
||||
/* 00047C 0000043C 256B0774 */ addiu $t3, %lo(0xA4000774) # addiu $t3, $t3, 0x774
|
||||
/* 000480 00000440 01094024 */ and $t0, $t0, $t1
|
||||
/* 000484 00000444 01695824 */ and $t3, $t3, $t1
|
||||
/* 000488 00000448 3C09A000 */ lui $t1, 0xa000
|
||||
/* 00048C 0000044C 010A4025 */ or $t0, $t0, $t2
|
||||
/* 000490 00000450 016A5825 */ or $t3, $t3, $t2
|
||||
/* 000494 00000454 25290000 */ addiu $t1, $t1, 0
|
||||
.L00000458:
|
||||
/* 000498 00000458 8D0D0000 */ lw $t5, ($t0)
|
||||
/* 00049C 0000045C 25080004 */ addiu $t0, $t0, 4
|
||||
/* 0004A0 00000460 010B082B */ sltu $at, $t0, $t3
|
||||
/* 0004A4 00000464 25290004 */ addiu $t1, $t1, 4
|
||||
/* 0004A8 00000468 1420FFFB */ bnez $at, .L00000458
|
||||
/* 0004AC 0000046C AD2DFFFC */ sw $t5, -4($t1)
|
||||
/* 0004B0 00000470 3C0C8000 */ lui $t4, 0x8000
|
||||
/* 0004B4 00000474 258C0000 */ addiu $t4, $t4, 0
|
||||
/* 0004B8 00000478 01800008 */ jr $t4
|
||||
/* 0004BC 0000047C 00000000 */ nop
|
||||
/* 0004C0 00000480 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000
|
||||
/* 0004C4 00000484 8D690008 */ lw $t1, %lo(0xB0000008)($t3)
|
||||
/* 0004C8 00000488 3C0A1FFF */ lui $t2, (0x1FFFFFFF >> 16) # lui $t2, 0x1fff
|
||||
/* 0004CC 0000048C 354AFFFF */ ori $t2, (0x1FFFFFFF & 0xFFFF) # ori $t2, $t2, 0xffff
|
||||
/* 0004D0 00000490 3C01A460 */ lui $at, 0xa460
|
||||
/* 0004D4 00000494 012A4824 */ and $t1, $t1, $t2
|
||||
/* 0004D8 00000498 AC290000 */ sw $t1, ($at)
|
||||
/* 0004DC 0000049C 3C08A460 */ lui $t0, %hi(0xA4600010) # $t0, 0xa460
|
||||
.L000004A0:
|
||||
/* 0004E0 000004A0 8D080010 */ lw $t0, %lo(0xA4600010)($t0)
|
||||
/* 0004E4 000004A4 31080002 */ andi $t0, $t0, 2
|
||||
/* 0004E8 000004A8 5500FFFD */ bnezl $t0, .L000004A0
|
||||
/* 0004EC 000004AC 3C08A460 */ lui $t0, 0xa460
|
||||
/* 0004F0 000004B0 24081000 */ li $t0, 4096
|
||||
/* 0004F4 000004B4 010B4020 */ add $t0, $t0, $t3
|
||||
/* 0004F8 000004B8 010A4024 */ and $t0, $t0, $t2
|
||||
/* 0004FC 000004BC 3C01A460 */ lui $at, %hi(0xA4600004) # $at, 0xa460
|
||||
/* 000500 000004C0 AC280004 */ sw $t0, %lo(0xA4600004)($at)
|
||||
/* 000504 000004C4 3C0A0010 */ lui $t2, 0x0010 # $t2, 0x10
|
||||
/* 000508 000004C8 254AFFFF */ addiu $t2, 0xFFFF # addiu $t2, $t2, -1
|
||||
/* 00050C 000004CC 3C01A460 */ lui $at, %hi(0xA460000C) # $at, 0xa460
|
||||
/* 000510 000004D0 AC2A000C */ sw $t2, %lo(0xA460000C)($at)
|
||||
|
||||
.L000004D4:
|
||||
/* 000514 000004D4 00000000 */ nop
|
||||
/* 000518 000004D8 00000000 */ nop
|
||||
/* 00051C 000004DC 00000000 */ nop
|
||||
/* 000520 000004E0 00000000 */ nop
|
||||
/* 000524 000004E4 00000000 */ nop
|
||||
/* 000528 000004E8 00000000 */ nop
|
||||
/* 00052C 000004EC 00000000 */ nop
|
||||
/* 000530 000004F0 00000000 */ nop
|
||||
/* 000534 000004F4 00000000 */ nop
|
||||
/* 000538 000004F8 00000000 */ nop
|
||||
/* 00053C 000004FC 00000000 */ nop
|
||||
/* 000540 00000500 00000000 */ nop
|
||||
/* 000544 00000504 00000000 */ nop
|
||||
/* 000548 00000508 00000000 */ nop
|
||||
/* 00054C 0000050C 00000000 */ nop
|
||||
/* 000550 00000510 00000000 */ nop
|
||||
/* 000554 00000514 00000000 */ nop
|
||||
/* 000558 00000518 00000000 */ nop
|
||||
/* 00055C 0000051C 00000000 */ nop
|
||||
/* 000560 00000520 00000000 */ nop
|
||||
/* 000564 00000524 00000000 */ nop
|
||||
/* 000568 00000528 00000000 */ nop
|
||||
/* 00056C 0000052C 00000000 */ nop
|
||||
/* 000570 00000530 00000000 */ nop
|
||||
/* 000574 00000534 00000000 */ nop
|
||||
/* 000578 00000538 00000000 */ nop
|
||||
/* 00057C 0000053C 00000000 */ nop
|
||||
/* 000580 00000540 00000000 */ nop
|
||||
/* 000584 00000544 3C0BA460 */ lui $t3, %hi(0xA4600010) # $t3, 0xa460
|
||||
/* 000588 00000548 8D6B0010 */ lw $t3, %lo(0xA4600010)($t3)
|
||||
/* 00058C 0000054C 316B0001 */ andi $t3, $t3, 1
|
||||
/* 000590 00000550 1560FFE0 */ bnez $t3, .L000004D4
|
||||
/* 000594 00000554 00000000 */ nop
|
||||
/* 000598 00000558 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000
|
||||
/* 00059C 0000055C 8D640008 */ lw $a0, %lo(0xB0000008)($t3)
|
||||
/* 0005A0 00000560 02C02825 */ move $a1, $s6
|
||||
/* 0005A4 00000564 3C015D58 */ lui $at, (0x5D588B65 >> 16) # lui $at, 0x5d58
|
||||
/* 0005A8 00000568 34218B65 */ ori $at, (0x5D588B65 & 0xFFFF) # ori $at, $at, 0x8b65
|
||||
/* 0005AC 0000056C 00A10019 */ multu $a1, $at
|
||||
/* 0005B0 00000570 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0005B4 00000574 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0005B8 00000578 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0005BC 0000057C 3C1F0010 */ lui $ra, 0x10
|
||||
/* 0005C0 00000580 00001825 */ move $v1, $zero
|
||||
/* 0005C4 00000584 00004025 */ move $t0, $zero
|
||||
/* 0005C8 00000588 00804825 */ move $t1, $a0
|
||||
/* 0005CC 0000058C 240D0020 */ li $t5, 32
|
||||
/* 0005D0 00000590 00001012 */ mflo $v0
|
||||
/* 0005D4 00000594 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0005D8 00000598 00403825 */ move $a3, $v0
|
||||
/* 0005DC 0000059C 00405025 */ move $t2, $v0
|
||||
/* 0005E0 000005A0 00405825 */ move $t3, $v0
|
||||
/* 0005E4 000005A4 00408025 */ move $s0, $v0
|
||||
/* 0005E8 000005A8 00403025 */ move $a2, $v0
|
||||
/* 0005EC 000005AC 00406025 */ move $t4, $v0
|
||||
.L000005B0:
|
||||
/* 0005F0 000005B0 8D220000 */ lw $v0, ($t1)
|
||||
/* 0005F4 000005B4 00E21821 */ addu $v1, $a3, $v0
|
||||
/* 0005F8 000005B8 0067082B */ sltu $at, $v1, $a3
|
||||
/* 0005FC 000005BC 10200002 */ beqz $at, .L000005C8
|
||||
/* 000600 000005C0 00602825 */ move $a1, $v1
|
||||
/* 000604 000005C4 254A0001 */ addiu $t2, $t2, 1
|
||||
.L000005C8:
|
||||
/* 000608 000005C8 3043001F */ andi $v1, $v0, 0x1f
|
||||
/* 00060C 000005CC 01A37823 */ subu $t7, $t5, $v1
|
||||
/* 000610 000005D0 01E2C006 */ srlv $t8, $v0, $t7
|
||||
/* 000614 000005D4 00627004 */ sllv $t6, $v0, $v1
|
||||
/* 000618 000005D8 01D82025 */ or $a0, $t6, $t8
|
||||
/* 00061C 000005DC 00C2082B */ sltu $at, $a2, $v0
|
||||
/* 000620 000005E0 00A03825 */ move $a3, $a1
|
||||
/* 000624 000005E4 01625826 */ xor $t3, $t3, $v0
|
||||
/* 000628 000005E8 10200004 */ beqz $at, .L000005FC
|
||||
/* 00062C 000005EC 02048021 */ addu $s0, $s0, $a0
|
||||
/* 000630 000005F0 00E2C826 */ xor $t9, $a3, $v0
|
||||
/* 000634 000005F4 10000002 */ b .L00000600
|
||||
/* 000638 000005F8 03263026 */ xor $a2, $t9, $a2
|
||||
.L000005FC:
|
||||
/* 00063C 000005FC 00C43026 */ xor $a2, $a2, $a0
|
||||
.L00000600:
|
||||
/* 000640 00000600 25080004 */ addiu $t0, $t0, 4
|
||||
/* 000644 00000604 00507826 */ xor $t7, $v0, $s0
|
||||
/* 000648 00000608 25290004 */ addiu $t1, $t1, 4
|
||||
/* 00064C 0000060C 151FFFE8 */ bne $t0, $ra, .L000005B0
|
||||
/* 000650 00000610 01EC6021 */ addu $t4, $t7, $t4
|
||||
/* 000654 00000614 00EA7026 */ xor $t6, $a3, $t2
|
||||
/* 000658 00000618 01CB3826 */ xor $a3, $t6, $t3
|
||||
/* 00065C 0000061C 0206C026 */ xor $t8, $s0, $a2
|
||||
/* 000660 00000620 030C8026 */ xor $s0, $t8, $t4
|
||||
/* 000664 00000624 3C0BB000 */ lui $t3, %hi(0xB0000014) # $t3, 0xb000
|
||||
/* 000668 00000628 8D680010 */ lw $t0, %lo(0xB0000010)($t3)
|
||||
/* 00066C 0000062C 14E80006 */ bne $a3, $t0, .L00000648
|
||||
/* 000670 00000630 00000000 */ nop
|
||||
/* 000674 00000634 8D680014 */ lw $t0, %lo(0xB0000014)($t3)
|
||||
/* 000678 00000638 16080003 */ bne $s0, $t0, .L00000648
|
||||
/* 00067C 0000063C 00000000 */ nop
|
||||
/* 000680 00000640 04110003 */ bal func_00000650
|
||||
/* 000684 00000644 00000000 */ nop
|
||||
glabel func_00000648
|
||||
.L00000648:
|
||||
/* 000688 00000648 0411FFFF */ bal func_00000648
|
||||
/* 00068C 0000064C 00000000 */ nop
|
||||
glabel func_00000650
|
||||
/* 000690 00000650 3C09A408 */ lui $t1, 0xa408
|
||||
/* 000694 00000654 8D290000 */ lw $t1, ($t1)
|
||||
/* 000698 00000658 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 00069C 0000065C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0006A0 00000660 11200006 */ beqz $t1, .L0000067C
|
||||
/* 0006A4 00000664 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0006A8 00000668 240A0041 */ li $t2, 65
|
||||
/* 0006AC 0000066C 3C01A404 */ lui $at, %hi(0xA4040010) # $at, 0xa404
|
||||
/* 0006B0 00000670 AC2A0010 */ sw $t2, %lo(0xA4040010)($at)
|
||||
/* 0006B4 00000674 3C01A408 */ lui $at, 0xa408
|
||||
/* 0006B8 00000678 AC200000 */ sw $zero, ($at)
|
||||
.L0000067C:
|
||||
/* 0006BC 0000067C 3C0B00AA */ lui $t3, (0x00AAAAAE >> 16) # lui $t3, 0xaa
|
||||
/* 0006C0 00000680 356BAAAE */ ori $t3, (0x00AAAAAE & 0xFFFF) # ori $t3, $t3, 0xaaae
|
||||
/* 0006C4 00000684 3C01A404 */ lui $at, %hi(0xA4040010) # $at, 0xa404
|
||||
/* 0006C8 00000688 AC2B0010 */ sw $t3, %lo(0xA4040010)($at)
|
||||
/* 0006CC 0000068C 3C01A430 */ lui $at, %hi(0xA430000C) # $at, 0xa430
|
||||
/* 0006D0 00000690 24080555 */ li $t0, 1365
|
||||
/* 0006D4 00000694 AC28000C */ sw $t0, %lo(0xA430000C)($at)
|
||||
/* 0006D8 00000698 3C01A480 */ lui $at, %hi(0xA4800018) # $at, 0xa480
|
||||
/* 0006DC 0000069C AC200018 */ sw $zero, %lo(0xA4800018)($at)
|
||||
/* 0006E0 000006A0 3C01A450 */ lui $at, %hi(0xA450000C) # $at, 0xa450
|
||||
/* 0006E4 000006A4 AC20000C */ sw $zero, %lo(0xA450000C)($at)
|
||||
/* 0006E8 000006A8 3C01A430 */ lui $at, 0xa430
|
||||
/* 0006EC 000006AC 24090800 */ li $t1, 2048
|
||||
/* 0006F0 000006B0 AC290000 */ sw $t1, ($at)
|
||||
/* 0006F4 000006B4 24090002 */ li $t1, 2
|
||||
/* 0006F8 000006B8 3C01A460 */ lui $at, %hi(0xA4600010) # $at, 0xa460
|
||||
/* 0006FC 000006BC 3C08A000 */ lui $t0, %hi(0xA0000008) # $t0, 0xa000
|
||||
/* 000700 000006C0 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300
|
||||
/* 000704 000006C4 AC290010 */ sw $t1, %lo(0xA4600010)($at)
|
||||
/* 000708 000006C8 AD170014 */ sw $s7, %lo(0xA0000014)($t0)
|
||||
/* 00070C 000006CC AD15000C */ sw $s5, %lo(0xA000000C)($t0)
|
||||
/* 000710 000006D0 AD130004 */ sw $s3, %lo(0xA0000004)($t0)
|
||||
/* 000714 000006D4 12600004 */ beqz $s3, .L000006E8
|
||||
/* 000718 000006D8 AD140000 */ sw $s4, ($t0)
|
||||
/* 00071C 000006DC 3C09A600 */ lui $t1, 0xa600
|
||||
/* 000720 000006E0 10000003 */ b .L000006F0
|
||||
/* 000724 000006E4 25290000 */ addiu $t1, $t1, 0
|
||||
.L000006E8:
|
||||
/* 000728 000006E8 3C09B000 */ lui $t1, 0xb000
|
||||
/* 00072C 000006EC 25290000 */ addiu $t1, $t1, 0
|
||||
.L000006F0:
|
||||
/* 000730 000006F0 AD090008 */ sw $t1, %lo(0xA0000008)($t0)
|
||||
/* 000734 000006F4 3C08A400 */ lui $t0, 0xa400
|
||||
/* 000738 000006F8 25080000 */ addiu $t0, $t0, 0
|
||||
/* 00073C 000006FC 21091000 */ addi $t1, $t0, 0x1000
|
||||
.L00000700:
|
||||
/* 000740 00000700 25080004 */ addiu $t0, $t0, 4
|
||||
/* 000744 00000704 1509FFFE */ bne $t0, $t1, .L00000700
|
||||
/* 000748 00000708 AD00FFFC */ sw $zero, -4($t0)
|
||||
/* 00074C 0000070C 3C08A400 */ lui $t0, %hi(0xA4001000) # $t0, 0xa400
|
||||
/* 000750 00000710 25081000 */ addiu $t0, %lo(0xA4001000) # addiu $t0, $t0, 0x1000
|
||||
/* 000754 00000714 21091000 */ addi $t1, $t0, 0x1000
|
||||
.L00000718:
|
||||
/* 000758 00000718 25080004 */ addiu $t0, $t0, 4
|
||||
/* 00075C 0000071C 1509FFFE */ bne $t0, $t1, .L00000718
|
||||
/* 000760 00000720 AD00FFFC */ sw $zero, -4($t0)
|
||||
/* 000764 00000724 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000
|
||||
/* 000768 00000728 8D690008 */ lw $t1, %lo(0xB0000008)($t3)
|
||||
/* 00076C 0000072C 01200008 */ jr $t1
|
||||
/* 000770 00000730 00000000 */ nop
|
||||
/* 000774 00000734 00000000 */ nop
|
||||
glabel func_04000778
|
||||
/* 000778 00000738 27BDFF60 */ addiu $sp, $sp, -0xa0
|
||||
/* 00077C 0000073C AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 000780 00000740 AFB10044 */ sw $s1, 0x44($sp)
|
||||
/* 000784 00000744 00008825 */ move $s1, $zero
|
||||
/* 000788 00000748 00008025 */ move $s0, $zero
|
||||
/* 00078C 0000074C AFA20000 */ sw $v0, ($sp)
|
||||
/* 000790 00000750 AFA30004 */ sw $v1, 4($sp)
|
||||
/* 000794 00000754 AFA40008 */ sw $a0, 8($sp)
|
||||
/* 000798 00000758 AFA5000C */ sw $a1, 0xc($sp)
|
||||
/* 00079C 0000075C AFA60010 */ sw $a2, 0x10($sp)
|
||||
/* 0007A0 00000760 AFA70014 */ sw $a3, 0x14($sp)
|
||||
/* 0007A4 00000764 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 0007A8 00000768 AFA9001C */ sw $t1, 0x1c($sp)
|
||||
/* 0007AC 0000076C AFAA0020 */ sw $t2, 0x20($sp)
|
||||
/* 0007B0 00000770 AFAB0024 */ sw $t3, 0x24($sp)
|
||||
/* 0007B4 00000774 AFAC0028 */ sw $t4, 0x28($sp)
|
||||
/* 0007B8 00000778 AFAD002C */ sw $t5, 0x2c($sp)
|
||||
/* 0007BC 0000077C AFAE0030 */ sw $t6, 0x30($sp)
|
||||
/* 0007C0 00000780 AFAF0034 */ sw $t7, 0x34($sp)
|
||||
/* 0007C4 00000784 AFB80038 */ sw $t8, 0x38($sp)
|
||||
/* 0007C8 00000788 AFB9003C */ sw $t9, 0x3c($sp)
|
||||
/* 0007CC 0000078C AFB20048 */ sw $s2, 0x48($sp)
|
||||
/* 0007D0 00000790 AFB3004C */ sw $s3, 0x4c($sp)
|
||||
/* 0007D4 00000794 AFB40050 */ sw $s4, 0x50($sp)
|
||||
/* 0007D8 00000798 AFB50054 */ sw $s5, 0x54($sp)
|
||||
/* 0007DC 0000079C AFB60058 */ sw $s6, 0x58($sp)
|
||||
/* 0007E0 000007A0 AFB7005C */ sw $s7, 0x5c($sp)
|
||||
/* 0007E4 000007A4 AFBE0060 */ sw $fp, 0x60($sp)
|
||||
/* 0007E8 000007A8 AFBF0064 */ sw $ra, 0x64($sp)
|
||||
.L000007AC:
|
||||
/* 0007EC 000007AC 0D000220 */ jal func_04000880
|
||||
/* 0007F0 000007B0 00000000 */ nop
|
||||
/* 0007F4 000007B4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0007F8 000007B8 2A090004 */ slti $t1, $s0, 4
|
||||
/* 0007FC 000007BC 1520FFFB */ bnez $t1, .L000007AC
|
||||
/* 000800 000007C0 02228821 */ addu $s1, $s1, $v0
|
||||
/* 000804 000007C4 00112082 */ srl $a0, $s1, 2
|
||||
/* 000808 000007C8 0D000290 */ jal func_04000A40
|
||||
/* 00080C 000007CC 24050001 */ li $a1, 1
|
||||
/* 000810 000007D0 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
/* 000814 000007D4 00111082 */ srl $v0, $s1, 2
|
||||
/* 000818 000007D8 8FB10044 */ lw $s1, 0x44($sp)
|
||||
/* 00081C 000007DC 8FA30004 */ lw $v1, 4($sp)
|
||||
/* 000820 000007E0 8FA40008 */ lw $a0, 8($sp)
|
||||
/* 000824 000007E4 8FA5000C */ lw $a1, 0xc($sp)
|
||||
/* 000828 000007E8 8FA60010 */ lw $a2, 0x10($sp)
|
||||
/* 00082C 000007EC 8FA70014 */ lw $a3, 0x14($sp)
|
||||
/* 000830 000007F0 8FA80018 */ lw $t0, 0x18($sp)
|
||||
/* 000834 000007F4 8FA9001C */ lw $t1, 0x1c($sp)
|
||||
/* 000838 000007F8 8FAA0020 */ lw $t2, 0x20($sp)
|
||||
/* 00083C 000007FC 8FAB0024 */ lw $t3, 0x24($sp)
|
||||
/* 000840 00000800 8FAC0028 */ lw $t4, 0x28($sp)
|
||||
/* 000844 00000804 8FAD002C */ lw $t5, 0x2c($sp)
|
||||
/* 000848 00000808 8FAE0030 */ lw $t6, 0x30($sp)
|
||||
/* 00084C 0000080C 8FAF0034 */ lw $t7, 0x34($sp)
|
||||
/* 000850 00000810 8FB80038 */ lw $t8, 0x38($sp)
|
||||
/* 000854 00000814 8FB9003C */ lw $t9, 0x3c($sp)
|
||||
/* 000858 00000818 8FB00040 */ lw $s0, 0x40($sp)
|
||||
/* 00085C 0000081C 8FB20048 */ lw $s2, 0x48($sp)
|
||||
/* 000860 00000820 8FB3004C */ lw $s3, 0x4c($sp)
|
||||
/* 000864 00000824 8FB40050 */ lw $s4, 0x50($sp)
|
||||
/* 000868 00000828 8FB50054 */ lw $s5, 0x54($sp)
|
||||
/* 00086C 0000082C 8FB60058 */ lw $s6, 0x58($sp)
|
||||
/* 000870 00000830 8FB7005C */ lw $s7, 0x5c($sp)
|
||||
/* 000874 00000834 8FBE0060 */ lw $fp, 0x60($sp)
|
||||
/* 000878 00000838 03E00008 */ jr $ra
|
||||
/* 00087C 0000083C 27BD00A0 */ addiu $sp, $sp, 0xa0
|
||||
|
||||
glabel func_04000880
|
||||
/* 000880 00000840 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 000884 00000844 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 000888 00000848 00004825 */ move $t1, $zero
|
||||
/* 00088C 0000084C 00005825 */ move $t3, $zero
|
||||
/* 000890 00000850 00006025 */ move $t4, $zero
|
||||
.L00000854:
|
||||
/* 000894 00000854 299A0040 */ slti $k0, $t4, 0x40
|
||||
/* 000898 00000858 53400018 */ beql $k0, $zero, .L000008BC
|
||||
/* 00089C 0000085C 00001025 */ move $v0, $zero
|
||||
/* 0008A0 00000860 0D000243 */ jal func_0400090C
|
||||
/* 0008A4 00000864 01802025 */ move $a0, $t4
|
||||
/* 0008A8 00000868 58400008 */ blezl $v0, .L0000088C
|
||||
/* 0008AC 0000086C 293A0050 */ slti $k0, $t1, 0x50
|
||||
/* 0008B0 00000870 0049D023 */ subu $k0, $v0, $t1
|
||||
/* 0008B4 00000874 034C0019 */ multu $k0, $t4
|
||||
/* 0008B8 00000878 00404825 */ move $t1, $v0
|
||||
/* 0008BC 0000087C 0000D012 */ mflo $k0
|
||||
/* 0008C0 00000880 017A5821 */ addu $t3, $t3, $k0
|
||||
/* 0008C4 00000884 00000000 */ nop
|
||||
/* 0008C8 00000888 293A0050 */ slti $k0, $t1, 0x50
|
||||
.L0000088C:
|
||||
/* 0008CC 0000088C 1740FFF1 */ bnez $k0, .L00000854
|
||||
/* 0008D0 00000890 258C0001 */ addiu $t4, $t4, 1
|
||||
/* 0008D4 00000894 000B2080 */ sll $a0, $t3, 2
|
||||
/* 0008D8 00000898 008B2023 */ subu $a0, $a0, $t3
|
||||
/* 0008DC 0000089C 00042080 */ sll $a0, $a0, 2
|
||||
/* 0008E0 000008A0 008B2023 */ subu $a0, $a0, $t3
|
||||
/* 0008E4 000008A4 00042040 */ sll $a0, $a0, 1
|
||||
/* 0008E8 000008A8 0D000260 */ jal func_04000980
|
||||
/* 0008EC 000008AC 2484FC90 */ addiu $a0, $a0, -0x370
|
||||
/* 0008F0 000008B0 10000003 */ b .L000008C0
|
||||
/* 0008F4 000008B4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0008F8 000008B8 00001025 */ move $v0, $zero
|
||||
.L000008BC:
|
||||
/* 0008FC 000008BC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L000008C0:
|
||||
/* 000900 000008C0 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 000904 000008C4 03E00008 */ jr $ra
|
||||
/* 000908 000008C8 00000000 */ nop
|
||||
|
||||
glabel func_0400090C
|
||||
/* 00090C 000008CC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 000910 000008D0 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 000914 000008D4 00001025 */ move $v0, $zero
|
||||
/* 000918 000008D8 0D000290 */ jal func_04000A40
|
||||
/* 00091C 000008DC 24050002 */ li $a1, 2
|
||||
/* 000920 000008E0 0000F025 */ move $fp, $zero
|
||||
/* 000924 000008E4 241AFFFF */ li $k0, -1
|
||||
.L000008E8:
|
||||
/* 000928 000008E8 AE9A0004 */ sw $k0, 4($s4)
|
||||
/* 00092C 000008EC 8E830004 */ lw $v1, 4($s4)
|
||||
/* 000930 000008F0 AE9A0000 */ sw $k0, ($s4)
|
||||
/* 000934 000008F4 AE9A0000 */ sw $k0, ($s4)
|
||||
/* 000938 000008F8 0000E025 */ move $gp, $zero
|
||||
/* 00093C 000008FC 00031C02 */ srl $v1, $v1, 0x10
|
||||
.L00000900:
|
||||
/* 000940 00000900 307A0001 */ andi $k0, $v1, 1
|
||||
/* 000944 00000904 53400003 */ beql $k0, $zero, .L00000914
|
||||
/* 000948 00000908 279C0001 */ addiu $gp, $gp, 1
|
||||
/* 00094C 0000090C 24420001 */ addiu $v0, $v0, 1
|
||||
/* 000950 00000910 279C0001 */ addiu $gp, $gp, 1
|
||||
.L00000914:
|
||||
/* 000954 00000914 2B9A0008 */ slti $k0, $gp, 8
|
||||
/* 000958 00000918 1740FFF9 */ bnez $k0, .L00000900
|
||||
/* 00095C 0000091C 00031842 */ srl $v1, $v1, 1
|
||||
/* 000960 00000920 27DE0001 */ addiu $fp, $fp, 1
|
||||
/* 000964 00000924 2BDA000A */ slti $k0, $fp, 0xa
|
||||
/* 000968 00000928 5740FFEF */ bnezl $k0, .L000008E8
|
||||
/* 00096C 0000092C 241AFFFF */ li $k0, -1
|
||||
/* 000970 00000930 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 000974 00000934 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 000978 00000938 03E00008 */ jr $ra
|
||||
/* 00097C 0000093C 00000000 */ nop
|
||||
glabel func_04000980
|
||||
/* 000980 00000940 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 000984 00000944 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 000988 00000948 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 00098C 0000094C A3A00027 */ sb $zero, 0x27($sp)
|
||||
/* 000990 00000950 00004025 */ move $t0, $zero
|
||||
/* 000994 00000954 00005025 */ move $t2, $zero
|
||||
/* 000998 00000958 340DC800 */ li $t5, 51200
|
||||
/* 00099C 0000095C 00007025 */ move $t6, $zero
|
||||
/* 0009A0 00000960 29DA0040 */ slti $k0, $t6, 0x40
|
||||
.L00000964:
|
||||
/* 0009A4 00000964 57400004 */ bnezl $k0, .L00000978
|
||||
/* 0009A8 00000968 01C02025 */ move $a0, $t6
|
||||
/* 0009AC 0000096C 10000020 */ b .L000009F0
|
||||
/* 0009B0 00000970 00001025 */ move $v0, $zero
|
||||
/* 0009B4 00000974 01C02025 */ move $a0, $t6
|
||||
.L00000978:
|
||||
/* 0009B8 00000978 0D000290 */ jal func_04000A40
|
||||
/* 0009BC 0000097C 24050001 */ li $a1, 1
|
||||
/* 0009C0 00000980 0D0002B4 */ jal func_04000AD0
|
||||
/* 0009C4 00000984 27A40027 */ addiu $a0, $sp, 0x27
|
||||
/* 0009C8 00000988 0D0002B4 */ jal func_04000AD0
|
||||
/* 0009CC 0000098C 27A40027 */ addiu $a0, $sp, 0x27
|
||||
/* 0009D0 00000990 93BA0027 */ lbu $k0, 0x27($sp)
|
||||
/* 0009D4 00000994 241B0320 */ li $k1, 800
|
||||
/* 0009D8 00000998 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 0009DC 0000099C 035B0019 */ multu $k0, $k1
|
||||
/* 0009E0 000009A0 00004012 */ mflo $t0
|
||||
/* 0009E4 000009A4 0104D023 */ subu $k0, $t0, $a0
|
||||
/* 0009E8 000009A8 07430003 */ bgezl $k0, .L000009B8
|
||||
/* 0009EC 000009AC 034DD82A */ slt $k1, $k0, $t5
|
||||
/* 0009F0 000009B0 0088D023 */ subu $k0, $a0, $t0
|
||||
/* 0009F4 000009B4 034DD82A */ slt $k1, $k0, $t5
|
||||
.L000009B8:
|
||||
/* 0009F8 000009B8 53600004 */ beql $k1, $zero, .L000009CC
|
||||
/* 0009FC 000009BC 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 000A00 000009C0 03406825 */ move $t5, $k0
|
||||
/* 000A04 000009C4 01C05025 */ move $t2, $t6
|
||||
/* 000A08 000009C8 8FA40020 */ lw $a0, 0x20($sp)
|
||||
.L000009CC:
|
||||
/* 000A0C 000009CC 0104D82A */ slt $k1, $t0, $a0
|
||||
/* 000A10 000009D0 53600006 */ beql $k1, $zero, .L000009EC
|
||||
/* 000A14 000009D4 014E1021 */ addu $v0, $t2, $t6
|
||||
/* 000A18 000009D8 25CE0001 */ addiu $t6, $t6, 1
|
||||
/* 000A1C 000009DC 29DB0041 */ slti $k1, $t6, 0x41
|
||||
/* 000A20 000009E0 5760FFE0 */ bnezl $k1, .L00000964
|
||||
/* 000A24 000009E4 29DA0040 */ slti $k0, $t6, 0x40
|
||||
/* 000A28 000009E8 014E1021 */ addu $v0, $t2, $t6
|
||||
.L000009EC:
|
||||
/* 000A2C 000009EC 00021042 */ srl $v0, $v0, 1
|
||||
.L000009F0:
|
||||
/* 000A30 000009F0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 000A34 000009F4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 000A38 000009F8 03E00008 */ jr $ra
|
||||
/* 000A3C 000009FC 00000000 */ nop
|
||||
|
||||
glabel func_04000A40
|
||||
/* 000A40 00000A00 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 000A44 00000A04 308400FF */ andi $a0, $a0, 0xff
|
||||
/* 000A48 00000A08 241B0001 */ li $k1, 1
|
||||
/* 000A4C 00000A0C 3884003F */ xori $a0, $a0, 0x3f
|
||||
/* 000A50 00000A10 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 000A54 00000A14 14BB0003 */ bne $a1, $k1, .L00000A24
|
||||
/* 000A58 00000A18 3C0F4600 */ lui $t7, 0x4600
|
||||
/* 000A5C 00000A1C 3C1A8000 */ lui $k0, 0x8000
|
||||
/* 000A60 00000A20 01FA7825 */ or $t7, $t7, $k0
|
||||
.L00000A24:
|
||||
/* 000A64 00000A24 309A0001 */ andi $k0, $a0, 1
|
||||
/* 000A68 00000A28 001AD180 */ sll $k0, $k0, 6
|
||||
/* 000A6C 00000A2C 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000A70 00000A30 309A0002 */ andi $k0, $a0, 2
|
||||
/* 000A74 00000A34 001AD340 */ sll $k0, $k0, 0xd
|
||||
/* 000A78 00000A38 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000A7C 00000A3C 309A0004 */ andi $k0, $a0, 4
|
||||
/* 000A80 00000A40 001AD500 */ sll $k0, $k0, 0x14
|
||||
/* 000A84 00000A44 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000A88 00000A48 309A0008 */ andi $k0, $a0, 8
|
||||
/* 000A8C 00000A4C 001AD100 */ sll $k0, $k0, 4
|
||||
/* 000A90 00000A50 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000A94 00000A54 309A0010 */ andi $k0, $a0, 0x10
|
||||
/* 000A98 00000A58 001AD2C0 */ sll $k0, $k0, 0xb
|
||||
/* 000A9C 00000A5C 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000AA0 00000A60 309A0020 */ andi $k0, $a0, 0x20
|
||||
/* 000AA4 00000A64 001AD480 */ sll $k0, $k0, 0x12
|
||||
/* 000AA8 00000A68 01FA7825 */ or $t7, $t7, $k0
|
||||
/* 000AAC 00000A6C 241B0001 */ li $k1, 1
|
||||
/* 000AB0 00000A70 14BB0003 */ bne $a1, $k1, .L00000A80
|
||||
/* 000AB4 00000A74 AEAF0000 */ sw $t7, ($s5)
|
||||
/* 000AB8 00000A78 3C1AA430 */ lui $k0, 0xa430
|
||||
/* 000ABC 00000A7C AF400000 */ sw $zero, ($k0)
|
||||
.L00000A80:
|
||||
/* 000AC0 00000A80 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 000AC4 00000A84 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 000AC8 00000A88 03E00008 */ jr $ra
|
||||
/* 000ACC 00000A8C 00000000 */ nop
|
||||
|
||||
glabel func_04000AD0
|
||||
/* 000AD0 00000A90 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 000AD4 00000A94 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 000AD8 00000A98 241A2000 */ li $k0, 8192
|
||||
/* 000ADC 00000A9C 3C1BA430 */ lui $k1, 0xa430
|
||||
/* 000AE0 00000AA0 AF7A0000 */ sw $k0, ($k1)
|
||||
/* 000AE4 00000AA4 0000F025 */ move $fp, $zero
|
||||
/* 000AE8 00000AA8 8EBE0000 */ lw $fp, ($s5)
|
||||
/* 000AEC 00000AAC 241A1000 */ li $k0, 4096
|
||||
/* 000AF0 00000AB0 AF7A0000 */ sw $k0, ($k1)
|
||||
/* 000AF4 00000AB4 241B0040 */ li $k1, 64
|
||||
/* 000AF8 00000AB8 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000AFC 00000ABC 001BD982 */ srl $k1, $k1, 6
|
||||
/* 000B00 00000AC0 0000D025 */ move $k0, $zero
|
||||
/* 000B04 00000AC4 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B08 00000AC8 241B4000 */ li $k1, 16384
|
||||
/* 000B0C 00000ACC 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000B10 00000AD0 001BDB42 */ srl $k1, $k1, 0xd
|
||||
/* 000B14 00000AD4 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B18 00000AD8 3C1B0040 */ lui $k1, 0x40
|
||||
/* 000B1C 00000ADC 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000B20 00000AE0 001BDD02 */ srl $k1, $k1, 0x14
|
||||
/* 000B24 00000AE4 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B28 00000AE8 241B0080 */ li $k1, 128
|
||||
/* 000B2C 00000AEC 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000B30 00000AF0 001BD902 */ srl $k1, $k1, 4
|
||||
/* 000B34 00000AF4 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B38 00000AF8 341B8000 */ li $k1, 32768
|
||||
/* 000B3C 00000AFC 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000B40 00000B00 001BDAC2 */ srl $k1, $k1, 0xb
|
||||
/* 000B44 00000B04 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B48 00000B08 3C1B0080 */ lui $k1, 0x80
|
||||
/* 000B4C 00000B0C 037ED824 */ and $k1, $k1, $fp
|
||||
/* 000B50 00000B10 001BDC82 */ srl $k1, $k1, 0x12
|
||||
/* 000B54 00000B14 035BD025 */ or $k0, $k0, $k1
|
||||
/* 000B58 00000B18 A09A0000 */ sb $k0, ($a0)
|
||||
/* 000B5C 00000B1C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 000B60 00000B20 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 000B64 00000B24 03E00008 */ jr $ra
|
||||
/* 000B68 00000B28 00000000 */ nop
|
||||
/* 000B6C 00000B2C 00000000 */ nop
|
||||
|
||||
glabel ipl3_font
|
||||
/* replace me with converted images */
|
||||
.byte 0x02, 0x00, 0x10, 0x01, 0x40, 0x0a, 0x00, 0x88, 0x04, 0x40, 0x22
|
||||
.byte 0x02, 0x08, 0x10, 0x41, 0xff, 0x08, 0x08, 0x40, 0x44, 0x01, 0x20
|
||||
.byte 0x08, 0x7f, 0x02, 0x04, 0x10, 0x10, 0x80, 0x84, 0x04, 0x20, 0x41
|
||||
.byte 0xfe, 0x08, 0x08, 0x40, 0x22, 0x01, 0x10, 0x08, 0x80, 0x44, 0x04
|
||||
.byte 0x3f, 0xc0, 0x07, 0x00, 0xc6, 0x08, 0x08, 0x80, 0x24, 0x01, 0x40
|
||||
.byte 0x02, 0x00, 0x10, 0x00, 0x80, 0x02, 0x00, 0x90, 0x04, 0x40, 0x41
|
||||
.byte 0x8c, 0x03, 0x80, 0x7e, 0x02, 0x0c, 0x10, 0x10, 0x80, 0x44, 0x02
|
||||
.byte 0x20, 0x09, 0x00, 0x48, 0x02, 0x40, 0x12, 0x01, 0x10, 0x08, 0x80
|
||||
.byte 0x84, 0x18, 0x3f, 0x00, 0x7f, 0xe2, 0x00, 0x10, 0x00, 0x80, 0x04
|
||||
.byte 0x00, 0x20, 0x01, 0xff, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00
|
||||
.byte 0x80, 0x04, 0x00, 0x3f, 0xf0, 0x7f, 0xe2, 0x00, 0x10, 0x00, 0x80
|
||||
.byte 0x04, 0x00, 0x20, 0x01, 0xff, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10
|
||||
.byte 0x00, 0x80, 0x04, 0x00, 0x20, 0x00, 0x07, 0x00, 0xc6, 0x08, 0x08
|
||||
.byte 0x80, 0x24, 0x01, 0x40, 0x02, 0x00, 0x10, 0x00, 0x83, 0xf2, 0x00
|
||||
.byte 0x90, 0x04, 0x40, 0x61, 0x8d, 0x03, 0x88, 0x40, 0x12, 0x00, 0x90
|
||||
.byte 0x04, 0x80, 0x24, 0x01, 0x20, 0x09, 0xff, 0xc8, 0x02, 0x40, 0x12
|
||||
.byte 0x00, 0x90, 0x04, 0x80, 0x24, 0x01, 0x20, 0x08, 0x07, 0x00, 0x10
|
||||
.byte 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02
|
||||
.byte 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x03, 0x80, 0x00, 0x40
|
||||
.byte 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08
|
||||
.byte 0x00, 0x42, 0x02, 0x10, 0x10, 0x80, 0x82, 0x08, 0x0f, 0x80, 0x40
|
||||
.byte 0x22, 0x02, 0x10, 0x20, 0x82, 0x04, 0x20, 0x22, 0x01, 0x20, 0x0a
|
||||
.byte 0x80, 0x62, 0x02, 0x08, 0x10, 0x20, 0x80, 0x84, 0x02, 0x20, 0x08
|
||||
.byte 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00
|
||||
.byte 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x3f
|
||||
.byte 0xf0, 0x80, 0x0c, 0x00, 0x70, 0x07, 0x40, 0x5a, 0x02, 0xc8, 0x26
|
||||
.byte 0x41, 0x31, 0x11, 0x88, 0x8c, 0x28, 0x61, 0x43, 0x04, 0x18, 0x20
|
||||
.byte 0xc0, 0x04, 0x40, 0x23, 0x01, 0x14, 0x08, 0xa0, 0x44, 0x82, 0x22
|
||||
.byte 0x11, 0x10, 0x88, 0x44, 0x42, 0x22, 0x09, 0x10, 0x28, 0x81, 0x44
|
||||
.byte 0x06, 0x20, 0x10, 0x0f, 0x01, 0x86, 0x10, 0x08, 0x80, 0x48, 0x01
|
||||
.byte 0x40, 0x0a, 0x00, 0x50, 0x02, 0x80, 0x14, 0x00, 0x90, 0x08, 0x80
|
||||
.byte 0x43, 0x0c, 0x07, 0x80, 0x7f, 0x82, 0x02, 0x10, 0x08, 0x80, 0x44
|
||||
.byte 0x02, 0x20, 0x11, 0x01, 0x0f, 0xf0, 0x40, 0x02, 0x00, 0x10, 0x00
|
||||
.byte 0x80, 0x04, 0x00, 0x20, 0x00, 0x0f, 0x01, 0x86, 0x10, 0x08, 0x80
|
||||
.byte 0x48, 0x01, 0x40, 0x0a, 0x00, 0x50, 0x02, 0x80, 0x14, 0x10, 0x90
|
||||
.byte 0x48, 0x81, 0x43, 0x0c, 0x07, 0x90, 0x7f, 0x82, 0x02, 0x10, 0x08
|
||||
.byte 0x80, 0x44, 0x02, 0x20, 0x21, 0xfe, 0x08, 0x20, 0x40, 0x82, 0x04
|
||||
.byte 0x10, 0x10, 0x80, 0x84, 0x02, 0x20, 0x10, 0x1f, 0x81, 0x02, 0x10
|
||||
.byte 0x08, 0x80, 0x44, 0x00, 0x10, 0x00, 0x70, 0x00, 0x70, 0x00, 0x40
|
||||
.byte 0x01, 0x10, 0x08, 0x80, 0x42, 0x04, 0x0f, 0xc0, 0x7f, 0xf0, 0x10
|
||||
.byte 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02
|
||||
.byte 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x40, 0x22
|
||||
.byte 0x01, 0x10, 0x08, 0x80, 0x44, 0x02, 0x20, 0x11, 0x00, 0x88, 0x04
|
||||
.byte 0x40, 0x22, 0x01, 0x08, 0x10, 0x40, 0x81, 0x08, 0x07, 0x80, 0x40
|
||||
.byte 0x12, 0x00, 0x88, 0x08, 0x40, 0x42, 0x02, 0x08, 0x20, 0x41, 0x01
|
||||
.byte 0x10, 0x08, 0x80, 0x44, 0x01, 0x40, 0x0a, 0x00, 0x20, 0x01, 0x00
|
||||
.byte 0x82, 0x0c, 0x10, 0x60, 0x82, 0x8a, 0x24, 0x51, 0x22, 0x89, 0x14
|
||||
.byte 0x45, 0x14, 0x28, 0xa1, 0x45, 0x0a, 0x28, 0x20, 0x81, 0x04, 0x08
|
||||
.byte 0x20, 0x40, 0x11, 0x01, 0x04, 0x10, 0x20, 0x80, 0x88, 0x02, 0x80
|
||||
.byte 0x08, 0x00, 0x40, 0x05, 0x00, 0x44, 0x04, 0x10, 0x20, 0x82, 0x02
|
||||
.byte 0x20, 0x08, 0x40, 0x11, 0x01, 0x08, 0x08, 0x20, 0x80, 0x88, 0x04
|
||||
.byte 0x40, 0x14, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00
|
||||
.byte 0x20, 0x01, 0x00, 0x7f, 0xe0, 0x01, 0x00, 0x10, 0x01, 0x00, 0x08
|
||||
.byte 0x00, 0x80, 0x08, 0x00, 0x80, 0x08, 0x00, 0x80, 0x04, 0x00, 0x40
|
||||
.byte 0x04, 0x00, 0x3f, 0xf0, 0x0f, 0x80, 0x82, 0x08, 0x08, 0x40, 0x42
|
||||
.byte 0x02, 0x10, 0x10, 0x80, 0x84, 0x04, 0x20, 0x21, 0x01, 0x08, 0x08
|
||||
.byte 0x40, 0x41, 0x04, 0x07, 0xc0, 0x02, 0x00, 0x30, 0x02, 0x80, 0x04
|
||||
.byte 0x00, 0x20, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00
|
||||
.byte 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x0f, 0x00, 0x84, 0x08, 0x10
|
||||
.byte 0x40, 0x80, 0x04, 0x00, 0x20, 0x02, 0x00, 0x20, 0x02, 0x00, 0x20
|
||||
.byte 0x02, 0x00, 0x20, 0x02, 0x00, 0x1f, 0xe0, 0x0f, 0x00, 0x84, 0x08
|
||||
.byte 0x10, 0x40, 0x80, 0x04, 0x00, 0x40, 0x1c, 0x00, 0x10, 0x00, 0x40
|
||||
.byte 0x02, 0x08, 0x10, 0x40, 0x81, 0x08, 0x07, 0x80, 0x01, 0x00, 0x18
|
||||
.byte 0x00, 0xc0, 0x0a, 0x00, 0x90, 0x04, 0x80, 0x44, 0x04, 0x20, 0x21
|
||||
.byte 0x02, 0x08, 0x1f, 0xf8, 0x02, 0x00, 0x10, 0x00, 0x80, 0x1f, 0x81
|
||||
.byte 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x17, 0x80, 0xc2, 0x04, 0x08
|
||||
.byte 0x00, 0x40, 0x02, 0x08, 0x10, 0x40, 0x81, 0x08, 0x07, 0x80, 0x0f
|
||||
.byte 0x00, 0x84, 0x08, 0x10, 0x40, 0x82, 0x00, 0x10, 0x00, 0xbc, 0x06
|
||||
.byte 0x10, 0x20, 0x41, 0x02, 0x08, 0x10, 0x40, 0x81, 0x08, 0x07, 0x80
|
||||
.byte 0x3f, 0xc0, 0x02, 0x00, 0x20, 0x01, 0x00, 0x10, 0x00, 0x80, 0x04
|
||||
.byte 0x00, 0x40, 0x02, 0x00, 0x10, 0x01, 0x00, 0x08, 0x00, 0x40, 0x02
|
||||
.byte 0x00, 0x0f, 0x00, 0x84, 0x08, 0x10, 0x40, 0x82, 0x04, 0x08, 0x40
|
||||
.byte 0x3c, 0x02, 0x10, 0x20, 0x41, 0x02, 0x08, 0x10, 0x40, 0x81, 0x08
|
||||
.byte 0x07, 0x80, 0x0f, 0x00, 0x84, 0x08, 0x10, 0x40, 0x82, 0x04, 0x10
|
||||
.byte 0x20, 0x43, 0x01, 0xe8, 0x00, 0x40, 0x02, 0x08, 0x10, 0x40, 0x81
|
||||
.byte 0x08, 0x07, 0x80, 0x02, 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20
|
||||
.byte 0x01, 0x00, 0x08, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x20, 0x01, 0x00, 0xd8, 0x06, 0xc0, 0x12, 0x01, 0x20, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x22, 0x01, 0x10, 0x08
|
||||
.byte 0x87, 0xff, 0x04, 0x40, 0x22, 0x01, 0x10, 0x08, 0x83, 0xff, 0x84
|
||||
.byte 0x40, 0x22, 0x01, 0x10, 0x08, 0x80, 0xc0, 0x06, 0x00, 0x10, 0x01
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x80, 0x44, 0x41, 0x24, 0x05, 0x40, 0x1c, 0x00, 0x40, 0x07, 0x00
|
||||
.byte 0x54, 0x04, 0x90, 0x44, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x80, 0x04, 0x00, 0x20, 0x01, 0x00, 0x08, 0x0f, 0xfe, 0x02
|
||||
.byte 0x00, 0x10, 0x00, 0x80, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x30, 0x01, 0x80, 0x04, 0x00, 0x40, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f
|
||||
.byte 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x80, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x40, 0x04, 0x00, 0x40
|
||||
.byte 0x04, 0x00, 0x40, 0x04, 0x00, 0x40, 0x04, 0x00, 0x40, 0x04, 0x00
|
||||
.byte 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x60, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x0c, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x44, 0x04, 0x10, 0x20, 0x80
|
||||
.byte 0x04, 0x00, 0x40, 0x04, 0x00, 0x40, 0x02, 0x00, 0x10, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x20, 0x01, 0x00, 0x07, 0x00, 0xc6, 0x08, 0x08, 0x80
|
||||
.byte 0x24, 0x31, 0x42, 0x4a, 0x22, 0x51, 0x22, 0x89, 0x22, 0x36, 0x10
|
||||
.byte 0x02, 0x40, 0x21, 0x86, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00
|
||||
+1315
File diff suppressed because it is too large
Load Diff
+15
@@ -0,0 +1,15 @@
|
||||
#ifndef _BOSS_H_
|
||||
#define _BOSS_H_
|
||||
#include <ultra64.h>
|
||||
#include "bondgame.h"
|
||||
|
||||
struct memallocstring
|
||||
{
|
||||
s32 id;
|
||||
void *string;
|
||||
};
|
||||
|
||||
void set_loaded_stage(LEVELID stage);
|
||||
void bossInitDebugNoticeList(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,6 @@
|
||||
#include "ultra64.h"
|
||||
#include "c_data_filler.h"
|
||||
|
||||
//this defines the size of blank are to store compressed code at
|
||||
u8 c_data_array[0x11c00] = {0};
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _C_DATA_FILLER_H_
|
||||
#define _C_DATA_FILLER_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
extern u8 c_data_array[0x11c00];
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
|
||||
u8 cfb_16_a[320*240*2];
|
||||
u8 cfb_16_b[320*240*2];
|
||||
@@ -0,0 +1,278 @@
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
#include "ramrom.h"
|
||||
#include "deb.h"
|
||||
|
||||
/**
|
||||
* @file deb.c
|
||||
* This file contains debug related code.
|
||||
*
|
||||
* In particular, it seems to handle debug_notice_list
|
||||
*/
|
||||
|
||||
/* bss */
|
||||
extern char dword_CODE_bss_80060890[0x400];
|
||||
|
||||
|
||||
|
||||
/* data */
|
||||
u32 D_800232E0[] = {0, 0};
|
||||
u32 debug_notice_list[] = {0, 0, 0, 0};
|
||||
char * debug_notice_list_data = &dword_CODE_bss_80060890;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5920 70004D20
|
||||
* V0=p->match in debug.notice.list [800232E8] or NULL if not found
|
||||
* accepts: A0=p->name, A1=p->data
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void *debCheckIfDNLEntryExists(s32 arg0)
|
||||
{
|
||||
void *temp_s0;
|
||||
void *phi_s0;
|
||||
|
||||
phi_s0 = debug_notice_list;
|
||||
if (debug_notice_list != 0)
|
||||
{
|
||||
loop_1:
|
||||
if (something_with_strings_0(phi_s0->unk8, arg0) == 0)
|
||||
{
|
||||
return phi_s0;
|
||||
}
|
||||
temp_s0 = phi_s0->unk0;
|
||||
phi_s0 = temp_s0;
|
||||
if (temp_s0 != 0)
|
||||
{
|
||||
goto loop_1;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debCheckIfDNLEntryExists
|
||||
/* 005920 70004D20 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 005924 70004D24 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list)
|
||||
/* 00592C 70004D2C 8E1032E8 */ lw $s0, %lo(debug_notice_list)($s0)
|
||||
/* 005930 70004D30 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 005934 70004D34 00808825 */ move $s1, $a0
|
||||
/* 005938 70004D38 1200000B */ beqz $s0, .L70004D68
|
||||
/* 00593C 70004D3C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 005940 70004D40 8E040008 */ lw $a0, 8($s0)
|
||||
.L70004D44:
|
||||
/* 005944 70004D44 0C002A13 */ jal something_with_strings_0
|
||||
/* 005948 70004D48 02202825 */ move $a1, $s1
|
||||
/* 00594C 70004D4C 54400004 */ bnezl $v0, .L70004D60
|
||||
/* 005950 70004D50 8E100000 */ lw $s0, ($s0)
|
||||
/* 005954 70004D54 10000005 */ b .L70004D6C
|
||||
/* 005958 70004D58 02001025 */ move $v0, $s0
|
||||
/* 00595C 70004D5C 8E100000 */ lw $s0, ($s0)
|
||||
.L70004D60:
|
||||
/* 005960 70004D60 5600FFF8 */ bnezl $s0, .L70004D44
|
||||
/* 005964 70004D64 8E040008 */ lw $a0, 8($s0)
|
||||
.L70004D68:
|
||||
/* 005968 70004D68 00001025 */ move $v0, $zero
|
||||
.L70004D6C:
|
||||
/* 00596C 70004D6C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 005970 70004D70 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 005974 70004D74 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 005978 70004D78 03E00008 */ jr $ra
|
||||
/* 00597C 70004D7C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 5980 70004D80
|
||||
* V0=p->entry of size A0 allocated in debug.notice.list; entry allocated in block 6 on failure
|
||||
* accepts: A0=size
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
u32 debAllocateDNLEntry(s32 arg0)
|
||||
{
|
||||
u32 temp_v0;
|
||||
|
||||
temp_v0 = (debug_notice_list_data + arg0);
|
||||
if (&tlbthread >= temp_v0)
|
||||
{
|
||||
debug_notice_list_data = temp_v0;
|
||||
return debug_notice_list_data;
|
||||
}
|
||||
debug_notice_list_data = (u32) (temp_v0 - arg0);
|
||||
return mempAllocBytesInBank(6);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debAllocateDNLEntry
|
||||
/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data)
|
||||
/* 005984 70004D84 8C4232F8 */ lw $v0, %lo(debug_notice_list_data)($v0)
|
||||
/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(tlbthread)
|
||||
/* 00598C 70004D8C 25CE0C90 */ addiu $t6, %lo(tlbthread) # addiu $t6, $t6, 0xc90
|
||||
/* 005990 70004D90 00401825 */ move $v1, $v0
|
||||
/* 005994 70004D94 00441021 */ addu $v0, $v0, $a0
|
||||
/* 005998 70004D98 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 00599C 70004D9C 01C2082B */ sltu $at, $t6, $v0
|
||||
/* 0059A0 70004DA0 10200008 */ beqz $at, .L70004DC4
|
||||
/* 0059A4 70004DA4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0059A8 70004DA8 00441023 */ subu $v0, $v0, $a0
|
||||
/* 0059AC 70004DAC 3C018002 */ lui $at, %hi(debug_notice_list_data)
|
||||
/* 0059B0 70004DB0 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
|
||||
/* 0059B4 70004DB4 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0059B8 70004DB8 24050006 */ li $a1, 6
|
||||
/* 0059BC 70004DBC 10000005 */ b .L70004DD4
|
||||
/* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L70004DC4:
|
||||
/* 0059C4 70004DC4 3C018002 */ lui $at, %hi(debug_notice_list_data)
|
||||
/* 0059C8 70004DC8 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
|
||||
/* 0059CC 70004DCC 00601025 */ move $v0, $v1
|
||||
/* 0059D0 70004DD0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L70004DD4:
|
||||
/* 0059D4 70004DD4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0059D8 70004DD8 03E00008 */ jr $ra
|
||||
/* 0059DC 70004DDC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 59E0 70004DE0
|
||||
* V0=p->new entry added in debug.notice.list
|
||||
* accepts: A0=p->name, A1=p->data
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void debAllocateAndAddDNLEntry(s32 arg0, s32 arg1)
|
||||
{
|
||||
? temp_ret;
|
||||
|
||||
temp_ret = debAllocateDNLEntry(0x10);
|
||||
*temp_ret = (s32) debug_notice_list;
|
||||
temp_ret->unk4 = arg1;
|
||||
temp_ret->unk8 = arg0;
|
||||
debug_notice_list = temp_ret;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debAllocateAndAddDNLEntry
|
||||
/* 0059E0 70004DE0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0059E4 70004DE4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0059E8 70004DE8 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0059EC 70004DEC AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 0059F0 70004DF0 0C001360 */ jal debAllocateDNLEntry
|
||||
/* 0059F4 70004DF4 24040010 */ li $a0, 16
|
||||
/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list)
|
||||
/* 0059FC 70004DFC 246332E8 */ addiu $v1, %lo(debug_notice_list) # addiu $v1, $v1, 0x32e8
|
||||
/* 005A00 70004E00 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 005A04 70004E04 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 005A08 70004E08 8FAF001C */ lw $t7, 0x1c($sp)
|
||||
/* 005A0C 70004E0C AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 005A10 70004E10 8FB80018 */ lw $t8, 0x18($sp)
|
||||
/* 005A14 70004E14 AC580008 */ sw $t8, 8($v0)
|
||||
/* 005A18 70004E18 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005A1C 70004E1C AC620000 */ sw $v0, ($v1)
|
||||
/* 005A20 70004E20 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 005A24 70004E24 03E00008 */ jr $ra
|
||||
/* 005A28 70004E28 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5A2C 70004E2C
|
||||
* V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0
|
||||
*/
|
||||
void debInitDebugNoticeList(void)
|
||||
{
|
||||
debCheckAddDebugNoticeListEntry(&D_800232E0, "deb_c_debug");
|
||||
init_tlb();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 5A60 70004E60
|
||||
* V0=p->debug.notice.list entry for name A1 and data A0; generates if not found
|
||||
* accepts: A0=p->data, A1=p->name
|
||||
*/
|
||||
void debCheckAddDebugNoticeListEntry(void* data, char * string)
|
||||
{
|
||||
if (debCheckIfDNLEntryExists(string) == 0)
|
||||
{
|
||||
debAllocateAndAddDNLEntry(string, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5A98 70004E98
|
||||
* V0=0; scan debug.notice.list until a NULL pointer
|
||||
* likely this would have executed some function for each entry...
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void *debScanDNLEntries_NEUTERED(void)
|
||||
{
|
||||
void *temp_v0;
|
||||
void *phi_v0;
|
||||
|
||||
phi_v0 = debug_notice_list;
|
||||
if (debug_notice_list != 0)
|
||||
{
|
||||
loop_1:
|
||||
temp_v0 = *phi_v0;
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_v0 != 0)
|
||||
{
|
||||
goto loop_1;
|
||||
}
|
||||
}
|
||||
return debug_notice_list;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debScanDNLEntries_NEUTERED
|
||||
/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list)
|
||||
/* 005A9C 70004E9C 8C4232E8 */ lw $v0, %lo(debug_notice_list)($v0)
|
||||
/* 005AA0 70004EA0 10400004 */ beqz $v0, .L70004EB4
|
||||
/* 005AA4 70004EA4 00000000 */ nop
|
||||
/* 005AA8 70004EA8 8C420000 */ lw $v0, ($v0)
|
||||
.L70004EAC:
|
||||
/* 005AAC 70004EAC 5440FFFF */ bnezl $v0, .L70004EAC
|
||||
/* 005AB0 70004EB0 8C420000 */ lw $v0, ($v0)
|
||||
.L70004EB4:
|
||||
/* 005AB4 70004EB4 03E00008 */ jr $ra
|
||||
/* 005AB8 70004EB8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5ABC 70004EBC
|
||||
* unconditional return
|
||||
*/
|
||||
void debRemoved70004EBC(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 5AC4 70004EC4
|
||||
* A0->SP+0, A1->SP+4, A2->SP+8
|
||||
*/
|
||||
void debRemoved70004EC4(s32 arg0, s32 arg1, s32 arg2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _DEB_H_
|
||||
#define _DEB_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
void debInitDebugNoticeList(void);
|
||||
void debCheckAddDebugNoticeListEntry(void *arg0, char *string);
|
||||
|
||||
#endif
|
||||
+698
@@ -0,0 +1,698 @@
|
||||
#include "ultra64.h"
|
||||
#include "deb_print.h"
|
||||
#include "bondgame.h"
|
||||
|
||||
/**
|
||||
* @file deb_print.c
|
||||
* This file contains the stderr manager.
|
||||
*/
|
||||
|
||||
//im just padding
|
||||
u32 D_80023300 = 0;
|
||||
|
||||
|
||||
struct debug_processor_error_entry debug_processor_error_table[] = {
|
||||
{0x80000000, 0x80000000, "BD"},
|
||||
{0x8000, 0x8000, "IP8"},
|
||||
{0x4000, 0x4000, "IP7"},
|
||||
{0x2000, 0x2000, "IP6"},
|
||||
{0x1000, 0x1000, "IP5"},
|
||||
{0x800, 0x800, "IP4"},
|
||||
{0x400, 0x400, "IP3"},
|
||||
{0x200, 0x200, "IP2"},
|
||||
{0x100, 0x100, "IP1"},
|
||||
{0x7C, 0, "Int"},
|
||||
{0x7C, 4, "TLBmod"},
|
||||
{0x7C, 8, "TLBload"},
|
||||
{0x7C, 0xC, "TLBstore"},
|
||||
{0x7C, 0x10, "Address error on load or instruction fetch"},
|
||||
{0x7C, 0x14, "Address error on store"},
|
||||
{0x7C, 0x18, "Bus error exception on instruction fetch"},
|
||||
{0x7C, 0x1C, "Bus error exception on data reference"},
|
||||
{0x7C, 0x20, "Syscall"},
|
||||
{0x7C, 0x24, "Brk"},
|
||||
{0x7C, 0x28, "Reserved instruction"},
|
||||
{0x7C, 0x2C, "Cop unusable"},
|
||||
{0x7C, 0x30, "Overflow"},
|
||||
{0x7C, 0x34, "Trap"},
|
||||
{0x7C, 0x38, "Virtual coherency exception on intruction fetch"},
|
||||
{0x7C, 0x3C, "Fp exception"},
|
||||
{0x7C, 0x5C, "Watchpoint"},
|
||||
{0x7C, 0x7C, "Virtual coherency exception on data reference"},
|
||||
{0, 0, ""},
|
||||
{0x80000000, 0x80000000, "CU3"},
|
||||
{0x40000000, 0x40000000, "CU2"},
|
||||
{0x20000000, 0x20000000, "CU1"},
|
||||
{0x10000000, 0x10000000, "CU0"},
|
||||
{0x8000000, 0x8000000, "RP"},
|
||||
{0x4000000, 0x4000000, "FR"},
|
||||
{0x2000000, 0x2000000, "RE"},
|
||||
{0x400000, 0x400000, "BEV"},
|
||||
{0x200000, 0x200000, "TS"},
|
||||
{0x100000, 0x100000, "SR"},
|
||||
{0x40000, 0x40000, "CH"},
|
||||
{0x20000, 0x20000, "CE"},
|
||||
{0x10000, 0x10000, "DE"},
|
||||
{0x8000, 0x8000, "IM8"},
|
||||
{0x4000, 0x4000, "IM7"},
|
||||
{0x2000, 0x2000, "IM6"},
|
||||
{0x1000, 0x1000, "IM5"},
|
||||
{0x800, 0x800, "IM4"},
|
||||
{0x400, 0x400, "IM3"},
|
||||
{0x200, 0x200, "IM2"},
|
||||
{0x100, 0x100, "IM1"},
|
||||
{0x80, 0x80, "KX"},
|
||||
{0x40, 0x40, "SX"},
|
||||
{0x20, 0x20, "UX"},
|
||||
{0x18, 0x10, "USR"},
|
||||
{0x18, 8, "SUP"},
|
||||
{0x18, 0, "KER"},
|
||||
{4, 4, "ERL"},
|
||||
{2, 2, "EXL"},
|
||||
{1, 1, "IE"},
|
||||
{0, 0, ""},
|
||||
{0x1000000, 0x1000000, "FS"},
|
||||
{0x800000, 0x800000, "C"},
|
||||
{0x20000, 0x20000, "Unimplemented"},
|
||||
{0x10000, 0x10000, "Invalid op"},
|
||||
{0x8000, 0x8000, "/ by 0.0"},
|
||||
{0x4000, 0x4000, "Overflow"},
|
||||
{0x2000, 0x2000, "Underflow"},
|
||||
{0x1000, 0x1000, "Inexact op"},
|
||||
{0x800, 0x800, "EV"},
|
||||
{0x400, 0x400, "EZ"},
|
||||
{0x200, 0x200, "EO"},
|
||||
{0x100, 0x100, "EU"},
|
||||
{0x80, 0x80, "EI"},
|
||||
{0x40, 0x40, "FV"},
|
||||
{0x20, 0x20, "FZ"},
|
||||
{0x10, 0x10, "FO"},
|
||||
{8, 8, "FU"},
|
||||
{4, 4, "FI"},
|
||||
{3, 0, "RN"},
|
||||
{3, 1, "RZ"},
|
||||
{3, 2, "RP"},
|
||||
{3, 3, "RM"},
|
||||
{0, 0, ""} };
|
||||
|
||||
void *stack_ptrs_1[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
void *stack_ptrs_2[] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &sp_debug};
|
||||
void *stack_ptrs_3[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
char stderr_buffer[2280] = {0x0};
|
||||
|
||||
|
||||
//split more here likely
|
||||
u32 std_error_font_bitcode[] = {
|
||||
0x00000000, 0x22220200, 0x55000000, 0x5F5F500, 0x27427200,
|
||||
0x05124500, 0x34255300, 0x22000000, 0x24444420, 0x42222240,
|
||||
0x06F6F600, 0x272000, 0x240, 0x70000, 0x200,
|
||||
0x11224480, 0x25555200, 0x26222700, 0x25125700, 0x61211600,
|
||||
0x33557300, 0x64611600, 0x24655200, 0x71112200, 0x25755200,
|
||||
0x25531600, 0x200200, 0x200640, 0x1242100, 0x707000,
|
||||
0x4212400, 0x7120200, 0x25FF5700, 0x2557D00, 0x6575E00,
|
||||
0x7445300, 0x7555600, 0x7565700, 0x7564400, 0x7C95700,
|
||||
0x5575500, 0x7222700, 0x3111600, 0x5665500, 0x4445F00,
|
||||
0xDFF9D00, 0xF777D00, 0x7DD5700, 0x7564600, 0x7995770,
|
||||
0x7565500, 0x7461E00, 0x7222200, 0xD999600, 0xD552200,
|
||||
0xDF77500, 0xD625500, 0x5622600, 0x7125700, 0x32222230,
|
||||
0x44222110, 0x62222260, 0x25000000, 0x700, 0x42200000,
|
||||
0x67D700, 0x44755700, 0x788600, 0x117DD700, 0x6FC700,
|
||||
0x32722700, 0x7DD730, 0x44755500, 0x2622700, 0x2711130,
|
||||
0x44766500, 0x62222700, 0xFFFF00, 0x755D00, 0x6DD600,
|
||||
0x755740, 0x799710, 0x744600, 0x775700, 0x2722300,
|
||||
0x555700, 0x552200, 0x577500, 0x562500, 0x552220,
|
||||
0x703700, 0x12242210, 0x2222220, 0x42212240, 0x5A0000 };
|
||||
|
||||
void *ptr_videobuffer1 = 0;
|
||||
void *ptr_videobuffer2 = 0;
|
||||
|
||||
u32 padding_80024184[4] = {0};
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 6230 70005630
|
||||
* write char A2 to (A0,A1) in stderr
|
||||
* accepts: A0=xpos, A1=ypos, A2=char
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void write_char_to_pos_stderr(int xpos,int ypos,u8 letter) {
|
||||
if ((letter == 9) || (letter == 10)) {
|
||||
letter = 0;
|
||||
}
|
||||
if ((letter <= 0 || letter >= 0x20) && letter >= 0x7f) {
|
||||
letter = 0x3f;
|
||||
}
|
||||
if ((0 < xpos && xpos < 0x48) && (0 < ypos && ypos < 0x20)) {
|
||||
stderr_buffer[ypos * 0x47 + xpos] = letter;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel write_char_to_pos_stderr
|
||||
/* 006230 70005630 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* 006234 70005634 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 006238 70005638 24010009 */ li $at, 9
|
||||
/* 00623C 7000563C 01C03025 */ move $a2, $t6
|
||||
/* 006240 70005640 11C10004 */ beq $t6, $at, .L70005654
|
||||
/* 006244 70005644 01C01025 */ move $v0, $t6
|
||||
/* 006248 70005648 2401000A */ li $at, 10
|
||||
/* 00624C 7000564C 15C10003 */ bne $t6, $at, .L7000565C
|
||||
/* 006250 70005650 00000000 */ nop
|
||||
.L70005654:
|
||||
/* 006254 70005654 00003025 */ move $a2, $zero
|
||||
/* 006258 70005658 00001025 */ move $v0, $zero
|
||||
.L7000565C:
|
||||
/* 00625C 7000565C 18400002 */ blez $v0, .L70005668
|
||||
/* 006260 70005660 28410020 */ slti $at, $v0, 0x20
|
||||
/* 006264 70005664 14200003 */ bnez $at, .L70005674
|
||||
.L70005668:
|
||||
/* 006268 70005668 2841007F */ slti $at, $v0, 0x7f
|
||||
/* 00626C 7000566C 14200002 */ bnez $at, .L70005678
|
||||
/* 006270 70005670 00000000 */ nop
|
||||
.L70005674:
|
||||
/* 006274 70005674 2406003F */ li $a2, 63
|
||||
.L70005678:
|
||||
/* 006278 70005678 0480000E */ bltz $a0, .L700056B4
|
||||
/* 00627C 7000567C 28810048 */ slti $at, $a0, 0x48
|
||||
/* 006280 70005680 1020000C */ beqz $at, .L700056B4
|
||||
/* 006284 70005684 00000000 */ nop
|
||||
/* 006288 70005688 04A0000A */ bltz $a1, .L700056B4
|
||||
/* 00628C 7000568C 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 006290 70005690 10200008 */ beqz $at, .L700056B4
|
||||
/* 006294 70005694 000578C0 */ sll $t7, $a1, 3
|
||||
/* 006298 70005698 01E57821 */ addu $t7, $t7, $a1
|
||||
/* 00629C 7000569C 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0062A0 700056A0 01E57823 */ subu $t7, $t7, $a1
|
||||
/* 0062A4 700056A4 01E4C021 */ addu $t8, $t7, $a0
|
||||
/* 0062A8 700056A8 3C018002 */ lui $at, %hi(stderr_buffer)
|
||||
/* 0062AC 700056AC 00380821 */ addu $at, $at, $t8
|
||||
/* 0062B0 700056B0 A0263718 */ sb $a2, %lo(stderr_buffer)($at)
|
||||
.L700056B4:
|
||||
/* 0062B4 700056B4 03E00008 */ jr $ra
|
||||
/* 0062B8 700056B8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 62BC 700056BC
|
||||
* write char A0 to stderr
|
||||
* accepts: A0=char
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void __osRdbSend(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel __osRdbSend
|
||||
/* 0062BC 700056BC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0062C0 700056C0 308600FF */ andi $a2, $a0, 0xff
|
||||
/* 0062C4 700056C4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0062C8 700056C8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0062CC 700056CC AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0062D0 700056D0 10C00039 */ beqz $a2, .L700057B8
|
||||
/* 0062D4 700056D4 00C01025 */ move $v0, $a2
|
||||
/* 0062D8 700056D8 24010009 */ li $at, 9
|
||||
/* 0062DC 700056DC 14C1000A */ bne $a2, $at, .L70005708
|
||||
/* 0062E0 700056E0 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 0062E4 700056E4 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
.L700056E8:
|
||||
/* 0062E8 700056E8 0C0015AF */ jal __osRdbSend
|
||||
/* 0062EC 700056EC 24040020 */ li $a0, 32
|
||||
/* 0062F0 700056F0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 0062F4 700056F4 31CF0007 */ andi $t7, $t6, 7
|
||||
/* 0062F8 700056F8 15E0FFFB */ bnez $t7, .L700056E8
|
||||
/* 0062FC 700056FC 00000000 */ nop
|
||||
/* 006300 70005700 1000002E */ b .L700057BC
|
||||
/* 006304 70005704 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L70005708:
|
||||
/* 006308 70005708 2401000A */ li $at, 10
|
||||
/* 00630C 7000570C 14410008 */ bne $v0, $at, .L70005730
|
||||
/* 006310 70005710 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006314 70005714 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006318 70005718 8C780000 */ lw $t8, ($v1)
|
||||
/* 00631C 7000571C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 006320 70005720 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
/* 006324 70005724 27190001 */ addiu $t9, $t8, 1
|
||||
/* 006328 70005728 AC790000 */ sw $t9, ($v1)
|
||||
/* 00632C 7000572C AE000000 */ sw $zero, ($s0)
|
||||
.L70005730:
|
||||
/* 006330 70005730 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006334 70005734 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006338 70005738 8C650000 */ lw $a1, ($v1)
|
||||
/* 00633C 7000573C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 006340 70005740 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
/* 006344 70005744 28A1001F */ slti $at, $a1, 0x1f
|
||||
/* 006348 70005748 1420000A */ bnez $at, .L70005774
|
||||
/* 00634C 7000574C 24A4FFE2 */ addiu $a0, $a1, -0x1e
|
||||
/* 006350 70005750 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* 006354 70005754 0C0015F3 */ jal scroll_stderr_oneline
|
||||
/* 006358 70005758 A3A6002B */ sb $a2, 0x2b($sp)
|
||||
/* 00635C 7000575C 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006360 70005760 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006364 70005764 2408001E */ li $t0, 30
|
||||
/* 006368 70005768 8FA20024 */ lw $v0, 0x24($sp)
|
||||
/* 00636C 7000576C 93A6002B */ lbu $a2, 0x2b($sp)
|
||||
/* 006370 70005770 AC680000 */ sw $t0, ($v1)
|
||||
.L70005774:
|
||||
/* 006374 70005774 2401000A */ li $at, 10
|
||||
/* 006378 70005778 50410010 */ beql $v0, $at, .L700057BC
|
||||
/* 00637C 7000577C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 006380 70005780 8E040000 */ lw $a0, ($s0)
|
||||
/* 006384 70005784 0C00158C */ jal write_char_to_pos_stderr
|
||||
/* 006388 70005788 8C650000 */ lw $a1, ($v1)
|
||||
/* 00638C 7000578C 8E090000 */ lw $t1, ($s0)
|
||||
/* 006390 70005790 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006394 70005794 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006398 70005798 252A0001 */ addiu $t2, $t1, 1
|
||||
/* 00639C 7000579C 29410047 */ slti $at, $t2, 0x47
|
||||
/* 0063A0 700057A0 14200005 */ bnez $at, .L700057B8
|
||||
/* 0063A4 700057A4 AE0A0000 */ sw $t2, ($s0)
|
||||
/* 0063A8 700057A8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0063AC 700057AC AE000000 */ sw $zero, ($s0)
|
||||
/* 0063B0 700057B0 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0063B4 700057B4 AC6D0000 */ sw $t5, ($v1)
|
||||
.L700057B8:
|
||||
/* 0063B8 700057B8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L700057BC:
|
||||
/* 0063BC 700057BC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0063C0 700057C0 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 0063C4 700057C4 03E00008 */ jr $ra
|
||||
/* 0063C8 700057C8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 63CC 700057CC
|
||||
* scroll stderr down one line
|
||||
* accepts: A0=ypos
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 scroll_stderr_oneline(s32 arg0) {
|
||||
void *temp_a1_2;
|
||||
void *temp_a1;
|
||||
|
||||
// Node 0
|
||||
if (0 < arg0)
|
||||
{
|
||||
// Node 1
|
||||
// Node 2
|
||||
// Node 3
|
||||
temp_a1_2 = (&stderr_buffer + 3);
|
||||
stderr_buffer = (s8) stderr_buffer.unk47;
|
||||
stderr_buffer.unk1 = (s8) stderr_buffer.unk48;
|
||||
stderr_buffer.unk2 = (s8) stderr_buffer.unk49;
|
||||
// Node 4
|
||||
temp_a1 = (temp_a1_2 + 4);
|
||||
temp_a1->unk-3 = (s8) temp_a1_2->unk48;
|
||||
temp_a1->unk-2 = (s8) temp_a1_2->unk49;
|
||||
temp_a1->unk-1 = (s8) temp_a1_2->unk4A;
|
||||
temp_a1->unk-4 = (s8) temp_a1_2->unk47;
|
||||
if ((3 + 4) != 0x47)
|
||||
{
|
||||
goto loop_4;
|
||||
}
|
||||
// Node 5
|
||||
if ((&stderr_buffer + 0x47) != (stderr_buffer + 0x899))
|
||||
{
|
||||
goto loop_3;
|
||||
}
|
||||
// Node 6
|
||||
if (0 < (arg0 + -1))
|
||||
{
|
||||
goto loop_2;
|
||||
}
|
||||
}
|
||||
// (possible return value: (0 < arg0))
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel scroll_stderr_oneline
|
||||
/* 0063CC 700057CC 0004102A */ slt $v0, $zero, $a0
|
||||
/* 0063D0 700057D0 10400020 */ beqz $v0, .L70005854
|
||||
/* 0063D4 700057D4 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 0063D8 700057D8 3C088002 */ lui $t0, %hi(stderr_buffer + 0x899)
|
||||
/* 0063DC 700057DC 25083FB1 */ addiu $t0, %lo(stderr_buffer + 0x899) # addiu $t0, $t0, 0x3fb1
|
||||
/* 0063E0 700057E0 24070047 */ li $a3, 71
|
||||
.L700057E4:
|
||||
/* 0063E4 700057E4 3C0E8002 */ lui $t6, %hi(stderr_buffer)
|
||||
/* 0063E8 700057E8 25C63718 */ addiu $a2, $t6, %lo(stderr_buffer)
|
||||
/* 0063EC 700057EC 00C01825 */ move $v1, $a2
|
||||
.L700057F0:
|
||||
/* 0063F0 700057F0 90CF0047 */ lbu $t7, 0x47($a2)
|
||||
/* 0063F4 700057F4 90D80048 */ lbu $t8, 0x48($a2)
|
||||
/* 0063F8 700057F8 90D90049 */ lbu $t9, 0x49($a2)
|
||||
/* 0063FC 700057FC 24020003 */ li $v0, 3
|
||||
/* 006400 70005800 24650003 */ addiu $a1, $v1, 3
|
||||
/* 006404 70005804 A0CF0000 */ sb $t7, ($a2)
|
||||
/* 006408 70005808 A0D80001 */ sb $t8, 1($a2)
|
||||
/* 00640C 7000580C A0D90002 */ sb $t9, 2($a2)
|
||||
.L70005810:
|
||||
/* 006410 70005810 90AA0048 */ lbu $t2, 0x48($a1)
|
||||
/* 006414 70005814 90AB0049 */ lbu $t3, 0x49($a1)
|
||||
/* 006418 70005818 90AC004A */ lbu $t4, 0x4a($a1)
|
||||
/* 00641C 7000581C 90A90047 */ lbu $t1, 0x47($a1)
|
||||
/* 006420 70005820 24420004 */ addiu $v0, $v0, 4
|
||||
/* 006424 70005824 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 006428 70005828 A0AAFFFD */ sb $t2, -3($a1)
|
||||
/* 00642C 7000582C A0ABFFFE */ sb $t3, -2($a1)
|
||||
/* 006430 70005830 A0ACFFFF */ sb $t4, -1($a1)
|
||||
/* 006434 70005834 1447FFF6 */ bne $v0, $a3, .L70005810
|
||||
/* 006438 70005838 A0A9FFFC */ sb $t1, -4($a1)
|
||||
/* 00643C 7000583C 24C60047 */ addiu $a2, $a2, 0x47
|
||||
/* 006440 70005840 14C8FFEB */ bne $a2, $t0, .L700057F0
|
||||
/* 006444 70005844 24630047 */ addiu $v1, $v1, 0x47
|
||||
/* 006448 70005848 0004102A */ slt $v0, $zero, $a0
|
||||
/* 00644C 7000584C 1440FFE5 */ bnez $v0, .L700057E4
|
||||
/* 006450 70005850 2484FFFF */ addiu $a0, $a0, -1
|
||||
.L70005854:
|
||||
/* 006454 70005854 03E00008 */ jr $ra
|
||||
/* 006458 70005858 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 645C 7000585C
|
||||
* print char A2 to stderr screen position (A0,A1) in video buffer 1
|
||||
* accepts: A0=xpos, A1=ypos, A2=char
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void print_to_vidbuff1(s32 arg0, s32 arg1, ? arg2, s32 arg6, s32 arg7, s32 arg8) {
|
||||
s32 temp_at;
|
||||
void *temp_a0;
|
||||
void *temp_v1;
|
||||
void *temp_v1_2;
|
||||
void *temp_v1_3;
|
||||
void *temp_v1_4;
|
||||
|
||||
// Node 0
|
||||
if (arg8 == 0)
|
||||
{
|
||||
// Node 1
|
||||
}
|
||||
// Node 2
|
||||
temp_at = (arg8 < 0x7f);
|
||||
if (temp_at == 0)
|
||||
{
|
||||
// Node 3
|
||||
if (temp_at != 0)
|
||||
{
|
||||
// Node 4
|
||||
temp_a0 = (0x80020000 + (arg8 * 4));
|
||||
temp_v1 = (((arg6 * 2) + ptr_videobuffer1) + ((arg7 * get_video2_settings_txtClipW()) * 2));
|
||||
// Node 5
|
||||
if ((temp_a0->unk3F80 & 0x80000000) != 0)
|
||||
{
|
||||
// Node 6
|
||||
*temp_v1 = (u16)0xffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 7
|
||||
*temp_v1 = (u16)1;
|
||||
}
|
||||
// Node 8
|
||||
temp_v1_2 = (temp_v1 + 2);
|
||||
if (((temp_a0->unk3F80 * 2) & 0x80000000) != 0)
|
||||
{
|
||||
// Node 9
|
||||
*temp_v1_2 = (u16)0xffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 10
|
||||
*temp_v1_2 = (u16)1;
|
||||
}
|
||||
// Node 11
|
||||
temp_v1_3 = (temp_v1_2 + 2);
|
||||
if (((temp_a0->unk3F80 * 4) & 0x80000000) != 0)
|
||||
{
|
||||
// Node 12
|
||||
*temp_v1_3 = (u16)0xffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 13
|
||||
*temp_v1_3 = (u16)1;
|
||||
}
|
||||
// Node 14
|
||||
temp_v1_4 = (temp_v1_3 + 2);
|
||||
if (((temp_a0->unk3F80 * 8) & 0x80000000) != 0)
|
||||
{
|
||||
// Node 15
|
||||
*temp_v1_4 = (u16)0xffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 16
|
||||
*temp_v1_4 = (u16)1;
|
||||
}
|
||||
// Node 17
|
||||
if ((0 + 1) != 7)
|
||||
{
|
||||
goto loop_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
// (possible return value: get_video2_settings_txtClipW())
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel print_to_vidbuff1
|
||||
/* 00645C 7000585C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 006460 70005860 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 006464 70005864 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 006468 70005868 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 00646C 7000586C 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 006470 70005870 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 006474 70005874 93A50023 */ lbu $a1, 0x23($sp)
|
||||
/* 006478 70005878 54A00003 */ bnezl $a1, .L70005888
|
||||
/* 00647C 7000587C 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 006480 70005880 24050020 */ li $a1, 32
|
||||
/* 006484 70005884 28A10020 */ slti $at, $a1, 0x20
|
||||
.L70005888:
|
||||
/* 006488 70005888 1420003A */ bnez $at, .L70005974
|
||||
/* 00648C 7000588C 28A1007F */ slti $at, $a1, 0x7f
|
||||
/* 006490 70005890 10200038 */ beqz $at, .L70005974
|
||||
/* 006494 70005894 8FAE0018 */ lw $t6, 0x18($sp)
|
||||
/* 006498 70005898 8FAB001C */ lw $t3, 0x1c($sp)
|
||||
/* 00649C 7000589C 3C188002 */ lui $t8, %hi(ptr_videobuffer1)
|
||||
/* 0064A0 700058A0 8F18417C */ lw $t8, %lo(ptr_videobuffer1)($t8)
|
||||
/* 0064A4 700058A4 01620019 */ multu $t3, $v0
|
||||
/* 0064A8 700058A8 000E7840 */ sll $t7, $t6, 1
|
||||
/* 0064AC 700058AC 00057080 */ sll $t6, $a1, 2
|
||||
/* 0064B0 700058B0 3C048002 */ lui $a0, %hi(stderr_buffer+0x868)
|
||||
/* 0064B4 700058B4 008E2021 */ addu $a0, $a0, $t6
|
||||
/* 0064B8 700058B8 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 0064BC 700058BC 8C843F80 */ lw $a0, %lo(stderr_buffer+0x868)($a0)
|
||||
/* 0064C0 700058C0 3C058000 */ lui $a1, 0x8000
|
||||
/* 0064C4 700058C4 00004025 */ move $t0, $zero
|
||||
/* 0064C8 700058C8 00024840 */ sll $t1, $v0, 1
|
||||
/* 0064CC 700058CC 00006012 */ mflo $t4
|
||||
/* 0064D0 700058D0 000C6840 */ sll $t5, $t4, 1
|
||||
/* 0064D4 700058D4 032D1821 */ addu $v1, $t9, $t5
|
||||
/* 0064D8 700058D8 240A0007 */ li $t2, 7
|
||||
/* 0064DC 700058DC 24070001 */ li $a3, 1
|
||||
/* 0064E0 700058E0 3406FFFF */ li $a2, 65535
|
||||
.L700058E4:
|
||||
/* 0064E4 700058E4 00857824 */ and $t7, $a0, $a1
|
||||
/* 0064E8 700058E8 11E00003 */ beqz $t7, .L700058F8
|
||||
/* 0064EC 700058EC 0004C040 */ sll $t8, $a0, 1
|
||||
/* 0064F0 700058F0 10000002 */ b .L700058FC
|
||||
/* 0064F4 700058F4 A4660000 */ sh $a2, ($v1)
|
||||
.L700058F8:
|
||||
/* 0064F8 700058F8 A4670000 */ sh $a3, ($v1)
|
||||
.L700058FC:
|
||||
/* 0064FC 700058FC 03055824 */ and $t3, $t8, $a1
|
||||
/* 006500 70005900 24630002 */ addiu $v1, $v1, 2
|
||||
/* 006504 70005904 11600003 */ beqz $t3, .L70005914
|
||||
/* 006508 70005908 03002025 */ move $a0, $t8
|
||||
/* 00650C 7000590C 10000002 */ b .L70005918
|
||||
/* 006510 70005910 A4660000 */ sh $a2, ($v1)
|
||||
.L70005914:
|
||||
/* 006514 70005914 A4670000 */ sh $a3, ($v1)
|
||||
.L70005918:
|
||||
/* 006518 70005918 00046040 */ sll $t4, $a0, 1
|
||||
/* 00651C 7000591C 0185C824 */ and $t9, $t4, $a1
|
||||
/* 006520 70005920 01802025 */ move $a0, $t4
|
||||
/* 006524 70005924 13200003 */ beqz $t9, .L70005934
|
||||
/* 006528 70005928 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00652C 7000592C 10000002 */ b .L70005938
|
||||
/* 006530 70005930 A4660000 */ sh $a2, ($v1)
|
||||
.L70005934:
|
||||
/* 006534 70005934 A4670000 */ sh $a3, ($v1)
|
||||
.L70005938:
|
||||
/* 006538 70005938 00046840 */ sll $t5, $a0, 1
|
||||
/* 00653C 7000593C 01A57024 */ and $t6, $t5, $a1
|
||||
/* 006540 70005940 01A02025 */ move $a0, $t5
|
||||
/* 006544 70005944 11C00003 */ beqz $t6, .L70005954
|
||||
/* 006548 70005948 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00654C 7000594C 10000002 */ b .L70005958
|
||||
/* 006550 70005950 A4660000 */ sh $a2, ($v1)
|
||||
.L70005954:
|
||||
/* 006554 70005954 A4670000 */ sh $a3, ($v1)
|
||||
.L70005958:
|
||||
/* 006558 70005958 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00655C 7000595C 25080001 */ addiu $t0, $t0, 1
|
||||
/* 006560 70005960 00047840 */ sll $t7, $a0, 1
|
||||
/* 006564 70005964 00691821 */ addu $v1, $v1, $t1
|
||||
/* 006568 70005968 01E02025 */ move $a0, $t7
|
||||
/* 00656C 7000596C 150AFFDD */ bne $t0, $t2, .L700058E4
|
||||
/* 006570 70005970 2463FFF8 */ addiu $v1, $v1, -8
|
||||
.L70005974:
|
||||
/* 006574 70005974 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 006578 70005978 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 00657C 7000597C 03E00008 */ jr $ra
|
||||
/* 006580 70005980 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 6584 70005984
|
||||
* set pointers to video buffers 1 & 2 to A0 and A1, respectively
|
||||
* sets values to uncached addresses
|
||||
* A0 | A0000000 -> 8002417C
|
||||
* A1 | A0000000 -> 80024180
|
||||
*/
|
||||
|
||||
void set_ptr_video_buffers(s32 arg0, s32 arg1) {
|
||||
ptr_videobuffer1 = (s32) (arg0 | 0xa0000000);
|
||||
ptr_videobuffer2 = (s32) (arg1 | 0xa0000000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 65A4 700059A4
|
||||
* set pointers to video buffers 1 & 2
|
||||
* calls 70005984: A0=803B5000, A1=803DA800
|
||||
*/
|
||||
void set_video_buffer_pointers(void) {
|
||||
set_ptr_video_buffers(&cfb_16_a, &cfb_16_b);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 65D0 700059D0
|
||||
* write stderr to video buffer A0
|
||||
* accepts: A0=p->video buffer
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void write_stderr_to_buffer(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel write_stderr_to_buffer
|
||||
/* 0065D0 700059D0 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0065D4 700059D4 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0065D8 700059D8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0065DC 700059DC 00808025 */ move $s0, $a0
|
||||
/* 0065E0 700059E0 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0065E4 700059E4 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0065E8 700059E8 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0065EC 700059EC AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0065F0 700059F0 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0065F4 700059F4 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0065F8 700059F8 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0065FC 700059FC 0C001669 */ jal set_video_buffer_pointers
|
||||
/* 006600 70005A00 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 006604 70005A04 3C01A000 */ lui $at, 0xa000
|
||||
/* 006608 70005A08 02017025 */ or $t6, $s0, $at
|
||||
/* 00660C 70005A0C 3C018002 */ lui $at, %hi(ptr_videobuffer1)
|
||||
/* 006610 70005A10 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 006614 70005A14 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at)
|
||||
/* 006618 70005A18 2450FFF3 */ addiu $s0, $v0, -0xd
|
||||
/* 00661C 70005A1C 06010003 */ bgez $s0, .L70005A2C
|
||||
/* 006620 70005A20 00107883 */ sra $t7, $s0, 2
|
||||
/* 006624 70005A24 26010003 */ addiu $at, $s0, 3
|
||||
/* 006628 70005A28 00017883 */ sra $t7, $at, 2
|
||||
.L70005A2C:
|
||||
/* 00662C 70005A2C 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 006630 70005A30 01E08025 */ move $s0, $t7
|
||||
/* 006634 70005A34 2443FFF6 */ addiu $v1, $v0, -0xa
|
||||
/* 006638 70005A38 24010007 */ li $at, 7
|
||||
/* 00663C 70005A3C 0061001A */ div $zero, $v1, $at
|
||||
/* 006640 70005A40 00001812 */ mflo $v1
|
||||
/* 006644 70005A44 247EFFFF */ addiu $fp, $v1, -1
|
||||
/* 006648 70005A48 1BC00023 */ blez $fp, .L70005AD8
|
||||
/* 00664C 70005A4C 0000A825 */ move $s5, $zero
|
||||
/* 006650 70005A50 2616FFFB */ addiu $s6, $s0, -5
|
||||
/* 006654 70005A54 2417001F */ li $s7, 31
|
||||
/* 006658 70005A58 24140130 */ li $s4, 304
|
||||
.L70005A5C:
|
||||
/* 00665C 70005A5C 1AC00018 */ blez $s6, .L70005AC0
|
||||
/* 006660 70005A60 00008080 */ sll $s0, $zero, 2
|
||||
/* 006664 70005A64 0015C8C0 */ sll $t9, $s5, 3
|
||||
/* 006668 70005A68 0335C821 */ addu $t9, $t9, $s5
|
||||
/* 00666C 70005A6C 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 006670 70005A70 001590C0 */ sll $s2, $s5, 3
|
||||
/* 006674 70005A74 3C098002 */ lui $t1, %hi(stderr_buffer)
|
||||
/* 006678 70005A78 25293718 */ addiu $t1, %lo(stderr_buffer) # addiu $t1, $t1, 0x3718
|
||||
/* 00667C 70005A7C 02559023 */ subu $s2, $s2, $s5
|
||||
/* 006680 70005A80 0335C823 */ subu $t9, $t9, $s5
|
||||
/* 006684 70005A84 00169880 */ sll $s3, $s6, 2
|
||||
/* 006688 70005A88 26730014 */ addiu $s3, $s3, 0x14
|
||||
/* 00668C 70005A8C 03298821 */ addu $s1, $t9, $t1
|
||||
/* 006690 70005A90 26520007 */ addiu $s2, $s2, 7
|
||||
/* 006694 70005A94 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 006698 70005A98 02002025 */ move $a0, $s0
|
||||
.L70005A9C:
|
||||
/* 00669C 70005A9C 02402825 */ move $a1, $s2
|
||||
/* 0066A0 70005AA0 0C001617 */ jal print_to_vidbuff1
|
||||
/* 0066A4 70005AA4 92260000 */ lbu $a2, ($s1)
|
||||
/* 0066A8 70005AA8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0066AC 70005AAC 0213082A */ slt $at, $s0, $s3
|
||||
/* 0066B0 70005AB0 10200003 */ beqz $at, .L70005AC0
|
||||
/* 0066B4 70005AB4 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0066B8 70005AB8 5614FFF8 */ bnel $s0, $s4, .L70005A9C
|
||||
/* 0066BC 70005ABC 02002025 */ move $a0, $s0
|
||||
.L70005AC0:
|
||||
/* 0066C0 70005AC0 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 0066C4 70005AC4 02BE082A */ slt $at, $s5, $fp
|
||||
/* 0066C8 70005AC8 50200004 */ beql $at, $zero, .L70005ADC
|
||||
/* 0066CC 70005ACC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0066D0 70005AD0 16B7FFE2 */ bne $s5, $s7, .L70005A5C
|
||||
/* 0066D4 70005AD4 00000000 */ nop
|
||||
.L70005AD8:
|
||||
/* 0066D8 70005AD8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L70005ADC:
|
||||
/* 0066DC 70005ADC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0066E0 70005AE0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0066E4 70005AE4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0066E8 70005AE8 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0066EC 70005AEC 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0066F0 70005AF0 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0066F4 70005AF4 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0066F8 70005AF8 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0066FC 70005AFC 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 006700 70005B00 03E00008 */ jr $ra
|
||||
/* 006704 70005B04 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef _DEBUG_PRINT_H_
|
||||
#define _DEBUG_PRINT_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
//im just padding
|
||||
extern u32 D_80023300;
|
||||
|
||||
struct debug_processor_error_entry
|
||||
{
|
||||
u32 val1;
|
||||
u32 val2;
|
||||
void *string;
|
||||
};
|
||||
|
||||
extern struct debug_processor_error_entry debug_processor_error_table[];
|
||||
extern void *stack_ptrs_1[];
|
||||
extern void *stack_ptrs_2[];
|
||||
extern void *stack_ptrs_3[];
|
||||
extern char stderr_buffer[2280];
|
||||
|
||||
void write_stderr_to_buffer(u32 *buffer);
|
||||
#endif
|
||||
+852
@@ -0,0 +1,852 @@
|
||||
//FIXME my c code is modtly copy/paste from mips_to_c
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
#include "deb_video.h"
|
||||
|
||||
/**
|
||||
* @file deb_video.c
|
||||
* This file contains code to handle tlb paging.
|
||||
*
|
||||
* I should probably be renamed...
|
||||
*/
|
||||
|
||||
//bss
|
||||
char tlbthread[0x6B0];
|
||||
char tlbStack[0x2300];
|
||||
OSMesgQueue tlbMesgQ;
|
||||
u32 tlbMesgBuf;
|
||||
OSThread *ptr_tlbthread_maybe;
|
||||
u32 dword_CODE_bss_80063660;
|
||||
u32 *current_indy_read_buf_resourceID;
|
||||
u32 *ptr_indy_read_buf_string1;
|
||||
u32 *ptr_indy_read_buf_string2;
|
||||
char indy_read_buffer[0x60];
|
||||
|
||||
|
||||
/**
|
||||
* 5AE0 70004EE0
|
||||
*/
|
||||
void init_tlb(void) {
|
||||
set_video_buffer_pointers();
|
||||
osCreateMesgQueue(&tlbMesgQ, &tlbMesgBuf, 1);
|
||||
osCreateThread(&tlbthread, 5, &tlbproc, 0, &tlbStack, 0x28);
|
||||
osStartThread(&tlbthread);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5B54 70004F54
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void tlbproc(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel tlbproc
|
||||
/* 005B54 70004F54 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 005B58 70004F58 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 005B5C 70004F5C 3C178006 */ lui $s7, %hi(tlbMesgQ)
|
||||
/* 005B60 70004F60 26F73640 */ addiu $s7, %lo(tlbMesgQ) # addiu $s7, $s7, 0x3640
|
||||
/* 005B64 70004F64 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 005B68 70004F68 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 005B6C 70004F6C AFB6002C */ sw $s6, 0x2c($sp)
|
||||
/* 005B70 70004F70 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 005B74 70004F74 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 005B78 70004F78 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 005B7C 70004F7C AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 005B80 70004F80 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 005B84 70004F84 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005B88 70004F88 AFA0003C */ sw $zero, 0x3c($sp)
|
||||
/* 005B8C 70004F8C 2404000C */ li $a0, 12
|
||||
/* 005B90 70004F90 02E02825 */ move $a1, $s7
|
||||
/* 005B94 70004F94 0C003714 */ jal osSetEventMesg
|
||||
/* 005B98 70004F98 24060010 */ li $a2, 16
|
||||
/* 005B9C 70004F9C 3C018006 */ lui $at, %hi(dword_CODE_bss_80063660)
|
||||
/* 005BA0 70004FA0 3C168002 */ lui $s6, %hi(__osRunQueue)
|
||||
/* 005BA4 70004FA4 AC203660 */ sw $zero, %lo(dword_CODE_bss_80063660)($at)
|
||||
/* 005BA8 70004FA8 26D67728 */ addiu $s6, %lo(__osRunQueue) # addiu $s6, $s6, 0x7728
|
||||
/* 005BAC 70004FAC 2415000A */ li $s5, 10
|
||||
/* 005BB0 70004FB0 3C14FFC0 */ lui $s4, 0xffc0
|
||||
/* 005BB4 70004FB4 3C137F00 */ lui $s3, 0x7f00
|
||||
/* 005BB8 70004FB8 24120008 */ li $s2, 8
|
||||
/* 005BBC 70004FBC 27B1003C */ addiu $s1, $sp, 0x3c
|
||||
.L70004FC0:
|
||||
/* 005BC0 70004FC0 02E02025 */ move $a0, $s7
|
||||
.L70004FC4:
|
||||
/* 005BC4 70004FC4 02202825 */ move $a1, $s1
|
||||
/* 005BC8 70004FC8 0C003774 */ jal osRecvMesg
|
||||
/* 005BCC 70004FCC 24060001 */ li $a2, 1
|
||||
/* 005BD0 70004FD0 0C00374C */ jal osSetIntMask
|
||||
/* 005BD4 70004FD4 24040001 */ li $a0, 1
|
||||
/* 005BD8 70004FD8 0C004060 */ jal __osGetCurrFaultedThread
|
||||
/* 005BDC 70004FDC 00408025 */ move $s0, $v0
|
||||
/* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe)
|
||||
/* 005BE4 70004FE4 1040FFF6 */ beqz $v0, .L70004FC0
|
||||
/* 005BE8 70004FE8 AC22365C */ sw $v0, %lo(ptr_tlbthread_maybe)($at)
|
||||
/* 005BEC 70004FEC 8C4E0120 */ lw $t6, 0x120($v0)
|
||||
/* 005BF0 70004FF0 3C088006 */ lui $t0, %hi(ptr_tlbthread_maybe)
|
||||
/* 005BF4 70004FF4 31CF007C */ andi $t7, $t6, 0x7c
|
||||
/* 005BF8 70004FF8 164F0018 */ bne $s2, $t7, .L7000505C
|
||||
/* 005BFC 70004FFC 00000000 */ nop
|
||||
/* 005C00 70005000 8C580124 */ lw $t8, 0x124($v0)
|
||||
/* 005C04 70005004 0314C824 */ and $t9, $t8, $s4
|
||||
/* 005C08 70005008 16790014 */ bne $s3, $t9, .L7000505C
|
||||
/* 005C0C 7000500C 00000000 */ nop
|
||||
/* 005C10 70005010 8D08365C */ lw $t0, %lo(ptr_tlbthread_maybe)($t0)
|
||||
/* 005C14 70005014 0C000676 */ jal translate_load_rom_from_TLBaddress
|
||||
/* 005C18 70005018 8D040124 */ lw $a0, 0x124($t0)
|
||||
/* 005C1C 7000501C 3C098006 */ lui $t1, %hi(ptr_tlbthread_maybe)
|
||||
/* 005C20 70005020 8D29365C */ lw $t1, %lo(ptr_tlbthread_maybe)($t1)
|
||||
/* 005C24 70005024 3C0A8006 */ lui $t2, %hi(ptr_tlbthread_maybe)
|
||||
/* 005C28 70005028 3C058006 */ lui $a1, %hi(ptr_tlbthread_maybe)
|
||||
/* 005C2C 7000502C A5350010 */ sh $s5, 0x10($t1)
|
||||
/* 005C30 70005030 8D4A365C */ lw $t2, %lo(ptr_tlbthread_maybe)($t2)
|
||||
/* 005C34 70005034 02C02025 */ move $a0, $s6
|
||||
/* 005C38 70005038 A5400012 */ sh $zero, 0x12($t2)
|
||||
/* 005C3C 7000503C 0C00422B */ jal __osEnqueueThread
|
||||
/* 005C40 70005040 8CA5365C */ lw $a1, %lo(ptr_tlbthread_maybe)($a1)
|
||||
/* 005C44 70005044 0C00374C */ jal osSetIntMask
|
||||
/* 005C48 70005048 02002025 */ move $a0, $s0
|
||||
/* 005C4C 7000504C 0C0042B4 */ jal osYieldThread
|
||||
/* 005C50 70005050 00000000 */ nop
|
||||
/* 005C54 70005054 1000FFDB */ b .L70004FC4
|
||||
/* 005C58 70005058 02E02025 */ move $a0, $s7
|
||||
.L7000505C:
|
||||
/* 005C5C 7000505C 0C00374C */ jal osSetIntMask
|
||||
/* 005C60 70005060 02002025 */ move $a0, $s0
|
||||
.L70005064:
|
||||
/* 005C64 70005064 1000FFFF */ b .L70005064
|
||||
/* 005C68 70005068 00000000 */ nop
|
||||
/* 005C6C 7000506C 00000000 */ nop
|
||||
/* 005C70 70005070 00000000 */ nop
|
||||
/* 005C74 70005074 00000000 */ nop
|
||||
/* 005C78 70005078 00000000 */ nop
|
||||
/* 005C7C 7000507C 00000000 */ nop
|
||||
/* 005C80 70005080 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 005C84 70005084 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 005C88 70005088 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 005C8C 7000508C 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 005C90 70005090 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 005C94 70005094 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 005C98 70005098 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 005C9C 7000509C 8FB6002C */ lw $s6, 0x2c($sp)
|
||||
/* 005CA0 700050A0 8FB70030 */ lw $s7, 0x30($sp)
|
||||
/* 005CA4 700050A4 03E00008 */ jr $ra
|
||||
/* 005CA8 700050A8 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 5CAC 700050AC
|
||||
* V0= SP, A3=SP usage within function range (A1,A0) with initial SP A2
|
||||
* accepts: A0=p->opcode.cur, A1=p->opcode.start, A2=SP w/i function, A3=p->register buffer
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void debug_related_8(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_related_8
|
||||
/* 005CAC 700050AC 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* 005CB0 700050B0 AFA40010 */ sw $a0, 0x10($sp)
|
||||
/* 005CB4 700050B4 AFB1000C */ sw $s1, 0xc($sp)
|
||||
/* 005CB8 700050B8 AFB00008 */ sw $s0, 8($sp)
|
||||
/* 005CBC 700050BC 00C01825 */ move $v1, $a2
|
||||
/* 005CC0 700050C0 00001025 */ move $v0, $zero
|
||||
/* 005CC4 700050C4 00004025 */ move $t0, $zero
|
||||
/* 005CC8 700050C8 24040020 */ li $a0, 32
|
||||
/* 005CCC 700050CC 00004825 */ move $t1, $zero
|
||||
/* 005CD0 700050D0 00E05025 */ move $t2, $a3
|
||||
.L700050D4:
|
||||
/* 005CD4 700050D4 25290004 */ addiu $t1, $t1, 4
|
||||
/* 005CD8 700050D8 AD400000 */ sw $zero, ($t2)
|
||||
/* 005CDC 700050DC AD400004 */ sw $zero, 4($t2)
|
||||
/* 005CE0 700050E0 AD400008 */ sw $zero, 8($t2)
|
||||
/* 005CE4 700050E4 AD40000C */ sw $zero, 0xc($t2)
|
||||
/* 005CE8 700050E8 1524FFFA */ bne $t1, $a0, .L700050D4
|
||||
/* 005CEC 700050EC 254A0010 */ addiu $t2, $t2, 0x10
|
||||
/* 005CF0 700050F0 8FA40010 */ lw $a0, 0x10($sp)
|
||||
/* 005CF4 700050F4 3C1103E0 */ lui $s1, (0x03E00008 >> 16) # lui $s1, 0x3e0
|
||||
/* 005CF8 700050F8 36310008 */ ori $s1, (0x03E00008 & 0xFFFF) # ori $s1, $s1, 8
|
||||
/* 005CFC 700050FC 0085082B */ sltu $at, $a0, $a1
|
||||
/* 005D00 70005100 1420002D */ bnez $at, .L700051B8
|
||||
/* 005D04 70005104 2410001F */ li $s0, 31
|
||||
/* 005D08 70005108 3C0DFFE0 */ lui $t5, 0xffe0
|
||||
/* 005D0C 7000510C 3C0CAFA0 */ lui $t4, 0xafa0
|
||||
/* 005D10 70005110 3C0BFFFF */ lui $t3, 0xffff
|
||||
/* 005D14 70005114 3C0A27BD */ lui $t2, 0x27bd
|
||||
/* 005D18 70005118 8C890000 */ lw $t1, ($a0)
|
||||
.L7000511C:
|
||||
/* 005D1C 7000511C 2484FFFC */ addiu $a0, $a0, -4
|
||||
/* 005D20 70005120 0085082B */ sltu $at, $a0, $a1
|
||||
/* 005D24 70005124 012B7824 */ and $t7, $t1, $t3
|
||||
/* 005D28 70005128 154F000B */ bne $t2, $t7, .L70005158
|
||||
/* 005D2C 7000512C 012DC024 */ and $t8, $t1, $t5
|
||||
/* 005D30 70005130 0009C400 */ sll $t8, $t1, 0x10
|
||||
/* 005D34 70005134 0018CC03 */ sra $t9, $t8, 0x10
|
||||
/* 005D38 70005138 1F20001F */ bgtz $t9, .L700051B8
|
||||
/* 005D3C 7000513C 24020001 */ li $v0, 1
|
||||
/* 005D40 70005140 00197083 */ sra $t6, $t9, 2
|
||||
/* 005D44 70005144 000E7880 */ sll $t7, $t6, 2
|
||||
/* 005D48 70005148 11000019 */ beqz $t0, .L700051B0
|
||||
/* 005D4C 7000514C 006F1823 */ subu $v1, $v1, $t7
|
||||
/* 005D50 70005150 10000019 */ b .L700051B8
|
||||
/* 005D54 70005154 00000000 */ nop
|
||||
.L70005158:
|
||||
/* 005D58 70005158 15980013 */ bne $t4, $t8, .L700051A8
|
||||
/* 005D5C 7000515C 00093402 */ srl $a2, $t1, 0x10
|
||||
/* 005D60 70005160 30D9001F */ andi $t9, $a2, 0x1f
|
||||
/* 005D64 70005164 00097C00 */ sll $t7, $t1, 0x10
|
||||
/* 005D68 70005168 000FC403 */ sra $t8, $t7, 0x10
|
||||
/* 005D6C 7000516C 03203025 */ move $a2, $t9
|
||||
/* 005D70 70005170 0018C883 */ sra $t9, $t8, 2
|
||||
/* 005D74 70005174 00197080 */ sll $t6, $t9, 2
|
||||
/* 005D78 70005178 0006C080 */ sll $t8, $a2, 2
|
||||
/* 005D7C 7000517C 00F8C821 */ addu $t9, $a3, $t8
|
||||
/* 005D80 70005180 01C37821 */ addu $t7, $t6, $v1
|
||||
/* 005D84 70005184 16060002 */ bne $s0, $a2, .L70005190
|
||||
/* 005D88 70005188 AF2F0000 */ sw $t7, ($t9)
|
||||
/* 005D8C 7000518C 24080001 */ li $t0, 1
|
||||
.L70005190:
|
||||
/* 005D90 70005190 10400007 */ beqz $v0, .L700051B0
|
||||
/* 005D94 70005194 00000000 */ nop
|
||||
/* 005D98 70005198 11000005 */ beqz $t0, .L700051B0
|
||||
/* 005D9C 7000519C 00000000 */ nop
|
||||
/* 005DA0 700051A0 10000005 */ b .L700051B8
|
||||
/* 005DA4 700051A4 00000000 */ nop
|
||||
.L700051A8:
|
||||
/* 005DA8 700051A8 11310003 */ beq $t1, $s1, .L700051B8
|
||||
/* 005DAC 700051AC 00000000 */ nop
|
||||
.L700051B0:
|
||||
/* 005DB0 700051B0 5020FFDA */ beql $at, $zero, .L7000511C
|
||||
/* 005DB4 700051B4 8C890000 */ lw $t1, ($a0)
|
||||
.L700051B8:
|
||||
/* 005DB8 700051B8 10400005 */ beqz $v0, .L700051D0
|
||||
/* 005DBC 700051BC 8FB00008 */ lw $s0, 8($sp)
|
||||
/* 005DC0 700051C0 51000004 */ beql $t0, $zero, .L700051D4
|
||||
/* 005DC4 700051C4 00001025 */ move $v0, $zero
|
||||
/* 005DC8 700051C8 10000002 */ b .L700051D4
|
||||
/* 005DCC 700051CC 00601025 */ move $v0, $v1
|
||||
.L700051D0:
|
||||
/* 005DD0 700051D0 00001025 */ move $v0, $zero
|
||||
.L700051D4:
|
||||
/* 005DD4 700051D4 8FB1000C */ lw $s1, 0xc($sp)
|
||||
/* 005DD8 700051D8 03E00008 */ jr $ra
|
||||
/* 005DDC 700051DC 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 5DE0 700051E0
|
||||
* V0=TRUE if opcode that set RA A0 was a JAL or JALR type within bounds (70000450,70020D90)
|
||||
* accepts: A0=p->70-mapped TLB function, presumably from RA
|
||||
*/
|
||||
s32 tlbIsJumpOpInCodeSeg(u32 *currop)
|
||||
{
|
||||
u32 prevop;
|
||||
|
||||
if ((((s32) currop & 3) == 0) && ((u32) currop >= (u32) &_codeSegmentStart) && ((u32) &_codeSegmentEnd >= (u32) currop))
|
||||
{
|
||||
prevop = currop[-2];
|
||||
if ((prevop & 0xFC00003C) == 9)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if ((prevop & 0xFC000000) == 0xC000000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5E58 70005258
|
||||
* V0= strlen(A0); used exclusively for scanning ind.rea.buf
|
||||
* accepts: A0=p->string
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 return_strlen(void *arg0)
|
||||
{
|
||||
s32 temp_v1;
|
||||
s32 phi_v1;
|
||||
void *phi_a0;
|
||||
s32 phi_v1_2;
|
||||
|
||||
phi_v1 = 0;
|
||||
phi_a0 = (arg0 + 1);
|
||||
phi_v1_2 = 0;
|
||||
if (*arg0 != 0)
|
||||
{
|
||||
loop_1:
|
||||
temp_v1 = (phi_v1 + 1);
|
||||
phi_v1_2 = temp_v1;
|
||||
if (temp_v1 < 0x100)
|
||||
{
|
||||
phi_v1 = temp_v1;
|
||||
phi_a0 = (phi_a0 + 1);
|
||||
phi_v1_2 = temp_v1;
|
||||
if (*phi_a0 != 0)
|
||||
{
|
||||
goto loop_1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return phi_v1_2;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel return_strlen
|
||||
/* 005E58 70005258 90820000 */ lbu $v0, ($a0)
|
||||
/* 005E5C 7000525C 00001825 */ move $v1, $zero
|
||||
/* 005E60 70005260 24840001 */ addiu $a0, $a0, 1
|
||||
/* 005E64 70005264 10400009 */ beqz $v0, .L7000528C
|
||||
/* 005E68 70005268 00000000 */ nop
|
||||
/* 005E6C 7000526C 24630001 */ addiu $v1, $v1, 1
|
||||
.L70005270:
|
||||
/* 005E70 70005270 28610100 */ slti $at, $v1, 0x100
|
||||
/* 005E74 70005274 10200005 */ beqz $at, .L7000528C
|
||||
/* 005E78 70005278 00000000 */ nop
|
||||
/* 005E7C 7000527C 90820000 */ lbu $v0, ($a0)
|
||||
/* 005E80 70005280 24840001 */ addiu $a0, $a0, 1
|
||||
/* 005E84 70005284 5440FFFA */ bnezl $v0, .L70005270
|
||||
/* 005E88 70005288 24630001 */ addiu $v1, $v1, 1
|
||||
.L7000528C:
|
||||
/* 005E8C 7000528C 03E00008 */ jr $ra
|
||||
/* 005E90 70005290 00601025 */ move $v0, $v1
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5E94 70005294
|
||||
* V0= total size of one word, two strings at hardware A0
|
||||
* accepts: A0=hardware address
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 indy_file_get_address_subsequent_data(s32 arg0) {
|
||||
s32 sp18;
|
||||
s32 temp_v1;
|
||||
s32 phi_a0;
|
||||
|
||||
// Node 0
|
||||
romCopy(&indy_read_buffer, arg0, 0x60);
|
||||
current_indy_read_buf_resourceID = (?32) indy_read_buffer;
|
||||
ptr_indy_read_buf_string1 = &indy_read_buffer;
|
||||
ptr_indy_read_buf_string2 = (s32) ((return_strlen(&indy_read_buffer) + ptr_indy_read_buf_string1) + 1);
|
||||
sp18 = return_strlen(ptr_indy_read_buf_string1);
|
||||
temp_v1 = (((return_strlen(ptr_indy_read_buf_string2) + arg0) + sp18) + 6);
|
||||
phi_a0 = temp_v1;
|
||||
if ((temp_v1 & 3) != 0)
|
||||
{
|
||||
// Node 1
|
||||
phi_a0 = ((temp_v1 | 3) + 1);
|
||||
}
|
||||
// Node 2
|
||||
return phi_a0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_file_get_address_subsequent_data
|
||||
/* 005E94 70005294 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 005E98 70005298 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 005E9C 7000529C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 005EA0 700052A0 3C048006 */ lui $a0, %hi(indy_read_buffer)
|
||||
/* 005EA4 700052A4 24843670 */ addiu $a0, %lo(indy_read_buffer) # addiu $a0, $a0, 0x3670
|
||||
/* 005EA8 700052A8 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 005EAC 700052AC 0C001707 */ jal romCopy
|
||||
/* 005EB0 700052B0 24060060 */ li $a2, 96
|
||||
/* 005EB4 700052B4 3C0E8006 */ lui $t6, %hi(indy_read_buffer)
|
||||
/* 005EB8 700052B8 8DCE3670 */ lw $t6, %lo(indy_read_buffer)($t6)
|
||||
/* 005EBC 700052BC 3C028006 */ lui $v0, %hi(ptr_indy_read_buf_string1)
|
||||
/* 005EC0 700052C0 3C018006 */ lui $at, %hi(current_indy_read_buf_resourceID)
|
||||
/* 005EC4 700052C4 3C0F8006 */ lui $t7, %hi(indy_read_buffer+4)
|
||||
/* 005EC8 700052C8 24423668 */ addiu $v0, %lo(ptr_indy_read_buf_string1) # addiu $v0, $v0, 0x3668
|
||||
/* 005ECC 700052CC 25E43674 */ addiu $a0, $t7, %lo(indy_read_buffer+4)
|
||||
/* 005ED0 700052D0 AC2E3664 */ sw $t6, %lo(current_indy_read_buf_resourceID)($at)
|
||||
/* 005ED4 700052D4 0C001496 */ jal return_strlen
|
||||
/* 005ED8 700052D8 AC440000 */ sw $a0, ($v0)
|
||||
/* 005EDC 700052DC 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string1)
|
||||
/* 005EE0 700052E0 8C843668 */ lw $a0, %lo(ptr_indy_read_buf_string1)($a0)
|
||||
/* 005EE4 700052E4 3C018006 */ lui $at, %hi(ptr_indy_read_buf_string2)
|
||||
/* 005EE8 700052E8 0044C021 */ addu $t8, $v0, $a0
|
||||
/* 005EEC 700052EC 27190001 */ addiu $t9, $t8, 1
|
||||
/* 005EF0 700052F0 0C001496 */ jal return_strlen
|
||||
/* 005EF4 700052F4 AC39366C */ sw $t9, %lo(ptr_indy_read_buf_string2)($at)
|
||||
/* 005EF8 700052F8 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string2)
|
||||
/* 005EFC 700052FC 8C84366C */ lw $a0, %lo(ptr_indy_read_buf_string2)($a0)
|
||||
/* 005F00 70005300 0C001496 */ jal return_strlen
|
||||
/* 005F04 70005304 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 005F08 70005308 8FA80020 */ lw $t0, 0x20($sp)
|
||||
/* 005F0C 7000530C 8FAA0018 */ lw $t2, 0x18($sp)
|
||||
/* 005F10 70005310 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005F14 70005314 00484821 */ addu $t1, $v0, $t0
|
||||
/* 005F18 70005318 012A1821 */ addu $v1, $t1, $t2
|
||||
/* 005F1C 7000531C 24630006 */ addiu $v1, $v1, 6
|
||||
/* 005F20 70005320 306B0003 */ andi $t3, $v1, 3
|
||||
/* 005F24 70005324 11600003 */ beqz $t3, .L70005334
|
||||
/* 005F28 70005328 00602025 */ move $a0, $v1
|
||||
/* 005F2C 7000532C 34640003 */ ori $a0, $v1, 3
|
||||
/* 005F30 70005330 24840001 */ addiu $a0, $a0, 1
|
||||
.L70005334:
|
||||
/* 005F34 70005334 00801025 */ move $v0, $a0
|
||||
/* 005F38 70005338 03E00008 */ jr $ra
|
||||
/* 005F3C 7000533C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5F40 70005340
|
||||
* scan for and load resourceID A0 from indy.read.buf
|
||||
* accepts: A0=resourceID
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void scan_load_resourceID_from_indy_read_buf(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel scan_load_resourceID_from_indy_read_buf
|
||||
/* 005F40 70005340 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 005F44 70005344 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 005F48 70005348 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 005F4C 7000534C 3C0200E0 */ lui $v0, 0xe0
|
||||
/* 005F50 70005350 34530004 */ ori $s3, $v0, 4
|
||||
/* 005F54 70005354 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 005F58 70005358 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005F5C 7000535C 3C128006 */ lui $s2, %hi(current_indy_read_buf_resourceID)
|
||||
/* 005F60 70005360 00808825 */ move $s1, $a0
|
||||
/* 005F64 70005364 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 005F68 70005368 02608025 */ move $s0, $s3
|
||||
/* 005F6C 7000536C 26523664 */ addiu $s2, %lo(current_indy_read_buf_resourceID) # addiu $s2, $s2, 0x3664
|
||||
.L70005370:
|
||||
/* 005F70 70005370 0C0014A5 */ jal indy_file_get_address_subsequent_data
|
||||
/* 005F74 70005374 02002025 */ move $a0, $s0
|
||||
/* 005F78 70005378 8E430000 */ lw $v1, ($s2)
|
||||
/* 005F7C 7000537C 0223082B */ sltu $at, $s1, $v1
|
||||
/* 005F80 70005380 14200007 */ bnez $at, .L700053A0
|
||||
/* 005F84 70005384 00000000 */ nop
|
||||
/* 005F88 70005388 14600003 */ bnez $v1, .L70005398
|
||||
/* 005F8C 7000538C 02009825 */ move $s3, $s0
|
||||
/* 005F90 70005390 10000006 */ b .L700053AC
|
||||
/* 005F94 70005394 00001025 */ move $v0, $zero
|
||||
.L70005398:
|
||||
/* 005F98 70005398 1000FFF5 */ b .L70005370
|
||||
/* 005F9C 7000539C 00408025 */ move $s0, $v0
|
||||
.L700053A0:
|
||||
/* 005FA0 700053A0 0C0014A5 */ jal indy_file_get_address_subsequent_data
|
||||
/* 005FA4 700053A4 02602025 */ move $a0, $s3
|
||||
/* 005FA8 700053A8 24020001 */ li $v0, 1
|
||||
.L700053AC:
|
||||
/* 005FAC 700053AC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 005FB0 700053B0 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 005FB4 700053B4 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 005FB8 700053B8 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 005FBC 700053BC 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 005FC0 700053C0 03E00008 */ jr $ra
|
||||
/* 005FC4 700053C4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5FC8 700053C8
|
||||
* V0= TRUE if valid indy.read.buf.resourceID [matches 826475BE]
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
u32 is_valid_indy_read_buf_resourceID(void)
|
||||
{
|
||||
indy_file_get_address_subsequent_data(0xe00000);
|
||||
return ((u32) (current_indy_read_buf_resourceID ^ 0x826475be) < 1U);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel is_valid_indy_read_buf_resourceID
|
||||
/* 005FC8 700053C8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 005FCC 700053CC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 005FD0 700053D0 0C0014A5 */ jal indy_file_get_address_subsequent_data
|
||||
/* 005FD4 700053D4 3C0400E0 */ lui $a0, 0xe0
|
||||
/* 005FD8 700053D8 3C028006 */ lui $v0, %hi(current_indy_read_buf_resourceID)
|
||||
/* 005FDC 700053DC 8C423664 */ lw $v0, %lo(current_indy_read_buf_resourceID)($v0)
|
||||
/* 005FE0 700053E0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005FE4 700053E4 3C018264 */ lui $at, (0x826475BE >> 16) # lui $at, 0x8264
|
||||
/* 005FE8 700053E8 342175BE */ ori $at, (0x826475BE & 0xFFFF) # ori $at, $at, 0x75be
|
||||
/* 005FEC 700053EC 00417026 */ xor $t6, $v0, $at
|
||||
/* 005FF0 700053F0 2DC20001 */ sltiu $v0, $t6, 1
|
||||
/* 005FF4 700053F4 03E00008 */ jr $ra
|
||||
/* 005FF8 700053F8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5FFC 700053FC
|
||||
* unconditional return
|
||||
*/
|
||||
void debug_indy_stub(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6004 70005404
|
||||
* unconditional return
|
||||
*/
|
||||
void debug_indy_stub_0(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 600C 7000540C
|
||||
* unconditional return
|
||||
*/
|
||||
void debug_indy_stub_1(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6014 70005414
|
||||
* V0= indy.read.buf.resourceID [80063664]
|
||||
*/
|
||||
u32 * return_indy_read_buf_resourceID(void) {
|
||||
return current_indy_read_buf_resourceID;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6020 70005420
|
||||
* V0=hardcoded SP for debug thread A1, corrected for address range A0
|
||||
* accepts: A0=p->address space, A1=entry#
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 debug_sp_related_11(u32 arg0, u32 arg1)
|
||||
{
|
||||
? sp1C;
|
||||
? sp8;
|
||||
s32 temp_v0;
|
||||
void *temp_t8;
|
||||
|
||||
sp1C = (?32) stack_ptrs_1;
|
||||
sp1C.unk4 = (?32) stack_ptrs_1.unk4;
|
||||
sp1C.unk8 = (?32) stack_ptrs_1.unk8;
|
||||
sp1C.unkC = (?32) stack_ptrs_1.unkC;
|
||||
sp1C.unk10 = (?32) stack_ptrs_1.unk10;
|
||||
sp8 = (?32) stack_ptrs_2;
|
||||
sp8.unk4 = (?32) stack_ptrs_2.unk4;
|
||||
sp8.unk8 = (?32) stack_ptrs_2.unk8;
|
||||
sp8.unkC = (?32) stack_ptrs_2.unkC;
|
||||
sp8.unk10 = (?32) stack_ptrs_2.unk10;
|
||||
if (arg1 <= 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
temp_v0 = (arg1 * 4);
|
||||
if (arg1 >= 6U)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
temp_t8 = (&sp8 + temp_v0);
|
||||
if (arg0 < 0x80000000U)
|
||||
{
|
||||
return ((arg0 & 0xf0000000) | (*temp_t8 - *(&sp1C + temp_v0)));
|
||||
}
|
||||
return *temp_t8;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_sp_related_11
|
||||
/* 006020 70005420 3C0E8002 */ lui $t6, %hi(stack_ptrs_1)
|
||||
/* 006024 70005424 25CE36DC */ addiu $t6, %lo(stack_ptrs_1) # addiu $t6, $t6, 0x36dc
|
||||
/* 006028 70005428 8DC10000 */ lw $at, ($t6)
|
||||
/* 00602C 7000542C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 006030 70005430 27A7001C */ addiu $a3, $sp, 0x1c
|
||||
/* 006034 70005434 ACE10000 */ sw $at, ($a3)
|
||||
/* 006038 70005438 8DD90004 */ lw $t9, 4($t6)
|
||||
/* 00603C 7000543C 3C098002 */ lui $t1, %hi(stack_ptrs_2)
|
||||
/* 006040 70005440 252936F0 */ addiu $t1, %lo(stack_ptrs_2) # addiu $t1, $t1, 0x36f0
|
||||
/* 006044 70005444 ACF90004 */ sw $t9, 4($a3)
|
||||
/* 006048 70005448 8DC10008 */ lw $at, 8($t6)
|
||||
/* 00604C 7000544C 27A80008 */ addiu $t0, $sp, 8
|
||||
/* 006050 70005450 00803025 */ move $a2, $a0
|
||||
/* 006054 70005454 ACE10008 */ sw $at, 8($a3)
|
||||
/* 006058 70005458 8DD9000C */ lw $t9, 0xc($t6)
|
||||
/* 00605C 7000545C ACF9000C */ sw $t9, 0xc($a3)
|
||||
/* 006060 70005460 8DC10010 */ lw $at, 0x10($t6)
|
||||
/* 006064 70005464 ACE10010 */ sw $at, 0x10($a3)
|
||||
/* 006068 70005468 8D210000 */ lw $at, ($t1)
|
||||
/* 00606C 7000546C AD010000 */ sw $at, ($t0)
|
||||
/* 006070 70005470 8D2C0004 */ lw $t4, 4($t1)
|
||||
/* 006074 70005474 AD0C0004 */ sw $t4, 4($t0)
|
||||
/* 006078 70005478 8D210008 */ lw $at, 8($t1)
|
||||
/* 00607C 7000547C AD010008 */ sw $at, 8($t0)
|
||||
/* 006080 70005480 8D2C000C */ lw $t4, 0xc($t1)
|
||||
/* 006084 70005484 AD0C000C */ sw $t4, 0xc($t0)
|
||||
/* 006088 70005488 8D210010 */ lw $at, 0x10($t1)
|
||||
/* 00608C 7000548C 18A00004 */ blez $a1, .L700054A0
|
||||
/* 006090 70005490 AD010010 */ sw $at, 0x10($t0)
|
||||
/* 006094 70005494 2CA10006 */ sltiu $at, $a1, 6
|
||||
/* 006098 70005498 14200003 */ bnez $at, .L700054A8
|
||||
/* 00609C 7000549C 00051080 */ sll $v0, $a1, 2
|
||||
.L700054A0:
|
||||
/* 0060A0 700054A0 1000000E */ b .L700054DC
|
||||
/* 0060A4 700054A4 00001025 */ move $v0, $zero
|
||||
.L700054A8:
|
||||
/* 0060A8 700054A8 3C018000 */ lui $at, 0x8000
|
||||
/* 0060AC 700054AC 00E26821 */ addu $t5, $a3, $v0
|
||||
/* 0060B0 700054B0 0102C021 */ addu $t8, $t0, $v0
|
||||
/* 0060B4 700054B4 00C1082B */ sltu $at, $a2, $at
|
||||
/* 0060B8 700054B8 8DA30000 */ lw $v1, ($t5)
|
||||
/* 0060BC 700054BC 14200003 */ bnez $at, .L700054CC
|
||||
/* 0060C0 700054C0 8F040000 */ lw $a0, ($t8)
|
||||
/* 0060C4 700054C4 10000005 */ b .L700054DC
|
||||
/* 0060C8 700054C8 00801025 */ move $v0, $a0
|
||||
.L700054CC:
|
||||
/* 0060CC 700054CC 3C01F000 */ lui $at, 0xf000
|
||||
/* 0060D0 700054D0 00C17824 */ and $t7, $a2, $at
|
||||
/* 0060D4 700054D4 00837023 */ subu $t6, $a0, $v1
|
||||
/* 0060D8 700054D8 01EE1025 */ or $v0, $t7, $t6
|
||||
.L700054DC:
|
||||
/* 0060DC 700054DC 03E00008 */ jr $ra
|
||||
/* 0060E0 700054E0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 60E4 700054E4
|
||||
* V0=hardcoded SP for debug thread A1, corrected for address range A0
|
||||
* accepts: A0=p->address space, A1=entry#
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 debug_sp_related_12(u32 arg0, u32 arg1) {
|
||||
u32 sp4;
|
||||
|
||||
// Node 0
|
||||
sp4 = (?32) stack_ptrs_3;
|
||||
sp4.unk4 = (?32) stack_ptrs_3.unk4;
|
||||
sp4.unk8 = (?32) stack_ptrs_3.unk8;
|
||||
sp4.unkC = (?32) stack_ptrs_3.unkC;
|
||||
sp4.unk10 = (?32) stack_ptrs_3.unk10;
|
||||
if (arg1 <= 0)
|
||||
{
|
||||
// Node 2
|
||||
return;
|
||||
// (possible return value: 0)
|
||||
}
|
||||
// Node 1
|
||||
if (arg1 >= 6U)
|
||||
{
|
||||
// Node 2
|
||||
return;
|
||||
// (possible return value: 0)
|
||||
}
|
||||
// Node 3
|
||||
if (arg0 >= 0x80000000U)
|
||||
{
|
||||
// Node 4
|
||||
return;
|
||||
// (possible return value: *(&sp4 + (arg1 * 4)))
|
||||
}
|
||||
// Node 5
|
||||
return;
|
||||
// (possible return value: (arg0 & 0xf0000000))
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_sp_related_12
|
||||
/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(stack_ptrs_3)
|
||||
/* 0060E8 700054E8 25CE3704 */ addiu $t6, %lo(stack_ptrs_3) # addiu $t6, $t6, 0x3704
|
||||
/* 0060EC 700054EC 8DC10000 */ lw $at, ($t6)
|
||||
/* 0060F0 700054F0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0060F4 700054F4 27A20004 */ addiu $v0, $sp, 4
|
||||
/* 0060F8 700054F8 AC410000 */ sw $at, ($v0)
|
||||
/* 0060FC 700054FC 8DD90004 */ lw $t9, 4($t6)
|
||||
/* 006100 70005500 AC590004 */ sw $t9, 4($v0)
|
||||
/* 006104 70005504 8DC10008 */ lw $at, 8($t6)
|
||||
/* 006108 70005508 AC410008 */ sw $at, 8($v0)
|
||||
/* 00610C 7000550C 8DD9000C */ lw $t9, 0xc($t6)
|
||||
/* 006110 70005510 AC59000C */ sw $t9, 0xc($v0)
|
||||
/* 006114 70005514 8DC10010 */ lw $at, 0x10($t6)
|
||||
/* 006118 70005518 18A00004 */ blez $a1, .L7000552C
|
||||
/* 00611C 7000551C AC410010 */ sw $at, 0x10($v0)
|
||||
/* 006120 70005520 2CA10006 */ sltiu $at, $a1, 6
|
||||
/* 006124 70005524 14200003 */ bnez $at, .L70005534
|
||||
/* 006128 70005528 00054080 */ sll $t0, $a1, 2
|
||||
.L7000552C:
|
||||
/* 00612C 7000552C 1000000A */ b .L70005558
|
||||
/* 006130 70005530 00001025 */ move $v0, $zero
|
||||
.L70005534:
|
||||
/* 006134 70005534 3C018000 */ lui $at, 0x8000
|
||||
/* 006138 70005538 00484821 */ addu $t1, $v0, $t0
|
||||
/* 00613C 7000553C 0081082B */ sltu $at, $a0, $at
|
||||
/* 006140 70005540 14200003 */ bnez $at, .L70005550
|
||||
/* 006144 70005544 8D230000 */ lw $v1, ($t1)
|
||||
/* 006148 70005548 10000003 */ b .L70005558
|
||||
/* 00614C 7000554C 00601025 */ move $v0, $v1
|
||||
.L70005550:
|
||||
/* 006150 70005550 3C01F000 */ lui $at, 0xf000
|
||||
/* 006154 70005554 00811024 */ and $v0, $a0, $at
|
||||
.L70005558:
|
||||
/* 006158 70005558 03E00008 */ jr $ra
|
||||
/* 00615C 7000555C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
//maybe newfile, falls on 0 address and logically does different things
|
||||
|
||||
/**
|
||||
* 6160 70005560
|
||||
* V0= TRUE if F12 a normal single precision float
|
||||
* accepts: F12= single-precision float
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 _is_normal_single_precision_float(f32 arg0) {
|
||||
// Node 0
|
||||
if ((u32) (arg0 & 0x7fffff) >= 1U)
|
||||
{
|
||||
// Node 1
|
||||
if (0U < (u32) ((arg0 >> 0x17) & 0xff))
|
||||
{
|
||||
// Node 2
|
||||
return;
|
||||
// (possible return value: (0U < (u32) (((arg0 >> 0x17) & 0xff) ^ 0xff)))
|
||||
}
|
||||
}
|
||||
// (possible return value: ((u32) (arg0 & 0x7fffff) < 1U))
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel _is_normal_single_precision_float
|
||||
/* 006160 70005560 E7AC0000 */ swc1 $f12, ($sp)
|
||||
/* 006164 70005564 8FA40000 */ lw $a0, ($sp)
|
||||
/* 006168 70005568 3C01007F */ lui $at, (0x007FFFFF >> 16) # lui $at, 0x7f
|
||||
/* 00616C 7000556C 3421FFFF */ ori $at, (0x007FFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 006170 70005570 00811024 */ and $v0, $a0, $at
|
||||
/* 006174 70005574 2C4E0001 */ sltiu $t6, $v0, 1
|
||||
/* 006178 70005578 15C00008 */ bnez $t6, .L7000559C
|
||||
/* 00617C 7000557C 01C01025 */ move $v0, $t6
|
||||
/* 006180 70005580 00041DC2 */ srl $v1, $a0, 0x17
|
||||
/* 006184 70005584 306F00FF */ andi $t7, $v1, 0xff
|
||||
/* 006188 70005588 000F102B */ sltu $v0, $zero, $t7
|
||||
/* 00618C 7000558C 10400003 */ beqz $v0, .L7000559C
|
||||
/* 006190 70005590 00000000 */ nop
|
||||
/* 006194 70005594 39E200FF */ xori $v0, $t7, 0xff
|
||||
/* 006198 70005598 0002102B */ sltu $v0, $zero, $v0
|
||||
.L7000559C:
|
||||
/* 00619C 7000559C 03E00008 */ jr $ra
|
||||
/* 0061A0 700055A0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 61A4 700055A4
|
||||
* V0= TRUE if A1 a normal single precision float; would have set result as short at A0
|
||||
* accepts: A0=(unused) p->target, A1=single-precision float
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void is_normal_single_precision_float(s32 arg0, s32 arg1) {
|
||||
_is_normal_single_precision_float(arg1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel is_normal_single_precision_float
|
||||
/* 0061A4 700055A4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0061A8 700055A8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0061AC 700055AC 44856000 */ mtc1 $a1, $f12
|
||||
/* 0061B0 700055B0 0C001558 */ jal _is_normal_single_precision_float
|
||||
/* 0061B4 700055B4 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0061B8 700055B8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0061BC 700055BC 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0061C0 700055C0 03E00008 */ jr $ra
|
||||
/* 0061C4 700055C4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 61C8 700055C8
|
||||
* removed: set normality of single-precision floats A1, A2, A3, SP+10 in table at A0
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void set_normality_of_single_precision_floats(s32 arg0, s32 arg1, ? arg2, ? arg3, s32 arg6, ? arg8, ? arg9, ? argA) {
|
||||
// Node 0
|
||||
is_normal_single_precision_float(arg1, arg1);
|
||||
is_normal_single_precision_float((arg6 + 2), arg8);
|
||||
is_normal_single_precision_float((arg6 + 4), arg9);
|
||||
is_normal_single_precision_float((arg6 + 6), argA);
|
||||
return;
|
||||
// (possible return value: is_normal_single_precision_float((arg6 + 6), argA))
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_normality_of_single_precision_floats
|
||||
/* 0061C8 700055C8 44856000 */ mtc1 $a1, $f12
|
||||
/* 0061CC 700055CC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0061D0 700055D0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0061D4 700055D4 44056000 */ mfc1 $a1, $f12
|
||||
/* 0061D8 700055D8 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0061DC 700055DC AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 0061E0 700055E0 0C001569 */ jal is_normal_single_precision_float
|
||||
/* 0061E4 700055E4 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* 0061E8 700055E8 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 0061EC 700055EC 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0061F0 700055F0 0C001569 */ jal is_normal_single_precision_float
|
||||
/* 0061F4 700055F4 24840002 */ addiu $a0, $a0, 2
|
||||
/* 0061F8 700055F8 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 0061FC 700055FC 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* 006200 70005600 0C001569 */ jal is_normal_single_precision_float
|
||||
/* 006204 70005604 24840004 */ addiu $a0, $a0, 4
|
||||
/* 006208 70005608 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 00620C 7000560C 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* 006210 70005610 0C001569 */ jal is_normal_single_precision_float
|
||||
/* 006214 70005614 24840006 */ addiu $a0, $a0, 6
|
||||
/* 006218 70005618 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 00621C 7000561C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 006220 70005620 03E00008 */ jr $ra
|
||||
/* 006224 70005624 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 6228 70005628
|
||||
* unconditional return
|
||||
*/
|
||||
void debug_indy_stub_2(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef _DEB_VIDEO_H_
|
||||
#define _DEB_VIDEO_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
void tlbproc(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
/**
|
||||
* @file debug_getlastRA.c
|
||||
* This file contains code to get last return address on stack.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 6710 70005B10
|
||||
* V0=value of RA previously saved to the stack or -1 if impossible to retrieve
|
||||
* Searches backward from caller for last instance of RA saved to stack.
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 return_last_RA_saved_to_stack(undefined4 param_1) {
|
||||
uint uVar1;
|
||||
uint *unaff_retaddr;
|
||||
s32 auStackX0 [4];
|
||||
|
||||
while( true ) {
|
||||
uVar1 = *unaff_retaddr >> 0x10;
|
||||
if (uVar1 == 0x27bd) {
|
||||
return -1;
|
||||
}
|
||||
if (uVar1 == 0xafbf) break;
|
||||
unaff_retaddr = unaff_retaddr + -1;
|
||||
}
|
||||
return *(s32 *)((int)auStackX0 + (int)(short)*unaff_retaddr);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel return_last_RA_saved_to_stack
|
||||
/* 006710 70005B10 03E02025 */ move $a0, $ra
|
||||
/* 006714 70005B14 2402FFFF */ li $v0, -1
|
||||
glabel .L70005B18
|
||||
/* 006718 70005B18 8C880000 */ lw $t0, ($a0)
|
||||
/* 00671C 70005B1C 240A27BD */ li $t2, 10173
|
||||
/* 006720 70005B20 00084C02 */ srl $t1, $t0, 0x10
|
||||
/* 006724 70005B24 112A000A */ beq $t1, $t2, .L70005B50
|
||||
/* 006728 70005B28 00000000 */ nop
|
||||
/* 00672C 70005B2C 340AAFBF */ li $t2, 44991
|
||||
/* 006730 70005B30 512A0004 */ beql $t1, $t2, .L70005B44
|
||||
/* 006734 70005B34 00085400 */ sll $t2, $t0, 0x10
|
||||
/* 006738 70005B38 080016C6 */ j .L70005B18
|
||||
/* 00673C 70005B3C 2484FFFC */ addiu $a0, $a0, -4
|
||||
/* 006740 70005B40 00085400 */ sll $t2, $t0, 0x10
|
||||
.L70005B44:
|
||||
/* 006744 70005B44 000A5403 */ sra $t2, $t2, 0x10
|
||||
/* 006748 70005B48 015D5020 */ add $t2, $t2, $sp
|
||||
/* 00674C 70005B4C 8D420000 */ lw $v0, ($t2)
|
||||
.L70005B50:
|
||||
/* 006750 70005B50 03E00008 */ jr $ra
|
||||
/* 006754 70005B54 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
+1102
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
#ifndef _DEBUGMENU_H_
|
||||
#define _DEBUGMENU_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
void blank_debug_buffer_chars(void);
|
||||
void debugmenuInit_REMOVED(void);
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
u8 _decompressBuffer[0xAB400];
|
||||
+12195
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,45 @@
|
||||
#ifndef _BG_H_
|
||||
#define _BG_H_
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
|
||||
struct levelentry
|
||||
{
|
||||
s32 levelID;
|
||||
void *bg_seg_filename;
|
||||
void *bg_stan_filename;
|
||||
f32 levelscale;
|
||||
f32 visibility;
|
||||
f32 unknownfloat;
|
||||
};
|
||||
|
||||
typedef struct s_room_info {
|
||||
s16 bitflags;
|
||||
u8 model_bin_loaded;
|
||||
u8 bitflags2;
|
||||
void * ptr_point_index;
|
||||
void * ptr_expanded_mapping_info;
|
||||
void * ptr_secondary_expanded_mapping_info;
|
||||
s32 csize_point_index_binary;
|
||||
s32 csize_primary_DL_binary;
|
||||
s32 csize_secondary_DL_binary;
|
||||
s32 usize_point_index_binary;
|
||||
s32 usize_primary_DL_binary;
|
||||
s32 usize_secondary_DL_binary;
|
||||
s32 cur_room_totalsize;
|
||||
void * ptr_unique_collision_points;
|
||||
s32 bitflags3;
|
||||
u8 room_loaded_mask;
|
||||
u8 field_35;
|
||||
s16 field_36;
|
||||
f32 minxbounds;
|
||||
f32 minybounds;
|
||||
f32 minzbounds;
|
||||
f32 maxxbounds;
|
||||
f32 maxybounds;
|
||||
f32 maxzbounds;
|
||||
} s_room_info;
|
||||
|
||||
void bgInitDebugNoticeList(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,933 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
char die_blood_image_1[] = {
|
||||
0,0x20, 3, 5, 4, 2,0x60,0x21,0x22, 1,0xE0,0xE0,0xE0,0xE0,
|
||||
0xE0,0xE0,0xE0,0x60, 3,0x24, 2,0xA0, 2,0xC0, 1,0x22, 0, 3,
|
||||
6, 7, 6, 4,0x20, 1, 2,0x23,0x24, 3, 2,0x80,0x21,0xE0,
|
||||
0xE0,0xE0,0xE0,0xE0,0xE0,0x60, 5,0x46, 4,0x80,0x24,0xFF, 0, 1,
|
||||
3,0xFF,0x80, 3,0x44, 0,0x29, 8, 7,0xFF, 0, 2, 2,0xFF,
|
||||
2,0x24,0x25,0x26, 5, 4, 2,0x41, 2, 3, 4, 6,0xFF, 0,
|
||||
4, 4,0xFF,0xFF, 0, 5, 2,0xFF,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
|
||||
0,0xFF, 0, 3, 3,0xFF, 7,0x48, 6,0x60,0xFF, 0, 2, 3,
|
||||
0xFF, 6, 7,0xFF, 0, 2, 4,0xFF,0x60, 5,0x66, 0, 0xB, 0xA,
|
||||
9, 8,0x26,0x47, 8,0x27, 5, 4,0x43, 4, 5, 7, 0xB,0xFF,
|
||||
0, 3, 8,0xFF,0xFF, 0, 5, 5,0xFF,0xFF, 0, 5, 4,0xFF,
|
||||
0xE0,0x80, 1,0x22, 1,0xE0,0x20, 1,0x22,0x21,0xE0,0xE0, 0,0xFF,
|
||||
0, 2, 7,0xFF,0x4A, 9, 7,0x60, 8,0x29,0xFF, 0, 2, 6,
|
||||
0xFF,0xFF, 0, 4, 3,0xFF,0xFF, 0, 5, 2,0xFF,0xFF, 0, 5,
|
||||
2,0xFF,0xFF, 0, 2, 5,0xFF,0x88, 0, 0xC, 0xB, 0xA,0xE9, 7,
|
||||
0x65, 6, 8, 0xF, 0xE, 0xD,0xFF, 0, 5, 7,0xFF,0xFF, 0, 6,
|
||||
5,0xFF,0xFF, 0, 6, 4,0xFF,0xE0,0x60, 2,0x43, 2, 1,0xE0,
|
||||
0x64, 3,0x22,0x21,0xE0,0x80,0xFF, 0, 5, 5,0xFF, 0xB,0x4C, 0xB,
|
||||
9,0x40,0xFF, 0, 4, 5,0xFF, 0xA, 0xB, 0xA,0xFF, 0, 3, 7,
|
||||
0xFF,0xFF, 0, 5, 5,0xFF,0xFF, 0, 5, 4,0xFF,0xFF, 0, 4,
|
||||
5,0xFF,0xAA, 0,0x2D, 0xC,0xAB, 0xA, 9, 7,0x26, 7, 8,0xFF,
|
||||
0xB, 3, 3,0xFF,0x12,0x11,0x10,0xFF, 1, 4, 0xA,0xFF,0xFF, 0,
|
||||
6, 8,0xFF,0xFF, 0, 7, 5,0xFF,0xFF, 0, 8, 3,0xFF,0xE0,
|
||||
0x20, 1, 4,0x45,0x24, 3,0xA0, 2, 8, 7,0x26, 5,0x24,0x23,
|
||||
0x22, 1,0x20,0x41,0x42, 1, 0,0xFF, 0, 6, 5,0xFF,0xFF, 2,
|
||||
1, 0xA,0xFF, 0xD,0x4E, 0xD,0xFF, 0, 5, 6,0xFF,0x20,0xFF, 0,
|
||||
8, 2,0xFF,0x6C,0xFF, 2, 1, 9,0xFF,0xFF, 0, 5, 7,0xFF,
|
||||
0xFF, 0, 5, 7,0xFF,0xCC, 0, 0xF,0x2E,0x8D, 0xC, 0xB, 9,0x28,
|
||||
9, 0xB,0x34,0x13,0x12,0x11,0xFF, 2, 5, 9,0xFF,0xFF, 1, 6,
|
||||
8,0xFF,0xFF, 1, 7, 5,0xFF,0xFF, 0, 9, 2,0xFF, 0,0x41,
|
||||
0x80, 3, 5,0x47,0x26, 5, 4, 3, 1, 0, 1, 2, 0xB, 0xC,
|
||||
0xA, 9, 8, 7,0x26,0x25,0x24,0xA3,0x64, 3,0xFF, 2, 6, 4,
|
||||
0xFF,0xFF, 3, 2, 9,0xFF,0x2F,0x50, 0xF,0xFF, 0, 6, 8,0xFF,
|
||||
0,0xFF, 0, 0xA, 2,0xFF,0xFF, 0, 6, 7,0xFF,0x8E,0xFF, 2,
|
||||
3, 9,0xFF,0xFF, 3, 1, 0xA,0xFF,0xCE, 0,0x11,0x30,0x4F,0x2E,
|
||||
0xC, 0xB,0x2A, 0xB,0x16,0x17,0x16,0x15,0x14,0x13,0xFF, 4, 3, 0xB,
|
||||
0xFF,0xFF, 3, 5, 8,0xFF,0xFF, 2, 6, 7,0xFF,0xFF, 2, 7,
|
||||
5,0xFF,0xFF, 2, 8, 2,0xFF,0x43, 2, 1,0x40, 5, 7, 8,
|
||||
0x29,0x28,0x27, 6, 5, 4, 5, 0xB, 0xE, 0xF, 0xD, 0xB, 0xA, 9,
|
||||
0x28,0x27,0x46,0xA5,0x66,0xFF, 5, 3, 5,0xFF, 0xF,0x10,0x31,0x32,
|
||||
0x31,0xFF, 1, 6, 9,0xFF,0xFF, 0, 9, 6,0xFF,0xFF, 0, 9,
|
||||
6,0xFF,0xF0,0xD0, 1,0x11,0x30,0x4F, 0xE, 0xD, 0xC,0x2B,0xFF, 0xE,
|
||||
6, 3,0xFF,0x38,0x17,0x16,0x14,0x13,0x12,0xFF, 6, 1, 0xB,0xFF,
|
||||
0xFF, 5, 3, 9,0xFF,0xFF, 4, 5, 7,0xFF,0xFF, 4, 6, 5,
|
||||
0xFF,0x44, 3, 2, 1, 0, 2, 5, 8,0x89,0x28,0x47, 8, 0xC,
|
||||
0xF,0x30, 0xE, 0xC, 0xA,0x29,0x28,0x67,0xA6,0x27, 8, 0xC,0x10,0x31,
|
||||
0xB2,0xFF, 3, 4, 0xB,0xFF,0xFF, 1, 8, 9,0xFF,0xFF, 3, 4,
|
||||
0xB,0xFF,0x91,0x30,0xF1, 4,0x2F,0x2E,0x2D, 0xC,0x4A,0x57,0x16,0x14,
|
||||
0x13,0x12,0x11,0x10, 0xF, 0xE,0xFF, 7, 2, 8,0xFF,0xFF, 7, 3,
|
||||
6,0xFF,0x23, 2, 1,0x20, 1, 4, 6, 7,0x48,0x47,0x26, 7,
|
||||
8, 0xB, 0xE,0x2F, 0xE, 0xB, 0xA, 8,0x27,0xA6,0x85,0x26, 7, 0xA,
|
||||
0xE, 0xF,0x30,0xB1,0x10,0xFF, 4, 4, 0xC,0xFF,0x70,0x8F,0xD0, 6,
|
||||
0x2E,0x2D, 0xC, 0xB,0x2A,0xFF,0x12, 3, 6,0xFF,0x57,0x15,0x14,0x13,
|
||||
0x12,0x11,0x10, 0xF, 0xE, 0xD, 0xC, 0xA, 3, 2, 1,0x20, 2, 4,
|
||||
6, 7,0x48,0x47,0x26, 7, 8, 0xB, 0xE, 0xF,0x10, 0xF, 0xD, 0xA,
|
||||
9, 8, 7,0x26, 5,0x46,0xA5, 6, 7, 9, 0xD, 0xF,0x50,0xB1,
|
||||
0x50,0xEF,0x90, 0xF,0x10, 9,0x2C,0x2B, 0xA, 9, 0xA,0x16,0x17,0x16,
|
||||
0x15,0x14,0x13,0x11,0x10, 0xF, 0xE,0x2D, 0xC, 0xB, 0xA, 7, 2, 1,
|
||||
0x20, 1, 3, 4, 6,0x47, 6,0xFF, 0xF, 8, 5,0xFF,0x66, 7,
|
||||
0xA, 0xC, 0xE, 0xF, 0xE, 0xD, 0xA, 8, 7, 6, 5,0x64, 5,0xC4,
|
||||
6, 8, 0xB, 0xD, 0xE,0x4F,0xB0,0x2F,0xEE, 0xE,0x6F,0x4E, 0xB,0x4B,
|
||||
0xA, 0xB,0x14,0x16,0x17,0x16,0x15,0x13,0x12,0x11,0x10, 0xF, 0xE, 0xD,
|
||||
0x2C, 0xB, 0xA, 8, 4, 1,0x20, 1, 2, 4, 5, 6,0x27,0xFF,
|
||||
0x12, 6, 4,0xFF,0xFF,0x11, 6, 7,0xFF,0xFF,0x11, 6, 7,0xFF,
|
||||
0x46, 8, 9, 0xC, 0xE,0x2F, 0xE, 0xB, 9, 7, 6, 5,0xE4,0x23,
|
||||
0x24, 5, 7, 0xB, 0xD,0x4E,0x4F,0x90,0x2F,0x4E,0x6D,0x2E,0x6F,0x4E,
|
||||
0xD,0x2A, 0xB,0x12,0x16,0x17,0x16,0x15,0x14,0x13,0x11,0x10, 0xF, 0xE,
|
||||
0x2D, 0xC,0x2B, 0xA, 9, 5, 2,0x20, 1, 2, 4, 5, 6,0x27,
|
||||
0xFF,0x15, 1, 9,0xFF,0x13,0xFF,0x15, 1, 0xB,0xFF,0xFF,0x14, 5,
|
||||
5,0xFF, 6, 7, 8, 9, 0xB, 0xD,0x2F, 0xE, 0xC, 0xA, 8, 6,
|
||||
5, 4,0x23,0x84,0x43, 4, 5, 7, 0xB,0x2D,0x4E,0x8F,0x30,0x2F,
|
||||
0x2E,0xCD, 0xE,0x4F,0x6E, 0xF, 0xB, 0xF,0x15,0x56,0x15,0x13,0x12,0x11,
|
||||
0x10, 0xF, 0xE, 0xD,0x2C,0x2B, 0xA, 9, 6, 2,0x20, 1, 2, 4,
|
||||
5, 6, 7, 0xC,0x12,0x13,0x14,0x13,0x27, 8, 9, 0xB, 0xD, 0xE,
|
||||
0xF, 0xE, 0xD, 0xB, 9, 7, 5, 4,0x43,0x84,0x43, 4, 6, 0xB,
|
||||
0x4D,0x6E,0xEF, 0xE,0xED,0x2E,0x2F,0x6E,0x11,0x14,0x56,0x15,0x14,0x13,
|
||||
0x11,0x10, 0xF, 0xE, 0xD,0x2C,0x4B,0x2A, 7, 3, 1, 0, 1, 2,
|
||||
4, 5, 6, 8, 0xE,0x12,0x13,0x14,0x13, 0xD,0x28, 9, 0xB, 0xD,
|
||||
0xE, 0xF,0x2E, 0xC, 0xA, 8, 5, 4,0x63,0x64,0x43, 4, 7, 0xB,
|
||||
0xC,0x4D,0x8E,0xAF,0x2E,0x2D,0x6C,0x2D,0x2E,0x2F,0x6E,0x13,0x56,0x15,
|
||||
0x13,0x12,0x10, 0xF, 0xE,0x2D, 0xC,0x6B,0x2A, 8, 4, 1, 0, 1,
|
||||
2, 4, 5, 7, 0xA, 0xF,0x12,0x13,0x34,0x13, 9, 8, 9, 0xB,
|
||||
0xD,0x6E, 0xD, 0xC, 0xA, 6, 4, 3,0x22, 3,0x84,0x23, 4, 8,
|
||||
0xB, 0xC,0xAD,0x8E,0x4F,0x2E,0x2D,0xAC, 0xD,0xEE,0x16,0x15,0x14,0x13,
|
||||
0x11,0x10, 0xE,0x2D, 0xC, 0xB,0x2A,0x89, 8, 4, 1,0x20, 1, 3,
|
||||
5, 7, 0xB, 0xF,0x11,0x12,0x33,0x12, 0xA,0x28, 0xA, 0xC,0xCD,0xFF,
|
||||
0x20, 4, 4,0xFF,0xFF,0x1B, 8, 6,0xFF,0xFF,0x18, 0xC, 5,0xFF,
|
||||
0xFF,0x17, 0xF, 2,0xFF, 1, 2,0xC3, 4, 8, 0xA,0x2B,0xCC,0xED,
|
||||
0x2C,0x4B,0x2A,0x2B,0x2C,0xCD,0x18,0x13,0x12,0x10, 0xF, 0xD,0x2C, 0xB,
|
||||
0x2A,0xA9, 8, 6, 2, 0, 1, 2, 4, 6, 8, 0xC, 0xF,0x11,
|
||||
0x32,0x13,0x32,0x29, 0xA,0x2C,0x4D, 0xE, 0xF,0x11,0x12,0x33,0xFF,0x1A,
|
||||
9, 8,0xFF,0xFF,0x1A, 0xB, 6,0xFF, 2,0xA3, 4, 6, 8, 9,
|
||||
0xA,0x4B,0xEC,0xAD, 0xC,0x4B,0x6A,0x2B, 0xC,0xCD,0x1C, 0xF, 0xD, 0xB,
|
||||
0x2A, 9, 8,0xE7, 6, 5, 3, 0, 1, 2, 3, 5, 8, 0xB,
|
||||
0xD, 0xF,0x90, 0xF, 0xC,0x6A,0x2B, 0xC, 0xE, 0xF,0x10,0x71,0xFF,0x1D,
|
||||
9, 7,0xFF,0xFF,0x1D, 0xC, 2,0xFF,0x61, 2, 3, 4, 6, 7,
|
||||
0x28,0xC9,0xAA,0x2B,0x4A,0x29,0x88,0x29, 0xA,0xCB,0x1F, 0xA, 9,0x28,
|
||||
7,0x26,0x45,0x66, 5, 4, 3,0x22, 3, 4, 5, 8, 0xB, 0xD,
|
||||
0x2E,0x6F, 0xE, 0xD, 0xA,0x69, 0xA, 0xB, 0xD, 0xE,0x2F,0x70,0xFF,0x21,
|
||||
5, 9,0xFF,0xFF,0x20, 9, 6,0xFF,0x20,0x21, 2, 3, 5,0x26,
|
||||
0x27,0xE8,0x28,0xC9,0x28,0x27,0x26,0x47, 8,0x29,0x2A,0x4B, 0xA,0x22,
|
||||
7,0x26, 5,0x84,0x65,0x24,0x63, 4, 6, 9, 0xA, 0xC,0x2D,0x6E,
|
||||
0xD, 0xC, 0xA, 9,0x48, 9, 0xA, 0xC, 0xD,0x4E,0x6F,0x10,0xFF,0x22,
|
||||
7, 9,0xFF,0x20, 1, 2,0x23, 4,0x25,0x86,0xE7,0x88,0x27,0x26,
|
||||
0x65,0x26, 7,0x28, 9,0x6A, 9,0x25,0x24,0x23,0x22,0x23,0x64,0x23,
|
||||
0x42, 3, 5, 7, 8, 9, 0xA, 0xB,0x2C, 0xD,0x4C, 0xB, 9, 8,
|
||||
0x47, 8, 9, 0xB,0x2C,0x6D,0x2E, 0xF,0x10,0xFF,0x27, 1, 0xD,0xFF,
|
||||
0,0x21,0x22,0x23,0x44,0xE5,0x25,0x46,0x47,0x26,0x45,0x84, 5, 6,
|
||||
7, 8,0x29, 0xA,0x49,0x29, 1,0x60,0x21,0x42,0xA1, 2, 4, 5,
|
||||
6, 7, 8, 9,0x8A, 9, 8, 7, 6, 5, 4, 5, 6, 7,
|
||||
8, 9,0x4A,0x4B, 0xC, 0xD,0x2E, 0xD, 2,0x60,0x41,0x62,0xE3, 3,
|
||||
0xC4,0x23,0x42, 1, 2,0xFF,0x2B, 0xB, 3,0xFF,0xFF,0x2C, 9, 4,
|
||||
0xFF,0xFF,0x2D, 7, 5,0xFF,0xFF,0x2F, 5, 4,0xFF, 7,0x68,0x27,
|
||||
0x2B,0x60,0xFF,0x2C, 0xB, 2,0xFF,0xFF,0x2D, 9, 4,0xFF,0xFF,0x2D,
|
||||
8, 5,0xFF,0xFF,0x2D, 8, 5,0xFF, 2,0x81, 2, 3, 4, 5,
|
||||
6, 7, 8,0x29,0x2A,0x49, 8, 7, 5,0x24, 5, 6, 7, 8,
|
||||
0x29,0x6A, 0xB, 0xC, 0xD,0x4E, 0xC, 3, 1,0x40,0x61,0x62,0xE3,0x24,
|
||||
0x45,0x24,0x23,0x22, 1,0xFF,0x2C, 0xA, 4,0xFF,0xFF,0x2D, 8, 7,
|
||||
0xFF,0xFF,0x2E, 6, 8,0xFF,0xFF,0x2F, 4, 9,0xFF,0x10, 0xF, 0xE,
|
||||
0xB, 9,0x28,0x27,0x2C, 0,0xFF,0x2D, 0xB, 2,0xFF,0xFF,0x2E, 8,
|
||||
6,0xFF,0xFF,0x2F, 6, 7,0xFF,0xFF,0x30, 3, 9,0xFF,0x10,0xFF,
|
||||
0x31, 2, 9,0xFF,0xFF,0x30, 5, 6,0xFF, 3,0x22,0x23, 4, 5,
|
||||
0x26, 7, 8, 9,0x8A,0x29, 8, 7, 6,0x45, 7, 8,0x29,0x6A,
|
||||
0x2B, 0xC,0x2E,0x2F, 0xE, 0xC, 3, 2,0x61,0x62,0xC3,0x44,0x25,0x86,
|
||||
0x25,0x24,0xFF,0x2F, 8, 2,0xFF,0xFF,0x2F, 6, 7,0xFF,0xFF,0x2F,
|
||||
5, 9,0xFF,0xFF,0x30, 3, 0xB,0xFF,0x12,0x31,0x10, 0xF, 0xD, 0xB,
|
||||
0xA,0x29, 8,0x2F,0xFF,0x30, 4, 0xA,0xFF,0x6F,0x2E, 0xC,0x63,0x24,
|
||||
0x25, 6, 7,0x28,0x29,0x48,0x27, 6, 5,0x24, 5, 6,0x27,0x48,
|
||||
0x49, 0xA, 0xB, 0xC,0x6D, 0xC, 8, 2,0xA0,0x41,0x82,0x43,0x24, 5,
|
||||
0xE6, 9, 0xC, 0xE, 0xF,0x70, 0xF, 0xE, 0xD, 0xC, 0xA, 9,0x48,0x31,
|
||||
0x2F,0x4E, 0xD, 0xC, 8, 5,0x84, 5, 6, 7,0x88,0x27,0x26, 5,
|
||||
0x44, 5,0x26,0x27,0x68, 9, 0xA, 0xB, 0xC,0x4D,0x2C, 0xA, 6, 2,
|
||||
0xC0,0x21,0x62,0x23, 4, 6,0xE8,0x28, 9, 0xB, 0xD, 0xE, 0xF,0x50,
|
||||
0x2F, 0xE, 0xD, 0xC, 0xA, 9,0x28, 9,0x33,0x4E,0x2D, 0xC, 9, 6,
|
||||
0x24, 3,0x24, 5, 6, 7,0x68,0x27,0x26,0x25,0x44, 5,0x26,0x47,
|
||||
0x48, 9, 0xA, 0xB,0x8C, 0xB, 0xA, 8, 5, 1,0xC0,0x21,0x22,0x23,
|
||||
5, 7, 9,0x4A,0x49,0x68, 9, 0xA, 0xC, 0xD, 0xE,0x6F,0x2E,0x2D,
|
||||
0xB, 0xA, 9, 8, 9, 0xA,0x34,0x6E, 0xC, 0xA, 6, 5,0x44, 5,
|
||||
6, 7, 8,0x49,0x28,0x27,0x46,0x25,0x26,0x27,0x68,0x29, 0xA, 0xB,
|
||||
0xC,0x6D,0x2C, 0xB, 0xA, 8, 5, 2,0x21, 0,0x61,0x22, 3, 4,
|
||||
5, 7, 9, 0xB,0x4C,0x2B,0x2A,0x49,0x2A, 0xB, 0xD, 0xE, 0xF,0x50,
|
||||
0xF,0x4E, 0xD, 0xC, 0xB,0x2A, 0xB, 0xD,0x36,0x2E, 0xD, 0xC, 0xA, 6,
|
||||
0x64, 5, 7,0x28, 9,0x28,0x47,0xA6,0x67,0x68, 9, 0xA, 0xB,0xCC,
|
||||
0x2B, 0xA, 9, 7, 4, 2,0x21,0x20,0x21,0x22, 3, 4, 5, 7,
|
||||
9, 0xB,0x2D, 0xC,0x2B,0x2A,0x69,0x2A, 0xC, 0xD, 0xE,0x6F,0x2E,0x2D,
|
||||
0x2C, 0xB, 0xA, 0xB, 0xC, 0xE,0x38,0x4D, 0xA, 6,0x44, 5, 6,0x28,
|
||||
0x29,0x28,0xA7,0xFF,0x41, 3, 1,0xFF, 0xE, 0xD, 9,0xA8, 9, 0xA,
|
||||
0xD, 0xE,0x2D,0x2C,0x6B,0x2A, 9, 7, 5, 3, 2, 1,0x40,0x21,
|
||||
2, 3, 4, 5, 7, 0xA, 0xC,0x4D, 0xC, 0xB,0x2A,0x89,0x2A, 0xC,
|
||||
0xD, 0xE,0x4F, 0xE,0x2D,0x4C,0x4B, 0xC, 0xD, 0xF,0x3A,0x4D,0xFF,0x41,
|
||||
2, 3,0xFF,0x45, 7, 8,0x49,0x28,0x67, 8, 0xC, 0xE,0x2F, 0xE,
|
||||
0xD, 0xA,0x68, 9, 0xB, 0xD, 0xF,0x2E, 0xD, 0xC,0x2B,0x6A,0x29, 8,
|
||||
6, 4, 2,0x21,0x20,0x21, 2, 3, 4, 5, 7, 0xA, 0xC, 0xD,
|
||||
0x2E, 0xC, 0xB,0x2A,0x29,0x48,0x29, 0xA, 0xC, 0xD, 0xE,0x2F, 0xE,0x2D,
|
||||
0x2C,0x6B, 0xC, 0xD, 0xE, 0xF,0x3C,0x6D, 0xC, 0xB, 0xA,0x69,0x68, 9,
|
||||
0xA, 0xC, 0xE,0x4F, 0xE, 0xD, 0xB, 9,0x28, 9, 0xB, 0xD, 0xE,0x2F,
|
||||
0xE, 0xC, 0xB,0x2A,0x89,0x28, 6, 5, 3, 2,0x21, 0,0x21,0x22,
|
||||
4, 5, 7, 0xA, 0xC, 0xD,0x2E, 0xD, 0xC, 0xB, 0xA, 9,0xA8, 9,
|
||||
0xA, 0xC, 0xD,0x4E, 0xD,0x2C,0x8B,0x2C, 0xD, 0xE, 0xF,0x3F,0x2C,0x2B,
|
||||
0xA,0x29,0xA8, 9, 0xA, 0xB,0x2D,0x2E,0x2D, 0xB, 0xA,0x48, 9, 0xB,
|
||||
0xD,0x2E, 0xD, 0xC, 0xB, 9,0x68,0x67,0x26, 4, 3, 1,0x80,0x21,
|
||||
2, 4, 6, 8, 0xB, 0xC, 0xD, 0xE, 0xD, 0xC, 0xA, 9, 8,0x27,
|
||||
0x66, 7, 8, 0xA, 0xC,0x6D, 0xC, 0xB,0xAA, 0xB,0x2C,0x2D,0x41,0x2B,
|
||||
0xA,0x29,0x88,0x29, 0xA, 0xB, 0xC,0x6D,0x2C, 0xB,0x69, 0xB, 0xC, 0xD,
|
||||
0xE,0x2D, 0xC, 0xA, 9, 8,0xE7, 6, 5, 3, 2, 1,0x60,0x21,
|
||||
2, 4, 6, 8, 0xB, 0xC,0x4E, 0xD, 0xB, 0xA, 9, 8, 7,0x86,
|
||||
7, 9, 0xB, 0xC,0x4D, 0xC, 0xB,0x2A,0x49,0x2A, 0xB,0x4C, 0xD,0x43,
|
||||
0xA,0x49,0x48,0x29,0x2A, 0xB,0x4C, 0xD,0x4C, 0xB, 0xA,0x49, 0xA, 0xC,
|
||||
0x6D, 0xC, 0xB, 9, 8, 7,0x46,0x87, 6, 5, 4, 3, 2,0x21,
|
||||
0,0x21, 2, 3, 4, 6, 8, 0xA, 0xC,0x8D, 0xB, 0xA, 8, 7,
|
||||
0x26,0x25, 6, 7, 8, 0xB, 0xC,0x6D, 0xB,0x2A,0x69,0x2A,0x2B,0x4C,
|
||||
0x46, 8,0x67,0x28,0x29,0xEA, 0xA,0x29, 8,0x29,0xCA, 9, 7, 6,
|
||||
0x85, 6,0x27, 8, 7, 6, 4, 3, 2, 1,0x60, 1, 2, 3,
|
||||
5, 7, 9,0xEA, 9, 8, 7,0x65, 6, 8,0xEA, 9,0x88, 9,
|
||||
0xAA,0x49, 6,0xE7,0xE7,0xE7,0x87, 5,0x24,0x23, 4, 5,0xA7, 6,
|
||||
4, 2,0x21,0x60, 1, 2, 4, 6,0xE7,0xA7, 6,0xE7,0xE7,0xE7,
|
||||
7,0x4B,0xE5,0xE5,0xE5,0xA5, 4,0x23, 4,0xE5,0x45, 3, 2, 1,
|
||||
0x40, 1, 2, 4,0xE5,0xE5,0xE5,0xE5,0xE5,0x25,0x4B,0xE5,0xE5,0xE5,
|
||||
0xA5, 4,0x23, 4,0xE5,0x45, 3, 2, 1,0x40, 1, 2, 4,0xE5,
|
||||
0xE5,0xE5,0xE5,0xE5,0x25,0x4B,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,
|
||||
0xE5,0xE5,0xE5,0xE5
|
||||
};
|
||||
|
||||
s32 D_8002C50C = 0;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void insert_imageDL(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel insert_imageDL
|
||||
/* 050C00 7F01C0D0 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 050C04 7F01C0D4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 050C08 7F01C0D8 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 050C0C 7F01C0DC 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00
|
||||
/* 050C10 7F01C0E0 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402
|
||||
/* 050C14 7F01C0E4 3C0F0030 */ lui $t7, 0x30
|
||||
/* 050C18 7F01C0E8 AC8F0004 */ sw $t7, 4($a0)
|
||||
/* 050C1C 7F01C0EC AC8E0000 */ sw $t6, ($a0)
|
||||
/* 050C20 7F01C0F0 24900008 */ addiu $s0, $a0, 8
|
||||
/* 050C24 7F01C0F4 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 050C28 7F01C0F8 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 050C2C 7F01C0FC 26100008 */ addiu $s0, $s0, 8
|
||||
/* 050C30 7F01C100 2458FFFF */ addiu $t8, $v0, -1
|
||||
/* 050C34 7F01C104 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 050C38 7F01C108 33190FFF */ andi $t9, $t8, 0xfff
|
||||
/* 050C3C 7F01C10C 3C01FF10 */ lui $at, 0xff10
|
||||
/* 050C40 7F01C110 03214025 */ or $t0, $t9, $at
|
||||
/* 050C44 7F01C114 0C000F07 */ jal get_video_settings2_frameb
|
||||
/* 050C48 7F01C118 AD280000 */ sw $t0, ($t1)
|
||||
/* 050C4C 7F01C11C 0C003A2C */ jal osVirtualToPhysical
|
||||
/* 050C50 7F01C120 00402025 */ move $a0, $v0
|
||||
/* 050C54 7F01C124 8FAA0030 */ lw $t2, 0x30($sp)
|
||||
/* 050C58 7F01C128 02001825 */ move $v1, $s0
|
||||
/* 050C5C 7F01C12C 3C0C0001 */ lui $t4, (0x00010001 >> 16) # lui $t4, 1
|
||||
/* 050C60 7F01C130 AD420004 */ sw $v0, 4($t2)
|
||||
/* 050C64 7F01C134 358C0001 */ ori $t4, (0x00010001 & 0xFFFF) # ori $t4, $t4, 1
|
||||
/* 050C68 7F01C138 3C0BF700 */ lui $t3, 0xf700
|
||||
/* 050C6C 7F01C13C AC6B0000 */ sw $t3, ($v1)
|
||||
/* 050C70 7F01C140 AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 050C74 7F01C144 26100008 */ addiu $s0, $s0, 8
|
||||
/* 050C78 7F01C148 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 050C7C 7F01C14C 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 050C80 7F01C150 26100008 */ addiu $s0, $s0, 8
|
||||
/* 050C84 7F01C154 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 050C88 7F01C158 A7A20022 */ sh $v0, 0x22($sp)
|
||||
/* 050C8C 7F01C15C 87B90022 */ lh $t9, 0x22($sp)
|
||||
/* 050C90 7F01C160 244DFFFF */ addiu $t5, $v0, -1
|
||||
/* 050C94 7F01C164 8FA30028 */ lw $v1, 0x28($sp)
|
||||
/* 050C98 7F01C168 31AE03FF */ andi $t6, $t5, 0x3ff
|
||||
/* 050C9C 7F01C16C 2728FFFF */ addiu $t0, $t9, -1
|
||||
/* 050CA0 7F01C170 310903FF */ andi $t1, $t0, 0x3ff
|
||||
/* 050CA4 7F01C174 000E7880 */ sll $t7, $t6, 2
|
||||
/* 050CA8 7F01C178 3C01F600 */ lui $at, 0xf600
|
||||
/* 050CAC 7F01C17C 01E1C025 */ or $t8, $t7, $at
|
||||
/* 050CB0 7F01C180 00095380 */ sll $t2, $t1, 0xe
|
||||
/* 050CB4 7F01C184 030A5825 */ or $t3, $t8, $t2
|
||||
/* 050CB8 7F01C188 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 050CBC 7F01C18C AC600004 */ sw $zero, 4($v1)
|
||||
/* 050CC0 7F01C190 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 050CC4 7F01C194 02001025 */ move $v0, $s0
|
||||
/* 050CC8 7F01C198 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 050CCC 7F01C19C 03E00008 */ jr $ra
|
||||
/* 050CD0 7F01C1A0 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01C1A4(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01C1A4
|
||||
/* 050CD4 7F01C1A4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 050CD8 7F01C1A8 3C0E0103 */ lui $t6, (0x01030040 >> 16) # lui $t6, 0x103
|
||||
/* 050CDC 7F01C1AC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 050CE0 7F01C1B0 35CE0040 */ ori $t6, (0x01030040 & 0xFFFF) # ori $t6, $t6, 0x40
|
||||
/* 050CE4 7F01C1B4 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 050CE8 7F01C1B8 00801825 */ move $v1, $a0
|
||||
/* 050CEC 7F01C1BC 24850008 */ addiu $a1, $a0, 8
|
||||
/* 050CF0 7F01C1C0 3C048007 */ lui $a0, %hi(matrix_buffer_gunbarrel_0)
|
||||
/* 050CF4 7F01C1C4 8C84955C */ lw $a0, %lo(matrix_buffer_gunbarrel_0)($a0)
|
||||
/* 050CF8 7F01C1C8 AFA50020 */ sw $a1, 0x20($sp)
|
||||
/* 050CFC 7F01C1CC 0C003A2C */ jal osVirtualToPhysical
|
||||
/* 050D00 7F01C1D0 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 050D04 7F01C1D4 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 050D08 7F01C1D8 8FA80020 */ lw $t0, 0x20($sp)
|
||||
/* 050D0C 7F01C1DC 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102
|
||||
/* 050D10 7F01C1E0 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40
|
||||
/* 050D14 7F01C1E4 AC620004 */ sw $v0, 4($v1)
|
||||
/* 050D18 7F01C1E8 3C188003 */ lui $t8, %hi(D_8002A7D0)
|
||||
/* 050D1C 7F01C1EC AD0F0000 */ sw $t7, ($t0)
|
||||
/* 050D20 7F01C1F0 8F18A7D0 */ lw $t8, %lo(D_8002A7D0)($t8)
|
||||
/* 050D24 7F01C1F4 3C098007 */ lui $t1, %hi(matrix_buffer_rarelogo_2)
|
||||
/* 050D28 7F01C1F8 8D299564 */ lw $t1, %lo(matrix_buffer_rarelogo_2)($t1)
|
||||
/* 050D2C 7F01C1FC 25050008 */ addiu $a1, $t0, 8
|
||||
/* 050D30 7F01C200 0018C980 */ sll $t9, $t8, 6
|
||||
/* 050D34 7F01C204 AFA50020 */ sw $a1, 0x20($sp)
|
||||
/* 050D38 7F01C208 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 050D3C 7F01C20C 0C003A2C */ jal osVirtualToPhysical
|
||||
/* 050D40 7F01C210 03292021 */ addu $a0, $t9, $t1
|
||||
/* 050D44 7F01C214 8FA30020 */ lw $v1, 0x20($sp)
|
||||
/* 050D48 7F01C218 8FA80018 */ lw $t0, 0x18($sp)
|
||||
/* 050D4C 7F01C21C 3C0AE700 */ lui $t2, 0xe700
|
||||
/* 050D50 7F01C220 24640008 */ addiu $a0, $v1, 8
|
||||
/* 050D54 7F01C224 AD020004 */ sw $v0, 4($t0)
|
||||
/* 050D58 7F01C228 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00 gDPSetCycleType(2cycle)
|
||||
/* 050D5C 7F01C22C AC600004 */ sw $zero, 4($v1)
|
||||
/* 050D60 7F01C230 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 050D64 7F01C234 356B1402 */ ori $t3, (0xBA001402 & 0xFFFF) # ori $t3, $t3, 0x1402
|
||||
/* 050D68 7F01C238 24860008 */ addiu $a2, $a0, 8
|
||||
/* 050D6C 7F01C23C AC8B0000 */ sw $t3, ($a0)
|
||||
/* 050D70 7F01C240 AC800004 */ sw $zero, 4($a0)
|
||||
/* 050D74 7F01C244 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 gDPSetRenderMode(AAOpaSurf)
|
||||
/* 050D78 7F01C248 3C0D0055 */ lui $t5, (0x00552048 >> 16) # lui $t5, 0x55
|
||||
/* 050D7C 7F01C24C 35AD2048 */ ori $t5, (0x00552048 & 0xFFFF) # ori $t5, $t5, 0x2048
|
||||
/* 050D80 7F01C250 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
|
||||
/* 050D84 7F01C254 ACCC0000 */ sw $t4, ($a2)
|
||||
/* 050D88 7F01C258 ACCD0004 */ sw $t5, 4($a2)
|
||||
/* 050D8C 7F01C25C 24C70008 */ addiu $a3, $a2, 8
|
||||
/* 050D90 7F01C260 3C0EB700 */ lui $t6, 0xb700
|
||||
/* 050D94 7F01C264 240F0204 */ li $t7, 516
|
||||
/* 050D98 7F01C268 ACEF0004 */ sw $t7, 4($a3)
|
||||
/* 050D9C 7F01C26C ACEE0000 */ sw $t6, ($a3)
|
||||
/* 050DA0 7F01C270 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 050DA4 7F01C274 24E20008 */ addiu $v0, $a3, 8
|
||||
/* 050DA8 7F01C278 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 050DAC 7F01C27C 03E00008 */ jr $ra
|
||||
/* 050DB0 7F01C280 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void die_blood_image_routine(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel die_blood_image_routine
|
||||
/* 050DB4 7F01C284 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 050DB8 7F01C288 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 050DBC 7F01C28C AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 050DC0 7F01C290 14800008 */ bnez $a0, .L7F01C2B4
|
||||
/* 050DC4 7F01C294 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 050DC8 7F01C298 3C118008 */ lui $s1, %hi(pPlayer)
|
||||
/* 050DCC 7F01C29C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
|
||||
/* 050DD0 7F01C2A0 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 050DD4 7F01C2A4 3C0E8003 */ lui $t6, %hi(die_blood_image_1)
|
||||
/* 050DD8 7F01C2A8 25CEBB30 */ addiu $t6, %lo(die_blood_image_1) # addiu $t6, $t6, -0x44d0
|
||||
/* 050DDC 7F01C2AC 1000000D */ b .L7F01C2E4
|
||||
/* 050DE0 7F01C2B0 ADEE11A8 */ sw $t6, 0x11a8($t7)
|
||||
.L7F01C2B4:
|
||||
/* 050DE4 7F01C2B4 24010001 */ li $at, 1
|
||||
/* 050DE8 7F01C2B8 1481000A */ bne $a0, $at, .L7F01C2E4
|
||||
/* 050DEC 7F01C2BC 3C118008 */ lui $s1, %hi(pPlayer)
|
||||
/* 050DF0 7F01C2C0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
|
||||
/* 050DF4 7F01C2C4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050DF8 7F01C2C8 3C188003 */ lui $t8, %hi(D_8002C50C)
|
||||
/* 050DFC 7F01C2CC 2718C50C */ addiu $t8, %lo(D_8002C50C) # addiu $t8, $t8, -0x3af4
|
||||
/* 050E00 7F01C2D0 8E0211AC */ lw $v0, 0x11ac($s0)
|
||||
/* 050E04 7F01C2D4 0058082B */ sltu $at, $v0, $t8
|
||||
/* 050E08 7F01C2D8 10200002 */ beqz $at, .L7F01C2E4
|
||||
/* 050E0C 7F01C2DC 00000000 */ nop
|
||||
/* 050E10 7F01C2E0 AE0211A8 */ sw $v0, 0x11a8($s0)
|
||||
.L7F01C2E4:
|
||||
/* 050E14 7F01C2E4 3C118008 */ lui $s1, %hi(pPlayer)
|
||||
/* 050E18 7F01C2E8 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
|
||||
/* 050E1C 7F01C2EC 8E300000 */ lw $s0, ($s1)
|
||||
/* 050E20 7F01C2F0 24080001 */ li $t0, 1
|
||||
/* 050E24 7F01C2F4 24041E00 */ li $a0, 7680
|
||||
/* 050E28 7F01C2F8 8E1911B8 */ lw $t9, 0x11b8($s0)
|
||||
/* 050E2C 7F01C2FC 01194823 */ subu $t1, $t0, $t9
|
||||
/* 050E30 7F01C300 0FC2F5C5 */ jal sub_GAME_7F0BD714
|
||||
/* 050E34 7F01C304 AE0911B8 */ sw $t1, 0x11b8($s0)
|
||||
/* 050E38 7F01C308 8E300000 */ lw $s0, ($s1)
|
||||
/* 050E3C 7F01C30C 24041E00 */ li $a0, 7680
|
||||
/* 050E40 7F01C310 8E0A11B8 */ lw $t2, 0x11b8($s0)
|
||||
/* 050E44 7F01C314 000A5880 */ sll $t3, $t2, 2
|
||||
/* 050E48 7F01C318 020B6021 */ addu $t4, $s0, $t3
|
||||
/* 050E4C 7F01C31C 0FC2F5C5 */ jal sub_GAME_7F0BD714
|
||||
/* 050E50 7F01C320 AD8211B0 */ sw $v0, 0x11b0($t4)
|
||||
/* 050E54 7F01C324 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 050E58 7F01C328 AFA20030 */ sw $v0, 0x30($sp)
|
||||
/* 050E5C 7F01C32C 27AE0037 */ addiu $t6, $sp, 0x37
|
||||
/* 050E60 7F01C330 8DA411A8 */ lw $a0, 0x11a8($t5)
|
||||
/* 050E64 7F01C334 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 050E68 7F01C338 24050050 */ li $a1, 80
|
||||
/* 050E6C 7F01C33C 24060060 */ li $a2, 96
|
||||
/* 050E70 7F01C340 0FC072B8 */ jal decrypt_bleeding_animation_data
|
||||
/* 050E74 7F01C344 00403825 */ move $a3, $v0
|
||||
/* 050E78 7F01C348 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 050E7C 7F01C34C 24050050 */ li $a1, 80
|
||||
/* 050E80 7F01C350 24060060 */ li $a2, 96
|
||||
/* 050E84 7F01C354 ADE211AC */ sw $v0, 0x11ac($t7)
|
||||
/* 050E88 7F01C358 8E300000 */ lw $s0, ($s1)
|
||||
/* 050E8C 7F01C35C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 050E90 7F01C360 8E1811B8 */ lw $t8, 0x11b8($s0)
|
||||
/* 050E94 7F01C364 00184080 */ sll $t0, $t8, 2
|
||||
/* 050E98 7F01C368 0208C821 */ addu $t9, $s0, $t0
|
||||
/* 050E9C 7F01C36C 0FC0745B */ jal sub_GAME_7F01D16C
|
||||
/* 050EA0 7F01C370 8F2711B0 */ lw $a3, 0x11b0($t9)
|
||||
/* 050EA4 7F01C374 8E300000 */ lw $s0, ($s1)
|
||||
/* 050EA8 7F01C378 24050050 */ li $a1, 80
|
||||
/* 050EAC 7F01C37C 8E0911B8 */ lw $t1, 0x11b8($s0)
|
||||
/* 050EB0 7F01C380 00095080 */ sll $t2, $t1, 2
|
||||
/* 050EB4 7F01C384 020A5821 */ addu $t3, $s0, $t2
|
||||
/* 050EB8 7F01C388 8D6411B0 */ lw $a0, 0x11b0($t3)
|
||||
/* 050EBC 7F01C38C 0FC0740B */ jal sub_GAME_7F01D02C
|
||||
/* 050EC0 7F01C390 00803025 */ move $a2, $a0
|
||||
/* 050EC4 7F01C394 8E300000 */ lw $s0, ($s1)
|
||||
/* 050EC8 7F01C398 24050050 */ li $a1, 80
|
||||
/* 050ECC 7F01C39C 8E0C11B8 */ lw $t4, 0x11b8($s0)
|
||||
/* 050ED0 7F01C3A0 000C6880 */ sll $t5, $t4, 2
|
||||
/* 050ED4 7F01C3A4 020D7021 */ addu $t6, $s0, $t5
|
||||
/* 050ED8 7F01C3A8 8DC411B0 */ lw $a0, 0x11b0($t6)
|
||||
/* 050EDC 7F01C3AC 0FC073BB */ jal sub_GAME_7F01CEEC
|
||||
/* 050EE0 7F01C3B0 00803025 */ move $a2, $a0
|
||||
/* 050EE4 7F01C3B4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050EE8 7F01C3B8 24051E00 */ li $a1, 7680
|
||||
/* 050EEC 7F01C3BC 8E0F11B8 */ lw $t7, 0x11b8($s0)
|
||||
/* 050EF0 7F01C3C0 000FC080 */ sll $t8, $t7, 2
|
||||
/* 050EF4 7F01C3C4 02184021 */ addu $t0, $s0, $t8
|
||||
/* 050EF8 7F01C3C8 8D0411B0 */ lw $a0, 0x11b0($t0)
|
||||
/* 050EFC 7F01C3CC 0FC07325 */ jal sub_GAME_7F01CC94
|
||||
/* 050F00 7F01C3D0 00803025 */ move $a2, $a0
|
||||
/* 050F04 7F01C3D4 8E390000 */ lw $t9, ($s1)
|
||||
/* 050F08 7F01C3D8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 050F0C 7F01C3DC 3C0A8003 */ lui $t2, %hi(D_8002C50C)
|
||||
/* 050F10 7F01C3E0 8F2911AC */ lw $t1, 0x11ac($t9)
|
||||
/* 050F14 7F01C3E4 254AC50C */ addiu $t2, %lo(D_8002C50C) # addiu $t2, $t2, -0x3af4
|
||||
/* 050F18 7F01C3E8 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 050F1C 7F01C3EC 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 050F20 7F01C3F0 012A102B */ sltu $v0, $t1, $t2
|
||||
/* 050F24 7F01C3F4 38420001 */ xori $v0, $v0, 1
|
||||
/* 050F28 7F01C3F8 03E00008 */ jr $ra
|
||||
/* 050F2C 7F01C3FC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01C400(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01C400
|
||||
/* 050F30 7F01C400 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 050F34 7F01C404 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 050F38 7F01C408 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 050F3C 7F01C40C 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H
|
||||
/* 050F40 7F01C410 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
|
||||
/* 050F44 7F01C414 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 050F48 7F01C418 AC800004 */ sw $zero, 4($a0)
|
||||
/* 050F4C 7F01C41C 24830008 */ addiu $v1, $a0, 8
|
||||
/* 050F50 7F01C420 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00
|
||||
/* 050F54 7F01C424 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02
|
||||
/* 050F58 7F01C428 24182000 */ li $t8, 8192
|
||||
/* 050F5C 7F01C42C AC780004 */ sw $t8, 4($v1)
|
||||
/* 050F60 7F01C430 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 050F64 7F01C434 0FC07069 */ jal sub_GAME_7F01C1A4
|
||||
/* 050F68 7F01C438 24640008 */ addiu $a0, $v1, 8
|
||||
/* 050F6C 7F01C43C 3C19BB00 */ lui $t9, (0xBB000001 >> 16) # lui $t9, 0xbb00
|
||||
/* 050F70 7F01C440 37390001 */ ori $t9, (0xBB000001 & 0xFFFF) # ori $t9, $t9, 1
|
||||
/* 050F74 7F01C444 AC590000 */ sw $t9, ($v0)
|
||||
/* 050F78 7F01C448 3C088000 */ lui $t0, (0x80008000 >> 16)
|
||||
/* 050F7C 7F01C44C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 #gDPSetRenderMode(OpaSurf)
|
||||
/* 050F80 7F01C450 3C0A0050 */ lui $t2, (0x00504340 >> 16) # lui $t2, 0x50
|
||||
/* 050F84 7F01C454 3C0BFC11 */ lui $t3, (0xFC119623 >> 16) # lui $t3, 0xfc11
|
||||
/* 050F88 7F01C458 3C0CFF2F */ lui $t4, (0xFF2FFFFF >> 16) # lui $t4, 0xff2f
|
||||
/* 050F8C 7F01C45C 3C0DBA00 */ lui $t5, (0xBA000602 >> 16) # lui $t5, 0xba00
|
||||
/* 050F90 7F01C460 3C0F9600 */ lui $t7, (0x960000B4 >> 16) # lui $t7, 0x9600
|
||||
/* 050F94 7F01C464 3C18BA00 */ lui $t8, (0xBA001301 >> 16) # lui $t8, 0xba00
|
||||
/* 050F98 7F01C468 35088000 */ ori $t0, (0x80008000 & 0xFFFF) # ori $t0, $t0, 0x8000
|
||||
/* 050F9C 7F01C46C 354A4340 */ ori $t2, (0x00504340 & 0xFFFF) # ori $t2, $t2, 0x4340
|
||||
/* 050FA0 7F01C470 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d
|
||||
/* 050FA4 7F01C474 358CFFFF */ ori $t4, (0xFF2FFFFF & 0xFFFF) # ori $t4, $t4, 0xffff
|
||||
/* 050FA8 7F01C478 356B9623 */ ori $t3, (0xFC119623 & 0xFFFF) # ori $t3, $t3, 0x9623 #setcombine()
|
||||
/* 050FAC 7F01C47C 35AD0602 */ ori $t5, (0xBA000602 & 0xFFFF) # ori $t5, $t5, 0x602
|
||||
/* 050FB0 7F01C480 35EF00B4 */ ori $t7, (0x960000B4 & 0xFFFF) # ori $t7, $t7, 0xb4
|
||||
/* 050FB4 7F01C484 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* 050FB8 7F01C488 37181301 */ ori $t8, (0xBA001301 & 0xFFFF) # ori $t8, $t8, 0x1301
|
||||
/* 050FBC 7F01C48C 3C19FD90 */ lui $t9, 0xfd90
|
||||
/* 050FC0 7F01C490 AC480004 */ sw $t0, 4($v0)
|
||||
/* 050FC4 7F01C494 AC490008 */ sw $t1, 8($v0)
|
||||
/* 050FC8 7F01C498 AC4A000C */ sw $t2, 0xc($v0)
|
||||
/* 050FCC 7F01C49C AC4B0010 */ sw $t3, 0x10($v0)
|
||||
/* 050FD0 7F01C4A0 AC4C0014 */ sw $t4, 0x14($v0)
|
||||
/* 050FD4 7F01C4A4 AC4D0018 */ sw $t5, 0x18($v0)
|
||||
/* 050FD8 7F01C4A8 AC40001C */ sw $zero, 0x1c($v0)
|
||||
/* 050FDC 7F01C4AC AC4E0020 */ sw $t6, 0x20($v0)
|
||||
/* 050FE0 7F01C4B0 AC4F0024 */ sw $t7, 0x24($v0)
|
||||
/* 050FE4 7F01C4B4 AC580028 */ sw $t8, 0x28($v0)
|
||||
/* 050FE8 7F01C4B8 AC40002C */ sw $zero, 0x2c($v0)
|
||||
/* 050FEC 7F01C4BC AC590030 */ sw $t9, 0x30($v0)
|
||||
/* 050FF0 7F01C4C0 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 050FF4 7F01C4C4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 050FF8 7F01C4C8 3C018000 */ lui $at, 0x8000
|
||||
/* 050FFC 7F01C4CC 3C190777 */ lui $t9, (0x0777F156 >> 16) # lui $t9, 0x777
|
||||
/* 051000 7F01C4D0 8C6811B8 */ lw $t0, 0x11b8($v1)
|
||||
/* 051004 7F01C4D4 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
|
||||
/* 051008 7F01C4D8 3C0DF590 */ lui $t5, 0xf590
|
||||
/* 05100C 7F01C4DC 00084880 */ sll $t1, $t0, 2
|
||||
/* 051010 7F01C4E0 00695021 */ addu $t2, $v1, $t1
|
||||
/* 051014 7F01C4E4 8D4B11B0 */ lw $t3, 0x11b0($t2)
|
||||
/* 051018 7F01C4E8 3C0A0008 */ lui $t2, (0x00080200 >> 16) # lui $t2, 8
|
||||
/* 05101C 7F01C4EC 3C09F580 */ lui $t1, (0xF5800C00 >> 16) # lui $t1, 0xf580
|
||||
/* 051020 7F01C4F0 01616021 */ addu $t4, $t3, $at
|
||||
/* 051024 7F01C4F4 AC4C0034 */ sw $t4, 0x34($v0)
|
||||
/* 051028 7F01C4F8 3C0C0017 */ lui $t4, (0x0017C13C >> 16) # lui $t4, 0x17
|
||||
/* 05102C 7F01C4FC 358CC13C */ ori $t4, (0x0017C13C & 0xFFFF) # ori $t4, $t4, 0xc13c
|
||||
/* 051030 7F01C500 3C0BF200 */ lui $t3, 0xf200
|
||||
/* 051034 7F01C504 35290C00 */ ori $t1, (0xF5800C00 & 0xFFFF) # ori $t1, $t1, 0xc00
|
||||
/* 051038 7F01C508 354A0200 */ ori $t2, (0x00080200 & 0xFFFF) # ori $t2, $t2, 0x200
|
||||
/* 05103C 7F01C50C AC4D0038 */ sw $t5, 0x38($v0)
|
||||
/* 051040 7F01C510 3C08E700 */ lui $t0, 0xe700
|
||||
/* 051044 7F01C514 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
|
||||
/* 051048 7F01C518 3739F156 */ ori $t9, (0x0777F156 & 0xFFFF) # ori $t9, $t9, 0xf156
|
||||
/* 05104C 7F01C51C 3C18F300 */ lui $t8, 0xf300
|
||||
/* 051050 7F01C520 3C0FE600 */ lui $t7, 0xe600
|
||||
/* 051054 7F01C524 AC4F0040 */ sw $t7, 0x40($v0)
|
||||
/* 051058 7F01C528 AC580048 */ sw $t8, 0x48($v0)
|
||||
/* 05105C 7F01C52C AC59004C */ sw $t9, 0x4c($v0)
|
||||
/* 051060 7F01C530 AC4E003C */ sw $t6, 0x3c($v0)
|
||||
/* 051064 7F01C534 AC480050 */ sw $t0, 0x50($v0)
|
||||
/* 051068 7F01C538 AC4A005C */ sw $t2, 0x5c($v0)
|
||||
/* 05106C 7F01C53C AC490058 */ sw $t1, 0x58($v0)
|
||||
/* 051070 7F01C540 AC4B0060 */ sw $t3, 0x60($v0)
|
||||
/* 051074 7F01C544 AC4C0064 */ sw $t4, 0x64($v0)
|
||||
/* 051078 7F01C548 AC400054 */ sw $zero, 0x54($v0)
|
||||
/* 05107C 7F01C54C AC400044 */ sw $zero, 0x44($v0)
|
||||
/* 051080 7F01C550 244D0068 */ addiu $t5, $v0, 0x68
|
||||
/* 051084 7F01C554 AFAD0030 */ sw $t5, 0x30($sp)
|
||||
/* 051088 7F01C558 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 05108C 7F01C55C 24500070 */ addiu $s0, $v0, 0x70
|
||||
/* 051090 7F01C560 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 051094 7F01C564 A7A20026 */ sh $v0, 0x26($sp)
|
||||
/* 051098 7F01C568 87A80026 */ lh $t0, 0x26($sp)
|
||||
/* 05109C 7F01C56C 00027080 */ sll $t6, $v0, 2
|
||||
/* 0510A0 7F01C570 8FA50030 */ lw $a1, 0x30($sp)
|
||||
/* 0510A4 7F01C574 00084880 */ sll $t1, $t0, 2
|
||||
/* 0510A8 7F01C578 252AFFFF */ addiu $t2, $t1, -1
|
||||
/* 0510AC 7F01C57C 25CFFFFF */ addiu $t7, $t6, -1
|
||||
/* 0510B0 7F01C580 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* 0510B4 7F01C584 314B0FFF */ andi $t3, $t2, 0xfff
|
||||
/* 0510B8 7F01C588 3C01E400 */ lui $at, 0xe400
|
||||
/* 0510BC 7F01C58C 0301C825 */ or $t9, $t8, $at
|
||||
/* 0510C0 7F01C590 000B6300 */ sll $t4, $t3, 0xc
|
||||
/* 0510C4 7F01C594 032C6825 */ or $t5, $t9, $t4
|
||||
/* 0510C8 7F01C598 02001825 */ move $v1, $s0
|
||||
/* 0510CC 7F01C59C ACAD0000 */ sw $t5, ($a1)
|
||||
/* 0510D0 7F01C5A0 ACA00004 */ sw $zero, 4($a1)
|
||||
/* 0510D4 7F01C5A4 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0510D8 7F01C5A8 3C0EB400 */ lui $t6, 0xb400
|
||||
/* 0510DC 7F01C5AC AC6E0000 */ sw $t6, ($v1)
|
||||
/* 0510E0 7F01C5B0 02002025 */ move $a0, $s0
|
||||
/* 0510E4 7F01C5B4 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0510E8 7F01C5B8 3C0FB300 */ lui $t7, 0xb300
|
||||
/* 0510EC 7F01C5BC AC8F0000 */ sw $t7, ($a0)
|
||||
/* 0510F0 7F01C5C0 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0510F4 7F01C5C4 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 0510F8 7F01C5C8 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0510FC 7F01C5CC 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 051100 7F01C5D0 A7A20026 */ sh $v0, 0x26($sp)
|
||||
/* 051104 7F01C5D4 3C180001 */ lui $t8, (0x00014000 >> 16) # lui $t8, 1
|
||||
/* 051108 7F01C5D8 37184000 */ ori $t8, (0x00014000 & 0xFFFF) # ori $t8, $t8, 0x4000
|
||||
/* 05110C 7F01C5DC 0302001A */ div $zero, $t8, $v0
|
||||
/* 051110 7F01C5E0 00004012 */ mflo $t0
|
||||
/* 051114 7F01C5E4 87AA0026 */ lh $t2, 0x26($sp)
|
||||
/* 051118 7F01C5E8 3C0B0001 */ lui $t3, (0x00018000 >> 16) # lui $t3, 1
|
||||
/* 05111C 7F01C5EC 356B8000 */ ori $t3, (0x00018000 & 0xFFFF) # ori $t3, $t3, 0x8000
|
||||
/* 051120 7F01C5F0 016A001A */ div $zero, $t3, $t2
|
||||
/* 051124 7F01C5F4 14400002 */ bnez $v0, .L7F01C600
|
||||
/* 051128 7F01C5F8 00000000 */ nop
|
||||
/* 05112C 7F01C5FC 0007000D */ break 7
|
||||
.L7F01C600:
|
||||
/* 051130 7F01C600 2401FFFF */ li $at, -1
|
||||
/* 051134 7F01C604 14410004 */ bne $v0, $at, .L7F01C618
|
||||
/* 051138 7F01C608 3C018000 */ lui $at, 0x8000
|
||||
/* 05113C 7F01C60C 17010002 */ bne $t8, $at, .L7F01C618
|
||||
/* 051140 7F01C610 00000000 */ nop
|
||||
/* 051144 7F01C614 0006000D */ break 6
|
||||
.L7F01C618:
|
||||
/* 051148 7F01C618 0000C812 */ mflo $t9
|
||||
/* 05114C 7F01C61C 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 051150 7F01C620 332CFFFF */ andi $t4, $t9, 0xffff
|
||||
/* 051154 7F01C624 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 051158 7F01C628 3109FFFF */ andi $t1, $t0, 0xffff
|
||||
/* 05115C 7F01C62C 012D7025 */ or $t6, $t1, $t5
|
||||
/* 051160 7F01C630 ADEE0004 */ sw $t6, 4($t7)
|
||||
/* 051164 7F01C634 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 051168 7F01C638 02001025 */ move $v0, $s0
|
||||
/* 05116C 7F01C63C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 051170 7F01C640 15400002 */ bnez $t2, .L7F01C64C
|
||||
/* 051174 7F01C644 00000000 */ nop
|
||||
/* 051178 7F01C648 0007000D */ break 7
|
||||
.L7F01C64C:
|
||||
/* 05117C 7F01C64C 2401FFFF */ li $at, -1
|
||||
/* 051180 7F01C650 15410004 */ bne $t2, $at, .L7F01C664
|
||||
/* 051184 7F01C654 3C018000 */ lui $at, 0x8000
|
||||
/* 051188 7F01C658 15610002 */ bne $t3, $at, .L7F01C664
|
||||
/* 05118C 7F01C65C 00000000 */ nop
|
||||
/* 051190 7F01C660 0006000D */ break 6
|
||||
.L7F01C664:
|
||||
/* 051194 7F01C664 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
/* 051198 7F01C668 03E00008 */ jr $ra
|
||||
/* 05119C 7F01C66C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01C670(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01C670
|
||||
/* 0511A0 7F01C670 27BDFF78 */ addiu $sp, $sp, -0x88
|
||||
/* 0511A4 7F01C674 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0511A8 7F01C678 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0511AC 7F01C67C AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 0511B0 7F01C680 24900008 */ addiu $s0, $a0, 8
|
||||
/* 0511B4 7F01C684 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H()
|
||||
/* 0511B8 7F01C688 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
|
||||
/* 0511BC 7F01C68C 02001825 */ move $v1, $s0
|
||||
/* 0511C0 7F01C690 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00
|
||||
/* 0511C4 7F01C694 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0511C8 7F01C698 AC800004 */ sw $zero, 4($a0)
|
||||
/* 0511CC 7F01C69C 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 #G_SETOTHERMODE_H()
|
||||
/* 0511D0 7F01C6A0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0511D4 7F01C6A4 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 0511D8 7F01C6A8 24182000 */ li $t8, 8192
|
||||
/* 0511DC 7F01C6AC 02002825 */ move $a1, $s0
|
||||
/* 0511E0 7F01C6B0 AC780004 */ sw $t8, 4($v1)
|
||||
/* 0511E4 7F01C6B4 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0511E8 7F01C6B8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 #gDPSetCycleType(2Cycle)
|
||||
/* 0511EC 7F01C6BC 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402
|
||||
/* 0511F0 7F01C6C0 02003025 */ move $a2, $s0
|
||||
/* 0511F4 7F01C6C4 ACB90000 */ sw $t9, ($a1)
|
||||
/* 0511F8 7F01C6C8 ACA00004 */ sw $zero, 4($a1)
|
||||
/* 0511FC 7F01C6CC 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051200 7F01C6D0 3C08B700 */ lui $t0, 0xb700
|
||||
/* 051204 7F01C6D4 24090204 */ li $t1, 516
|
||||
/* 051208 7F01C6D8 ACC90004 */ sw $t1, 4($a2)
|
||||
/* 05120C 7F01C6DC ACC80000 */ sw $t0, ($a2)
|
||||
/* 051210 7F01C6E0 02003825 */ move $a3, $s0
|
||||
/* 051214 7F01C6E4 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051218 7F01C6E8 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00
|
||||
/* 05121C 7F01C6EC 3C0B8000 */ lui $t3, (0x80008000 >> 16) # lui $t3, 0x8000
|
||||
/* 051220 7F01C6F0 356B8000 */ ori $t3, (0x80008000 & 0xFFFF) # ori $t3, $t3, 0x8000
|
||||
/* 051224 7F01C6F4 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1
|
||||
/* 051228 7F01C6F8 02001025 */ move $v0, $s0
|
||||
/* 05122C 7F01C6FC ACEA0000 */ sw $t2, ($a3)
|
||||
/* 051230 7F01C700 ACEB0004 */ sw $t3, 4($a3)
|
||||
/* 051234 7F01C704 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051238 7F01C708 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 #gDPSetRenderMode()
|
||||
/* 05123C 7F01C70C 3C0D0050 */ lui $t5, (0x00504340 >> 16) # lui $t5, 0x50
|
||||
/* 051240 7F01C710 35AD4340 */ ori $t5, (0x00504340 & 0xFFFF) # ori $t5, $t5, 0x4340
|
||||
/* 051244 7F01C714 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
|
||||
/* 051248 7F01C718 02001825 */ move $v1, $s0
|
||||
/* 05124C 7F01C71C AC4C0000 */ sw $t4, ($v0)
|
||||
/* 051250 7F01C720 AC4D0004 */ sw $t5, 4($v0)
|
||||
/* 051254 7F01C724 3C0FFF2F */ lui $t7, (0xFF2FFFFF >> 16) # lui $t7, 0xff2f
|
||||
/* 051258 7F01C728 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11 #Setcombine()
|
||||
/* 05125C 7F01C72C 35CE9623 */ ori $t6, (0xFC119623 & 0xFFFF) # ori $t6, $t6, 0x9623
|
||||
/* 051260 7F01C730 35EFFFFF */ ori $t7, (0xFF2FFFFF & 0xFFFF) # ori $t7, $t7, 0xffff
|
||||
/* 051264 7F01C734 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051268 7F01C738 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 05126C 7F01C73C AC6E0000 */ sw $t6, ($v1)
|
||||
/* 051270 7F01C740 02002025 */ move $a0, $s0
|
||||
/* 051274 7F01C744 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051278 7F01C748 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 #G_SETOTHERMODE_H(envmapping)
|
||||
/* 05127C 7F01C74C 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602
|
||||
/* 051280 7F01C750 02002825 */ move $a1, $s0
|
||||
/* 051284 7F01C754 AC980000 */ sw $t8, ($a0)
|
||||
/* 051288 7F01C758 AC800004 */ sw $zero, 4($a0)
|
||||
/* 05128C 7F01C75C 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051290 7F01C760 3C089600 */ lui $t0, (0x960000B4 >> 16) # lui $t0, 0x9600
|
||||
/* 051294 7F01C764 350800B4 */ ori $t0, (0x960000B4 & 0xFFFF) # ori $t0, $t0, 0xb4
|
||||
/* 051298 7F01C768 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* 05129C 7F01C76C 02003025 */ move $a2, $s0
|
||||
/* 0512A0 7F01C770 ACB90000 */ sw $t9, ($a1)
|
||||
/* 0512A4 7F01C774 ACA80004 */ sw $t0, 4($a1)
|
||||
/* 0512A8 7F01C778 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00 #G_SETOTHERMODE_H()
|
||||
/* 0512AC 7F01C77C 35291301 */ ori $t1, (0xBA001301 & 0xFFFF) # ori $t1, $t1, 0x1301
|
||||
/* 0512B0 7F01C780 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0512B4 7F01C784 ACC90000 */ sw $t1, ($a2)
|
||||
/* 0512B8 7F01C788 ACC00004 */ sw $zero, 4($a2)
|
||||
/* 0512BC 7F01C78C 02001025 */ move $v0, $s0
|
||||
/* 0512C0 7F01C790 3C0AFD90 */ lui $t2, 0xfd90
|
||||
/* 0512C4 7F01C794 AC4A0000 */ sw $t2, ($v0)
|
||||
/* 0512C8 7F01C798 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0512CC 7F01C79C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0512D0 7F01C7A0 3C018000 */ lui $at, 0x8000
|
||||
/* 0512D4 7F01C7A4 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0512D8 7F01C7A8 8C6B11B8 */ lw $t3, 0x11b8($v1)
|
||||
/* 0512DC 7F01C7AC 02002025 */ move $a0, $s0
|
||||
/* 0512E0 7F01C7B0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0512E4 7F01C7B4 000B6080 */ sll $t4, $t3, 2
|
||||
/* 0512E8 7F01C7B8 006C6821 */ addu $t5, $v1, $t4
|
||||
/* 0512EC 7F01C7BC 8DAE11B0 */ lw $t6, 0x11b0($t5)
|
||||
/* 0512F0 7F01C7C0 3C190708 */ lui $t9, (0x07080200 >> 16) # lui $t9, 0x708
|
||||
/* 0512F4 7F01C7C4 37390200 */ ori $t9, (0x07080200 & 0xFFFF) # ori $t9, $t9, 0x200
|
||||
/* 0512F8 7F01C7C8 01C17821 */ addu $t7, $t6, $at
|
||||
/* 0512FC 7F01C7CC AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 051300 7F01C7D0 02002825 */ move $a1, $s0
|
||||
/* 051304 7F01C7D4 3C18F590 */ lui $t8, 0xf590
|
||||
/* 051308 7F01C7D8 AC980000 */ sw $t8, ($a0)
|
||||
/* 05130C 7F01C7DC 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051310 7F01C7E0 AC990004 */ sw $t9, 4($a0)
|
||||
/* 051314 7F01C7E4 02003025 */ move $a2, $s0
|
||||
/* 051318 7F01C7E8 3C08E600 */ lui $t0, 0xe600
|
||||
/* 05131C 7F01C7EC ACA80000 */ sw $t0, ($a1)
|
||||
/* 051320 7F01C7F0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051324 7F01C7F4 ACA00004 */ sw $zero, 4($a1)
|
||||
/* 051328 7F01C7F8 3C0A0777 */ lui $t2, (0x0777F156 >> 16) # lui $t2, 0x777
|
||||
/* 05132C 7F01C7FC 354AF156 */ ori $t2, (0x0777F156 & 0xFFFF) # ori $t2, $t2, 0xf156
|
||||
/* 051330 7F01C800 02003825 */ move $a3, $s0
|
||||
/* 051334 7F01C804 3C09F300 */ lui $t1, 0xf300
|
||||
/* 051338 7F01C808 ACC90000 */ sw $t1, ($a2)
|
||||
/* 05133C 7F01C80C 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051340 7F01C810 ACCA0004 */ sw $t2, 4($a2)
|
||||
/* 051344 7F01C814 02001025 */ move $v0, $s0
|
||||
/* 051348 7F01C818 3C0BE700 */ lui $t3, 0xe700
|
||||
/* 05134C 7F01C81C ACEB0000 */ sw $t3, ($a3)
|
||||
/* 051350 7F01C820 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051354 7F01C824 ACE00004 */ sw $zero, 4($a3)
|
||||
/* 051358 7F01C828 3C0D0008 */ lui $t5, (0x00080200 >> 16) # lui $t5, 8
|
||||
/* 05135C 7F01C82C 3C0CF580 */ lui $t4, (0xF5800C00 >> 16) # lui $t4, 0xf580 #settilesize()
|
||||
/* 051360 7F01C830 358C0C00 */ ori $t4, (0xF5800C00 & 0xFFFF) # ori $t4, $t4, 0xc00
|
||||
/* 051364 7F01C834 35AD0200 */ ori $t5, (0x00080200 & 0xFFFF) # ori $t5, $t5, 0x200
|
||||
/* 051368 7F01C838 02001825 */ move $v1, $s0
|
||||
/* 05136C 7F01C83C AC4D0004 */ sw $t5, 4($v0)
|
||||
/* 051370 7F01C840 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 051374 7F01C844 3C0F0017 */ lui $t7, (0x0017C13C >> 16) # lui $t7, 0x17
|
||||
/* 051378 7F01C848 35EFC13C */ ori $t7, (0x0017C13C & 0xFFFF) # ori $t7, $t7, 0xc13c
|
||||
/* 05137C 7F01C84C 3C0EF200 */ lui $t6, 0xf200
|
||||
/* 051380 7F01C850 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 051384 7F01C854 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 051388 7F01C858 26100008 */ addiu $s0, $s0, 8
|
||||
/* 05138C 7F01C85C AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 051390 7F01C860 0C001127 */ jal get_video2_settings_width
|
||||
/* 051394 7F01C864 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051398 7F01C868 0C001145 */ jal get_video2_settings_ulx
|
||||
/* 05139C 7F01C86C A7A20026 */ sh $v0, 0x26($sp)
|
||||
/* 0513A0 7F01C870 0C001149 */ jal get_video2_settings_uly
|
||||
/* 0513A4 7F01C874 A7A20028 */ sh $v0, 0x28($sp)
|
||||
/* 0513A8 7F01C878 00028C00 */ sll $s1, $v0, 0x10
|
||||
/* 0513AC 7F01C87C 0011C403 */ sra $t8, $s1, 0x10
|
||||
/* 0513B0 7F01C880 0C00112B */ jal get_video2_settings_height
|
||||
/* 0513B4 7F01C884 03008825 */ move $s1, $t8
|
||||
/* 0513B8 7F01C888 87B90028 */ lh $t9, 0x28($sp)
|
||||
/* 0513BC 7F01C88C 87A80026 */ lh $t0, 0x26($sp)
|
||||
/* 0513C0 7F01C890 00517021 */ addu $t6, $v0, $s1
|
||||
/* 0513C4 7F01C894 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0513C8 7F01C898 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0513CC 7F01C89C 00095080 */ sll $t2, $t1, 2
|
||||
/* 0513D0 7F01C8A0 254BFFFF */ addiu $t3, $t2, -1
|
||||
/* 0513D4 7F01C8A4 25F8FFFF */ addiu $t8, $t7, -1
|
||||
/* 0513D8 7F01C8A8 33190FFF */ andi $t9, $t8, 0xfff
|
||||
/* 0513DC 7F01C8AC 316C0FFF */ andi $t4, $t3, 0xfff
|
||||
/* 0513E0 7F01C8B0 3C01E400 */ lui $at, 0xe400
|
||||
/* 0513E4 7F01C8B4 8FAA0040 */ lw $t2, 0x40($sp)
|
||||
/* 0513E8 7F01C8B8 03214025 */ or $t0, $t9, $at
|
||||
/* 0513EC 7F01C8BC 000C6B00 */ sll $t5, $t4, 0xc
|
||||
/* 0513F0 7F01C8C0 010D4825 */ or $t1, $t0, $t5
|
||||
/* 0513F4 7F01C8C4 0C001145 */ jal get_video2_settings_ulx
|
||||
/* 0513F8 7F01C8C8 AD490000 */ sw $t1, ($t2)
|
||||
/* 0513FC 7F01C8CC 00028C00 */ sll $s1, $v0, 0x10
|
||||
/* 051400 7F01C8D0 00115C03 */ sra $t3, $s1, 0x10
|
||||
/* 051404 7F01C8D4 0C001149 */ jal get_video2_settings_uly
|
||||
/* 051408 7F01C8D8 01608825 */ move $s1, $t3
|
||||
/* 05140C 7F01C8DC 00117880 */ sll $t7, $s1, 2
|
||||
/* 051410 7F01C8E0 8FAD0040 */ lw $t5, 0x40($sp)
|
||||
/* 051414 7F01C8E4 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* 051418 7F01C8E8 00026080 */ sll $t4, $v0, 2
|
||||
/* 05141C 7F01C8EC 318E0FFF */ andi $t6, $t4, 0xfff
|
||||
/* 051420 7F01C8F0 0018CB00 */ sll $t9, $t8, 0xc
|
||||
/* 051424 7F01C8F4 01D94025 */ or $t0, $t6, $t9
|
||||
/* 051428 7F01C8F8 02001825 */ move $v1, $s0
|
||||
/* 05142C 7F01C8FC ADA80004 */ sw $t0, 4($t5)
|
||||
/* 051430 7F01C900 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051434 7F01C904 3C09B400 */ lui $t1, 0xb400
|
||||
/* 051438 7F01C908 AC690000 */ sw $t1, ($v1)
|
||||
/* 05143C 7F01C90C 02002025 */ move $a0, $s0
|
||||
/* 051440 7F01C910 AC600004 */ sw $zero, 4($v1)
|
||||
/* 051444 7F01C914 3C0AB300 */ lui $t2, 0xb300
|
||||
/* 051448 7F01C918 AC8A0000 */ sw $t2, ($a0)
|
||||
/* 05144C 7F01C91C AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* 051450 7F01C920 0C001127 */ jal get_video2_settings_width
|
||||
/* 051454 7F01C924 26100008 */ addiu $s0, $s0, 8
|
||||
/* 051458 7F01C928 00028C00 */ sll $s1, $v0, 0x10
|
||||
/* 05145C 7F01C92C 00115C03 */ sra $t3, $s1, 0x10
|
||||
/* 051460 7F01C930 0C00112B */ jal get_video2_settings_height
|
||||
/* 051464 7F01C934 01608825 */ move $s1, $t3
|
||||
/* 051468 7F01C938 3C0C0001 */ lui $t4, (0x00014000 >> 16) # lui $t4, 1
|
||||
/* 05146C 7F01C93C 358C4000 */ ori $t4, (0x00014000 & 0xFFFF) # ori $t4, $t4, 0x4000
|
||||
/* 051470 7F01C940 0182001A */ div $zero, $t4, $v0
|
||||
/* 051474 7F01C944 00007812 */ mflo $t7
|
||||
/* 051478 7F01C948 3C0E0001 */ lui $t6, (0x00018000 >> 16) # lui $t6, 1
|
||||
/* 05147C 7F01C94C 35CE8000 */ ori $t6, (0x00018000 & 0xFFFF) # ori $t6, $t6, 0x8000
|
||||
/* 051480 7F01C950 01D1001A */ div $zero, $t6, $s1
|
||||
/* 051484 7F01C954 14400002 */ bnez $v0, .L7F01C960
|
||||
/* 051488 7F01C958 00000000 */ nop
|
||||
/* 05148C 7F01C95C 0007000D */ break 7
|
||||
.L7F01C960:
|
||||
/* 051490 7F01C960 2401FFFF */ li $at, -1
|
||||
/* 051494 7F01C964 14410004 */ bne $v0, $at, .L7F01C978
|
||||
/* 051498 7F01C968 3C018000 */ lui $at, 0x8000
|
||||
/* 05149C 7F01C96C 15810002 */ bne $t4, $at, .L7F01C978
|
||||
/* 0514A0 7F01C970 00000000 */ nop
|
||||
/* 0514A4 7F01C974 0006000D */ break 6
|
||||
.L7F01C978:
|
||||
/* 0514A8 7F01C978 0000C812 */ mflo $t9
|
||||
/* 0514AC 7F01C97C 8FAA0038 */ lw $t2, 0x38($sp)
|
||||
/* 0514B0 7F01C980 3328FFFF */ andi $t0, $t9, 0xffff
|
||||
/* 0514B4 7F01C984 00086C00 */ sll $t5, $t0, 0x10
|
||||
/* 0514B8 7F01C988 31F8FFFF */ andi $t8, $t7, 0xffff
|
||||
/* 0514BC 7F01C98C 030D4825 */ or $t1, $t8, $t5
|
||||
/* 0514C0 7F01C990 02001825 */ move $v1, $s0
|
||||
/* 0514C4 7F01C994 26100008 */ addiu $s0, $s0, 8
|
||||
/* 0514C8 7F01C998 AD490004 */ sw $t1, 4($t2)
|
||||
/* 0514CC 7F01C99C 3C0BE700 */ lui $t3, 0xe700
|
||||
/* 0514D0 7F01C9A0 02002025 */ move $a0, $s0
|
||||
/* 0514D4 7F01C9A4 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 0514D8 7F01C9A8 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0514DC 7F01C9AC 3C0CBA00 */ lui $t4, (0xBA000602 >> 16) # lui $t4, 0xba00 #G_SETOTHERMODE_H()
|
||||
/* 0514E0 7F01C9B0 16200002 */ bnez $s1, .L7F01C9BC
|
||||
/* 0514E4 7F01C9B4 00000000 */ nop
|
||||
/* 0514E8 7F01C9B8 0007000D */ break 7
|
||||
.L7F01C9BC:
|
||||
/* 0514EC 7F01C9BC 2401FFFF */ li $at, -1
|
||||
/* 0514F0 7F01C9C0 16210004 */ bne $s1, $at, .L7F01C9D4
|
||||
/* 0514F4 7F01C9C4 3C018000 */ lui $at, 0x8000
|
||||
/* 0514F8 7F01C9C8 15C10002 */ bne $t6, $at, .L7F01C9D4
|
||||
/* 0514FC 7F01C9CC 00000000 */ nop
|
||||
/* 051500 7F01C9D0 0006000D */ break 6
|
||||
.L7F01C9D4:
|
||||
/* 051504 7F01C9D4 358C0602 */ ori $t4, (0xBA000602 & 0xFFFF) # ori $t4, $t4, 0x602 #G_SETOTHERMODE_H()
|
||||
/* 051508 7F01C9D8 26100008 */ addiu $s0, $s0, 8
|
||||
/* 05150C 7F01C9DC 240F0040 */ li $t7, 64
|
||||
/* 051510 7F01C9E0 AC8F0004 */ sw $t7, 4($a0)
|
||||
/* 051514 7F01C9E4 AC8C0000 */ sw $t4, ($a0)
|
||||
/* 051518 7F01C9E8 02002825 */ move $a1, $s0
|
||||
/* 05151C 7F01C9EC 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H()
|
||||
/* 051520 7F01C9F0 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301
|
||||
/* 051524 7F01C9F4 3C190008 */ lui $t9, 8
|
||||
/* 051528 7F01C9F8 ACB90004 */ sw $t9, 4($a1)
|
||||
/* 05152C 7F01C9FC ACAE0000 */ sw $t6, ($a1)
|
||||
/* 051530 7F01CA00 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 051534 7F01CA04 26020008 */ addiu $v0, $s0, 8
|
||||
/* 051538 7F01CA08 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 05153C 7F01CA0C 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 051540 7F01CA10 03E00008 */ jr $ra
|
||||
/* 051544 7F01CA14 27BD0088 */ addiu $sp, $sp, 0x88
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CA18(Gfx *glistp) //BloodRed_Dl_Setup
|
||||
{
|
||||
sub_GAME_7F01C1A4();
|
||||
//1 cycle settings
|
||||
gDPSetRenderMode(glistp++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
|
||||
gDPSetCombineMode(glistp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||
gDPSetPrimColor(glistp++, 0, 0, 150, 00, 00, 180); //dark red
|
||||
gDPSetColorDither(glistp++, G_CD_MAGICSQ);
|
||||
|
||||
get_video2_settings_txtClipW();
|
||||
//...
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CA18
|
||||
/* 051548 7F01CA18 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 05154C 7F01CA1C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 051550 7F01CA20 0FC07069 */ jal sub_GAME_7F01C1A4
|
||||
/* 051554 7F01CA24 00000000 */ nop
|
||||
/* 051558 7F01CA28 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900
|
||||
/* 05155C 7F01CA2C 3C0F0050 */ lui $t7, (0x00504340 >> 16) # lui $t7, 0x50
|
||||
/* 051560 7F01CA30 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff
|
||||
/* 051564 7F01CA34 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd
|
||||
/* 051568 7F01CA38 3C099600 */ lui $t1, (0x960000B4 >> 16) # lui $t1, 0x9600
|
||||
/* 05156C 7F01CA3C 3C0ABA00 */ lui $t2, (0xBA000602 >> 16) # lui $t2, 0xba00
|
||||
/* 051570 7F01CA40 35EF4340 */ ori $t7, (0x00504340 & 0xFFFF) # ori $t7, $t7, 0x4340
|
||||
/* 051574 7F01CA44 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d
|
||||
/* 051578 7F01CA48 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb
|
||||
/* 05157C 7F01CA4C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff
|
||||
/* 051580 7F01CA50 352900B4 */ ori $t1, (0x960000B4 & 0xFFFF) # ori $t1, $t1, 0xb4
|
||||
/* 051584 7F01CA54 3C08FA00 */ lui $t0, 0xfa00
|
||||
/* 051588 7F01CA58 354A0602 */ ori $t2, (0xBA000602 & 0xFFFF) # ori $t2, $t2, 0x602
|
||||
/* 05158C 7F01CA5C AC4E0000 */ sw $t6, ($v0) #$v0 = gfx glist
|
||||
/* 051590 7F01CA60 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 051594 7F01CA64 AC580008 */ sw $t8, 8($v0)
|
||||
/* 051598 7F01CA68 AC59000C */ sw $t9, 0xc($v0)
|
||||
/* 05159C 7F01CA6C AC480010 */ sw $t0, 0x10($v0)
|
||||
/* 0515A0 7F01CA70 AC490014 */ sw $t1, 0x14($v0)
|
||||
/* 0515A4 7F01CA74 AC4A0018 */ sw $t2, 0x18($v0)
|
||||
/* 0515A8 7F01CA78 AC40001C */ sw $zero, 0x1c($v0)
|
||||
/* 0515AC 7F01CA7C 244B0020 */ addiu $t3, $v0, 0x20
|
||||
/* 0515B0 7F01CA80 244C0028 */ addiu $t4, $v0, 0x28
|
||||
/* 0515B4 7F01CA84 AFAC0030 */ sw $t4, 0x30($sp)
|
||||
/* 0515B8 7F01CA88 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 0515BC 7F01CA8C AFAB001C */ sw $t3, 0x1c($sp)
|
||||
/* 0515C0 7F01CA90 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 0515C4 7F01CA94 A7A2001A */ sh $v0, 0x1a($sp)
|
||||
/* 0515C8 7F01CA98 87B8001A */ lh $t8, 0x1a($sp)
|
||||
/* 0515CC 7F01CA9C 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 0515D0 7F01CAA0 304D03FF */ andi $t5, $v0, 0x3ff
|
||||
/* 0515D4 7F01CAA4 000D7080 */ sll $t6, $t5, 2
|
||||
/* 0515D8 7F01CAA8 3C01F600 */ lui $at, 0xf600
|
||||
/* 0515DC 7F01CAAC 331903FF */ andi $t9, $t8, 0x3ff
|
||||
/* 0515E0 7F01CAB0 00194380 */ sll $t0, $t9, 0xe
|
||||
/* 0515E4 7F01CAB4 01C17825 */ or $t7, $t6, $at
|
||||
/* 0515E8 7F01CAB8 01E84825 */ or $t1, $t7, $t0
|
||||
/* 0515EC 7F01CABC AC690000 */ sw $t1, ($v1)
|
||||
/* 0515F0 7F01CAC0 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0515F4 7F01CAC4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0515F8 7F01CAC8 8FA20030 */ lw $v0, 0x30($sp)
|
||||
/* 0515FC 7F01CACC 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 051600 7F01CAD0 03E00008 */ jr $ra
|
||||
/* 051604 7F01CAD4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,653 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void decrypt_bleeding_animation_data(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel decrypt_bleeding_animation_data
|
||||
/* 051610 7F01CAE0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 051614 7F01CAE4 AFB30014 */ sw $s3, 0x14($sp)
|
||||
/* 051618 7F01CAE8 AFB20010 */ sw $s2, 0x10($sp)
|
||||
/* 05161C 7F01CAEC AFB1000C */ sw $s1, 0xc($sp)
|
||||
/* 051620 7F01CAF0 AFB00008 */ sw $s0, 8($sp)
|
||||
/* 051624 7F01CAF4 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 051628 7F01CAF8 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 05162C 7F01CAFC 90820000 */ lbu $v0, ($a0)
|
||||
/* 051630 7F01CB00 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 051634 7F01CB04 00E08025 */ move $s0, $a3
|
||||
/* 051638 7F01CB08 30D100FF */ andi $s1, $a2, 0xff
|
||||
/* 05163C 7F01CB0C 30A900FF */ andi $t1, $a1, 0xff
|
||||
/* 051640 7F01CB10 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051644 7F01CB14 241200FF */ li $s2, 255
|
||||
/* 051648 7F01CB18 241300FF */ li $s3, 255
|
||||
/* 05164C 7F01CB1C A1E20000 */ sb $v0, ($t7)
|
||||
/* 051650 7F01CB20 90850000 */ lbu $a1, ($a0)
|
||||
.L7F01CB24:
|
||||
/* 051654 7F01CB24 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051658 7F01CB28 326600FF */ andi $a2, $s3, 0xff
|
||||
/* 05165C 7F01CB2C 1645002B */ bne $s2, $a1, .L7F01CBDC
|
||||
/* 051660 7F01CB30 30B8001F */ andi $t8, $a1, 0x1f
|
||||
/* 051664 7F01CB34 90830000 */ lbu $v1, ($a0)
|
||||
/* 051668 7F01CB38 00003825 */ move $a3, $zero
|
||||
/* 05166C 7F01CB3C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051670 7F01CB40 12430016 */ beq $s2, $v1, .L7F01CB9C
|
||||
/* 051674 7F01CB44 00602825 */ move $a1, $v1
|
||||
.L7F01CB48:
|
||||
/* 051678 7F01CB48 00E53821 */ addu $a3, $a3, $a1
|
||||
/* 05167C 7F01CB4C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 051680 7F01CB50 30F800FF */ andi $t8, $a3, 0xff
|
||||
/* 051684 7F01CB54 307900FF */ andi $t9, $v1, 0xff
|
||||
/* 051688 7F01CB58 0005402A */ slt $t0, $zero, $a1
|
||||
/* 05168C 7F01CB5C 03003825 */ move $a3, $t8
|
||||
/* 051690 7F01CB60 11000008 */ beqz $t0, .L7F01CB84
|
||||
/* 051694 7F01CB64 03201825 */ move $v1, $t9
|
||||
.L7F01CB68:
|
||||
/* 051698 7F01CB68 0003402A */ slt $t0, $zero, $v1
|
||||
/* 05169C 7F01CB6C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 0516A0 7F01CB70 306E00FF */ andi $t6, $v1, 0xff
|
||||
/* 0516A4 7F01CB74 01C01825 */ move $v1, $t6
|
||||
/* 0516A8 7F01CB78 A2060000 */ sb $a2, ($s0)
|
||||
/* 0516AC 7F01CB7C 1500FFFA */ bnez $t0, .L7F01CB68
|
||||
/* 0516B0 7F01CB80 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CB84:
|
||||
/* 0516B4 7F01CB84 90830000 */ lbu $v1, ($a0)
|
||||
/* 0516B8 7F01CB88 38CF00FF */ xori $t7, $a2, 0xff
|
||||
/* 0516BC 7F01CB8C 31E600FF */ andi $a2, $t7, 0xff
|
||||
/* 0516C0 7F01CB90 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0516C4 7F01CB94 1643FFEC */ bne $s2, $v1, .L7F01CB48
|
||||
/* 0516C8 7F01CB98 00602825 */ move $a1, $v1
|
||||
.L7F01CB9C:
|
||||
/* 0516CC 7F01CB9C 00E9402A */ slt $t0, $a3, $t1
|
||||
/* 0516D0 7F01CBA0 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 0516D4 7F01CBA4 30F900FF */ andi $t9, $a3, 0xff
|
||||
/* 0516D8 7F01CBA8 11000008 */ beqz $t0, .L7F01CBCC
|
||||
/* 0516DC 7F01CBAC 03203825 */ move $a3, $t9
|
||||
.L7F01CBB0:
|
||||
/* 0516E0 7F01CBB0 00E9402A */ slt $t0, $a3, $t1
|
||||
/* 0516E4 7F01CBB4 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 0516E8 7F01CBB8 30EE00FF */ andi $t6, $a3, 0xff
|
||||
/* 0516EC 7F01CBBC 01C03825 */ move $a3, $t6
|
||||
/* 0516F0 7F01CBC0 A2060000 */ sb $a2, ($s0)
|
||||
/* 0516F4 7F01CBC4 1500FFFA */ bnez $t0, .L7F01CBB0
|
||||
/* 0516F8 7F01CBC8 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CBCC:
|
||||
/* 0516FC 7F01CBCC 2631FFFF */ addiu $s1, $s1, -1
|
||||
/* 051700 7F01CBD0 322F00FF */ andi $t7, $s1, 0xff
|
||||
/* 051704 7F01CBD4 10000026 */ b .L7F01CC70
|
||||
/* 051708 7F01CBD8 01E08825 */ move $s1, $t7
|
||||
.L7F01CBDC:
|
||||
/* 05170C 7F01CBDC 00583821 */ addu $a3, $v0, $t8
|
||||
/* 051710 7F01CBE0 00051943 */ sra $v1, $a1, 5
|
||||
/* 051714 7F01CBE4 30F900FF */ andi $t9, $a3, 0xff
|
||||
/* 051718 7F01CBE8 24630001 */ addiu $v1, $v1, 1
|
||||
/* 05171C 7F01CBEC 306E00FF */ andi $t6, $v1, 0xff
|
||||
/* 051720 7F01CBF0 01393023 */ subu $a2, $t1, $t9
|
||||
/* 051724 7F01CBF4 022E8823 */ subu $s1, $s1, $t6
|
||||
/* 051728 7F01CBF8 30D800FF */ andi $t8, $a2, 0xff
|
||||
/* 05172C 7F01CBFC 322F00FF */ andi $t7, $s1, 0xff
|
||||
/* 051730 7F01CC00 01C01825 */ move $v1, $t6
|
||||
/* 051734 7F01CC04 01E08825 */ move $s1, $t7
|
||||
/* 051738 7F01CC08 0018602A */ slt $t4, $zero, $t8
|
||||
/* 05173C 7F01CC0C 270DFFFF */ addiu $t5, $t8, -1
|
||||
/* 051740 7F01CC10 0019502A */ slt $t2, $zero, $t9
|
||||
/* 051744 7F01CC14 272BFFFF */ addiu $t3, $t9, -1
|
||||
.L7F01CC18:
|
||||
/* 051748 7F01CC18 11400008 */ beqz $t2, .L7F01CC3C
|
||||
/* 05174C 7F01CC1C 316600FF */ andi $a2, $t3, 0xff
|
||||
.L7F01CC20:
|
||||
/* 051750 7F01CC20 0006402A */ slt $t0, $zero, $a2
|
||||
/* 051754 7F01CC24 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 051758 7F01CC28 30D900FF */ andi $t9, $a2, 0xff
|
||||
/* 05175C 7F01CC2C 03203025 */ move $a2, $t9
|
||||
/* 051760 7F01CC30 A2130000 */ sb $s3, ($s0)
|
||||
/* 051764 7F01CC34 1500FFFA */ bnez $t0, .L7F01CC20
|
||||
/* 051768 7F01CC38 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CC3C:
|
||||
/* 05176C 7F01CC3C 11800008 */ beqz $t4, .L7F01CC60
|
||||
/* 051770 7F01CC40 31A600FF */ andi $a2, $t5, 0xff
|
||||
.L7F01CC44:
|
||||
/* 051774 7F01CC44 0006402A */ slt $t0, $zero, $a2
|
||||
/* 051778 7F01CC48 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 05177C 7F01CC4C 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* 051780 7F01CC50 01C03025 */ move $a2, $t6
|
||||
/* 051784 7F01CC54 A2000000 */ sb $zero, ($s0)
|
||||
/* 051788 7F01CC58 1500FFFA */ bnez $t0, .L7F01CC44
|
||||
/* 05178C 7F01CC5C 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CC60:
|
||||
/* 051790 7F01CC60 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 051794 7F01CC64 306F00FF */ andi $t7, $v1, 0xff
|
||||
/* 051798 7F01CC68 1DE0FFEB */ bgtz $t7, .L7F01CC18
|
||||
/* 05179C 7F01CC6C 01E01825 */ move $v1, $t7
|
||||
.L7F01CC70:
|
||||
/* 0517A0 7F01CC70 5E20FFAC */ bgtzl $s1, .L7F01CB24
|
||||
/* 0517A4 7F01CC74 90850000 */ lbu $a1, ($a0)
|
||||
/* 0517A8 7F01CC78 8FB00008 */ lw $s0, 8($sp)
|
||||
/* 0517AC 7F01CC7C 8FB1000C */ lw $s1, 0xc($sp)
|
||||
/* 0517B0 7F01CC80 8FB20010 */ lw $s2, 0x10($sp)
|
||||
/* 0517B4 7F01CC84 8FB30014 */ lw $s3, 0x14($sp)
|
||||
/* 0517B8 7F01CC88 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0517BC 7F01CC8C 03E00008 */ jr $ra
|
||||
/* 0517C0 7F01CC90 00801025 */ move $v0, $a0
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CC94(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CC94
|
||||
/* 0517C4 7F01CC94 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 0517C8 7F01CC98 30AEFFFF */ andi $t6, $a1, 0xffff
|
||||
/* 0517CC 7F01CC9C 25C5FFFF */ addiu $a1, $t6, -1
|
||||
/* 0517D0 7F01CCA0 30AFFFFF */ andi $t7, $a1, 0xffff
|
||||
/* 0517D4 7F01CCA4 000E102A */ slt $v0, $zero, $t6
|
||||
/* 0517D8 7F01CCA8 1040000E */ beqz $v0, .L7F01CCE4
|
||||
/* 0517DC 7F01CCAC 01E02825 */ move $a1, $t7
|
||||
.L7F01CCB0:
|
||||
/* 0517E0 7F01CCB0 90980001 */ lbu $t8, 1($a0)
|
||||
/* 0517E4 7F01CCB4 90880000 */ lbu $t0, ($a0)
|
||||
/* 0517E8 7F01CCB8 0005102A */ slt $v0, $zero, $a1
|
||||
/* 0517EC 7F01CCBC 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 0517F0 7F01CCC0 0018C903 */ sra $t9, $t8, 4
|
||||
/* 0517F4 7F01CCC4 310900F0 */ andi $t1, $t0, 0xf0
|
||||
/* 0517F8 7F01CCC8 03295025 */ or $t2, $t9, $t1
|
||||
/* 0517FC 7F01CCCC 30ABFFFF */ andi $t3, $a1, 0xffff
|
||||
/* 051800 7F01CCD0 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 051804 7F01CCD4 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 051808 7F01CCD8 01602825 */ move $a1, $t3
|
||||
/* 05180C 7F01CCDC 1440FFF4 */ bnez $v0, .L7F01CCB0
|
||||
/* 051810 7F01CCE0 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01CCE4:
|
||||
/* 051814 7F01CCE4 03E00008 */ jr $ra
|
||||
/* 051818 7F01CCE8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CCEC(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CCEC
|
||||
/* 05181C 7F01CCEC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 051820 7F01CCF0 30CF00FF */ andi $t7, $a2, 0xff
|
||||
/* 051824 7F01CCF4 AFBE0024 */ sw $fp, 0x24($sp)
|
||||
/* 051828 7F01CCF8 AFB70020 */ sw $s7, 0x20($sp)
|
||||
/* 05182C 7F01CCFC AFB6001C */ sw $s6, 0x1c($sp)
|
||||
/* 051830 7F01CD00 AFB50018 */ sw $s5, 0x18($sp)
|
||||
/* 051834 7F01CD04 AFB40014 */ sw $s4, 0x14($sp)
|
||||
/* 051838 7F01CD08 AFB30010 */ sw $s3, 0x10($sp)
|
||||
/* 05183C 7F01CD0C AFB2000C */ sw $s2, 0xc($sp)
|
||||
/* 051840 7F01CD10 AFB10008 */ sw $s1, 8($sp)
|
||||
/* 051844 7F01CD14 AFB00004 */ sw $s0, 4($sp)
|
||||
/* 051848 7F01CD18 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 05184C 7F01CD1C AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 051850 7F01CD20 30AE00FF */ andi $t6, $a1, 0xff
|
||||
/* 051854 7F01CD24 01E01825 */ move $v1, $t7
|
||||
/* 051858 7F01CD28 19E00065 */ blez $t7, .L7F01CEC0
|
||||
/* 05185C 7F01CD2C 00001025 */ move $v0, $zero
|
||||
/* 051860 7F01CD30 01C03025 */ move $a2, $t6
|
||||
/* 051864 7F01CD34 93AA003B */ lbu $t2, 0x3b($sp)
|
||||
.L7F01CD38:
|
||||
/* 051868 7F01CD38 18C0005B */ blez $a2, .L7F01CEA8
|
||||
/* 05186C 7F01CD3C 00002825 */ move $a1, $zero
|
||||
/* 051870 7F01CD40 00460019 */ multu $v0, $a2
|
||||
/* 051874 7F01CD44 01405825 */ move $t3, $t2
|
||||
/* 051878 7F01CD48 004A6023 */ subu $t4, $v0, $t2
|
||||
/* 05187C 7F01CD4C 2470FFFF */ addiu $s0, $v1, -1
|
||||
/* 051880 7F01CD50 004A8821 */ addu $s1, $v0, $t2
|
||||
/* 051884 7F01CD54 0000F012 */ mflo $fp
|
||||
/* 051888 7F01CD58 00000000 */ nop
|
||||
/* 05188C 7F01CD5C 00000000 */ nop
|
||||
/* 051890 7F01CD60 00004025 */ move $t0, $zero
|
||||
.L7F01CD64:
|
||||
/* 051894 7F01CD64 05810003 */ bgez $t4, .L7F01CD74
|
||||
/* 051898 7F01CD68 00004825 */ move $t1, $zero
|
||||
/* 05189C 7F01CD6C 10000004 */ b .L7F01CD80
|
||||
/* 0518A0 7F01CD70 00006825 */ move $t5, $zero
|
||||
.L7F01CD74:
|
||||
/* 0518A4 7F01CD74 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 0518A8 7F01CD78 000DC403 */ sra $t8, $t5, 0x10
|
||||
/* 0518AC 7F01CD7C 03006825 */ move $t5, $t8
|
||||
.L7F01CD80:
|
||||
/* 0518B0 7F01CD80 0211082A */ slt $at, $s0, $s1
|
||||
/* 0518B4 7F01CD84 10200003 */ beqz $at, .L7F01CD94
|
||||
/* 0518B8 7F01CD88 02209025 */ move $s2, $s1
|
||||
/* 0518BC 7F01CD8C 10000001 */ b .L7F01CD94
|
||||
/* 0518C0 7F01CD90 02009025 */ move $s2, $s0
|
||||
.L7F01CD94:
|
||||
/* 0518C4 7F01CD94 024D082A */ slt $at, $s2, $t5
|
||||
/* 0518C8 7F01CD98 54200033 */ bnezl $at, .L7F01CE68
|
||||
/* 0518CC 7F01CD9C 0008C842 */ srl $t9, $t0, 1
|
||||
/* 0518D0 7F01CDA0 00AB9823 */ subu $s3, $a1, $t3
|
||||
/* 0518D4 7F01CDA4 24D5FFFF */ addiu $s5, $a2, -1
|
||||
/* 0518D8 7F01CDA8 00ABB021 */ addu $s6, $a1, $t3
|
||||
.L7F01CDAC:
|
||||
/* 0518DC 7F01CDAC 06610003 */ bgez $s3, .L7F01CDBC
|
||||
/* 0518E0 7F01CDB0 02B6082A */ slt $at, $s5, $s6
|
||||
/* 0518E4 7F01CDB4 10000004 */ b .L7F01CDC8
|
||||
/* 0518E8 7F01CDB8 0000A025 */ move $s4, $zero
|
||||
.L7F01CDBC:
|
||||
/* 0518EC 7F01CDBC 0013A400 */ sll $s4, $s3, 0x10
|
||||
/* 0518F0 7F01CDC0 0014CC03 */ sra $t9, $s4, 0x10
|
||||
/* 0518F4 7F01CDC4 0320A025 */ move $s4, $t9
|
||||
.L7F01CDC8:
|
||||
/* 0518F8 7F01CDC8 10200003 */ beqz $at, .L7F01CDD8
|
||||
/* 0518FC 7F01CDCC 02C09025 */ move $s2, $s6
|
||||
/* 051900 7F01CDD0 10000001 */ b .L7F01CDD8
|
||||
/* 051904 7F01CDD4 02A09025 */ move $s2, $s5
|
||||
.L7F01CDD8:
|
||||
/* 051908 7F01CDD8 0254082A */ slt $at, $s2, $s4
|
||||
/* 05190C 7F01CDDC 54200016 */ bnezl $at, .L7F01CE38
|
||||
/* 051910 7F01CDE0 25AD0001 */ addiu $t5, $t5, 1
|
||||
/* 051914 7F01CDE4 01A60019 */ multu $t5, $a2
|
||||
/* 051918 7F01CDE8 0000B812 */ mflo $s7
|
||||
/* 05191C 7F01CDEC 00000000 */ nop
|
||||
/* 051920 7F01CDF0 00000000 */ nop
|
||||
/* 051924 7F01CDF4 00947021 */ addu $t6, $a0, $s4
|
||||
.L7F01CDF8:
|
||||
/* 051928 7F01CDF8 01D77821 */ addu $t7, $t6, $s7
|
||||
/* 05192C 7F01CDFC 91F80000 */ lbu $t8, ($t7)
|
||||
/* 051930 7F01CE00 26940001 */ addiu $s4, $s4, 1
|
||||
/* 051934 7F01CE04 0014CC00 */ sll $t9, $s4, 0x10
|
||||
/* 051938 7F01CE08 02B6082A */ slt $at, $s5, $s6
|
||||
/* 05193C 7F01CE0C 0019A403 */ sra $s4, $t9, 0x10
|
||||
/* 051940 7F01CE10 25080001 */ addiu $t0, $t0, 1
|
||||
/* 051944 7F01CE14 10200003 */ beqz $at, .L7F01CE24
|
||||
/* 051948 7F01CE18 01384821 */ addu $t1, $t1, $t8
|
||||
/* 05194C 7F01CE1C 10000002 */ b .L7F01CE28
|
||||
/* 051950 7F01CE20 02A09025 */ move $s2, $s5
|
||||
.L7F01CE24:
|
||||
/* 051954 7F01CE24 02C09025 */ move $s2, $s6
|
||||
.L7F01CE28:
|
||||
/* 051958 7F01CE28 0254082A */ slt $at, $s2, $s4
|
||||
/* 05195C 7F01CE2C 5020FFF2 */ beql $at, $zero, .L7F01CDF8
|
||||
/* 051960 7F01CE30 00947021 */ addu $t6, $a0, $s4
|
||||
/* 051964 7F01CE34 25AD0001 */ addiu $t5, $t5, 1
|
||||
.L7F01CE38:
|
||||
/* 051968 7F01CE38 000D7C00 */ sll $t7, $t5, 0x10
|
||||
/* 05196C 7F01CE3C 000FC403 */ sra $t8, $t7, 0x10
|
||||
/* 051970 7F01CE40 0211082A */ slt $at, $s0, $s1
|
||||
/* 051974 7F01CE44 10200003 */ beqz $at, .L7F01CE54
|
||||
/* 051978 7F01CE48 03006825 */ move $t5, $t8
|
||||
/* 05197C 7F01CE4C 10000002 */ b .L7F01CE58
|
||||
/* 051980 7F01CE50 02009025 */ move $s2, $s0
|
||||
.L7F01CE54:
|
||||
/* 051984 7F01CE54 02209025 */ move $s2, $s1
|
||||
.L7F01CE58:
|
||||
/* 051988 7F01CE58 024D082A */ slt $at, $s2, $t5
|
||||
/* 05198C 7F01CE5C 1020FFD3 */ beqz $at, .L7F01CDAC
|
||||
/* 051990 7F01CE60 00000000 */ nop
|
||||
/* 051994 7F01CE64 0008C842 */ srl $t9, $t0, 1
|
||||
.L7F01CE68:
|
||||
/* 051998 7F01CE68 03297021 */ addu $t6, $t9, $t1
|
||||
/* 05199C 7F01CE6C 01C8001B */ divu $zero, $t6, $t0
|
||||
/* 0519A0 7F01CE70 00E5C021 */ addu $t8, $a3, $a1
|
||||
/* 0519A4 7F01CE74 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0519A8 7F01CE78 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 0519AC 7F01CE7C 031EC821 */ addu $t9, $t8, $fp
|
||||
/* 0519B0 7F01CE80 000EC403 */ sra $t8, $t6, 0x10
|
||||
/* 0519B4 7F01CE84 0306082A */ slt $at, $t8, $a2
|
||||
/* 0519B8 7F01CE88 00007812 */ mflo $t7
|
||||
/* 0519BC 7F01CE8C 03002825 */ move $a1, $t8
|
||||
/* 0519C0 7F01CE90 15000002 */ bnez $t0, .L7F01CE9C
|
||||
/* 0519C4 7F01CE94 00000000 */ nop
|
||||
/* 0519C8 7F01CE98 0007000D */ break 7
|
||||
.L7F01CE9C:
|
||||
/* 0519CC 7F01CE9C A32F0000 */ sb $t7, ($t9)
|
||||
/* 0519D0 7F01CEA0 5420FFB0 */ bnezl $at, .L7F01CD64
|
||||
/* 0519D4 7F01CEA4 00004025 */ move $t0, $zero
|
||||
.L7F01CEA8:
|
||||
/* 0519D8 7F01CEA8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0519DC 7F01CEAC 00027C00 */ sll $t7, $v0, 0x10
|
||||
/* 0519E0 7F01CEB0 000F1403 */ sra $v0, $t7, 0x10
|
||||
/* 0519E4 7F01CEB4 0043082A */ slt $at, $v0, $v1
|
||||
/* 0519E8 7F01CEB8 1420FF9F */ bnez $at, .L7F01CD38
|
||||
/* 0519EC 7F01CEBC 00000000 */ nop
|
||||
.L7F01CEC0:
|
||||
/* 0519F0 7F01CEC0 8FB00004 */ lw $s0, 4($sp)
|
||||
/* 0519F4 7F01CEC4 8FB10008 */ lw $s1, 8($sp)
|
||||
/* 0519F8 7F01CEC8 8FB2000C */ lw $s2, 0xc($sp)
|
||||
/* 0519FC 7F01CECC 8FB30010 */ lw $s3, 0x10($sp)
|
||||
/* 051A00 7F01CED0 8FB40014 */ lw $s4, 0x14($sp)
|
||||
/* 051A04 7F01CED4 8FB50018 */ lw $s5, 0x18($sp)
|
||||
/* 051A08 7F01CED8 8FB6001C */ lw $s6, 0x1c($sp)
|
||||
/* 051A0C 7F01CEDC 8FB70020 */ lw $s7, 0x20($sp)
|
||||
/* 051A10 7F01CEE0 8FBE0024 */ lw $fp, 0x24($sp)
|
||||
/* 051A14 7F01CEE4 03E00008 */ jr $ra
|
||||
/* 051A18 7F01CEE8 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CEEC(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CEEC
|
||||
/* 051A1C 7F01CEEC 24A3FFFF */ addiu $v1, $a1, -1
|
||||
/* 051A20 7F01CEF0 28610002 */ slti $at, $v1, 2
|
||||
/* 051A24 7F01CEF4 24840061 */ addiu $a0, $a0, 0x61
|
||||
/* 051A28 7F01CEF8 24C60061 */ addiu $a2, $a2, 0x61
|
||||
/* 051A2C 7F01CEFC 14200049 */ bnez $at, .L7F01D024
|
||||
/* 051A30 7F01CF00 24020001 */ li $v0, 1
|
||||
/* 051A34 7F01CF04 2407005F */ li $a3, 95
|
||||
.L7F01CF08:
|
||||
/* 051A38 7F01CF08 908EFFA0 */ lbu $t6, -0x60($a0)
|
||||
/* 051A3C 7F01CF0C 908FFFFF */ lbu $t7, -1($a0)
|
||||
/* 051A40 7F01CF10 90990000 */ lbu $t9, ($a0)
|
||||
/* 051A44 7F01CF14 9089FF9F */ lbu $t1, -0x61($a0)
|
||||
/* 051A48 7F01CF18 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051A4C 7F01CF1C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051A50 7F01CF20 01095021 */ addu $t2, $t0, $t1
|
||||
/* 051A54 7F01CF24 254B0002 */ addiu $t3, $t2, 2
|
||||
/* 051A58 7F01CF28 000B6083 */ sra $t4, $t3, 2
|
||||
/* 051A5C 7F01CF2C A0CC0000 */ sb $t4, ($a2)
|
||||
/* 051A60 7F01CF30 908E0000 */ lbu $t6, ($a0)
|
||||
/* 051A64 7F01CF34 908DFFA1 */ lbu $t5, -0x5f($a0)
|
||||
/* 051A68 7F01CF38 90980001 */ lbu $t8, 1($a0)
|
||||
/* 051A6C 7F01CF3C 9088FFA0 */ lbu $t0, -0x60($a0)
|
||||
/* 051A70 7F01CF40 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051A74 7F01CF44 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051A78 7F01CF48 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051A7C 7F01CF4C 252A0002 */ addiu $t2, $t1, 2
|
||||
/* 051A80 7F01CF50 000A5883 */ sra $t3, $t2, 2
|
||||
/* 051A84 7F01CF54 A0CB0001 */ sb $t3, 1($a2)
|
||||
/* 051A88 7F01CF58 24050003 */ li $a1, 3
|
||||
/* 051A8C 7F01CF5C 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051A90 7F01CF60 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01CF64:
|
||||
/* 051A94 7F01CF64 908CFFA0 */ lbu $t4, -0x60($a0)
|
||||
/* 051A98 7F01CF68 908DFFFF */ lbu $t5, -1($a0)
|
||||
/* 051A9C 7F01CF6C 908F0000 */ lbu $t7, ($a0)
|
||||
/* 051AA0 7F01CF70 9099FF9F */ lbu $t9, -0x61($a0)
|
||||
/* 051AA4 7F01CF74 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051AA8 7F01CF78 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051AAC 7F01CF7C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051AB0 7F01CF80 25090002 */ addiu $t1, $t0, 2
|
||||
/* 051AB4 7F01CF84 00095083 */ sra $t2, $t1, 2
|
||||
/* 051AB8 7F01CF88 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 051ABC 7F01CF8C 908BFFA1 */ lbu $t3, -0x5f($a0)
|
||||
/* 051AC0 7F01CF90 908C0000 */ lbu $t4, ($a0)
|
||||
/* 051AC4 7F01CF94 908E0001 */ lbu $t6, 1($a0)
|
||||
/* 051AC8 7F01CF98 9098FFA0 */ lbu $t8, -0x60($a0)
|
||||
/* 051ACC 7F01CF9C 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051AD0 7F01CFA0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051AD4 7F01CFA4 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051AD8 7F01CFA8 27280002 */ addiu $t0, $t9, 2
|
||||
/* 051ADC 7F01CFAC 00084883 */ sra $t1, $t0, 2
|
||||
/* 051AE0 7F01CFB0 A0C90001 */ sb $t1, 1($a2)
|
||||
/* 051AE4 7F01CFB4 908AFFA2 */ lbu $t2, -0x5e($a0)
|
||||
/* 051AE8 7F01CFB8 908B0001 */ lbu $t3, 1($a0)
|
||||
/* 051AEC 7F01CFBC 908D0002 */ lbu $t5, 2($a0)
|
||||
/* 051AF0 7F01CFC0 908FFFA1 */ lbu $t7, -0x5f($a0)
|
||||
/* 051AF4 7F01CFC4 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 051AF8 7F01CFC8 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051AFC 7F01CFCC 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051B00 7F01CFD0 27190002 */ addiu $t9, $t8, 2
|
||||
/* 051B04 7F01CFD4 00194083 */ sra $t0, $t9, 2
|
||||
/* 051B08 7F01CFD8 A0C80002 */ sb $t0, 2($a2)
|
||||
/* 051B0C 7F01CFDC 908A0002 */ lbu $t2, 2($a0)
|
||||
/* 051B10 7F01CFE0 9089FFA3 */ lbu $t1, -0x5d($a0)
|
||||
/* 051B14 7F01CFE4 908C0003 */ lbu $t4, 3($a0)
|
||||
/* 051B18 7F01CFE8 908EFFA2 */ lbu $t6, -0x5e($a0)
|
||||
/* 051B1C 7F01CFEC 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 051B20 7F01CFF0 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051B24 7F01CFF4 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051B28 7F01CFF8 25F80002 */ addiu $t8, $t7, 2
|
||||
/* 051B2C 7F01CFFC 0018C883 */ sra $t9, $t8, 2
|
||||
/* 051B30 7F01D000 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 051B34 7F01D004 A0D90003 */ sb $t9, 3($a2)
|
||||
/* 051B38 7F01D008 24C60004 */ addiu $a2, $a2, 4
|
||||
/* 051B3C 7F01D00C 14A7FFD5 */ bne $a1, $a3, .L7F01CF64
|
||||
/* 051B40 7F01D010 24840004 */ addiu $a0, $a0, 4
|
||||
/* 051B44 7F01D014 24420001 */ addiu $v0, $v0, 1
|
||||
/* 051B48 7F01D018 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051B4C 7F01D01C 1443FFBA */ bne $v0, $v1, .L7F01CF08
|
||||
/* 051B50 7F01D020 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D024:
|
||||
/* 051B54 7F01D024 03E00008 */ jr $ra
|
||||
/* 051B58 7F01D028 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D02C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D02C
|
||||
/* 051B5C 7F01D02C 24A3FFFF */ addiu $v1, $a1, -1
|
||||
/* 051B60 7F01D030 28610002 */ slti $at, $v1, 2
|
||||
/* 051B64 7F01D034 24840061 */ addiu $a0, $a0, 0x61
|
||||
/* 051B68 7F01D038 24C60061 */ addiu $a2, $a2, 0x61
|
||||
/* 051B6C 7F01D03C 14200049 */ bnez $at, .L7F01D164
|
||||
/* 051B70 7F01D040 24020001 */ li $v0, 1
|
||||
/* 051B74 7F01D044 2407005F */ li $a3, 95
|
||||
.L7F01D048:
|
||||
/* 051B78 7F01D048 908E0060 */ lbu $t6, 0x60($a0)
|
||||
/* 051B7C 7F01D04C 908F0001 */ lbu $t7, 1($a0)
|
||||
/* 051B80 7F01D050 90990000 */ lbu $t9, ($a0)
|
||||
/* 051B84 7F01D054 90890061 */ lbu $t1, 0x61($a0)
|
||||
/* 051B88 7F01D058 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051B8C 7F01D05C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051B90 7F01D060 01095021 */ addu $t2, $t0, $t1
|
||||
/* 051B94 7F01D064 254B0002 */ addiu $t3, $t2, 2
|
||||
/* 051B98 7F01D068 000B6083 */ sra $t4, $t3, 2
|
||||
/* 051B9C 7F01D06C A0CC0000 */ sb $t4, ($a2)
|
||||
/* 051BA0 7F01D070 908E0002 */ lbu $t6, 2($a0)
|
||||
/* 051BA4 7F01D074 908D0061 */ lbu $t5, 0x61($a0)
|
||||
/* 051BA8 7F01D078 90980001 */ lbu $t8, 1($a0)
|
||||
/* 051BAC 7F01D07C 90880062 */ lbu $t0, 0x62($a0)
|
||||
/* 051BB0 7F01D080 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051BB4 7F01D084 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051BB8 7F01D088 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051BBC 7F01D08C 252A0002 */ addiu $t2, $t1, 2
|
||||
/* 051BC0 7F01D090 000A5883 */ sra $t3, $t2, 2
|
||||
/* 051BC4 7F01D094 A0CB0001 */ sb $t3, 1($a2)
|
||||
/* 051BC8 7F01D098 24050003 */ li $a1, 3
|
||||
/* 051BCC 7F01D09C 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051BD0 7F01D0A0 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D0A4:
|
||||
/* 051BD4 7F01D0A4 908C0060 */ lbu $t4, 0x60($a0)
|
||||
/* 051BD8 7F01D0A8 908D0001 */ lbu $t5, 1($a0)
|
||||
/* 051BDC 7F01D0AC 908F0000 */ lbu $t7, ($a0)
|
||||
/* 051BE0 7F01D0B0 90990061 */ lbu $t9, 0x61($a0)
|
||||
/* 051BE4 7F01D0B4 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051BE8 7F01D0B8 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051BEC 7F01D0BC 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051BF0 7F01D0C0 25090002 */ addiu $t1, $t0, 2
|
||||
/* 051BF4 7F01D0C4 00095083 */ sra $t2, $t1, 2
|
||||
/* 051BF8 7F01D0C8 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 051BFC 7F01D0CC 908C0002 */ lbu $t4, 2($a0)
|
||||
/* 051C00 7F01D0D0 908B0061 */ lbu $t3, 0x61($a0)
|
||||
/* 051C04 7F01D0D4 908E0001 */ lbu $t6, 1($a0)
|
||||
/* 051C08 7F01D0D8 90980062 */ lbu $t8, 0x62($a0)
|
||||
/* 051C0C 7F01D0DC 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051C10 7F01D0E0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051C14 7F01D0E4 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051C18 7F01D0E8 27280002 */ addiu $t0, $t9, 2
|
||||
/* 051C1C 7F01D0EC 00084883 */ sra $t1, $t0, 2
|
||||
/* 051C20 7F01D0F0 A0C90001 */ sb $t1, 1($a2)
|
||||
/* 051C24 7F01D0F4 908B0003 */ lbu $t3, 3($a0)
|
||||
/* 051C28 7F01D0F8 908A0062 */ lbu $t2, 0x62($a0)
|
||||
/* 051C2C 7F01D0FC 908D0002 */ lbu $t5, 2($a0)
|
||||
/* 051C30 7F01D100 908F0063 */ lbu $t7, 0x63($a0)
|
||||
/* 051C34 7F01D104 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 051C38 7F01D108 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051C3C 7F01D10C 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051C40 7F01D110 27190002 */ addiu $t9, $t8, 2
|
||||
/* 051C44 7F01D114 00194083 */ sra $t0, $t9, 2
|
||||
/* 051C48 7F01D118 A0C80002 */ sb $t0, 2($a2)
|
||||
/* 051C4C 7F01D11C 908A0004 */ lbu $t2, 4($a0)
|
||||
/* 051C50 7F01D120 90890063 */ lbu $t1, 0x63($a0)
|
||||
/* 051C54 7F01D124 908C0003 */ lbu $t4, 3($a0)
|
||||
/* 051C58 7F01D128 908E0064 */ lbu $t6, 0x64($a0)
|
||||
/* 051C5C 7F01D12C 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 051C60 7F01D130 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051C64 7F01D134 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051C68 7F01D138 25F80002 */ addiu $t8, $t7, 2
|
||||
/* 051C6C 7F01D13C 0018C883 */ sra $t9, $t8, 2
|
||||
/* 051C70 7F01D140 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 051C74 7F01D144 A0D90003 */ sb $t9, 3($a2)
|
||||
/* 051C78 7F01D148 24C60004 */ addiu $a2, $a2, 4
|
||||
/* 051C7C 7F01D14C 14A7FFD5 */ bne $a1, $a3, .L7F01D0A4
|
||||
/* 051C80 7F01D150 24840004 */ addiu $a0, $a0, 4
|
||||
/* 051C84 7F01D154 24420001 */ addiu $v0, $v0, 1
|
||||
/* 051C88 7F01D158 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051C8C 7F01D15C 1443FFBA */ bne $v0, $v1, .L7F01D048
|
||||
/* 051C90 7F01D160 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D164:
|
||||
/* 051C94 7F01D164 03E00008 */ jr $ra
|
||||
/* 051C98 7F01D168 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D16C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D16C
|
||||
/* 051C9C 7F01D16C 00A60019 */ multu $a1, $a2
|
||||
/* 051CA0 7F01D170 00801825 */ move $v1, $a0
|
||||
/* 051CA4 7F01D174 00E04025 */ move $t0, $a3
|
||||
/* 051CA8 7F01D178 00855021 */ addu $t2, $a0, $a1
|
||||
/* 051CAC 7F01D17C 00001012 */ mflo $v0
|
||||
/* 051CB0 7F01D180 00824821 */ addu $t1, $a0, $v0
|
||||
/* 051CB4 7F01D184 00000000 */ nop
|
||||
.L7F01D188:
|
||||
/* 051CB8 7F01D188 01402025 */ move $a0, $t2
|
||||
.L7F01D18C:
|
||||
/* 051CBC 7F01D18C 906E0000 */ lbu $t6, ($v1)
|
||||
/* 051CC0 7F01D190 24630001 */ addiu $v1, $v1, 1
|
||||
/* 051CC4 7F01D194 0064082B */ sltu $at, $v1, $a0
|
||||
/* 051CC8 7F01D198 A10E0000 */ sb $t6, ($t0)
|
||||
/* 051CCC 7F01D19C 254A0001 */ addiu $t2, $t2, 1
|
||||
/* 051CD0 7F01D1A0 1420FFFA */ bnez $at, .L7F01D18C
|
||||
/* 051CD4 7F01D1A4 01064021 */ addu $t0, $t0, $a2
|
||||
/* 051CD8 7F01D1A8 01024023 */ subu $t0, $t0, $v0
|
||||
/* 051CDC 7F01D1AC 0069082B */ sltu $at, $v1, $t1
|
||||
/* 051CE0 7F01D1B0 1420FFF5 */ bnez $at, .L7F01D188
|
||||
/* 051CE4 7F01D1B4 25080001 */ addiu $t0, $t0, 1
|
||||
/* 051CE8 7F01D1B8 03E00008 */ jr $ra
|
||||
/* 051CEC 7F01D1BC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D1C0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D1C0
|
||||
/* 051CF0 7F01D1C0 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* 051CF4 7F01D1C4 240C00FF */ li $t4, 255
|
||||
/* 051CF8 7F01D1C8 90880000 */ lbu $t0, ($a0)
|
||||
/* 051CFC 7F01D1CC 24840001 */ addiu $a0, $a0, 1
|
||||
.L7F01D1D0:
|
||||
/* 051D00 7F01D1D0 90890000 */ lbu $t1, ($a0)
|
||||
/* 051D04 7F01D1D4 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051D08 7F01D1D8 152C001A */ bne $t1, $t4, .L7F01D244
|
||||
/* 051D0C 7F01D1DC 240B00FF */ li $t3, 255
|
||||
/* 051D10 7F01D1E0 90890000 */ lbu $t1, ($a0)
|
||||
/* 051D14 7F01D1E4 240A0000 */ li $t2, 0
|
||||
/* 051D18 7F01D1E8 112C000C */ beq $t1, $t4, .L7F01D21C
|
||||
/* 051D1C 7F01D1EC 24840001 */ addiu $a0, $a0, 1
|
||||
.L7F01D1F0:
|
||||
/* 051D20 7F01D1F0 01495021 */ addu $t2, $t2, $t1
|
||||
/* 051D24 7F01D1F4 19200005 */ blez $t1, .L7F01D20C
|
||||
/* 051D28 7F01D1F8 2529FFFF */ addiu $t1, $t1, -1
|
||||
.L7F01D1FC:
|
||||
/* 051D2C 7F01D1FC A0EB0000 */ sb $t3, ($a3)
|
||||
/* 051D30 7F01D200 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 051D34 7F01D204 1D20FFFD */ bgtz $t1, .L7F01D1FC
|
||||
/* 051D38 7F01D208 2529FFFF */ addiu $t1, $t1, -1
|
||||
.L7F01D20C:
|
||||
/* 051D3C 7F01D20C 90890000 */ lbu $t1, ($a0)
|
||||
/* 051D40 7F01D210 396B00FF */ xori $t3, $t3, 0xff
|
||||
/* 051D44 7F01D214 152CFFF6 */ bne $t1, $t4, .L7F01D1F0
|
||||
/* 051D48 7F01D218 24840001 */ addiu $a0, $a0, 1
|
||||
.L7F01D21C:
|
||||
/* 051D4C 7F01D21C 0145082A */ slt $at, $t2, $a1
|
||||
/* 051D50 7F01D220 10200006 */ beqz $at, .L7F01D23C
|
||||
/* 051D54 7F01D224 254A0001 */ addiu $t2, $t2, 1
|
||||
.L7F01D228:
|
||||
/* 051D58 7F01D228 A0EB0000 */ sb $t3, ($a3)
|
||||
/* 051D5C 7F01D22C 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 051D60 7F01D230 0145082A */ slt $at, $t2, $a1
|
||||
/* 051D64 7F01D234 1420FFFC */ bnez $at, .L7F01D228
|
||||
/* 051D68 7F01D238 254A0001 */ addiu $t2, $t2, 1
|
||||
.L7F01D23C:
|
||||
/* 051D6C 7F01D23C 0BC074A7 */ j func_7F01D29C
|
||||
/* 051D70 7F01D240 24C6FFFF */ addiu $a2, $a2, -1
|
||||
|
||||
.L7F01D244:
|
||||
/* 051D74 7F01D244 312A001F */ andi $t2, $t1, 0x1f
|
||||
/* 051D78 7F01D248 01485021 */ addu $t2, $t2, $t0
|
||||
/* 051D7C 7F01D24C 00094942 */ srl $t1, $t1, 5
|
||||
/* 051D80 7F01D250 25290001 */ addiu $t1, $t1, 1
|
||||
/* 051D84 7F01D254 00C93023 */ subu $a2, $a2, $t1
|
||||
.L7F01D258:
|
||||
/* 051D88 7F01D258 01405825 */ move $t3, $t2
|
||||
/* 051D8C 7F01D25C 19600005 */ blez $t3, .L7F01D274
|
||||
/* 051D90 7F01D260 256BFFFF */ addiu $t3, $t3, -1
|
||||
.L7F01D264:
|
||||
/* 051D94 7F01D264 A0EC0000 */ sb $t4, ($a3)
|
||||
/* 051D98 7F01D268 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 051D9C 7F01D26C 1D60FFFD */ bgtz $t3, .L7F01D264
|
||||
/* 051DA0 7F01D270 256BFFFF */ addiu $t3, $t3, -1
|
||||
.L7F01D274:
|
||||
/* 051DA4 7F01D274 00AA5823 */ subu $t3, $a1, $t2
|
||||
/* 051DA8 7F01D278 19600005 */ blez $t3, .L7F01D290
|
||||
/* 051DAC 7F01D27C 256BFFFF */ addiu $t3, $t3, -1
|
||||
.L7F01D280:
|
||||
/* 051DB0 7F01D280 A0E00000 */ sb $zero, ($a3)
|
||||
/* 051DB4 7F01D284 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 051DB8 7F01D288 1D60FFFD */ bgtz $t3, .L7F01D280
|
||||
/* 051DBC 7F01D28C 256BFFFF */ addiu $t3, $t3, -1
|
||||
.L7F01D290:
|
||||
/* 051DC0 7F01D290 2529FFFF */ addiu $t1, $t1, -1
|
||||
/* 051DC4 7F01D294 1D20FFF0 */ bgtz $t1, .L7F01D258
|
||||
/* 051DC8 7F01D298 00000000 */ nop
|
||||
glabel func_7F01D29C
|
||||
/* 051DCC 7F01D29C 1CC0FFCC */ bgtz $a2, .L7F01D1D0
|
||||
/* 051DD0 7F01D2A0 00801025 */ move $v0, $a0
|
||||
/* 051DD4 7F01D2A4 03E00008 */ jr $ra
|
||||
/* 051DD8 7F01D2A8 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
+35351
File diff suppressed because it is too large
Load Diff
+2876
File diff suppressed because it is too large
Load Diff
+3254
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
#ifndef _BONDINV_H_
|
||||
#define _BONDINV_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
void reinit_BONDdata_inventory(void);
|
||||
s32 bondinvIsAliveWithFlag(void);
|
||||
|
||||
#endif
|
||||
+24961
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,76 @@
|
||||
#ifndef _BONDWALK_H_
|
||||
#define _BONDWALK_H_
|
||||
#include "ultra64.h"
|
||||
#include "game/chrobjdata.h"
|
||||
#include "bondconstants.h"
|
||||
|
||||
struct weapon_stats
|
||||
{
|
||||
f32 field_0;
|
||||
f32 pos_x;
|
||||
f32 pos_y;
|
||||
f32 pos_z;
|
||||
f32 field_10;
|
||||
f32 field_14;
|
||||
f32 field_18;
|
||||
s32 ammotype;
|
||||
s16 mag_size;
|
||||
u8 automatic_firing_rate;
|
||||
s8 single_firing_rate;
|
||||
u8 objects_shoot_through;
|
||||
u8 sound_trigger_rate;
|
||||
u16 sound;
|
||||
struct Gitemheader * ptr_cartridge_struct;
|
||||
f32 destruction_amount;
|
||||
f32 inaccuracy;
|
||||
f32 zoom;
|
||||
f32 field_38;
|
||||
f32 field_3C;
|
||||
f32 sway;
|
||||
s32 recoilspeed;
|
||||
f32 recoil_back;
|
||||
f32 recoil_up;
|
||||
f32 bolt_recoil_back;
|
||||
f32 loudness;
|
||||
f32 loudness2;
|
||||
f32 field_5C;
|
||||
f32 field_60;
|
||||
f32 field_64;
|
||||
f32 field_68;
|
||||
u32 bitflags;
|
||||
};
|
||||
|
||||
struct gitem_data_struct
|
||||
{
|
||||
struct Gitemheader * item_header;
|
||||
char * item_file_name;
|
||||
s32 has_no_model;
|
||||
struct weapon_stats * item_weapon_stats;
|
||||
u16 upper_watch_text;
|
||||
u16 lower_watch_text;
|
||||
f32 watch_pos_x;
|
||||
f32 watch_pos_y;
|
||||
f32 watch_pos_z;
|
||||
f32 x_rotation;
|
||||
f32 y_rotation;
|
||||
u16 weapon_of_choice_text;
|
||||
u16 watch_equipment_text;
|
||||
f32 equip_watch_x;
|
||||
f32 equip_watch_y;
|
||||
f32 equip_watch_z;
|
||||
};
|
||||
|
||||
struct ejected_cart {
|
||||
struct Gitemheader * header;
|
||||
char * text;
|
||||
};
|
||||
|
||||
f32 bondwalkGetItemField68(ITEM_IDS item);
|
||||
u32 bondwalkItemCheckBitflags(ITEM_IDS item, u32 mask);
|
||||
|
||||
void bondwalkFireBothHands(void);
|
||||
|
||||
f32 sub_GAME_7F0649AC(s32 param_1);
|
||||
|
||||
f32 sub_GAME_7F05DCB8(HANDEDNESS hand);
|
||||
#endif
|
||||
@@ -0,0 +1,611 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
f32 sub_GAME_7F06ABB0(void *arg0, void *arg1, void *arg2, s32 arg3, s32 arg4, s3 2 arg5, s32 arg6, s32 arg7) {
|
||||
void *sp0;
|
||||
void *spC;
|
||||
void *temp_v0;
|
||||
s32 temp_f18;
|
||||
s32 temp_f8;
|
||||
s32 temp_f4;
|
||||
s32 temp_f10;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_5;
|
||||
void *temp_v1;
|
||||
s32 phi_a1;
|
||||
s32 phi_a2;
|
||||
s32 phi_a3;
|
||||
s32 phi_t0;
|
||||
s32 phi_v1;
|
||||
s32 phi_a0;
|
||||
void *phi_v0;
|
||||
s32 phi_a3_2;
|
||||
s32 phi_t0_2;
|
||||
s32 phi_v1_2;
|
||||
s32 phi_a0_2;
|
||||
s32 phi_a3_3;
|
||||
s32 phi_t0_3;
|
||||
|
||||
// Node 0
|
||||
if (0.0f < *arg2)
|
||||
{
|
||||
// Node 1
|
||||
if (0.0f < arg2->unk4)
|
||||
{
|
||||
// Node 2
|
||||
**arg0 = 0xba001301;
|
||||
*arg0->unk4 = 0;
|
||||
temp_v0 = (*arg0 + 8);
|
||||
temp_f18 = (s32) ((*arg1 - *arg2) * 4.0f);
|
||||
temp_f8 = (s32) ((arg1->unk4 - arg2->unk4) * 4.0f);
|
||||
temp_f4 = (s32) ((*arg2 + *arg1) * 4.0f);
|
||||
temp_f10 = (s32) ((arg2->unk4 + arg1->unk4) * 4.0f);
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_f4 >= 0)
|
||||
{
|
||||
// Node 3
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_f10 >= 0)
|
||||
{
|
||||
// Node 4
|
||||
phi_a1 = temp_f18;
|
||||
phi_a3_3 = 0;
|
||||
phi_t0_3 = 0;
|
||||
if (temp_f18 < 0)
|
||||
{
|
||||
// Node 5
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 6
|
||||
phi_a1 = 0;
|
||||
phi_a3_3 = 0;
|
||||
phi_t0_3 = ((s32) ((-temp_f18 * arg4) << 5) / (s32) (temp_f4 - temp_f18));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 7
|
||||
phi_a1 = 0;
|
||||
phi_a3_3 = ((s32) ((-temp_f18 * arg3) << 5) / (s32) (temp_f4 - temp_f18));
|
||||
phi_t0_3 = 0;
|
||||
}
|
||||
}
|
||||
// Node 8
|
||||
phi_a2 = temp_f8;
|
||||
phi_a3_2 = phi_a3_3;
|
||||
phi_t0_2 = phi_t0_3;
|
||||
if (temp_f8 < 0)
|
||||
{
|
||||
// Node 9
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 10
|
||||
phi_a2 = 0;
|
||||
phi_a3_2 = (phi_a3_3 + ((s32) ((-temp_f8 * arg3) << 5) / (s32) (temp_f10 - temp_f8)));
|
||||
phi_t0_2 = phi_t0_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 11
|
||||
phi_a2 = 0;
|
||||
phi_a3_2 = phi_a3_3;
|
||||
phi_t0_2 = (phi_t0_3 + ((s32) ((-temp_f8 * arg4) << 5) / (s32) (temp_f10 - temp_f8)));
|
||||
}
|
||||
}
|
||||
// Node 12
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 13
|
||||
phi_v1_2 = (s32) (((f32) arg3 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
|
||||
phi_a0_2 = (s32) (((f32) arg4 / (*arg2 + *arg2)) * 1024. 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 14
|
||||
phi_v1_2 = (s32) (((f32) arg3 / (*arg2 + *arg2)) * 1024. 0f);
|
||||
phi_a0_2 = (s32) (((f32) arg4 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
|
||||
}
|
||||
// Node 15
|
||||
phi_a3 = phi_a3_2;
|
||||
phi_v1 = phi_v1_2;
|
||||
if (arg6 != 0)
|
||||
{
|
||||
// Node 16
|
||||
phi_a3 = (((arg3 + -1) << 5) - phi_a3_2);
|
||||
phi_v1 = (0x10000 - phi_v1_2);
|
||||
}
|
||||
// Node 17
|
||||
phi_t0 = phi_t0_2;
|
||||
phi_a0 = phi_a0_2;
|
||||
if (arg7 != 0)
|
||||
{
|
||||
// Node 18
|
||||
phi_t0 = (((arg4 + -1) << 5) - phi_t0_2);
|
||||
phi_a0 = (0x10000 - phi_a0_2);
|
||||
}
|
||||
// Node 19
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 20
|
||||
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe50000 00) | (temp_f10 & 0xfff));
|
||||
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
|
||||
temp_v0_2 = (temp_v0 + 8);
|
||||
*temp_v0_2 = 0xb4000000;
|
||||
temp_v0_2->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
|
||||
temp_v0_4 = (temp_v0_2 + 8);
|
||||
spC = temp_v0_4;
|
||||
*spC = 0xb3000000;
|
||||
spC->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
|
||||
phi_v0 = (temp_v0_4 + 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 21
|
||||
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe40000 00) | (temp_f10 & 0xfff));
|
||||
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
|
||||
temp_v0_3 = (temp_v0 + 8);
|
||||
*temp_v0_3 = 0xb4000000;
|
||||
temp_v0_3->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
|
||||
temp_v0_5 = (temp_v0_3 + 8);
|
||||
sp0 = temp_v0_5;
|
||||
*sp0 = 0xb3000000;
|
||||
sp0->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
|
||||
phi_v0 = (temp_v0_5 + 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Node 22
|
||||
temp_v1 = phi_v0;
|
||||
temp_v1->unk4 = 0x80000;
|
||||
*temp_v1 = 0xba001301;
|
||||
*arg0 = (void *) (phi_v0 + 8);
|
||||
}
|
||||
}
|
||||
// Node 23
|
||||
return 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F06ABB0
|
||||
/* 09F6E0 7F06ABB0 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 09F6E4 7F06ABB4 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 09F6E8 7F06ABB8 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 09F6EC 7F06ABBC AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 09F6F0 7F06ABC0 AFA7004C */ sw $a3, 0x4c($sp)
|
||||
/* 09F6F4 7F06ABC4 44800000 */ mtc1 $zero, $f0
|
||||
/* 09F6F8 7F06ABC8 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 09F6FC 7F06ABCC 4604003C */ c.lt.s $f0, $f4
|
||||
/* 09F700 7F06ABD0 00000000 */ nop
|
||||
/* 09F704 7F06ABD4 45000102 */ bc1f .L7F06AFE0
|
||||
/* 09F708 7F06ABD8 00000000 */ nop
|
||||
/* 09F70C 7F06ABDC C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* 09F710 7F06ABE0 3C0BBA00 */ lui $t3, (0xBA001301 >> 16) # lui $t3, 0xba00
|
||||
/* 09F714 7F06ABE4 4606003C */ c.lt.s $f0, $f6
|
||||
/* 09F718 7F06ABE8 00000000 */ nop
|
||||
/* 09F71C 7F06ABEC 450000FC */ bc1f .L7F06AFE0
|
||||
/* 09F720 7F06ABF0 00000000 */ nop
|
||||
/* 09F724 7F06ABF4 8C820000 */ lw $v0, ($a0)
|
||||
/* 09F728 7F06ABF8 356B1301 */ ori $t3, (0xBA001301 & 0xFFFF) # ori $t3, $t3, 0x1301
|
||||
/* 09F72C 7F06ABFC 3C014080 */ li $at, 0x40800000 # 4.000000
|
||||
/* 09F730 7F06AC00 00401825 */ move $v1, $v0
|
||||
/* 09F734 7F06AC04 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09F738 7F06AC08 AC600004 */ sw $zero, 4($v1)
|
||||
/* 09F73C 7F06AC0C 8FB90048 */ lw $t9, 0x48($sp)
|
||||
/* 09F740 7F06AC10 8FB80044 */ lw $t8, 0x44($sp)
|
||||
/* 09F744 7F06AC14 44818000 */ mtc1 $at, $f16
|
||||
/* 09F748 7F06AC18 C7200000 */ lwc1 $f0, ($t9)
|
||||
/* 09F74C 7F06AC1C C70C0000 */ lwc1 $f12, ($t8)
|
||||
/* 09F750 7F06AC20 C7220004 */ lwc1 $f2, 4($t9)
|
||||
/* 09F754 7F06AC24 C70E0004 */ lwc1 $f14, 4($t8)
|
||||
/* 09F758 7F06AC28 46006201 */ sub.s $f8, $f12, $f0
|
||||
/* 09F75C 7F06AC2C 00003825 */ move $a3, $zero
|
||||
/* 09F760 7F06AC30 00004025 */ move $t0, $zero
|
||||
/* 09F764 7F06AC34 46027101 */ sub.s $f4, $f14, $f2
|
||||
/* 09F768 7F06AC38 46104282 */ mul.s $f10, $f8, $f16
|
||||
/* 09F76C 7F06AC3C 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09F770 7F06AC40 46102182 */ mul.s $f6, $f4, $f16
|
||||
/* 09F774 7F06AC44 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 09F778 7F06AC48 460C0280 */ add.s $f10, $f0, $f12
|
||||
/* 09F77C 7F06AC4C 44059000 */ mfc1 $a1, $f18
|
||||
/* 09F780 7F06AC50 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 09F784 7F06AC54 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 09F788 7F06AC58 460E1180 */ add.s $f6, $f2, $f14
|
||||
/* 09F78C 7F06AC5C 44064000 */ mfc1 $a2, $f8
|
||||
/* 09F790 7F06AC60 46103202 */ mul.s $f8, $f6, $f16
|
||||
/* 09F794 7F06AC64 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 09F798 7F06AC68 44092000 */ mfc1 $t1, $f4
|
||||
/* 09F79C 7F06AC6C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 09F7A0 7F06AC70 440A5000 */ mfc1 $t2, $f10
|
||||
/* 09F7A4 7F06AC74 052200D4 */ bltzl $t1, .L7F06AFC8
|
||||
/* 09F7A8 7F06AC78 00401825 */ move $v1, $v0
|
||||
/* 09F7AC 7F06AC7C 054200D2 */ bltzl $t2, .L7F06AFC8
|
||||
/* 09F7B0 7F06AC80 00401825 */ move $v1, $v0
|
||||
/* 09F7B4 7F06AC84 04A1002A */ bgez $a1, .L7F06AD30
|
||||
/* 09F7B8 7F06AC88 8FAC0054 */ lw $t4, 0x54($sp)
|
||||
/* 09F7BC 7F06AC8C 11800015 */ beqz $t4, .L7F06ACE4
|
||||
/* 09F7C0 7F06AC90 8FAF004C */ lw $t7, 0x4c($sp)
|
||||
/* 09F7C4 7F06AC94 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F7C8 7F06AC98 0005C823 */ negu $t9, $a1
|
||||
/* 09F7CC 7F06AC9C 0125C023 */ subu $t8, $t1, $a1
|
||||
/* 09F7D0 7F06ACA0 032D0019 */ multu $t9, $t5
|
||||
/* 09F7D4 7F06ACA4 00007812 */ mflo $t7
|
||||
/* 09F7D8 7F06ACA8 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F7DC 7F06ACAC 00000000 */ nop
|
||||
/* 09F7E0 7F06ACB0 01D8001A */ div $zero, $t6, $t8
|
||||
/* 09F7E4 7F06ACB4 00004012 */ mflo $t0
|
||||
/* 09F7E8 7F06ACB8 17000002 */ bnez $t8, .L7F06ACC4
|
||||
/* 09F7EC 7F06ACBC 00000000 */ nop
|
||||
/* 09F7F0 7F06ACC0 0007000D */ break 7
|
||||
.L7F06ACC4:
|
||||
/* 09F7F4 7F06ACC4 2401FFFF */ li $at, -1
|
||||
/* 09F7F8 7F06ACC8 17010004 */ bne $t8, $at, .L7F06ACDC
|
||||
/* 09F7FC 7F06ACCC 3C018000 */ lui $at, 0x8000
|
||||
/* 09F800 7F06ACD0 15C10002 */ bne $t6, $at, .L7F06ACDC
|
||||
/* 09F804 7F06ACD4 00000000 */ nop
|
||||
/* 09F808 7F06ACD8 0006000D */ break 6
|
||||
.L7F06ACDC:
|
||||
/* 09F80C 7F06ACDC 10000014 */ b .L7F06AD30
|
||||
/* 09F810 7F06ACE0 00002825 */ move $a1, $zero
|
||||
.L7F06ACE4:
|
||||
/* 09F814 7F06ACE4 0005C823 */ negu $t9, $a1
|
||||
/* 09F818 7F06ACE8 032F0019 */ multu $t9, $t7
|
||||
/* 09F81C 7F06ACEC 0125C823 */ subu $t9, $t1, $a1
|
||||
/* 09F820 7F06ACF0 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F824 7F06ACF4 00007012 */ mflo $t6
|
||||
/* 09F828 7F06ACF8 000EC140 */ sll $t8, $t6, 5
|
||||
/* 09F82C 7F06ACFC 00000000 */ nop
|
||||
/* 09F830 7F06AD00 0319001A */ div $zero, $t8, $t9
|
||||
/* 09F834 7F06AD04 00003812 */ mflo $a3
|
||||
/* 09F838 7F06AD08 17200002 */ bnez $t9, .L7F06AD14
|
||||
/* 09F83C 7F06AD0C 00000000 */ nop
|
||||
/* 09F840 7F06AD10 0007000D */ break 7
|
||||
.L7F06AD14:
|
||||
/* 09F844 7F06AD14 2401FFFF */ li $at, -1
|
||||
/* 09F848 7F06AD18 17210004 */ bne $t9, $at, .L7F06AD2C
|
||||
/* 09F84C 7F06AD1C 3C018000 */ lui $at, 0x8000
|
||||
/* 09F850 7F06AD20 17010002 */ bne $t8, $at, .L7F06AD2C
|
||||
/* 09F854 7F06AD24 00000000 */ nop
|
||||
/* 09F858 7F06AD28 0006000D */ break 6
|
||||
.L7F06AD2C:
|
||||
/* 09F85C 7F06AD2C 00002825 */ move $a1, $zero
|
||||
.L7F06AD30:
|
||||
/* 09F860 7F06AD30 8FAC0054 */ lw $t4, 0x54($sp)
|
||||
/* 09F864 7F06AD34 04C1002A */ bgez $a2, .L7F06ADE0
|
||||
/* 09F868 7F06AD38 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F86C 7F06AD3C 11800016 */ beqz $t4, .L7F06AD98
|
||||
/* 09F870 7F06AD40 0006C023 */ negu $t8, $a2
|
||||
/* 09F874 7F06AD44 8FAE004C */ lw $t6, 0x4c($sp)
|
||||
/* 09F878 7F06AD48 00067823 */ negu $t7, $a2
|
||||
/* 09F87C 7F06AD4C 01EE0019 */ multu $t7, $t6
|
||||
/* 09F880 7F06AD50 01467823 */ subu $t7, $t2, $a2
|
||||
/* 09F884 7F06AD54 0000C012 */ mflo $t8
|
||||
/* 09F888 7F06AD58 0018C940 */ sll $t9, $t8, 5
|
||||
/* 09F88C 7F06AD5C 00000000 */ nop
|
||||
/* 09F890 7F06AD60 032F001A */ div $zero, $t9, $t7
|
||||
/* 09F894 7F06AD64 00007012 */ mflo $t6
|
||||
/* 09F898 7F06AD68 00EE3821 */ addu $a3, $a3, $t6
|
||||
/* 09F89C 7F06AD6C 15E00002 */ bnez $t7, .L7F06AD78
|
||||
/* 09F8A0 7F06AD70 00000000 */ nop
|
||||
/* 09F8A4 7F06AD74 0007000D */ break 7
|
||||
.L7F06AD78:
|
||||
/* 09F8A8 7F06AD78 2401FFFF */ li $at, -1
|
||||
/* 09F8AC 7F06AD7C 15E10004 */ bne $t7, $at, .L7F06AD90
|
||||
/* 09F8B0 7F06AD80 3C018000 */ lui $at, 0x8000
|
||||
/* 09F8B4 7F06AD84 17210002 */ bne $t9, $at, .L7F06AD90
|
||||
/* 09F8B8 7F06AD88 00000000 */ nop
|
||||
/* 09F8BC 7F06AD8C 0006000D */ break 6
|
||||
.L7F06AD90:
|
||||
/* 09F8C0 7F06AD90 10000013 */ b .L7F06ADE0
|
||||
/* 09F8C4 7F06AD94 00003025 */ move $a2, $zero
|
||||
.L7F06AD98:
|
||||
/* 09F8C8 7F06AD98 030D0019 */ multu $t8, $t5
|
||||
/* 09F8CC 7F06AD9C 01467023 */ subu $t6, $t2, $a2
|
||||
/* 09F8D0 7F06ADA0 0000C812 */ mflo $t9
|
||||
/* 09F8D4 7F06ADA4 00197940 */ sll $t7, $t9, 5
|
||||
/* 09F8D8 7F06ADA8 00000000 */ nop
|
||||
/* 09F8DC 7F06ADAC 01EE001A */ div $zero, $t7, $t6
|
||||
/* 09F8E0 7F06ADB0 0000C012 */ mflo $t8
|
||||
/* 09F8E4 7F06ADB4 01184021 */ addu $t0, $t0, $t8
|
||||
/* 09F8E8 7F06ADB8 15C00002 */ bnez $t6, .L7F06ADC4
|
||||
/* 09F8EC 7F06ADBC 00000000 */ nop
|
||||
/* 09F8F0 7F06ADC0 0007000D */ break 7
|
||||
.L7F06ADC4:
|
||||
/* 09F8F4 7F06ADC4 2401FFFF */ li $at, -1
|
||||
/* 09F8F8 7F06ADC8 15C10004 */ bne $t6, $at, .L7F06ADDC
|
||||
/* 09F8FC 7F06ADCC 3C018000 */ lui $at, 0x8000
|
||||
/* 09F900 7F06ADD0 15E10002 */ bne $t7, $at, .L7F06ADDC
|
||||
/* 09F904 7F06ADD4 00000000 */ nop
|
||||
/* 09F908 7F06ADD8 0006000D */ break 6
|
||||
.L7F06ADDC:
|
||||
/* 09F90C 7F06ADDC 00003025 */ move $a2, $zero
|
||||
.L7F06ADE0:
|
||||
/* 09F910 7F06ADE0 11800015 */ beqz $t4, .L7F06AE38
|
||||
/* 09F914 7F06ADE4 8FAE0058 */ lw $t6, 0x58($sp)
|
||||
/* 09F918 7F06ADE8 8FB9004C */ lw $t9, 0x4c($sp)
|
||||
/* 09F91C 7F06ADEC 46021180 */ add.s $f6, $f2, $f2
|
||||
/* 09F920 7F06ADF0 3C014480 */ li $at, 0x44800000 # 1024.000000
|
||||
/* 09F924 7F06ADF4 44999000 */ mtc1 $t9, $f18
|
||||
/* 09F928 7F06ADF8 44816000 */ mtc1 $at, $f12
|
||||
/* 09F92C 7F06ADFC 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 09F930 7F06AE00 46062203 */ div.s $f8, $f4, $f6
|
||||
/* 09F934 7F06AE04 448D2000 */ mtc1 $t5, $f4
|
||||
/* 09F938 7F06AE08 00000000 */ nop
|
||||
/* 09F93C 7F06AE0C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 09F940 7F06AE10 460C4282 */ mul.s $f10, $f8, $f12
|
||||
/* 09F944 7F06AE14 46000200 */ add.s $f8, $f0, $f0
|
||||
/* 09F948 7F06AE18 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 09F94C 7F06AE1C 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 09F950 7F06AE20 44039000 */ mfc1 $v1, $f18
|
||||
/* 09F954 7F06AE24 460C5482 */ mul.s $f18, $f10, $f12
|
||||
/* 09F958 7F06AE28 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 09F95C 7F06AE2C 44042000 */ mfc1 $a0, $f4
|
||||
/* 09F960 7F06AE30 10000014 */ b .L7F06AE84
|
||||
/* 09F964 7F06AE34 00000000 */ nop
|
||||
.L7F06AE38:
|
||||
/* 09F968 7F06AE38 8FB8004C */ lw $t8, 0x4c($sp)
|
||||
/* 09F96C 7F06AE3C 46000280 */ add.s $f10, $f0, $f0
|
||||
/* 09F970 7F06AE40 3C014480 */ li $at, 0x44800000 # 1024.000000
|
||||
/* 09F974 7F06AE44 44983000 */ mtc1 $t8, $f6
|
||||
/* 09F978 7F06AE48 44816000 */ mtc1 $at, $f12
|
||||
/* 09F97C 7F06AE4C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 09F980 7F06AE50 460A4483 */ div.s $f18, $f8, $f10
|
||||
/* 09F984 7F06AE54 448D4000 */ mtc1 $t5, $f8
|
||||
/* 09F988 7F06AE58 00000000 */ nop
|
||||
/* 09F98C 7F06AE5C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 09F990 7F06AE60 460C9102 */ mul.s $f4, $f18, $f12
|
||||
/* 09F994 7F06AE64 46021480 */ add.s $f18, $f2, $f2
|
||||
/* 09F998 7F06AE68 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 09F99C 7F06AE6C 46125103 */ div.s $f4, $f10, $f18
|
||||
/* 09F9A0 7F06AE70 44033000 */ mfc1 $v1, $f6
|
||||
/* 09F9A4 7F06AE74 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 09F9A8 7F06AE78 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 09F9AC 7F06AE7C 44044000 */ mfc1 $a0, $f8
|
||||
/* 09F9B0 7F06AE80 00000000 */ nop
|
||||
.L7F06AE84:
|
||||
/* 09F9B4 7F06AE84 11C00006 */ beqz $t6, .L7F06AEA0
|
||||
/* 09F9B8 7F06AE88 8FB9004C */ lw $t9, 0x4c($sp)
|
||||
/* 09F9BC 7F06AE8C 272FFFFF */ addiu $t7, $t9, -1
|
||||
/* 09F9C0 7F06AE90 3C180001 */ lui $t8, 1
|
||||
/* 09F9C4 7F06AE94 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F9C8 7F06AE98 03031823 */ subu $v1, $t8, $v1
|
||||
/* 09F9CC 7F06AE9C 01C73823 */ subu $a3, $t6, $a3
|
||||
.L7F06AEA0:
|
||||
/* 09F9D0 7F06AEA0 8FB8005C */ lw $t8, 0x5c($sp)
|
||||
/* 09F9D4 7F06AEA4 25AFFFFF */ addiu $t7, $t5, -1
|
||||
/* 09F9D8 7F06AEA8 3C190001 */ lui $t9, 1
|
||||
/* 09F9DC 7F06AEAC 13000003 */ beqz $t8, .L7F06AEBC
|
||||
/* 09F9E0 7F06AEB0 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F9E4 7F06AEB4 03242023 */ subu $a0, $t9, $a0
|
||||
/* 09F9E8 7F06AEB8 01C84023 */ subu $t0, $t6, $t0
|
||||
.L7F06AEBC:
|
||||
/* 09F9EC 7F06AEBC 11800022 */ beqz $t4, .L7F06AF48
|
||||
/* 09F9F0 7F06AEC0 31390FFF */ andi $t9, $t1, 0xfff
|
||||
/* 09F9F4 7F06AEC4 31380FFF */ andi $t8, $t1, 0xfff
|
||||
/* 09F9F8 7F06AEC8 0018CB00 */ sll $t9, $t8, 0xc
|
||||
/* 09F9FC 7F06AECC 3C01E500 */ lui $at, 0xe500
|
||||
/* 09FA00 7F06AED0 03217825 */ or $t7, $t9, $at
|
||||
/* 09FA04 7F06AED4 314E0FFF */ andi $t6, $t2, 0xfff
|
||||
/* 09FA08 7F06AED8 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FA0C 7F06AEDC 30B90FFF */ andi $t9, $a1, 0xfff
|
||||
/* 09FA10 7F06AEE0 00406025 */ move $t4, $v0
|
||||
/* 09FA14 7F06AEE4 AD980000 */ sw $t8, ($t4)
|
||||
/* 09FA18 7F06AEE8 00197B00 */ sll $t7, $t9, 0xc
|
||||
/* 09FA1C 7F06AEEC 30CE0FFF */ andi $t6, $a2, 0xfff
|
||||
/* 09FA20 7F06AEF0 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FA24 7F06AEF4 AD980004 */ sw $t8, 4($t4)
|
||||
/* 09FA28 7F06AEF8 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA2C 7F06AEFC 00406825 */ move $t5, $v0
|
||||
/* 09FA30 7F06AF00 3C19B400 */ lui $t9, 0xb400
|
||||
/* 09FA34 7F06AF04 ADB90000 */ sw $t9, ($t5)
|
||||
/* 09FA38 7F06AF08 3118FFFF */ andi $t8, $t0, 0xffff
|
||||
/* 09FA3C 7F06AF0C 00077400 */ sll $t6, $a3, 0x10
|
||||
/* 09FA40 7F06AF10 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FA44 7F06AF14 ADB90004 */ sw $t9, 4($t5)
|
||||
/* 09FA48 7F06AF18 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA4C 7F06AF1C AFA2000C */ sw $v0, 0xc($sp)
|
||||
/* 09FA50 7F06AF20 8FAE000C */ lw $t6, 0xc($sp)
|
||||
/* 09FA54 7F06AF24 3C0FB300 */ lui $t7, 0xb300
|
||||
/* 09FA58 7F06AF28 0003CC00 */ sll $t9, $v1, 0x10
|
||||
/* 09FA5C 7F06AF2C ADCF0000 */ sw $t7, ($t6)
|
||||
/* 09FA60 7F06AF30 8FB8000C */ lw $t8, 0xc($sp)
|
||||
/* 09FA64 7F06AF34 308FFFFF */ andi $t7, $a0, 0xffff
|
||||
/* 09FA68 7F06AF38 032F7025 */ or $t6, $t9, $t7
|
||||
/* 09FA6C 7F06AF3C 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA70 7F06AF40 10000020 */ b .L7F06AFC4
|
||||
/* 09FA74 7F06AF44 AF0E0004 */ sw $t6, 4($t8)
|
||||
.L7F06AF48:
|
||||
/* 09FA78 7F06AF48 00197B00 */ sll $t7, $t9, 0xc
|
||||
/* 09FA7C 7F06AF4C 3C01E400 */ lui $at, 0xe400
|
||||
/* 09FA80 7F06AF50 01E17025 */ or $t6, $t7, $at
|
||||
/* 09FA84 7F06AF54 31580FFF */ andi $t8, $t2, 0xfff
|
||||
/* 09FA88 7F06AF58 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FA8C 7F06AF5C 30AF0FFF */ andi $t7, $a1, 0xfff
|
||||
/* 09FA90 7F06AF60 00406025 */ move $t4, $v0
|
||||
/* 09FA94 7F06AF64 AD990000 */ sw $t9, ($t4)
|
||||
/* 09FA98 7F06AF68 000F7300 */ sll $t6, $t7, 0xc
|
||||
/* 09FA9C 7F06AF6C 30D80FFF */ andi $t8, $a2, 0xfff
|
||||
/* 09FAA0 7F06AF70 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FAA4 7F06AF74 AD990004 */ sw $t9, 4($t4)
|
||||
/* 09FAA8 7F06AF78 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FAAC 7F06AF7C 00406825 */ move $t5, $v0
|
||||
/* 09FAB0 7F06AF80 3C0FB400 */ lui $t7, 0xb400
|
||||
/* 09FAB4 7F06AF84 ADAF0000 */ sw $t7, ($t5)
|
||||
/* 09FAB8 7F06AF88 3119FFFF */ andi $t9, $t0, 0xffff
|
||||
/* 09FABC 7F06AF8C 0007C400 */ sll $t8, $a3, 0x10
|
||||
/* 09FAC0 7F06AF90 03197825 */ or $t7, $t8, $t9
|
||||
/* 09FAC4 7F06AF94 ADAF0004 */ sw $t7, 4($t5)
|
||||
/* 09FAC8 7F06AF98 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FACC 7F06AF9C AFA20000 */ sw $v0, ($sp)
|
||||
/* 09FAD0 7F06AFA0 8FB80000 */ lw $t8, ($sp)
|
||||
/* 09FAD4 7F06AFA4 3C0EB300 */ lui $t6, 0xb300
|
||||
/* 09FAD8 7F06AFA8 00037C00 */ sll $t7, $v1, 0x10
|
||||
/* 09FADC 7F06AFAC AF0E0000 */ sw $t6, ($t8)
|
||||
/* 09FAE0 7F06AFB0 8FB90000 */ lw $t9, ($sp)
|
||||
/* 09FAE4 7F06AFB4 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* 09FAE8 7F06AFB8 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FAEC 7F06AFBC 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FAF0 7F06AFC0 AF380004 */ sw $t8, 4($t9)
|
||||
.L7F06AFC4:
|
||||
/* 09FAF4 7F06AFC4 00401825 */ move $v1, $v0
|
||||
.L7F06AFC8:
|
||||
/* 09FAF8 7F06AFC8 3C0F0008 */ lui $t7, 8
|
||||
/* 09FAFC 7F06AFCC AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 09FB00 7F06AFD0 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09FB04 7F06AFD4 8FAE0040 */ lw $t6, 0x40($sp)
|
||||
/* 09FB08 7F06AFD8 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FB0C 7F06AFDC ADC20000 */ sw $v0, ($t6)
|
||||
.L7F06AFE0:
|
||||
/* 09FB10 7F06AFE0 03E00008 */ jr $ra
|
||||
/* 09FB14 7F06AFE4 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
f32 display_image_at_on_screen_coord(void *arg0, void *arg2, ?32 arg4, ?32 arg5, ?32 arg6, ?32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) {
|
||||
void *temp_v0;
|
||||
void *phi_v0;
|
||||
f32 phi_return_reg;
|
||||
|
||||
// Node 0
|
||||
phi_return_reg = 0.0f;
|
||||
if (0.0f < *arg2)
|
||||
{
|
||||
// Node 1
|
||||
phi_return_reg = 0.0f;
|
||||
if (0.0f < arg2->unk4)
|
||||
{
|
||||
// Node 2
|
||||
**arg0 = 0xfb000000;
|
||||
*arg0->unk4 = (s32) ((((arg8 << 0x18) | ((arg9 & 0xff) << 0x10)) | ((argA & 0xff) << 8)) | (argB & 0xff));
|
||||
temp_v0 = (*arg0 + 8);
|
||||
if (argC != 0)
|
||||
{
|
||||
// Node 3
|
||||
*temp_v0 = 0xfc26a005;
|
||||
temp_v0->unk4 = 0x1f1493ff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 4
|
||||
if (argD != 0)
|
||||
{
|
||||
// Node 5
|
||||
temp_v0->unk4 = -0x1c8;
|
||||
*temp_v0 = 0xfc129bff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 6
|
||||
*temp_v0 = 0xfc129a25;
|
||||
temp_v0->unk4 = 0xff37ffff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
}
|
||||
}
|
||||
// Node 7
|
||||
*arg0 = (void *) phi_v0;
|
||||
phi_return_reg = sub_GAME_7F06ABB0(arg4, arg5, arg6, arg7);
|
||||
}
|
||||
}
|
||||
// Node 8
|
||||
return phi_return_reg;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel display_image_at_on_screen_coord
|
||||
/* 09FB18 7F06AFE8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 09FB1C 7F06AFEC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 09FB20 7F06AFF0 44800000 */ mtc1 $zero, $f0
|
||||
/* 09FB24 7F06AFF4 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 09FB28 7F06AFF8 4604003C */ c.lt.s $f0, $f4
|
||||
/* 09FB2C 7F06AFFC 00000000 */ nop
|
||||
/* 09FB30 7F06B000 45020041 */ bc1fl .L7F06B108
|
||||
/* 09FB34 7F06B004 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09FB38 7F06B008 C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* 09FB3C 7F06B00C 4606003C */ c.lt.s $f0, $f6
|
||||
/* 09FB40 7F06B010 00000000 */ nop
|
||||
/* 09FB44 7F06B014 4502003C */ bc1fl .L7F06B108
|
||||
/* 09FB48 7F06B018 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09FB4C 7F06B01C 8C820000 */ lw $v0, ($a0)
|
||||
/* 09FB50 7F06B020 3C0EFB00 */ lui $t6, 0xfb00
|
||||
/* 09FB54 7F06B024 00401825 */ move $v1, $v0
|
||||
/* 09FB58 7F06B028 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 09FB5C 7F06B02C 8FB80048 */ lw $t8, 0x48($sp)
|
||||
/* 09FB60 7F06B030 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* 09FB64 7F06B034 8FAC0050 */ lw $t4, 0x50($sp)
|
||||
/* 09FB68 7F06B038 0018CE00 */ sll $t9, $t8, 0x18
|
||||
/* 09FB6C 7F06B03C 8FB80054 */ lw $t8, 0x54($sp)
|
||||
/* 09FB70 7F06B040 310900FF */ andi $t1, $t0, 0xff
|
||||
/* 09FB74 7F06B044 00095400 */ sll $t2, $t1, 0x10
|
||||
/* 09FB78 7F06B048 318D00FF */ andi $t5, $t4, 0xff
|
||||
/* 09FB7C 7F06B04C 000D7200 */ sll $t6, $t5, 8
|
||||
/* 09FB80 7F06B050 032A5825 */ or $t3, $t9, $t2
|
||||
/* 09FB84 7F06B054 016E7825 */ or $t7, $t3, $t6
|
||||
/* 09FB88 7F06B058 330800FF */ andi $t0, $t8, 0xff
|
||||
/* 09FB8C 7F06B05C 01E84825 */ or $t1, $t7, $t0
|
||||
/* 09FB90 7F06B060 AC690004 */ sw $t1, 4($v1)
|
||||
/* 09FB94 7F06B064 8FB90058 */ lw $t9, 0x58($sp)
|
||||
/* 09FB98 7F06B068 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FB9C 7F06B06C 00401825 */ move $v1, $v0
|
||||
/* 09FBA0 7F06B070 13200009 */ beqz $t9, .L7F06B098
|
||||
/* 09FBA4 7F06B074 8FAD005C */ lw $t5, 0x5c($sp)
|
||||
/* 09FBA8 7F06B078 3C0AFC26 */ lui $t2, (0xFC26A005 >> 16) # lui $t2, 0xfc26
|
||||
/* 09FBAC 7F06B07C 3C0C1F14 */ lui $t4, (0x1F1493FF >> 16) # lui $t4, 0x1f14
|
||||
/* 09FBB0 7F06B080 358C93FF */ ori $t4, (0x1F1493FF & 0xFFFF) # ori $t4, $t4, 0x93ff
|
||||
/* 09FBB4 7F06B084 354AA005 */ ori $t2, (0xFC26A005 & 0xFFFF) # ori $t2, $t2, 0xa005
|
||||
/* 09FBB8 7F06B088 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 09FBBC 7F06B08C AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 09FBC0 7F06B090 10000012 */ b .L7F06B0DC
|
||||
/* 09FBC4 7F06B094 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B098:
|
||||
/* 09FBC8 7F06B098 11A00009 */ beqz $t5, .L7F06B0C0
|
||||
/* 09FBCC 7F06B09C 00401825 */ move $v1, $v0
|
||||
/* 09FBD0 7F06B0A0 00401825 */ move $v1, $v0
|
||||
/* 09FBD4 7F06B0A4 3C0BFC12 */ lui $t3, (0xFC129BFF >> 16) # lui $t3, 0xfc12
|
||||
/* 09FBD8 7F06B0A8 356B9BFF */ ori $t3, (0xFC129BFF & 0xFFFF) # ori $t3, $t3, 0x9bff
|
||||
/* 09FBDC 7F06B0AC 240EFE38 */ li $t6, -456
|
||||
/* 09FBE0 7F06B0B0 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 09FBE4 7F06B0B4 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09FBE8 7F06B0B8 10000008 */ b .L7F06B0DC
|
||||
/* 09FBEC 7F06B0BC 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B0C0:
|
||||
/* 09FBF0 7F06B0C0 3C18FC12 */ lui $t8, (0xFC129A25 >> 16) # lui $t8, 0xfc12
|
||||
/* 09FBF4 7F06B0C4 3C0FFF37 */ lui $t7, (0xFF37FFFF >> 16) # lui $t7, 0xff37
|
||||
/* 09FBF8 7F06B0C8 35EFFFFF */ ori $t7, (0xFF37FFFF & 0xFFFF) # ori $t7, $t7, 0xffff
|
||||
/* 09FBFC 7F06B0CC 37189A25 */ ori $t8, (0xFC129A25 & 0xFFFF) # ori $t8, $t8, 0x9a25
|
||||
/* 09FC00 7F06B0D0 AC780000 */ sw $t8, ($v1)
|
||||
/* 09FC04 7F06B0D4 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 09FC08 7F06B0D8 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B0DC:
|
||||
/* 09FC0C 7F06B0DC AC820000 */ sw $v0, ($a0)
|
||||
/* 09FC10 7F06B0E0 8FAA0044 */ lw $t2, 0x44($sp)
|
||||
/* 09FC14 7F06B0E4 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* 09FC18 7F06B0E8 8FA9003C */ lw $t1, 0x3c($sp)
|
||||
/* 09FC1C 7F06B0EC 8FA80038 */ lw $t0, 0x38($sp)
|
||||
/* 09FC20 7F06B0F0 AFAA001C */ sw $t2, 0x1c($sp)
|
||||
/* 09FC24 7F06B0F4 AFB90018 */ sw $t9, 0x18($sp)
|
||||
/* 09FC28 7F06B0F8 AFA90014 */ sw $t1, 0x14($sp)
|
||||
/* 09FC2C 7F06B0FC 0FC1AAEC */ jal sub_GAME_7F06ABB0
|
||||
/* 09FC30 7F06B100 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 09FC34 7F06B104 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L7F06B108:
|
||||
/* 09FC38 7F06B108 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 09FC3C 7F06B10C 03E00008 */ jr $ra
|
||||
/* 09FC40 7F06B110 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
||||
#ifndef _CHEAT_BUTTONS_H_
|
||||
#define _CHEAT_BUTTONS_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct struct_15 {
|
||||
char anonymous_0;
|
||||
char field_1;
|
||||
char field_2;
|
||||
char field_3;
|
||||
void * anonymous_1;
|
||||
int anonymous_2;
|
||||
int anonymous_3;
|
||||
};
|
||||
|
||||
#endif
|
||||
+7567
File diff suppressed because it is too large
Load Diff
+190
@@ -0,0 +1,190 @@
|
||||
#ifndef _CHR_H_
|
||||
#define _CHR_H_
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
|
||||
struct animation_something
|
||||
{
|
||||
s32 anonymous_0;
|
||||
s32 field_4;
|
||||
s32 field_8;
|
||||
f32 field_C;
|
||||
s32 field_10;
|
||||
s32 field_14;
|
||||
f32 field_18;
|
||||
struct struck_animation_table *field_1C;
|
||||
s32 field_20;
|
||||
struct struck_animation_table *field_24;
|
||||
s32 field_28;
|
||||
};
|
||||
|
||||
struct struck_animation_table
|
||||
{
|
||||
void *anonymous_0;
|
||||
s32 anonymous_1;
|
||||
f32 anonymous_2;
|
||||
f32 anonymous_3;
|
||||
s32 anonymous_4;
|
||||
f32 sfx1_timer_60;
|
||||
f32 sfx2_timer_60;
|
||||
};
|
||||
|
||||
struct explosion_death_animation
|
||||
{
|
||||
s32 anonymous_0;
|
||||
s32 anonymous_1;
|
||||
f32 anonymous_2;
|
||||
f32 anonymous_3;
|
||||
f32 anonymous_4;
|
||||
f32 anonymous_5;
|
||||
f32 anonymous_6;
|
||||
};
|
||||
|
||||
struct explosion_animation
|
||||
{
|
||||
void *explosion_death_animation;
|
||||
s32 count;
|
||||
};
|
||||
|
||||
struct weapon_firing_animation_table
|
||||
{
|
||||
s32 anonymous_0;
|
||||
f32 anonymous_1;
|
||||
f32 anonymous_2;
|
||||
f32 anonymous_3;
|
||||
f32 anonymous_4;
|
||||
f32 anonymous_5;
|
||||
f32 anonymous_6;
|
||||
f32 anonymous_7;
|
||||
f32 anonymous_8;
|
||||
f32 anonymous_9;
|
||||
f32 anonymous_10;
|
||||
f32 anonymous_11;
|
||||
f32 anonymous_12;
|
||||
f32 anonymous_13;
|
||||
f32 anonymous_14;
|
||||
f32 anonymous_15;
|
||||
f32 anonymous_16;
|
||||
f32 anonymous_17;
|
||||
};
|
||||
|
||||
|
||||
extern struct animation_something D_8002C914;
|
||||
|
||||
|
||||
extern struct struck_animation_table D_8002CE54[];
|
||||
extern struct struck_animation_table D_8002DF10[];
|
||||
extern struct struck_animation_table D_8002CEE0[];
|
||||
extern struct struck_animation_table D_8002DF64[];
|
||||
extern struct struck_animation_table D_8002CF6C[];
|
||||
extern struct struck_animation_table D_8002DFB8[];
|
||||
extern struct struck_animation_table D_8002D014[];
|
||||
extern struct struck_animation_table D_8002E028[];
|
||||
extern struct struck_animation_table D_8002D0A0[];
|
||||
extern struct struck_animation_table D_8002E07C[];
|
||||
extern struct struck_animation_table D_8002D12C[];
|
||||
extern struct struck_animation_table D_8002E0D0[];
|
||||
extern struct struck_animation_table D_8002D1D4[];
|
||||
extern struct struck_animation_table D_8002E140[];
|
||||
extern struct struck_animation_table D_8002D3B0[];
|
||||
extern struct struck_animation_table D_8002E23C[];
|
||||
extern struct struck_animation_table D_8002D6DC[];
|
||||
extern struct struck_animation_table D_8002E300[];
|
||||
extern struct struck_animation_table D_8002D768[];
|
||||
extern struct struck_animation_table D_8002E354[];
|
||||
extern struct struck_animation_table D_8002D7F4[];
|
||||
extern struct struck_animation_table D_8002E3A8[];
|
||||
extern struct struck_animation_table D_8002D880[];
|
||||
extern struct struck_animation_table D_8002E418[];
|
||||
extern struct struck_animation_table D_8002D90C[];
|
||||
extern struct struck_animation_table D_8002E46C[];
|
||||
extern struct struck_animation_table D_8002D998[];
|
||||
extern struct struck_animation_table D_8002E4C0[];
|
||||
extern struct struck_animation_table D_8002DA24[];
|
||||
extern struct struck_animation_table D_8002E530[];
|
||||
extern struct struck_animation_table D_8002DCE0[];
|
||||
extern struct struck_animation_table D_8002E5BC[];
|
||||
|
||||
extern struct weapon_firing_animation_table rifle_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table rifle_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table rifle_firing_animation_group5[];
|
||||
extern struct weapon_firing_animation_table rifle_firing_animation_group3[];
|
||||
extern struct weapon_firing_animation_table rifle_firing_animation_group4[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group3[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group6[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group4[];
|
||||
extern struct weapon_firing_animation_table pistol_firing_animation_group5[];
|
||||
extern struct weapon_firing_animation_table doubles_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table doubles_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table doubles_firing_animation_group3[];
|
||||
extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table crouched_rifle_firing_animation_groupA[];
|
||||
extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group3[];
|
||||
extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group3[];
|
||||
extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group1[];
|
||||
extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group2[];
|
||||
extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group3[];
|
||||
|
||||
|
||||
extern struct weapon_firing_animation_table D_80030078;
|
||||
extern struct weapon_firing_animation_table D_800300C0;
|
||||
extern struct weapon_firing_animation_table D_80030108;
|
||||
extern struct weapon_firing_animation_table D_80030150;
|
||||
extern struct weapon_firing_animation_table D_80030198;
|
||||
extern struct weapon_firing_animation_table D_800301E0;
|
||||
extern struct weapon_firing_animation_table D_80030228;
|
||||
extern struct weapon_firing_animation_table D_80030270;
|
||||
extern struct weapon_firing_animation_table D_800302B8;
|
||||
extern struct weapon_firing_animation_table D_80030300;
|
||||
extern struct weapon_firing_animation_table D_80030348;
|
||||
extern struct weapon_firing_animation_table D_80030390;
|
||||
extern struct weapon_firing_animation_table D_800303D8;
|
||||
extern struct weapon_firing_animation_table D_80030420;
|
||||
extern struct weapon_firing_animation_table D_80030468;
|
||||
extern struct weapon_firing_animation_table D_800304B0;
|
||||
extern struct weapon_firing_animation_table D_800304F8;
|
||||
extern struct weapon_firing_animation_table D_80030540;
|
||||
extern struct weapon_firing_animation_table D_80030588;
|
||||
extern struct weapon_firing_animation_table D_800305D0;
|
||||
extern struct weapon_firing_animation_table D_80030618;
|
||||
extern struct weapon_firing_animation_table D_80030660;
|
||||
extern struct weapon_firing_animation_table D_800306A8;
|
||||
extern struct weapon_firing_animation_table D_800306F0;
|
||||
extern struct weapon_firing_animation_table D_80030738;
|
||||
extern struct weapon_firing_animation_table D_80030780;
|
||||
extern struct weapon_firing_animation_table D_800307C8;
|
||||
extern struct weapon_firing_animation_table D_80030810;
|
||||
extern struct weapon_firing_animation_table D_80030858;
|
||||
extern struct weapon_firing_animation_table D_800308A0;
|
||||
extern struct weapon_firing_animation_table D_800308E8;
|
||||
extern struct weapon_firing_animation_table D_80030930;
|
||||
|
||||
extern f32 animation_rate;
|
||||
extern s32 D_8002C904;
|
||||
extern s32 D_8002C908;
|
||||
extern s32 D_8002C90C;
|
||||
extern s32 D_8002C910;
|
||||
|
||||
extern s32 D_8002CC58;
|
||||
extern s32 show_patrols_flag;
|
||||
extern s32 player1_guardID;
|
||||
extern s32 ptr_guard_data;
|
||||
extern s32 num_guards;
|
||||
extern s32 D_8002CC6C[];
|
||||
extern s32 D_8002CCA8;
|
||||
extern s32 D_8002CCAC;
|
||||
extern s32 D_8002CCB0;
|
||||
extern s32 D_8002CCB4;
|
||||
extern u8 D_8002CCB8;
|
||||
extern s32 num_bodies;
|
||||
extern s32 num_male_heads;
|
||||
extern s32 num_female_heads;
|
||||
extern s32 list_of_bodies[];
|
||||
extern s32 random_male_heads[];
|
||||
extern s32 random_female_heads[];
|
||||
#endif
|
||||
+23191
File diff suppressed because it is too large
Load Diff
+21577
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,113 @@
|
||||
#ifndef _CHRAI_H_
|
||||
#define _CHRAI_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct sfx_register_struct {
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
};
|
||||
|
||||
struct struct_0 {
|
||||
int anonymous_0;
|
||||
int anonymous_1;
|
||||
int anonymous_2;
|
||||
int anonymous_3;
|
||||
int anonymous_4;
|
||||
void * anonymous_5;
|
||||
int anonymous_6;
|
||||
};
|
||||
|
||||
struct struct_5 {
|
||||
int anonymous_0;
|
||||
void * anonymous_1;
|
||||
int anonymous_2;
|
||||
};
|
||||
|
||||
struct struct_12 {
|
||||
int anonymous_0;
|
||||
char anonymous_1;
|
||||
char anonymous_2;
|
||||
char anonymous_3;
|
||||
char anonymous_4;
|
||||
int anonymous_5;
|
||||
int anonymous_6;
|
||||
void * anonymous_7;
|
||||
};
|
||||
|
||||
struct struct_16 {
|
||||
int anonymous_0;
|
||||
int anonymous_1;
|
||||
int anonymous_2;
|
||||
int anonymous_3;
|
||||
int anonymous_4;
|
||||
int anonymous_5;
|
||||
void * anonymous_6;
|
||||
};
|
||||
|
||||
struct struct_20 {
|
||||
int anonymous_0;
|
||||
int anonymous_1;
|
||||
int anonymous_2;
|
||||
int anonymous_3;
|
||||
int anonymous_4;
|
||||
int anonymous_5;
|
||||
int anonymous_6;
|
||||
int anonymous_7;
|
||||
int anonymous_8;
|
||||
int anonymous_9;
|
||||
int anonymous_10;
|
||||
int anonymous_11;
|
||||
int anonymous_12;
|
||||
int anonymous_13;
|
||||
int anonymous_14;
|
||||
int anonymous_15;
|
||||
int anonymous_16;
|
||||
int anonymous_17;
|
||||
int anonymous_18;
|
||||
void * anonymous_19;
|
||||
};
|
||||
|
||||
extern u32 D_800312A0[];
|
||||
extern u32 D_800312B4[];
|
||||
extern u32 D_800312C8[];
|
||||
extern u32 D_800312F4[];
|
||||
extern u32 D_80031310[];
|
||||
extern struct struct_5 D_80031950[];
|
||||
extern struct struct_0 D_800319D4;
|
||||
extern struct struct_0 D_800319F0;
|
||||
extern struct struct_0 D_80031A0C;
|
||||
extern struct struct_0 D_80031A28;
|
||||
extern struct struct_0 D_80031A44;
|
||||
extern struct struct_0 D_80031A60;
|
||||
extern struct struct_0 D_80031A7C;
|
||||
extern struct struct_0 D_80031A98;
|
||||
extern struct struct_0 D_80031AB4;
|
||||
extern struct struct_0 D_80031AD0;
|
||||
extern struct struct_5 D_80031AEC[];
|
||||
extern struct struct_12 D_80031B10[];
|
||||
extern struct struct_12 D_80031B24[];
|
||||
extern struct struct_12 D_80031B38[];
|
||||
extern struct struct_12 D_80031B4C[];
|
||||
extern u32 D_80031B60[];
|
||||
extern struct struct_16 D_80031BB4;
|
||||
extern struct struct_16 D_80031BD0;
|
||||
extern struct struct_16 D_80031BEC;
|
||||
extern u32 D_80031C08[];
|
||||
extern u32 D_80031C80[];
|
||||
extern u32 D_80031D30[];
|
||||
extern struct struct_20 D_80031D58;
|
||||
extern u32 monitor_animation_microcode[];
|
||||
extern u32 dword_D_80031F00[];
|
||||
extern u32 dword_D_80031F44[];
|
||||
extern f32 gas_damage_flag;
|
||||
extern u32 gas_cutoff_flag;
|
||||
extern struct object_standard * ptr_setup_objects;
|
||||
void stop_alarm(void);
|
||||
|
||||
void check_deactivate_gas_sound(void);
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,679 @@
|
||||
#ifndef _CHROBJDATA_H_
|
||||
#define _CHROBJDATA_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct prop_pos_data {
|
||||
u16 x;
|
||||
u16 y;
|
||||
u16 z;
|
||||
};
|
||||
|
||||
struct item_related {
|
||||
short num_entries_in_block;
|
||||
short field_2;
|
||||
struct prop_pos_data * ptr_block;
|
||||
short total_cmd_indexval;
|
||||
short field_A;
|
||||
};
|
||||
|
||||
struct Gitemheader {
|
||||
int offset_objtable;
|
||||
void * guntype_modeldata;
|
||||
int offset_objblock;
|
||||
u16 num05soffset_entries;
|
||||
u16 num_objgroups;
|
||||
float drawdistance;
|
||||
u16 num_entries;
|
||||
u16 num_images;
|
||||
int offset_imgdecl;
|
||||
u32 isloaded;
|
||||
};
|
||||
|
||||
|
||||
struct PitemZ_header {
|
||||
s32 microcode_entry_num;
|
||||
struct item_related * anonymous_1;
|
||||
short anonymous_2;
|
||||
short field_E;
|
||||
s32 drawdistance;
|
||||
float anonymous_4;
|
||||
s32 anonymous_5;
|
||||
s32 anonymous_6;
|
||||
s32 anonymous_7;
|
||||
};
|
||||
|
||||
struct p_itementry {
|
||||
struct PitemZ_header * header;
|
||||
char * filename;
|
||||
float scale;
|
||||
};
|
||||
|
||||
struct object_header {
|
||||
int offset_obj_table;
|
||||
void * ptr_archetype;
|
||||
int offset_obj_offset_block;
|
||||
short num_offset_entries;
|
||||
short num_object_grps;
|
||||
float anonymous_4;
|
||||
short num_table_entries;
|
||||
short num_image_entries;
|
||||
int offset_img_declaration;
|
||||
int is_loaded_in_mem;
|
||||
};
|
||||
|
||||
struct c_itementry {
|
||||
struct object_header * header;
|
||||
char * filename;
|
||||
float anonymous_1;
|
||||
float anonymous_2;
|
||||
int anonymous_3;
|
||||
};
|
||||
|
||||
struct model_data {
|
||||
u32 anonymous_0;
|
||||
u32 *propposdata;
|
||||
u32 anonymous_2;
|
||||
};
|
||||
|
||||
struct player_gait_header {
|
||||
u8 field_0x0;
|
||||
u8 type;
|
||||
u16 field_0x2;
|
||||
struct player_gait_object_entry * field_0x4;
|
||||
struct player_gait_pos_header * previous;
|
||||
void * field_0xc;
|
||||
void * field_0x10;
|
||||
struct player_gait_pos_header * next;
|
||||
};
|
||||
|
||||
struct player_gait_pos_header {
|
||||
u8 field_0x0;
|
||||
u8 type;
|
||||
u16 field_0x2;
|
||||
struct player_gait_position_entry * field_0x4;
|
||||
struct player_gait_pos_header * previous;
|
||||
void * field_0xc;
|
||||
void * field_0x10;
|
||||
struct player_gait_pos_header * next;
|
||||
};
|
||||
|
||||
struct player_gait_object_entry {
|
||||
u32 field_0x0;
|
||||
struct player_gait_pos_header * ptr_header;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
};
|
||||
|
||||
struct player_gait_position_entry {
|
||||
float z_scale;
|
||||
float y_offset;
|
||||
float xy_scale;
|
||||
u16 field_0xc;
|
||||
u16 field_0xe;
|
||||
u16 field_0x10;
|
||||
u16 field_0x12;
|
||||
struct player_gait_pos_header * ptr_header;
|
||||
u32 field_0x18;
|
||||
};
|
||||
|
||||
struct struct_13 {
|
||||
void * ailist;
|
||||
int ailistid;
|
||||
};
|
||||
|
||||
struct headHat
|
||||
{
|
||||
float xoffset;
|
||||
float yoffset;
|
||||
float zoffset;
|
||||
float xsize;
|
||||
float ysize;
|
||||
float zsize;
|
||||
};
|
||||
|
||||
extern struct p_itementry PitemZ_entries[];
|
||||
|
||||
extern struct item_related prop_cctv_related;
|
||||
extern struct item_related prop_console_one_screen_related;
|
||||
extern struct item_related prop_console_four_screen_related;
|
||||
extern struct item_related prop_tv_holder_related;
|
||||
extern struct item_related prop_rotating_stuff_related;
|
||||
extern struct item_related prop_eyelid_door_related;
|
||||
extern struct item_related prop_iris_door_related;
|
||||
extern struct item_related prop_walletbond_related;
|
||||
extern struct item_related prop_car_related;
|
||||
extern struct item_related prop_flying_related;
|
||||
extern struct item_related prop_door_related;
|
||||
extern struct item_related item_tank_related;
|
||||
extern struct item_related item_hat_related;
|
||||
extern struct item_related model_object_standard_object;
|
||||
extern struct item_related prop_weapon_related;
|
||||
extern struct model_data model_guard_character;
|
||||
extern struct player_gait_header player_gait_hdr;
|
||||
extern struct player_gait_pos_header player_gait_pos_hdr_1;
|
||||
extern struct player_gait_pos_header player_gait_pos_hdr_2;
|
||||
extern struct player_gait_pos_header player_gait_pos_hdr_3;
|
||||
extern struct player_gait_object_entry player_gait_obj;
|
||||
extern struct player_gait_position_entry player_gait_pos_1;
|
||||
extern struct player_gait_position_entry player_gait_pos_2;
|
||||
extern struct player_gait_position_entry player_gait_pos_3;
|
||||
|
||||
extern struct object_header player_gait_object;
|
||||
|
||||
extern struct Gitemheader GwppkZ_struct;
|
||||
extern struct Gitemheader GwppksilZ_struct;
|
||||
extern struct Gitemheader Gtt33Z_struct;
|
||||
extern struct Gitemheader GskorpianZ_struct;
|
||||
extern struct Gitemheader Gak47Z_struct;
|
||||
extern struct Gitemheader GuziZ_struct;
|
||||
extern struct Gitemheader Gmp5kZ_struct;
|
||||
extern struct Gitemheader Gmp5ksilZ_struct;
|
||||
extern struct Gitemheader Gm16Z_struct;
|
||||
extern struct Gitemheader Gfnp90Z_struct;
|
||||
extern struct Gitemheader G8003C900_struct;
|
||||
extern struct Gitemheader GrugerZ_struct;
|
||||
extern struct Gitemheader GgoldengunZ_struct;
|
||||
extern struct Gitemheader GshotgunZ_struct;
|
||||
extern struct Gitemheader GautoshotZ_struct;
|
||||
extern struct Gitemheader GgrenadelaunchZ_struct;
|
||||
extern struct Gitemheader GspectreZ_struct;
|
||||
extern struct Gitemheader GlaserZ_struct;
|
||||
extern struct Gitemheader GrocketlaunchZ_struct;
|
||||
extern struct Gitemheader GknifeZ_header;
|
||||
extern struct Gitemheader GthrowknifeZ_struct;
|
||||
extern struct Gitemheader GtaserZ_struct;
|
||||
extern struct Gitemheader GremotemineZ_struct;
|
||||
extern struct Gitemheader GproximitymineZ_struct;
|
||||
extern struct Gitemheader GtimedmineZ_struct;
|
||||
extern struct Gitemheader GtriggerZ_struct;
|
||||
extern struct Gitemheader GgrenadeZ_struct;
|
||||
extern struct Gitemheader GfistZ_header;
|
||||
extern struct Gitemheader GsniperrifleZ_struct;
|
||||
extern struct Gitemheader GcartridgeZ_struct;
|
||||
extern struct Gitemheader GcartrifleZ_struct;
|
||||
extern struct Gitemheader GcartblueZ_struct;
|
||||
extern struct Gitemheader GcartshellZ_struct;
|
||||
extern struct Gitemheader GjoypadZ_struct;
|
||||
extern struct Gitemheader G8003CC00_struct;
|
||||
extern struct Gitemheader G8003CC20_struct;
|
||||
extern struct Gitemheader GbombcaseZ_struct;
|
||||
extern struct Gitemheader GflarepistolZ_struct;
|
||||
extern struct Gitemheader GpitongunZ_struct;
|
||||
extern struct Gitemheader G8003CCA0_struct;
|
||||
extern struct Gitemheader GsilverwppkZ_struct;
|
||||
extern struct Gitemheader GgoldwppkZ_struct;
|
||||
extern struct Gitemheader G8003CD00_struct;
|
||||
extern struct Gitemheader GbungeeZ_struct;
|
||||
extern struct Gitemheader GdoordecoderZ_struct;
|
||||
extern struct Gitemheader GbombdefuserZ_struct;
|
||||
extern struct Gitemheader GbugdetectorZ_struct;
|
||||
extern struct Gitemheader GsafecrackercaseZ_struct;
|
||||
extern struct Gitemheader GcameraZ_struct;
|
||||
extern struct Gitemheader GlockexploderZ_struct;
|
||||
extern struct Gitemheader GdoorexploderZ_struct;
|
||||
extern struct Gitemheader GkeyanalysercaseZ_struct;
|
||||
extern struct Gitemheader GweaponcaseZ_struct;
|
||||
extern struct Gitemheader GkeycardZ_struct;
|
||||
extern struct Gitemheader GkeyyaleZ_struct;
|
||||
extern struct Gitemheader GkeyboltZ_struct;
|
||||
extern struct Gitemheader GbugZ_struct;
|
||||
extern struct Gitemheader GmicrocameraZ_struct;
|
||||
extern struct Gitemheader GexplosivefloppyZ_struct;
|
||||
extern struct Gitemheader GgoldeneyekeyZ_struct;
|
||||
extern struct Gitemheader GpolarizedglassesZ_struct;
|
||||
extern struct Gitemheader GcreditcardZ_struct;
|
||||
extern struct Gitemheader GdarkglassesZ_struct;
|
||||
extern struct Gitemheader GwatchidentifierZ_struct;
|
||||
extern struct Gitemheader GwatchcommunicatorZ_struct;
|
||||
extern struct Gitemheader GwatchlaserZ_struct;
|
||||
extern struct Gitemheader GwatchgeigercounterZ_struct;
|
||||
extern struct Gitemheader GwatchmagnetrepelZ_struct;
|
||||
extern struct Gitemheader GwatchmagnetattractZ_struct;
|
||||
extern struct Gitemheader GgaskeyringZ_struct;
|
||||
extern struct Gitemheader GdatathiefZ_struct;
|
||||
extern struct Gitemheader GbriefcaseZ_struct;
|
||||
extern struct Gitemheader GblackboxZ_struct;
|
||||
extern struct Gitemheader GplastiqueZ_struct;
|
||||
extern struct Gitemheader GvideotapeZ_struct;
|
||||
extern struct Gitemheader GclipboardZ_struct;
|
||||
extern struct Gitemheader GstafflistZ_struct;
|
||||
extern struct Gitemheader GdossierredZ_struct;
|
||||
extern struct Gitemheader GaudiotapeZ_struct;
|
||||
extern struct Gitemheader GdattapeZ_struct;
|
||||
extern struct Gitemheader GplansZ_struct;
|
||||
extern struct Gitemheader GspyfileZ_struct;
|
||||
extern struct Gitemheader GblueprintsZ_struct;
|
||||
extern struct Gitemheader GcircuitboardZ_struct;
|
||||
extern struct Gitemheader GmapZ_struct;
|
||||
extern struct Gitemheader GspooltapeZ_struct;
|
||||
extern struct Gitemheader GmicrofilmZ_struct;
|
||||
extern struct Gitemheader GmicrocodeZ_struct;
|
||||
extern struct Gitemheader GlectreZ_struct;
|
||||
extern struct Gitemheader GmoneyZ_struct;
|
||||
extern struct Gitemheader GgoldbarZ_struct;
|
||||
extern struct Gitemheader GheroinZ_struct;
|
||||
extern struct model_data weapon_gun_controller;
|
||||
|
||||
extern struct object_header CcamguardZ_struct;
|
||||
extern struct object_header CgreyguardZ_struct;
|
||||
extern struct object_header ColiveguardZ_struct;
|
||||
extern struct object_header CrusguardZ_struct;
|
||||
extern struct object_header CtrevguardZ_struct;
|
||||
extern struct object_header CborisZ_struct;
|
||||
extern struct object_header CorumovZ_struct;
|
||||
extern struct object_header CtrevelyanZ_struct;
|
||||
extern struct object_header CboilertrevZ_struct;
|
||||
extern struct object_header CvalentinZ_struct;
|
||||
extern struct object_header CxeniaZ_struct;
|
||||
extern struct object_header CbaronsamediZ_struct;
|
||||
extern struct object_header CjawsZ_struct;
|
||||
extern struct object_header CmaydayZ_struct;
|
||||
extern struct object_header CoddjobZ_struct;
|
||||
extern struct object_header CnatalyaZ_struct;
|
||||
extern struct object_header CarmourguardZ_struct;
|
||||
extern struct object_header CcommguardZ_struct;
|
||||
extern struct object_header CgreatguardZ_struct;
|
||||
extern struct object_header CnavyguardZ_struct;
|
||||
extern struct object_header CsnowguardZ_struct;
|
||||
extern struct object_header CbluewomanZ_struct;
|
||||
extern struct object_header CfattechwomanZ_struct;
|
||||
extern struct object_header CtechwomanZ_struct;
|
||||
extern struct object_header CjeanwomanZ_struct;
|
||||
extern struct object_header CgreymanZ_struct;
|
||||
extern struct object_header CbluemanZ_struct;
|
||||
extern struct object_header CredmanZ_struct;
|
||||
extern struct object_header CcardimanZ_struct;
|
||||
extern struct object_header CcheckmanZ_struct;
|
||||
extern struct object_header CtechmanZ_struct;
|
||||
extern struct object_header CpilotZ_struct;
|
||||
extern struct object_header Cgreatguard2Z_struct;
|
||||
extern struct object_header CbluecamguardZ_struct;
|
||||
extern struct object_header CmoonguardZ_struct;
|
||||
extern struct object_header CmoonfemaleZ_struct;
|
||||
extern struct object_header CboilerbondZ_struct;
|
||||
extern struct object_header CsuitbondZ_struct;
|
||||
extern struct object_header CtimberbondZ_struct;
|
||||
extern struct object_header CsnowbondZ_struct;
|
||||
extern struct object_header CdjbondZ_struct;
|
||||
extern struct object_header Csuit_lf_handz_struct;
|
||||
extern struct object_header CheadkarlZ_struct;
|
||||
extern struct object_header CheadalanZ_struct;
|
||||
extern struct object_header CheadpeteZ_struct;
|
||||
extern struct object_header CheadmartinZ_struct;
|
||||
extern struct object_header stru_D_8003D9D0;
|
||||
extern struct object_header stru_D_8003D9F0;
|
||||
extern struct object_header stru_D_8003DA10;
|
||||
extern struct object_header stru_D_8003DA30;
|
||||
extern struct object_header stru_D_8003DA50;
|
||||
extern struct object_header stru_D_8003DA70;
|
||||
extern struct object_header stru_D_8003DA90;
|
||||
extern struct object_header stru_D_8003DAB0;
|
||||
extern struct object_header stru_D_8003DAD0;
|
||||
extern struct object_header stru_D_8003DAF0;
|
||||
extern struct object_header stru_D_8003DB10;
|
||||
extern struct object_header stru_D_8003DB30;
|
||||
extern struct object_header stru_D_8003DB50;
|
||||
extern struct object_header stru_D_8003DB70;
|
||||
extern struct object_header stru_D_8003DB90;
|
||||
extern struct object_header stru_D_8003DBB0;
|
||||
extern struct object_header stru_D_8003DBD0;
|
||||
extern struct object_header stru_D_8003DBF0;
|
||||
extern struct object_header stru_D_8003DC10;
|
||||
extern struct object_header stru_D_8003DC30;
|
||||
extern struct object_header stru_D_8003DC50;
|
||||
extern struct object_header stru_D_8003DC70;
|
||||
extern struct object_header stru_D_8003DC90;
|
||||
extern struct object_header stru_D_8003DCB0;
|
||||
extern struct object_header stru_D_8003DCD0;
|
||||
extern struct object_header stru_D_8003DCF0;
|
||||
extern struct object_header stru_D_8003DD10;
|
||||
extern struct object_header stru_D_8003DD30;
|
||||
extern struct object_header stru_D_8003DD50;
|
||||
extern struct object_header CheadbrosnansuitZ_struct;
|
||||
extern struct object_header CheadbrosnantimberZ_struct;
|
||||
extern struct object_header CheadbrosnansnowZ_struct;
|
||||
extern struct object_header CheadbrosnanZ_struct;
|
||||
extern struct object_header CspicebondZ_struct;
|
||||
|
||||
extern struct PitemZ_header Palarm1z_header;
|
||||
extern struct PitemZ_header Palarm2Z_header;
|
||||
extern struct PitemZ_header PexplosionbitZ_header;
|
||||
extern struct PitemZ_header Pammo_crate1Z_header;
|
||||
extern struct PitemZ_header Pammo_crate2Z_header;
|
||||
extern struct PitemZ_header Pammo_crate3Z_header;
|
||||
extern struct PitemZ_header Pammo_crate4Z_header;
|
||||
extern struct PitemZ_header Pammo_crate5Z_header;
|
||||
extern struct PitemZ_header Pbin1Z_header;
|
||||
extern struct PitemZ_header Pblotter1Z_header;
|
||||
extern struct PitemZ_header Pbook1Z_header;
|
||||
extern struct PitemZ_header Pbookshelf1Z_header;
|
||||
extern struct PitemZ_header Pbridge_console1aZ_header;
|
||||
extern struct PitemZ_header Pbridge_console1bZ_header;
|
||||
extern struct PitemZ_header Pbridge_console2aZ_header;
|
||||
extern struct PitemZ_header Pbridge_console2bZ_header;
|
||||
extern struct PitemZ_header Pbridge_console3aZ_header;
|
||||
extern struct PitemZ_header Pbridge_console3bZ_header;
|
||||
extern struct PitemZ_header Pcard_box1Z_header;
|
||||
extern struct PitemZ_header Pcard_box2Z_header;
|
||||
extern struct PitemZ_header Pcard_box3Z_header;
|
||||
extern struct PitemZ_header Pcard_box4_lgZ_header;
|
||||
extern struct PitemZ_header Pcard_box5_lgZ_header;
|
||||
extern struct PitemZ_header Pcard_box6_lgZ_header;
|
||||
extern struct PitemZ_header PcctvZ_header;
|
||||
extern struct PitemZ_header Pconsole1Z_header;
|
||||
extern struct PitemZ_header Pconsole2Z_header;
|
||||
extern struct PitemZ_header Pconsole3Z_header;
|
||||
extern struct PitemZ_header Pconsole_sevaZ_header;
|
||||
extern struct PitemZ_header Pconsole_sevbZ_header;
|
||||
extern struct PitemZ_header Pconsole_sevcZ_header;
|
||||
extern struct PitemZ_header Pconsole_sevdZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev2aZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev2bZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev2cZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev2dZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev_GEaZ_header;
|
||||
extern struct PitemZ_header Pconsole_sev_GEbZ_header;
|
||||
extern struct PitemZ_header Pdesk1Z_header;
|
||||
extern struct PitemZ_header Pdesk2Z_header;
|
||||
extern struct PitemZ_header Pdesk_lamp2Z_header;
|
||||
extern struct PitemZ_header Pdisc_readerZ_header;
|
||||
extern struct PitemZ_header Pdisk_drive1Z_header;
|
||||
extern struct PitemZ_header Pfiling_cabinet1Z_header;
|
||||
extern struct PitemZ_header Pjerry_can1Z_header;
|
||||
extern struct PitemZ_header Pkeyboard1Z_header;
|
||||
extern struct PitemZ_header Pkit_units1Z_header;
|
||||
extern struct PitemZ_header Pletter_tray1Z_header;
|
||||
extern struct PitemZ_header Pmainframe1Z_header;
|
||||
extern struct PitemZ_header Pmainframe2Z_header;
|
||||
extern struct PitemZ_header Pmetal_chair1Z_header;
|
||||
extern struct PitemZ_header Pmetal_crate1Z_header;
|
||||
extern struct PitemZ_header Pmetal_crate2Z_header;
|
||||
extern struct PitemZ_header Pmetal_crate3Z_header;
|
||||
extern struct PitemZ_header Pmetal_crate4Z_header;
|
||||
extern struct PitemZ_header Pmissile_rackZ_header;
|
||||
extern struct PitemZ_header Pmissile_rack2Z_header;
|
||||
extern struct PitemZ_header Poil_drum1Z_header;
|
||||
extern struct PitemZ_header Poil_drum2Z_header;
|
||||
extern struct PitemZ_header Poil_drum3Z_header;
|
||||
extern struct PitemZ_header Poil_drum5Z_header;
|
||||
extern struct PitemZ_header Poil_drum6Z_header;
|
||||
extern struct PitemZ_header Poil_drum7Z_header;
|
||||
extern struct PitemZ_header PpadlockZ_header;
|
||||
extern struct PitemZ_header Pphone1Z_header;
|
||||
extern struct PitemZ_header Pradio_unit1Z_header;
|
||||
extern struct PitemZ_header Pradio_unit2Z_header;
|
||||
extern struct PitemZ_header Pradio_unit3Z_header;
|
||||
extern struct PitemZ_header Pradio_unit4Z_header;
|
||||
extern struct PitemZ_header Psat1_reflectZ_header;
|
||||
extern struct PitemZ_header PsatdishZ_header;
|
||||
extern struct PitemZ_header PsatboxZ_header;
|
||||
extern struct PitemZ_header Pstool1Z_header;
|
||||
extern struct PitemZ_header Pswivel_chair1Z_header;
|
||||
extern struct PitemZ_header Ptorpedo_rackZ_header;
|
||||
extern struct PitemZ_header Ptv1Z_header;
|
||||
extern struct PitemZ_header Ptv_holderZ_header;
|
||||
extern struct PitemZ_header PtvscreenZ_header;
|
||||
extern struct PitemZ_header Ptv4screenZ_header;
|
||||
extern struct PitemZ_header Pwood_lg_crate1Z_header;
|
||||
extern struct PitemZ_header Pwood_lg_crate2Z_header;
|
||||
extern struct PitemZ_header Pwood_md_crate3Z_header;
|
||||
extern struct PitemZ_header Pwood_sm_crate4Z_header;
|
||||
extern struct PitemZ_header Pwood_sm_crate5Z_header;
|
||||
extern struct PitemZ_header Pwood_sm_crate6Z_header;
|
||||
extern struct PitemZ_header Pwooden_table1Z_header;
|
||||
extern struct PitemZ_header Pswipe_card2Z_header;
|
||||
extern struct PitemZ_header Pborg_crateZ_header;
|
||||
extern struct PitemZ_header Pboxes4x4Z_header;
|
||||
extern struct PitemZ_header Pboxes3x4Z_header;
|
||||
extern struct PitemZ_header Pboxes2x4Z_header;
|
||||
extern struct PitemZ_header Psec_panelZ_header;
|
||||
extern struct PitemZ_header PICBM_noseZ_header;
|
||||
extern struct PitemZ_header PICBMZ_header;
|
||||
extern struct PitemZ_header Ptuning_console1Z_header;
|
||||
extern struct PitemZ_header Pdesk_arecibo1Z_header;
|
||||
extern struct PitemZ_header Plocker3Z_header;
|
||||
extern struct PitemZ_header Plocker4Z_header;
|
||||
extern struct PitemZ_header ProofgunZ_header;
|
||||
extern struct PitemZ_header Pdest_engineZ_header;
|
||||
extern struct PitemZ_header Pdest_exocetZ_header;
|
||||
extern struct PitemZ_header Pdest_gunZ_header;
|
||||
extern struct PitemZ_header Pdest_harpoonZ_header;
|
||||
extern struct PitemZ_header Pdest_seawolfZ_header;
|
||||
extern struct PitemZ_header PwindowZ_header;
|
||||
extern struct PitemZ_header Pwindow_lib_lg1Z_header;
|
||||
extern struct PitemZ_header Pwindow_lib_sm1Z_header;
|
||||
extern struct PitemZ_header Pwindow_cor11Z_header;
|
||||
extern struct PitemZ_header Pjungle3_treeZ_header;
|
||||
extern struct PitemZ_header PpalmZ_header;
|
||||
extern struct PitemZ_header PpalmtreeZ_header;
|
||||
extern struct PitemZ_header Pplant2bZ_header;
|
||||
extern struct PitemZ_header PlabbenchZ_header;
|
||||
extern struct PitemZ_header PgasbarrelZ_header;
|
||||
extern struct PitemZ_header PgasbarrelsZ_header;
|
||||
extern struct PitemZ_header PbodyarmourZ_header;
|
||||
extern struct PitemZ_header PbodyarmourvestZ_header;
|
||||
extern struct PitemZ_header PgastankZ_header;
|
||||
extern struct PitemZ_header Pglassware1Z_header;
|
||||
extern struct PitemZ_header PhatchboltZ_header;
|
||||
extern struct PitemZ_header PbrakeunitZ_header;
|
||||
extern struct PitemZ_header Pak47magZ_header;
|
||||
extern struct PitemZ_header Pm16magZ_header;
|
||||
extern struct PitemZ_header Pmp5kmagZ_header;
|
||||
extern struct PitemZ_header PskorpionmagZ_header;
|
||||
extern struct PitemZ_header PspectremagZ_header;
|
||||
extern struct PitemZ_header PuzimagZ_header;
|
||||
extern struct PitemZ_header PsilencerZ_header;
|
||||
extern struct PitemZ_header PchrextinguisherZ_header;
|
||||
extern struct PitemZ_header PboxcartridgesZ_header;
|
||||
extern struct PitemZ_header Pfnp90magZ_header;
|
||||
extern struct PitemZ_header PgoldenshellsZ_header;
|
||||
extern struct PitemZ_header PmagnumshellsZ_header;
|
||||
extern struct PitemZ_header PwppkmagZ_header;
|
||||
extern struct PitemZ_header Ptt33magZ_header;
|
||||
extern struct PitemZ_header Psev_doorZ_header;
|
||||
extern struct PitemZ_header Psev_door3Z_header;
|
||||
extern struct PitemZ_header Psev_door3_windZ_header;
|
||||
extern struct PitemZ_header Psev_door4_windZ_header;
|
||||
extern struct PitemZ_header Psev_trislideZ_header;
|
||||
extern struct PitemZ_header Psev_door_v1Z_header;
|
||||
extern struct PitemZ_header Psteel_door1Z_header;
|
||||
extern struct PitemZ_header Psteel_door2Z_header;
|
||||
extern struct PitemZ_header Psteel_door3Z_header;
|
||||
extern struct PitemZ_header Psilo_lift_doorZ_header;
|
||||
extern struct PitemZ_header Psteel_door2bZ_header;
|
||||
extern struct PitemZ_header Pdoor_roller1Z_header;
|
||||
extern struct PitemZ_header Pdoor_roller2Z_header;
|
||||
extern struct PitemZ_header Pdoor_roller3Z_header;
|
||||
extern struct PitemZ_header Pdoor_roller4Z_header;
|
||||
extern struct PitemZ_header Pdoor_st_arec1Z_header;
|
||||
extern struct PitemZ_header Pdoor_st_arec2Z_header;
|
||||
extern struct PitemZ_header Pdoor_dest1Z_header;
|
||||
extern struct PitemZ_header Pdoor_dest2Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_sw_do1Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_sw2_do1Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_sw3_do1Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_sw4_do1Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_met1_do1Z_header;
|
||||
extern struct PitemZ_header Pgas_plant_wc_cub1Z_header;
|
||||
extern struct PitemZ_header Pgasplant_clear_doorZ_header;
|
||||
extern struct PitemZ_header Ptrain_doorZ_header;
|
||||
extern struct PitemZ_header Ptrain_door2Z_header;
|
||||
extern struct PitemZ_header Ptrain_door3Z_header;
|
||||
extern struct PitemZ_header Pdoor_eyelidZ_header;
|
||||
extern struct PitemZ_header Pdoor_irisZ_header;
|
||||
extern struct PitemZ_header PsevdoorwoodZ_header;
|
||||
extern struct PitemZ_header PsevdoorwindZ_header;
|
||||
extern struct PitemZ_header PsevdoornowindZ_header;
|
||||
extern struct PitemZ_header PsevdoormetslideZ_header;
|
||||
extern struct PitemZ_header Pcryptdoor1aZ_header;
|
||||
extern struct PitemZ_header Pcryptdoor1bZ_header;
|
||||
extern struct PitemZ_header Pcryptdoor2aZ_header;
|
||||
extern struct PitemZ_header Pcryptdoor2bZ_header;
|
||||
extern struct PitemZ_header Pcryptdoor3Z_header;
|
||||
extern struct PitemZ_header Pcryptdoor4Z_header;
|
||||
extern struct PitemZ_header PvertdoorZ_header;
|
||||
extern struct PitemZ_header PhatchdoorZ_header;
|
||||
extern struct PitemZ_header PdamgatedoorZ_header;
|
||||
extern struct PitemZ_header PdamtundoorZ_header;
|
||||
extern struct PitemZ_header PdamchaindoorZ_header;
|
||||
extern struct PitemZ_header PsilotopdoorZ_header;
|
||||
extern struct PitemZ_header Pdoorprison1Z_header;
|
||||
extern struct PitemZ_header PdoorstatgateZ_header;
|
||||
extern struct PitemZ_header PchrkalashZ_header;
|
||||
extern struct PitemZ_header PchrgrenadelaunchZ_header;
|
||||
extern struct PitemZ_header PchrknifeZ_header;
|
||||
extern struct PitemZ_header PchrlaserZ_header;
|
||||
extern struct PitemZ_header Pchrm16Z_header;
|
||||
extern struct PitemZ_header Pchrmp5kZ_header;
|
||||
extern struct PitemZ_header PchrrugerZ_header;
|
||||
extern struct PitemZ_header PchrwppkZ_header;
|
||||
extern struct PitemZ_header PchrshotgunZ_header;
|
||||
extern struct PitemZ_header PchrskorpionZ_header;
|
||||
extern struct PitemZ_header PchrspectreZ_header;
|
||||
extern struct PitemZ_header PchruziZ_header;
|
||||
extern struct PitemZ_header PchrgrenadeZ_header;
|
||||
extern struct PitemZ_header Pchrfnp90Z_header;
|
||||
extern struct PitemZ_header PchrbriefcaseZ_header;
|
||||
extern struct PitemZ_header PchrremotemineZ_header;
|
||||
extern struct PitemZ_header PchrproximitymineZ_header;
|
||||
extern struct PitemZ_header PchrtimedmineZ_header;
|
||||
extern struct PitemZ_header PchrrocketZ_header;
|
||||
extern struct PitemZ_header PchrgrenaderoundZ_header;
|
||||
extern struct PitemZ_header PchrwppksilZ_header;
|
||||
extern struct PitemZ_header Pchrtt33Z_header;
|
||||
extern struct PitemZ_header Pchrmp5ksilZ_header;
|
||||
extern struct PitemZ_header PchrautoshotZ_header;
|
||||
extern struct PitemZ_header PchrgoldenZ_header;
|
||||
extern struct PitemZ_header PchrthrowknifeZ_header;
|
||||
extern struct PitemZ_header PchrsniperrifleZ_header;
|
||||
extern struct PitemZ_header PchrrocketlaunchZ_header;
|
||||
extern struct PitemZ_header PhatfurryZ_header;
|
||||
extern struct PitemZ_header PhatfurrybrownZ_header;
|
||||
extern struct PitemZ_header PhatfurryblackZ_header;
|
||||
extern struct PitemZ_header PhattbirdZ_header;
|
||||
extern struct PitemZ_header PhattbirdbrownZ_header;
|
||||
extern struct PitemZ_header PhathelmetZ_header;
|
||||
extern struct PitemZ_header PhathelmetgreyZ_header;
|
||||
extern struct PitemZ_header PhatmoonZ_header;
|
||||
extern struct PitemZ_header PhatberetZ_header;
|
||||
extern struct PitemZ_header PhatberetblueZ_header;
|
||||
extern struct PitemZ_header PhatberetredZ_header;
|
||||
extern struct PitemZ_header PhatpeakedZ_header;
|
||||
extern struct PitemZ_header PchrwristdartZ_header;
|
||||
extern struct PitemZ_header PchrexplosivepenZ_header;
|
||||
extern struct PitemZ_header PchrbombcaseZ_header;
|
||||
extern struct PitemZ_header PchrflarepistolZ_header;
|
||||
extern struct PitemZ_header PchrpitongunZ_header;
|
||||
extern struct PitemZ_header PchrfingergunZ_header;
|
||||
extern struct PitemZ_header PchrsilverwppkZ_header;
|
||||
extern struct PitemZ_header PchrgoldwppkZ_header;
|
||||
extern struct PitemZ_header PchrdynamiteZ_header;
|
||||
extern struct PitemZ_header PchrbungeeZ_header;
|
||||
extern struct PitemZ_header PchrdoordecoderZ_header;
|
||||
extern struct PitemZ_header PchrbombdefuserZ_header;
|
||||
extern struct PitemZ_header PchrbugdetectorZ_header;
|
||||
extern struct PitemZ_header PchrsafecrackercaseZ_header;
|
||||
extern struct PitemZ_header PchrcameraZ_header;
|
||||
extern struct PitemZ_header PchrlockexploderZ_header;
|
||||
extern struct PitemZ_header PchrdoorexploderZ_header;
|
||||
extern struct PitemZ_header PchrkeyanalysercaseZ_header;
|
||||
extern struct PitemZ_header PchrweaponcaseZ_header;
|
||||
extern struct PitemZ_header PchrkeyyaleZ_header;
|
||||
extern struct PitemZ_header PchrkeyboltZ_header;
|
||||
extern struct PitemZ_header PchrbugZ_header;
|
||||
extern struct PitemZ_header PchrmicrocameraZ_header;
|
||||
extern struct PitemZ_header PfloppyZ_header;
|
||||
extern struct PitemZ_header PchrgoldeneyekeyZ_header;
|
||||
extern struct PitemZ_header PchrpolarizedglassesZ_header;
|
||||
extern struct PitemZ_header PchrcreditcardZ_header;
|
||||
extern struct PitemZ_header PchrdarkglassesZ_header;
|
||||
extern struct PitemZ_header PchrgaskeyringZ_header;
|
||||
extern struct PitemZ_header PchrdatathiefZ_header;
|
||||
extern struct PitemZ_header PsafeZ_header;
|
||||
extern struct PitemZ_header PbombZ_header;
|
||||
extern struct PitemZ_header PchrplansZ_header;
|
||||
extern struct PitemZ_header PchrspyfileZ_header;
|
||||
extern struct PitemZ_header PchrblueprintsZ_header;
|
||||
extern struct PitemZ_header PchrcircuitboardZ_header;
|
||||
extern struct PitemZ_header PchrmapZ_header;
|
||||
extern struct PitemZ_header PchrspooltapeZ_header;
|
||||
extern struct PitemZ_header PchraudiotapeZ_header;
|
||||
extern struct PitemZ_header PchrmicrofilmZ_header;
|
||||
extern struct PitemZ_header PchrmicrocodeZ_header;
|
||||
extern struct PitemZ_header PchrlectreZ_header;
|
||||
extern struct PitemZ_header PchrmoneyZ_header;
|
||||
extern struct PitemZ_header PchrgoldbarZ_header;
|
||||
extern struct PitemZ_header PchrheroinZ_header;
|
||||
extern struct PitemZ_header PchrclipboardZ_header;
|
||||
extern struct PitemZ_header PchrdossierredZ_header;
|
||||
extern struct PitemZ_header PchrstafflistZ_header;
|
||||
extern struct PitemZ_header PchrdattapeZ_header;
|
||||
extern struct PitemZ_header PchrplastiqueZ_header;
|
||||
extern struct PitemZ_header PchrblackboxZ_header;
|
||||
extern struct PitemZ_header PchrvideotapeZ_header;
|
||||
extern struct PitemZ_header PnintendologoZ_header;
|
||||
extern struct PitemZ_header PgoldeneyelogoZ_header;
|
||||
extern struct PitemZ_header PwalletbondZ_header;
|
||||
extern struct PitemZ_header PmiltruckZ_header;
|
||||
extern struct PitemZ_header PjeepZ_header;
|
||||
extern struct PitemZ_header ParticZ_header;
|
||||
extern struct PitemZ_header PhelicopterZ_header;
|
||||
extern struct PitemZ_header PtigerZ_header;
|
||||
extern struct PitemZ_header PmilcopterZ_header;
|
||||
extern struct PitemZ_header PhindZ_header;
|
||||
extern struct PitemZ_header PartictrailerZ_header;
|
||||
extern struct PitemZ_header PmotorbikeZ_header;
|
||||
extern struct PitemZ_header PtankZ_header;
|
||||
extern struct PitemZ_header PapcZ_header;
|
||||
extern struct PitemZ_header PspeedboatZ_header;
|
||||
extern struct PitemZ_header PplaneZ_header;
|
||||
extern struct PitemZ_header Pgun_runway1Z_header;
|
||||
extern struct PitemZ_header PsafedoorZ_header;
|
||||
extern struct PitemZ_header Pkey_holderZ_header;
|
||||
extern struct PitemZ_header PhatchsevxZ_header;
|
||||
extern struct PitemZ_header PsevdishZ_header;
|
||||
extern struct PitemZ_header Parchsecdoor1Z_header;
|
||||
extern struct PitemZ_header Parchsecdoor2Z_header;
|
||||
extern struct PitemZ_header PgroundgunZ_header;
|
||||
extern struct PitemZ_header PtrainextdoorZ_header;
|
||||
extern struct PitemZ_header PcarbmwZ_header;
|
||||
extern struct PitemZ_header PcarescortZ_header;
|
||||
extern struct PitemZ_header PcargolfZ_header;
|
||||
extern struct PitemZ_header PcarweirdZ_header;
|
||||
extern struct PitemZ_header PcarzilZ_header;
|
||||
extern struct PitemZ_header Pshuttle_door_lZ_header;
|
||||
extern struct PitemZ_header Pshuttle_door_rZ_header;
|
||||
extern struct PitemZ_header Pdepot_gate_entryZ_header;
|
||||
extern struct PitemZ_header Pdepot_door_steelZ_header;
|
||||
extern struct PitemZ_header Pglassware2Z_header;
|
||||
extern struct PitemZ_header Pglassware3Z_header;
|
||||
extern struct PitemZ_header Pglassware4Z_header;
|
||||
extern struct PitemZ_header PlandmineZ_header;
|
||||
extern struct PitemZ_header Pplant1Z_header;
|
||||
extern struct PitemZ_header Pplant11Z_header;
|
||||
extern struct PitemZ_header Pplant2Z_header;
|
||||
extern struct PitemZ_header Pplant3Z_header;
|
||||
extern struct PitemZ_header Pjungle5_treeZ_header;
|
||||
extern struct PitemZ_header PlegalpageZ_header;
|
||||
extern struct PitemZ_header Pst_pete_room_1iZ_header;
|
||||
extern struct PitemZ_header Pst_pete_room_2iZ_header;
|
||||
extern struct PitemZ_header Pst_pete_room_3tZ_header;
|
||||
extern struct PitemZ_header Pst_pete_room_5cZ_header;
|
||||
extern struct PitemZ_header Pst_pete_room_6cZ_header;
|
||||
extern struct PitemZ_header Pdoor_rollertrainZ_header;
|
||||
extern struct PitemZ_header Pdoor_winZ_header;
|
||||
extern struct PitemZ_header Pdoor_aztecZ_header;
|
||||
extern struct PitemZ_header PshuttleZ_header;
|
||||
extern struct PitemZ_header Pdoor_azt_deskZ_header;
|
||||
extern struct PitemZ_header Pdoor_azt_desk_topZ_header;
|
||||
extern struct PitemZ_header Pdoor_azt_chairZ_header;
|
||||
extern struct PitemZ_header Pdoor_mfZ_header;
|
||||
extern struct PitemZ_header PflagZ_header;
|
||||
extern struct PitemZ_header PbarricadeZ_header;
|
||||
extern struct PitemZ_header PmodemboxZ_header;
|
||||
extern struct PitemZ_header PdoorpanelZ_header;
|
||||
extern struct PitemZ_header PdoorconsoleZ_header;
|
||||
extern struct PitemZ_header PchrtesttubeZ_header;
|
||||
extern struct PitemZ_header Pbollardz_header;
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/bond.h"
|
||||
|
||||
void cleanupSFXRelated(void) {
|
||||
if (SFX_80036458 != 0)
|
||||
{
|
||||
if (sfxGetArg0Unk3F(SFX_80036458) != 0)
|
||||
{
|
||||
sfxDeactivate(SFX_80036458);
|
||||
}
|
||||
}
|
||||
|
||||
if (SFX_8003645C != 0)
|
||||
{
|
||||
if (sfxGetArg0Unk3F(SFX_8003645C) != 0)
|
||||
{
|
||||
sfxDeactivate(SFX_8003645C);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/chrai.h"
|
||||
#include "game/cleanup_alarms.h"
|
||||
|
||||
|
||||
void cleanupAlarms(void) {
|
||||
stop_alarm();
|
||||
check_deactivate_gas_sound();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef _CLEANUP_ALARMS_H_
|
||||
#define _CLEANUP_ALARMS_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
void cleanupAlarms(void);
|
||||
#endif
|
||||
@@ -0,0 +1,113 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void cleanupObjectives(s32 stage) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel cleanupObjectives
|
||||
/* 03C0C0 7F007590 3C028007 */ lui $v0, %hi(objective_ptrs)
|
||||
/* 03C0C4 7F007594 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0)
|
||||
/* 03C0C8 7F007598 3C048007 */ lui $a0, %hi(objective_ptrs+8)
|
||||
/* 03C0CC 7F00759C 24845D38 */ addiu $a0, %lo(objective_ptrs+8) # addiu $a0, $a0, 0x5d38
|
||||
/* 03C0D0 7F0075A0 1040000C */ beqz $v0, .L7F0075D4
|
||||
/* 03C0D4 7F0075A4 24030008 */ li $v1, 8
|
||||
/* 03C0D8 7F0075A8 904E000E */ lbu $t6, 0xe($v0)
|
||||
/* 03C0DC 7F0075AC 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075D58)
|
||||
/* 03C0E0 7F0075B0 31CF0001 */ andi $t7, $t6, 1
|
||||
/* 03C0E4 7F0075B4 11E00007 */ beqz $t7, .L7F0075D4
|
||||
/* 03C0E8 7F0075B8 00000000 */ nop
|
||||
/* 03C0EC 7F0075BC 8F185D58 */ lw $t8, %lo(dword_CODE_bss_80075D58)($t8)
|
||||
/* 03C0F0 7F0075C0 24050002 */ li $a1, 2
|
||||
/* 03C0F4 7F0075C4 24190001 */ li $t9, 1
|
||||
/* 03C0F8 7F0075C8 10B80002 */ beq $a1, $t8, .L7F0075D4
|
||||
/* 03C0FC 7F0075CC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58)
|
||||
/* 03C100 7F0075D0 AC395D58 */ sw $t9, %lo(dword_CODE_bss_80075D58)($at)
|
||||
.L7F0075D4:
|
||||
/* 03C104 7F0075D4 3C028007 */ lui $v0, %hi(objective_ptrs+4)
|
||||
/* 03C108 7F0075D8 8C425D34 */ lw $v0, %lo(objective_ptrs+4)($v0)
|
||||
/* 03C10C 7F0075DC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075D58)
|
||||
/* 03C110 7F0075E0 25085D58 */ addiu $t0, %lo(dword_CODE_bss_80075D58) # addiu $t0, $t0, 0x5d58
|
||||
/* 03C114 7F0075E4 1040000C */ beqz $v0, .L7F007618
|
||||
/* 03C118 7F0075E8 24050002 */ li $a1, 2
|
||||
/* 03C11C 7F0075EC 9049000E */ lbu $t1, 0xe($v0)
|
||||
/* 03C120 7F0075F0 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075D5C)
|
||||
/* 03C124 7F0075F4 312A0001 */ andi $t2, $t1, 1
|
||||
/* 03C128 7F0075F8 11400007 */ beqz $t2, .L7F007618
|
||||
/* 03C12C 7F0075FC 00000000 */ nop
|
||||
/* 03C130 7F007600 8D6B5D5C */ lw $t3, %lo(dword_CODE_bss_80075D5C)($t3)
|
||||
/* 03C134 7F007604 240C0001 */ li $t4, 1
|
||||
/* 03C138 7F007608 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C)
|
||||
/* 03C13C 7F00760C 10AB0002 */ beq $a1, $t3, .L7F007618
|
||||
/* 03C140 7F007610 00000000 */ nop
|
||||
/* 03C144 7F007614 AC2C5D5C */ sw $t4, %lo(dword_CODE_bss_80075D5C)($at)
|
||||
.L7F007618:
|
||||
/* 03C148 7F007618 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075D58)
|
||||
/* 03C14C 7F00761C 24C65D58 */ addiu $a2, %lo(dword_CODE_bss_80075D58) # addiu $a2, $a2, 0x5d58
|
||||
/* 03C150 7F007620 24070001 */ li $a3, 1
|
||||
.L7F007624:
|
||||
/* 03C154 7F007624 8C820000 */ lw $v0, ($a0)
|
||||
/* 03C158 7F007628 5040000B */ beql $v0, $zero, .L7F007658
|
||||
/* 03C15C 7F00762C 8C820004 */ lw $v0, 4($a0)
|
||||
/* 03C160 7F007630 904D000E */ lbu $t5, 0xe($v0)
|
||||
/* 03C164 7F007634 00C31021 */ addu $v0, $a2, $v1
|
||||
/* 03C168 7F007638 31AE0001 */ andi $t6, $t5, 1
|
||||
/* 03C16C 7F00763C 51C00006 */ beql $t6, $zero, .L7F007658
|
||||
/* 03C170 7F007640 8C820004 */ lw $v0, 4($a0)
|
||||
/* 03C174 7F007644 8C4F0000 */ lw $t7, ($v0)
|
||||
/* 03C178 7F007648 50AF0003 */ beql $a1, $t7, .L7F007658
|
||||
/* 03C17C 7F00764C 8C820004 */ lw $v0, 4($a0)
|
||||
/* 03C180 7F007650 AC470000 */ sw $a3, ($v0)
|
||||
/* 03C184 7F007654 8C820004 */ lw $v0, 4($a0)
|
||||
.L7F007658:
|
||||
/* 03C188 7F007658 5040000B */ beql $v0, $zero, .L7F007688
|
||||
/* 03C18C 7F00765C 8C820008 */ lw $v0, 8($a0)
|
||||
/* 03C190 7F007660 9058000E */ lbu $t8, 0xe($v0)
|
||||
/* 03C194 7F007664 00C31021 */ addu $v0, $a2, $v1
|
||||
/* 03C198 7F007668 33190001 */ andi $t9, $t8, 1
|
||||
/* 03C19C 7F00766C 53200006 */ beql $t9, $zero, .L7F007688
|
||||
/* 03C1A0 7F007670 8C820008 */ lw $v0, 8($a0)
|
||||
/* 03C1A4 7F007674 8C490004 */ lw $t1, 4($v0)
|
||||
/* 03C1A8 7F007678 50A90003 */ beql $a1, $t1, .L7F007688
|
||||
/* 03C1AC 7F00767C 8C820008 */ lw $v0, 8($a0)
|
||||
/* 03C1B0 7F007680 AC470004 */ sw $a3, 4($v0)
|
||||
/* 03C1B4 7F007684 8C820008 */ lw $v0, 8($a0)
|
||||
.L7F007688:
|
||||
/* 03C1B8 7F007688 5040000B */ beql $v0, $zero, .L7F0076B8
|
||||
/* 03C1BC 7F00768C 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 03C1C0 7F007690 904A000E */ lbu $t2, 0xe($v0)
|
||||
/* 03C1C4 7F007694 00C31021 */ addu $v0, $a2, $v1
|
||||
/* 03C1C8 7F007698 314B0001 */ andi $t3, $t2, 1
|
||||
/* 03C1CC 7F00769C 51600006 */ beql $t3, $zero, .L7F0076B8
|
||||
/* 03C1D0 7F0076A0 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 03C1D4 7F0076A4 8C4C0008 */ lw $t4, 8($v0)
|
||||
/* 03C1D8 7F0076A8 50AC0003 */ beql $a1, $t4, .L7F0076B8
|
||||
/* 03C1DC 7F0076AC 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 03C1E0 7F0076B0 AC470008 */ sw $a3, 8($v0)
|
||||
/* 03C1E4 7F0076B4 8C82000C */ lw $v0, 0xc($a0)
|
||||
.L7F0076B8:
|
||||
/* 03C1E8 7F0076B8 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* 03C1EC 7F0076BC 1040000A */ beqz $v0, .L7F0076E8
|
||||
/* 03C1F0 7F0076C0 00000000 */ nop
|
||||
/* 03C1F4 7F0076C4 904D000E */ lbu $t5, 0xe($v0)
|
||||
/* 03C1F8 7F0076C8 00C31021 */ addu $v0, $a2, $v1
|
||||
/* 03C1FC 7F0076CC 31AE0001 */ andi $t6, $t5, 1
|
||||
/* 03C200 7F0076D0 11C00005 */ beqz $t6, .L7F0076E8
|
||||
/* 03C204 7F0076D4 00000000 */ nop
|
||||
/* 03C208 7F0076D8 8C4F000C */ lw $t7, 0xc($v0)
|
||||
/* 03C20C 7F0076DC 10AF0002 */ beq $a1, $t7, .L7F0076E8
|
||||
/* 03C210 7F0076E0 00000000 */ nop
|
||||
/* 03C214 7F0076E4 AC47000C */ sw $a3, 0xc($v0)
|
||||
.L7F0076E8:
|
||||
/* 03C218 7F0076E8 1488FFCE */ bne $a0, $t0, .L7F007624
|
||||
/* 03C21C 7F0076EC 24630010 */ addiu $v1, $v1, 0x10
|
||||
/* 03C220 7F0076F0 03E00008 */ jr $ra
|
||||
/* 03C224 7F0076F4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void cleanupObjects(s32 stage) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.rdata
|
||||
glabel jpt_8004F210
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.word .L7F00755C
|
||||
.word .L7F007550
|
||||
.text
|
||||
glabel cleanupObjects
|
||||
/* 03C030 7F007500 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 03C034 7F007504 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03C038 7F007508 3C108007 */ lui $s0, %hi(ptr_setup_objects)
|
||||
/* 03C03C 7F00750C 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0)
|
||||
/* 03C040 7F007510 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 03C044 7F007514 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 03C048 7F007518 52000019 */ beql $s0, $zero, .L7F007580
|
||||
/* 03C04C 7F00751C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 03C050 7F007520 92030003 */ lbu $v1, 3($s0)
|
||||
/* 03C054 7F007524 24010030 */ li $at, 48
|
||||
/* 03C058 7F007528 10610014 */ beq $v1, $at, .L7F00757C
|
||||
/* 03C05C 7F00752C 246EFFFF */ addiu $t6, $v1, -1
|
||||
.L7F007530:
|
||||
/* 03C060 7F007530 2DC1002F */ sltiu $at, $t6, 0x2f
|
||||
/* 03C064 7F007534 10200009 */ beqz $at, .L7F00755C
|
||||
/* 03C068 7F007538 000E7080 */ sll $t6, $t6, 2
|
||||
/* 03C06C 7F00753C 3C018005 */ lui $at, %hi(jpt_8004F210)
|
||||
/* 03C070 7F007540 002E0821 */ addu $at, $at, $t6
|
||||
/* 03C074 7F007544 8C2EF210 */ lw $t6, %lo(jpt_8004F210)($at)
|
||||
/* 03C078 7F007548 01C00008 */ jr $t6
|
||||
/* 03C07C 7F00754C 00000000 */ nop
|
||||
.L7F007550:
|
||||
/* 03C080 7F007550 02002025 */ move $a0, $s0
|
||||
/* 03C084 7F007554 0FC10409 */ jal sub_GAME_7F041024
|
||||
/* 03C088 7F007558 24050001 */ li $a1, 1
|
||||
.L7F00755C:
|
||||
/* 03C08C 7F00755C 0FC15A3D */ jal get_size_of_setup_object_type
|
||||
/* 03C090 7F007560 02002025 */ move $a0, $s0
|
||||
/* 03C094 7F007564 00027880 */ sll $t7, $v0, 2
|
||||
/* 03C098 7F007568 01F08021 */ addu $s0, $t7, $s0
|
||||
/* 03C09C 7F00756C 92030003 */ lbu $v1, 3($s0)
|
||||
/* 03C0A0 7F007570 24010030 */ li $at, 48
|
||||
/* 03C0A4 7F007574 5461FFEE */ bnel $v1, $at, .L7F007530
|
||||
/* 03C0A8 7F007578 246EFFFF */ addiu $t6, $v1, -1
|
||||
.L7F00757C:
|
||||
/* 03C0AC 7F00757C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L7F007580:
|
||||
/* 03C0B0 7F007580 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 03C0B4 7F007584 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 03C0B8 7F007588 03E00008 */ jr $ra
|
||||
/* 03C0BC 7F00758C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/compiletime.h"
|
||||
|
||||
#ifdef VERSION_US
|
||||
char *get_compile_time(void) {
|
||||
return "Jun 29 1997 20:46:05";
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_JP
|
||||
char *get_compile_time(void) {
|
||||
return "Jul 10 1997 14:53:37";
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef _COMPILETIME_H_
|
||||
#define _COMPILETIME_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
char *get_compile_time(void);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
#define M_PI 3.1415927f
|
||||
#define M_HALF_PI M_PI / 2
|
||||
#define M_THREE_HALF_PI 3 * M_HALF_PI
|
||||
#define M_TAU 2 * M_PI
|
||||
|
||||
f32 acosf(f32);
|
||||
|
||||
f32 atan2f(f32 y, f32 x) {
|
||||
f32 angle;
|
||||
if (y == 0.0f) {
|
||||
if (0.0f <= x) {
|
||||
angle = 0.0f;
|
||||
} else {
|
||||
angle = M_PI;
|
||||
}
|
||||
} else if (x == 0.0f) {
|
||||
if (0.0f < y) {
|
||||
angle = M_HALF_PI;
|
||||
} else {
|
||||
angle = M_THREE_HALF_PI;
|
||||
}
|
||||
} else {
|
||||
angle = sqrtf((y * y) + (x * x));
|
||||
if (x < y) {
|
||||
angle = acosf(x / angle);
|
||||
if (y < 0.0f) {
|
||||
angle = M_TAU - angle;
|
||||
}
|
||||
} else {
|
||||
angle = M_HALF_PI - acosf(y / angle);
|
||||
if (x < 0.0f) {
|
||||
angle = M_PI - angle;
|
||||
}
|
||||
if (angle < 0.0f) {
|
||||
angle += M_TAU;
|
||||
}
|
||||
}
|
||||
}
|
||||
return angle;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,393 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
//i belong in a header, probably to another file
|
||||
#define PROJECTILES_MAX 0x2E
|
||||
#define PROJECTILES_TYPE_KNIFE 0xBA
|
||||
#define PROJECTILES_TYPE_GRENADE 0xC4
|
||||
#define PROJECTILES_TYPE_REMOTE_MINE 0xC7
|
||||
#define PROJECTILES_TYPE_PROX_MINE 0xC8
|
||||
#define PROJECTILES_TYPE_TIMED_MINE 0xC9
|
||||
#define PROJECTILES_TYPE_ROCKET_ROUND 0xCA
|
||||
#define PROJECTILES_TYPE_ROCKET_ROUND2 0xCA
|
||||
#define PROJECTILES_TYPE_GLAUNCH_ROUND 0xCB
|
||||
#define PROJECTILES_TYPE_BOMBCASE 0xE2
|
||||
#define PROJECTILES_TYPE_BUG 0xF5
|
||||
#define PROJECTILES_TYPE_MICROCAMERA 0xF6
|
||||
#define PROJECTILES_TYPE_GE_KEY 0xF8
|
||||
#define PROJECTILES_TYPE_PLASTIQUE 0x111
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
u32 global_action_block_temp_buffer[119] = {0};
|
||||
|
||||
s32 weapon_models_for_weapon_load[] = {
|
||||
PROJECTILES_TYPE_KNIFE, PROJECTILES_TYPE_GRENADE, PROJECTILES_TYPE_REMOTE_MINE,
|
||||
PROJECTILES_TYPE_PROX_MINE, PROJECTILES_TYPE_TIMED_MINE, PROJECTILES_TYPE_ROCKET_ROUND,
|
||||
PROJECTILES_TYPE_GLAUNCH_ROUND, 0xFFFFFFFF};
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void init_obj_register_difficulty_vals(void) {
|
||||
objectiveregisters1 = 0;
|
||||
ai_accuracy_modifier = 1.0f;
|
||||
ai_damage_modifier = 1.0f;
|
||||
ai_health_modifier = 1.0f;
|
||||
ai_reaction_speed = 1.0f;
|
||||
setting_007_5 = 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel init_obj_register_difficulty_vals
|
||||
/* 035B50 7F001020 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 035B54 7F001024 44810000 */ mtc1 $at, $f0
|
||||
/* 035B58 7F001028 3C018003 */ lui $at, %hi(objectiveregisters1)
|
||||
/* 035B5C 7F00102C AC200978 */ sw $zero, %lo(objectiveregisters1)($at)
|
||||
/* 035B60 7F001030 3C018003 */ lui $at, %hi(ai_accuracy_modifier)
|
||||
/* 035B64 7F001034 E420CE40 */ swc1 $f0, %lo(ai_accuracy_modifier)($at)
|
||||
/* 035B68 7F001038 3C018003 */ lui $at, %hi(ai_damage_modifier)
|
||||
/* 035B6C 7F00103C E420CE44 */ swc1 $f0, %lo(ai_damage_modifier)($at)
|
||||
/* 035B70 7F001040 3C018003 */ lui $at, %hi(ai_health_modifier)
|
||||
/* 035B74 7F001044 E420CE48 */ swc1 $f0, %lo(ai_health_modifier)($at)
|
||||
/* 035B78 7F001048 3C018003 */ lui $at, %hi(ai_reaction_speed)
|
||||
/* 035B7C 7F00104C E420CE4C */ swc1 $f0, %lo(ai_reaction_speed)($at)
|
||||
/* 035B80 7F001050 3C018003 */ lui $at, %hi(setting_007_5)
|
||||
/* 035B84 7F001054 03E00008 */ jr $ra
|
||||
/* 035B88 7F001058 AC20CE50 */ sw $zero, %lo(setting_007_5)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_false_GUARDdata_to_exec_global_action(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_false_GUARDdata_to_exec_global_action
|
||||
/* 035B8C 7F00105C 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl)
|
||||
/* 035B90 7F001060 25AD5D00 */ addiu $t5, %lo(ptr_setup_path_tbl) # addiu $t5, $t5, 0x5d00
|
||||
/* 035B94 7F001064 8DA50014 */ lw $a1, 0x14($t5)
|
||||
/* 035B98 7F001068 3C028003 */ lui $v0, %hi(objectiveregisters3)
|
||||
/* 035B9C 7F00106C 3C068003 */ lui $a2, %hi(objectiveregisters2)
|
||||
/* 035BA0 7F001070 24C6097C */ addiu $a2, %lo(objectiveregisters2) # addiu $a2, $a2, 0x97c
|
||||
/* 035BA4 7F001074 24420980 */ addiu $v0, %lo(objectiveregisters3) # addiu $v0, $v0, 0x980
|
||||
/* 035BA8 7F001078 27BDFDF8 */ addiu $sp, $sp, -0x208
|
||||
/* 035BAC 7F00107C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 035BB0 7F001080 ACC00000 */ sw $zero, ($a2)
|
||||
/* 035BB4 7F001084 10A00070 */ beqz $a1, .L7F001248
|
||||
/* 035BB8 7F001088 AC400000 */ sw $zero, ($v0)
|
||||
/* 035BBC 7F00108C 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 035BC0 7F001090 00A01825 */ move $v1, $a1
|
||||
/* 035BC4 7F001094 00003825 */ move $a3, $zero
|
||||
/* 035BC8 7F001098 11C0000C */ beqz $t6, .L7F0010CC
|
||||
/* 035BCC 7F00109C 24050004 */ li $a1, 4
|
||||
/* 035BD0 7F0010A0 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L7F0010A4:
|
||||
/* 035BD4 7F0010A4 29E11000 */ slti $at, $t7, 0x1000
|
||||
/* 035BD8 7F0010A8 54200005 */ bnezl $at, .L7F0010C0
|
||||
/* 035BDC 7F0010AC 8C6E0008 */ lw $t6, 8($v1)
|
||||
/* 035BE0 7F0010B0 8C580000 */ lw $t8, ($v0)
|
||||
/* 035BE4 7F0010B4 27190001 */ addiu $t9, $t8, 1
|
||||
/* 035BE8 7F0010B8 AC590000 */ sw $t9, ($v0)
|
||||
/* 035BEC 7F0010BC 8C6E0008 */ lw $t6, 8($v1)
|
||||
.L7F0010C0:
|
||||
/* 035BF0 7F0010C0 24630008 */ addiu $v1, $v1, 8
|
||||
/* 035BF4 7F0010C4 55C0FFF7 */ bnezl $t6, .L7F0010A4
|
||||
/* 035BF8 7F0010C8 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L7F0010CC:
|
||||
/* 035BFC 7F0010CC 8C430000 */ lw $v1, ($v0)
|
||||
/* 035C00 7F0010D0 00004025 */ move $t0, $zero
|
||||
/* 035C04 7F0010D4 1860005C */ blez $v1, .L7F001248
|
||||
/* 035C08 7F0010D8 00032100 */ sll $a0, $v1, 4
|
||||
/* 035C0C 7F0010DC 00832023 */ subu $a0, $a0, $v1
|
||||
/* 035C10 7F0010E0 000420C0 */ sll $a0, $a0, 3
|
||||
/* 035C14 7F0010E4 00832023 */ subu $a0, $a0, $v1
|
||||
/* 035C18 7F0010E8 00042080 */ sll $a0, $a0, 2
|
||||
/* 035C1C 7F0010EC 2484000F */ addiu $a0, $a0, 0xf
|
||||
/* 035C20 7F0010F0 348F000F */ ori $t7, $a0, 0xf
|
||||
/* 035C24 7F0010F4 39E4000F */ xori $a0, $t7, 0xf
|
||||
/* 035C28 7F0010F8 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035C2C 7F0010FC AFA70200 */ sw $a3, 0x200($sp)
|
||||
/* 035C30 7F001100 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl)
|
||||
/* 035C34 7F001104 25AD5D00 */ addiu $t5, %lo(ptr_setup_path_tbl) # addiu $t5, $t5, 0x5d00
|
||||
/* 035C38 7F001108 8DA50014 */ lw $a1, 0x14($t5)
|
||||
/* 035C3C 7F00110C 3C068003 */ lui $a2, %hi(objectiveregisters2)
|
||||
/* 035C40 7F001110 24C6097C */ addiu $a2, %lo(objectiveregisters2) # addiu $a2, $a2, 0x97c
|
||||
/* 035C44 7F001114 ACC20000 */ sw $v0, ($a2)
|
||||
/* 035C48 7F001118 8CB90000 */ lw $t9, ($a1)
|
||||
/* 035C4C 7F00111C 8FA70200 */ lw $a3, 0x200($sp)
|
||||
/* 035C50 7F001120 00002025 */ move $a0, $zero
|
||||
/* 035C54 7F001124 13200048 */ beqz $t9, .L7F001248
|
||||
/* 035C58 7F001128 00A01825 */ move $v1, $a1
|
||||
/* 035C5C 7F00112C 3C088003 */ lui $t0, %hi(global_action_block_temp_buffer)
|
||||
/* 035C60 7F001130 2508A060 */ addiu $t0, %lo(global_action_block_temp_buffer) # addiu $t0, $t0, -0x5fa0
|
||||
/* 035C64 7F001134 240C001A */ li $t4, 26
|
||||
/* 035C68 7F001138 240BFFFF */ li $t3, -1
|
||||
/* 035C6C 7F00113C 240A00FE */ li $t2, 254
|
||||
/* 035C70 7F001140 240901DC */ li $t1, 476
|
||||
/* 035C74 7F001144 27A50024 */ addiu $a1, $sp, 0x24
|
||||
/* 035C78 7F001148 8C6E0004 */ lw $t6, 4($v1)
|
||||
.L7F00114C:
|
||||
/* 035C7C 7F00114C 0100C825 */ move $t9, $t0
|
||||
/* 035C80 7F001150 251801D4 */ addiu $t8, $t0, 0x1d4
|
||||
/* 035C84 7F001154 29C11000 */ slti $at, $t6, 0x1000
|
||||
/* 035C88 7F001158 14200036 */ bnez $at, .L7F001234
|
||||
/* 035C8C 7F00115C 00A07025 */ move $t6, $a1
|
||||
.L7F001160:
|
||||
/* 035C90 7F001160 8F210000 */ lw $at, ($t9)
|
||||
/* 035C94 7F001164 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 035C98 7F001168 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 035C9C 7F00116C ADC1FFF4 */ sw $at, -0xc($t6)
|
||||
/* 035CA0 7F001170 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 035CA4 7F001174 ADC1FFF8 */ sw $at, -8($t6)
|
||||
/* 035CA8 7F001178 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 035CAC 7F00117C 1738FFF8 */ bne $t9, $t8, .L7F001160
|
||||
/* 035CB0 7F001180 ADC1FFFC */ sw $at, -4($t6)
|
||||
/* 035CB4 7F001184 00E90019 */ multu $a3, $t1
|
||||
/* 035CB8 7F001188 8F210000 */ lw $at, ($t9)
|
||||
/* 035CBC 7F00118C ADC10000 */ sw $at, ($t6)
|
||||
/* 035CC0 7F001190 8F380004 */ lw $t8, 4($t9)
|
||||
/* 035CC4 7F001194 ADD80004 */ sw $t8, 4($t6)
|
||||
/* 035CC8 7F001198 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 035CCC 7F00119C 00001012 */ mflo $v0
|
||||
/* 035CD0 7F0011A0 24AE01D4 */ addiu $t6, $a1, 0x1d4
|
||||
/* 035CD4 7F0011A4 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* 035CD8 7F0011A8 00A07825 */ move $t7, $a1
|
||||
.L7F0011AC:
|
||||
/* 035CDC 7F0011AC 8DE10000 */ lw $at, ($t7)
|
||||
/* 035CE0 7F0011B0 25EF000C */ addiu $t7, $t7, 0xc
|
||||
/* 035CE4 7F0011B4 2718000C */ addiu $t8, $t8, 0xc
|
||||
/* 035CE8 7F0011B8 AF01FFF4 */ sw $at, -0xc($t8)
|
||||
/* 035CEC 7F0011BC 8DE1FFF8 */ lw $at, -8($t7)
|
||||
/* 035CF0 7F0011C0 AF01FFF8 */ sw $at, -8($t8)
|
||||
/* 035CF4 7F0011C4 8DE1FFFC */ lw $at, -4($t7)
|
||||
/* 035CF8 7F0011C8 15EEFFF8 */ bne $t7, $t6, .L7F0011AC
|
||||
/* 035CFC 7F0011CC AF01FFFC */ sw $at, -4($t8)
|
||||
/* 035D00 7F0011D0 8DE10000 */ lw $at, ($t7)
|
||||
/* 035D04 7F0011D4 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 035D08 7F0011D8 AF010000 */ sw $at, ($t8)
|
||||
/* 035D0C 7F0011DC 8DEE0004 */ lw $t6, 4($t7)
|
||||
/* 035D10 7F0011E0 AF0E0004 */ sw $t6, 4($t8)
|
||||
/* 035D14 7F0011E4 8CD90000 */ lw $t9, ($a2)
|
||||
/* 035D18 7F0011E8 03227021 */ addu $t6, $t9, $v0
|
||||
/* 035D1C 7F0011EC A5CA0000 */ sh $t2, ($t6)
|
||||
/* 035D20 7F0011F0 8DAF0014 */ lw $t7, 0x14($t5)
|
||||
/* 035D24 7F0011F4 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 035D28 7F0011F8 01E4C021 */ addu $t8, $t7, $a0
|
||||
/* 035D2C 7F0011FC 8F190000 */ lw $t9, ($t8)
|
||||
/* 035D30 7F001200 01C27821 */ addu $t7, $t6, $v0
|
||||
/* 035D34 7F001204 ADF90104 */ sw $t9, 0x104($t7)
|
||||
/* 035D38 7F001208 8CD80000 */ lw $t8, ($a2)
|
||||
/* 035D3C 7F00120C 03027021 */ addu $t6, $t8, $v0
|
||||
/* 035D40 7F001210 A5C00108 */ sh $zero, 0x108($t6)
|
||||
/* 035D44 7F001214 8CD90000 */ lw $t9, ($a2)
|
||||
/* 035D48 7F001218 03227821 */ addu $t7, $t9, $v0
|
||||
/* 035D4C 7F00121C A5EB010A */ sh $t3, 0x10a($t7)
|
||||
/* 035D50 7F001220 8CD80000 */ lw $t8, ($a2)
|
||||
/* 035D54 7F001224 03027021 */ addu $t6, $t8, $v0
|
||||
/* 035D58 7F001228 A1CC0007 */ sb $t4, 7($t6)
|
||||
/* 035D5C 7F00122C 8DB90014 */ lw $t9, 0x14($t5)
|
||||
/* 035D60 7F001230 03241821 */ addu $v1, $t9, $a0
|
||||
.L7F001234:
|
||||
/* 035D64 7F001234 8C6F0008 */ lw $t7, 8($v1)
|
||||
/* 035D68 7F001238 24840008 */ addiu $a0, $a0, 8
|
||||
/* 035D6C 7F00123C 24630008 */ addiu $v1, $v1, 8
|
||||
/* 035D70 7F001240 55E0FFC2 */ bnezl $t7, .L7F00114C
|
||||
/* 035D74 7F001244 8C6E0004 */ lw $t6, 4($v1)
|
||||
.L7F001248:
|
||||
/* 035D78 7F001248 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035D7C 7F00124C 27BD0208 */ addiu $sp, $sp, 0x208
|
||||
/* 035D80 7F001250 03E00008 */ jr $ra
|
||||
/* 035D84 7F001254 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void debug_object_load_all_models(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_object_load_all_models
|
||||
/* 035D88 7F001258 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 035D8C 7F00125C 3C0E8007 */ lui $t6, %hi(ptr_setup_actions)
|
||||
/* 035D90 7F001260 8DCE5D14 */ lw $t6, %lo(ptr_setup_actions)($t6)
|
||||
/* 035D94 7F001264 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 035D98 7F001268 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 035D9C 7F00126C AFB6002C */ sw $s6, 0x2c($sp)
|
||||
/* 035DA0 7F001270 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 035DA4 7F001274 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 035DA8 7F001278 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 035DAC 7F00127C AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 035DB0 7F001280 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 035DB4 7F001284 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 035DB8 7F001288 8DD00000 */ lw $s0, ($t6)
|
||||
/* 035DBC 7F00128C 241500BF */ li $s5, 191
|
||||
/* 035DC0 7F001290 241600C0 */ li $s6, 192
|
||||
/* 035DC4 7F001294 12000052 */ beqz $s0, .L7F0013E0
|
||||
/* 035DC8 7F001298 0000B825 */ move $s7, $zero
|
||||
/* 035DCC 7F00129C 241400BE */ li $s4, 190
|
||||
/* 035DD0 7F0012A0 241300BD */ li $s3, 189
|
||||
/* 035DD4 7F0012A4 2412001B */ li $s2, 27
|
||||
/* 035DD8 7F0012A8 24110004 */ li $s1, 4
|
||||
.L7F0012AC:
|
||||
/* 035DDC 7F0012AC 92030000 */ lbu $v1, ($s0)
|
||||
.L7F0012B0:
|
||||
/* 035DE0 7F0012B0 3C0F8007 */ lui $t7, %hi(ptr_setup_actions)
|
||||
/* 035DE4 7F0012B4 16230004 */ bne $s1, $v1, .L7F0012C8
|
||||
/* 035DE8 7F0012B8 00000000 */ nop
|
||||
/* 035DEC 7F0012BC 8DEF5D14 */ lw $t7, %lo(ptr_setup_actions)($t7)
|
||||
/* 035DF0 7F0012C0 10000042 */ b .L7F0013CC
|
||||
/* 035DF4 7F0012C4 01F71021 */ addu $v0, $t7, $s7
|
||||
.L7F0012C8:
|
||||
/* 035DF8 7F0012C8 5072000C */ beql $v1, $s2, .L7F0012FC
|
||||
/* 035DFC 7F0012CC 92180001 */ lbu $t8, 1($s0)
|
||||
/* 035E00 7F0012D0 10730013 */ beq $v1, $s3, .L7F001320
|
||||
/* 035E04 7F0012D4 00000000 */ nop
|
||||
/* 035E08 7F0012D8 1074001C */ beq $v1, $s4, .L7F00134C
|
||||
/* 035E0C 7F0012DC 00000000 */ nop
|
||||
/* 035E10 7F0012E0 50750026 */ beql $v1, $s5, .L7F00137C
|
||||
/* 035E14 7F0012E4 920A0001 */ lbu $t2, 1($s0)
|
||||
/* 035E18 7F0012E8 5076002F */ beql $v1, $s6, .L7F0013A8
|
||||
/* 035E1C 7F0012EC 920D0001 */ lbu $t5, 1($s0)
|
||||
/* 035E20 7F0012F0 10000032 */ b .L7F0013BC
|
||||
/* 035E24 7F0012F4 02002025 */ move $a0, $s0
|
||||
/* 035E28 7F0012F8 92180001 */ lbu $t8, 1($s0)
|
||||
.L7F0012FC:
|
||||
/* 035E2C 7F0012FC 92080002 */ lbu $t0, 2($s0)
|
||||
/* 035E30 7F001300 0018CA00 */ sll $t9, $t8, 8
|
||||
/* 035E34 7F001304 03281025 */ or $v0, $t9, $t0
|
||||
/* 035E38 7F001308 0FC15B0E */ jal load_model
|
||||
/* 035E3C 7F00130C 3044FFFF */ andi $a0, $v0, 0xffff
|
||||
/* 035E40 7F001310 5040002A */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E44 7F001314 02002025 */ move $a0, $s0
|
||||
/* 035E48 7F001318 10000028 */ b .L7F0013BC
|
||||
/* 035E4C 7F00131C 02002025 */ move $a0, $s0
|
||||
.L7F001320:
|
||||
/* 035E50 7F001320 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E54 7F001324 92040001 */ lbu $a0, 1($s0)
|
||||
/* 035E58 7F001328 82040002 */ lb $a0, 2($s0)
|
||||
/* 035E5C 7F00132C 04820023 */ bltzl $a0, .L7F0013BC
|
||||
/* 035E60 7F001330 02002025 */ move $a0, $s0
|
||||
/* 035E64 7F001334 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E68 7F001338 00000000 */ nop
|
||||
/* 035E6C 7F00133C 5040001F */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E70 7F001340 02002025 */ move $a0, $s0
|
||||
/* 035E74 7F001344 1000001D */ b .L7F0013BC
|
||||
/* 035E78 7F001348 02002025 */ move $a0, $s0
|
||||
.L7F00134C:
|
||||
/* 035E7C 7F00134C 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E80 7F001350 92040001 */ lbu $a0, 1($s0)
|
||||
/* 035E84 7F001354 82040002 */ lb $a0, 2($s0)
|
||||
/* 035E88 7F001358 04820018 */ bltzl $a0, .L7F0013BC
|
||||
/* 035E8C 7F00135C 02002025 */ move $a0, $s0
|
||||
/* 035E90 7F001360 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E94 7F001364 00000000 */ nop
|
||||
/* 035E98 7F001368 50400014 */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E9C 7F00136C 02002025 */ move $a0, $s0
|
||||
/* 035EA0 7F001370 10000012 */ b .L7F0013BC
|
||||
/* 035EA4 7F001374 02002025 */ move $a0, $s0
|
||||
/* 035EA8 7F001378 920A0001 */ lbu $t2, 1($s0)
|
||||
.L7F00137C:
|
||||
/* 035EAC 7F00137C 920C0002 */ lbu $t4, 2($s0)
|
||||
/* 035EB0 7F001380 000A5A00 */ sll $t3, $t2, 8
|
||||
/* 035EB4 7F001384 0FC15B0E */ jal load_model
|
||||
/* 035EB8 7F001388 016C2025 */ or $a0, $t3, $t4
|
||||
/* 035EBC 7F00138C 0FC015C4 */ jal set_weapon_model_generated_thrown_object
|
||||
/* 035EC0 7F001390 92040003 */ lbu $a0, 3($s0)
|
||||
/* 035EC4 7F001394 50400009 */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035EC8 7F001398 02002025 */ move $a0, $s0
|
||||
/* 035ECC 7F00139C 10000007 */ b .L7F0013BC
|
||||
/* 035ED0 7F0013A0 02002025 */ move $a0, $s0
|
||||
/* 035ED4 7F0013A4 920D0001 */ lbu $t5, 1($s0)
|
||||
.L7F0013A8:
|
||||
/* 035ED8 7F0013A8 920F0002 */ lbu $t7, 2($s0)
|
||||
/* 035EDC 7F0013AC 000D7200 */ sll $t6, $t5, 8
|
||||
/* 035EE0 7F0013B0 0FC15B0E */ jal load_model
|
||||
/* 035EE4 7F0013B4 01CF2025 */ or $a0, $t6, $t7
|
||||
/* 035EE8 7F0013B8 02002025 */ move $a0, $s0
|
||||
.L7F0013BC:
|
||||
/* 035EEC 7F0013BC 0FC0D27F */ jal get_length_of_action_block
|
||||
/* 035EF0 7F0013C0 00002825 */ move $a1, $zero
|
||||
/* 035EF4 7F0013C4 1000FFB9 */ b .L7F0012AC
|
||||
/* 035EF8 7F0013C8 02028021 */ addu $s0, $s0, $v0
|
||||
.L7F0013CC:
|
||||
/* 035EFC 7F0013CC 8C500008 */ lw $s0, 8($v0)
|
||||
/* 035F00 7F0013D0 26F70008 */ addiu $s7, $s7, 8
|
||||
/* 035F04 7F0013D4 24420008 */ addiu $v0, $v0, 8
|
||||
/* 035F08 7F0013D8 5600FFB5 */ bnezl $s0, .L7F0012B0
|
||||
/* 035F0C 7F0013DC 92030000 */ lbu $v1, ($s0)
|
||||
.L7F0013E0:
|
||||
/* 035F10 7F0013E0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 035F14 7F0013E4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 035F18 7F0013E8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 035F1C 7F0013EC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 035F20 7F0013F0 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 035F24 7F0013F4 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 035F28 7F0013F8 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 035F2C 7F0013FC 8FB6002C */ lw $s6, 0x2c($sp)
|
||||
/* 035F30 7F001400 8FB70030 */ lw $s7, 0x30($sp)
|
||||
/* 035F34 7F001404 03E00008 */ jr $ra
|
||||
/* 035F38 7F001408 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void debug_weapon_load_table(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_weapon_load_table
|
||||
/* 035F3C 7F00140C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 035F40 7F001410 3C0F8003 */ lui $t7, %hi(weapon_models_for_weapon_load)
|
||||
/* 035F44 7F001414 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 035F48 7F001418 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 035F4C 7F00141C 25EFA23C */ addiu $t7, %lo(weapon_models_for_weapon_load) # addiu $t7, $t7, -0x5dc4
|
||||
/* 035F50 7F001420 8DE10000 */ lw $at, ($t7)
|
||||
/* 035F54 7F001424 8DE80004 */ lw $t0, 4($t7)
|
||||
/* 035F58 7F001428 27AE0030 */ addiu $t6, $sp, 0x30
|
||||
/* 035F5C 7F00142C ADC10000 */ sw $at, ($t6)
|
||||
/* 035F60 7F001430 ADC80004 */ sw $t0, 4($t6)
|
||||
/* 035F64 7F001434 8DE8000C */ lw $t0, 0xc($t7)
|
||||
/* 035F68 7F001438 8DE10008 */ lw $at, 8($t7)
|
||||
/* 035F6C 7F00143C 27B00030 */ addiu $s0, $sp, 0x30
|
||||
/* 035F70 7F001440 ADC8000C */ sw $t0, 0xc($t6)
|
||||
/* 035F74 7F001444 ADC10008 */ sw $at, 8($t6)
|
||||
/* 035F78 7F001448 8DE10010 */ lw $at, 0x10($t7)
|
||||
/* 035F7C 7F00144C 8DE80014 */ lw $t0, 0x14($t7)
|
||||
/* 035F80 7F001450 ADC10010 */ sw $at, 0x10($t6)
|
||||
/* 035F84 7F001454 ADC80014 */ sw $t0, 0x14($t6)
|
||||
/* 035F88 7F001458 8DE8001C */ lw $t0, 0x1c($t7)
|
||||
/* 035F8C 7F00145C 8DE10018 */ lw $at, 0x18($t7)
|
||||
/* 035F90 7F001460 ADC8001C */ sw $t0, 0x1c($t6)
|
||||
/* 035F94 7F001464 ADC10018 */ sw $at, 0x18($t6)
|
||||
/* 035F98 7F001468 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 035F9C 7F00146C 05220009 */ bltzl $t1, .L7F001494
|
||||
/* 035FA0 7F001470 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 035FA4 7F001474 8E040000 */ lw $a0, ($s0)
|
||||
.L7F001478:
|
||||
/* 035FA8 7F001478 0FC15B0E */ jal load_model
|
||||
/* 035FAC 7F00147C 00000000 */ nop
|
||||
/* 035FB0 7F001480 8E040004 */ lw $a0, 4($s0)
|
||||
/* 035FB4 7F001484 26100004 */ addiu $s0, $s0, 4
|
||||
/* 035FB8 7F001488 0481FFFB */ bgez $a0, .L7F001478
|
||||
/* 035FBC 7F00148C 00000000 */ nop
|
||||
/* 035FC0 7F001490 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L7F001494:
|
||||
/* 035FC4 7F001494 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 035FC8 7F001498 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
/* 035FCC 7F00149C 03E00008 */ jr $ra
|
||||
/* 035FD0 7F0014A0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,613 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
// data
|
||||
//D:80036B70
|
||||
s32 highlighted_debug_option = 0;
|
||||
//D:80036B74
|
||||
s32 ptr_last_debuggrp_cutoff = 0;
|
||||
//D:80036B78
|
||||
s32 ptr_textptrs = 0;
|
||||
//D:80036B7C
|
||||
s32 ptr_positions = 0;
|
||||
//D:80036B80
|
||||
s32 number_groups = 0;
|
||||
//D:80036B84
|
||||
s32 ptr_groupings = 0;
|
||||
//D:80036B88
|
||||
s32 num_mcm_something = 2;
|
||||
//D:80036B8C
|
||||
u32 mcm_xoffset_multiplier = 0x4040400;
|
||||
//D:80036B90
|
||||
u32 mcm_yoffset_multiplier = 0x7070700;
|
||||
/*
|
||||
D:80036B94 .word 0
|
||||
D:80036B98 .word 0
|
||||
D:80036B9C .word 0
|
||||
*/
|
||||
|
||||
// rodata
|
||||
//D:80055340
|
||||
const char aMenu_cErrorTriedToCallFont_makegt[] = "menu.c: ERROR! Tried to call font_makegt\n";
|
||||
|
||||
|
||||
|
||||
|
||||
void nullsub_32(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_GAME_7F08FE08(s32 param_1) {
|
||||
num_mcm_something = param_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void init_debug_menu_values(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel init_debug_menu_values
|
||||
/* 0C4944 7F08FE14 3C018003 */ lui $at, %hi(ptr_textptrs)
|
||||
/* 0C4948 7F08FE18 AC246B78 */ sw $a0, %lo(ptr_textptrs)($at)
|
||||
/* 0C494C 7F08FE1C 3C018003 */ lui $at, %hi(ptr_positions)
|
||||
/* 0C4950 7F08FE20 AC256B7C */ sw $a1, %lo(ptr_positions)($at)
|
||||
/* 0C4954 7F08FE24 3C018003 */ lui $at, %hi(ptr_groupings)
|
||||
/* 0C4958 7F08FE28 AC266B84 */ sw $a2, %lo(ptr_groupings)($at)
|
||||
/* 0C495C 7F08FE2C 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 0C4960 7F08FE30 00001025 */ move $v0, $zero
|
||||
/* 0C4964 7F08FE34 00C01825 */ move $v1, $a2
|
||||
/* 0C4968 7F08FE38 05C20007 */ bltzl $t6, .L7F08FE58
|
||||
/* 0C496C 7F08FE3C 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0C4970 7F08FE40 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L7F08FE44:
|
||||
/* 0C4974 7F08FE44 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C4978 7F08FE48 24630004 */ addiu $v1, $v1, 4
|
||||
/* 0C497C 7F08FE4C 05E3FFFD */ bgezl $t7, .L7F08FE44
|
||||
/* 0C4980 7F08FE50 8C6F0004 */ lw $t7, 4($v1)
|
||||
/* 0C4984 7F08FE54 0002C080 */ sll $t8, $v0, 2
|
||||
.L7F08FE58:
|
||||
/* 0C4988 7F08FE58 00D8C821 */ addu $t9, $a2, $t8
|
||||
/* 0C498C 7F08FE5C 8F28FFFC */ lw $t0, -4($t9)
|
||||
/* 0C4990 7F08FE60 3C018003 */ lui $at, %hi(ptr_last_debuggrp_cutoff)
|
||||
/* 0C4994 7F08FE64 AC286B74 */ sw $t0, %lo(ptr_last_debuggrp_cutoff)($at)
|
||||
/* 0C4998 7F08FE68 3C018003 */ lui $at, %hi(number_groups)
|
||||
/* 0C499C 7F08FE6C 03E00008 */ jr $ra
|
||||
/* 0C49A0 7F08FE70 AC226B80 */ sw $v0, %lo(number_groups)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void print_debug_mcm_to_stdout(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel print_debug_mcm_to_stdout
|
||||
/* 0C49A4 7F08FE74 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0C49A8 7F08FE78 3C028003 */ lui $v0, %hi(num_mcm_something)
|
||||
/* 0C49AC 7F08FE7C 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0)
|
||||
/* 0C49B0 7F08FE80 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff)
|
||||
/* 0C49B4 7F08FE84 8DCE6B74 */ lw $t6, %lo(ptr_last_debuggrp_cutoff)($t6)
|
||||
/* 0C49B8 7F08FE88 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0C49BC 7F08FE8C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0C49C0 7F08FE90 3C178003 */ lui $s7, %hi(mcm_xoffset_multiplier)
|
||||
/* 0C49C4 7F08FE94 3C1E8003 */ lui $fp, %hi(mcm_yoffset_multiplier)
|
||||
/* 0C49C8 7F08FE98 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0C49CC 7F08FE9C 02E2B821 */ addu $s7, $s7, $v0
|
||||
/* 0C49D0 7F08FEA0 03C2F021 */ addu $fp, $fp, $v0
|
||||
/* 0C49D4 7F08FEA4 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0C49D8 7F08FEA8 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0C49DC 7F08FEAC AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0C49E0 7F08FEB0 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0C49E4 7F08FEB4 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0C49E8 7F08FEB8 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0C49EC 7F08FEBC AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0C49F0 7F08FEC0 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 0C49F4 7F08FEC4 92F76B8C */ lbu $s7, %lo(mcm_xoffset_multiplier)($s7)
|
||||
/* 0C49F8 7F08FEC8 93DE6B90 */ lbu $fp, %lo(mcm_yoffset_multiplier)($fp)
|
||||
/* 0C49FC 7F08FECC 19C00042 */ blez $t6, .L7F08FFD8
|
||||
/* 0C4A00 7F08FED0 00008025 */ move $s0, $zero
|
||||
/* 0C4A04 7F08FED4 3C168003 */ lui $s6, %hi(ptr_textptrs)
|
||||
/* 0C4A08 7F08FED8 3C148003 */ lui $s4, %hi(ptr_positions)
|
||||
/* 0C4A0C 7F08FEDC 3C138003 */ lui $s3, %hi(highlighted_debug_option)
|
||||
/* 0C4A10 7F08FEE0 26736B70 */ addiu $s3, %lo(highlighted_debug_option) # addiu $s3, $s3, 0x6b70
|
||||
/* 0C4A14 7F08FEE4 26946B7C */ addiu $s4, %lo(ptr_positions) # addiu $s4, $s4, 0x6b7c
|
||||
/* 0C4A18 7F08FEE8 26D66B78 */ addiu $s6, %lo(ptr_textptrs) # addiu $s6, $s6, 0x6b78
|
||||
/* 0C4A1C 7F08FEEC 00008825 */ move $s1, $zero
|
||||
/* 0C4A20 7F08FEF0 00009025 */ move $s2, $zero
|
||||
/* 0C4A24 7F08FEF4 24150007 */ li $s5, 7
|
||||
.L7F08FEF8:
|
||||
/* 0C4A28 7F08FEF8 0FC23F80 */ jal nullsub_32
|
||||
/* 0C4A2C 7F08FEFC 00000000 */ nop
|
||||
/* 0C4A30 7F08FF00 8E6F0000 */ lw $t7, ($s3)
|
||||
/* 0C4A34 7F08FF04 240400C0 */ li $a0, 192
|
||||
/* 0C4A38 7F08FF08 240500C0 */ li $a1, 192
|
||||
/* 0C4A3C 7F08FF0C 160F0008 */ bne $s0, $t7, .L7F08FF30
|
||||
/* 0C4A40 7F08FF10 240600C0 */ li $a2, 192
|
||||
/* 0C4A44 7F08FF14 240400C0 */ li $a0, 192
|
||||
/* 0C4A48 7F08FF18 00002825 */ move $a1, $zero
|
||||
/* 0C4A4C 7F08FF1C 00003025 */ move $a2, $zero
|
||||
/* 0C4A50 7F08FF20 0C002C1B */ jal set_debug_text_color
|
||||
/* 0C4A54 7F08FF24 240700C0 */ li $a3, 192
|
||||
/* 0C4A58 7F08FF28 10000004 */ b .L7F08FF3C
|
||||
/* 0C4A5C 7F08FF2C 8E980000 */ lw $t8, ($s4)
|
||||
.L7F08FF30:
|
||||
/* 0C4A60 7F08FF30 0C002C1B */ jal set_debug_text_color
|
||||
/* 0C4A64 7F08FF34 240700C0 */ li $a3, 192
|
||||
/* 0C4A68 7F08FF38 8E980000 */ lw $t8, ($s4)
|
||||
.L7F08FF3C:
|
||||
/* 0C4A6C 7F08FF3C 03111021 */ addu $v0, $t8, $s1
|
||||
/* 0C4A70 7F08FF40 8C590000 */ lw $t9, ($v0)
|
||||
/* 0C4A74 7F08FF44 8C490004 */ lw $t1, 4($v0)
|
||||
/* 0C4A78 7F08FF48 03370019 */ multu $t9, $s7
|
||||
/* 0C4A7C 7F08FF4C 00002012 */ mflo $a0
|
||||
/* 0C4A80 7F08FF50 2484FFEC */ addiu $a0, $a0, -0x14
|
||||
/* 0C4A84 7F08FF54 04810003 */ bgez $a0, .L7F08FF64
|
||||
/* 0C4A88 7F08FF58 00044083 */ sra $t0, $a0, 2
|
||||
/* 0C4A8C 7F08FF5C 24810003 */ addiu $at, $a0, 3
|
||||
/* 0C4A90 7F08FF60 00014083 */ sra $t0, $at, 2
|
||||
.L7F08FF64:
|
||||
/* 0C4A94 7F08FF64 013E0019 */ multu $t1, $fp
|
||||
/* 0C4A98 7F08FF68 01002025 */ move $a0, $t0
|
||||
/* 0C4A9C 7F08FF6C 00005012 */ mflo $t2
|
||||
/* 0C4AA0 7F08FF70 254BFFF8 */ addiu $t3, $t2, -8
|
||||
/* 0C4AA4 7F08FF74 00000000 */ nop
|
||||
/* 0C4AA8 7F08FF78 0175001A */ div $zero, $t3, $s5
|
||||
/* 0C4AAC 7F08FF7C 00002812 */ mflo $a1
|
||||
/* 0C4AB0 7F08FF80 16A00002 */ bnez $s5, .L7F08FF8C
|
||||
/* 0C4AB4 7F08FF84 00000000 */ nop
|
||||
/* 0C4AB8 7F08FF88 0007000D */ break 7
|
||||
.L7F08FF8C:
|
||||
/* 0C4ABC 7F08FF8C 2401FFFF */ li $at, -1
|
||||
/* 0C4AC0 7F08FF90 16A10004 */ bne $s5, $at, .L7F08FFA4
|
||||
/* 0C4AC4 7F08FF94 3C018000 */ lui $at, 0x8000
|
||||
/* 0C4AC8 7F08FF98 15610002 */ bne $t3, $at, .L7F08FFA4
|
||||
/* 0C4ACC 7F08FF9C 00000000 */ nop
|
||||
/* 0C4AD0 7F08FFA0 0006000D */ break 6
|
||||
.L7F08FFA4:
|
||||
/* 0C4AD4 7F08FFA4 0C002C10 */ jal set_final_debug_text_positions
|
||||
/* 0C4AD8 7F08FFA8 00000000 */ nop
|
||||
/* 0C4ADC 7F08FFAC 8ECC0000 */ lw $t4, ($s6)
|
||||
/* 0C4AE0 7F08FFB0 01926821 */ addu $t5, $t4, $s2
|
||||
/* 0C4AE4 7F08FFB4 0C002C7A */ jal write_string_stdout
|
||||
/* 0C4AE8 7F08FFB8 8DA40000 */ lw $a0, ($t5)
|
||||
/* 0C4AEC 7F08FFBC 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff)
|
||||
/* 0C4AF0 7F08FFC0 8DCE6B74 */ lw $t6, %lo(ptr_last_debuggrp_cutoff)($t6)
|
||||
/* 0C4AF4 7F08FFC4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0C4AF8 7F08FFC8 26310008 */ addiu $s1, $s1, 8
|
||||
/* 0C4AFC 7F08FFCC 020E082A */ slt $at, $s0, $t6
|
||||
/* 0C4B00 7F08FFD0 1420FFC9 */ bnez $at, .L7F08FEF8
|
||||
/* 0C4B04 7F08FFD4 26520004 */ addiu $s2, $s2, 4
|
||||
.L7F08FFD8:
|
||||
/* 0C4B08 7F08FFD8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0C4B0C 7F08FFDC 8FA20040 */ lw $v0, 0x40($sp)
|
||||
/* 0C4B10 7F08FFE0 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0C4B14 7F08FFE4 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0C4B18 7F08FFE8 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0C4B1C 7F08FFEC 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0C4B20 7F08FFF0 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0C4B24 7F08FFF4 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0C4B28 7F08FFF8 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0C4B2C 7F08FFFC 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0C4B30 7F090000 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0C4B34 7F090004 03E00008 */ jr $ra
|
||||
/* 0C4B38 7F090008 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F09000C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F09000C
|
||||
/* 0C4B3C 7F09000C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0C4B40 7F090010 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0C4B44 7F090014 3C028003 */ lui $v0, %hi(num_mcm_something)
|
||||
/* 0C4B48 7F090018 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0)
|
||||
/* 0C4B4C 7F09001C 3C158003 */ lui $s5, %hi(ptr_last_debuggrp_cutoff)
|
||||
/* 0C4B50 7F090020 26B56B74 */ addiu $s5, %lo(ptr_last_debuggrp_cutoff) # addiu $s5, $s5, 0x6b74
|
||||
/* 0C4B54 7F090024 8EAE0000 */ lw $t6, ($s5)
|
||||
/* 0C4B58 7F090028 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0C4B5C 7F09002C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0C4B60 7F090030 3C138003 */ lui $s3, %hi(mcm_xoffset_multiplier)
|
||||
/* 0C4B64 7F090034 3C148003 */ lui $s4, %hi(mcm_yoffset_multiplier)
|
||||
/* 0C4B68 7F090038 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0C4B6C 7F09003C 02629821 */ addu $s3, $s3, $v0
|
||||
/* 0C4B70 7F090040 0282A021 */ addu $s4, $s4, $v0
|
||||
/* 0C4B74 7F090044 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0C4B78 7F090048 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0C4B7C 7F09004C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0C4B80 7F090050 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0C4B84 7F090054 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0C4B88 7F090058 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0C4B8C 7F09005C AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 0C4B90 7F090060 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 0C4B94 7F090064 AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 0C4B98 7F090068 92736B8C */ lbu $s3, %lo(mcm_xoffset_multiplier)($s3)
|
||||
/* 0C4B9C 7F09006C 92946B90 */ lbu $s4, %lo(mcm_yoffset_multiplier)($s4)
|
||||
/* 0C4BA0 7F090070 19C00043 */ blez $t6, .L7F090180
|
||||
/* 0C4BA4 7F090074 00008025 */ move $s0, $zero
|
||||
/* 0C4BA8 7F090078 3C178003 */ lui $s7, %hi(ptr_positions)
|
||||
/* 0C4BAC 7F09007C 3C168003 */ lui $s6, %hi(highlighted_debug_option)
|
||||
/* 0C4BB0 7F090080 26D66B70 */ addiu $s6, %lo(highlighted_debug_option) # addiu $s6, $s6, 0x6b70
|
||||
/* 0C4BB4 7F090084 26F76B7C */ addiu $s7, %lo(ptr_positions) # addiu $s7, $s7, 0x6b7c
|
||||
/* 0C4BB8 7F090088 00008825 */ move $s1, $zero
|
||||
/* 0C4BBC 7F09008C 00009025 */ move $s2, $zero
|
||||
/* 0C4BC0 7F090090 241E0007 */ li $fp, 7
|
||||
.L7F090094:
|
||||
/* 0C4BC4 7F090094 0FC23F80 */ jal nullsub_32
|
||||
/* 0C4BC8 7F090098 00000000 */ nop
|
||||
/* 0C4BCC 7F09009C 8ECF0000 */ lw $t7, ($s6)
|
||||
/* 0C4BD0 7F0900A0 240400C0 */ li $a0, 192
|
||||
/* 0C4BD4 7F0900A4 240500C0 */ li $a1, 192
|
||||
/* 0C4BD8 7F0900A8 160F0008 */ bne $s0, $t7, .L7F0900CC
|
||||
/* 0C4BDC 7F0900AC 240600C0 */ li $a2, 192
|
||||
/* 0C4BE0 7F0900B0 240400C0 */ li $a0, 192
|
||||
/* 0C4BE4 7F0900B4 00002825 */ move $a1, $zero
|
||||
/* 0C4BE8 7F0900B8 00003025 */ move $a2, $zero
|
||||
/* 0C4BEC 7F0900BC 0C002C1B */ jal set_debug_text_color
|
||||
/* 0C4BF0 7F0900C0 240700C0 */ li $a3, 192
|
||||
/* 0C4BF4 7F0900C4 10000004 */ b .L7F0900D8
|
||||
/* 0C4BF8 7F0900C8 8EF80000 */ lw $t8, ($s7)
|
||||
.L7F0900CC:
|
||||
/* 0C4BFC 7F0900CC 0C002C1B */ jal set_debug_text_color
|
||||
/* 0C4C00 7F0900D0 240700C0 */ li $a3, 192
|
||||
/* 0C4C04 7F0900D4 8EF80000 */ lw $t8, ($s7)
|
||||
.L7F0900D8:
|
||||
/* 0C4C08 7F0900D8 03111021 */ addu $v0, $t8, $s1
|
||||
/* 0C4C0C 7F0900DC 8C590000 */ lw $t9, ($v0)
|
||||
/* 0C4C10 7F0900E0 8C490004 */ lw $t1, 4($v0)
|
||||
/* 0C4C14 7F0900E4 03330019 */ multu $t9, $s3
|
||||
/* 0C4C18 7F0900E8 00002012 */ mflo $a0
|
||||
/* 0C4C1C 7F0900EC 2484FFEC */ addiu $a0, $a0, -0x14
|
||||
/* 0C4C20 7F0900F0 04810003 */ bgez $a0, .L7F090100
|
||||
/* 0C4C24 7F0900F4 00044083 */ sra $t0, $a0, 2
|
||||
/* 0C4C28 7F0900F8 24810003 */ addiu $at, $a0, 3
|
||||
/* 0C4C2C 7F0900FC 00014083 */ sra $t0, $at, 2
|
||||
.L7F090100:
|
||||
/* 0C4C30 7F090100 01340019 */ multu $t1, $s4
|
||||
/* 0C4C34 7F090104 01002025 */ move $a0, $t0
|
||||
/* 0C4C38 7F090108 00005012 */ mflo $t2
|
||||
/* 0C4C3C 7F09010C 254BFFF8 */ addiu $t3, $t2, -8
|
||||
/* 0C4C40 7F090110 00000000 */ nop
|
||||
/* 0C4C44 7F090114 017E001A */ div $zero, $t3, $fp
|
||||
/* 0C4C48 7F090118 00002812 */ mflo $a1
|
||||
/* 0C4C4C 7F09011C 17C00002 */ bnez $fp, .L7F090128
|
||||
/* 0C4C50 7F090120 00000000 */ nop
|
||||
/* 0C4C54 7F090124 0007000D */ break 7
|
||||
.L7F090128:
|
||||
/* 0C4C58 7F090128 2401FFFF */ li $at, -1
|
||||
/* 0C4C5C 7F09012C 17C10004 */ bne $fp, $at, .L7F090140
|
||||
/* 0C4C60 7F090130 3C018000 */ lui $at, 0x8000
|
||||
/* 0C4C64 7F090134 15610002 */ bne $t3, $at, .L7F090140
|
||||
/* 0C4C68 7F090138 00000000 */ nop
|
||||
/* 0C4C6C 7F09013C 0006000D */ break 6
|
||||
.L7F090140:
|
||||
/* 0C4C70 7F090140 0C002C10 */ jal set_final_debug_text_positions
|
||||
/* 0C4C74 7F090144 00000000 */ nop
|
||||
/* 0C4C78 7F090148 3C0C8003 */ lui $t4, %hi(ptr_textptrs)
|
||||
/* 0C4C7C 7F09014C 8D8C6B78 */ lw $t4, %lo(ptr_textptrs)($t4)
|
||||
/* 0C4C80 7F090150 01926821 */ addu $t5, $t4, $s2
|
||||
/* 0C4C84 7F090154 0C002C7A */ jal write_string_stdout
|
||||
/* 0C4C88 7F090158 8DA40000 */ lw $a0, ($t5)
|
||||
/* 0C4C8C 7F09015C 3C048005 */ lui $a0, %hi(aMenu_cErrorTriedToCallFont_makegt)
|
||||
/* 0C4C90 7F090160 0C0033D1 */ jal osSyncPrintf
|
||||
/* 0C4C94 7F090164 24845340 */ addiu $a0, %lo(aMenu_cErrorTriedToCallFont_makegt) # addiu $a0, $a0, 0x5340
|
||||
/* 0C4C98 7F090168 8EAE0000 */ lw $t6, ($s5)
|
||||
/* 0C4C9C 7F09016C 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0C4CA0 7F090170 26310008 */ addiu $s1, $s1, 8
|
||||
/* 0C4CA4 7F090174 020E082A */ slt $at, $s0, $t6
|
||||
/* 0C4CA8 7F090178 1420FFC6 */ bnez $at, .L7F090094
|
||||
/* 0C4CAC 7F09017C 26520004 */ addiu $s2, $s2, 4
|
||||
.L7F090180:
|
||||
/* 0C4CB0 7F090180 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0C4CB4 7F090184 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0C4CB8 7F090188 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0C4CBC 7F09018C 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0C4CC0 7F090190 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0C4CC4 7F090194 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0C4CC8 7F090198 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0C4CCC 7F09019C 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0C4CD0 7F0901A0 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0C4CD4 7F0901A4 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0C4CD8 7F0901A8 03E00008 */ jr $ra
|
||||
/* 0C4CDC 7F0901AC 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
s32 get_highlighted_debug_option(void) {
|
||||
return highlighted_debug_option;
|
||||
}
|
||||
|
||||
void sub_GAME_7F0901BC(s32 value) {
|
||||
highlighted_debug_option = value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0901C8(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0901C8
|
||||
/* 0C4CF8 7F0901C8 3C068003 */ lui $a2, %hi(highlighted_debug_option)
|
||||
/* 0C4CFC 7F0901CC 24C66B70 */ addiu $a2, %lo(highlighted_debug_option) # addiu $a2, $a2, 0x6b70
|
||||
/* 0C4D00 7F0901D0 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 0C4D04 7F0901D4 3C188003 */ lui $t8, %hi(ptr_groupings)
|
||||
/* 0C4D08 7F0901D8 3C048003 */ lui $a0, %hi(number_groups)
|
||||
/* 0C4D0C 7F0901DC 25C2FFFF */ addiu $v0, $t6, -1
|
||||
/* 0C4D10 7F0901E0 04410006 */ bgez $v0, .L7F0901FC
|
||||
/* 0C4D14 7F0901E4 ACC20000 */ sw $v0, ($a2)
|
||||
/* 0C4D18 7F0901E8 8F186B84 */ lw $t8, %lo(ptr_groupings)($t8)
|
||||
/* 0C4D1C 7F0901EC 8F190000 */ lw $t9, ($t8)
|
||||
/* 0C4D20 7F0901F0 2728FFFF */ addiu $t0, $t9, -1
|
||||
/* 0C4D24 7F0901F4 03E00008 */ jr $ra
|
||||
/* 0C4D28 7F0901F8 ACC80000 */ sw $t0, ($a2)
|
||||
|
||||
.L7F0901FC:
|
||||
/* 0C4D2C 7F0901FC 8C846B80 */ lw $a0, %lo(number_groups)($a0)
|
||||
/* 0C4D30 7F090200 00001825 */ move $v1, $zero
|
||||
/* 0C4D34 7F090204 3C058003 */ lui $a1, %hi(ptr_groupings)
|
||||
/* 0C4D38 7F090208 1880000D */ blez $a0, .L7F090240
|
||||
/* 0C4D3C 7F09020C 00000000 */ nop
|
||||
/* 0C4D40 7F090210 8CA56B84 */ lw $a1, %lo(ptr_groupings)($a1)
|
||||
.L7F090214:
|
||||
/* 0C4D44 7F090214 8CAA0000 */ lw $t2, ($a1)
|
||||
/* 0C4D48 7F090218 24630001 */ addiu $v1, $v1, 1
|
||||
/* 0C4D4C 7F09021C 24490001 */ addiu $t1, $v0, 1
|
||||
/* 0C4D50 7F090220 152A0005 */ bne $t1, $t2, .L7F090238
|
||||
/* 0C4D54 7F090224 0064082A */ slt $at, $v1, $a0
|
||||
/* 0C4D58 7F090228 8CAB0004 */ lw $t3, 4($a1)
|
||||
/* 0C4D5C 7F09022C 256CFFFF */ addiu $t4, $t3, -1
|
||||
/* 0C4D60 7F090230 03E00008 */ jr $ra
|
||||
/* 0C4D64 7F090234 ACCC0000 */ sw $t4, ($a2)
|
||||
|
||||
.L7F090238:
|
||||
/* 0C4D68 7F090238 1420FFF6 */ bnez $at, .L7F090214
|
||||
/* 0C4D6C 7F09023C 24A50004 */ addiu $a1, $a1, 4
|
||||
.L7F090240:
|
||||
/* 0C4D70 7F090240 03E00008 */ jr $ra
|
||||
/* 0C4D74 7F090244 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F090248(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F090248
|
||||
/* 0C4D78 7F090248 3C078003 */ lui $a3, %hi(highlighted_debug_option)
|
||||
/* 0C4D7C 7F09024C 24E76B70 */ addiu $a3, %lo(highlighted_debug_option) # addiu $a3, $a3, 0x6b70
|
||||
/* 0C4D80 7F090250 8CEE0000 */ lw $t6, ($a3)
|
||||
/* 0C4D84 7F090254 3C038003 */ lui $v1, %hi(ptr_groupings)
|
||||
/* 0C4D88 7F090258 3C058003 */ lui $a1, %hi(number_groups)
|
||||
/* 0C4D8C 7F09025C 25C20001 */ addiu $v0, $t6, 1
|
||||
/* 0C4D90 7F090260 ACE20000 */ sw $v0, ($a3)
|
||||
/* 0C4D94 7F090264 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1)
|
||||
/* 0C4D98 7F090268 8C780000 */ lw $t8, ($v1)
|
||||
/* 0C4D9C 7F09026C 14580003 */ bne $v0, $t8, .L7F09027C
|
||||
/* 0C4DA0 7F090270 00000000 */ nop
|
||||
/* 0C4DA4 7F090274 03E00008 */ jr $ra
|
||||
/* 0C4DA8 7F090278 ACE00000 */ sw $zero, ($a3)
|
||||
|
||||
.L7F09027C:
|
||||
/* 0C4DAC 7F09027C 8CA56B80 */ lw $a1, %lo(number_groups)($a1)
|
||||
/* 0C4DB0 7F090280 00002025 */ move $a0, $zero
|
||||
/* 0C4DB4 7F090284 00603025 */ move $a2, $v1
|
||||
/* 0C4DB8 7F090288 18A0000B */ blez $a1, .L7F0902B8
|
||||
/* 0C4DBC 7F09028C 00000000 */ nop
|
||||
.L7F090290:
|
||||
/* 0C4DC0 7F090290 8CD90000 */ lw $t9, ($a2)
|
||||
/* 0C4DC4 7F090294 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0C4DC8 7F090298 0085082A */ slt $at, $a0, $a1
|
||||
/* 0C4DCC 7F09029C 14590004 */ bne $v0, $t9, .L7F0902B0
|
||||
/* 0C4DD0 7F0902A0 00000000 */ nop
|
||||
/* 0C4DD4 7F0902A4 8CC8FFFC */ lw $t0, -4($a2)
|
||||
/* 0C4DD8 7F0902A8 03E00008 */ jr $ra
|
||||
/* 0C4DDC 7F0902AC ACE80000 */ sw $t0, ($a3)
|
||||
|
||||
.L7F0902B0:
|
||||
/* 0C4DE0 7F0902B0 1420FFF7 */ bnez $at, .L7F090290
|
||||
/* 0C4DE4 7F0902B4 24C60004 */ addiu $a2, $a2, 4
|
||||
.L7F0902B8:
|
||||
/* 0C4DE8 7F0902B8 03E00008 */ jr $ra
|
||||
/* 0C4DEC 7F0902BC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0902C0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0902C0
|
||||
/* 0C4DF0 7F0902C0 3C038003 */ lui $v1, %hi(ptr_groupings)
|
||||
/* 0C4DF4 7F0902C4 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1)
|
||||
/* 0C4DF8 7F0902C8 3C088003 */ lui $t0, %hi(highlighted_debug_option)
|
||||
/* 0C4DFC 7F0902CC 25086B70 */ addiu $t0, %lo(highlighted_debug_option) # addiu $t0, $t0, 0x6b70
|
||||
/* 0C4E00 7F0902D0 8D020000 */ lw $v0, ($t0)
|
||||
/* 0C4E04 7F0902D4 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4E08 7F0902D8 3C058003 */ lui $a1, %hi(number_groups)
|
||||
/* 0C4E0C 7F0902DC 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4E10 7F0902E0 10200008 */ beqz $at, .L7F090304
|
||||
/* 0C4E14 7F0902E4 00447021 */ addu $t6, $v0, $a0
|
||||
/* 0C4E18 7F0902E8 AD0E0000 */ sw $t6, ($t0)
|
||||
/* 0C4E1C 7F0902EC 8C650004 */ lw $a1, 4($v1)
|
||||
/* 0C4E20 7F0902F0 01C5082A */ slt $at, $t6, $a1
|
||||
/* 0C4E24 7F0902F4 14200027 */ bnez $at, .L7F090394
|
||||
/* 0C4E28 7F0902F8 24B8FFFF */ addiu $t8, $a1, -1
|
||||
/* 0C4E2C 7F0902FC 03E00008 */ jr $ra
|
||||
/* 0C4E30 7F090300 AD180000 */ sw $t8, ($t0)
|
||||
|
||||
.L7F090304:
|
||||
/* 0C4E34 7F090304 8CA56B80 */ lw $a1, %lo(number_groups)($a1)
|
||||
/* 0C4E38 7F090308 00002025 */ move $a0, $zero
|
||||
/* 0C4E3C 7F09030C 00603025 */ move $a2, $v1
|
||||
/* 0C4E40 7F090310 18A00020 */ blez $a1, .L7F090394
|
||||
/* 0C4E44 7F090314 00000000 */ nop
|
||||
.L7F090318:
|
||||
/* 0C4E48 7F090318 8CC70000 */ lw $a3, ($a2)
|
||||
/* 0C4E4C 7F09031C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0C4E50 7F090320 0047082A */ slt $at, $v0, $a3
|
||||
/* 0C4E54 7F090324 50200019 */ beql $at, $zero, .L7F09038C
|
||||
/* 0C4E58 7F090328 0085082A */ slt $at, $a0, $a1
|
||||
/* 0C4E5C 7F09032C 8CC9FFFC */ lw $t1, -4($a2)
|
||||
/* 0C4E60 7F090330 0047C821 */ addu $t9, $v0, $a3
|
||||
/* 0C4E64 7F090334 03295023 */ subu $t2, $t9, $t1
|
||||
/* 0C4E68 7F090338 AD0A0000 */ sw $t2, ($t0)
|
||||
/* 0C4E6C 7F09033C 8CC40004 */ lw $a0, 4($a2)
|
||||
/* 0C4E70 7F090340 0483000B */ bgezl $a0, .L7F090370
|
||||
/* 0C4E74 7F090344 8D180000 */ lw $t8, ($t0)
|
||||
/* 0C4E78 7F090348 8CCC0000 */ lw $t4, ($a2)
|
||||
/* 0C4E7C 7F09034C 014C6823 */ subu $t5, $t2, $t4
|
||||
/* 0C4E80 7F090350 AD0D0000 */ sw $t5, ($t0)
|
||||
/* 0C4E84 7F090354 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4E88 7F090358 01A4082A */ slt $at, $t5, $a0
|
||||
/* 0C4E8C 7F09035C 1420000D */ bnez $at, .L7F090394
|
||||
/* 0C4E90 7F090360 248FFFFF */ addiu $t7, $a0, -1
|
||||
/* 0C4E94 7F090364 03E00008 */ jr $ra
|
||||
/* 0C4E98 7F090368 AD0F0000 */ sw $t7, ($t0)
|
||||
|
||||
/* 0C4E9C 7F09036C 8D180000 */ lw $t8, ($t0)
|
||||
.L7F090370:
|
||||
/* 0C4EA0 7F090370 2499FFFF */ addiu $t9, $a0, -1
|
||||
/* 0C4EA4 7F090374 0304082A */ slt $at, $t8, $a0
|
||||
/* 0C4EA8 7F090378 14200006 */ bnez $at, .L7F090394
|
||||
/* 0C4EAC 7F09037C 00000000 */ nop
|
||||
/* 0C4EB0 7F090380 03E00008 */ jr $ra
|
||||
/* 0C4EB4 7F090384 AD190000 */ sw $t9, ($t0)
|
||||
|
||||
/* 0C4EB8 7F090388 0085082A */ slt $at, $a0, $a1
|
||||
.L7F09038C:
|
||||
/* 0C4EBC 7F09038C 1420FFE2 */ bnez $at, .L7F090318
|
||||
/* 0C4EC0 7F090390 24C60004 */ addiu $a2, $a2, 4
|
||||
.L7F090394:
|
||||
/* 0C4EC4 7F090394 03E00008 */ jr $ra
|
||||
/* 0C4EC8 7F090398 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F09039C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F09039C
|
||||
/* 0C4ECC 7F09039C 3C038003 */ lui $v1, %hi(ptr_groupings)
|
||||
/* 0C4ED0 7F0903A0 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1)
|
||||
/* 0C4ED4 7F0903A4 3C078003 */ lui $a3, %hi(highlighted_debug_option)
|
||||
/* 0C4ED8 7F0903A8 24E76B70 */ addiu $a3, %lo(highlighted_debug_option) # addiu $a3, $a3, 0x6b70
|
||||
/* 0C4EDC 7F0903AC 8CE20000 */ lw $v0, ($a3)
|
||||
/* 0C4EE0 7F0903B0 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4EE4 7F0903B4 3C058003 */ lui $a1, %hi(number_groups)
|
||||
/* 0C4EE8 7F0903B8 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4EEC 7F0903BC 50200016 */ beql $at, $zero, .L7F090418
|
||||
/* 0C4EF0 7F0903C0 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4EF4 7F0903C4 8CA56B80 */ lw $a1, %lo(number_groups)($a1)
|
||||
/* 0C4EF8 7F0903C8 00002025 */ move $a0, $zero
|
||||
/* 0C4EFC 7F0903CC 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 0C4F00 7F0903D0 58A00006 */ blezl $a1, .L7F0903EC
|
||||
/* 0C4F04 7F0903D4 00047080 */ sll $t6, $a0, 2
|
||||
/* 0C4F08 7F0903D8 24840001 */ addiu $a0, $a0, 1
|
||||
.L7F0903DC:
|
||||
/* 0C4F0C 7F0903DC 0085082A */ slt $at, $a0, $a1
|
||||
/* 0C4F10 7F0903E0 5420FFFE */ bnezl $at, .L7F0903DC
|
||||
/* 0C4F14 7F0903E4 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0C4F18 7F0903E8 00047080 */ sll $t6, $a0, 2
|
||||
.L7F0903EC:
|
||||
/* 0C4F1C 7F0903EC 006E2821 */ addu $a1, $v1, $t6
|
||||
/* 0C4F20 7F0903F0 8CAFFFFC */ lw $t7, -4($a1)
|
||||
/* 0C4F24 7F0903F4 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 0C4F28 7F0903F8 ACF80000 */ sw $t8, ($a3)
|
||||
/* 0C4F2C 7F0903FC 8CA60000 */ lw $a2, ($a1)
|
||||
/* 0C4F30 7F090400 0306082A */ slt $at, $t8, $a2
|
||||
/* 0C4F34 7F090404 1420001E */ bnez $at, .L7F090480
|
||||
/* 0C4F38 7F090408 24C8FFFF */ addiu $t0, $a2, -1
|
||||
/* 0C4F3C 7F09040C 03E00008 */ jr $ra
|
||||
/* 0C4F40 7F090410 ACE80000 */ sw $t0, ($a3)
|
||||
|
||||
/* 0C4F44 7F090414 0044082A */ slt $at, $v0, $a0
|
||||
.L7F090418:
|
||||
/* 0C4F48 7F090418 14200008 */ bnez $at, .L7F09043C
|
||||
/* 0C4F4C 7F09041C 00002825 */ move $a1, $zero
|
||||
/* 0C4F50 7F090420 00602025 */ move $a0, $v1
|
||||
/* 0C4F54 7F090424 8C890004 */ lw $t1, 4($a0)
|
||||
.L7F090428:
|
||||
/* 0C4F58 7F090428 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0C4F5C 7F09042C 24840004 */ addiu $a0, $a0, 4
|
||||
/* 0C4F60 7F090430 0049082A */ slt $at, $v0, $t1
|
||||
/* 0C4F64 7F090434 5020FFFC */ beql $at, $zero, .L7F090428
|
||||
/* 0C4F68 7F090438 8C890004 */ lw $t1, 4($a0)
|
||||
.L7F09043C:
|
||||
/* 0C4F6C 7F09043C 00055080 */ sll $t2, $a1, 2
|
||||
/* 0C4F70 7F090440 006A2021 */ addu $a0, $v1, $t2
|
||||
/* 0C4F74 7F090444 8C8BFFFC */ lw $t3, -4($a0)
|
||||
/* 0C4F78 7F090448 24ADFFFE */ addiu $t5, $a1, -2
|
||||
/* 0C4F7C 7F09044C 004B6023 */ subu $t4, $v0, $t3
|
||||
/* 0C4F80 7F090450 05A00004 */ bltz $t5, .L7F090464
|
||||
/* 0C4F84 7F090454 ACEC0000 */ sw $t4, ($a3)
|
||||
/* 0C4F88 7F090458 8C8FFFF8 */ lw $t7, -8($a0)
|
||||
/* 0C4F8C 7F09045C 018FC021 */ addu $t8, $t4, $t7
|
||||
/* 0C4F90 7F090460 ACF80000 */ sw $t8, ($a3)
|
||||
.L7F090464:
|
||||
/* 0C4F94 7F090464 8C82FFFC */ lw $v0, -4($a0)
|
||||
/* 0C4F98 7F090468 8CF90000 */ lw $t9, ($a3)
|
||||
/* 0C4F9C 7F09046C 2448FFFF */ addiu $t0, $v0, -1
|
||||
/* 0C4FA0 7F090470 0322082A */ slt $at, $t9, $v0
|
||||
/* 0C4FA4 7F090474 14200002 */ bnez $at, .L7F090480
|
||||
/* 0C4FA8 7F090478 00000000 */ nop
|
||||
/* 0C4FAC 7F09047C ACE80000 */ sw $t0, ($a3)
|
||||
.L7F090480:
|
||||
/* 0C4FB0 7F090480 03E00008 */ jr $ra
|
||||
/* 0C4FB4 7F090484 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,42 @@
|
||||
#ifndef _DEBUGMENU_090490_H_
|
||||
#define _DEBUGMENU_090490_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct mcm_layout {
|
||||
int xpos;
|
||||
int ypos;
|
||||
};
|
||||
|
||||
s32 get_debug_render_raster(void);
|
||||
s32 get_debug_freeze_processing(void);
|
||||
s32 get_debug_limit_controller_input(void);
|
||||
void set_debug_limit_controller_input(void);
|
||||
s32 get_memusage_display_flag(void);
|
||||
s32 get_debug_do_draw_bg(void);
|
||||
s32 get_debug_do_draw_obj(void);
|
||||
s32 get_debug_stanhit_flag(void);
|
||||
s32 get_debug_stanregion_flag(void);
|
||||
s32 get_turbo_mode_flag(void);
|
||||
s32 get_debug_man_pos_flag(void);
|
||||
s32 get_debug_testingmanpos_flag(void);
|
||||
void set_debug_testingmanpos_flag(s32 flag);
|
||||
s32 get_debug_joy2skyedit_flag(void);
|
||||
s32 get_debug_joy2hitsedit_flag(void);
|
||||
s32 get_debug_joy2detailedit_flag(void);
|
||||
s32 get_debug_explosioninfo_flag(void);
|
||||
s32 get_debug_prroomloads_flag(void);
|
||||
s32 get_debug_VisCVG_flag(void);
|
||||
void set_debug_VisCVG_flag(s32 flag);
|
||||
s32 get_debug_007_unlock_flag(void);
|
||||
s32 get_debug_enable_agent_levels_flag(void);
|
||||
s32 get_debug_enable_all_levels_flag(void);
|
||||
s32 get_debug_fast_bond_flag(void);
|
||||
void set_debug_fast_bond_flag(s32 flag);
|
||||
s32 get_debug_all_obj_complete_flag(void);
|
||||
s32 get_debug_portal_flag(void);
|
||||
s32 get_debug_chrnum_flag(void);
|
||||
s32 get_debug_gunwatchpos_flag(void);
|
||||
s32 get_debug_profile_flag(void);
|
||||
s32 get_debug_taskgrab_val(void);
|
||||
void debug_menu_processor(void);
|
||||
#endif
|
||||
@@ -0,0 +1,92 @@
|
||||
#include "ultra64.h"
|
||||
#include "zlib.h"
|
||||
|
||||
//this definately isn't proper way this data was represented, but works for now
|
||||
// rodata
|
||||
//D:8005BF80
|
||||
const u32 rz_header_bytes[] = {
|
||||
0x11720000, 0x11720000, 0x11720000, 0x11720000, 0x11720000,
|
||||
0x11720000, 0x11720000, 0x11720000, 0x11720000, 0x11720000
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel decompressdata
|
||||
/* 103320 7F0CE7F0 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008D350)
|
||||
/* 103324 7F0CE7F4 24E7D350 */ addiu $a3, %lo(dword_CODE_bss_8008D350) # addiu $a3, $a3, -0x2cb0
|
||||
/* 103328 7F0CE7F8 ACE40000 */ sw $a0, ($a3)
|
||||
/* 10332C 7F0CE7FC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D354)
|
||||
/* 103330 7F0CE800 AC25D354 */ sw $a1, %lo(dword_CODE_bss_8008D354)($at)
|
||||
/* 103334 7F0CE804 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 103338 7F0CE808 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D360)
|
||||
/* 10333C 7F0CE80C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 103340 7F0CE810 AC26D360 */ sw $a2, %lo(dword_CODE_bss_8008D360)($at)
|
||||
/* 103344 7F0CE814 3C0E8006 */ lui $t6, %hi(rz_header_bytes)
|
||||
/* 103348 7F0CE818 91CEBF80 */ lbu $t6, %lo(rz_header_bytes)($t6)
|
||||
/* 10334C 7F0CE81C 90820000 */ lbu $v0, ($a0)
|
||||
/* 103350 7F0CE820 3C188006 */ lui $t8, %hi(rz_header_bytes+0x5)
|
||||
/* 103354 7F0CE824 3C198006 */ lui $t9, %hi(rz_header_bytes+0x8)
|
||||
/* 103358 7F0CE828 144E0005 */ bne $v0, $t6, .L7F0CE840
|
||||
/* 10335C 7F0CE82C 3C0A8006 */ lui $t2, %hi(rz_header_bytes+0x18)
|
||||
/* 103360 7F0CE830 908F0001 */ lbu $t7, 1($a0)
|
||||
/* 103364 7F0CE834 9318BF85 */ lbu $t8, %lo(rz_header_bytes+0x5)($t8)
|
||||
/* 103368 7F0CE838 51F8000A */ beql $t7, $t8, .L7F0CE864
|
||||
/* 10336C 7F0CE83C 8CEC0000 */ lw $t4, ($a3)
|
||||
.L7F0CE840:
|
||||
/* 103370 7F0CE840 9083FFFF */ lbu $v1, -1($a0)
|
||||
/* 103374 7F0CE844 9339BF88 */ lbu $t9, %lo(rz_header_bytes+0x8)($t9)
|
||||
/* 103378 7F0CE848 54790002 */ bnel $v1, $t9, .L7F0CE854
|
||||
/* 10337C 7F0CE84C 9089FFFE */ lbu $t1, -2($a0)
|
||||
/* 103380 7F0CE850 9089FFFE */ lbu $t1, -2($a0)
|
||||
.L7F0CE854:
|
||||
/* 103384 7F0CE854 914ABF98 */ lbu $t2, %lo(rz_header_bytes+0x18)($t2)
|
||||
/* 103388 7F0CE858 552A0002 */ bnel $t1, $t2, .L7F0CE864
|
||||
/* 10338C 7F0CE85C 8CEC0000 */ lw $t4, ($a3)
|
||||
/* 103390 7F0CE860 8CEC0000 */ lw $t4, ($a3)
|
||||
.L7F0CE864:
|
||||
/* 103394 7F0CE864 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D35C)
|
||||
/* 103398 7F0CE868 258D0002 */ addiu $t5, $t4, 2
|
||||
/* 10339C 7F0CE86C ACED0000 */ sw $t5, ($a3)
|
||||
/* 1033A0 7F0CE870 AC20D35C */ sw $zero, %lo(dword_CODE_bss_8008D35C)($at)
|
||||
/* 1033A4 7F0CE874 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D358)
|
||||
/* 1033A8 7F0CE878 0FC33F35 */ jal loop_to_decompress_entire_file
|
||||
/* 1033AC 7F0CE87C AC20D358 */ sw $zero, %lo(dword_CODE_bss_8008D358)($at)
|
||||
/* 1033B0 7F0CE880 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 1033B4 7F0CE884 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D35C)
|
||||
/* 1033B8 7F0CE888 8C42D35C */ lw $v0, %lo(dword_CODE_bss_8008D35C)($v0)
|
||||
/* 1033BC 7F0CE88C 03E00008 */ jr $ra
|
||||
/* 1033C0 7F0CE890 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0CE894(void) {
|
||||
// Node 0
|
||||
return (dword_CODE_bss_8008D350 + dword_CODE_bss_8008D358);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0CE894
|
||||
/* 1033C4 7F0CE894 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008D350)
|
||||
/* 1033C8 7F0CE898 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D358)
|
||||
/* 1033CC 7F0CE89C 8DEFD358 */ lw $t7, %lo(dword_CODE_bss_8008D358)($t7)
|
||||
/* 1033D0 7F0CE8A0 8DCED350 */ lw $t6, %lo(dword_CODE_bss_8008D350)($t6)
|
||||
/* 1033D4 7F0CE8A4 03E00008 */ jr $ra
|
||||
/* 1033D8 7F0CE8A8 01CF1021 */ addu $v0, $t6, $t7
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef _DECOMPRESS_H_
|
||||
#define _DECOMPRESS_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2);
|
||||
s32 sub_GAME_7F0CE894(void);
|
||||
|
||||
#endif
|
||||
+578
@@ -0,0 +1,578 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/dyn.h"
|
||||
// bss
|
||||
//CODE.bss:8008C230
|
||||
s32 *ptr_mgfx0_alloc_start;
|
||||
//CODE.bss:8008C234
|
||||
s32 *ptr_mgfx1_alloc_start;
|
||||
//CODE.bss:8008C238
|
||||
s32 *ptr_mgfx_end;
|
||||
//CODE.bss:8008C23C
|
||||
s32 D_8008C23C;
|
||||
//CODE.bss:8008C240
|
||||
s32 *ptr_mvtx0_alloc_start;
|
||||
//CODE.bss:8008C244
|
||||
s32 *ptr_mvtx1_alloc_start;
|
||||
//CODE.bss:8008C248
|
||||
s32 *ptr_mvtx_end;
|
||||
//CODE.bss:8008C24C
|
||||
s32 *ptr_mvtx_cur_pos;
|
||||
//CODE.bss:8008C250
|
||||
s32 bank_in_mgfx_alloc_table;
|
||||
//CODE.bss:8008C254
|
||||
s32 dword_CODE_bss_8008C254;
|
||||
|
||||
|
||||
// data
|
||||
//D:800482E0
|
||||
s32 D_800482E0 = 0;
|
||||
//D:800482E4
|
||||
s32 D_800482E4[] = {0x10000, 0x18000, 0x20000};
|
||||
//D:800482F0
|
||||
s32 D_800482F0[] = {0x28000, 0x10000, 0x18000, 0x20000, 0x28000};
|
||||
|
||||
//D:80048304
|
||||
char membars_string1[] = ">>>>>>>>>>>>>>>>>>>>>>>>>";
|
||||
//D:80048320
|
||||
char membars_string2[] = "=========================";
|
||||
//D:8004833C
|
||||
char membars_string3[] = "-------------------------";
|
||||
|
||||
|
||||
//rodata
|
||||
|
||||
void dynInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&D_800482E0, "dyn_c_debug");
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_vtx_gfx_mem_alloc(void) {
|
||||
s32 sp18;
|
||||
? temp_ret;
|
||||
|
||||
if (check_token(1, "-mgfx") != 0)
|
||||
{
|
||||
dyn_c_debug_notice_list_entry[get_num_players()] = strtol(check_token(1, "-mgfx"), 0, 0) << 0xa;
|
||||
}
|
||||
|
||||
if (check_token(1, "-mvtx") != 0)
|
||||
{
|
||||
D_800482F0[get_num_players()] = strtol(check_token(1, "-mvtx"), 0, 0) << 0xa;
|
||||
}
|
||||
|
||||
mempAllocBytesInBank(dyn_c_debug_notice_list_entry[sVar1] << 1, 4);
|
||||
ptr_mgfx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start);
|
||||
ptr_mgfx0_alloc_start.unk8 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start.unk4);
|
||||
ptr_mvtx0_alloc_start = mempAllocBytesInBank(((0x80050000 + (get_num_players() * 4))->unk-7D10 * 2), 4);
|
||||
ptr_mvtx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D10 + ptr_mvtx0_alloc_start);
|
||||
temp_ret = get_num_players();
|
||||
ptr_mvtx0_alloc_start.unk8 = (s32) ((0x80050000 + (temp_ret * 4))->unk-7D10 + ptr_mvtx0_alloc_start.unk4);
|
||||
bank_in_mgfx_alloc_table = (u8)0;
|
||||
dword_CODE_bss_8008C254 = 0;
|
||||
(void *)0x80090000->unk-3DB4 = (s32) ptr_mvtx0_alloc_start;
|
||||
return temp_ret;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.rdata
|
||||
/*D:8005B68C*/
|
||||
glabel aMgfx
|
||||
/*"-mgfx"*/
|
||||
.word 0x2D6D6766, 0x78000000
|
||||
|
||||
/*D:8005B694*/
|
||||
glabel aMgfx_1
|
||||
/*"-mgfx"*/
|
||||
.word 0x2D6D6766, 0x78000000
|
||||
|
||||
/*D:8005B69C*/
|
||||
glabel aMvtx
|
||||
/*"-mvtx"*/
|
||||
.word 0x2D6D7674, 0x78000000
|
||||
|
||||
/*D:8005B6A4*/
|
||||
glabel aMvtx_0
|
||||
/*"-mvtx"*/
|
||||
.word 0x2D6D7674, 0x78000000
|
||||
|
||||
.text
|
||||
glabel set_vtx_gfx_mem_alloc
|
||||
/* 0F1FBC 7F0BD48C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0F1FC0 7F0BD490 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0F1FC4 7F0BD494 3C058006 */ lui $a1, %hi(aMgfx)
|
||||
/* 0F1FC8 7F0BD498 24A5B68C */ addiu $a1, %lo(aMgfx) # addiu $a1, $a1, -0x4974
|
||||
/* 0F1FCC 7F0BD49C 0C0029A8 */ jal check_token
|
||||
/* 0F1FD0 7F0BD4A0 24040001 */ li $a0, 1
|
||||
/* 0F1FD4 7F0BD4A4 10400012 */ beqz $v0, .L7F0BD4F0
|
||||
/* 0F1FD8 7F0BD4A8 00000000 */ nop
|
||||
/* 0F1FDC 7F0BD4AC 0FC26919 */ jal get_num_players
|
||||
/* 0F1FE0 7F0BD4B0 00000000 */ nop
|
||||
/* 0F1FE4 7F0BD4B4 3C058006 */ lui $a1, %hi(aMgfx_1)
|
||||
/* 0F1FE8 7F0BD4B8 24A5B694 */ addiu $a1, %lo(aMgfx_1) # addiu $a1, $a1, -0x496c
|
||||
/* 0F1FEC 7F0BD4BC AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 0F1FF0 7F0BD4C0 0C0029A8 */ jal check_token
|
||||
/* 0F1FF4 7F0BD4C4 24040001 */ li $a0, 1
|
||||
/* 0F1FF8 7F0BD4C8 00402025 */ move $a0, $v0
|
||||
/* 0F1FFC 7F0BD4CC 00002825 */ move $a1, $zero
|
||||
/* 0F2000 7F0BD4D0 0C002A78 */ jal strtol
|
||||
/* 0F2004 7F0BD4D4 00003025 */ move $a2, $zero
|
||||
/* 0F2008 7F0BD4D8 8FAF0018 */ lw $t7, 0x18($sp)
|
||||
/* 0F200C 7F0BD4DC 3C018005 */ lui $at, %hi(D_800482E0)
|
||||
/* 0F2010 7F0BD4E0 00027280 */ sll $t6, $v0, 0xa
|
||||
/* 0F2014 7F0BD4E4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0F2018 7F0BD4E8 00380821 */ addu $at, $at, $t8
|
||||
/* 0F201C 7F0BD4EC AC2E82E0 */ sw $t6, %lo(D_800482E0)($at)
|
||||
.L7F0BD4F0:
|
||||
/* 0F2020 7F0BD4F0 3C058006 */ lui $a1, %hi(aMvtx)
|
||||
/* 0F2024 7F0BD4F4 24A5B69C */ addiu $a1, %lo(aMvtx) # addiu $a1, $a1, -0x4964
|
||||
/* 0F2028 7F0BD4F8 0C0029A8 */ jal check_token
|
||||
/* 0F202C 7F0BD4FC 24040001 */ li $a0, 1
|
||||
/* 0F2030 7F0BD500 10400012 */ beqz $v0, .L7F0BD54C
|
||||
/* 0F2034 7F0BD504 00000000 */ nop
|
||||
/* 0F2038 7F0BD508 0FC26919 */ jal get_num_players
|
||||
/* 0F203C 7F0BD50C 00000000 */ nop
|
||||
/* 0F2040 7F0BD510 3C058006 */ lui $a1, %hi(aMvtx_0)
|
||||
/* 0F2044 7F0BD514 24A5B6A4 */ addiu $a1, %lo(aMvtx_0) # addiu $a1, $a1, -0x495c
|
||||
/* 0F2048 7F0BD518 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 0F204C 7F0BD51C 0C0029A8 */ jal check_token
|
||||
/* 0F2050 7F0BD520 24040001 */ li $a0, 1
|
||||
/* 0F2054 7F0BD524 00402025 */ move $a0, $v0
|
||||
/* 0F2058 7F0BD528 00002825 */ move $a1, $zero
|
||||
/* 0F205C 7F0BD52C 0C002A78 */ jal strtol
|
||||
/* 0F2060 7F0BD530 00003025 */ move $a2, $zero
|
||||
/* 0F2064 7F0BD534 8FA80018 */ lw $t0, 0x18($sp)
|
||||
/* 0F2068 7F0BD538 3C018005 */ lui $at, %hi(D_800482F0)
|
||||
/* 0F206C 7F0BD53C 0002CA80 */ sll $t9, $v0, 0xa
|
||||
/* 0F2070 7F0BD540 00084880 */ sll $t1, $t0, 2
|
||||
/* 0F2074 7F0BD544 00290821 */ addu $at, $at, $t1
|
||||
/* 0F2078 7F0BD548 AC3982F0 */ sw $t9, %lo(D_800482F0)($at)
|
||||
.L7F0BD54C:
|
||||
/* 0F207C 7F0BD54C 0FC26919 */ jal get_num_players
|
||||
/* 0F2080 7F0BD550 00000000 */ nop
|
||||
/* 0F2084 7F0BD554 00025080 */ sll $t2, $v0, 2
|
||||
/* 0F2088 7F0BD558 3C048005 */ lui $a0, %hi(D_800482E0)
|
||||
/* 0F208C 7F0BD55C 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0F2090 7F0BD560 8C8482E0 */ lw $a0, %lo(D_800482E0)($a0)
|
||||
/* 0F2094 7F0BD564 24050004 */ li $a1, 4
|
||||
/* 0F2098 7F0BD568 00045840 */ sll $t3, $a0, 1
|
||||
/* 0F209C 7F0BD56C 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0F20A0 7F0BD570 01602025 */ move $a0, $t3
|
||||
/* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20A8 7F0BD578 0FC26919 */ jal get_num_players
|
||||
/* 0F20AC 7F0BD57C AC22C230 */ sw $v0, %lo(ptr_mgfx0_alloc_start)($at)
|
||||
/* 0F20B0 7F0BD580 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20B4 7F0BD584 00026080 */ sll $t4, $v0, 2
|
||||
/* 0F20B8 7F0BD588 3C0D8005 */ lui $t5, %hi(D_800482E0)
|
||||
/* 0F20BC 7F0BD58C 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 0F20C0 7F0BD590 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0
|
||||
/* 0F20C4 7F0BD594 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0F20C8 7F0BD598 8DAD82E0 */ lw $t5, %lo(D_800482E0)($t5)
|
||||
/* 0F20CC 7F0BD59C 01AF7021 */ addu $t6, $t5, $t7
|
||||
/* 0F20D0 7F0BD5A0 0FC26919 */ jal get_num_players
|
||||
/* 0F20D4 7F0BD5A4 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 0F20D8 7F0BD5A8 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20DC 7F0BD5AC 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0F20E0 7F0BD5B0 3C088005 */ lui $t0, %hi(D_800482E0)
|
||||
/* 0F20E4 7F0BD5B4 01184021 */ addu $t0, $t0, $t8
|
||||
/* 0F20E8 7F0BD5B8 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0
|
||||
/* 0F20EC 7F0BD5BC 8C790004 */ lw $t9, 4($v1)
|
||||
/* 0F20F0 7F0BD5C0 8D0882E0 */ lw $t0, %lo(D_800482E0)($t0)
|
||||
/* 0F20F4 7F0BD5C4 01194821 */ addu $t1, $t0, $t9
|
||||
/* 0F20F8 7F0BD5C8 0FC26919 */ jal get_num_players
|
||||
/* 0F20FC 7F0BD5CC AC690008 */ sw $t1, 8($v1)
|
||||
/* 0F2100 7F0BD5D0 00025080 */ sll $t2, $v0, 2
|
||||
/* 0F2104 7F0BD5D4 3C048005 */ lui $a0, %hi(D_800482F0)
|
||||
/* 0F2108 7F0BD5D8 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0F210C 7F0BD5DC 8C8482F0 */ lw $a0, %lo(D_800482F0)($a0)
|
||||
/* 0F2110 7F0BD5E0 24050004 */ li $a1, 4
|
||||
/* 0F2114 7F0BD5E4 00045840 */ sll $t3, $a0, 1
|
||||
/* 0F2118 7F0BD5E8 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0F211C 7F0BD5EC 01602025 */ move $a0, $t3
|
||||
/* 0F2120 7F0BD5F0 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F2124 7F0BD5F4 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F2128 7F0BD5F8 0FC26919 */ jal get_num_players
|
||||
/* 0F212C 7F0BD5FC AC620000 */ sw $v0, ($v1)
|
||||
/* 0F2130 7F0BD600 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F2134 7F0BD604 00026080 */ sll $t4, $v0, 2
|
||||
/* 0F2138 7F0BD608 3C0D8005 */ lui $t5, %hi(D_800482F0)
|
||||
/* 0F213C 7F0BD60C 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 0F2140 7F0BD610 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F2144 7F0BD614 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0F2148 7F0BD618 8DAD82F0 */ lw $t5, %lo(D_800482F0)($t5)
|
||||
/* 0F214C 7F0BD61C 01AF7021 */ addu $t6, $t5, $t7
|
||||
/* 0F2150 7F0BD620 0FC26919 */ jal get_num_players
|
||||
/* 0F2154 7F0BD624 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 0F2158 7F0BD628 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F215C 7F0BD62C 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0F2160 7F0BD630 3C088005 */ lui $t0, %hi(D_800482F0)
|
||||
/* 0F2164 7F0BD634 01184021 */ addu $t0, $t0, $t8
|
||||
/* 0F2168 7F0BD638 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F216C 7F0BD63C 8C790004 */ lw $t9, 4($v1)
|
||||
/* 0F2170 7F0BD640 8D0882F0 */ lw $t0, %lo(D_800482F0)($t0)
|
||||
/* 0F2174 7F0BD644 3C018009 */ lui $at, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F2178 7F0BD648 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0F217C 7F0BD64C 01194821 */ addu $t1, $t0, $t9
|
||||
/* 0F2180 7F0BD650 AC690008 */ sw $t1, 8($v1)
|
||||
/* 0F2184 7F0BD654 A020C250 */ sb $zero, %lo(bank_in_mgfx_alloc_table)($at)
|
||||
/* 0F2188 7F0BD658 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F218C 7F0BD65C AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F2190 7F0BD660 8C6A0000 */ lw $t2, ($v1)
|
||||
/* 0F2194 7F0BD664 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2198 7F0BD668 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0F219C 7F0BD66C 03E00008 */ jr $ra
|
||||
/* 0F21A0 7F0BD670 AC2AC24C */ sw $t2, %lo(ptr_mvtx_cur_pos)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void get_ptr_displaylist(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_ptr_displaylist
|
||||
/* 0F21A4 7F0BD674 3C0F8009 */ lui $t7, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F21A8 7F0BD678 91EFC250 */ lbu $t7, %lo(bank_in_mgfx_alloc_table)($t7)
|
||||
/* 0F21AC 7F0BD67C 3C028009 */ lui $v0, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F21B0 7F0BD680 240E0001 */ li $t6, 1
|
||||
/* 0F21B4 7F0BD684 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0F21B8 7F0BD688 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F21BC 7F0BD68C 00581021 */ addu $v0, $v0, $t8
|
||||
/* 0F21C0 7F0BD690 AC2EC254 */ sw $t6, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F21C4 7F0BD694 03E00008 */ jr $ra
|
||||
/* 0F21C8 7F0BD698 8C42C230 */ lw $v0, %lo(ptr_mgfx0_alloc_start)($v0)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void allocate_something_in_mgfx(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel allocate_something_in_mgfx
|
||||
/* 0F21CC 7F0BD69C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F21D0 7F0BD6A0 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F21D4 7F0BD6A4 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start)
|
||||
/* 0F21D8 7F0BD6A8 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F21DC 7F0BD6AC 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F21E0 7F0BD6B0 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8)
|
||||
/* 0F21E4 7F0BD6B4 03041023 */ subu $v0, $t8, $a0
|
||||
/* 0F21E8 7F0BD6B8 0002C8C3 */ sra $t9, $v0, 3
|
||||
/* 0F21EC 7F0BD6BC 03E00008 */ jr $ra
|
||||
/* 0F21F0 7F0BD6C0 03201025 */ move $v0, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0BD6C4(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6C4
|
||||
/* 0F21F4 7F0BD6C4 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F21F8 7F0BD6C8 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F21FC 7F0BD6CC 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2200 7F0BD6D0 00047100 */ sll $t6, $a0, 4
|
||||
/* 0F2204 7F0BD6D4 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 0F2208 7F0BD6D8 03E00008 */ jr $ra
|
||||
/* 0F220C 7F0BD6DC ACCF0000 */ sw $t7, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD6E0(void) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + 0x40);
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6E0
|
||||
/* 0F2210 7F0BD6E0 3C058009 */ lui $a1, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2214 7F0BD6E4 24A5C24C */ addiu $a1, %lo(ptr_mvtx_cur_pos) # addiu $a1, $a1, -0x3db4
|
||||
/* 0F2218 7F0BD6E8 8CA20000 */ lw $v0, ($a1)
|
||||
/* 0F221C 7F0BD6EC 244E0040 */ addiu $t6, $v0, 0x40
|
||||
/* 0F2220 7F0BD6F0 03E00008 */ jr $ra
|
||||
/* 0F2224 7F0BD6F4 ACAE0000 */ sw $t6, ($a1)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD6F8(s32 arg0) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (arg0 * 0x10));
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6F8
|
||||
/* 0F2228 7F0BD6F8 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F222C 7F0BD6FC 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F2230 7F0BD700 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2234 7F0BD704 00047100 */ sll $t6, $a0, 4
|
||||
/* 0F2238 7F0BD708 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 0F223C 7F0BD70C 03E00008 */ jr $ra
|
||||
/* 0F2240 7F0BD710 ACCF0000 */ sw $t7, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD714(s32 arg0) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (((arg0 + 0xf) | 0xf) ^ 0xf));
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD714
|
||||
/* 0F2244 7F0BD714 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2248 7F0BD718 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F224C 7F0BD71C 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2250 7F0BD720 2484000F */ addiu $a0, $a0, 0xf
|
||||
/* 0F2254 7F0BD724 348E000F */ ori $t6, $a0, 0xf
|
||||
/* 0F2258 7F0BD728 39CF000F */ xori $t7, $t6, 0xf
|
||||
/* 0F225C 7F0BD72C 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 0F2260 7F0BD730 03E00008 */ jr $ra
|
||||
/* 0F2264 7F0BD734 ACD80000 */ sw $t8, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void *allocate_something_in_mvtx(void) {
|
||||
// Node 0
|
||||
bank_in_mgfx_alloc_table = (s8) (bank_in_mgfx_alloc_table ^ 1);
|
||||
dword_CODE_bss_8008C254 = 0;
|
||||
ptr_mvtx_cur_pos = (?32) (0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DC0;
|
||||
return &bank_in_mgfx_alloc_table;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel allocate_something_in_mvtx
|
||||
/* 0F2268 7F0BD738 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F226C 7F0BD73C 2442C250 */ addiu $v0, %lo(bank_in_mgfx_alloc_table) # addiu $v0, $v0, -0x3db0
|
||||
/* 0F2270 7F0BD740 904E0000 */ lbu $t6, ($v0)
|
||||
/* 0F2274 7F0BD744 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F2278 7F0BD748 3C088009 */ lui $t0, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F227C 7F0BD74C 39CF0001 */ xori $t7, $t6, 1
|
||||
/* 0F2280 7F0BD750 A04F0000 */ sb $t7, ($v0)
|
||||
/* 0F2284 7F0BD754 AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F2288 7F0BD758 90580000 */ lbu $t8, ($v0)
|
||||
/* 0F228C 7F0BD75C 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2290 7F0BD760 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0F2294 7F0BD764 01194021 */ addu $t0, $t0, $t9
|
||||
/* 0F2298 7F0BD768 8D08C240 */ lw $t0, %lo(ptr_mvtx0_alloc_start)($t0)
|
||||
/* 0F229C 7F0BD76C 03E00008 */ jr $ra
|
||||
/* 0F22A0 7F0BD770 AC28C24C */ sw $t0, %lo(ptr_mvtx_cur_pos)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void removed_debug_routine(s32 arg0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 num_microcode_cmds_that_fit(s32 arg0) {
|
||||
// Node 0
|
||||
return ((s32) ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DCC - arg0) >> 3);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel num_microcode_cmds_that_fit
|
||||
/* 0F22AC 7F0BD77C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F22B0 7F0BD780 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F22B4 7F0BD784 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start)
|
||||
/* 0F22B8 7F0BD788 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F22BC 7F0BD78C 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F22C0 7F0BD790 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8)
|
||||
/* 0F22C4 7F0BD794 03041023 */ subu $v0, $t8, $a0
|
||||
/* 0F22C8 7F0BD798 0002C8C3 */ sra $t9, $v0, 3
|
||||
/* 0F22CC 7F0BD79C 03E00008 */ jr $ra
|
||||
/* 0F22D0 7F0BD7A0 03201025 */ move $v0, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD7A4(void) {
|
||||
// Node 0
|
||||
return ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DBC - ptr_mvtx_cur_pos);
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD7A4
|
||||
/* 0F22D4 7F0BD7A4 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F22D8 7F0BD7A8 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F22DC 7F0BD7AC 3C188009 */ lui $t8, %hi(ptr_mvtx1_alloc_start)
|
||||
/* 0F22E0 7F0BD7B0 3C198009 */ lui $t9, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F22E4 7F0BD7B4 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F22E8 7F0BD7B8 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F22EC 7F0BD7BC 8F18C244 */ lw $t8, %lo(ptr_mvtx1_alloc_start)($t8)
|
||||
/* 0F22F0 7F0BD7C0 8F39C24C */ lw $t9, %lo(ptr_mvtx_cur_pos)($t9)
|
||||
/* 0F22F4 7F0BD7C4 03E00008 */ jr $ra
|
||||
/* 0F22F8 7F0BD7C8 03191023 */ subu $v0, $t8, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void compute_membar_display_string(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel compute_membar_display_string
|
||||
/* 0F22FC 7F0BD7CC 44856000 */ mtc1 $a1, $f12
|
||||
/* 0F2300 7F0BD7D0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0F2304 7F0BD7D4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0F2308 7F0BD7D8 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 0F230C 7F0BD7DC 0C004E1F */ jal strlen
|
||||
/* 0F2310 7F0BD7E0 E7AC001C */ swc1 $f12, 0x1c($sp)
|
||||
/* 0F2314 7F0BD7E4 C7AC001C */ lwc1 $f12, 0x1c($sp)
|
||||
/* 0F2318 7F0BD7E8 C7A40020 */ lwc1 $f4, 0x20($sp)
|
||||
/* 0F231C 7F0BD7EC 44800000 */ mtc1 $zero, $f0
|
||||
/* 0F2320 7F0BD7F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0F2324 7F0BD7F4 46046303 */ div.s $f12, $f12, $f4
|
||||
/* 0F2328 7F0BD7F8 4600603C */ c.lt.s $f12, $f0
|
||||
/* 0F232C 7F0BD7FC 00000000 */ nop
|
||||
/* 0F2330 7F0BD800 45000001 */ bc1f .L7F0BD808
|
||||
/* 0F2334 7F0BD804 00000000 */ nop
|
||||
.L7F0BD808:
|
||||
/* 0F2338 7F0BD808 03E00008 */ jr $ra
|
||||
/* 0F233C 7F0BD80C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void draw_membars(s32 arg0) {
|
||||
void *temp_t7;
|
||||
void *temp_t7_2;
|
||||
|
||||
// Node 0
|
||||
temp_t7 = (&ptr_mgfx0_alloc_start + (bank_in_mgfx_alloc_table * 4));
|
||||
compute_membar_display_string(&membars_string2, (f32) ((s32) (temp_t7->unk4 - arg0) >> 3), (f32) ((s32) (temp_t7->unk4 - *(&ptr_mgfx0_alloc_start + (bank_in_mgfx_alloc_table * 4))) >> 3), arg0);
|
||||
temp_t7_2 = (&ptr_mvtx0_alloc_start + (bank_in_mgfx_alloc_table * 4));
|
||||
return compute_membar_display_string(&membars_string2, (f32) (temp_t7_2->unk4 - ptr_mvtx_cur_pos), (f32) (temp_t7_2->unk4 - *(&ptr_mvtx0_alloc_start + (bank_in_mgfx_alloc_table * 4))), &ptr_mvtx0_alloc_start);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel draw_membars
|
||||
/* 0F2340 7F0BD810 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F2344 7F0BD814 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F2348 7F0BD818 3C088009 */ lui $t0, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F234C 7F0BD81C 2508C230 */ addiu $t0, %lo(ptr_mgfx0_alloc_start) # addiu $t0, $t0, -0x3dd0
|
||||
/* 0F2350 7F0BD820 00027080 */ sll $t6, $v0, 2
|
||||
/* 0F2354 7F0BD824 010E7821 */ addu $t7, $t0, $t6
|
||||
/* 0F2358 7F0BD828 00024880 */ sll $t1, $v0, 2
|
||||
/* 0F235C 7F0BD82C 8DE30004 */ lw $v1, 4($t7)
|
||||
/* 0F2360 7F0BD830 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0F2364 7F0BD834 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0F2368 7F0BD838 00803825 */ move $a3, $a0
|
||||
/* 0F236C 7F0BD83C 0067C023 */ subu $t8, $v1, $a3
|
||||
/* 0F2370 7F0BD840 006B6023 */ subu $t4, $v1, $t3
|
||||
/* 0F2374 7F0BD844 000C68C3 */ sra $t5, $t4, 3
|
||||
/* 0F2378 7F0BD848 0018C8C3 */ sra $t9, $t8, 3
|
||||
/* 0F237C 7F0BD84C 44992000 */ mtc1 $t9, $f4
|
||||
/* 0F2380 7F0BD850 448D3000 */ mtc1 $t5, $f6
|
||||
/* 0F2384 7F0BD854 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0F2388 7F0BD858 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 0F238C 7F0BD85C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0F2390 7F0BD860 3C048005 */ lui $a0, %hi(membars_string2)
|
||||
/* 0F2394 7F0BD864 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0
|
||||
/* 0F2398 7F0BD868 468031A0 */ cvt.s.w $f6, $f6
|
||||
/* 0F239C 7F0BD86C 44052000 */ mfc1 $a1, $f4
|
||||
/* 0F23A0 7F0BD870 44063000 */ mfc1 $a2, $f6
|
||||
/* 0F23A4 7F0BD874 0FC2F5F3 */ jal compute_membar_display_string
|
||||
/* 0F23A8 7F0BD878 00000000 */ nop
|
||||
/* 0F23AC 7F0BD87C 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F23B0 7F0BD880 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F23B4 7F0BD884 3C078009 */ lui $a3, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F23B8 7F0BD888 24E7C240 */ addiu $a3, %lo(ptr_mvtx0_alloc_start) # addiu $a3, $a3, -0x3dc0
|
||||
/* 0F23BC 7F0BD88C 00027080 */ sll $t6, $v0, 2
|
||||
/* 0F23C0 7F0BD890 00EE7821 */ addu $t7, $a3, $t6
|
||||
/* 0F23C4 7F0BD894 00024880 */ sll $t1, $v0, 2
|
||||
/* 0F23C8 7F0BD898 8DE30004 */ lw $v1, 4($t7)
|
||||
/* 0F23CC 7F0BD89C 00E95021 */ addu $t2, $a3, $t1
|
||||
/* 0F23D0 7F0BD8A0 3C188009 */ lui $t8, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F23D4 7F0BD8A4 8F18C24C */ lw $t8, %lo(ptr_mvtx_cur_pos)($t8)
|
||||
/* 0F23D8 7F0BD8A8 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0F23DC 7F0BD8AC 3C048005 */ lui $a0, %hi(membars_string2)
|
||||
/* 0F23E0 7F0BD8B0 0078C823 */ subu $t9, $v1, $t8
|
||||
/* 0F23E4 7F0BD8B4 006B6023 */ subu $t4, $v1, $t3
|
||||
/* 0F23E8 7F0BD8B8 448C5000 */ mtc1 $t4, $f10
|
||||
/* 0F23EC 7F0BD8BC 44994000 */ mtc1 $t9, $f8
|
||||
/* 0F23F0 7F0BD8C0 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0
|
||||
/* 0F23F4 7F0BD8C4 468052A0 */ cvt.s.w $f10, $f10
|
||||
/* 0F23F8 7F0BD8C8 46804220 */ cvt.s.w $f8, $f8
|
||||
/* 0F23FC 7F0BD8CC 44065000 */ mfc1 $a2, $f10
|
||||
/* 0F2400 7F0BD8D0 44054000 */ mfc1 $a1, $f8
|
||||
/* 0F2404 7F0BD8D4 0FC2F5F3 */ jal compute_membar_display_string
|
||||
/* 0F2408 7F0BD8D8 00000000 */ nop
|
||||
/* 0F240C 7F0BD8DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0F2410 7F0BD8E0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0F2414 7F0BD8E4 03E00008 */ jr $ra
|
||||
/* 0F2418 7F0BD8E8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _DYN_H_
|
||||
#define _DYN_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
void dynInitDebugNoticeList(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void something_with_ejected_cartridges(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel something_with_ejected_cartridges
|
||||
/* 039B70 7F005040 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 039B74 7F005044 3C018007 */ lui $at, %hi(dword_CODE_bss_80075DB0)
|
||||
/* 039B78 7F005048 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DB8)
|
||||
/* 039B7C 7F00504C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075DC8)
|
||||
/* 039B80 7F005050 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 039B84 7F005054 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 039B88 7F005058 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 039B8C 7F00505C AC205DB0 */ sw $zero, %lo(dword_CODE_bss_80075DB0)($at)
|
||||
/* 039B90 7F005060 24635DC8 */ addiu $v1, %lo(dword_CODE_bss_80075DC8) # addiu $v1, $v1, 0x5dc8
|
||||
/* 039B94 7F005064 24425DB8 */ addiu $v0, %lo(dword_CODE_bss_80075DB8) # addiu $v0, $v0, 0x5db8
|
||||
.L7F005068:
|
||||
/* 039B98 7F005068 24420004 */ addiu $v0, $v0, 4
|
||||
/* 039B9C 7F00506C 0043082B */ sltu $at, $v0, $v1
|
||||
/* 039BA0 7F005070 1420FFFD */ bnez $at, .L7F005068
|
||||
/* 039BA4 7F005074 AC40FFFC */ sw $zero, -4($v0)
|
||||
/* 039BA8 7F005078 3C0E8003 */ lui $t6, %hi(ejected_cartridge)
|
||||
/* 039BAC 7F00507C 8DCE246C */ lw $t6, %lo(ejected_cartridge)($t6)
|
||||
/* 039BB0 7F005080 3C018003 */ lui $at, %hi(cartridges_eject)
|
||||
/* 039BB4 7F005084 AC204C9C */ sw $zero, %lo(cartridges_eject)($at)
|
||||
/* 039BB8 7F005088 3C018003 */ lui $at, %hi(D_80034CA0)
|
||||
/* 039BBC 7F00508C 11C0000B */ beqz $t6, .L7F0050BC
|
||||
/* 039BC0 7F005090 AC204CA0 */ sw $zero, %lo(D_80034CA0)($at)
|
||||
/* 039BC4 7F005094 3C0F8003 */ lui $t7, %hi(ejected_cartridge)
|
||||
/* 039BC8 7F005098 25F0246C */ addiu $s0, $t7, %lo(ejected_cartridge)
|
||||
/* 039BCC 7F00509C 8E110000 */ lw $s1, ($s0)
|
||||
/* 039BD0 7F0050A0 02202025 */ move $a0, $s1
|
||||
.L7F0050A4:
|
||||
/* 039BD4 7F0050A4 0FC1D953 */ jal load_object_into_memory
|
||||
/* 039BD8 7F0050A8 8E050004 */ lw $a1, 4($s0)
|
||||
/* 039BDC 7F0050AC 8E110008 */ lw $s1, 8($s0)
|
||||
/* 039BE0 7F0050B0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 039BE4 7F0050B4 5620FFFB */ bnezl $s1, .L7F0050A4
|
||||
/* 039BE8 7F0050B8 02202025 */ move $a0, $s1
|
||||
.L7F0050BC:
|
||||
/* 039BEC 7F0050BC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 039BF0 7F0050C0 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 039BF4 7F0050C4 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 039BF8 7F0050C8 03E00008 */ jr $ra
|
||||
/* 039BFC 7F0050CC 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
)
|
||||
#endif
|
||||
|
||||
+1284
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,60 @@
|
||||
#ifndef _FOG_H_
|
||||
#define _FOG_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct fog_element {
|
||||
u32 stageID;
|
||||
f32 blendmultiplier;
|
||||
f32 farfog;
|
||||
f32 nearfog;
|
||||
f32 maxvisrange;
|
||||
f32 maxobfuscationrange;
|
||||
f32 minvisrange;
|
||||
u32 intensity;
|
||||
u32 dif_in_light;
|
||||
u32 far_ambiantlight;
|
||||
u8 red;
|
||||
u8 green;
|
||||
u8 blue;
|
||||
u8 clouds;
|
||||
f32 cloudrepeat;
|
||||
u16 skyimageid;
|
||||
u16 reserved;
|
||||
f32 cloudred;
|
||||
f32 cloudgreen;
|
||||
f32 cloudblue;
|
||||
u8 iswater;
|
||||
u8 padding[3];
|
||||
f32 waterrepeat;
|
||||
u16 waterimageid;
|
||||
u16 reserved2;
|
||||
f32 waterred;
|
||||
f32 watergreen;
|
||||
f32 waterblue;
|
||||
f32 waterconcavity;
|
||||
};
|
||||
|
||||
struct fog_element2 {
|
||||
u32 stageID;
|
||||
u8 red;
|
||||
u8 green;
|
||||
u8 blue;
|
||||
u8 clouds;
|
||||
f32 cloudrepeat;
|
||||
u16 skyimageid;
|
||||
u16 reserved;
|
||||
f32 cloudred;
|
||||
f32 cloudgreen;
|
||||
f32 cloudblue;
|
||||
u8 iswater;
|
||||
u8 padding[3];
|
||||
f32 waterrepeat;
|
||||
u16 waterimageid;
|
||||
u16 reserved2;
|
||||
f32 waterred;
|
||||
f32 watergreen;
|
||||
f32 waterblue;
|
||||
f32 waterconcavity;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,29 @@
|
||||
#include "ultra64.h"
|
||||
#include "deb.h"
|
||||
#include "game/ob.h"
|
||||
#include "memp.h"
|
||||
#include "game/game_debug.h"
|
||||
|
||||
// data
|
||||
//D:8004EAE0
|
||||
s32 D_8004EAE0[] = {0, 0, 0, 0};
|
||||
|
||||
void gameInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&D_8004EAE0, "game_c_debug");
|
||||
}
|
||||
|
||||
void reset_mem_bank_5(void) {
|
||||
obBlankResourcesInBank5();
|
||||
mempResetBank(5);
|
||||
obBlankResourcesLoadedInBank(5);
|
||||
}
|
||||
|
||||
void sub_GAME_7F0D1A7C(void) {
|
||||
mempNullNextEntryInBank(5);
|
||||
obBlankResourcesLoadedInBank(5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _GAME_DEBUG_H_
|
||||
#define _GAME_DEBUG_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
void gameInitDebugNoticeList(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,484 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/gamefile2.h"
|
||||
#include "game/mainmenu.h"
|
||||
|
||||
/* EEPROM masks for in-game settings */
|
||||
#define OPTION_INVERTLOOK 0x0001
|
||||
#define OPTION_AUTOAIM 0x0002
|
||||
#define OPTION_AIMCONTROL 0x0004
|
||||
#define OPTION_SIGHTONSCREEN 0x0008
|
||||
#define OPTION_LOOKAHEAD 0x0010
|
||||
#define OPTION_DISPLAYAMMO 0x0020
|
||||
#define OPTION_SCREENWIDE 0x0040
|
||||
#define OPTION_SCREENRATIO 0x0080
|
||||
#define OPTION_CONTROLTYPE 0x0700
|
||||
#define OPTION_SCREENCINEMA 0x0800
|
||||
|
||||
#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_LOOKAHEAD | OPTION_DISPLAYAMMO)
|
||||
|
||||
// bss
|
||||
//CODE.bss:80069920
|
||||
struct save_data save1;
|
||||
//CODE.bss:80069980
|
||||
struct save_data save2;
|
||||
//CODE.bss:800699E0
|
||||
struct save_data save3;
|
||||
//CODE.bss:80069A40
|
||||
struct save_data save4;
|
||||
//CODE.bss:80069AA0
|
||||
struct save_data save5;
|
||||
//CODE.bss:80069B00
|
||||
struct save_data save6;
|
||||
|
||||
//CODE.bss:80069B60
|
||||
u32 dword_CODE_bss_80069B60;
|
||||
|
||||
|
||||
//data
|
||||
//D:8002C510
|
||||
u32 save_selected_bond[] = {0,0,0,0};
|
||||
|
||||
//D:8002C520
|
||||
struct save_data D_8002C520 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C580
|
||||
struct save_data D_8002C580 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C5E0
|
||||
struct save_data D_8002C5E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C640
|
||||
u32 D_8002C640 = 0x00000000;
|
||||
u32 D_8002C644 = 0x00000000;
|
||||
u32 flt_8002C648 = 0x42000000;
|
||||
u32 dword_8002C64C = 0x00000000;
|
||||
u32 dword_8002C650 = 0x00000000;
|
||||
u32 dword_8002C654 = 0x00000000;
|
||||
u32 dword_8002C658 = 0x00000000;
|
||||
u32 dword_8002C65C = 0x00000000;
|
||||
|
||||
|
||||
|
||||
|
||||
//D:8002C660
|
||||
struct save_data D_8002C660 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
|
||||
//D:8002C6C0
|
||||
struct save_data D_8002C6C0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C720
|
||||
struct save_data D_8002C720 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C780
|
||||
struct save_data D_8002C780 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C7E0
|
||||
struct save_data D_8002C7E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C840
|
||||
struct save_data D_8002C840 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C8A0
|
||||
struct save_data blank_eeprom = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
|
||||
f32 get_007_reaction_speed(void)
|
||||
{
|
||||
if (get_current_difficulty() == DIFFICULTY_007) {
|
||||
return slider_007_mode_reaction;
|
||||
}
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
f32 get_007_health_mod(void)
|
||||
{
|
||||
if (get_current_difficulty() == DIFFICULTY_007) {
|
||||
return slider_007_mode_health;
|
||||
}
|
||||
return 1.f;
|
||||
}
|
||||
|
||||
f32 get_007_damage_mod(void)
|
||||
{
|
||||
if (get_current_difficulty() == DIFFICULTY_007) {
|
||||
return slider_007_mode_accuracy;
|
||||
}
|
||||
return 1.f;
|
||||
}
|
||||
|
||||
f32 get_007_accuracy_mod(void)
|
||||
{
|
||||
if (get_current_difficulty() == DIFFICULTY_007) {
|
||||
return slider_007_mode_damage;
|
||||
}
|
||||
return 1.f;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void end_of_mission_briefing(void)
|
||||
|
||||
{
|
||||
short sVar1;
|
||||
int iVar3;
|
||||
save_file *folder;
|
||||
ulonglong uVar2;
|
||||
|
||||
if (((-1 < briefingpage) && (selected_difficulty != DIFFICULTY_007)) && (append_cheat_sp == FALSE)
|
||||
) {
|
||||
sVar1 = (&solo_target_times_ARRAY_8002b564
|
||||
[mission_folder_setup_entries[briefingpage].mission_num].agent_time)
|
||||
[selected_difficulty];
|
||||
|
||||
unlock_stage_in_folder_on_difficulty
|
||||
(selected_folder_num,(longlong)mission_folder_setup_entries[briefingpage].mission_num,
|
||||
(longlong)selected_difficulty,getMissiontime() / 0x3c);
|
||||
|
||||
if ((longlong)(getMissiontime() / 0x3c) <= (longlong)sVar1) {
|
||||
folder = getEEPROMforFoldernum(selected_folder_num);
|
||||
if (check_if_cheat_unlocked(folder,(longlong)mission_folder_setup_entries[briefingpage].mission_num) == 0) {
|
||||
proc_7F01E760(selected_folder_num,(longlong)mission_folder_setup_entries[briefingpage].mission_num);
|
||||
newcheatunlocked = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
newcheatunlocked = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#else
|
||||
|
||||
#ifdef VERSION_US
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel end_of_mission_briefing
|
||||
/* 051ECC 7F01D39C 3C028003 */ lui $v0, %hi(briefingpage)
|
||||
/* 051ED0 7F01D3A0 8C42A8F8 */ lw $v0, %lo(briefingpage)($v0)
|
||||
/* 051ED4 7F01D3A4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 051ED8 7F01D3A8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 051EDC 7F01D3AC 04400050 */ bltz $v0, .L7F01D4F0
|
||||
/* 051EE0 7F01D3B0 3C038003 */ lui $v1, %hi(selected_difficulty)
|
||||
/* 051EE4 7F01D3B4 8C63A8FC */ lw $v1, %lo(selected_difficulty)($v1)
|
||||
/* 051EE8 7F01D3B8 24010003 */ li $at, 3
|
||||
/* 051EEC 7F01D3BC 3C0E8003 */ lui $t6, %hi(append_cheat_sp)
|
||||
/* 051EF0 7F01D3C0 5061004C */ beql $v1, $at, .L7F01D4F4
|
||||
/* 051EF4 7F01D3C4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 051EF8 7F01D3C8 8DCEA900 */ lw $t6, %lo(append_cheat_sp)($t6)
|
||||
/* 051EFC 7F01D3CC 000278C0 */ sll $t7, $v0, 3
|
||||
/* 051F00 7F01D3D0 01E27823 */ subu $t7, $t7, $v0
|
||||
/* 051F04 7F01D3D4 15C00046 */ bnez $t6, .L7F01D4F0
|
||||
/* 051F08 7F01D3D8 000F7880 */ sll $t7, $t7, 2
|
||||
/* 051F0C 7F01D3DC 3C188003 */ lui $t8, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051F10 7F01D3E0 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 051F14 7F01D3E4 8F18ABF8 */ lw $t8, %lo(mission_folder_setup_entries+0x14)($t8)
|
||||
/* 051F18 7F01D3E8 00034040 */ sll $t0, $v1, 1
|
||||
/* 051F1C 7F01D3EC 3C0A8003 */ lui $t2, %hi(solo_target_time_array)
|
||||
/* 051F20 7F01D3F0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 051F24 7F01D3F4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 051F28 7F01D3F8 0019C840 */ sll $t9, $t9, 1
|
||||
/* 051F2C 7F01D3FC 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051F30 7F01D400 01495021 */ addu $t2, $t2, $t1
|
||||
/* 051F34 7F01D404 854AB564 */ lh $t2, %lo(solo_target_time_array)($t2)
|
||||
/* 051F38 7F01D408 0FC22FEE */ jal get_mission_timer
|
||||
/* 051F3C 7F01D40C A7AA001E */ sh $t2, 0x1e($sp)
|
||||
/* 051F40 7F01D410 2401003C */ li $at, 60
|
||||
/* 051F44 7F01D414 0041001A */ div $zero, $v0, $at
|
||||
/* 051F48 7F01D418 3C0B8003 */ lui $t3, %hi(briefingpage)
|
||||
/* 051F4C 7F01D41C 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3)
|
||||
/* 051F50 7F01D420 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051F54 7F01D424 00003812 */ mflo $a3
|
||||
/* 051F58 7F01D428 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 051F5C 7F01D42C 018B6023 */ subu $t4, $t4, $t3
|
||||
/* 051F60 7F01D430 000C6080 */ sll $t4, $t4, 2
|
||||
/* 051F64 7F01D434 00AC2821 */ addu $a1, $a1, $t4
|
||||
/* 051F68 7F01D438 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051F6C 7F01D43C 3C068003 */ lui $a2, %hi(selected_difficulty)
|
||||
/* 051F70 7F01D440 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2)
|
||||
/* 051F74 7F01D444 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051F78 7F01D448 0FC0797E */ jal unlock_stage_in_folder_on_difficulty
|
||||
/* 051F7C 7F01D44C 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 051F80 7F01D450 0FC22FEE */ jal get_mission_timer
|
||||
/* 051F84 7F01D454 00000000 */ nop
|
||||
/* 051F88 7F01D458 2401003C */ li $at, 60
|
||||
/* 051F8C 7F01D45C 0041001A */ div $zero, $v0, $at
|
||||
/* 051F90 7F01D460 87AD001E */ lh $t5, 0x1e($sp)
|
||||
/* 051F94 7F01D464 00007012 */ mflo $t6
|
||||
/* 051F98 7F01D468 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051F9C 7F01D46C 01AE082A */ slt $at, $t5, $t6
|
||||
/* 051FA0 7F01D470 1420001D */ bnez $at, .L7F01D4E8
|
||||
/* 051FA4 7F01D474 00000000 */ nop
|
||||
/* 051FA8 7F01D478 0FC07771 */ jal get_save_folder_ptr
|
||||
/* 051FAC 7F01D47C 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051FB0 7F01D480 3C0F8003 */ lui $t7, %hi(briefingpage)
|
||||
/* 051FB4 7F01D484 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7)
|
||||
/* 051FB8 7F01D488 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051FBC 7F01D48C 00402025 */ move $a0, $v0
|
||||
/* 051FC0 7F01D490 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 051FC4 7F01D494 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 051FC8 7F01D498 0018C080 */ sll $t8, $t8, 2
|
||||
/* 051FCC 7F01D49C 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 051FD0 7F01D4A0 0FC07748 */ jal check_if_cheat_unlocked
|
||||
/* 051FD4 7F01D4A4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 051FD8 7F01D4A8 1440000F */ bnez $v0, .L7F01D4E8
|
||||
/* 051FDC 7F01D4AC 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051FE0 7F01D4B0 3C198003 */ lui $t9, %hi(briefingpage)
|
||||
/* 051FE4 7F01D4B4 8F39A8F8 */ lw $t9, %lo(briefingpage)($t9)
|
||||
/* 051FE8 7F01D4B8 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051FEC 7F01D4BC 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051FF0 7F01D4C0 001940C0 */ sll $t0, $t9, 3
|
||||
/* 051FF4 7F01D4C4 01194023 */ subu $t0, $t0, $t9
|
||||
/* 051FF8 7F01D4C8 00084080 */ sll $t0, $t0, 2
|
||||
/* 051FFC 7F01D4CC 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 052000 7F01D4D0 0FC079D8 */ jal sub_GAME_7F01E760
|
||||
/* 052004 7F01D4D4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 052008 7F01D4D8 24090001 */ li $t1, 1
|
||||
/* 05200C 7F01D4DC 3C018007 */ lui $at, %hi(newcheatunlocked)
|
||||
/* 052010 7F01D4E0 10000003 */ b .L7F01D4F0
|
||||
/* 052014 7F01D4E4 AC299790 */ sw $t1, %lo(newcheatunlocked)($at)
|
||||
.L7F01D4E8:
|
||||
/* 052018 7F01D4E8 3C018007 */ lui $at, %hi(newcheatunlocked)
|
||||
/* 05201C 7F01D4EC AC209790 */ sw $zero, %lo(newcheatunlocked)($at)
|
||||
.L7F01D4F0:
|
||||
/* 052020 7F01D4F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F01D4F4:
|
||||
/* 052024 7F01D4F4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 052028 7F01D4F8 03E00008 */ jr $ra
|
||||
/* 05202C 7F01D4FC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_JP
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel end_of_mission_briefing
|
||||
/* 0520BC 7F01D54C 3C028003 */ lui $v0, %hi(briefingpage) # $v0, 0x8003
|
||||
/* 0520C0 7F01D550 8C42A938 */ lw $v0, %lo(briefingpage)($v0)
|
||||
/* 0520C4 7F01D554 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0520C8 7F01D558 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0520CC 7F01D55C 0440004D */ bltz $v0, .L7F01D694
|
||||
/* 0520D0 7F01D560 3C038003 */ lui $v1, %hi(selected_difficulty) # $v1, 0x8003
|
||||
/* 0520D4 7F01D564 8C63A93C */ lw $v1, %lo(selected_difficulty)($v1)
|
||||
/* 0520D8 7F01D568 24010003 */ li $at, 3
|
||||
/* 0520DC 7F01D56C 3C0E8003 */ lui $t6, %hi(append_cheat_sp) # $t6, 0x8003
|
||||
/* 0520E0 7F01D570 50610049 */ beql $v1, $at, .L7F01D698
|
||||
/* 0520E4 7F01D574 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0520E8 7F01D578 8DCEA940 */ lw $t6, %lo(append_cheat_sp)($t6)
|
||||
/* 0520EC 7F01D57C 000278C0 */ sll $t7, $v0, 3
|
||||
/* 0520F0 7F01D580 01E27823 */ subu $t7, $t7, $v0
|
||||
/* 0520F4 7F01D584 15C00043 */ bnez $t6, .L7F01D694
|
||||
/* 0520F8 7F01D588 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0520FC 7F01D58C 3C188003 */ lui $t8, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 052100 7F01D590 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 052104 7F01D594 8F18AC38 */ lw $t8, %lo(mission_folder_setup_entries+0x14)($t8)
|
||||
/* 052108 7F01D598 00034040 */ sll $t0, $v1, 1
|
||||
/* 05210C 7F01D59C 3C0A8003 */ lui $t2, %hi(solo_target_time_array)
|
||||
/* 052110 7F01D5A0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 052114 7F01D5A4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 052118 7F01D5A8 0019C840 */ sll $t9, $t9, 1
|
||||
/* 05211C 7F01D5AC 03284821 */ addu $t1, $t9, $t0
|
||||
/* 052120 7F01D5B0 01495021 */ addu $t2, $t2, $t1
|
||||
/* 052124 7F01D5B4 854AB5A4 */ lh $t2, %lo(solo_target_time_array)($t2)
|
||||
/* 052128 7F01D5B8 0FC23210 */ jal get_mission_timer
|
||||
/* 05212C 7F01D5BC A7AA001E */ sh $t2, 0x1e($sp)
|
||||
/* 052130 7F01D5C0 2401003C */ li $at, 60
|
||||
/* 052134 7F01D5C4 0041001A */ div $zero, $v0, $at
|
||||
/* 052138 7F01D5C8 3C0B8003 */ lui $t3, %hi(briefingpage) # $t3, 0x8003
|
||||
/* 05213C 7F01D5CC 8D6BA938 */ lw $t3, %lo(briefingpage)($t3)
|
||||
/* 052140 7F01D5D0 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 052144 7F01D5D4 00003812 */ mflo $a3
|
||||
/* 052148 7F01D5D8 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 05214C 7F01D5DC 018B6023 */ subu $t4, $t4, $t3
|
||||
/* 052150 7F01D5E0 000C6080 */ sll $t4, $t4, 2
|
||||
/* 052154 7F01D5E4 00AC2821 */ addu $a1, $a1, $t4
|
||||
/* 052158 7F01D5E8 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003
|
||||
/* 05215C 7F01D5EC 3C068003 */ lui $a2, %hi(selected_difficulty) # $a2, 0x8003
|
||||
/* 052160 7F01D5F0 8CC6A93C */ lw $a2, %lo(selected_difficulty)($a2)
|
||||
/* 052164 7F01D5F4 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 052168 7F01D5F8 0FC079EA */ jal unlock_stage_in_folder_on_difficulty
|
||||
/* 05216C 7F01D5FC 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 052170 7F01D600 0FC23210 */ jal get_mission_timer
|
||||
/* 052174 7F01D604 00000000 */ nop
|
||||
/* 052178 7F01D608 2401003C */ li $at, 60
|
||||
/* 05217C 7F01D60C 0041001A */ div $zero, $v0, $at
|
||||
/* 052180 7F01D610 87AD001E */ lh $t5, 0x1e($sp)
|
||||
/* 052184 7F01D614 00007012 */ mflo $t6
|
||||
/* 052188 7F01D618 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003
|
||||
/* 05218C 7F01D61C 01AE082A */ slt $at, $t5, $t6
|
||||
/* 052190 7F01D620 5420001D */ bnezl $at, .L7F01D698
|
||||
/* 052194 7F01D624 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 052198 7F01D628 0FC077DD */ jal get_save_folder_ptr
|
||||
/* 05219C 7F01D62C 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 0521A0 7F01D630 3C0F8003 */ lui $t7, %hi(briefingpage) # $t7, 0x8003
|
||||
/* 0521A4 7F01D634 8DEFA938 */ lw $t7, %lo(briefingpage)($t7)
|
||||
/* 0521A8 7F01D638 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 0521AC 7F01D63C 00402025 */ move $a0, $v0
|
||||
/* 0521B0 7F01D640 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 0521B4 7F01D644 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 0521B8 7F01D648 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0521BC 7F01D64C 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 0521C0 7F01D650 0FC077B4 */ jal check_if_cheat_unlocked
|
||||
/* 0521C4 7F01D654 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 0521C8 7F01D658 1440000E */ bnez $v0, .L7F01D694
|
||||
/* 0521CC 7F01D65C 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003
|
||||
/* 0521D0 7F01D660 3C198003 */ lui $t9, %hi(briefingpage) # $t9, 0x8003
|
||||
/* 0521D4 7F01D664 8F39A938 */ lw $t9, %lo(briefingpage)($t9)
|
||||
/* 0521D8 7F01D668 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 0521DC 7F01D66C 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 0521E0 7F01D670 001940C0 */ sll $t0, $t9, 3
|
||||
/* 0521E4 7F01D674 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0521E8 7F01D678 00084080 */ sll $t0, $t0, 2
|
||||
/* 0521EC 7F01D67C 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 0521F0 7F01D680 0FC07A44 */ jal sub_GAME_7F01E760
|
||||
/* 0521F4 7F01D684 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 0521F8 7F01D688 24090001 */ li $t1, 1
|
||||
/* 0521FC 7F01D68C 3C018007 */ lui $at, %hi(newcheatunlocked) # $at, 0x8007
|
||||
/* 052200 7F01D690 AC2997D0 */ sw $t1, %lo(newcheatunlocked)($at)
|
||||
.L7F01D694:
|
||||
/* 052204 7F01D694 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F01D698:
|
||||
/* 052208 7F01D698 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 05220C 7F01D69C 03E00008 */ jr $ra
|
||||
/* 052210 7F01D6A0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
void sub_GAME_7F01D500(void)
|
||||
{
|
||||
get_screen_ratio_settings_for_mpgame_from_folder(selected_folder_num);
|
||||
}
|
||||
|
||||
void deleteCurrentSelectedFolder(void)
|
||||
{
|
||||
delete_update_eeprom_file(selected_folder_num);
|
||||
}
|
||||
|
||||
void copyCurrentEEPROMtoStack(void)
|
||||
{
|
||||
copy_eeprom_to_stack_set_folder_num(selected_folder_num);
|
||||
}
|
||||
|
||||
u8 getSelectedFolderBond(void)
|
||||
{
|
||||
return removed_would_have_returned_bond_for_folder_num(selected_folder_num);
|
||||
}
|
||||
|
||||
void set_selected_folder_num(u32 foldernum)
|
||||
{
|
||||
selected_folder_num = foldernum;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_selected_difficulty(DIFFICULTY difficulty)
|
||||
{
|
||||
if (difficulty != DIFFICULTY_AGENT)
|
||||
{
|
||||
if (difficulty == DIFFICULTY_SECRET)
|
||||
{
|
||||
selected_difficulty = DIFFICULTY_SECRET;
|
||||
return;
|
||||
}
|
||||
if (difficulty == DIFFICULTY_00)
|
||||
{
|
||||
selected_difficulty = DIFFICULTY_00;
|
||||
return;
|
||||
}
|
||||
if (difficulty == DIFFICULTY_007)
|
||||
{
|
||||
selected_difficulty = DIFFICULTY_007;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
selected_difficulty = DIFFICULTY_AGENT;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_selected_difficulty
|
||||
/* 0520CC 7F01D59C 10800009 */ beqz $a0, .L7F01D5C4
|
||||
/* 0520D0 7F01D5A0 24020001 */ li $v0, 1
|
||||
/* 0520D4 7F01D5A4 1082000A */ beq $a0, $v0, .L7F01D5D0
|
||||
/* 0520D8 7F01D5A8 3C018003 */ lui $at, %hi(selected_difficulty)
|
||||
/* 0520DC 7F01D5AC 24020002 */ li $v0, 2
|
||||
/* 0520E0 7F01D5B0 10820009 */ beq $a0, $v0, .L7F01D5D8
|
||||
/* 0520E4 7F01D5B4 3C018003 */ lui $at, %hi(selected_difficulty)
|
||||
/* 0520E8 7F01D5B8 24020003 */ li $v0, 3
|
||||
/* 0520EC 7F01D5BC 10820008 */ beq $a0, $v0, .L7F01D5E0
|
||||
/* 0520F0 7F01D5C0 3C018003 */ lui $at, %hi(selected_difficulty)
|
||||
.L7F01D5C4:
|
||||
/* 0520F4 7F01D5C4 3C018003 */ lui $at, %hi(selected_difficulty)
|
||||
/* 0520F8 7F01D5C8 03E00008 */ jr $ra
|
||||
/* 0520FC 7F01D5CC AC20A8FC */ sw $zero, %lo(selected_difficulty)($at)
|
||||
|
||||
.L7F01D5D0:
|
||||
/* 052100 7F01D5D0 03E00008 */ jr $ra
|
||||
/* 052104 7F01D5D4 AC22A8FC */ sw $v0, %lo(selected_difficulty)($at)
|
||||
|
||||
.L7F01D5D8:
|
||||
/* 052108 7F01D5D8 03E00008 */ jr $ra
|
||||
/* 05210C 7F01D5DC AC22A8FC */ sw $v0, %lo(selected_difficulty)($at)
|
||||
|
||||
.L7F01D5E0:
|
||||
/* 052110 7F01D5E0 AC22A8FC */ sw $v0, %lo(selected_difficulty)($at)
|
||||
/* 052114 7F01D5E4 03E00008 */ jr $ra
|
||||
/* 052118 7F01D5E8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
void set_solo_and_ptr_briefing(LEVELID stage)
|
||||
{
|
||||
gamemode = GAMEMODE_SOLO;
|
||||
selected_stage = stage;
|
||||
briefingpage = pull_and_display_text_for_folder_a0(stage);
|
||||
}
|
||||
|
||||
void sub_GAME_7F01D61C(struct save_file *savefile)
|
||||
{
|
||||
copy_eeprom_from_to(selected_folder_num,savefile);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D644(struct save_file *eeprom)
|
||||
{
|
||||
selected_folder_num_copy = selected_folder_num;
|
||||
selected_folder_num = 100;
|
||||
copy_eepromfile_a0_from_a1_to_buffer(100,eeprom);
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D644
|
||||
/* 052174 7F01D644 3C028003 */ lui $v0, %hi(selected_folder_num)
|
||||
/* 052178 7F01D648 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718
|
||||
/* 05217C 7F01D64C 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 052180 7F01D650 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 052184 7F01D654 00802825 */ move $a1, $a0
|
||||
/* 052188 7F01D658 3C018003 */ lui $at, %hi(selected_folder_num_copy)
|
||||
/* 05218C 7F01D65C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 052190 7F01D660 24040064 */ li $a0, 100
|
||||
/* 052194 7F01D664 AC2EA8EC */ sw $t6, %lo(selected_folder_num_copy)($at)
|
||||
/* 052198 7F01D668 0FC07D17 */ jal copy_eepromfile_a0_from_a1_to_buffer
|
||||
/* 05219C 7F01D66C AC440000 */ sw $a0, ($v0)
|
||||
/* 0521A0 7F01D670 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0521A4 7F01D674 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0521A8 7F01D678 03E00008 */ jr $ra
|
||||
/* 0521AC 7F01D67C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
void store_favorite_weapon_current_player(u32 right,u32 left)
|
||||
{
|
||||
u32 playerNum;
|
||||
|
||||
playerNum = get_cur_playernum();
|
||||
array_favweapon[playerNum][0] = right;
|
||||
array_favweapon[playerNum][1] = left;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
#ifndef _GAMEFILE_H_
|
||||
#define _GAMEFILE_H_
|
||||
#include "ultra64.h"
|
||||
//i am not "correct", i need proper fields for times again
|
||||
struct save_data
|
||||
{
|
||||
int chksum1;
|
||||
int chksum2;
|
||||
char completion_bitflags;
|
||||
char flag_007;
|
||||
char music_vol;
|
||||
char sfx_vol;
|
||||
short options;
|
||||
char unlocked_cheats_1;
|
||||
char unlocked_cheats_2;
|
||||
char unlocked_cheats_3;
|
||||
char padding;
|
||||
u8 time_dam_agent[5];
|
||||
u8 field_0x17[5];
|
||||
u8 field_0x1c[5];
|
||||
u8 field_0x21[5];
|
||||
u8 field_0x26[5];
|
||||
u8 field_0x2b[5];
|
||||
u8 field_0x30[5];
|
||||
u8 field_0x35[5];
|
||||
u8 field_0x3a[5];
|
||||
u8 field_0x3f[5];
|
||||
u8 field_0x44[5];
|
||||
u8 field_0x49[5];
|
||||
u8 field_0x4e[5];
|
||||
u8 field_0x53[5];
|
||||
u8 field_0x58[5];
|
||||
u8 field_0x5d[3];
|
||||
|
||||
};
|
||||
|
||||
extern u32 save_selected_bond[];
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
#ifndef _GAMEFILE2_H_
|
||||
#define _GAMEFILE2_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
u8 removed_would_have_returned_bond_for_folder_num(u32 folder);
|
||||
|
||||
#endif
|
||||
+9557
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
#ifndef _IMAGE_H_
|
||||
#define _IMAGE_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct image_entry
|
||||
{
|
||||
char flag1; //HitType
|
||||
char flag2; //remove this line
|
||||
u16 size; //this is u32 Size:24 - 24bit size/address
|
||||
char flag3; //Detailflag1 used once with value 0x38D2 (S/T offset of detail)
|
||||
char flag4; //DetailFlag2 difference from detail image, to large image, in terms of 2 to the power of value. It is subtracted from the small one, and absolute value or something. (Zoinkity)
|
||||
char flag5; //padding
|
||||
char flag6; //padding
|
||||
};
|
||||
|
||||
extern s32 ptr_texture_alloc_start;
|
||||
extern struct image_entry image_entries[];
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,559 @@
|
||||
#include "ultra64.h"
|
||||
#include "ramrom.h"
|
||||
|
||||
// bss
|
||||
//8008D0A0
|
||||
s32 img_curpos;
|
||||
//8008D0A4
|
||||
s32 img_curdatatable;
|
||||
//8008D0A8
|
||||
s32 img_bitcount;
|
||||
//8008D0AC
|
||||
s32 dword_CODE_bss_8008D0AC;
|
||||
//8008D0B0;
|
||||
s32 globalbank_rdram_offset;
|
||||
//8008D0B4;
|
||||
s32 *pGlobalimagetable;
|
||||
//8008D0B8;
|
||||
struct sImageTableEntry *genericimage;
|
||||
//8008D0BC
|
||||
struct sImageTableEntry *impactimages;
|
||||
//8008D0C0
|
||||
struct sImageTableEntry *explosion_smokeimages;
|
||||
//8008D0C4
|
||||
struct sImageTableEntry *scattered_explosions;
|
||||
//8008D0C8
|
||||
struct sImageTableEntry *flareimage1;
|
||||
//8008D0CC
|
||||
struct sImageTableEntry *flareimage2;
|
||||
//8008D0D0
|
||||
struct sImageTableEntry *flareimage3;
|
||||
//8008D0D4
|
||||
struct sImageTableEntry *flareimage4;
|
||||
//8008D0D8
|
||||
struct sImageTableEntry *flareimage5;
|
||||
//8008D0DC
|
||||
struct sImageTableEntry *ammo9mmimage;
|
||||
//8008D0E0
|
||||
struct sImageTableEntry *rifleammoimage;
|
||||
//8008D0E4
|
||||
struct sImageTableEntry *shotgunammoimage;
|
||||
//8008D0E8
|
||||
struct sImageTableEntry *knifeammoimage;
|
||||
//8008D0EC
|
||||
struct sImageTableEntry *glaunchammoimage;
|
||||
//8008D0F0
|
||||
struct sImageTableEntry *rocketammoimage;
|
||||
//8008D0F4
|
||||
struct sImageTableEntry *genericmineammoimage;
|
||||
//8008D0F8
|
||||
struct sImageTableEntry *grenadeammoimage;
|
||||
//8008D0FC
|
||||
struct sImageTableEntry *magnumammoimage;
|
||||
//8008D100
|
||||
struct sImageTableEntry *goldengunammoimage;
|
||||
//8008D104
|
||||
struct sImageTableEntry *remotemineammoimage;
|
||||
//8008D108
|
||||
struct sImageTableEntry *timedmineammoimage;
|
||||
//8008D10C
|
||||
struct sImageTableEntry *proxmineammoimage;
|
||||
//8008D110
|
||||
struct sImageTableEntry *tankammoimage;
|
||||
//8008D114;
|
||||
struct sImageTableEntry *crosshairimage;
|
||||
//8008D118
|
||||
struct sImageTableEntry *betacrosshairimage;
|
||||
//8008D11C
|
||||
struct sImageTableEntry *glassoverlayimage;
|
||||
//8008D120
|
||||
struct sImageTableEntry *monitorimages;
|
||||
//8008D124
|
||||
struct sImageTableEntry *skywaterimages;
|
||||
//8008D128
|
||||
struct sImageTableEntry *mainfolderimages;
|
||||
//8008D12C
|
||||
struct sImageTableEntry *mpradarimages;
|
||||
//8008D130
|
||||
struct sImageTableEntry *mpcharselimages;
|
||||
//8008D134
|
||||
struct sImageTableEntry *mpstageselimages;
|
||||
|
||||
|
||||
extern u8* _GlobalimagetableSegmentRomStart;
|
||||
|
||||
|
||||
void makeemptyimageatpos(s32 pos) {
|
||||
img_curpos = pos;
|
||||
img_curdatatable = 0;
|
||||
img_bitcount = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u32 sub_GAME_7F0CBF2C(s32 bits)
|
||||
{
|
||||
byte bVar1;
|
||||
|
||||
if (img_bitcount < bits) {
|
||||
do {
|
||||
img_bitcount = img_bitcount + 8;
|
||||
bVar1 = *img_curpos;
|
||||
img_curpos = img_curpos + 1;
|
||||
img_curdatatable = bVar1 | img_curdatatable << 8;
|
||||
} while (img_bitcount < bits);
|
||||
}
|
||||
img_bitcount = img_bitcount - bits;
|
||||
return img_curdatatable >> (img_bitcount & 0x1f) & (1 << (bits & 0x1f)) - 1U;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0CBF2C
|
||||
/* 100A5C 7F0CBF2C 3C058009 */ lui $a1, %hi(img_bitcount)
|
||||
/* 100A60 7F0CBF30 24A5D0A8 */ addiu $a1, %lo(img_bitcount) # addiu $a1, $a1, -0x2f58
|
||||
/* 100A64 7F0CBF34 8CA30000 */ lw $v1, ($a1)
|
||||
/* 100A68 7F0CBF38 3C078009 */ lui $a3, %hi(img_curpos)
|
||||
/* 100A6C 7F0CBF3C 24E7D0A0 */ addiu $a3, %lo(img_curpos) # addiu $a3, $a3, -0x2f60
|
||||
/* 100A70 7F0CBF40 0064082A */ slt $at, $v1, $a0
|
||||
/* 100A74 7F0CBF44 1020000F */ beqz $at, .L7F0CBF84
|
||||
/* 100A78 7F0CBF48 3C068009 */ lui $a2, %hi(img_curdatatable)
|
||||
/* 100A7C 7F0CBF4C 24C6D0A4 */ addiu $a2, %lo(img_curdatatable) # addiu $a2, $a2, -0x2f5c
|
||||
.L7F0CBF50:
|
||||
/* 100A80 7F0CBF50 8CE20000 */ lw $v0, ($a3)
|
||||
/* 100A84 7F0CBF54 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 100A88 7F0CBF58 24690008 */ addiu $t1, $v1, 8
|
||||
/* 100A8C 7F0CBF5C 904E0000 */ lbu $t6, ($v0)
|
||||
/* 100A90 7F0CBF60 000FC200 */ sll $t8, $t7, 8
|
||||
/* 100A94 7F0CBF64 0124082A */ slt $at, $t1, $a0
|
||||
/* 100A98 7F0CBF68 24480001 */ addiu $t0, $v0, 1
|
||||
/* 100A9C 7F0CBF6C 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 100AA0 7F0CBF70 ACD90000 */ sw $t9, ($a2)
|
||||
/* 100AA4 7F0CBF74 ACE80000 */ sw $t0, ($a3)
|
||||
/* 100AA8 7F0CBF78 ACA90000 */ sw $t1, ($a1)
|
||||
/* 100AAC 7F0CBF7C 1420FFF4 */ bnez $at, .L7F0CBF50
|
||||
/* 100AB0 7F0CBF80 01201825 */ move $v1, $t1
|
||||
.L7F0CBF84:
|
||||
/* 100AB4 7F0CBF84 3C068009 */ lui $a2, %hi(img_curdatatable)
|
||||
/* 100AB8 7F0CBF88 24C6D0A4 */ addiu $a2, %lo(img_curdatatable) # addiu $a2, $a2, -0x2f5c
|
||||
/* 100ABC 7F0CBF8C 8CCB0000 */ lw $t3, ($a2)
|
||||
/* 100AC0 7F0CBF90 240F0001 */ li $t7, 1
|
||||
/* 100AC4 7F0CBF94 00645023 */ subu $t2, $v1, $a0
|
||||
/* 100AC8 7F0CBF98 008F7004 */ sllv $t6, $t7, $a0
|
||||
/* 100ACC 7F0CBF9C 25D8FFFF */ addiu $t8, $t6, -1
|
||||
/* 100AD0 7F0CBFA0 014B6806 */ srlv $t5, $t3, $t2
|
||||
/* 100AD4 7F0CBFA4 ACAA0000 */ sw $t2, ($a1)
|
||||
/* 100AD8 7F0CBFA8 03E00008 */ jr $ra
|
||||
/* 100ADC 7F0CBFAC 01B81024 */ and $v0, $t5, $t8
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_prepare_global_image_bank(void) {
|
||||
s32 size;
|
||||
s32 i;
|
||||
|
||||
size = (0x2001400 - 0x2000000);
|
||||
pGlobalimagetable = ((mempAllocBytesInBank((size + 0x1000), 4) + 0xfff) & -0x1000);
|
||||
romCopy(pGlobalimagetable, _GlobalimagetableSegmentRomStart, size);
|
||||
globalbank_rdram_offset = (pGlobalimagetable + 0xfe000000);
|
||||
genericimage = (s32) (globalbank_rdram_offset + 0x2000ac8);
|
||||
impactimages = (s32) (globalbank_rdram_offset + 0x2000ad4);
|
||||
explosion_smokeimages = (s32) (globalbank_rdram_offset + 0x2000bc4);
|
||||
scattered_explosions = (s32) (globalbank_rdram_offset + 0x2000c0c);
|
||||
flareimage1 = (s32) (globalbank_rdram_offset + 0x2000c48);
|
||||
flareimage2 = (s32) (globalbank_rdram_offset + 0x2000c54);
|
||||
flareimage3 = (s32) (globalbank_rdram_offset + 0x2000c60);
|
||||
flareimage4 = (s32) (globalbank_rdram_offset + 0x2000c6c);
|
||||
flareimage5 = (s32) (globalbank_rdram_offset + 0x2000c78);
|
||||
ammo9mmimage = (s32) (globalbank_rdram_offset + 0x2000c84);
|
||||
rifleammoimage = (s32) (globalbank_rdram_offset + 0x2000c90);
|
||||
shotgunammoimage = (s32) (globalbank_rdram_offset + 0x2000c9c);
|
||||
knifeammoimage = (s32) (globalbank_rdram_offset + 0x2000ca8);
|
||||
glaunchammoimage = (s32) (globalbank_rdram_offset + 0x2000cb4);
|
||||
rocketammoimage = (s32) (globalbank_rdram_offset + 0x2000cc0);
|
||||
genericmineammoimage = (s32) (globalbank_rdram_offset + 0x2000ccc);
|
||||
grenadeammoimage = (s32) (globalbank_rdram_offset + 0x2000cd8);
|
||||
magnumammoimage = (s32) (globalbank_rdram_offset + 0x2000ce4);
|
||||
goldengunammoimage = (s32) (globalbank_rdram_offset + 0x2000cf0);
|
||||
remotemineammoimage = (s32) (globalbank_rdram_offset + 0x2000cfc);
|
||||
timedmineammoimage = (s32) (globalbank_rdram_offset + 0x2000d08);
|
||||
proxmineammoimage = (s32) (globalbank_rdram_offset + 0x2000d14);
|
||||
tankammoimage = (s32) (globalbank_rdram_offset + 0x2000d20);
|
||||
crosshairimage = (s32) (globalbank_rdram_offset + 0x2000d2c);
|
||||
betacrosshairimage = (s32) (globalbank_rdram_offset + 0x2000d38);
|
||||
glassoverlayimage = (s32) (globalbank_rdram_offset + 0x2000d44);
|
||||
monitorimages = (s32) (globalbank_rdram_offset + 0x2000d5c);
|
||||
skywaterimages = (s32) (globalbank_rdram_offset + 0x2000fb4);
|
||||
mainfolderimages = (s32) (globalbank_rdram_offset + 0x2000fd8);
|
||||
mpradarimages = (s32) (globalbank_rdram_offset + 0x2001020);
|
||||
mpcharselimages = (s32) (globalbank_rdram_offset + 0x200102c);
|
||||
mpstageselimages = (s32) (globalbank_rdram_offset + 0x200132c);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000000), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000078), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000120), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x20001c8), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000270), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000318), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x20003c0), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000468), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000510), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x20005b8), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000660), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000708), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x20007b0), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000858), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000900), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x20009a8), 0);
|
||||
check_load_image_to_buffer((globalbank_rdram_offset + 0x2000a50), 0);
|
||||
load_image_to_buffer(genericimage, 0);
|
||||
for (i = 0; i < 0x48; i + 0xC)
|
||||
{
|
||||
load_image_to_buffer((explosion_smokeimages + i),0x0);
|
||||
};
|
||||
|
||||
for (i = 0; i != 0x3c; i + 0xc)
|
||||
{
|
||||
load_image_to_buffer((scattered_explosions + i),0x0);
|
||||
};
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel load_prepare_global_image_bank
|
||||
/* 100AE0 7F0CBFB0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 100AE4 7F0CBFB4 3C0E0200 */ lui $t6, %hi(0x02001400) # $t6, 0x200
|
||||
/* 100AE8 7F0CBFB8 3C0F0200 */ lui $t7, 0x200
|
||||
/* 100AEC 7F0CBFBC AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 100AF0 7F0CBFC0 25EF0000 */ addiu $t7, $t7, 0
|
||||
/* 100AF4 7F0CBFC4 25CE1400 */ addiu $t6, %lo(0x02001400) # addiu $t6, $t6, 0x1400
|
||||
/* 100AF8 7F0CBFC8 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 100AFC 7F0CBFCC 01CF8023 */ subu $s0, $t6, $t7
|
||||
/* 100B00 7F0CBFD0 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 100B04 7F0CBFD4 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 100B08 7F0CBFD8 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 100B0C 7F0CBFDC 26041000 */ addiu $a0, $s0, 0x1000
|
||||
/* 100B10 7F0CBFE0 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 100B14 7F0CBFE4 24050004 */ li $a1, 4
|
||||
/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(pGlobalimagetable)
|
||||
/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(pGlobalimagetable) # addiu $s1, $s1, -0x2f4c
|
||||
/* 100B20 7F0CBFF0 24590FFF */ addiu $t9, $v0, 0xfff
|
||||
/* 100B24 7F0CBFF4 2401F000 */ li $at, -4096
|
||||
/* 100B28 7F0CBFF8 AE220000 */ sw $v0, ($s1)
|
||||
/* 100B2C 7F0CBFFC 03212024 */ and $a0, $t9, $at
|
||||
/* 100B30 7F0CC000 3C05002A */ lui $a1, %hi(_GlobalimagetableSegmentRomStart) # $a1, 0x2a
|
||||
/* 100B34 7F0CC004 AE240000 */ sw $a0, ($s1)
|
||||
/* 100B38 7F0CC008 24A5D160 */ addiu $a1, %lo(_GlobalimagetableSegmentRomStart) # addiu $a1, $a1, -0x2ea0
|
||||
/* 100B3C 7F0CC00C 0C001707 */ jal romCopy
|
||||
/* 100B40 7F0CC010 02003025 */ move $a2, $s0
|
||||
/* 100B44 7F0CC014 8E290000 */ lw $t1, ($s1)
|
||||
/* 100B48 7F0CC018 3C01FE00 */ lui $at, 0xfe00
|
||||
/* 100B4C 7F0CC01C 3C108009 */ lui $s0, %hi(globalbank_rdram_offset)
|
||||
/* 100B50 7F0CC020 01211021 */ addu $v0, $t1, $at
|
||||
/* 100B54 7F0CC024 3C0B0200 */ lui $t3, %hi(0x02000AC8) # $t3, 0x200
|
||||
/* 100B58 7F0CC028 2610D0B0 */ addiu $s0, %lo(globalbank_rdram_offset) # addiu $s0, $s0, -0x2f50
|
||||
/* 100B5C 7F0CC02C 256B0AC8 */ addiu $t3, %lo(0x02000AC8) # addiu $t3, $t3, 0xac8
|
||||
/* 100B60 7F0CC030 AE020000 */ sw $v0, ($s0)
|
||||
/* 100B64 7F0CC034 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100B68 7F0CC038 3C018009 */ lui $at, %hi(genericimage)
|
||||
/* 100B6C 7F0CC03C 3C0D0200 */ lui $t5, %hi(0x02000AD4) # $t5, 0x200
|
||||
/* 100B70 7F0CC040 AC2CD0B8 */ sw $t4, %lo(genericimage)($at)
|
||||
/* 100B74 7F0CC044 25AD0AD4 */ addiu $t5, %lo(0x02000AD4) # addiu $t5, $t5, 0xad4
|
||||
/* 100B78 7F0CC048 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100B7C 7F0CC04C 3C018009 */ lui $at, %hi(impactimages)
|
||||
/* 100B80 7F0CC050 AC2ED0BC */ sw $t6, %lo(impactimages)($at)
|
||||
/* 100B84 7F0CC054 3C0F0200 */ lui $t7, %hi(0x02000BC4) # $t7, 0x200
|
||||
/* 100B88 7F0CC058 3C190200 */ lui $t9, %hi(0x02000C0C) # $t9, 0x200
|
||||
/* 100B8C 7F0CC05C 3C128009 */ lui $s2, %hi(explosion_smokeimages)
|
||||
/* 100B90 7F0CC060 3C138009 */ lui $s3, %hi(scattered_explosions)
|
||||
/* 100B94 7F0CC064 25EF0BC4 */ addiu $t7, %lo(0x02000BC4) # addiu $t7, $t7, 0xbc4
|
||||
/* 100B98 7F0CC068 27390C0C */ addiu $t9, %lo(0x02000C0C) # addiu $t9, $t9, 0xc0c
|
||||
/* 100B9C 7F0CC06C 3C090200 */ lui $t1, %hi(0x02000C48) # $t1, 0x200
|
||||
/* 100BA0 7F0CC070 2673D0C4 */ addiu $s3, %lo(scattered_explosions) # addiu $s3, $s3, -0x2f3c
|
||||
/* 100BA4 7F0CC074 2652D0C0 */ addiu $s2, %lo(explosion_smokeimages) # addiu $s2, $s2, -0x2f40
|
||||
/* 100BA8 7F0CC078 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100BAC 7F0CC07C 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100BB0 7F0CC080 25290C48 */ addiu $t1, %lo(0x02000C48) # addiu $t1, $t1, 0xc48
|
||||
/* 100BB4 7F0CC084 AE580000 */ sw $t8, ($s2)
|
||||
/* 100BB8 7F0CC088 AE680000 */ sw $t0, ($s3)
|
||||
/* 100BBC 7F0CC08C 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100BC0 7F0CC090 3C018009 */ lui $at, %hi(flareimage1)
|
||||
/* 100BC4 7F0CC094 3C0B0200 */ lui $t3, %hi(0x02000C54) # $t3, 0x200
|
||||
/* 100BC8 7F0CC098 AC2AD0C8 */ sw $t2, %lo(flareimage1)($at)
|
||||
/* 100BCC 7F0CC09C 256B0C54 */ addiu $t3, %lo(0x02000C54) # addiu $t3, $t3, 0xc54
|
||||
/* 100BD0 7F0CC0A0 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100BD4 7F0CC0A4 3C018009 */ lui $at, %hi(flareimage2)
|
||||
/* 100BD8 7F0CC0A8 3C0D0200 */ lui $t5, %hi(0x02000C60) # $t5, 0x200
|
||||
/* 100BDC 7F0CC0AC AC2CD0CC */ sw $t4, %lo(flareimage2)($at)
|
||||
/* 100BE0 7F0CC0B0 25AD0C60 */ addiu $t5, %lo(0x02000C60) # addiu $t5, $t5, 0xc60
|
||||
/* 100BE4 7F0CC0B4 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100BE8 7F0CC0B8 3C018009 */ lui $at, %hi(flareimage3)
|
||||
/* 100BEC 7F0CC0BC 3C0F0200 */ lui $t7, %hi(0x02000C6C) # $t7, 0x200
|
||||
/* 100BF0 7F0CC0C0 AC2ED0D0 */ sw $t6, %lo(flareimage3)($at)
|
||||
/* 100BF4 7F0CC0C4 25EF0C6C */ addiu $t7, %lo(0x02000C6C) # addiu $t7, $t7, 0xc6c
|
||||
/* 100BF8 7F0CC0C8 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100BFC 7F0CC0CC 3C018009 */ lui $at, %hi(flareimage4)
|
||||
/* 100C00 7F0CC0D0 3C190200 */ lui $t9, %hi(0x02000C78) # $t9, 0x200
|
||||
/* 100C04 7F0CC0D4 AC38D0D4 */ sw $t8, %lo(flareimage4)($at)
|
||||
/* 100C08 7F0CC0D8 27390C78 */ addiu $t9, %lo(0x02000C78) # addiu $t9, $t9, 0xc78
|
||||
/* 100C0C 7F0CC0DC 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100C10 7F0CC0E0 3C018009 */ lui $at, %hi(flareimage5)
|
||||
/* 100C14 7F0CC0E4 3C090200 */ lui $t1, %hi(0x02000C84) # $t1, 0x200
|
||||
/* 100C18 7F0CC0E8 AC28D0D8 */ sw $t0, %lo(flareimage5)($at)
|
||||
/* 100C1C 7F0CC0EC 25290C84 */ addiu $t1, %lo(0x02000C84) # addiu $t1, $t1, 0xc84
|
||||
/* 100C20 7F0CC0F0 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100C24 7F0CC0F4 3C018009 */ lui $at, %hi(ammo9mmimage)
|
||||
/* 100C28 7F0CC0F8 3C0B0200 */ lui $t3, %hi(0x02000C90) # $t3, 0x200
|
||||
/* 100C2C 7F0CC0FC AC2AD0DC */ sw $t2, %lo(ammo9mmimage)($at)
|
||||
/* 100C30 7F0CC100 256B0C90 */ addiu $t3, %lo(0x02000C90) # addiu $t3, $t3, 0xc90
|
||||
/* 100C34 7F0CC104 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100C38 7F0CC108 3C018009 */ lui $at, %hi(rifleammoimage)
|
||||
/* 100C3C 7F0CC10C 3C0D0200 */ lui $t5, %hi(0x02000C9C) # $t5, 0x200
|
||||
/* 100C40 7F0CC110 AC2CD0E0 */ sw $t4, %lo(rifleammoimage)($at)
|
||||
/* 100C44 7F0CC114 25AD0C9C */ addiu $t5, %lo(0x02000C9C) # addiu $t5, $t5, 0xc9c
|
||||
/* 100C48 7F0CC118 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100C4C 7F0CC11C 3C018009 */ lui $at, %hi(shotgunammoimage)
|
||||
/* 100C50 7F0CC120 3C0F0200 */ lui $t7, %hi(0x02000CA8) # $t7, 0x200
|
||||
/* 100C54 7F0CC124 AC2ED0E4 */ sw $t6, %lo(shotgunammoimage)($at)
|
||||
/* 100C58 7F0CC128 25EF0CA8 */ addiu $t7, %lo(0x02000CA8) # addiu $t7, $t7, 0xca8
|
||||
/* 100C5C 7F0CC12C 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100C60 7F0CC130 3C018009 */ lui $at, %hi(knifeammoimage)
|
||||
/* 100C64 7F0CC134 3C190200 */ lui $t9, %hi(0x02000CB4) # $t9, 0x200
|
||||
/* 100C68 7F0CC138 AC38D0E8 */ sw $t8, %lo(knifeammoimage)($at)
|
||||
/* 100C6C 7F0CC13C 27390CB4 */ addiu $t9, %lo(0x02000CB4) # addiu $t9, $t9, 0xcb4
|
||||
/* 100C70 7F0CC140 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100C74 7F0CC144 3C018009 */ lui $at, %hi(glaunchammoimage)
|
||||
/* 100C78 7F0CC148 3C090200 */ lui $t1, %hi(0x02000CC0) # $t1, 0x200
|
||||
/* 100C7C 7F0CC14C AC28D0EC */ sw $t0, %lo(glaunchammoimage)($at)
|
||||
/* 100C80 7F0CC150 25290CC0 */ addiu $t1, %lo(0x02000CC0) # addiu $t1, $t1, 0xcc0
|
||||
/* 100C84 7F0CC154 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100C88 7F0CC158 3C018009 */ lui $at, %hi(rocketammoimage)
|
||||
/* 100C8C 7F0CC15C 3C0B0200 */ lui $t3, %hi(0x02000CCC) # $t3, 0x200
|
||||
/* 100C90 7F0CC160 AC2AD0F0 */ sw $t2, %lo(rocketammoimage)($at)
|
||||
/* 100C94 7F0CC164 256B0CCC */ addiu $t3, %lo(0x02000CCC) # addiu $t3, $t3, 0xccc
|
||||
/* 100C98 7F0CC168 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100C9C 7F0CC16C 3C018009 */ lui $at, %hi(genericmineammoimage)
|
||||
/* 100CA0 7F0CC170 3C0D0200 */ lui $t5, %hi(0x02000CD8) # $t5, 0x200
|
||||
/* 100CA4 7F0CC174 AC2CD0F4 */ sw $t4, %lo(genericmineammoimage)($at)
|
||||
/* 100CA8 7F0CC178 25AD0CD8 */ addiu $t5, %lo(0x02000CD8) # addiu $t5, $t5, 0xcd8
|
||||
/* 100CAC 7F0CC17C 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100CB0 7F0CC180 3C018009 */ lui $at, %hi(grenadeammoimage)
|
||||
/* 100CB4 7F0CC184 3C0F0200 */ lui $t7, %hi(0x02000CE4) # $t7, 0x200
|
||||
/* 100CB8 7F0CC188 AC2ED0F8 */ sw $t6, %lo(grenadeammoimage)($at)
|
||||
/* 100CBC 7F0CC18C 25EF0CE4 */ addiu $t7, %lo(0x02000CE4) # addiu $t7, $t7, 0xce4
|
||||
/* 100CC0 7F0CC190 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100CC4 7F0CC194 3C018009 */ lui $at, %hi(magnumammoimage)
|
||||
/* 100CC8 7F0CC198 3C190200 */ lui $t9, %hi(0x02000CF0) # $t9, 0x200
|
||||
/* 100CCC 7F0CC19C AC38D0FC */ sw $t8, %lo(magnumammoimage)($at)
|
||||
/* 100CD0 7F0CC1A0 27390CF0 */ addiu $t9, %lo(0x02000CF0) # addiu $t9, $t9, 0xcf0
|
||||
/* 100CD4 7F0CC1A4 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100CD8 7F0CC1A8 3C018009 */ lui $at, %hi(goldengunammoimage)
|
||||
/* 100CDC 7F0CC1AC 3C090200 */ lui $t1, %hi(0x02000CFC) # $t1, 0x200
|
||||
/* 100CE0 7F0CC1B0 AC28D100 */ sw $t0, %lo(goldengunammoimage)($at)
|
||||
/* 100CE4 7F0CC1B4 25290CFC */ addiu $t1, %lo(0x02000CFC) # addiu $t1, $t1, 0xcfc
|
||||
/* 100CE8 7F0CC1B8 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100CEC 7F0CC1BC 3C018009 */ lui $at, %hi(remotemineammoimage)
|
||||
/* 100CF0 7F0CC1C0 3C0B0200 */ lui $t3, %hi(0x02000D08) # $t3, 0x200
|
||||
/* 100CF4 7F0CC1C4 AC2AD104 */ sw $t2, %lo(remotemineammoimage)($at)
|
||||
/* 100CF8 7F0CC1C8 256B0D08 */ addiu $t3, %lo(0x02000D08) # addiu $t3, $t3, 0xd08
|
||||
/* 100CFC 7F0CC1CC 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100D00 7F0CC1D0 3C018009 */ lui $at, %hi(timedmineammoimage)
|
||||
/* 100D04 7F0CC1D4 3C0D0200 */ lui $t5, %hi(0x02000D14) # $t5, 0x200
|
||||
/* 100D08 7F0CC1D8 AC2CD108 */ sw $t4, %lo(timedmineammoimage)($at)
|
||||
/* 100D0C 7F0CC1DC 25AD0D14 */ addiu $t5, %lo(0x02000D14) # addiu $t5, $t5, 0xd14
|
||||
/* 100D10 7F0CC1E0 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100D14 7F0CC1E4 3C018009 */ lui $at, %hi(proxmineammoimage)
|
||||
/* 100D18 7F0CC1E8 3C0F0200 */ lui $t7, %hi(0x02000D20) # $t7, 0x200
|
||||
/* 100D1C 7F0CC1EC AC2ED10C */ sw $t6, %lo(proxmineammoimage)($at)
|
||||
/* 100D20 7F0CC1F0 25EF0D20 */ addiu $t7, %lo(0x02000D20) # addiu $t7, $t7, 0xd20
|
||||
/* 100D24 7F0CC1F4 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100D28 7F0CC1F8 3C018009 */ lui $at, %hi(tankammoimage)
|
||||
/* 100D2C 7F0CC1FC 3C190200 */ lui $t9, %hi(0x02000D2C) # $t9, 0x200
|
||||
/* 100D30 7F0CC200 AC38D110 */ sw $t8, %lo(tankammoimage)($at)
|
||||
/* 100D34 7F0CC204 27390D2C */ addiu $t9, %lo(0x02000D2C) # addiu $t9, $t9, 0xd2c
|
||||
/* 100D38 7F0CC208 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100D3C 7F0CC20C 3C018009 */ lui $at, %hi(crosshairimage)
|
||||
/* 100D40 7F0CC210 3C090200 */ lui $t1, %hi(0x02000D38) # $t1, 0x200
|
||||
/* 100D44 7F0CC214 AC28D114 */ sw $t0, %lo(crosshairimage)($at)
|
||||
/* 100D48 7F0CC218 25290D38 */ addiu $t1, %lo(0x02000D38) # addiu $t1, $t1, 0xd38
|
||||
/* 100D4C 7F0CC21C 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100D50 7F0CC220 3C018009 */ lui $at, %hi(betacrosshairimage)
|
||||
/* 100D54 7F0CC224 3C0B0200 */ lui $t3, %hi(0x02000D44) # $t3, 0x200
|
||||
/* 100D58 7F0CC228 AC2AD118 */ sw $t2, %lo(betacrosshairimage)($at)
|
||||
/* 100D5C 7F0CC22C 256B0D44 */ addiu $t3, %lo(0x02000D44) # addiu $t3, $t3, 0xd44
|
||||
/* 100D60 7F0CC230 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100D64 7F0CC234 3C018009 */ lui $at, %hi(glassoverlayimage)
|
||||
/* 100D68 7F0CC238 3C0D0200 */ lui $t5, %hi(0x02000D5C) # $t5, 0x200
|
||||
/* 100D6C 7F0CC23C AC2CD11C */ sw $t4, %lo(glassoverlayimage)($at)
|
||||
/* 100D70 7F0CC240 25AD0D5C */ addiu $t5, %lo(0x02000D5C) # addiu $t5, $t5, 0xd5c
|
||||
/* 100D74 7F0CC244 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100D78 7F0CC248 3C018009 */ lui $at, %hi(monitorimages)
|
||||
/* 100D7C 7F0CC24C 3C0F0200 */ lui $t7, %hi(0x02000FB4) # $t7, 0x200
|
||||
/* 100D80 7F0CC250 AC2ED120 */ sw $t6, %lo(monitorimages)($at)
|
||||
/* 100D84 7F0CC254 25EF0FB4 */ addiu $t7, %lo(0x02000FB4) # addiu $t7, $t7, 0xfb4
|
||||
/* 100D88 7F0CC258 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100D8C 7F0CC25C 3C018009 */ lui $at, %hi(skywaterimages)
|
||||
/* 100D90 7F0CC260 3C190200 */ lui $t9, %hi(0x02000FD8) # $t9, 0x200
|
||||
/* 100D94 7F0CC264 AC38D124 */ sw $t8, %lo(skywaterimages)($at)
|
||||
/* 100D98 7F0CC268 27390FD8 */ addiu $t9, %lo(0x02000FD8) # addiu $t9, $t9, 0xfd8
|
||||
/* 100D9C 7F0CC26C 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100DA0 7F0CC270 3C018009 */ lui $at, %hi(mainfolderimages)
|
||||
/* 100DA4 7F0CC274 3C090200 */ lui $t1, %hi(0x02001020) # $t1, 0x200
|
||||
/* 100DA8 7F0CC278 AC28D128 */ sw $t0, %lo(mainfolderimages)($at)
|
||||
/* 100DAC 7F0CC27C 25291020 */ addiu $t1, %lo(0x02001020) # addiu $t1, $t1, 0x1020
|
||||
/* 100DB0 7F0CC280 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100DB4 7F0CC284 3C018009 */ lui $at, %hi(mpradarimages)
|
||||
/* 100DB8 7F0CC288 3C0B0200 */ lui $t3, %hi(0x0200102C) # $t3, 0x200
|
||||
/* 100DBC 7F0CC28C AC2AD12C */ sw $t2, %lo(mpradarimages)($at)
|
||||
/* 100DC0 7F0CC290 256B102C */ addiu $t3, %lo(0x0200102C) # addiu $t3, $t3, 0x102c
|
||||
/* 100DC4 7F0CC294 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100DC8 7F0CC298 3C018009 */ lui $at, %hi(mpcharselimages)
|
||||
/* 100DCC 7F0CC29C 3C0D0200 */ lui $t5, %hi(0x0200132C) # $t5, 0x200
|
||||
/* 100DD0 7F0CC2A0 AC2CD130 */ sw $t4, %lo(mpcharselimages)($at)
|
||||
/* 100DD4 7F0CC2A4 25AD132C */ addiu $t5, %lo(0x0200132C) # addiu $t5, $t5, 0x132c
|
||||
/* 100DD8 7F0CC2A8 3C0F0200 */ lui $t7, 0x200
|
||||
/* 100DDC 7F0CC2AC 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100DE0 7F0CC2B0 3C018009 */ lui $at, %hi(mpstageselimages)
|
||||
/* 100DE4 7F0CC2B4 25EF0000 */ addiu $t7, $t7, 0
|
||||
/* 100DE8 7F0CC2B8 AC2ED134 */ sw $t6, %lo(mpstageselimages)($at)
|
||||
/* 100DEC 7F0CC2BC 004F2021 */ addu $a0, $v0, $t7
|
||||
/* 100DF0 7F0CC2C0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100DF4 7F0CC2C4 00002825 */ move $a1, $zero
|
||||
/* 100DF8 7F0CC2C8 8E180000 */ lw $t8, ($s0)
|
||||
/* 100DFC 7F0CC2CC 3C190200 */ lui $t9, %hi(0x02000078) # $t9, 0x200
|
||||
/* 100E00 7F0CC2D0 27390078 */ addiu $t9, %lo(0x02000078) # addiu $t9, $t9, 0x78
|
||||
/* 100E04 7F0CC2D4 00002825 */ move $a1, $zero
|
||||
/* 100E08 7F0CC2D8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E0C 7F0CC2DC 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100E10 7F0CC2E0 8E080000 */ lw $t0, ($s0)
|
||||
/* 100E14 7F0CC2E4 3C090200 */ lui $t1, %hi(0x02000120) # $t1, 0x200
|
||||
/* 100E18 7F0CC2E8 25290120 */ addiu $t1, %lo(0x02000120) # addiu $t1, $t1, 0x120
|
||||
/* 100E1C 7F0CC2EC 00002825 */ move $a1, $zero
|
||||
/* 100E20 7F0CC2F0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E24 7F0CC2F4 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100E28 7F0CC2F8 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100E2C 7F0CC2FC 3C0B0200 */ lui $t3, %hi(0x020001C8) # $t3, 0x200
|
||||
/* 100E30 7F0CC300 256B01C8 */ addiu $t3, %lo(0x020001C8) # addiu $t3, $t3, 0x1c8
|
||||
/* 100E34 7F0CC304 00002825 */ move $a1, $zero
|
||||
/* 100E38 7F0CC308 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E3C 7F0CC30C 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100E40 7F0CC310 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100E44 7F0CC314 3C0D0200 */ lui $t5, %hi(0x02000270) # $t5, 0x200
|
||||
/* 100E48 7F0CC318 25AD0270 */ addiu $t5, %lo(0x02000270) # addiu $t5, $t5, 0x270
|
||||
/* 100E4C 7F0CC31C 00002825 */ move $a1, $zero
|
||||
/* 100E50 7F0CC320 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E54 7F0CC324 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100E58 7F0CC328 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100E5C 7F0CC32C 3C0F0200 */ lui $t7, %hi(0x02000318) # $t7, 0x200
|
||||
/* 100E60 7F0CC330 25EF0318 */ addiu $t7, %lo(0x02000318) # addiu $t7, $t7, 0x318
|
||||
/* 100E64 7F0CC334 00002825 */ move $a1, $zero
|
||||
/* 100E68 7F0CC338 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E6C 7F0CC33C 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100E70 7F0CC340 8E180000 */ lw $t8, ($s0)
|
||||
/* 100E74 7F0CC344 3C190200 */ lui $t9, %hi(0x020003C0) # $t9, 0x200
|
||||
/* 100E78 7F0CC348 273903C0 */ addiu $t9, %lo(0x020003C0) # addiu $t9, $t9, 0x3c0
|
||||
/* 100E7C 7F0CC34C 00002825 */ move $a1, $zero
|
||||
/* 100E80 7F0CC350 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E84 7F0CC354 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100E88 7F0CC358 8E080000 */ lw $t0, ($s0)
|
||||
/* 100E8C 7F0CC35C 3C090200 */ lui $t1, %hi(0x02000468) # $t1, 0x200
|
||||
/* 100E90 7F0CC360 25290468 */ addiu $t1, %lo(0x02000468) # addiu $t1, $t1, 0x468
|
||||
/* 100E94 7F0CC364 00002825 */ move $a1, $zero
|
||||
/* 100E98 7F0CC368 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E9C 7F0CC36C 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100EA0 7F0CC370 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100EA4 7F0CC374 3C0B0200 */ lui $t3, %hi(0x02000510) # $t3, 0x200
|
||||
/* 100EA8 7F0CC378 256B0510 */ addiu $t3, %lo(0x02000510) # addiu $t3, $t3, 0x510
|
||||
/* 100EAC 7F0CC37C 00002825 */ move $a1, $zero
|
||||
/* 100EB0 7F0CC380 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EB4 7F0CC384 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100EB8 7F0CC388 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100EBC 7F0CC38C 3C0D0200 */ lui $t5, %hi(0x020005B8) # $t5, 0x200
|
||||
/* 100EC0 7F0CC390 25AD05B8 */ addiu $t5, %lo(0x020005B8) # addiu $t5, $t5, 0x5b8
|
||||
/* 100EC4 7F0CC394 00002825 */ move $a1, $zero
|
||||
/* 100EC8 7F0CC398 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100ECC 7F0CC39C 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100ED0 7F0CC3A0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100ED4 7F0CC3A4 3C0F0200 */ lui $t7, %hi(0x02000660) # $t7, 0x200
|
||||
/* 100ED8 7F0CC3A8 25EF0660 */ addiu $t7, %lo(0x02000660) # addiu $t7, $t7, 0x660
|
||||
/* 100EDC 7F0CC3AC 00002825 */ move $a1, $zero
|
||||
/* 100EE0 7F0CC3B0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EE4 7F0CC3B4 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100EE8 7F0CC3B8 8E180000 */ lw $t8, ($s0)
|
||||
/* 100EEC 7F0CC3BC 3C190200 */ lui $t9, %hi(0x02000708) # $t9, 0x200
|
||||
/* 100EF0 7F0CC3C0 27390708 */ addiu $t9, %lo(0x02000708) # addiu $t9, $t9, 0x708
|
||||
/* 100EF4 7F0CC3C4 00002825 */ move $a1, $zero
|
||||
/* 100EF8 7F0CC3C8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EFC 7F0CC3CC 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100F00 7F0CC3D0 8E080000 */ lw $t0, ($s0)
|
||||
/* 100F04 7F0CC3D4 3C090200 */ lui $t1, %hi(0x020007B0) # $t1, 0x200
|
||||
/* 100F08 7F0CC3D8 252907B0 */ addiu $t1, %lo(0x020007B0) # addiu $t1, $t1, 0x7b0
|
||||
/* 100F0C 7F0CC3DC 00002825 */ move $a1, $zero
|
||||
/* 100F10 7F0CC3E0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F14 7F0CC3E4 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100F18 7F0CC3E8 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100F1C 7F0CC3EC 3C0B0200 */ lui $t3, %hi(0x02000858) # $t3, 0x200
|
||||
/* 100F20 7F0CC3F0 256B0858 */ addiu $t3, %lo(0x02000858) # addiu $t3, $t3, 0x858
|
||||
/* 100F24 7F0CC3F4 00002825 */ move $a1, $zero
|
||||
/* 100F28 7F0CC3F8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F2C 7F0CC3FC 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100F30 7F0CC400 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100F34 7F0CC404 3C0D0200 */ lui $t5, %hi(0x02000900) # $t5, 0x200
|
||||
/* 100F38 7F0CC408 25AD0900 */ addiu $t5, %lo(0x02000900) # addiu $t5, $t5, 0x900
|
||||
/* 100F3C 7F0CC40C 00002825 */ move $a1, $zero
|
||||
/* 100F40 7F0CC410 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F44 7F0CC414 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100F48 7F0CC418 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100F4C 7F0CC41C 3C0F0200 */ lui $t7, %hi(0x020009A8) # $t7, 0x200
|
||||
/* 100F50 7F0CC420 25EF09A8 */ addiu $t7, %lo(0x020009A8) # addiu $t7, $t7, 0x9a8
|
||||
/* 100F54 7F0CC424 00002825 */ move $a1, $zero
|
||||
/* 100F58 7F0CC428 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F5C 7F0CC42C 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100F60 7F0CC430 8E180000 */ lw $t8, ($s0)
|
||||
/* 100F64 7F0CC434 3C190200 */ lui $t9, %hi(0x02000A50) # $t9, 0x200
|
||||
/* 100F68 7F0CC438 27390A50 */ addiu $t9, %lo(0x02000A50) # addiu $t9, $t9, 0xa50
|
||||
/* 100F6C 7F0CC43C 00002825 */ move $a1, $zero
|
||||
/* 100F70 7F0CC440 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F74 7F0CC444 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100F78 7F0CC448 3C048009 */ lui $a0, %hi(genericimage)
|
||||
/* 100F7C 7F0CC44C 8C84D0B8 */ lw $a0, %lo(genericimage)($a0)
|
||||
/* 100F80 7F0CC450 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100F84 7F0CC454 00002825 */ move $a1, $zero
|
||||
/* 100F88 7F0CC458 00008025 */ move $s0, $zero
|
||||
/* 100F8C 7F0CC45C 8E480000 */ lw $t0, ($s2)
|
||||
.L7F0CC460:
|
||||
/* 100F90 7F0CC460 00002825 */ move $a1, $zero
|
||||
/* 100F94 7F0CC464 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100F98 7F0CC468 02082021 */ addu $a0, $s0, $t0
|
||||
/* 100F9C 7F0CC46C 2610000C */ addiu $s0, $s0, 0xc
|
||||
/* 100FA0 7F0CC470 2A010048 */ slti $at, $s0, 0x48
|
||||
/* 100FA4 7F0CC474 5420FFFA */ bnezl $at, .L7F0CC460
|
||||
/* 100FA8 7F0CC478 8E480000 */ lw $t0, ($s2)
|
||||
/* 100FAC 7F0CC47C 00008025 */ move $s0, $zero
|
||||
/* 100FB0 7F0CC480 2411003C */ li $s1, 60
|
||||
/* 100FB4 7F0CC484 8E690000 */ lw $t1, ($s3)
|
||||
.L7F0CC488:
|
||||
/* 100FB8 7F0CC488 00002825 */ move $a1, $zero
|
||||
/* 100FBC 7F0CC48C 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100FC0 7F0CC490 02092021 */ addu $a0, $s0, $t1
|
||||
/* 100FC4 7F0CC494 2610000C */ addiu $s0, $s0, 0xc
|
||||
/* 100FC8 7F0CC498 5611FFFB */ bnel $s0, $s1, .L7F0CC488
|
||||
/* 100FCC 7F0CC49C 8E690000 */ lw $t1, ($s3)
|
||||
/* 100FD0 7F0CC4A0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 100FD4 7F0CC4A4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 100FD8 7F0CC4A8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 100FDC 7F0CC4AC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 100FE0 7F0CC4B0 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 100FE4 7F0CC4B4 03E00008 */ jr $ra
|
||||
/* 100FE8 7F0CC4B8 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,34 @@
|
||||
#ifndef _INDY_COMMANDS_H_
|
||||
#define _INDY_COMMANDS_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct indy_resource_entry {
|
||||
u32 resourceID;
|
||||
s32 type;
|
||||
s32 size;
|
||||
s32 readsize;
|
||||
s32 writesize;
|
||||
};
|
||||
|
||||
struct indy_resource_entry_type3 {
|
||||
struct indy_resource_entry entry;
|
||||
u8 strbuffer[255];
|
||||
u32 data;
|
||||
};
|
||||
|
||||
struct indy_resource_entry_type4 {
|
||||
struct indy_resource_entry entry;
|
||||
u32 data;
|
||||
};
|
||||
|
||||
struct indy_resource_entry_type6 {
|
||||
struct indy_resource_entry entry;
|
||||
u32 data1;
|
||||
u32 data2;
|
||||
};
|
||||
|
||||
extern s32 indy_ready;
|
||||
|
||||
u32 postindyresourcecommand(struct indy_resource_entry *param_1,u32 param_2);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,276 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/indy_commands.h"
|
||||
#include "game/indy_comms.h"
|
||||
|
||||
s32 init_indy_if_not_ready(void) {
|
||||
if (indy_ready != 1)
|
||||
{
|
||||
indy_ready = 1;
|
||||
init_indy_if_ready();
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_48(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
void init_indy_if_ready(void) {
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
post_indy__res_cmd_initialize_seq();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_resource_on_indy(s32 arg1) {
|
||||
? sp18;
|
||||
? sp1C;
|
||||
? sp20;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_req_filename_size(0x400000);
|
||||
response_indyrescmd_1_8_2(&sp20, &sp1C, &sp18, arg1);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel load_resource_on_indy
|
||||
/* 104ACC 7F0CFF9C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104AD0 7F0CFFA0 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104AD4 7F0CFFA4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 104AD8 7F0CFFA8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104ADC 7F0CFFAC 11C00008 */ beqz $t6, .L7F0CFFD0
|
||||
/* 104AE0 7F0CFFB0 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 104AE4 7F0CFFB4 0FC342E9 */ jal post_indyrescmd_req_filename_size
|
||||
/* 104AE8 7F0CFFB8 3C050040 */ lui $a1, 0x40
|
||||
/* 104AEC 7F0CFFBC 27A40020 */ addiu $a0, $sp, 0x20
|
||||
/* 104AF0 7F0CFFC0 27A5001C */ addiu $a1, $sp, 0x1c
|
||||
/* 104AF4 7F0CFFC4 27A60018 */ addiu $a2, $sp, 0x18
|
||||
/* 104AF8 7F0CFFC8 0FC345FF */ jal response_indyrescmd_1_8_2
|
||||
/* 104AFC 7F0CFFCC 8FA7002C */ lw $a3, 0x2c($sp)
|
||||
.L7F0CFFD0:
|
||||
/* 104B00 7F0CFFD0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B04 7F0CFFD4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 104B08 7F0CFFD8 03E00008 */ jr $ra
|
||||
/* 104B0C 7F0CFFDC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void indy_send_capture_data(s32 arg1, ? arg2) {
|
||||
? sp1C;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_send_capture_data(arg2, arg1);
|
||||
response_indyrescmd_1_A_2(&sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_send_capture_data
|
||||
/* 104B10 7F0CFFE0 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B14 7F0CFFE4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B18 7F0CFFE8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104B1C 7F0CFFEC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B20 7F0CFFF0 11C00006 */ beqz $t6, .L7F0D000C
|
||||
/* 104B24 7F0CFFF4 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104B28 7F0CFFF8 00C02825 */ move $a1, $a2
|
||||
/* 104B2C 7F0CFFFC 0FC3431A */ jal post_indyrescmd_send_capture_data
|
||||
/* 104B30 7F0D0000 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104B34 7F0D0004 0FC34619 */ jal response_indyrescmd_1_A_2
|
||||
/* 104B38 7F0D0008 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
.L7F0D000C:
|
||||
/* 104B3C 7F0D000C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B40 7F0D0010 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104B44 7F0D0014 03E00008 */ jr $ra
|
||||
/* 104B48 7F0D0018 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void indy_loadfile(void) {
|
||||
? sp1C;
|
||||
? sp20;
|
||||
? sp24;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_request_ramrom_file();
|
||||
response_indyrescmd_1_10_2(&sp24, &sp20, &sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_loadfile
|
||||
/* 104B4C 7F0D001C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B50 7F0D0020 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B54 7F0D0024 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 104B58 7F0D0028 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B5C 7F0D002C 51C00008 */ beql $t6, $zero, .L7F0D0050
|
||||
/* 104B60 7F0D0030 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B64 7F0D0034 0FC34346 */ jal post_indyrescmd_request_ramrom_file
|
||||
/* 104B68 7F0D0038 00000000 */ nop
|
||||
/* 104B6C 7F0D003C 27A40024 */ addiu $a0, $sp, 0x24
|
||||
/* 104B70 7F0D0040 27A50020 */ addiu $a1, $sp, 0x20
|
||||
/* 104B74 7F0D0044 0FC3462B */ jal response_indyrescmd_1_10_2
|
||||
/* 104B78 7F0D0048 27A6001C */ addiu $a2, $sp, 0x1c
|
||||
/* 104B7C 7F0D004C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F0D0050:
|
||||
/* 104B80 7F0D0050 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 104B84 7F0D0054 03E00008 */ jr $ra
|
||||
/* 104B88 7F0D0058 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void check_file_exported(s32 arg1, ? arg2) {
|
||||
? sp1C;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_game_prof_sendfile(arg2, arg1);
|
||||
response_indyrescmd_1_E_2(&sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_file_exported
|
||||
/* 104B8C 7F0D005C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B90 7F0D0060 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B94 7F0D0064 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104B98 7F0D0068 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B9C 7F0D006C 11C00006 */ beqz $t6, .L7F0D0088
|
||||
/* 104BA0 7F0D0070 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104BA4 7F0D0074 00C02825 */ move $a1, $a2
|
||||
/* 104BA8 7F0D0078 0FC34374 */ jal post_indyrescmd_game_prof_sendfile
|
||||
/* 104BAC 7F0D007C 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104BB0 7F0D0080 0FC34642 */ jal response_indyrescmd_1_E_2
|
||||
/* 104BB4 7F0D0084 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
.L7F0D0088:
|
||||
/* 104BB8 7F0D0088 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104BBC 7F0D008C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104BC0 7F0D0090 03E00008 */ jr $ra
|
||||
/* 104BC4 7F0D0094 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void check_file_found_on_indy(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_file_found_on_indy
|
||||
/* 104BC8 7F0D0098 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104BCC 7F0D009C 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104BD0 7F0D00A0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104BD4 7F0D00A4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104BD8 7F0D00A8 15C00003 */ bnez $t6, .L7F0D00B8
|
||||
/* 104BDC 7F0D00AC AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104BE0 7F0D00B0 10000007 */ b .L7F0D00D0
|
||||
/* 104BE4 7F0D00B4 00001025 */ move $v0, $zero
|
||||
.L7F0D00B8:
|
||||
/* 104BE8 7F0D00B8 0FC342C3 */ jal post_indyrescmd_game_printf_send
|
||||
/* 104BEC 7F0D00BC 00000000 */ nop
|
||||
/* 104BF0 7F0D00C0 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
/* 104BF4 7F0D00C4 0FC345EB */ jal response_indyrescmd_1_6_2
|
||||
/* 104BF8 7F0D00C8 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* 104BFC 7F0D00CC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L7F0D00D0:
|
||||
/* 104C00 7F0D00D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104C04 7F0D00D4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104C08 7F0D00D8 03E00008 */ jr $ra
|
||||
/* 104C0C 7F0D00DC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void response_from_command_string(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel response_from_command_string
|
||||
/* 104C10 7F0D00E0 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104C14 7F0D00E4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104C18 7F0D00E8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104C1C 7F0D00EC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104C20 7F0D00F0 15C00003 */ bnez $t6, .L7F0D0100
|
||||
/* 104C24 7F0D00F4 00000000 */ nop
|
||||
/* 104C28 7F0D00F8 10000006 */ b .L7F0D0114
|
||||
/* 104C2C 7F0D00FC 00001025 */ move $v0, $zero
|
||||
.L7F0D0100:
|
||||
/* 104C30 7F0D0100 0FC3439D */ jal post_indyrescmd_1_B_2
|
||||
/* 104C34 7F0D0104 00000000 */ nop
|
||||
/* 104C38 7F0D0108 0FC34654 */ jal response_indyrescmd_1_C_2
|
||||
/* 104C3C 7F0D010C 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
/* 104C40 7F0D0110 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L7F0D0114:
|
||||
/* 104C44 7F0D0114 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104C48 7F0D0118 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104C4C 7F0D011C 03E00008 */ jr $ra
|
||||
/* 104C50 7F0D0120 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
void sub_GAME_7F0D0124(void) {
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
rmon_debug_returns_neg_1();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void send_indy_close_port_cmd(void) {
|
||||
response_from_command_string("sleep 5; /etc/killall ghost gload");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _INDY_COMMS_H_
|
||||
#define _INDY_COMMS_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 init_indy_if_not_ready(void);
|
||||
void init_indy_if_ready(void);
|
||||
void load_resource_on_indy(s32 arg1);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,265 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/initBondDATA.h"
|
||||
|
||||
struct BONDdata_item_control_blocks BONDdata_item_control_blocks_initdata = {
|
||||
0, 0xFFFFFFFF, 0, 0x100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0,
|
||||
0, 0, 0, 1.0, 0, 0, 0, 0, 0, 0, -1.0, 0, 1.0, 0, 0, 0, 0, 0, 0, -19.999996, 0,
|
||||
19.999996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0, 0, 0, -1.0, 0, 0,
|
||||
-1.0, 0, 0, -1.0, 0, 1.0, 0, 0, 1.0, 0, 0, 1.0, 0, 0, 1.0, 0, 0, 0, 1.0, 1.0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000.0, 0, 0, 0, 0, 0xFF000000, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void init_player_BONDdata_stats(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_8004F0E0
|
||||
.word 0x3f666666
|
||||
glabel fl_neg_pi
|
||||
.word 0xc0490fdb
|
||||
.text
|
||||
glabel init_player_BONDdata_stats
|
||||
/* 039C00 7F0050D0 27BDFC30 */ addiu $sp, $sp, -0x3d0
|
||||
/* 039C04 7F0050D4 3C0F8003 */ lui $t7, %hi(BONDdata_item_control_blocks_initdata)
|
||||
/* 039C08 7F0050D8 25EFA3D0 */ addiu $t7, %lo(BONDdata_item_control_blocks_initdata) # addiu $t7, $t7, -0x5c30
|
||||
/* 039C0C 7F0050DC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 039C10 7F0050E0 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 039C14 7F0050E4 25E803A8 */ addiu $t0, $t7, 0x3a8
|
||||
/* 039C18 7F0050E8 27AE0024 */ addiu $t6, $sp, 0x24
|
||||
.L7F0050EC:
|
||||
/* 039C1C 7F0050EC 8DE10000 */ lw $at, ($t7)
|
||||
/* 039C20 7F0050F0 25EF000C */ addiu $t7, $t7, 0xc
|
||||
/* 039C24 7F0050F4 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 039C28 7F0050F8 ADC1FFF4 */ sw $at, -0xc($t6)
|
||||
/* 039C2C 7F0050FC 8DE1FFF8 */ lw $at, -8($t7)
|
||||
/* 039C30 7F005100 ADC1FFF8 */ sw $at, -8($t6)
|
||||
/* 039C34 7F005104 8DE1FFFC */ lw $at, -4($t7)
|
||||
/* 039C38 7F005108 15E8FFF8 */ bne $t7, $t0, .L7F0050EC
|
||||
/* 039C3C 7F00510C ADC1FFFC */ sw $at, -4($t6)
|
||||
/* 039C40 7F005110 3C048003 */ lui $a0, %hi(size_item_buffer)
|
||||
/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_item_buffer)($a0)
|
||||
/* 039C48 7F005118 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 039C4C 7F00511C 24050004 */ li $a1, 4
|
||||
/* 039C50 7F005120 3C108008 */ lui $s0, %hi(pPlayer)
|
||||
/* 039C54 7F005124 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50
|
||||
/* 039C58 7F005128 8E090000 */ lw $t1, ($s0)
|
||||
/* 039C5C 7F00512C 0FC26919 */ jal get_num_players
|
||||
/* 039C60 7F005130 AD220808 */ sw $v0, 0x808($t1)
|
||||
/* 039C64 7F005134 24010001 */ li $at, 1
|
||||
/* 039C68 7F005138 14410006 */ bne $v0, $at, .L7F005154
|
||||
/* 039C6C 7F00513C 3C048003 */ lui $a0, %hi(size_item_buffer+0x4)
|
||||
/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_item_buffer+0x4)($a0)
|
||||
/* 039C74 7F005144 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 039C78 7F005148 24050004 */ li $a1, 4
|
||||
/* 039C7C 7F00514C 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 039C80 7F005150 AD42080C */ sw $v0, 0x80c($t2)
|
||||
.L7F005154:
|
||||
/* 039C84 7F005154 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 039C88 7F005158 2405FFFF */ li $a1, -1
|
||||
/* 039C8C 7F00515C 27A30024 */ addiu $v1, $sp, 0x24
|
||||
/* 039C90 7F005160 AD6007F8 */ sw $zero, 0x7f8($t3)
|
||||
/* 039C94 7F005164 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 039C98 7F005168 246B03A8 */ addiu $t3, $v1, 0x3a8
|
||||
/* 039C9C 7F00516C 00001025 */ move $v0, $zero
|
||||
/* 039CA0 7F005170 AD8007FC */ sw $zero, 0x7fc($t4)
|
||||
/* 039CA4 7F005174 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 039CA8 7F005178 00606025 */ move $t4, $v1
|
||||
/* 039CAC 7F00517C ADA00800 */ sw $zero, 0x800($t5)
|
||||
/* 039CB0 7F005180 8E190000 */ lw $t9, ($s0)
|
||||
/* 039CB4 7F005184 AF200804 */ sw $zero, 0x804($t9)
|
||||
/* 039CB8 7F005188 8E180000 */ lw $t8, ($s0)
|
||||
/* 039CBC 7F00518C AF052A44 */ sw $a1, 0x2a44($t8)
|
||||
/* 039CC0 7F005190 8E080000 */ lw $t0, ($s0)
|
||||
/* 039CC4 7F005194 247803A8 */ addiu $t8, $v1, 0x3a8
|
||||
/* 039CC8 7F005198 AD052A48 */ sw $a1, 0x2a48($t0)
|
||||
/* 039CCC 7F00519C 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039CD0 7F0051A0 00604025 */ move $t0, $v1
|
||||
/* 039CD4 7F0051A4 3C038008 */ lui $v1, %hi(pPlayersPerm)
|
||||
/* 039CD8 7F0051A8 ADE02A50 */ sw $zero, 0x2a50($t7)
|
||||
/* 039CDC 7F0051AC 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c
|
||||
/* 039CE4 7F0051B4 ADC02A54 */ sw $zero, 0x2a54($t6)
|
||||
/* 039CE8 7F0051B8 8E090000 */ lw $t1, ($s0)
|
||||
.L7F0051BC:
|
||||
/* 039CEC 7F0051BC 8D810000 */ lw $at, ($t4)
|
||||
/* 039CF0 7F0051C0 258C000C */ addiu $t4, $t4, 0xc
|
||||
/* 039CF4 7F0051C4 2529000C */ addiu $t1, $t1, 0xc
|
||||
/* 039CF8 7F0051C8 AD210864 */ sw $at, 0x864($t1)
|
||||
/* 039CFC 7F0051CC 8D81FFF8 */ lw $at, -8($t4)
|
||||
/* 039D00 7F0051D0 AD210868 */ sw $at, 0x868($t1)
|
||||
/* 039D04 7F0051D4 8D81FFFC */ lw $at, -4($t4)
|
||||
/* 039D08 7F0051D8 158BFFF8 */ bne $t4, $t3, .L7F0051BC
|
||||
/* 039D0C 7F0051DC AD21086C */ sw $at, 0x86c($t1)
|
||||
/* 039D10 7F0051E0 8E0D0000 */ lw $t5, ($s0)
|
||||
.L7F0051E4:
|
||||
/* 039D14 7F0051E4 8D010000 */ lw $at, ($t0)
|
||||
/* 039D18 7F0051E8 2508000C */ addiu $t0, $t0, 0xc
|
||||
/* 039D1C 7F0051EC 25AD000C */ addiu $t5, $t5, 0xc
|
||||
/* 039D20 7F0051F0 ADA10C0C */ sw $at, 0xc0c($t5)
|
||||
/* 039D24 7F0051F4 8D01FFF8 */ lw $at, -8($t0)
|
||||
/* 039D28 7F0051F8 ADA10C10 */ sw $at, 0xc10($t5)
|
||||
/* 039D2C 7F0051FC 8D01FFFC */ lw $at, -4($t0)
|
||||
/* 039D30 7F005200 1518FFF8 */ bne $t0, $t8, .L7F0051E4
|
||||
/* 039D34 7F005204 ADA10C14 */ sw $at, 0xc14($t5)
|
||||
.L7F005208:
|
||||
/* 039D38 7F005208 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039D3C 7F00520C 01E27021 */ addu $t6, $t7, $v0
|
||||
/* 039D40 7F005210 24420004 */ addiu $v0, $v0, 4
|
||||
/* 039D44 7F005214 28410078 */ slti $at, $v0, 0x78
|
||||
/* 039D48 7F005218 1420FFFB */ bnez $at, .L7F005208
|
||||
/* 039D4C 7F00521C ADC01130 */ sw $zero, 0x1130($t6)
|
||||
/* 039D50 7F005220 8C6A0000 */ lw $t2, ($v1)
|
||||
/* 039D54 7F005224 24040003 */ li $a0, 3
|
||||
/* 039D58 7F005228 00041080 */ sll $v0, $a0, 2
|
||||
/* 039D5C 7F00522C AD400000 */ sw $zero, ($t2)
|
||||
/* 039D60 7F005230 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 039D64 7F005234 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 039D68 7F005238 44811000 */ mtc1 $at, $f2
|
||||
/* 039D6C 7F00523C AD600004 */ sw $zero, 4($t3)
|
||||
/* 039D70 7F005240 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 039D74 7F005244 3C018005 */ lui $at, %hi(D_8004F0E0)
|
||||
/* 039D78 7F005248 44800000 */ mtc1 $zero, $f0
|
||||
/* 039D7C 7F00524C AD800008 */ sw $zero, 8($t4)
|
||||
/* 039D80 7F005250 8C690000 */ lw $t1, ($v1)
|
||||
/* 039D84 7F005254 00002025 */ move $a0, $zero
|
||||
/* 039D88 7F005258 0122C821 */ addu $t9, $t1, $v0
|
||||
/* 039D8C 7F00525C AF200000 */ sw $zero, ($t9)
|
||||
/* 039D90 7F005260 8C780000 */ lw $t8, ($v1)
|
||||
/* 039D94 7F005264 03024021 */ addu $t0, $t8, $v0
|
||||
/* 039D98 7F005268 AD000004 */ sw $zero, 4($t0)
|
||||
/* 039D9C 7F00526C 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 039DA0 7F005270 01A27821 */ addu $t7, $t5, $v0
|
||||
/* 039DA4 7F005274 ADE00008 */ sw $zero, 8($t7)
|
||||
/* 039DA8 7F005278 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 039DAC 7F00527C 01C25021 */ addu $t2, $t6, $v0
|
||||
/* 039DB0 7F005280 AD40000C */ sw $zero, 0xc($t2)
|
||||
/* 039DB4 7F005284 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 039DB8 7F005288 C42CF0E0 */ lwc1 $f12, %lo(D_8004F0E0)($at)
|
||||
/* 039DBC 7F00528C 240200FF */ li $v0, 255
|
||||
/* 039DC0 7F005290 AD60006C */ sw $zero, 0x6c($t3)
|
||||
/* 039DC4 7F005294 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 039DC8 7F005298 3C018005 */ lui $at, %hi(fl_neg_pi)
|
||||
/* 039DCC 7F00529C AD80001C */ sw $zero, 0x1c($t4)
|
||||
/* 039DD0 7F0052A0 8C690000 */ lw $t1, ($v1)
|
||||
/* 039DD4 7F0052A4 AD200020 */ sw $zero, 0x20($t1)
|
||||
/* 039DD8 7F0052A8 8E190000 */ lw $t9, ($s0)
|
||||
/* 039DDC 7F0052AC AF2029D8 */ sw $zero, 0x29d8($t9)
|
||||
/* 039DE0 7F0052B0 8E180000 */ lw $t8, ($s0)
|
||||
/* 039DE4 7F0052B4 AF0029DC */ sw $zero, 0x29dc($t8)
|
||||
/* 039DE8 7F0052B8 8E080000 */ lw $t0, ($s0)
|
||||
/* 039DEC 7F0052BC E5020FC0 */ swc1 $f2, 0xfc0($t0)
|
||||
/* 039DF0 7F0052C0 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 039DF4 7F0052C4 E5A20FC4 */ swc1 $f2, 0xfc4($t5)
|
||||
/* 039DF8 7F0052C8 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039DFC 7F0052CC 240D0001 */ li $t5, 1
|
||||
/* 039E00 7F0052D0 ADE00FC8 */ sw $zero, 0xfc8($t7)
|
||||
/* 039E04 7F0052D4 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039E08 7F0052D8 ADC00FCC */ sw $zero, 0xfcc($t6)
|
||||
/* 039E0C 7F0052DC 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 039E10 7F0052E0 AD400FD0 */ sw $zero, 0xfd0($t2)
|
||||
/* 039E14 7F0052E4 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 039E18 7F0052E8 AD600FD4 */ sw $zero, 0xfd4($t3)
|
||||
/* 039E1C 7F0052EC 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 039E20 7F0052F0 AD800FD8 */ sw $zero, 0xfd8($t4)
|
||||
/* 039E24 7F0052F4 8E090000 */ lw $t1, ($s0)
|
||||
/* 039E28 7F0052F8 A1220FDC */ sb $v0, 0xfdc($t1)
|
||||
/* 039E2C 7F0052FC 8E190000 */ lw $t9, ($s0)
|
||||
/* 039E30 7F005300 A3220FDD */ sb $v0, 0xfdd($t9)
|
||||
/* 039E34 7F005304 8E180000 */ lw $t8, ($s0)
|
||||
/* 039E38 7F005308 A3020FDE */ sb $v0, 0xfde($t8)
|
||||
/* 039E3C 7F00530C 8E080000 */ lw $t0, ($s0)
|
||||
/* 039E40 7F005310 A1000FDF */ sb $zero, 0xfdf($t0)
|
||||
/* 039E44 7F005314 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039E48 7F005318 ADED0FE0 */ sw $t5, 0xfe0($t7)
|
||||
/* 039E4C 7F00531C 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039E50 7F005320 ADC00FE4 */ sw $zero, 0xfe4($t6)
|
||||
/* 039E54 7F005324 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 039E58 7F005328 E5400FE8 */ swc1 $f0, 0xfe8($t2)
|
||||
/* 039E5C 7F00532C 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 039E60 7F005330 E5600FEC */ swc1 $f0, 0xfec($t3)
|
||||
/* 039E64 7F005334 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 039E68 7F005338 E5800FF0 */ swc1 $f0, 0xff0($t4)
|
||||
/* 039E6C 7F00533C 8E090000 */ lw $t1, ($s0)
|
||||
/* 039E70 7F005340 E5200FF4 */ swc1 $f0, 0xff4($t1)
|
||||
/* 039E74 7F005344 8E190000 */ lw $t9, ($s0)
|
||||
/* 039E78 7F005348 E72C0FF8 */ swc1 $f12, 0xff8($t9)
|
||||
/* 039E7C 7F00534C 8E180000 */ lw $t8, ($s0)
|
||||
/* 039E80 7F005350 E7000FFC */ swc1 $f0, 0xffc($t8)
|
||||
/* 039E84 7F005354 8E080000 */ lw $t0, ($s0)
|
||||
/* 039E88 7F005358 E5001000 */ swc1 $f0, 0x1000($t0)
|
||||
/* 039E8C 7F00535C 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 039E90 7F005360 E5A01004 */ swc1 $f0, 0x1004($t5)
|
||||
/* 039E94 7F005364 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039E98 7F005368 E5E01008 */ swc1 $f0, 0x1008($t7)
|
||||
/* 039E9C 7F00536C 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039EA0 7F005370 E5CC100C */ swc1 $f12, 0x100c($t6)
|
||||
/* 039EA4 7F005374 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 039EA8 7F005378 E5401010 */ swc1 $f0, 0x1010($t2)
|
||||
/* 039EAC 7F00537C 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 039EB0 7F005380 C424F0E4 */ lwc1 $f4, %lo(fl_neg_pi)($at)
|
||||
/* 039EB4 7F005384 E5641014 */ swc1 $f4, 0x1014($t3)
|
||||
/* 039EB8 7F005388 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 039EBC 7F00538C E5801018 */ swc1 $f0, 0x1018($t4)
|
||||
/* 039EC0 7F005390 8E090000 */ lw $t1, ($s0)
|
||||
/* 039EC4 7F005394 AD201060 */ sw $zero, 0x1060($t1)
|
||||
/* 039EC8 7F005398 8E190000 */ lw $t9, ($s0)
|
||||
/* 039ECC 7F00539C AF251270 */ sw $a1, 0x1270($t9)
|
||||
/* 039ED0 7F0053A0 8E180000 */ lw $t8, ($s0)
|
||||
/* 039ED4 7F0053A4 E700106C */ swc1 $f0, 0x106c($t8)
|
||||
/* 039ED8 7F0053A8 8E080000 */ lw $t0, ($s0)
|
||||
/* 039EDC 7F0053AC E5001070 */ swc1 $f0, 0x1070($t0)
|
||||
/* 039EE0 7F0053B0 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 039EE4 7F0053B4 E5A01074 */ swc1 $f0, 0x1074($t5)
|
||||
/* 039EE8 7F0053B8 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 039EEC 7F0053BC ADE01078 */ sw $zero, 0x1078($t7)
|
||||
/* 039EF0 7F0053C0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039EF4 7F0053C4 E5C0107C */ swc1 $f0, 0x107c($t6)
|
||||
/* 039EF8 7F0053C8 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 039EFC 7F0053CC 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F00 7F0053D0 E5401080 */ swc1 $f0, 0x1080($t2)
|
||||
/* 039F04 7F0053D4 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F08 7F0053D8 00002025 */ move $a0, $zero
|
||||
/* 039F0C 7F0053DC 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F10 7F0053E0 00002025 */ move $a0, $zero
|
||||
/* 039F14 7F0053E4 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F18 7F0053E8 24040001 */ li $a0, 1
|
||||
/* 039F1C 7F0053EC 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F20 7F0053F0 24040001 */ li $a0, 1
|
||||
/* 039F24 7F0053F4 0FC17260 */ jal unknown_takes_playerhand
|
||||
/* 039F28 7F0053F8 24040001 */ li $a0, 1
|
||||
/* 039F2C 7F0053FC 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 039F30 7F005400 240C0002 */ li $t4, 2
|
||||
/* 039F34 7F005404 3C018003 */ lui $at, %hi(GsniperrifleZ_stats+52)
|
||||
/* 039F38 7F005408 AD601064 */ sw $zero, 0x1064($t3)
|
||||
/* 039F3C 7F00540C 8E090000 */ lw $t1, ($s0)
|
||||
/* 039F40 7F005410 AD2C1128 */ sw $t4, 0x1128($t1)
|
||||
/* 039F44 7F005414 8E190000 */ lw $t9, ($s0)
|
||||
/* 039F48 7F005418 C4262C38 */ lwc1 $f6, %lo(GsniperrifleZ_stats+52)($at)
|
||||
/* 039F4C 7F00541C 3C018003 */ lui $at, %hi(GcameraZ_stats+52)
|
||||
/* 039F50 7F005420 E7261084 */ swc1 $f6, 0x1084($t9)
|
||||
/* 039F54 7F005424 8E180000 */ lw $t8, ($s0)
|
||||
/* 039F58 7F005428 C42836B8 */ lwc1 $f8, %lo(GcameraZ_stats+52)($at)
|
||||
/* 039F5C 7F00542C E7081088 */ swc1 $f8, 0x1088($t8)
|
||||
/* 039F60 7F005430 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 039F64 7F005434 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 039F68 7F005438 27BD03D0 */ addiu $sp, $sp, 0x3d0
|
||||
/* 039F6C 7F00543C 03E00008 */ jr $ra
|
||||
/* 039F70 7F005440 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,243 @@
|
||||
#ifndef _INITBONDDATA_H_
|
||||
#define _INITBONDDATA_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
struct BONDdata_item_control_blocks {
|
||||
int BONDdata_item_control_blocks_initdata;
|
||||
int field_4;
|
||||
int field_8;
|
||||
int field_C;
|
||||
int field_10;
|
||||
int field_14;
|
||||
int field_18;
|
||||
int field_1C;
|
||||
int field_20;
|
||||
int field_24;
|
||||
int field_28;
|
||||
int field_2C;
|
||||
int field_30;
|
||||
int field_34;
|
||||
int field_38;
|
||||
int field_3C;
|
||||
int field_40;
|
||||
int field_44;
|
||||
int field_48;
|
||||
int field_4C;
|
||||
int field_50;
|
||||
int field_54;
|
||||
int field_58;
|
||||
int field_5C;
|
||||
int field_60;
|
||||
int field_64;
|
||||
int field_68;
|
||||
int field_6C;
|
||||
int field_70;
|
||||
int field_74;
|
||||
int field_78;
|
||||
float field_7C;
|
||||
int field_80;
|
||||
int field_84;
|
||||
int field_88;
|
||||
int field_8C;
|
||||
float field_90;
|
||||
int field_94;
|
||||
int field_98;
|
||||
int field_9C;
|
||||
int field_A0;
|
||||
float field_A4;
|
||||
int field_A8;
|
||||
int field_AC;
|
||||
int field_B0;
|
||||
int field_B4;
|
||||
float field_B8;
|
||||
int field_BC;
|
||||
int field_C0;
|
||||
int field_C4;
|
||||
int field_C8;
|
||||
int field_CC;
|
||||
int field_D0;
|
||||
float field_D4;
|
||||
int field_D8;
|
||||
float field_DC;
|
||||
int field_E0;
|
||||
int field_E4;
|
||||
int field_E8;
|
||||
int field_EC;
|
||||
int field_F0;
|
||||
int field_F4;
|
||||
float field_F8;
|
||||
int field_FC;
|
||||
float field_100;
|
||||
int field_104;
|
||||
int field_108;
|
||||
int field_10C;
|
||||
int field_110;
|
||||
int field_114;
|
||||
int field_118;
|
||||
int field_11C;
|
||||
int field_120;
|
||||
int field_124;
|
||||
int field_128;
|
||||
int field_12C;
|
||||
int field_130;
|
||||
int field_134;
|
||||
int field_138;
|
||||
int field_13C;
|
||||
float field_140;
|
||||
int field_144;
|
||||
int field_148;
|
||||
float field_14C;
|
||||
int field_150;
|
||||
int field_154;
|
||||
float field_158;
|
||||
int field_15C;
|
||||
int field_160;
|
||||
float field_164;
|
||||
int field_168;
|
||||
float field_16C;
|
||||
int field_170;
|
||||
int field_174;
|
||||
float field_178;
|
||||
int field_17C;
|
||||
int field_180;
|
||||
float field_184;
|
||||
int field_188;
|
||||
int field_18C;
|
||||
float field_190;
|
||||
int field_194;
|
||||
int field_198;
|
||||
int field_19C;
|
||||
float field_1A0;
|
||||
float field_1A4;
|
||||
int field_1A8;
|
||||
int field_1AC;
|
||||
int field_1B0;
|
||||
int field_1B4;
|
||||
int field_1B8;
|
||||
int field_1BC;
|
||||
int field_1C0;
|
||||
int field_1C4;
|
||||
int field_1C8;
|
||||
int field_1CC;
|
||||
float field_1D0;
|
||||
int field_1D4;
|
||||
int field_1D8;
|
||||
int field_1DC;
|
||||
int field_1E0;
|
||||
int field_1E4;
|
||||
int field_1E8;
|
||||
int field_1EC;
|
||||
int field_1F0;
|
||||
int field_1F4;
|
||||
int field_1F8;
|
||||
int field_1FC;
|
||||
int field_200;
|
||||
int field_204;
|
||||
int field_208;
|
||||
int field_20C;
|
||||
int field_210;
|
||||
int field_214;
|
||||
int field_218;
|
||||
int field_21C;
|
||||
int field_220;
|
||||
int field_224;
|
||||
int field_228;
|
||||
int field_22C;
|
||||
int field_230;
|
||||
int field_234;
|
||||
int field_238;
|
||||
int field_23C;
|
||||
int field_240;
|
||||
int field_244;
|
||||
int field_248;
|
||||
int field_24C;
|
||||
int field_250;
|
||||
int field_254;
|
||||
int field_258;
|
||||
int field_25C;
|
||||
int field_260;
|
||||
int field_264;
|
||||
int field_268;
|
||||
int field_26C;
|
||||
int field_270;
|
||||
int field_274;
|
||||
int field_278;
|
||||
int field_27C;
|
||||
int field_280;
|
||||
int field_284;
|
||||
int field_288;
|
||||
int field_28C;
|
||||
int field_290;
|
||||
int field_294;
|
||||
int field_298;
|
||||
int field_29C;
|
||||
int field_2A0;
|
||||
int field_2A4;
|
||||
int field_2A8;
|
||||
int field_2AC;
|
||||
int field_2B0;
|
||||
int field_2B4;
|
||||
int field_2B8;
|
||||
int field_2BC;
|
||||
int field_2C0;
|
||||
int field_2C4;
|
||||
int field_2C8;
|
||||
int field_2CC;
|
||||
int field_2D0;
|
||||
int field_2D4;
|
||||
int field_2D8;
|
||||
int field_2DC;
|
||||
int field_2E0;
|
||||
int field_2E4;
|
||||
int field_2E8;
|
||||
int field_2EC;
|
||||
int field_2F0;
|
||||
int field_2F4;
|
||||
int field_2F8;
|
||||
int field_2FC;
|
||||
int field_300;
|
||||
int field_304;
|
||||
int field_308;
|
||||
int field_30C;
|
||||
int field_310;
|
||||
int field_314;
|
||||
int field_318;
|
||||
int field_31C;
|
||||
int field_320;
|
||||
int field_324;
|
||||
int field_328;
|
||||
int field_32C;
|
||||
int field_330;
|
||||
int field_334;
|
||||
int field_338;
|
||||
int field_33C;
|
||||
int field_340;
|
||||
int field_344;
|
||||
int field_348;
|
||||
int field_34C;
|
||||
int field_350;
|
||||
int field_354;
|
||||
int field_358;
|
||||
int field_35C;
|
||||
int field_360;
|
||||
int field_364;
|
||||
int field_368;
|
||||
int field_36C;
|
||||
int field_370;
|
||||
int field_374;
|
||||
int field_378;
|
||||
int field_37C;
|
||||
int field_380;
|
||||
int field_384;
|
||||
int field_388;
|
||||
int field_38C;
|
||||
int field_390;
|
||||
int field_394;
|
||||
int field_398;
|
||||
int field_39C;
|
||||
int field_3A0;
|
||||
int field_3A4;
|
||||
int anonymous_0;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,663 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
//data
|
||||
s32 D_8002A790[] = { 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0062C0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0062C0
|
||||
/* 03ADF0 7F0062C0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 03ADF4 7F0062C4 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 03ADF8 7F0062C8 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 03ADFC 7F0062CC AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 03AE00 7F0062D0 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 03AE04 7F0062D4 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 03AE08 7F0062D8 AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* 03AE0C 7F0062DC AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* 03AE10 7F0062E0 00A6082A */ slt $at, $a1, $a2
|
||||
/* 03AE14 7F0062E4 00E08025 */ move $s0, $a3
|
||||
/* 03AE18 7F0062E8 00A08825 */ move $s1, $a1
|
||||
/* 03AE1C 7F0062EC 00C09025 */ move $s2, $a2
|
||||
/* 03AE20 7F0062F0 00809825 */ move $s3, $a0
|
||||
/* 03AE24 7F0062F4 ACE00000 */ sw $zero, ($a3)
|
||||
/* 03AE28 7F0062F8 ACE00004 */ sw $zero, 4($a3)
|
||||
/* 03AE2C 7F0062FC 1020001A */ beqz $at, .L7F006368
|
||||
/* 03AE30 7F006300 ACE00008 */ sw $zero, 8($a3)
|
||||
/* 03AE34 7F006304 3C148004 */ lui $s4, %hi(model_guard_character)
|
||||
/* 03AE38 7F006308 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00
|
||||
/* 03AE3C 7F00630C 27B50040 */ addiu $s5, $sp, 0x40
|
||||
.L7F006310:
|
||||
/* 03AE40 7F006310 00002025 */ move $a0, $zero
|
||||
/* 03AE44 7F006314 00002825 */ move $a1, $zero
|
||||
/* 03AE48 7F006318 02803025 */ move $a2, $s4
|
||||
/* 03AE4C 7F00631C 02603825 */ move $a3, $s3
|
||||
/* 03AE50 7F006320 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 03AE54 7F006324 0FC1B4B9 */ jal sub_GAME_7F06D2E4
|
||||
/* 03AE58 7F006328 AFB50014 */ sw $s5, 0x14($sp)
|
||||
/* 03AE5C 7F00632C 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 03AE60 7F006330 87AF0040 */ lh $t7, 0x40($sp)
|
||||
/* 03AE64 7F006334 8E190004 */ lw $t9, 4($s0)
|
||||
/* 03AE68 7F006338 8E0A0008 */ lw $t2, 8($s0)
|
||||
/* 03AE6C 7F00633C 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 03AE70 7F006340 AE180000 */ sw $t8, ($s0)
|
||||
/* 03AE74 7F006344 87A80042 */ lh $t0, 0x42($sp)
|
||||
/* 03AE78 7F006348 26310001 */ addiu $s1, $s1, 1
|
||||
/* 03AE7C 7F00634C 0232082A */ slt $at, $s1, $s2
|
||||
/* 03AE80 7F006350 03284821 */ addu $t1, $t9, $t0
|
||||
/* 03AE84 7F006354 AE090004 */ sw $t1, 4($s0)
|
||||
/* 03AE88 7F006358 87AB0044 */ lh $t3, 0x44($sp)
|
||||
/* 03AE8C 7F00635C 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 03AE90 7F006360 1420FFEB */ bnez $at, .L7F006310
|
||||
/* 03AE94 7F006364 AE0C0008 */ sw $t4, 8($s0)
|
||||
.L7F006368:
|
||||
/* 03AE98 7F006368 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 03AE9C 7F00636C 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 03AEA0 7F006370 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 03AEA4 7F006374 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* 03AEA8 7F006378 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* 03AEAC 7F00637C 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* 03AEB0 7F006380 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* 03AEB4 7F006384 03E00008 */ jr $ra
|
||||
/* 03AEB8 7F006388 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sets_a_bunch_of_BONDdata_values_to_default(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
|
||||
#ifdef VERSION_US
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_8004F1F0
|
||||
.word 0x3dccccce
|
||||
glabel D_8004F1F4
|
||||
.word 0x4164924b
|
||||
glabel D_8004F1F8
|
||||
.word 0x3f6e147b
|
||||
.text
|
||||
glabel sets_a_bunch_of_BONDdata_values_to_default
|
||||
/* 03AEBC 7F00638C 27BDFF20 */ addiu $sp, $sp, -0xe0
|
||||
/* 03AEC0 7F006390 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 03AEC4 7F006394 3C128004 */ lui $s2, %hi(player_gait_object)
|
||||
/* 03AEC8 7F006398 2652C650 */ addiu $s2, %lo(player_gait_object) # addiu $s2, $s2, -0x39b0
|
||||
/* 03AECC 7F00639C 864E0014 */ lh $t6, 0x14($s2)
|
||||
/* 03AED0 7F0063A0 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 03AED4 7F0063A4 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 03AED8 7F0063A8 29C1001F */ slti $at, $t6, 0x1f
|
||||
/* 03AEDC 7F0063AC AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 03AEE0 7F0063B0 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 03AEE4 7F0063B4 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 03AEE8 7F0063B8 F7B60028 */ sdc1 $f22, 0x28($sp)
|
||||
/* 03AEEC 7F0063BC 14200003 */ bnez $at, .L7F0063CC
|
||||
/* 03AEF0 7F0063C0 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 03AEF4 7F0063C4 0FC1B11B */ jal return_null
|
||||
/* 03AEF8 7F0063C8 00000000 */ nop
|
||||
.L7F0063CC:
|
||||
/* 03AEFC 7F0063CC 3C118008 */ lui $s1, %hi(pPlayer)
|
||||
/* 03AF00 7F0063D0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
|
||||
/* 03AF04 7F0063D4 8E300000 */ lw $s0, ($s1)
|
||||
/* 03AF08 7F0063D8 02402825 */ move $a1, $s2
|
||||
/* 03AF0C 7F0063DC 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03AF10 7F0063E0 0FC1D7EB */ jal sub_GAME_7F075FAC
|
||||
/* 03AF14 7F0063E4 26060654 */ addiu $a2, $s0, 0x654
|
||||
/* 03AF18 7F0063E8 3C018005 */ lui $at, %hi(D_8004F1F0)
|
||||
/* 03AF1C 7F0063EC C436F1F0 */ lwc1 $f22, %lo(D_8004F1F0)($at)
|
||||
/* 03AF20 7F0063F0 8E240000 */ lw $a0, ($s1)
|
||||
/* 03AF24 7F0063F4 4405B000 */ mfc1 $a1, $f22
|
||||
/* 03AF28 7F0063F8 0FC1B39E */ jal set_obj_instance_controller_scale
|
||||
/* 03AF2C 7F0063FC 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03AF30 7F006400 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 03AF34 7F006404 44810000 */ mtc1 $at, $f0
|
||||
/* 03AF38 7F006408 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03AF3C 7F00640C 3C018005 */ lui $at, %hi(D_8004F1F4)
|
||||
/* 03AF40 7F006410 C422F1F4 */ lwc1 $f2, %lo(D_8004F1F4)($at)
|
||||
/* 03AF44 7F006414 ADE004E8 */ sw $zero, 0x4e8($t7)
|
||||
/* 03AF48 7F006418 3C018005 */ lui $at, %hi(D_8004F1F8)
|
||||
/* 03AF4C 7F00641C C424F1F8 */ lwc1 $f4, %lo(D_8004F1F8)($at)
|
||||
/* 03AF50 7F006420 8E380000 */ lw $t8, ($s1)
|
||||
/* 03AF54 7F006424 4480A000 */ mtc1 $zero, $f20
|
||||
/* 03AF58 7F006428 24020001 */ li $v0, 1
|
||||
/* 03AF5C 7F00642C E70404EC */ swc1 $f4, 0x4ec($t8)
|
||||
/* 03AF60 7F006430 8E390000 */ lw $t9, ($s1)
|
||||
/* 03AF64 7F006434 3C108003 */ lui $s0, %hi(D_80036AD0)
|
||||
/* 03AF68 7F006438 3C148007 */ lui $s4, %hi(ptr_animation_table)
|
||||
/* 03AF6C 7F00643C AF2004F0 */ sw $zero, 0x4f0($t9)
|
||||
/* 03AF70 7F006440 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AF74 7F006444 3C138003 */ lui $s3, %hi(D_80036B00)
|
||||
/* 03AF78 7F006448 26736B00 */ addiu $s3, %lo(D_80036B00) # addiu $s3, $s3, 0x6b00
|
||||
/* 03AF7C 7F00644C E50004F4 */ swc1 $f0, 0x4f4($t0)
|
||||
/* 03AF80 7F006450 8E290000 */ lw $t1, ($s1)
|
||||
/* 03AF84 7F006454 26949538 */ addiu $s4, %lo(ptr_animation_table) # addiu $s4, $s4, -0x6ac8
|
||||
/* 03AF88 7F006458 26106AD0 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6ad0
|
||||
/* 03AF8C 7F00645C E52004F8 */ swc1 $f0, 0x4f8($t1)
|
||||
/* 03AF90 7F006460 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03AF94 7F006464 27B200D0 */ addiu $s2, $sp, 0xd0
|
||||
/* 03AF98 7F006468 E55404FC */ swc1 $f20, 0x4fc($t2)
|
||||
/* 03AF9C 7F00646C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03AFA0 7F006470 E5740500 */ swc1 $f20, 0x500($t3)
|
||||
/* 03AFA4 7F006474 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03AFA8 7F006478 E5940504 */ swc1 $f20, 0x504($t4)
|
||||
/* 03AFAC 7F00647C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03AFB0 7F006480 E5B40508 */ swc1 $f20, 0x508($t5)
|
||||
/* 03AFB4 7F006484 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03AFB8 7F006488 E5D4050C */ swc1 $f20, 0x50c($t6)
|
||||
/* 03AFBC 7F00648C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03AFC0 7F006490 E5F40510 */ swc1 $f20, 0x510($t7)
|
||||
/* 03AFC4 7F006494 8E380000 */ lw $t8, ($s1)
|
||||
/* 03AFC8 7F006498 E7140514 */ swc1 $f20, 0x514($t8)
|
||||
/* 03AFCC 7F00649C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03AFD0 7F0064A0 E7340518 */ swc1 $f20, 0x518($t9)
|
||||
/* 03AFD4 7F0064A4 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AFD8 7F0064A8 E514051C */ swc1 $f20, 0x51c($t0)
|
||||
/* 03AFDC 7F0064AC 8E290000 */ lw $t1, ($s1)
|
||||
/* 03AFE0 7F0064B0 E5340520 */ swc1 $f20, 0x520($t1)
|
||||
/* 03AFE4 7F0064B4 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03AFE8 7F0064B8 E5540524 */ swc1 $f20, 0x524($t2)
|
||||
/* 03AFEC 7F0064BC 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03AFF0 7F0064C0 E5740528 */ swc1 $f20, 0x528($t3)
|
||||
/* 03AFF4 7F0064C4 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03AFF8 7F0064C8 E594052C */ swc1 $f20, 0x52c($t4)
|
||||
/* 03AFFC 7F0064CC 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B000 7F0064D0 E5B40530 */ swc1 $f20, 0x530($t5)
|
||||
/* 03B004 7F0064D4 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B008 7F0064D8 E5C20534 */ swc1 $f2, 0x534($t6)
|
||||
/* 03B00C 7F0064DC 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B010 7F0064E0 E5F40538 */ swc1 $f20, 0x538($t7)
|
||||
/* 03B014 7F0064E4 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B018 7F0064E8 E702053C */ swc1 $f2, 0x53c($t8)
|
||||
/* 03B01C 7F0064EC 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B020 7F0064F0 E7340540 */ swc1 $f20, 0x540($t9)
|
||||
/* 03B024 7F0064F4 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B028 7F0064F8 AD0204DC */ sw $v0, 0x4dc($t0)
|
||||
/* 03B02C 7F0064FC 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B030 7F006500 AD2204E0 */ sw $v0, 0x4e0($t1)
|
||||
/* 03B034 7F006504 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B038 7F006508 AD4204E4 */ sw $v0, 0x4e4($t2)
|
||||
/* 03B03C 7F00650C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B040 7F006510 E5740544 */ swc1 $f20, 0x544($t3)
|
||||
/* 03B044 7F006514 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B048 7F006518 E5940548 */ swc1 $f20, 0x548($t4)
|
||||
/* 03B04C 7F00651C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B050 7F006520 E5B4054C */ swc1 $f20, 0x54c($t5)
|
||||
/* 03B054 7F006524 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B058 7F006528 E5D40550 */ swc1 $f20, 0x550($t6)
|
||||
/* 03B05C 7F00652C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B060 7F006530 E5F40554 */ swc1 $f20, 0x554($t7)
|
||||
/* 03B064 7F006534 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B068 7F006538 E7140558 */ swc1 $f20, 0x558($t8)
|
||||
/* 03B06C 7F00653C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B070 7F006540 E734055C */ swc1 $f20, 0x55c($t9)
|
||||
/* 03B074 7F006544 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B078 7F006548 E5140560 */ swc1 $f20, 0x560($t0)
|
||||
/* 03B07C 7F00654C 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B080 7F006550 E5340564 */ swc1 $f20, 0x564($t1)
|
||||
/* 03B084 7F006554 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B088 7F006558 E5540568 */ swc1 $f20, 0x568($t2)
|
||||
/* 03B08C 7F00655C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B090 7F006560 E560056C */ swc1 $f0, 0x56c($t3)
|
||||
/* 03B094 7F006564 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B098 7F006568 E5940570 */ swc1 $f20, 0x570($t4)
|
||||
/* 03B09C 7F00656C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B0A0 7F006570 E5B40574 */ swc1 $f20, 0x574($t5)
|
||||
/* 03B0A4 7F006574 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B0A8 7F006578 E5C00578 */ swc1 $f0, 0x578($t6)
|
||||
/* 03B0AC 7F00657C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B0B0 7F006580 E5F4057C */ swc1 $f20, 0x57c($t7)
|
||||
/* 03B0B4 7F006584 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B0B8 7F006588 E7000580 */ swc1 $f0, 0x580($t8)
|
||||
/* 03B0BC 7F00658C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B0C0 7F006590 E7340584 */ swc1 $f20, 0x584($t9)
|
||||
/* 03B0C4 7F006594 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B0C8 7F006598 E5140588 */ swc1 $f20, 0x588($t0)
|
||||
/* 03B0CC 7F00659C 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B0D0 7F0065A0 E520058C */ swc1 $f0, 0x58c($t1)
|
||||
/* 03B0D4 7F0065A4 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B0D8 7F0065A8 E5540590 */ swc1 $f20, 0x590($t2)
|
||||
/* 03B0DC 7F0065AC 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B0E0 7F0065B0 AD600594 */ sw $zero, 0x594($t3)
|
||||
.L7F0065B4:
|
||||
/* 03B0E4 7F0065B4 C6060004 */ lwc1 $f6, 4($s0)
|
||||
/* 03B0E8 7F0065B8 C60A0008 */ lwc1 $f10, 8($s0)
|
||||
/* 03B0EC 7F0065BC 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 03B0F0 7F0065C0 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 03B0F4 7F0065C4 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 03B0F8 7F0065C8 02403825 */ move $a3, $s2
|
||||
/* 03B0FC 7F0065CC 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 03B100 7F0065D0 44054000 */ mfc1 $a1, $f8
|
||||
/* 03B104 7F0065D4 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 03B108 7F0065D8 44068000 */ mfc1 $a2, $f16
|
||||
/* 03B10C 7F0065DC 0FC018B0 */ jal sub_GAME_7F0062C0
|
||||
/* 03B110 7F0065E0 00000000 */ nop
|
||||
/* 03B114 7F0065E4 8FB800D8 */ lw $t8, 0xd8($sp)
|
||||
/* 03B118 7F0065E8 C6120008 */ lwc1 $f18, 8($s0)
|
||||
/* 03B11C 7F0065EC C6040004 */ lwc1 $f4, 4($s0)
|
||||
/* 03B120 7F0065F0 44984000 */ mtc1 $t8, $f8
|
||||
/* 03B124 7F0065F4 26100018 */ addiu $s0, $s0, 0x18
|
||||
/* 03B128 7F0065F8 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 03B12C 7F0065FC 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03B130 7F006600 46165402 */ mul.s $f16, $f10, $f22
|
||||
/* 03B134 7F006604 46068483 */ div.s $f18, $f16, $f6
|
||||
/* 03B138 7F006608 1613FFEA */ bne $s0, $s3, .L7F0065B4
|
||||
/* 03B13C 7F00660C E612FFF4 */ swc1 $f18, -0xc($s0)
|
||||
/* 03B140 7F006610 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 03B144 7F006614 3C198003 */ lui $t9, %hi(D_8002A790)
|
||||
/* 03B148 7F006618 27B20090 */ addiu $s2, $sp, 0x90
|
||||
/* 03B14C 7F00661C 2739A790 */ addiu $t9, %lo(D_8002A790) # addiu $t9, $t9, -0x5870
|
||||
/* 03B150 7F006620 4481B000 */ mtc1 $at, $f22
|
||||
/* 03B154 7F006624 2729003C */ addiu $t1, $t9, 0x3c
|
||||
/* 03B158 7F006628 02405025 */ move $t2, $s2
|
||||
.L7F00662C:
|
||||
/* 03B15C 7F00662C 8F210000 */ lw $at, ($t9)
|
||||
/* 03B160 7F006630 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 03B164 7F006634 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 03B168 7F006638 AD41FFF4 */ sw $at, -0xc($t2)
|
||||
/* 03B16C 7F00663C 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 03B170 7F006640 AD41FFF8 */ sw $at, -8($t2)
|
||||
/* 03B174 7F006644 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 03B178 7F006648 1729FFF8 */ bne $t9, $t1, .L7F00662C
|
||||
/* 03B17C 7F00664C AD41FFFC */ sw $at, -4($t2)
|
||||
/* 03B180 7F006650 8F210000 */ lw $at, ($t9)
|
||||
/* 03B184 7F006654 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0
|
||||
/* 03B188 7F006658 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c
|
||||
/* 03B18C 7F00665C AD410000 */ sw $at, ($t2)
|
||||
/* 03B190 7F006660 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 03B194 7F006664 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B198 7F006668 4407A000 */ mfc1 $a3, $f20
|
||||
/* 03B19C 7F00666C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B1A0 7F006670 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B1A4 7F006674 00003025 */ move $a2, $zero
|
||||
/* 03B1A8 7F006678 016C2821 */ addu $a1, $t3, $t4
|
||||
/* 03B1AC 7F00667C 0FC1BF2A */ jal sub_GAME_7F06FCA8
|
||||
/* 03B1B0 7F006680 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B1B4 7F006684 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B1B8 7F006688 0FC1B5AC */ jal subcalcpos
|
||||
/* 03B1BC 7F00668C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B1C0 7F006690 27B30050 */ addiu $s3, $sp, 0x50
|
||||
/* 03B1C4 7F006694 0FC15FF4 */ jal matrix_4x4_set_identity
|
||||
/* 03B1C8 7F006698 02602025 */ move $a0, $s3
|
||||
/* 03B1CC 7F00669C 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B1D0 7F0066A0 AFB30090 */ sw $s3, 0x90($sp)
|
||||
/* 03B1D4 7F0066A4 02402025 */ move $a0, $s2
|
||||
/* 03B1D8 7F0066A8 260D06D0 */ addiu $t5, $s0, 0x6d0
|
||||
/* 03B1DC 7F0066AC AFAD00A0 */ sw $t5, 0xa0($sp)
|
||||
/* 03B1E0 7F0066B0 0FC1BCBE */ jal subcalcmatrices
|
||||
/* 03B1E4 7F0066B4 26050598 */ addiu $a1, $s0, 0x598
|
||||
/* 03B1E8 7F0066B8 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B1EC 7F0066BC 24130018 */ li $s3, 24
|
||||
/* 03B1F0 7F0066C0 3C128003 */ lui $s2, %hi(D_80036AD0)
|
||||
/* 03B1F4 7F0066C4 C6040704 */ lwc1 $f4, 0x704($s0)
|
||||
/* 03B1F8 7F0066C8 26526AD0 */ addiu $s2, %lo(D_80036AD0) # addiu $s2, $s2, 0x6ad0
|
||||
/* 03B1FC 7F0066CC 00003025 */ move $a2, $zero
|
||||
/* 03B200 7F0066D0 E6040550 */ swc1 $f4, 0x550($s0)
|
||||
/* 03B204 7F0066D4 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B208 7F0066D8 E5D40554 */ swc1 $f20, 0x554($t6)
|
||||
/* 03B20C 7F0066DC 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B210 7F0066E0 C6080744 */ lwc1 $f8, 0x744($s0)
|
||||
/* 03B214 7F0066E4 C60A0704 */ lwc1 $f10, 0x704($s0)
|
||||
/* 03B218 7F0066E8 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 03B21C 7F0066EC E6100558 */ swc1 $f16, 0x558($s0)
|
||||
/* 03B220 7F0066F0 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B224 7F0066F4 C6060748 */ lwc1 $f6, 0x748($s0)
|
||||
/* 03B228 7F0066F8 C6120708 */ lwc1 $f18, 0x708($s0)
|
||||
/* 03B22C 7F0066FC 46123101 */ sub.s $f4, $f6, $f18
|
||||
/* 03B230 7F006700 E604055C */ swc1 $f4, 0x55c($s0)
|
||||
/* 03B234 7F006704 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B238 7F006708 8E890000 */ lw $t1, ($s4)
|
||||
/* 03B23C 7F00670C 8E0F04E8 */ lw $t7, 0x4e8($s0)
|
||||
/* 03B240 7F006710 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B244 7F006714 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B248 7F006718 01F30019 */ multu $t7, $s3
|
||||
/* 03B24C 7F00671C 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B250 7F006720 0000C012 */ mflo $t8
|
||||
/* 03B254 7F006724 02581021 */ addu $v0, $s2, $t8
|
||||
/* 03B258 7F006728 8C480000 */ lw $t0, ($v0)
|
||||
/* 03B25C 7F00672C 8C470004 */ lw $a3, 4($v0)
|
||||
/* 03B260 7F006730 0FC1BF2A */ jal sub_GAME_7F06FCA8
|
||||
/* 03B264 7F006734 01092821 */ addu $a1, $t0, $t1
|
||||
/* 03B268 7F006738 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B26C 7F00673C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 03B270 7F006740 8E1904E8 */ lw $t9, 0x4e8($s0)
|
||||
/* 03B274 7F006744 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B278 7F006748 03330019 */ multu $t9, $s3
|
||||
/* 03B27C 7F00674C 00005012 */ mflo $t2
|
||||
/* 03B280 7F006750 024A5821 */ addu $t3, $s2, $t2
|
||||
/* 03B284 7F006754 0FC1BF73 */ jal sub_GAME_7F06FDCC
|
||||
/* 03B288 7F006758 8D650004 */ lw $a1, 4($t3)
|
||||
/* 03B28C 7F00675C 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B290 7F006760 8E0C04E8 */ lw $t4, 0x4e8($s0)
|
||||
/* 03B294 7F006764 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B298 7F006768 01930019 */ multu $t4, $s3
|
||||
/* 03B29C 7F00676C 00006812 */ mflo $t5
|
||||
/* 03B2A0 7F006770 024D7021 */ addu $t6, $s2, $t5
|
||||
/* 03B2A4 7F006774 0FC1BF7A */ jal sub_GAME_7F06FDE8
|
||||
/* 03B2A8 7F006778 8DC50008 */ lw $a1, 8($t6)
|
||||
/* 03B2AC 7F00677C 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B2B0 7F006780 3C057F09 */ lui $a1, %hi(sub_GAME_7F08DBB0) # $a1, 0x7f09
|
||||
/* 03B2B4 7F006784 24A5DBB0 */ addiu $a1, %lo(sub_GAME_7F08DBB0) # addiu $a1, $a1, -0x2450
|
||||
/* 03B2B8 7F006788 0FC1BF8F */ jal sub_GAME_7F06FE3C
|
||||
/* 03B2BC 7F00678C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B2C0 7F006790 0FC236F2 */ jal sub_GAME_7F08DBC8
|
||||
/* 03B2C4 7F006794 00000000 */ nop
|
||||
/* 03B2C8 7F006798 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 03B2CC 7F00679C D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 03B2D0 7F0067A0 D7B60028 */ ldc1 $f22, 0x28($sp)
|
||||
/* 03B2D4 7F0067A4 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 03B2D8 7F0067A8 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* 03B2DC 7F0067AC 8FB20038 */ lw $s2, 0x38($sp)
|
||||
/* 03B2E0 7F0067B0 8FB3003C */ lw $s3, 0x3c($sp)
|
||||
/* 03B2E4 7F0067B4 8FB40040 */ lw $s4, 0x40($sp)
|
||||
/* 03B2E8 7F0067B8 03E00008 */ jr $ra
|
||||
/* 03B2EC 7F0067BC 27BD00E0 */ addiu $sp, $sp, 0xe0
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_JP
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_8004F1F0
|
||||
.word 0x3dccccce
|
||||
glabel D_8004F1F4
|
||||
.word 0x4164924b
|
||||
glabel D_8004F1F8
|
||||
.word 0x3f6e147b
|
||||
.text
|
||||
glabel sets_a_bunch_of_BONDdata_values_to_default
|
||||
/* 03AEFC 7F00638C 27BDFF20 */ addiu $sp, $sp, -0xe0
|
||||
/* 03AF00 7F006390 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 03AF04 7F006394 3C128004 */ lui $s2, %hi(player_gait_object) # $s2, 0x8004
|
||||
/* 03AF08 7F006398 2652C680 */ addiu $s2, %lo(player_gait_object) # addiu $s2, $s2, -0x3980
|
||||
/* 03AF0C 7F00639C 864E0014 */ lh $t6, 0x14($s2)
|
||||
/* 03AF10 7F0063A0 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 03AF14 7F0063A4 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 03AF18 7F0063A8 29C1001F */ slti $at, $t6, 0x1f
|
||||
/* 03AF1C 7F0063AC AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 03AF20 7F0063B0 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 03AF24 7F0063B4 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 03AF28 7F0063B8 F7B60028 */ sdc1 $f22, 0x28($sp)
|
||||
/* 03AF2C 7F0063BC 14200003 */ bnez $at, .L7F0063CC
|
||||
/* 03AF30 7F0063C0 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 03AF34 7F0063C4 0FC1B297 */ jal return_null
|
||||
/* 03AF38 7F0063C8 00000000 */ nop
|
||||
.L7F0063CC:
|
||||
/* 03AF3C 7F0063CC 3C118008 */ lui $s1, %hi(pPlayer) # $s1, 0x8008
|
||||
/* 03AF40 7F0063D0 2631A120 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5ee0
|
||||
/* 03AF44 7F0063D4 8E300000 */ lw $s0, ($s1)
|
||||
/* 03AF48 7F0063D8 02402825 */ move $a1, $s2
|
||||
/* 03AF4C 7F0063DC 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03AF50 7F0063E0 0FC1D967 */ jal sub_GAME_7F075FAC
|
||||
/* 03AF54 7F0063E4 26060654 */ addiu $a2, $s0, 0x654
|
||||
/* 03AF58 7F0063E8 3C018005 */ lui $at, %hi(D_8004F1F0) # $at, 0x8005
|
||||
/* 03AF5C 7F0063EC C436F220 */ lwc1 $f22, %lo(D_8004F1F0)($at)
|
||||
/* 03AF60 7F0063F0 8E240000 */ lw $a0, ($s1)
|
||||
/* 03AF64 7F0063F4 4405B000 */ mfc1 $a1, $f22
|
||||
/* 03AF68 7F0063F8 0FC1B51A */ jal set_obj_instance_controller_scale
|
||||
/* 03AF6C 7F0063FC 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03AF70 7F006400 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 03AF74 7F006404 44810000 */ mtc1 $at, $f0
|
||||
/* 03AF78 7F006408 4480A000 */ mtc1 $zero, $f20
|
||||
/* 03AF7C 7F00640C 8E240000 */ lw $a0, ($s1)
|
||||
/* 03AF80 7F006410 44050000 */ mfc1 $a1, $f0
|
||||
/* 03AF84 7F006414 4406A000 */ mfc1 $a2, $f20
|
||||
/* 03AF88 7F006418 0FC1C142 */ jal sub_GAME_7F06FF18
|
||||
/* 03AF8C 7F00641C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03AF90 7F006420 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 03AF94 7F006424 44810000 */ mtc1 $at, $f0
|
||||
/* 03AF98 7F006428 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03AF9C 7F00642C 3C018005 */ lui $at, %hi(D_8004F1F4) # $at, 0x8005
|
||||
/* 03AFA0 7F006430 C422F224 */ lwc1 $f2, %lo(D_8004F1F4)($at)
|
||||
/* 03AFA4 7F006434 ADE004E8 */ sw $zero, 0x4e8($t7)
|
||||
/* 03AFA8 7F006438 3C018005 */ lui $at, %hi(D_8004F1F8) # $at, 0x8005
|
||||
/* 03AFAC 7F00643C C424F228 */ lwc1 $f4, %lo(D_8004F1F8)($at)
|
||||
/* 03AFB0 7F006440 8E380000 */ lw $t8, ($s1)
|
||||
/* 03AFB4 7F006444 24020001 */ li $v0, 1
|
||||
/* 03AFB8 7F006448 3C108003 */ lui $s0, %hi(D_80036AD0) # $s0, 0x8003
|
||||
/* 03AFBC 7F00644C E70404EC */ swc1 $f4, 0x4ec($t8)
|
||||
/* 03AFC0 7F006450 8E390000 */ lw $t9, ($s1)
|
||||
/* 03AFC4 7F006454 3C148007 */ lui $s4, %hi(ptr_animation_table) # $s4, 0x8007
|
||||
/* 03AFC8 7F006458 3C138003 */ lui $s3, %hi(D_80036B00) # $s3, 0x8003
|
||||
/* 03AFCC 7F00645C AF2004F0 */ sw $zero, 0x4f0($t9)
|
||||
/* 03AFD0 7F006460 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AFD4 7F006464 26736B30 */ addiu $s3, %lo(D_80036B00) # addiu $s3, $s3, 0x6b30
|
||||
/* 03AFD8 7F006468 26949578 */ addiu $s4, %lo(ptr_animation_table) # addiu $s4, $s4, -0x6a88
|
||||
/* 03AFDC 7F00646C E50004F4 */ swc1 $f0, 0x4f4($t0)
|
||||
/* 03AFE0 7F006470 8E290000 */ lw $t1, ($s1)
|
||||
/* 03AFE4 7F006474 26106B00 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6b00
|
||||
/* 03AFE8 7F006478 27B200D0 */ addiu $s2, $sp, 0xd0
|
||||
/* 03AFEC 7F00647C E52004F8 */ swc1 $f0, 0x4f8($t1)
|
||||
/* 03AFF0 7F006480 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03AFF4 7F006484 E55404FC */ swc1 $f20, 0x4fc($t2)
|
||||
/* 03AFF8 7F006488 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03AFFC 7F00648C E5740500 */ swc1 $f20, 0x500($t3)
|
||||
/* 03B000 7F006490 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B004 7F006494 E5940504 */ swc1 $f20, 0x504($t4)
|
||||
/* 03B008 7F006498 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B00C 7F00649C E5B40508 */ swc1 $f20, 0x508($t5)
|
||||
/* 03B010 7F0064A0 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B014 7F0064A4 E5D4050C */ swc1 $f20, 0x50c($t6)
|
||||
/* 03B018 7F0064A8 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B01C 7F0064AC E5F40510 */ swc1 $f20, 0x510($t7)
|
||||
/* 03B020 7F0064B0 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B024 7F0064B4 E7140514 */ swc1 $f20, 0x514($t8)
|
||||
/* 03B028 7F0064B8 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B02C 7F0064BC E7340518 */ swc1 $f20, 0x518($t9)
|
||||
/* 03B030 7F0064C0 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B034 7F0064C4 E514051C */ swc1 $f20, 0x51c($t0)
|
||||
/* 03B038 7F0064C8 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B03C 7F0064CC E5340520 */ swc1 $f20, 0x520($t1)
|
||||
/* 03B040 7F0064D0 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B044 7F0064D4 E5540524 */ swc1 $f20, 0x524($t2)
|
||||
/* 03B048 7F0064D8 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B04C 7F0064DC E5740528 */ swc1 $f20, 0x528($t3)
|
||||
/* 03B050 7F0064E0 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B054 7F0064E4 E594052C */ swc1 $f20, 0x52c($t4)
|
||||
/* 03B058 7F0064E8 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B05C 7F0064EC E5B40530 */ swc1 $f20, 0x530($t5)
|
||||
/* 03B060 7F0064F0 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B064 7F0064F4 E5C20534 */ swc1 $f2, 0x534($t6)
|
||||
/* 03B068 7F0064F8 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B06C 7F0064FC E5F40538 */ swc1 $f20, 0x538($t7)
|
||||
/* 03B070 7F006500 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B074 7F006504 E702053C */ swc1 $f2, 0x53c($t8)
|
||||
/* 03B078 7F006508 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B07C 7F00650C E7340540 */ swc1 $f20, 0x540($t9)
|
||||
/* 03B080 7F006510 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B084 7F006514 AD0204DC */ sw $v0, 0x4dc($t0)
|
||||
/* 03B088 7F006518 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B08C 7F00651C AD2204E0 */ sw $v0, 0x4e0($t1)
|
||||
/* 03B090 7F006520 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B094 7F006524 AD4204E4 */ sw $v0, 0x4e4($t2)
|
||||
/* 03B098 7F006528 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B09C 7F00652C E5740544 */ swc1 $f20, 0x544($t3)
|
||||
/* 03B0A0 7F006530 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B0A4 7F006534 E5940548 */ swc1 $f20, 0x548($t4)
|
||||
/* 03B0A8 7F006538 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B0AC 7F00653C E5B4054C */ swc1 $f20, 0x54c($t5)
|
||||
/* 03B0B0 7F006540 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B0B4 7F006544 E5D40550 */ swc1 $f20, 0x550($t6)
|
||||
/* 03B0B8 7F006548 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B0BC 7F00654C E5F40554 */ swc1 $f20, 0x554($t7)
|
||||
/* 03B0C0 7F006550 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B0C4 7F006554 E7140558 */ swc1 $f20, 0x558($t8)
|
||||
/* 03B0C8 7F006558 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B0CC 7F00655C E734055C */ swc1 $f20, 0x55c($t9)
|
||||
/* 03B0D0 7F006560 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B0D4 7F006564 E5140560 */ swc1 $f20, 0x560($t0)
|
||||
/* 03B0D8 7F006568 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B0DC 7F00656C E5340564 */ swc1 $f20, 0x564($t1)
|
||||
/* 03B0E0 7F006570 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B0E4 7F006574 E5540568 */ swc1 $f20, 0x568($t2)
|
||||
/* 03B0E8 7F006578 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B0EC 7F00657C E560056C */ swc1 $f0, 0x56c($t3)
|
||||
/* 03B0F0 7F006580 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B0F4 7F006584 E5940570 */ swc1 $f20, 0x570($t4)
|
||||
/* 03B0F8 7F006588 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B0FC 7F00658C E5B40574 */ swc1 $f20, 0x574($t5)
|
||||
/* 03B100 7F006590 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B104 7F006594 E5C00578 */ swc1 $f0, 0x578($t6)
|
||||
/* 03B108 7F006598 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B10C 7F00659C E5F4057C */ swc1 $f20, 0x57c($t7)
|
||||
/* 03B110 7F0065A0 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B114 7F0065A4 E7000580 */ swc1 $f0, 0x580($t8)
|
||||
/* 03B118 7F0065A8 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B11C 7F0065AC E7340584 */ swc1 $f20, 0x584($t9)
|
||||
/* 03B120 7F0065B0 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B124 7F0065B4 E5140588 */ swc1 $f20, 0x588($t0)
|
||||
/* 03B128 7F0065B8 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B12C 7F0065BC E520058C */ swc1 $f0, 0x58c($t1)
|
||||
/* 03B130 7F0065C0 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B134 7F0065C4 E5540590 */ swc1 $f20, 0x590($t2)
|
||||
/* 03B138 7F0065C8 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B13C 7F0065CC AD600594 */ sw $zero, 0x594($t3)
|
||||
.L7F0065D0:
|
||||
/* 03B140 7F0065D0 C6060004 */ lwc1 $f6, 4($s0)
|
||||
/* 03B144 7F0065D4 C60A0008 */ lwc1 $f10, 8($s0)
|
||||
/* 03B148 7F0065D8 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 03B14C 7F0065DC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 03B150 7F0065E0 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 03B154 7F0065E4 02403825 */ move $a3, $s2
|
||||
/* 03B158 7F0065E8 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 03B15C 7F0065EC 44054000 */ mfc1 $a1, $f8
|
||||
/* 03B160 7F0065F0 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 03B164 7F0065F4 44068000 */ mfc1 $a2, $f16
|
||||
/* 03B168 7F0065F8 0FC018B0 */ jal sub_GAME_7F0062C0
|
||||
/* 03B16C 7F0065FC 00000000 */ nop
|
||||
/* 03B170 7F006600 8FB800D8 */ lw $t8, 0xd8($sp)
|
||||
/* 03B174 7F006604 C6120008 */ lwc1 $f18, 8($s0)
|
||||
/* 03B178 7F006608 C6040004 */ lwc1 $f4, 4($s0)
|
||||
/* 03B17C 7F00660C 44984000 */ mtc1 $t8, $f8
|
||||
/* 03B180 7F006610 26100018 */ addiu $s0, $s0, 0x18
|
||||
/* 03B184 7F006614 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 03B188 7F006618 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03B18C 7F00661C 46165402 */ mul.s $f16, $f10, $f22
|
||||
/* 03B190 7F006620 46068483 */ div.s $f18, $f16, $f6
|
||||
/* 03B194 7F006624 1613FFEA */ bne $s0, $s3, .L7F0065D0
|
||||
/* 03B198 7F006628 E612FFF4 */ swc1 $f18, -0xc($s0)
|
||||
/* 03B19C 7F00662C 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 03B1A0 7F006630 3C198003 */ lui $t9, %hi(D_8002A790) # $t9, 0x8003
|
||||
/* 03B1A4 7F006634 27B20090 */ addiu $s2, $sp, 0x90
|
||||
/* 03B1A8 7F006638 2739A7D0 */ addiu $t9, %lo(D_8002A790) # addiu $t9, $t9, -0x5830
|
||||
/* 03B1AC 7F00663C 4481B000 */ mtc1 $at, $f22
|
||||
/* 03B1B0 7F006640 2729003C */ addiu $t1, $t9, 0x3c
|
||||
/* 03B1B4 7F006644 02405025 */ move $t2, $s2
|
||||
.L7F006648:
|
||||
/* 03B1B8 7F006648 8F210000 */ lw $at, ($t9)
|
||||
/* 03B1BC 7F00664C 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 03B1C0 7F006650 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 03B1C4 7F006654 AD41FFF4 */ sw $at, -0xc($t2)
|
||||
/* 03B1C8 7F006658 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 03B1CC 7F00665C AD41FFF8 */ sw $at, -8($t2)
|
||||
/* 03B1D0 7F006660 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 03B1D4 7F006664 1729FFF8 */ bne $t9, $t1, .L7F006648
|
||||
/* 03B1D8 7F006668 AD41FFFC */ sw $at, -4($t2)
|
||||
/* 03B1DC 7F00666C 8F210000 */ lw $at, ($t9)
|
||||
/* 03B1E0 7F006670 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0
|
||||
/* 03B1E4 7F006674 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c
|
||||
/* 03B1E8 7F006678 AD410000 */ sw $at, ($t2)
|
||||
/* 03B1EC 7F00667C 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 03B1F0 7F006680 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B1F4 7F006684 4407A000 */ mfc1 $a3, $f20
|
||||
/* 03B1F8 7F006688 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B1FC 7F00668C E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B200 7F006690 00003025 */ move $a2, $zero
|
||||
/* 03B204 7F006694 016C2821 */ addu $a1, $t3, $t4
|
||||
/* 03B208 7F006698 0FC1C0A6 */ jal sub_GAME_7F06FCA8
|
||||
/* 03B20C 7F00669C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B210 7F0066A0 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B214 7F0066A4 0FC1B728 */ jal subcalcpos
|
||||
/* 03B218 7F0066A8 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B21C 7F0066AC 27B30050 */ addiu $s3, $sp, 0x50
|
||||
/* 03B220 7F0066B0 0FC1613C */ jal matrix_4x4_set_identity
|
||||
/* 03B224 7F0066B4 02602025 */ move $a0, $s3
|
||||
/* 03B228 7F0066B8 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B22C 7F0066BC AFB30090 */ sw $s3, 0x90($sp)
|
||||
/* 03B230 7F0066C0 02402025 */ move $a0, $s2
|
||||
/* 03B234 7F0066C4 260D06D0 */ addiu $t5, $s0, 0x6d0
|
||||
/* 03B238 7F0066C8 AFAD00A0 */ sw $t5, 0xa0($sp)
|
||||
/* 03B23C 7F0066CC 0FC1BE3A */ jal subcalcmatrices
|
||||
/* 03B240 7F0066D0 26050598 */ addiu $a1, $s0, 0x598
|
||||
/* 03B244 7F0066D4 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B248 7F0066D8 24130018 */ li $s3, 24
|
||||
/* 03B24C 7F0066DC 3C128003 */ lui $s2, %hi(D_80036AD0) # $s2, 0x8003
|
||||
/* 03B250 7F0066E0 C6040704 */ lwc1 $f4, 0x704($s0)
|
||||
/* 03B254 7F0066E4 26526B00 */ addiu $s2, %lo(D_80036AD0) # addiu $s2, $s2, 0x6b00
|
||||
/* 03B258 7F0066E8 00003025 */ move $a2, $zero
|
||||
/* 03B25C 7F0066EC E6040550 */ swc1 $f4, 0x550($s0)
|
||||
/* 03B260 7F0066F0 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B264 7F0066F4 E5D40554 */ swc1 $f20, 0x554($t6)
|
||||
/* 03B268 7F0066F8 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B26C 7F0066FC C6080744 */ lwc1 $f8, 0x744($s0)
|
||||
/* 03B270 7F006700 C60A0704 */ lwc1 $f10, 0x704($s0)
|
||||
/* 03B274 7F006704 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 03B278 7F006708 E6100558 */ swc1 $f16, 0x558($s0)
|
||||
/* 03B27C 7F00670C 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B280 7F006710 C6060748 */ lwc1 $f6, 0x748($s0)
|
||||
/* 03B284 7F006714 C6120708 */ lwc1 $f18, 0x708($s0)
|
||||
/* 03B288 7F006718 46123101 */ sub.s $f4, $f6, $f18
|
||||
/* 03B28C 7F00671C E604055C */ swc1 $f4, 0x55c($s0)
|
||||
/* 03B290 7F006720 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B294 7F006724 8E890000 */ lw $t1, ($s4)
|
||||
/* 03B298 7F006728 8E0F04E8 */ lw $t7, 0x4e8($s0)
|
||||
/* 03B29C 7F00672C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B2A0 7F006730 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B2A4 7F006734 01F30019 */ multu $t7, $s3
|
||||
/* 03B2A8 7F006738 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B2AC 7F00673C 0000C012 */ mflo $t8
|
||||
/* 03B2B0 7F006740 02581021 */ addu $v0, $s2, $t8
|
||||
/* 03B2B4 7F006744 8C480000 */ lw $t0, ($v0)
|
||||
/* 03B2B8 7F006748 8C470004 */ lw $a3, 4($v0)
|
||||
/* 03B2BC 7F00674C 0FC1C0A6 */ jal sub_GAME_7F06FCA8
|
||||
/* 03B2C0 7F006750 01092821 */ addu $a1, $t0, $t1
|
||||
/* 03B2C4 7F006754 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B2C8 7F006758 4406A000 */ mfc1 $a2, $f20
|
||||
/* 03B2CC 7F00675C 8E1904E8 */ lw $t9, 0x4e8($s0)
|
||||
/* 03B2D0 7F006760 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B2D4 7F006764 03330019 */ multu $t9, $s3
|
||||
/* 03B2D8 7F006768 00005012 */ mflo $t2
|
||||
/* 03B2DC 7F00676C 024A5821 */ addu $t3, $s2, $t2
|
||||
/* 03B2E0 7F006770 0FC1C0EF */ jal sub_GAME_7F06FDCC
|
||||
/* 03B2E4 7F006774 8D650004 */ lw $a1, 4($t3)
|
||||
/* 03B2E8 7F006778 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B2EC 7F00677C 8E0C04E8 */ lw $t4, 0x4e8($s0)
|
||||
/* 03B2F0 7F006780 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B2F4 7F006784 01930019 */ multu $t4, $s3
|
||||
/* 03B2F8 7F006788 00006812 */ mflo $t5
|
||||
/* 03B2FC 7F00678C 024D7021 */ addu $t6, $s2, $t5
|
||||
/* 03B300 7F006790 0FC1C0F6 */ jal sub_GAME_7F06FDE8
|
||||
/* 03B304 7F006794 8DC50008 */ lw $a1, 8($t6)
|
||||
/* 03B308 7F006798 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B30C 7F00679C 3C057F09 */ lui $a1, %hi(sub_GAME_7F08DBB0) # $a1, 0x7f09
|
||||
/* 03B310 7F0067A0 24A5E690 */ addiu $a1, %lo(sub_GAME_7F08DBB0) # addiu $a1, $a1, -0x1970
|
||||
/* 03B314 7F0067A4 0FC1C10B */ jal sub_GAME_7F06FE3C
|
||||
/* 03B318 7F0067A8 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B31C 7F0067AC 0FC239AA */ jal sub_GAME_7F08DBC8
|
||||
/* 03B320 7F0067B0 00000000 */ nop
|
||||
/* 03B324 7F0067B4 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 03B328 7F0067B8 D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 03B32C 7F0067BC D7B60028 */ ldc1 $f22, 0x28($sp)
|
||||
/* 03B330 7F0067C0 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 03B334 7F0067C4 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* 03B338 7F0067C8 8FB20038 */ lw $s2, 0x38($sp)
|
||||
/* 03B33C 7F0067CC 8FB3003C */ lw $s3, 0x3c($sp)
|
||||
/* 03B340 7F0067D0 8FB40040 */ lw $s4, 0x40($sp)
|
||||
/* 03B344 7F0067D4 03E00008 */ jr $ra
|
||||
/* 03B348 7F0067D8 27BD00E0 */ addiu $sp, $sp, 0xe0
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,718 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/initactorpropstuff.h"
|
||||
#include "game/chr.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void reset_counter_rand_body_head(void) {
|
||||
num_bodies = 0;
|
||||
if (list_of_bodies[0] >= 0 ) {
|
||||
num_bodies = 1;
|
||||
while (list_of_bodies[num_bodies] >= 0) {
|
||||
num_bodies += 1;
|
||||
}
|
||||
}
|
||||
num_male_heads = 0;
|
||||
if (random_male_heads[0] >= 0) {
|
||||
num_male_heads = 1;
|
||||
while (random_male_heads[num_male_heads] >= 0) {
|
||||
num_male_heads += 1;
|
||||
}
|
||||
}
|
||||
num_female_heads = 0;
|
||||
if (random_female_heads[0] >= 0) {
|
||||
num_female_heads = 1;
|
||||
while (random_female_heads[num_female_heads] >= 0) {
|
||||
num_female_heads += 1;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel reset_counter_rand_body_head
|
||||
/* 034C40 7F000110 3C048003 */ lui $a0, %hi(list_of_bodies)
|
||||
/* 034C44 7F000114 2484CD0C */ addiu $a0, %lo(list_of_bodies) # addiu $a0, $a0, -0x32f4
|
||||
/* 034C48 7F000118 00007080 */ sll $t6, $zero, 2
|
||||
/* 034C4C 7F00011C 008E7821 */ addu $t7, $a0, $t6
|
||||
/* 034C50 7F000120 8DF80000 */ lw $t8, ($t7)
|
||||
/* 034C54 7F000124 3C038003 */ lui $v1, %hi(num_bodies)
|
||||
/* 034C58 7F000128 2463CD00 */ addiu $v1, %lo(num_bodies) # addiu $v1, $v1, -0x3300
|
||||
/* 034C5C 7F00012C AC600000 */ sw $zero, ($v1)
|
||||
/* 034C60 7F000130 07000009 */ bltz $t8, .L7F000158
|
||||
/* 034C64 7F000134 00001025 */ move $v0, $zero
|
||||
/* 034C68 7F000138 24590001 */ addiu $t9, $v0, 1
|
||||
.L7F00013C:
|
||||
/* 034C6C 7F00013C 00194080 */ sll $t0, $t9, 2
|
||||
/* 034C70 7F000140 00884821 */ addu $t1, $a0, $t0
|
||||
/* 034C74 7F000144 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 034C78 7F000148 AC790000 */ sw $t9, ($v1)
|
||||
/* 034C7C 7F00014C 03201025 */ move $v0, $t9
|
||||
/* 034C80 7F000150 0543FFFA */ bgezl $t2, .L7F00013C
|
||||
/* 034C84 7F000154 24590001 */ addiu $t9, $v0, 1
|
||||
.L7F000158:
|
||||
/* 034C88 7F000158 3C048003 */ lui $a0, %hi(random_male_heads)
|
||||
/* 034C8C 7F00015C 2484CDB8 */ addiu $a0, %lo(random_male_heads) # addiu $a0, $a0, -0x3248
|
||||
/* 034C90 7F000160 00005880 */ sll $t3, $zero, 2
|
||||
/* 034C94 7F000164 008B6021 */ addu $t4, $a0, $t3
|
||||
/* 034C98 7F000168 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 034C9C 7F00016C 3C038003 */ lui $v1, %hi(num_male_heads)
|
||||
/* 034CA0 7F000170 2463CD04 */ addiu $v1, %lo(num_male_heads) # addiu $v1, $v1, -0x32fc
|
||||
/* 034CA4 7F000174 AC600000 */ sw $zero, ($v1)
|
||||
/* 034CA8 7F000178 05A00009 */ bltz $t5, .L7F0001A0
|
||||
/* 034CAC 7F00017C 00001025 */ move $v0, $zero
|
||||
/* 034CB0 7F000180 244E0001 */ addiu $t6, $v0, 1
|
||||
.L7F000184:
|
||||
/* 034CB4 7F000184 000E7880 */ sll $t7, $t6, 2
|
||||
/* 034CB8 7F000188 008FC021 */ addu $t8, $a0, $t7
|
||||
/* 034CBC 7F00018C 8F190000 */ lw $t9, ($t8)
|
||||
/* 034CC0 7F000190 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 034CC4 7F000194 01C01025 */ move $v0, $t6
|
||||
/* 034CC8 7F000198 0723FFFA */ bgezl $t9, .L7F000184
|
||||
/* 034CCC 7F00019C 244E0001 */ addiu $t6, $v0, 1
|
||||
.L7F0001A0:
|
||||
/* 034CD0 7F0001A0 3C048003 */ lui $a0, %hi(random_female_heads)
|
||||
/* 034CD4 7F0001A4 2484CE20 */ addiu $a0, %lo(random_female_heads) # addiu $a0, $a0, -0x31e0
|
||||
/* 034CD8 7F0001A8 00004080 */ sll $t0, $zero, 2
|
||||
/* 034CDC 7F0001AC 00884821 */ addu $t1, $a0, $t0
|
||||
/* 034CE0 7F0001B0 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 034CE4 7F0001B4 3C038003 */ lui $v1, %hi(num_female_heads)
|
||||
/* 034CE8 7F0001B8 2463CD08 */ addiu $v1, %lo(num_female_heads) # addiu $v1, $v1, -0x32f8
|
||||
/* 034CEC 7F0001BC AC600000 */ sw $zero, ($v1)
|
||||
/* 034CF0 7F0001C0 05400009 */ bltz $t2, .L7F0001E8
|
||||
/* 034CF4 7F0001C4 00001025 */ move $v0, $zero
|
||||
/* 034CF8 7F0001C8 244B0001 */ addiu $t3, $v0, 1
|
||||
.L7F0001CC:
|
||||
/* 034CFC 7F0001CC 000B6080 */ sll $t4, $t3, 2
|
||||
/* 034D00 7F0001D0 008C6821 */ addu $t5, $a0, $t4
|
||||
/* 034D04 7F0001D4 8DAE0000 */ lw $t6, ($t5)
|
||||
/* 034D08 7F0001D8 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 034D0C 7F0001DC 01601025 */ move $v0, $t3
|
||||
/* 034D10 7F0001E0 05C3FFFA */ bgezl $t6, .L7F0001CC
|
||||
/* 034D14 7F0001E4 244B0001 */ addiu $t3, $v0, 1
|
||||
.L7F0001E8:
|
||||
/* 034D18 7F0001E8 03E00008 */ jr $ra
|
||||
/* 034D1C 7F0001EC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0001F0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0001F0
|
||||
/* 034D20 7F0001F0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 034D24 7F0001F4 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 034D28 7F0001F8 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 034D2C 7F0001FC AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 034D30 7F000200 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 034D34 7F000204 00A6082A */ slt $at, $a1, $a2
|
||||
/* 034D38 7F000208 00A08025 */ move $s0, $a1
|
||||
/* 034D3C 7F00020C 00C09025 */ move $s2, $a2
|
||||
/* 034D40 7F000210 00809825 */ move $s3, $a0
|
||||
/* 034D44 7F000214 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 034D48 7F000218 AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* 034D4C 7F00021C AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* 034D50 7F000220 10200011 */ beqz $at, .L7F000268
|
||||
/* 034D54 7F000224 00008825 */ move $s1, $zero
|
||||
/* 034D58 7F000228 3C148004 */ lui $s4, %hi(model_guard_character)
|
||||
/* 034D5C 7F00022C 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00
|
||||
/* 034D60 7F000230 27B50040 */ addiu $s5, $sp, 0x40
|
||||
.L7F000234:
|
||||
/* 034D64 7F000234 00002025 */ move $a0, $zero
|
||||
/* 034D68 7F000238 00002825 */ move $a1, $zero
|
||||
/* 034D6C 7F00023C 02803025 */ move $a2, $s4
|
||||
/* 034D70 7F000240 02603825 */ move $a3, $s3
|
||||
/* 034D74 7F000244 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 034D78 7F000248 0FC1B4B9 */ jal sub_GAME_7F06D2E4
|
||||
/* 034D7C 7F00024C AFB50014 */ sw $s5, 0x14($sp)
|
||||
/* 034D80 7F000250 02228821 */ addu $s1, $s1, $v0
|
||||
/* 034D84 7F000254 26100001 */ addiu $s0, $s0, 1
|
||||
/* 034D88 7F000258 322EFFFF */ andi $t6, $s1, 0xffff
|
||||
/* 034D8C 7F00025C 0212082A */ slt $at, $s0, $s2
|
||||
/* 034D90 7F000260 1420FFF4 */ bnez $at, .L7F000234
|
||||
/* 034D94 7F000264 01C08825 */ move $s1, $t6
|
||||
.L7F000268:
|
||||
/* 034D98 7F000268 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 034D9C 7F00026C 02201025 */ move $v0, $s1
|
||||
/* 034DA0 7F000270 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 034DA4 7F000274 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 034DA8 7F000278 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* 034DAC 7F00027C 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* 034DB0 7F000280 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* 034DB4 7F000284 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* 034DB8 7F000288 03E00008 */ jr $ra
|
||||
/* 034DBC 7F00028C 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F000290(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F000290
|
||||
/* 034DC0 7F000290 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 034DC4 7F000294 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 034DC8 7F000298 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 034DCC 7F00029C AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 034DD0 7F0002A0 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 034DD4 7F0002A4 00A6082A */ slt $at, $a1, $a2
|
||||
/* 034DD8 7F0002A8 00A08025 */ move $s0, $a1
|
||||
/* 034DDC 7F0002AC 00C09025 */ move $s2, $a2
|
||||
/* 034DE0 7F0002B0 00809825 */ move $s3, $a0
|
||||
/* 034DE4 7F0002B4 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 034DE8 7F0002B8 AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* 034DEC 7F0002BC AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* 034DF0 7F0002C0 10200010 */ beqz $at, .L7F000304
|
||||
/* 034DF4 7F0002C4 00008825 */ move $s1, $zero
|
||||
/* 034DF8 7F0002C8 3C148004 */ lui $s4, %hi(model_guard_character)
|
||||
/* 034DFC 7F0002CC 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00
|
||||
/* 034E00 7F0002D0 27B5003C */ addiu $s5, $sp, 0x3c
|
||||
.L7F0002D4:
|
||||
/* 034E04 7F0002D4 00002025 */ move $a0, $zero
|
||||
/* 034E08 7F0002D8 00002825 */ move $a1, $zero
|
||||
/* 034E0C 7F0002DC 02803025 */ move $a2, $s4
|
||||
/* 034E10 7F0002E0 02603825 */ move $a3, $s3
|
||||
/* 034E14 7F0002E4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 034E18 7F0002E8 0FC1B4B9 */ jal sub_GAME_7F06D2E4
|
||||
/* 034E1C 7F0002EC AFB50014 */ sw $s5, 0x14($sp)
|
||||
/* 034E20 7F0002F0 87AE0040 */ lh $t6, 0x40($sp)
|
||||
/* 034E24 7F0002F4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 034E28 7F0002F8 0212082A */ slt $at, $s0, $s2
|
||||
/* 034E2C 7F0002FC 1420FFF5 */ bnez $at, .L7F0002D4
|
||||
/* 034E30 7F000300 022E8821 */ addu $s1, $s1, $t6
|
||||
.L7F000304:
|
||||
/* 034E34 7F000304 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 034E38 7F000308 02201025 */ move $v0, $s1
|
||||
/* 034E3C 7F00030C 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 034E40 7F000310 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 034E44 7F000314 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* 034E48 7F000318 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* 034E4C 7F00031C 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* 034E50 7F000320 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* 034E54 7F000324 03E00008 */ jr $ra
|
||||
/* 034E58 7F000328 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F00032C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel F32_8004ED70
|
||||
.word 0x40c90fdb
|
||||
glabel F32_8004ED74
|
||||
.word 0x38c90fdb
|
||||
.text
|
||||
glabel sub_GAME_7F00032C
|
||||
/* 034E5C 7F00032C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 034E60 7F000330 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 034E64 7F000334 AFB30038 */ sw $s3, 0x38($sp)
|
||||
/* 034E68 7F000338 AFB20034 */ sw $s2, 0x34($sp)
|
||||
/* 034E6C 7F00033C AFB10030 */ sw $s1, 0x30($sp)
|
||||
/* 034E70 7F000340 AFB0002C */ sw $s0, 0x2c($sp)
|
||||
/* 034E74 7F000344 F7B80020 */ sdc1 $f24, 0x20($sp)
|
||||
/* 034E78 7F000348 F7B60018 */ sdc1 $f22, 0x18($sp)
|
||||
/* 034E7C 7F00034C F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* 034E80 7F000350 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 034E84 7F000354 00008825 */ move $s1, $zero
|
||||
/* 034E88 7F000358 00808025 */ move $s0, $a0
|
||||
/* 034E8C 7F00035C 11C00038 */ beqz $t6, .L7F000440
|
||||
/* 034E90 7F000360 01C01025 */ move $v0, $t6
|
||||
/* 034E94 7F000364 3C018005 */ lui $at, %hi(F32_8004ED70)
|
||||
/* 034E98 7F000368 C438ED70 */ lwc1 $f24, %lo(F32_8004ED70)($at)
|
||||
/* 034E9C 7F00036C 3C018005 */ lui $at, %hi(F32_8004ED74)
|
||||
/* 034EA0 7F000370 3C128007 */ lui $s2, %hi(ptr_animation_table)
|
||||
/* 034EA4 7F000374 4480A000 */ mtc1 $zero, $f20
|
||||
/* 034EA8 7F000378 26529538 */ addiu $s2, %lo(ptr_animation_table) # addiu $s2, $s2, -0x6ac8
|
||||
/* 034EAC 7F00037C C436ED74 */ lwc1 $f22, %lo(F32_8004ED74)($at)
|
||||
/* 034EB0 7F000380 34138000 */ li $s3, 32768
|
||||
/* 034EB4 7F000384 8E4F0000 */ lw $t7, ($s2)
|
||||
.L7F000388:
|
||||
/* 034EB8 7F000388 C60C0004 */ lwc1 $f12, 4($s0)
|
||||
/* 034EBC 7F00038C 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 034EC0 7F000390 0FC170F6 */ jal sub_GAME_7F05C3D8
|
||||
/* 034EC4 7F000394 AE180000 */ sw $t8, ($s0)
|
||||
/* 034EC8 7F000398 8E040000 */ lw $a0, ($s0)
|
||||
/* 034ECC 7F00039C 00002825 */ move $a1, $zero
|
||||
/* 034ED0 7F0003A0 0FC0007C */ jal sub_GAME_7F0001F0
|
||||
/* 034ED4 7F0003A4 00403025 */ move $a2, $v0
|
||||
/* 034ED8 7F0003A8 C6000004 */ lwc1 $f0, 4($s0)
|
||||
/* 034EDC 7F0003AC 3043FFFF */ andi $v1, $v0, 0xffff
|
||||
/* 034EE0 7F0003B0 0073082A */ slt $at, $v1, $s3
|
||||
/* 034EE4 7F0003B4 4600A03C */ c.lt.s $f20, $f0
|
||||
/* 034EE8 7F0003B8 00000000 */ nop
|
||||
/* 034EEC 7F0003BC 4502001B */ bc1fl .L7F00042C
|
||||
/* 034EF0 7F0003C0 E6140008 */ swc1 $f20, 8($s0)
|
||||
/* 034EF4 7F0003C4 5020000D */ beql $at, $zero, .L7F0003FC
|
||||
/* 034EF8 7F0003C8 44839000 */ mtc1 $v1, $f18
|
||||
/* 034EFC 7F0003CC 44832000 */ mtc1 $v1, $f4
|
||||
/* 034F00 7F0003D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 034F04 7F0003D4 04610004 */ bgez $v1, .L7F0003E8
|
||||
/* 034F08 7F0003D8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 034F0C 7F0003DC 44814000 */ mtc1 $at, $f8
|
||||
/* 034F10 7F0003E0 00000000 */ nop
|
||||
/* 034F14 7F0003E4 46083180 */ add.s $f6, $f6, $f8
|
||||
.L7F0003E8:
|
||||
/* 034F18 7F0003E8 46163282 */ mul.s $f10, $f6, $f22
|
||||
/* 034F1C 7F0003EC 46005403 */ div.s $f16, $f10, $f0
|
||||
/* 034F20 7F0003F0 1000000E */ b .L7F00042C
|
||||
/* 034F24 7F0003F4 E6100008 */ swc1 $f16, 8($s0)
|
||||
/* 034F28 7F0003F8 44839000 */ mtc1 $v1, $f18
|
||||
.L7F0003FC:
|
||||
/* 034F2C 7F0003FC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 034F30 7F000400 04610004 */ bgez $v1, .L7F000414
|
||||
/* 034F34 7F000404 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 034F38 7F000408 44814000 */ mtc1 $at, $f8
|
||||
/* 034F3C 7F00040C 00000000 */ nop
|
||||
/* 034F40 7F000410 46082100 */ add.s $f4, $f4, $f8
|
||||
.L7F000414:
|
||||
/* 034F44 7F000414 46162182 */ mul.s $f6, $f4, $f22
|
||||
/* 034F48 7F000418 46183281 */ sub.s $f10, $f6, $f24
|
||||
/* 034F4C 7F00041C 46005403 */ div.s $f16, $f10, $f0
|
||||
/* 034F50 7F000420 10000002 */ b .L7F00042C
|
||||
/* 034F54 7F000424 E6100008 */ swc1 $f16, 8($s0)
|
||||
/* 034F58 7F000428 E6140008 */ swc1 $f20, 8($s0)
|
||||
.L7F00042C:
|
||||
/* 034F5C 7F00042C 8E020048 */ lw $v0, 0x48($s0)
|
||||
/* 034F60 7F000430 26100048 */ addiu $s0, $s0, 0x48
|
||||
/* 034F64 7F000434 26310001 */ addiu $s1, $s1, 1
|
||||
/* 034F68 7F000438 5440FFD3 */ bnezl $v0, .L7F000388
|
||||
/* 034F6C 7F00043C 8E4F0000 */ lw $t7, ($s2)
|
||||
.L7F000440:
|
||||
/* 034F70 7F000440 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 034F74 7F000444 02201025 */ move $v0, $s1
|
||||
/* 034F78 7F000448 8FB10030 */ lw $s1, 0x30($sp)
|
||||
/* 034F7C 7F00044C D7B40010 */ ldc1 $f20, 0x10($sp)
|
||||
/* 034F80 7F000450 D7B60018 */ ldc1 $f22, 0x18($sp)
|
||||
/* 034F84 7F000454 D7B80020 */ ldc1 $f24, 0x20($sp)
|
||||
/* 034F88 7F000458 8FB0002C */ lw $s0, 0x2c($sp)
|
||||
/* 034F8C 7F00045C 8FB20034 */ lw $s2, 0x34($sp)
|
||||
/* 034F90 7F000460 8FB30038 */ lw $s3, 0x38($sp)
|
||||
/* 034F94 7F000464 03E00008 */ jr $ra
|
||||
/* 034F98 7F000468 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F00046C(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F00046C
|
||||
/* 034F9C 7F00046C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 034FA0 7F000470 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 034FA4 7F000474 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 034FA8 7F000478 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 034FAC 7F00047C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 034FB0 7F000480 00808025 */ move $s0, $a0
|
||||
/* 034FB4 7F000484 00008825 */ move $s1, $zero
|
||||
/* 034FB8 7F000488 24120080 */ li $s2, 128
|
||||
.L7F00048C:
|
||||
/* 034FBC 7F00048C 8E020000 */ lw $v0, ($s0)
|
||||
/* 034FC0 7F000490 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 034FC4 7F000494 05C30006 */ bgezl $t6, .L7F0004B0
|
||||
/* 034FC8 7F000498 26310004 */ addiu $s1, $s1, 4
|
||||
/* 034FCC 7F00049C 0FC000CB */ jal sub_GAME_7F00032C
|
||||
/* 034FD0 7F0004A0 8C440000 */ lw $a0, ($v0)
|
||||
/* 034FD4 7F0004A4 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 034FD8 7F0004A8 ADE20004 */ sw $v0, 4($t7)
|
||||
/* 034FDC 7F0004AC 26310004 */ addiu $s1, $s1, 4
|
||||
.L7F0004B0:
|
||||
/* 034FE0 7F0004B0 1632FFF6 */ bne $s1, $s2, .L7F00048C
|
||||
/* 034FE4 7F0004B4 26100004 */ addiu $s0, $s0, 4
|
||||
/* 034FE8 7F0004B8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 034FEC 7F0004BC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 034FF0 7F0004C0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 034FF4 7F0004C4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 034FF8 7F0004C8 03E00008 */ jr $ra
|
||||
/* 034FFC 7F0004CC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0004D0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0004D0
|
||||
/* 035000 7F0004D0 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 035004 7F0004D4 00001825 */ move $v1, $zero
|
||||
/* 035008 7F0004D8 00801025 */ move $v0, $a0
|
||||
/* 03500C 7F0004DC 11C0000C */ beqz $t6, .L7F000510
|
||||
/* 035010 7F0004E0 00000000 */ nop
|
||||
/* 035014 7F0004E4 8C850000 */ lw $a1, ($a0)
|
||||
/* 035018 7F0004E8 3C048007 */ lui $a0, %hi(ptr_animation_table)
|
||||
/* 03501C 7F0004EC 24849538 */ addiu $a0, %lo(ptr_animation_table) # addiu $a0, $a0, -0x6ac8
|
||||
/* 035020 7F0004F0 8C8F0000 */ lw $t7, ($a0)
|
||||
.L7F0004F4:
|
||||
/* 035024 7F0004F4 24630001 */ addiu $v1, $v1, 1
|
||||
/* 035028 7F0004F8 2442001C */ addiu $v0, $v0, 0x1c
|
||||
/* 03502C 7F0004FC 00AFC021 */ addu $t8, $a1, $t7
|
||||
/* 035030 7F000500 8C450000 */ lw $a1, ($v0)
|
||||
/* 035034 7F000504 AC58FFE4 */ sw $t8, -0x1c($v0)
|
||||
/* 035038 7F000508 54A0FFFA */ bnezl $a1, .L7F0004F4
|
||||
/* 03503C 7F00050C 8C8F0000 */ lw $t7, ($a0)
|
||||
.L7F000510:
|
||||
/* 035040 7F000510 03E00008 */ jr $ra
|
||||
/* 035044 7F000514 00601025 */ move $v0, $v1
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void somethingwith_weapon_animation_groups(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel F32_8004ED78
|
||||
.word 0x3dccccce
|
||||
.text
|
||||
glabel somethingwith_weapon_animation_groups
|
||||
/* 035048 7F000518 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 03504C 7F00051C 3C0E8003 */ lui $t6, %hi(D_8002C914)
|
||||
/* 035050 7F000520 8DCEC914 */ lw $t6, %lo(D_8002C914)($t6)
|
||||
/* 035054 7F000524 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 035058 7F000528 2411FFFF */ li $s1, -1
|
||||
/* 03505C 7F00052C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 035060 7F000530 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 035064 7F000534 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 035068 7F000538 122E0013 */ beq $s1, $t6, .L7F000588
|
||||
/* 03506C 7F00053C F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 035070 7F000540 3C108003 */ lui $s0, %hi(D_8002C914)
|
||||
/* 035074 7F000544 2610C914 */ addiu $s0, %lo(D_8002C914) # addiu $s0, $s0, -0x36ec
|
||||
/* 035078 7F000548 8E04001C */ lw $a0, 0x1c($s0)
|
||||
.L7F00054C:
|
||||
/* 03507C 7F00054C 50800005 */ beql $a0, $zero, .L7F000564
|
||||
/* 035080 7F000550 8E040024 */ lw $a0, 0x24($s0)
|
||||
/* 035084 7F000554 0FC00134 */ jal sub_GAME_7F0004D0
|
||||
/* 035088 7F000558 00000000 */ nop
|
||||
/* 03508C 7F00055C AE020020 */ sw $v0, 0x20($s0)
|
||||
/* 035090 7F000560 8E040024 */ lw $a0, 0x24($s0)
|
||||
.L7F000564:
|
||||
/* 035094 7F000564 50800005 */ beql $a0, $zero, .L7F00057C
|
||||
/* 035098 7F000568 8E0F002C */ lw $t7, 0x2c($s0)
|
||||
/* 03509C 7F00056C 0FC00134 */ jal sub_GAME_7F0004D0
|
||||
/* 0350A0 7F000570 00000000 */ nop
|
||||
/* 0350A4 7F000574 AE020028 */ sw $v0, 0x28($s0)
|
||||
/* 0350A8 7F000578 8E0F002C */ lw $t7, 0x2c($s0)
|
||||
.L7F00057C:
|
||||
/* 0350AC 7F00057C 2610002C */ addiu $s0, $s0, 0x2c
|
||||
/* 0350B0 7F000580 562FFFF2 */ bnel $s1, $t7, .L7F00054C
|
||||
/* 0350B4 7F000584 8E04001C */ lw $a0, 0x1c($s0)
|
||||
.L7F000588:
|
||||
/* 0350B8 7F000588 3C048003 */ lui $a0, %hi(D_8002DEBC)
|
||||
/* 0350BC 7F00058C 0FC00134 */ jal sub_GAME_7F0004D0
|
||||
/* 0350C0 7F000590 2484DEBC */ addiu $a0, %lo(D_8002DEBC) # addiu $a0, $a0, -0x2144
|
||||
/* 0350C4 7F000594 3C048003 */ lui $a0, %hi(ptr_rifle_firing_animation_groups)
|
||||
/* 0350C8 7F000598 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 0350CC 7F00059C 2484ED28 */ addiu $a0, %lo(ptr_rifle_firing_animation_groups) # addiu $a0, $a0, -0x12d8
|
||||
/* 0350D0 7F0005A0 3C048003 */ lui $a0, %hi(ptr_pistol_firing_animation_groups)
|
||||
/* 0350D4 7F0005A4 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 0350D8 7F0005A8 2484F408 */ addiu $a0, %lo(ptr_pistol_firing_animation_groups) # addiu $a0, $a0, -0xbf8
|
||||
/* 0350DC 7F0005AC 3C048003 */ lui $a0, %hi(ptr_doubles_firing_animation_groups)
|
||||
/* 0350E0 7F0005B0 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 0350E4 7F0005B4 2484F6E0 */ addiu $a0, %lo(ptr_doubles_firing_animation_groups) # addiu $a0, $a0, -0x920
|
||||
/* 0350E8 7F0005B8 3C048003 */ lui $a0, %hi(ptr_crouched_rifle_firing_animation_groups)
|
||||
/* 0350EC 7F0005BC 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 0350F0 7F0005C0 2484F970 */ addiu $a0, %lo(ptr_crouched_rifle_firing_animation_groups) # addiu $a0, $a0, -0x690
|
||||
/* 0350F4 7F0005C4 3C048003 */ lui $a0, %hi(ptr_crouched_pistol_firing_animation_groups)
|
||||
/* 0350F8 7F0005C8 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 0350FC 7F0005CC 2484FCD8 */ addiu $a0, %lo(ptr_crouched_pistol_firing_animation_groups) # addiu $a0, $a0, -0x328
|
||||
/* 035100 7F0005D0 3C048003 */ lui $a0, %hi(ptr_crouched_doubles_firing_animation_groups)
|
||||
/* 035104 7F0005D4 0FC0011B */ jal sub_GAME_7F00046C
|
||||
/* 035108 7F0005D8 2484FFF8 */ addiu $a0, %lo(ptr_crouched_doubles_firing_animation_groups) # addiu $a0, $a0, -8
|
||||
/* 03510C 7F0005DC 3C048003 */ lui $a0, %hi(D_80030078)
|
||||
/* 035110 7F0005E0 0FC000CB */ jal sub_GAME_7F00032C
|
||||
/* 035114 7F0005E4 24840078 */ addiu $a0, %lo(D_80030078) # addiu $a0, $a0, 0x78
|
||||
/* 035118 7F0005E8 3C048003 */ lui $a0, %hi(D_80030660)
|
||||
/* 03511C 7F0005EC 0FC000CB */ jal sub_GAME_7F00032C
|
||||
/* 035120 7F0005F0 24840660 */ addiu $a0, %lo(D_80030660) # addiu $a0, $a0, 0x660
|
||||
/* 035124 7F0005F4 3C128007 */ lui $s2, %hi(ptr_animation_table)
|
||||
/* 035128 7F0005F8 26529538 */ addiu $s2, %lo(ptr_animation_table) # addiu $s2, $s2, -0x6ac8
|
||||
/* 03512C 7F0005FC 8E580000 */ lw $t8, ($s2)
|
||||
/* 035130 7F000600 3C110000 */ lui $s1, %hi(0x00004018) # $s1, 0
|
||||
/* 035134 7F000604 26314018 */ addiu $s1, %lo(0x00004018) # addiu $s1, $s1, 0x4018
|
||||
/* 035138 7F000608 02382021 */ addu $a0, $s1, $t8
|
||||
/* 03513C 7F00060C 94860004 */ lhu $a2, 4($a0)
|
||||
/* 035140 7F000610 00002825 */ move $a1, $zero
|
||||
/* 035144 7F000614 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035148 7F000618 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 03514C 7F00061C 44822000 */ mtc1 $v0, $f4
|
||||
/* 035150 7F000620 8E500000 */ lw $s0, ($s2)
|
||||
/* 035154 7F000624 3C018005 */ lui $at, %hi(F32_8004ED78)
|
||||
/* 035158 7F000628 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 03515C 7F00062C 0230C821 */ addu $t9, $s1, $s0
|
||||
/* 035160 7F000630 97280004 */ lhu $t0, 4($t9)
|
||||
/* 035164 7F000634 C434ED78 */ lwc1 $f20, %lo(F32_8004ED78)($at)
|
||||
/* 035168 7F000638 44885000 */ mtc1 $t0, $f10
|
||||
/* 03516C 7F00063C 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 035170 7F000640 05010005 */ bgez $t0, .L7F000658
|
||||
/* 035174 7F000644 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 035178 7F000648 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 03517C 7F00064C 44819000 */ mtc1 $at, $f18
|
||||
/* 035180 7F000650 00000000 */ nop
|
||||
/* 035184 7F000654 46128400 */ add.s $f16, $f16, $f18
|
||||
.L7F000658:
|
||||
/* 035188 7F000658 46104103 */ div.s $f4, $f8, $f16
|
||||
/* 03518C 7F00065C 3C030000 */ lui $v1, %hi(0x000040D4) # $v1, 0
|
||||
/* 035190 7F000660 3C018003 */ lui $at, %hi(D_80030984)
|
||||
/* 035194 7F000664 246340D4 */ addiu $v1, %lo(0x000040D4) # addiu $v1, $v1, 0x40d4
|
||||
/* 035198 7F000668 00702021 */ addu $a0, $v1, $s0
|
||||
/* 03519C 7F00066C 00002825 */ move $a1, $zero
|
||||
/* 0351A0 7F000670 E4240984 */ swc1 $f4, %lo(D_80030984)($at)
|
||||
/* 0351A4 7F000674 94860004 */ lhu $a2, 4($a0)
|
||||
/* 0351A8 7F000678 AFA30034 */ sw $v1, 0x34($sp)
|
||||
/* 0351AC 7F00067C 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 0351B0 7F000680 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 0351B4 7F000684 44823000 */ mtc1 $v0, $f6
|
||||
/* 0351B8 7F000688 8FA30034 */ lw $v1, 0x34($sp)
|
||||
/* 0351BC 7F00068C 8E500000 */ lw $s0, ($s2)
|
||||
/* 0351C0 7F000690 468032A0 */ cvt.s.w $f10, $f6
|
||||
/* 0351C4 7F000694 00704821 */ addu $t1, $v1, $s0
|
||||
/* 0351C8 7F000698 952A0004 */ lhu $t2, 4($t1)
|
||||
/* 0351CC 7F00069C 448A4000 */ mtc1 $t2, $f8
|
||||
/* 0351D0 7F0006A0 46145482 */ mul.s $f18, $f10, $f20
|
||||
/* 0351D4 7F0006A4 05410005 */ bgez $t2, .L7F0006BC
|
||||
/* 0351D8 7F0006A8 46804420 */ cvt.s.w $f16, $f8
|
||||
/* 0351DC 7F0006AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0351E0 7F0006B0 44812000 */ mtc1 $at, $f4
|
||||
/* 0351E4 7F0006B4 00000000 */ nop
|
||||
/* 0351E8 7F0006B8 46048400 */ add.s $f16, $f16, $f4
|
||||
.L7F0006BC:
|
||||
/* 0351EC 7F0006BC 46109183 */ div.s $f6, $f18, $f16
|
||||
/* 0351F0 7F0006C0 3C110000 */ lui $s1, %hi(0x00004070) # $s1, 0
|
||||
/* 0351F4 7F0006C4 3C018003 */ lui $at, %hi(D_80030988)
|
||||
/* 0351F8 7F0006C8 26314070 */ addiu $s1, %lo(0x00004070) # addiu $s1, $s1, 0x4070
|
||||
/* 0351FC 7F0006CC 02302021 */ addu $a0, $s1, $s0
|
||||
/* 035200 7F0006D0 00002825 */ move $a1, $zero
|
||||
/* 035204 7F0006D4 E4260988 */ swc1 $f6, %lo(D_80030988)($at)
|
||||
/* 035208 7F0006D8 94860004 */ lhu $a2, 4($a0)
|
||||
/* 03520C 7F0006DC 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035210 7F0006E0 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 035214 7F0006E4 44825000 */ mtc1 $v0, $f10
|
||||
/* 035218 7F0006E8 8E500000 */ lw $s0, ($s2)
|
||||
/* 03521C 7F0006EC 46805220 */ cvt.s.w $f8, $f10
|
||||
/* 035220 7F0006F0 02305821 */ addu $t3, $s1, $s0
|
||||
/* 035224 7F0006F4 956C0004 */ lhu $t4, 4($t3)
|
||||
/* 035228 7F0006F8 448C9000 */ mtc1 $t4, $f18
|
||||
/* 03522C 7F0006FC 46144102 */ mul.s $f4, $f8, $f20
|
||||
/* 035230 7F000700 05810005 */ bgez $t4, .L7F000718
|
||||
/* 035234 7F000704 46809420 */ cvt.s.w $f16, $f18
|
||||
/* 035238 7F000708 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 03523C 7F00070C 44813000 */ mtc1 $at, $f6
|
||||
/* 035240 7F000710 00000000 */ nop
|
||||
/* 035244 7F000714 46068400 */ add.s $f16, $f16, $f6
|
||||
.L7F000718:
|
||||
/* 035248 7F000718 46102283 */ div.s $f10, $f4, $f16
|
||||
/* 03524C 7F00071C 3C030001 */ lui $v1, %hi(0x00008204) # $v1, 1
|
||||
/* 035250 7F000720 3C018003 */ lui $at, %hi(D_8003098C)
|
||||
/* 035254 7F000724 24638204 */ addiu $v1, %lo(0x00008204) # addiu $v1, $v1, -0x7dfc
|
||||
/* 035258 7F000728 00702021 */ addu $a0, $v1, $s0
|
||||
/* 03525C 7F00072C 00002825 */ move $a1, $zero
|
||||
/* 035260 7F000730 E42A098C */ swc1 $f10, %lo(D_8003098C)($at)
|
||||
/* 035264 7F000734 94860004 */ lhu $a2, 4($a0)
|
||||
/* 035268 7F000738 AFA30034 */ sw $v1, 0x34($sp)
|
||||
/* 03526C 7F00073C 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035270 7F000740 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 035274 7F000744 44824000 */ mtc1 $v0, $f8
|
||||
/* 035278 7F000748 8FA30034 */ lw $v1, 0x34($sp)
|
||||
/* 03527C 7F00074C 8E500000 */ lw $s0, ($s2)
|
||||
/* 035280 7F000750 468044A0 */ cvt.s.w $f18, $f8
|
||||
/* 035284 7F000754 00706821 */ addu $t5, $v1, $s0
|
||||
/* 035288 7F000758 95AE0004 */ lhu $t6, 4($t5)
|
||||
/* 03528C 7F00075C 448E2000 */ mtc1 $t6, $f4
|
||||
/* 035290 7F000760 46149182 */ mul.s $f6, $f18, $f20
|
||||
/* 035294 7F000764 05C10005 */ bgez $t6, .L7F00077C
|
||||
/* 035298 7F000768 46802420 */ cvt.s.w $f16, $f4
|
||||
/* 03529C 7F00076C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0352A0 7F000770 44815000 */ mtc1 $at, $f10
|
||||
/* 0352A4 7F000774 00000000 */ nop
|
||||
/* 0352A8 7F000778 460A8400 */ add.s $f16, $f16, $f10
|
||||
.L7F00077C:
|
||||
/* 0352AC 7F00077C 46103203 */ div.s $f8, $f6, $f16
|
||||
/* 0352B0 7F000780 3C070000 */ lui $a3, %hi(0x0000777C) # $a3, 0
|
||||
/* 0352B4 7F000784 3C018003 */ lui $at, %hi(D_80030990)
|
||||
/* 0352B8 7F000788 24E7777C */ addiu $a3, %lo(0x0000777C) # addiu $a3, $a3, 0x777c
|
||||
/* 0352BC 7F00078C 00F02021 */ addu $a0, $a3, $s0
|
||||
/* 0352C0 7F000790 00002825 */ move $a1, $zero
|
||||
/* 0352C4 7F000794 E4280990 */ swc1 $f8, %lo(D_80030990)($at)
|
||||
/* 0352C8 7F000798 94860004 */ lhu $a2, 4($a0)
|
||||
/* 0352CC 7F00079C AFA70038 */ sw $a3, 0x38($sp)
|
||||
/* 0352D0 7F0007A0 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 0352D4 7F0007A4 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 0352D8 7F0007A8 44829000 */ mtc1 $v0, $f18
|
||||
/* 0352DC 7F0007AC 8FA70038 */ lw $a3, 0x38($sp)
|
||||
/* 0352E0 7F0007B0 8E500000 */ lw $s0, ($s2)
|
||||
/* 0352E4 7F0007B4 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 0352E8 7F0007B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0352EC 7F0007BC 00F07821 */ addu $t7, $a3, $s0
|
||||
/* 0352F0 7F0007C0 95F80004 */ lhu $t8, 4($t7)
|
||||
/* 0352F4 7F0007C4 44983000 */ mtc1 $t8, $f6
|
||||
/* 0352F8 7F0007C8 46142282 */ mul.s $f10, $f4, $f20
|
||||
/* 0352FC 7F0007CC 07010004 */ bgez $t8, .L7F0007E0
|
||||
/* 035300 7F0007D0 46803420 */ cvt.s.w $f16, $f6
|
||||
/* 035304 7F0007D4 44814000 */ mtc1 $at, $f8
|
||||
/* 035308 7F0007D8 00000000 */ nop
|
||||
/* 03530C 7F0007DC 46088400 */ add.s $f16, $f16, $f8
|
||||
.L7F0007E0:
|
||||
/* 035310 7F0007E0 46105483 */ div.s $f18, $f10, $f16
|
||||
/* 035314 7F0007E4 3C110000 */ lui $s1, %hi(0x000077D4) # $s1, 0
|
||||
/* 035318 7F0007E8 3C018003 */ lui $at, %hi(D_80030994)
|
||||
/* 03531C 7F0007EC 263177D4 */ addiu $s1, %lo(0x000077D4) # addiu $s1, $s1, 0x77d4
|
||||
/* 035320 7F0007F0 02302021 */ addu $a0, $s1, $s0
|
||||
/* 035324 7F0007F4 00002825 */ move $a1, $zero
|
||||
/* 035328 7F0007F8 E4320994 */ swc1 $f18, %lo(D_80030994)($at)
|
||||
/* 03532C 7F0007FC 94860004 */ lhu $a2, 4($a0)
|
||||
/* 035330 7F000800 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035334 7F000804 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 035338 7F000808 44822000 */ mtc1 $v0, $f4
|
||||
/* 03533C 7F00080C 8E500000 */ lw $s0, ($s2)
|
||||
/* 035340 7F000810 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 035344 7F000814 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 035348 7F000818 0230C821 */ addu $t9, $s1, $s0
|
||||
/* 03534C 7F00081C 97280004 */ lhu $t0, 4($t9)
|
||||
/* 035350 7F000820 44885000 */ mtc1 $t0, $f10
|
||||
/* 035354 7F000824 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 035358 7F000828 05010004 */ bgez $t0, .L7F00083C
|
||||
/* 03535C 7F00082C 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 035360 7F000830 44819000 */ mtc1 $at, $f18
|
||||
/* 035364 7F000834 00000000 */ nop
|
||||
/* 035368 7F000838 46128400 */ add.s $f16, $f16, $f18
|
||||
.L7F00083C:
|
||||
/* 03536C 7F00083C 46104103 */ div.s $f4, $f8, $f16
|
||||
/* 035370 7F000840 3C030001 */ lui $v1, %hi(0x000084C4) # $v1, 1
|
||||
/* 035374 7F000844 3C018003 */ lui $at, %hi(D_80030998)
|
||||
/* 035378 7F000848 246384C4 */ addiu $v1, %lo(0x000084C4) # addiu $v1, $v1, -0x7b3c
|
||||
/* 03537C 7F00084C 00702021 */ addu $a0, $v1, $s0
|
||||
/* 035380 7F000850 00002825 */ move $a1, $zero
|
||||
/* 035384 7F000854 E4240998 */ swc1 $f4, %lo(D_80030998)($at)
|
||||
/* 035388 7F000858 94860004 */ lhu $a2, 4($a0)
|
||||
/* 03538C 7F00085C AFA30038 */ sw $v1, 0x38($sp)
|
||||
/* 035390 7F000860 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035394 7F000864 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 035398 7F000868 44823000 */ mtc1 $v0, $f6
|
||||
/* 03539C 7F00086C 8FA30038 */ lw $v1, 0x38($sp)
|
||||
/* 0353A0 7F000870 8E500000 */ lw $s0, ($s2)
|
||||
/* 0353A4 7F000874 468032A0 */ cvt.s.w $f10, $f6
|
||||
/* 0353A8 7F000878 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0353AC 7F00087C 00704821 */ addu $t1, $v1, $s0
|
||||
/* 0353B0 7F000880 952A0004 */ lhu $t2, 4($t1)
|
||||
/* 0353B4 7F000884 448A4000 */ mtc1 $t2, $f8
|
||||
/* 0353B8 7F000888 46145482 */ mul.s $f18, $f10, $f20
|
||||
/* 0353BC 7F00088C 05410004 */ bgez $t2, .L7F0008A0
|
||||
/* 0353C0 7F000890 46804420 */ cvt.s.w $f16, $f8
|
||||
/* 0353C4 7F000894 44812000 */ mtc1 $at, $f4
|
||||
/* 0353C8 7F000898 00000000 */ nop
|
||||
/* 0353CC 7F00089C 46048400 */ add.s $f16, $f16, $f4
|
||||
.L7F0008A0:
|
||||
/* 0353D0 7F0008A0 46109183 */ div.s $f6, $f18, $f16
|
||||
/* 0353D4 7F0008A4 3C070001 */ lui $a3, %hi(0x00008520) # $a3, 1
|
||||
/* 0353D8 7F0008A8 3C018003 */ lui $at, %hi(D_8003099C)
|
||||
/* 0353DC 7F0008AC 24E78520 */ addiu $a3, %lo(0x00008520) # addiu $a3, $a3, -0x7ae0
|
||||
/* 0353E0 7F0008B0 00F02021 */ addu $a0, $a3, $s0
|
||||
/* 0353E4 7F0008B4 00002825 */ move $a1, $zero
|
||||
/* 0353E8 7F0008B8 E426099C */ swc1 $f6, %lo(D_8003099C)($at)
|
||||
/* 0353EC 7F0008BC 94860004 */ lhu $a2, 4($a0)
|
||||
/* 0353F0 7F0008C0 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* 0353F4 7F0008C4 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 0353F8 7F0008C8 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 0353FC 7F0008CC 44825000 */ mtc1 $v0, $f10
|
||||
/* 035400 7F0008D0 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 035404 7F0008D4 8E500000 */ lw $s0, ($s2)
|
||||
/* 035408 7F0008D8 46805220 */ cvt.s.w $f8, $f10
|
||||
/* 03540C 7F0008DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 035410 7F0008E0 00F05821 */ addu $t3, $a3, $s0
|
||||
/* 035414 7F0008E4 956C0004 */ lhu $t4, 4($t3)
|
||||
/* 035418 7F0008E8 448C9000 */ mtc1 $t4, $f18
|
||||
/* 03541C 7F0008EC 46144102 */ mul.s $f4, $f8, $f20
|
||||
/* 035420 7F0008F0 05810004 */ bgez $t4, .L7F000904
|
||||
/* 035424 7F0008F4 46809420 */ cvt.s.w $f16, $f18
|
||||
/* 035428 7F0008F8 44813000 */ mtc1 $at, $f6
|
||||
/* 03542C 7F0008FC 00000000 */ nop
|
||||
/* 035430 7F000900 46068400 */ add.s $f16, $f16, $f6
|
||||
.L7F000904:
|
||||
/* 035434 7F000904 46102283 */ div.s $f10, $f4, $f16
|
||||
/* 035438 7F000908 3C018003 */ lui $at, %hi(D_800309A0)
|
||||
/* 03543C 7F00090C 02302021 */ addu $a0, $s1, $s0
|
||||
/* 035440 7F000910 00002825 */ move $a1, $zero
|
||||
/* 035444 7F000914 E42A09A0 */ swc1 $f10, %lo(D_800309A0)($at)
|
||||
/* 035448 7F000918 94860004 */ lhu $a2, 4($a0)
|
||||
/* 03544C 7F00091C 0FC000A4 */ jal sub_GAME_7F000290
|
||||
/* 035450 7F000920 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 035454 7F000924 44824000 */ mtc1 $v0, $f8
|
||||
/* 035458 7F000928 8E4D0000 */ lw $t5, ($s2)
|
||||
/* 03545C 7F00092C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 035460 7F000930 468044A0 */ cvt.s.w $f18, $f8
|
||||
/* 035464 7F000934 022D7021 */ addu $t6, $s1, $t5
|
||||
/* 035468 7F000938 95CF0004 */ lhu $t7, 4($t6)
|
||||
/* 03546C 7F00093C 448F2000 */ mtc1 $t7, $f4
|
||||
/* 035470 7F000940 46149182 */ mul.s $f6, $f18, $f20
|
||||
/* 035474 7F000944 05E10004 */ bgez $t7, .L7F000958
|
||||
/* 035478 7F000948 46802420 */ cvt.s.w $f16, $f4
|
||||
/* 03547C 7F00094C 44815000 */ mtc1 $at, $f10
|
||||
/* 035480 7F000950 00000000 */ nop
|
||||
/* 035484 7F000954 460A8400 */ add.s $f16, $f16, $f10
|
||||
.L7F000958:
|
||||
/* 035488 7F000958 46103203 */ div.s $f8, $f6, $f16
|
||||
/* 03548C 7F00095C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 035490 7F000960 3C018003 */ lui $at, %hi(D_800309A4)
|
||||
/* 035494 7F000964 D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 035498 7F000968 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 03549C 7F00096C 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 0354A0 7F000970 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 0354A4 7F000974 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
/* 0354A8 7F000978 03E00008 */ jr $ra
|
||||
/* 0354AC 7F00097C E42809A4 */ swc1 $f8, %lo(D_800309A4)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
void sub_GAME_7F000980(void) {
|
||||
sub_GAME_7F0009A0();
|
||||
}
|
||||
|
||||
|
||||
extern char dword_CODE_bss_80075DC8[20][160]; // TODO: This seems like an array of 20 of these. Fix the other files? (Aliasing violation)
|
||||
|
||||
void sub_GAME_7F0009A0(void) {
|
||||
u32 *end = &dword_CODE_bss_80075DC8[20];
|
||||
u32 *ptr = &dword_CODE_bss_80075DC8[0];
|
||||
while(end > ptr) {
|
||||
ptr[39] = 0;
|
||||
ptr += 0x28;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef _INITACTORPROPSTUFF_H_
|
||||
#define _INITACTORPROPSTUFF_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
void sub_GAME_7F0009A0(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,164 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
//bss
|
||||
char dword_CODE_bss_80069170[0x2D0];
|
||||
OSMesgQueue animMsgQ;
|
||||
char dword_CODE_bss_80069458[0xC0];
|
||||
OSMesg animMesg[8];
|
||||
s32 *ptr_animation_table;
|
||||
|
||||
|
||||
//data
|
||||
void * D_80029D60[] = {NULL, &dword_CODE_bss_80069170, &dword_CODE_bss_80069170};
|
||||
|
||||
s32 animation_table_ptrs1[] = {
|
||||
0x1C, 0x144, 0x214, 0x318, 0x3C4, 0x610, 0x814, 0x990, 0xB84, 0xDB4,
|
||||
0x1028, 0x1334, 0x1578, 0x17B4, 0x186C, 0x1984, 0x1A6C, 0x1B54, 0x1C9C,
|
||||
0x1E40, 0x1F84, 0x2134, 0x282C, 0x299C, 0x2E64, 0x2F94, 0x30B8, 0x31DC,
|
||||
0x32C8, 0x33AC, 0x34D4, 0x35C8, 0x36D8, 0x384C, 0x39C0, 0x3AF0, 0x3C10,
|
||||
0x3D04, 0x3D9C, 0x3FA0, 0x4018, 0x4070, 0x40D4, 0x4144, 0x4298, 0x42C8,
|
||||
0x4384, 0x4504, 0x4574, 0x45CC, 1, 1, 0x47BC, 0x4A40, 0x4CE0, 0x4F14,
|
||||
0x51C4, 0x540C, 0x54A0, 0x5554, 0x5684, 0x5744, 0x5964, 0x5D10, 0x5EF0,
|
||||
0x60D4, 0x6254, 0x637C, 0x6484, 0x6554, 0x6644, 0x6738, 0x6808, 0x694C,
|
||||
0x6A18, 0x6C18, 0x6D50, 0x6F08, 0x700C, 0x71D0, 0x7304, 0x7430, 0x74A4,
|
||||
0x7514, 0x7588, 0x75EC, 0x7650, 0x76B8, 0x7714, 0x777C, 0x77D4, 1, 1,
|
||||
1, 1, 1, 1, 0x78C8, 0x7AA8, 0x7C4C, 0x7D04, 0x7DD8, 0x7F0C, 0x7FB4, 0x8080,
|
||||
0x8164, 0x8194, 0x8204, 0x8274, 0x82E0, 0x8340, 0x83A4, 0x8404, 0x845C,
|
||||
0x84C4, 0x8520, 0x8698, 0x8800, 0x8978, 0x8AAC, 0x8BF0, 0x8D28, 0x8E1C,
|
||||
0x8F2C, 0x9084, 0x9194, 0x92EC, 0x9444, 0x95FC, 0x97BC, 0x98C8, 0x9A2C,
|
||||
0x9B48, 0x9C4C, 0x9D5C, 0x9E44, 0x9F48, 0xA094, 0xA1B8, 0xA2F8, 0xA424,
|
||||
0xA538, 0xA650, 1, 1, 1, 1, 0xA6B0, 0xA704, 0xA8BC, 0xA94C, 0xA9DC, 0xACAC,
|
||||
0xB174, 0xB2AC, 0xB528, 0xB6B0, 0xB7C8, 0xB854, 0xB9A8, 0xBC40, 0xBF80,
|
||||
0xC224, 0xC410, 0xC544, 0xC838, 0xCB78, 0xCE6C, 0xD0A8, 1, 0xD348, 0xD54C,
|
||||
0xD5E4, 0xD668, 0xD6F8, 0xD728, 0xD89C, 0xDBE4, 0xDD20, 0xE05C, 0xE08C,
|
||||
0xE0BC, 0xE18C, 0 };
|
||||
|
||||
s32 animation_table_ptrs2[] = { 0xE470, 0xE5F4, 0xE7C0, 0 };
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void expand_ani_table_entries(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel expand_ani_table_entries
|
||||
/* 035530 7F000A00 8C830000 */ lw $v1, ($a0)
|
||||
/* 035534 7F000A04 3C068007 */ lui $a2, %hi(ptr_animation_table)
|
||||
/* 035538 7F000A08 00801025 */ move $v0, $a0
|
||||
/* 03553C 7F000A0C 10600017 */ beqz $v1, .L7F000A6C
|
||||
/* 035540 7F000A10 24C69538 */ addiu $a2, %lo(ptr_animation_table) # addiu $a2, $a2, -0x6ac8
|
||||
/* 035544 7F000A14 8C830000 */ lw $v1, ($a0)
|
||||
/* 035548 7F000A18 24050001 */ li $a1, 1
|
||||
.L7F000A1C:
|
||||
/* 03554C 7F000A1C 50A3000E */ beql $a1, $v1, .L7F000A58
|
||||
/* 035550 7F000A20 8C430004 */ lw $v1, 4($v0)
|
||||
/* 035554 7F000A24 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 035558 7F000A28 006E7821 */ addu $t7, $v1, $t6
|
||||
/* 03555C 7F000A2C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 035560 7F000A30 8CD90000 */ lw $t9, ($a2)
|
||||
/* 035564 7F000A34 8DF80008 */ lw $t8, 8($t7)
|
||||
/* 035568 7F000A38 03194021 */ addu $t0, $t8, $t9
|
||||
/* 03556C 7F000A3C ADE80008 */ sw $t0, 8($t7)
|
||||
/* 035570 7F000A40 8C430000 */ lw $v1, ($v0)
|
||||
/* 035574 7F000A44 8CCA0000 */ lw $t2, ($a2)
|
||||
/* 035578 7F000A48 8C690010 */ lw $t1, 0x10($v1)
|
||||
/* 03557C 7F000A4C 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 035580 7F000A50 AC6B0010 */ sw $t3, 0x10($v1)
|
||||
/* 035584 7F000A54 8C430004 */ lw $v1, 4($v0)
|
||||
.L7F000A58:
|
||||
/* 035588 7F000A58 24420004 */ addiu $v0, $v0, 4
|
||||
/* 03558C 7F000A5C 1460FFEF */ bnez $v1, .L7F000A1C
|
||||
/* 035590 7F000A60 00000000 */ nop
|
||||
/* 035594 7F000A64 00801025 */ move $v0, $a0
|
||||
/* 035598 7F000A68 8C830000 */ lw $v1, ($a0)
|
||||
.L7F000A6C:
|
||||
/* 03559C 7F000A6C 1060000D */ beqz $v1, .L7F000AA4
|
||||
/* 0355A0 7F000A70 24050001 */ li $a1, 1
|
||||
/* 0355A4 7F000A74 3C040012 */ lui $a0, %hi(_animation_tableSegmentRomStart) # $a0, 0x12
|
||||
/* 0355A8 7F000A78 24844AC0 */ addiu $a0, %lo(_animation_tableSegmentRomStart) # addiu $a0, $a0, 0x4ac0
|
||||
/* 0355AC 7F000A7C 8C430000 */ lw $v1, ($v0)
|
||||
.L7F000A80:
|
||||
/* 0355B0 7F000A80 50A30005 */ beql $a1, $v1, .L7F000A98
|
||||
/* 0355B4 7F000A84 8C430004 */ lw $v1, 4($v0)
|
||||
/* 0355B8 7F000A88 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0355BC 7F000A8C 01846821 */ addu $t5, $t4, $a0
|
||||
/* 0355C0 7F000A90 AC6D0000 */ sw $t5, ($v1)
|
||||
/* 0355C4 7F000A94 8C430004 */ lw $v1, 4($v0)
|
||||
.L7F000A98:
|
||||
/* 0355C8 7F000A98 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0355CC 7F000A9C 1460FFF8 */ bnez $v1, .L7F000A80
|
||||
/* 0355D0 7F000AA0 00000000 */ nop
|
||||
.L7F000AA4:
|
||||
/* 0355D4 7F000AA4 03E00008 */ jr $ra
|
||||
/* 0355D8 7F000AA8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_load_expand_ani_table(void) {
|
||||
s32 temp_a2;
|
||||
? temp_ret;
|
||||
|
||||
// Node 0
|
||||
osCreateMesgQueue(&animMsgQ, &animMesg, 8);
|
||||
sub_GAME_7F0009E0(&D_80029D60, &animMsgQ, &dword_CODE_bss_80069458);
|
||||
temp_a2 = (&0x0000E7E0 - 0);
|
||||
temp_ret = mempAllocBytesInBank(temp_a2, 6, temp_a2);
|
||||
ptr_animation_table = temp_ret;
|
||||
romCopy(temp_ret, &_animation_dataSegmentRomStart, sp18);
|
||||
expand_ani_table_entries(&animation_table_ptrs1);
|
||||
expand_ani_table_entries(&animation_table_ptrs2);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_load_expand_ani_table
|
||||
/* 0355DC 7F000AAC 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0355E0 7F000AB0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0355E4 7F000AB4 3C048007 */ lui $a0, %hi(animMsgQ)
|
||||
/* 0355E8 7F000AB8 3C058007 */ lui $a1, %hi(animMesg)
|
||||
/* 0355EC 7F000ABC 24A59518 */ addiu $a1, %lo(animMesg) # addiu $a1, $a1, -0x6ae8
|
||||
/* 0355F0 7F000AC0 24849440 */ addiu $a0, %lo(animMsgQ) # addiu $a0, $a0, -0x6bc0
|
||||
/* 0355F4 7F000AC4 0C0035B4 */ jal osCreateMesgQueue
|
||||
/* 0355F8 7F000AC8 24060008 */ li $a2, 8
|
||||
/* 0355FC 7F000ACC 3C048003 */ lui $a0, %hi(D_80029D60)
|
||||
/* 035600 7F000AD0 3C058007 */ lui $a1, %hi(animMsgQ)
|
||||
/* 035604 7F000AD4 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069458)
|
||||
/* 035608 7F000AD8 24C69458 */ addiu $a2, %lo(dword_CODE_bss_80069458) # addiu $a2, $a2, -0x6ba8
|
||||
/* 03560C 7F000ADC 24A59440 */ addiu $a1, %lo(animMsgQ) # addiu $a1, $a1, -0x6bc0
|
||||
/* 035610 7F000AE0 0FC00278 */ jal sub_GAME_7F0009E0
|
||||
/* 035614 7F000AE4 24849D60 */ addiu $a0, %lo(D_80029D60) # addiu $a0, $a0, -0x62a0
|
||||
/* 035618 7F000AE8 3C0E0001 */ lui $t6, %hi(0x0000E7E0) # $t6, 1
|
||||
/* 03561C 7F000AEC 3C0F0000 */ lui $t7, 0
|
||||
/* 035620 7F000AF0 25EF0000 */ addiu $t7, $t7, 0
|
||||
/* 035624 7F000AF4 25CEE7E0 */ addiu $t6, %lo(0x0000E7E0) # addiu $t6, $t6, -0x1820
|
||||
/* 035628 7F000AF8 01CF3023 */ subu $a2, $t6, $t7
|
||||
/* 03562C 7F000AFC 00C02025 */ move $a0, $a2
|
||||
/* 035630 7F000B00 AFA60018 */ sw $a2, 0x18($sp)
|
||||
/* 035634 7F000B04 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035638 7F000B08 24050006 */ li $a1, 6
|
||||
/* 03563C 7F000B0C 3C038007 */ lui $v1, %hi(ptr_animation_table)
|
||||
/* 035640 7F000B10 24639538 */ addiu $v1, %lo(ptr_animation_table) # addiu $v1, $v1, -0x6ac8
|
||||
/* 035644 7F000B14 3C050029 */ lui $a1, %hi(_animation_dataSegmentRomStart) # $a1, 0x29
|
||||
/* 035648 7F000B18 AC620000 */ sw $v0, ($v1)
|
||||
/* 03564C 7F000B1C 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 035650 7F000B20 24A5E980 */ addiu $a1, %lo(_animation_dataSegmentRomStart) # addiu $a1, $a1, -0x1680
|
||||
/* 035654 7F000B24 0C001707 */ jal romCopy
|
||||
/* 035658 7F000B28 00402025 */ move $a0, $v0
|
||||
/* 03565C 7F000B2C 3C048003 */ lui $a0, %hi(animation_table_ptrs1)
|
||||
/* 035660 7F000B30 0FC00280 */ jal expand_ani_table_entries
|
||||
/* 035664 7F000B34 24849D6C */ addiu $a0, %lo(animation_table_ptrs1) # addiu $a0, $a0, -0x6294
|
||||
/* 035668 7F000B38 3C048003 */ lui $a0, %hi(animation_table_ptrs2)
|
||||
/* 03566C 7F000B3C 0FC00280 */ jal expand_ani_table_entries
|
||||
/* 035670 7F000B40 2484A04C */ addiu $a0, %lo(animation_table_ptrs2) # addiu $a0, $a0, -0x5fb4
|
||||
/* 035674 7F000B44 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035678 7F000B48 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 03567C 7F000B4C 03E00008 */ jr $ra
|
||||
/* 035680 7F000B50 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,281 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_explosion_smoke_casing_scorch_impact_buffers(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_explosion_smoke_casing_scorch_impact_buffers
|
||||
/* 03B8C0 7F006D90 3C018004 */ lui $at, %hi(D_80040170)
|
||||
/* 03B8C4 7F006D94 AC200170 */ sw $zero, %lo(D_80040170)($at)
|
||||
/* 03B8C8 7F006D98 3C018004 */ lui $at, %hi(D_80040174)
|
||||
/* 03B8CC 7F006D9C AC200174 */ sw $zero, %lo(D_80040174)($at)
|
||||
/* 03B8D0 7F006DA0 3C018004 */ lui $at, %hi(D_8004017C+0x684)
|
||||
/* 03B8D4 7F006DA4 AC200800 */ sw $zero, %lo(D_8004017C+0x684)($at)
|
||||
/* 03B8D8 7F006DA8 3C018004 */ lui $at, %hi(D_8004017C+0x688)
|
||||
/* 03B8DC 7F006DAC AC200804 */ sw $zero, %lo(D_8004017C+0x688)($at)
|
||||
/* 03B8E0 7F006DB0 3C018004 */ lui $at, %hi(D_8004017C+0x68C)
|
||||
/* 03B8E4 7F006DB4 AC200808 */ sw $zero, %lo(D_8004017C+0x68C)($at)
|
||||
/* 03B8E8 7F006DB8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 03B8EC 7F006DBC 44812000 */ mtc1 $at, $f4
|
||||
/* 03B8F0 7F006DC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03B8F4 7F006DC4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03B8F8 7F006DC8 3C018004 */ lui $at, %hi(D_80040178)
|
||||
/* 03B8FC 7F006DCC 24041740 */ li $a0, 5952
|
||||
/* 03B900 7F006DD0 24050004 */ li $a1, 4
|
||||
/* 03B904 7F006DD4 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03B908 7F006DD8 E4240178 */ swc1 $f4, %lo(D_80040178)($at)
|
||||
/* 03B90C 7F006DDC 3C038008 */ lui $v1, %hi(ptr_explosion_buf)
|
||||
/* 03B910 7F006DE0 2463A144 */ addiu $v1, %lo(ptr_explosion_buf) # addiu $v1, $v1, -0x5ebc
|
||||
/* 03B914 7F006DE4 AC620000 */ sw $v0, ($v1)
|
||||
/* 03B918 7F006DE8 00002025 */ move $a0, $zero
|
||||
/* 03B91C 7F006DEC 00003025 */ move $a2, $zero
|
||||
/* 03B920 7F006DF0 240503C0 */ li $a1, 960
|
||||
.L7F006DF4:
|
||||
/* 03B924 7F006DF4 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 03B928 7F006DF8 00001025 */ move $v0, $zero
|
||||
/* 03B92C 7F006DFC 01C67821 */ addu $t7, $t6, $a2
|
||||
/* 03B930 7F006E00 ADE00000 */ sw $zero, ($t7)
|
||||
.L7F006E04:
|
||||
/* 03B934 7F006E04 8C780000 */ lw $t8, ($v1)
|
||||
/* 03B938 7F006E08 0004C940 */ sll $t9, $a0, 5
|
||||
/* 03B93C 7F006E0C 0324C823 */ subu $t9, $t9, $a0
|
||||
/* 03B940 7F006E10 0019C940 */ sll $t9, $t9, 5
|
||||
/* 03B944 7F006E14 03194021 */ addu $t0, $t8, $t9
|
||||
/* 03B948 7F006E18 01024821 */ addu $t1, $t0, $v0
|
||||
/* 03B94C 7F006E1C A520001C */ sh $zero, 0x1c($t1)
|
||||
/* 03B950 7F006E20 8C6A0000 */ lw $t2, ($v1)
|
||||
/* 03B954 7F006E24 00045940 */ sll $t3, $a0, 5
|
||||
/* 03B958 7F006E28 01645823 */ subu $t3, $t3, $a0
|
||||
/* 03B95C 7F006E2C 000B5940 */ sll $t3, $t3, 5
|
||||
/* 03B960 7F006E30 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 03B964 7F006E34 01826821 */ addu $t5, $t4, $v0
|
||||
/* 03B968 7F006E38 A5A00034 */ sh $zero, 0x34($t5)
|
||||
/* 03B96C 7F006E3C 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 03B970 7F006E40 00047940 */ sll $t7, $a0, 5
|
||||
/* 03B974 7F006E44 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 03B978 7F006E48 000F7940 */ sll $t7, $t7, 5
|
||||
/* 03B97C 7F006E4C 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 03B980 7F006E50 0302C821 */ addu $t9, $t8, $v0
|
||||
/* 03B984 7F006E54 A720004C */ sh $zero, 0x4c($t9)
|
||||
/* 03B988 7F006E58 8C680000 */ lw $t0, ($v1)
|
||||
/* 03B98C 7F006E5C 00044940 */ sll $t1, $a0, 5
|
||||
/* 03B990 7F006E60 01244823 */ subu $t1, $t1, $a0
|
||||
/* 03B994 7F006E64 00094940 */ sll $t1, $t1, 5
|
||||
/* 03B998 7F006E68 01095021 */ addu $t2, $t0, $t1
|
||||
/* 03B99C 7F006E6C 01425821 */ addu $t3, $t2, $v0
|
||||
/* 03B9A0 7F006E70 24420060 */ addiu $v0, $v0, 0x60
|
||||
/* 03B9A4 7F006E74 1445FFE3 */ bne $v0, $a1, .L7F006E04
|
||||
/* 03B9A8 7F006E78 A5600064 */ sh $zero, 0x64($t3)
|
||||
/* 03B9AC 7F006E7C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 03B9B0 7F006E80 28810006 */ slti $at, $a0, 6
|
||||
/* 03B9B4 7F006E84 1420FFDB */ bnez $at, .L7F006DF4
|
||||
/* 03B9B8 7F006E88 24C603E0 */ addiu $a2, $a2, 0x3e0
|
||||
/* 03B9BC 7F006E8C 24041FE0 */ li $a0, 8160
|
||||
/* 03B9C0 7F006E90 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03B9C4 7F006E94 24050004 */ li $a1, 4
|
||||
/* 03B9C8 7F006E98 3C038008 */ lui $v1, %hi(ptr_smoke_buf)
|
||||
/* 03B9CC 7F006E9C 2463A140 */ addiu $v1, %lo(ptr_smoke_buf) # addiu $v1, $v1, -0x5ec0
|
||||
/* 03B9D0 7F006EA0 44800000 */ mtc1 $zero, $f0
|
||||
/* 03B9D4 7F006EA4 AC620000 */ sw $v0, ($v1)
|
||||
/* 03B9D8 7F006EA8 00002025 */ move $a0, $zero
|
||||
/* 03B9DC 7F006EAC 00003025 */ move $a2, $zero
|
||||
/* 03B9E0 7F006EB0 24050190 */ li $a1, 400
|
||||
.L7F006EB4:
|
||||
/* 03B9E4 7F006EB4 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 03B9E8 7F006EB8 00047880 */ sll $t7, $a0, 2
|
||||
/* 03B9EC 7F006EBC 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 03B9F0 7F006EC0 000F7880 */ sll $t7, $t7, 2
|
||||
/* 03B9F4 7F006EC4 01866821 */ addu $t5, $t4, $a2
|
||||
/* 03B9F8 7F006EC8 ADA00000 */ sw $zero, ($t5)
|
||||
/* 03B9FC 7F006ECC 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 03BA00 7F006ED0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 03BA04 7F006ED4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 03BA08 7F006ED8 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 03BA0C 7F006EDC 00044080 */ sll $t0, $a0, 2
|
||||
/* 03BA10 7F006EE0 01044023 */ subu $t0, $t0, $a0
|
||||
/* 03BA14 7F006EE4 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 03BA18 7F006EE8 00084080 */ sll $t0, $t0, 2
|
||||
/* 03BA1C 7F006EEC 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 03BA20 7F006EF0 E7000014 */ swc1 $f0, 0x14($t8)
|
||||
/* 03BA24 7F006EF4 01044021 */ addu $t0, $t0, $a0
|
||||
/* 03BA28 7F006EF8 8C790000 */ lw $t9, ($v1)
|
||||
/* 03BA2C 7F006EFC 00084080 */ sll $t0, $t0, 2
|
||||
/* 03BA30 7F006F00 01044023 */ subu $t0, $t0, $a0
|
||||
/* 03BA34 7F006F04 000840C0 */ sll $t0, $t0, 3
|
||||
/* 03BA38 7F006F08 03284821 */ addu $t1, $t9, $t0
|
||||
/* 03BA3C 7F006F0C E520003C */ swc1 $f0, 0x3c($t1)
|
||||
/* 03BA40 7F006F10 24020050 */ li $v0, 80
|
||||
.L7F006F14:
|
||||
/* 03BA44 7F006F14 00045880 */ sll $t3, $a0, 2
|
||||
/* 03BA48 7F006F18 01645823 */ subu $t3, $t3, $a0
|
||||
/* 03BA4C 7F006F1C 000B5880 */ sll $t3, $t3, 2
|
||||
/* 03BA50 7F006F20 01645821 */ addu $t3, $t3, $a0
|
||||
/* 03BA54 7F006F24 8C6A0000 */ lw $t2, ($v1)
|
||||
/* 03BA58 7F006F28 000B5880 */ sll $t3, $t3, 2
|
||||
/* 03BA5C 7F006F2C 01645823 */ subu $t3, $t3, $a0
|
||||
/* 03BA60 7F006F30 00047880 */ sll $t7, $a0, 2
|
||||
/* 03BA64 7F006F34 000B58C0 */ sll $t3, $t3, 3
|
||||
/* 03BA68 7F006F38 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 03BA6C 7F006F3C 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 03BA70 7F006F40 000F7880 */ sll $t7, $t7, 2
|
||||
/* 03BA74 7F006F44 01826821 */ addu $t5, $t4, $v0
|
||||
/* 03BA78 7F006F48 01E47821 */ addu $t7, $t7, $a0
|
||||
/* 03BA7C 7F006F4C E5A00014 */ swc1 $f0, 0x14($t5)
|
||||
/* 03BA80 7F006F50 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 03BA84 7F006F54 000F7880 */ sll $t7, $t7, 2
|
||||
/* 03BA88 7F006F58 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 03BA8C 7F006F5C 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 03BA90 7F006F60 00044880 */ sll $t1, $a0, 2
|
||||
/* 03BA94 7F006F64 01244823 */ subu $t1, $t1, $a0
|
||||
/* 03BA98 7F006F68 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 03BA9C 7F006F6C 0302C821 */ addu $t9, $t8, $v0
|
||||
/* 03BAA0 7F006F70 00094880 */ sll $t1, $t1, 2
|
||||
/* 03BAA4 7F006F74 01244821 */ addu $t1, $t1, $a0
|
||||
/* 03BAA8 7F006F78 E720003C */ swc1 $f0, 0x3c($t9)
|
||||
/* 03BAAC 7F006F7C 8C680000 */ lw $t0, ($v1)
|
||||
/* 03BAB0 7F006F80 00094880 */ sll $t1, $t1, 2
|
||||
/* 03BAB4 7F006F84 01244823 */ subu $t1, $t1, $a0
|
||||
/* 03BAB8 7F006F88 000948C0 */ sll $t1, $t1, 3
|
||||
/* 03BABC 7F006F8C 00046880 */ sll $t5, $a0, 2
|
||||
/* 03BAC0 7F006F90 01A46823 */ subu $t5, $t5, $a0
|
||||
/* 03BAC4 7F006F94 01095021 */ addu $t2, $t0, $t1
|
||||
/* 03BAC8 7F006F98 01425821 */ addu $t3, $t2, $v0
|
||||
/* 03BACC 7F006F9C 000D6880 */ sll $t5, $t5, 2
|
||||
/* 03BAD0 7F006FA0 01A46821 */ addu $t5, $t5, $a0
|
||||
/* 03BAD4 7F006FA4 E5600064 */ swc1 $f0, 0x64($t3)
|
||||
/* 03BAD8 7F006FA8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 03BADC 7F006FAC 000D6880 */ sll $t5, $t5, 2
|
||||
/* 03BAE0 7F006FB0 01A46823 */ subu $t5, $t5, $a0
|
||||
/* 03BAE4 7F006FB4 000D68C0 */ sll $t5, $t5, 3
|
||||
/* 03BAE8 7F006FB8 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 03BAEC 7F006FBC 01C27821 */ addu $t7, $t6, $v0
|
||||
/* 03BAF0 7F006FC0 244200A0 */ addiu $v0, $v0, 0xa0
|
||||
/* 03BAF4 7F006FC4 1445FFD3 */ bne $v0, $a1, .L7F006F14
|
||||
/* 03BAF8 7F006FC8 E5E0008C */ swc1 $f0, 0x8c($t7)
|
||||
/* 03BAFC 7F006FCC 24840001 */ addiu $a0, $a0, 1
|
||||
/* 03BB00 7F006FD0 28810014 */ slti $at, $a0, 0x14
|
||||
/* 03BB04 7F006FD4 1420FFB7 */ bnez $at, .L7F006EB4
|
||||
/* 03BB08 7F006FD8 24C60198 */ addiu $a2, $a2, 0x198
|
||||
/* 03BB0C 7F006FDC 0FC26919 */ jal get_num_players
|
||||
/* 03BB10 7F006FE0 00000000 */ nop
|
||||
/* 03BB14 7F006FE4 24010001 */ li $at, 1
|
||||
/* 03BB18 7F006FE8 14410017 */ bne $v0, $at, .L7F007048
|
||||
/* 03BB1C 7F006FEC 240406E0 */ li $a0, 1760
|
||||
/* 03BB20 7F006FF0 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03BB24 7F006FF4 24050004 */ li $a1, 4
|
||||
/* 03BB28 7F006FF8 3C058008 */ lui $a1, %hi(ptr_scorch_buf)
|
||||
/* 03BB2C 7F006FFC 24A5A150 */ addiu $a1, %lo(ptr_scorch_buf) # addiu $a1, $a1, -0x5eb0
|
||||
/* 03BB30 7F007000 ACA20000 */ sw $v0, ($a1)
|
||||
/* 03BB34 7F007004 240206E0 */ li $v0, 1760
|
||||
/* 03BB38 7F007008 00001825 */ move $v1, $zero
|
||||
/* 03BB3C 7F00700C 2406FFFF */ li $a2, -1
|
||||
.L7F007010:
|
||||
/* 03BB40 7F007010 8CB80000 */ lw $t8, ($a1)
|
||||
/* 03BB44 7F007014 0303C821 */ addu $t9, $t8, $v1
|
||||
/* 03BB48 7F007018 A7260000 */ sh $a2, ($t9)
|
||||
/* 03BB4C 7F00701C 8CA80000 */ lw $t0, ($a1)
|
||||
/* 03BB50 7F007020 01034821 */ addu $t1, $t0, $v1
|
||||
/* 03BB54 7F007024 A5260058 */ sh $a2, 0x58($t1)
|
||||
/* 03BB58 7F007028 8CAA0000 */ lw $t2, ($a1)
|
||||
/* 03BB5C 7F00702C 01435821 */ addu $t3, $t2, $v1
|
||||
/* 03BB60 7F007030 A56600B0 */ sh $a2, 0xb0($t3)
|
||||
/* 03BB64 7F007034 8CAC0000 */ lw $t4, ($a1)
|
||||
/* 03BB68 7F007038 01836821 */ addu $t5, $t4, $v1
|
||||
/* 03BB6C 7F00703C 24630160 */ addiu $v1, $v1, 0x160
|
||||
/* 03BB70 7F007040 1462FFF3 */ bne $v1, $v0, .L7F007010
|
||||
/* 03BB74 7F007044 A5A60108 */ sh $a2, 0x108($t5)
|
||||
.L7F007048:
|
||||
/* 03BB78 7F007048 24041F40 */ li $a0, 8000
|
||||
/* 03BB7C 7F00704C 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03BB80 7F007050 24050004 */ li $a1, 4
|
||||
/* 03BB84 7F007054 3C058008 */ lui $a1, %hi(ptr_bullet_impact_buf)
|
||||
/* 03BB88 7F007058 24A5A154 */ addiu $a1, %lo(ptr_bullet_impact_buf) # addiu $a1, $a1, -0x5eac
|
||||
/* 03BB8C 7F00705C ACA20000 */ sw $v0, ($a1)
|
||||
/* 03BB90 7F007060 2406FFFF */ li $a2, -1
|
||||
/* 03BB94 7F007064 00001825 */ move $v1, $zero
|
||||
.L7F007068:
|
||||
/* 03BB98 7F007068 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 03BB9C 7F00706C 01C37821 */ addu $t7, $t6, $v1
|
||||
/* 03BBA0 7F007070 24630050 */ addiu $v1, $v1, 0x50
|
||||
/* 03BBA4 7F007074 28611F40 */ slti $at, $v1, 0x1f40
|
||||
/* 03BBA8 7F007078 1420FFFB */ bnez $at, .L7F007068
|
||||
/* 03BBAC 7F00707C A5E60000 */ sh $a2, ($t7)
|
||||
/* 03BBB0 7F007080 0FC26919 */ jal get_num_players
|
||||
/* 03BBB4 7F007084 00000000 */ nop
|
||||
/* 03BBB8 7F007088 241800C8 */ li $t8, 200
|
||||
/* 03BBBC 7F00708C 0302001A */ div $zero, $t8, $v0
|
||||
/* 03BBC0 7F007090 3C068008 */ lui $a2, %hi(max_casings)
|
||||
/* 03BBC4 7F007094 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8
|
||||
/* 03BBC8 7F007098 14400002 */ bnez $v0, .L7F0070A4
|
||||
/* 03BBCC 7F00709C 00000000 */ nop
|
||||
/* 03BBD0 7F0070A0 0007000D */ break 7
|
||||
.L7F0070A4:
|
||||
/* 03BBD4 7F0070A4 2401FFFF */ li $at, -1
|
||||
/* 03BBD8 7F0070A8 14410004 */ bne $v0, $at, .L7F0070BC
|
||||
/* 03BBDC 7F0070AC 3C018000 */ lui $at, 0x8000
|
||||
/* 03BBE0 7F0070B0 17010002 */ bne $t8, $at, .L7F0070BC
|
||||
/* 03BBE4 7F0070B4 00000000 */ nop
|
||||
/* 03BBE8 7F0070B8 0006000D */ break 6
|
||||
.L7F0070BC:
|
||||
/* 03BBEC 7F0070BC 0000C812 */ mflo $t9
|
||||
/* 03BBF0 7F0070C0 ACD90000 */ sw $t9, ($a2)
|
||||
/* 03BBF4 7F0070C4 0FC2F7C1 */ jal sub_GAME_7F0BDF04
|
||||
/* 03BBF8 7F0070C8 00000000 */ nop
|
||||
/* 03BBFC 7F0070CC 3C068008 */ lui $a2, %hi(max_casings)
|
||||
/* 03BC00 7F0070D0 2401001D */ li $at, 29
|
||||
/* 03BC04 7F0070D4 10410007 */ beq $v0, $at, .L7F0070F4
|
||||
/* 03BC08 7F0070D8 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8
|
||||
/* 03BC0C 7F0070DC 0FC2F7C1 */ jal sub_GAME_7F0BDF04
|
||||
/* 03BC10 7F0070E0 00000000 */ nop
|
||||
/* 03BC14 7F0070E4 3C068008 */ lui $a2, %hi(max_casings)
|
||||
/* 03BC18 7F0070E8 2401001E */ li $at, 30
|
||||
/* 03BC1C 7F0070EC 14410004 */ bne $v0, $at, .L7F007100
|
||||
/* 03BC20 7F0070F0 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8
|
||||
.L7F0070F4:
|
||||
/* 03BC24 7F0070F4 8CC80000 */ lw $t0, ($a2)
|
||||
/* 03BC28 7F0070F8 00084843 */ sra $t1, $t0, 1
|
||||
/* 03BC2C 7F0070FC ACC90000 */ sw $t1, ($a2)
|
||||
.L7F007100:
|
||||
/* 03BC30 7F007100 8CC40000 */ lw $a0, ($a2)
|
||||
/* 03BC34 7F007104 2401FFF0 */ li $at, -16
|
||||
/* 03BC38 7F007108 24050004 */ li $a1, 4
|
||||
/* 03BC3C 7F00710C 00045100 */ sll $t2, $a0, 4
|
||||
/* 03BC40 7F007110 01445023 */ subu $t2, $t2, $a0
|
||||
/* 03BC44 7F007114 000A50C0 */ sll $t2, $t2, 3
|
||||
/* 03BC48 7F007118 2544000F */ addiu $a0, $t2, 0xf
|
||||
/* 03BC4C 7F00711C 00815824 */ and $t3, $a0, $at
|
||||
/* 03BC50 7F007120 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03BC54 7F007124 01602025 */ move $a0, $t3
|
||||
/* 03BC58 7F007128 3C068008 */ lui $a2, %hi(max_casings)
|
||||
/* 03BC5C 7F00712C 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8
|
||||
/* 03BC60 7F007130 8CCC0000 */ lw $t4, ($a2)
|
||||
/* 03BC64 7F007134 3C038008 */ lui $v1, %hi(ptr_ejected_casing_buf)
|
||||
/* 03BC68 7F007138 2463A14C */ addiu $v1, %lo(ptr_ejected_casing_buf) # addiu $v1, $v1, -0x5eb4
|
||||
/* 03BC6C 7F00713C AC620000 */ sw $v0, ($v1)
|
||||
/* 03BC70 7F007140 1980000B */ blez $t4, .L7F007170
|
||||
/* 03BC74 7F007144 00002025 */ move $a0, $zero
|
||||
/* 03BC78 7F007148 00001025 */ move $v0, $zero
|
||||
/* 03BC7C 7F00714C 8C6D0000 */ lw $t5, ($v1)
|
||||
.L7F007150:
|
||||
/* 03BC80 7F007150 24840001 */ addiu $a0, $a0, 1
|
||||
/* 03BC84 7F007154 01A27021 */ addu $t6, $t5, $v0
|
||||
/* 03BC88 7F007158 ADC00000 */ sw $zero, ($t6)
|
||||
/* 03BC8C 7F00715C 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 03BC90 7F007160 24420078 */ addiu $v0, $v0, 0x78
|
||||
/* 03BC94 7F007164 008F082A */ slt $at, $a0, $t7
|
||||
/* 03BC98 7F007168 5420FFF9 */ bnezl $at, .L7F007150
|
||||
/* 03BC9C 7F00716C 8C6D0000 */ lw $t5, ($v1)
|
||||
.L7F007170:
|
||||
/* 03BCA0 7F007170 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03BCA4 7F007174 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03BCA8 7F007178 03E00008 */ jr $ra
|
||||
/* 03BCAC 7F00717C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/mainmenu.h"
|
||||
#include "bondconstants.h"
|
||||
/**
|
||||
* initGameData
|
||||
*
|
||||
**/
|
||||
void initGameData(void) {
|
||||
current_menu = MENU_INVALID;
|
||||
menu_update = 0;
|
||||
maybe_prev_menu = MENU_INVALID;
|
||||
menu_timer = 0;
|
||||
selected_stage = -1;
|
||||
briefingpage = BRIEFING_INVALID;
|
||||
selected_difficulty = DIFFICULTY_MULTI;
|
||||
screen_size = 0;
|
||||
folder_selection_screen_option_icon = 0;
|
||||
selected_folder_num = 0;
|
||||
mission_failed_or_aborted = 0;
|
||||
is_first_time_on_legal_screen = 1;
|
||||
is_first_time_on_main_menu = 1;
|
||||
prev_keypresses = 0;
|
||||
maybe_is_in_menu = 1;
|
||||
slider_007_mode_reaction = 0.0f;
|
||||
slider_007_mode_health = 1.0f;
|
||||
slider_007_mode_accuracy = 1.0f;
|
||||
slider_007_mode_damage = 1.0f;
|
||||
do_not_play_intro_movie = 0;
|
||||
randomly_selected_intro_animation = 0;
|
||||
intro_animation_count = 0;
|
||||
objinstance = 0;
|
||||
ptrobjinstance = 0;
|
||||
full_actor_intro = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef _INITGAMEDATE_H_
|
||||
#define _INITGAMEDATE_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
void initGameData(void);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,138 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/chr.h"
|
||||
|
||||
void init_guards(void) {
|
||||
animation_rate = 1.0f;
|
||||
D_8002C904 = 0;
|
||||
D_8002C908 = 0;
|
||||
D_8002C90C = 0;
|
||||
D_8002C910 = 0;
|
||||
D_8002CC58 = 0;
|
||||
show_patrols_flag = 0;
|
||||
player1_guardID = 0x1388;
|
||||
ptr_guard_data = 0;
|
||||
num_guards = 0;
|
||||
init_obj_register_difficulty_vals();
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_init_GUARDdata_entries(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_init_GUARDdata_entries
|
||||
/* 0359E8 7F000EB8 248E000A */ addiu $t6, $a0, 0xa
|
||||
/* 0359EC 7F000EBC 000E7900 */ sll $t7, $t6, 4
|
||||
/* 0359F0 7F000EC0 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0359F4 7F000EC4 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0359F8 7F000EC8 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0359FC 7F000ECC 000F7880 */ sll $t7, $t7, 2
|
||||
/* 035A00 7F000ED0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 035A04 7F000ED4 3C068003 */ lui $a2, %hi(num_guards)
|
||||
/* 035A08 7F000ED8 25E4000F */ addiu $a0, $t7, 0xf
|
||||
/* 035A0C 7F000EDC 24C6CC68 */ addiu $a2, %lo(num_guards) # addiu $a2, $a2, -0x3398
|
||||
/* 035A10 7F000EE0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 035A14 7F000EE4 3498000F */ ori $t8, $a0, 0xf
|
||||
/* 035A18 7F000EE8 ACCE0000 */ sw $t6, ($a2)
|
||||
/* 035A1C 7F000EEC 3B04000F */ xori $a0, $t8, 0xf
|
||||
/* 035A20 7F000EF0 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035A24 7F000EF4 24050004 */ li $a1, 4
|
||||
/* 035A28 7F000EF8 3C068003 */ lui $a2, %hi(num_guards)
|
||||
/* 035A2C 7F000EFC 24C6CC68 */ addiu $a2, %lo(num_guards) # addiu $a2, $a2, -0x3398
|
||||
/* 035A30 7F000F00 8CC80000 */ lw $t0, ($a2)
|
||||
/* 035A34 7F000F04 3C048003 */ lui $a0, %hi(ptr_guard_data)
|
||||
/* 035A38 7F000F08 2484CC64 */ addiu $a0, %lo(ptr_guard_data) # addiu $a0, $a0, -0x339c
|
||||
/* 035A3C 7F000F0C AC820000 */ sw $v0, ($a0)
|
||||
/* 035A40 7F000F10 1900000B */ blez $t0, .L7F000F40
|
||||
/* 035A44 7F000F14 00001825 */ move $v1, $zero
|
||||
/* 035A48 7F000F18 00001025 */ move $v0, $zero
|
||||
/* 035A4C 7F000F1C 8C890000 */ lw $t1, ($a0)
|
||||
.L7F000F20:
|
||||
/* 035A50 7F000F20 24630001 */ addiu $v1, $v1, 1
|
||||
/* 035A54 7F000F24 01225021 */ addu $t2, $t1, $v0
|
||||
/* 035A58 7F000F28 AD40001C */ sw $zero, 0x1c($t2)
|
||||
/* 035A5C 7F000F2C 8CCB0000 */ lw $t3, ($a2)
|
||||
/* 035A60 7F000F30 244201DC */ addiu $v0, $v0, 0x1dc
|
||||
/* 035A64 7F000F34 006B082A */ slt $at, $v1, $t3
|
||||
/* 035A68 7F000F38 5420FFF9 */ bnezl $at, .L7F000F20
|
||||
/* 035A6C 7F000F3C 8C890000 */ lw $t1, ($a0)
|
||||
.L7F000F40:
|
||||
/* 035A70 7F000F40 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035A74 7F000F44 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 035A78 7F000F48 03E00008 */ jr $ra
|
||||
/* 035A7C 7F000F4C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_new_rand_head_bodies(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_new_rand_head_bodies
|
||||
/* 035A80 7F000F50 3C0E8004 */ lui $t6, %hi(c_item_entries)
|
||||
/* 035A84 7F000F54 8DCEDE10 */ lw $t6, %lo(c_item_entries)($t6)
|
||||
/* 035A88 7F000F58 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 035A8C 7F000F5C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 035A90 7F000F60 11C00009 */ beqz $t6, .L7F000F88
|
||||
/* 035A94 7F000F64 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 035A98 7F000F68 3C0F8004 */ lui $t7, %hi(c_item_entries)
|
||||
/* 035A9C 7F000F6C 25E2DE10 */ addiu $v0, $t7, %lo(c_item_entries)
|
||||
/* 035AA0 7F000F70 8C430000 */ lw $v1, ($v0)
|
||||
/* 035AA4 7F000F74 AC600000 */ sw $zero, ($v1)
|
||||
.L7F000F78:
|
||||
/* 035AA8 7F000F78 8C430014 */ lw $v1, 0x14($v0)
|
||||
/* 035AAC 7F000F7C 24420014 */ addiu $v0, $v0, 0x14
|
||||
/* 035AB0 7F000F80 5460FFFD */ bnezl $v1, .L7F000F78
|
||||
/* 035AB4 7F000F84 AC600000 */ sw $zero, ($v1)
|
||||
.L7F000F88:
|
||||
/* 035AB8 7F000F88 0C002914 */ jal get_random_value
|
||||
/* 035ABC 7F000F8C 00000000 */ nop
|
||||
/* 035AC0 7F000F90 3C188003 */ lui $t8, %hi(num_male_heads)
|
||||
/* 035AC4 7F000F94 8F18CD04 */ lw $t8, %lo(num_male_heads)($t8)
|
||||
/* 035AC8 7F000F98 3C018003 */ lui $at, %hi(current_random_male_head)
|
||||
/* 035ACC 7F000F9C 0058001B */ divu $zero, $v0, $t8
|
||||
/* 035AD0 7F000FA0 0000C810 */ mfhi $t9
|
||||
/* 035AD4 7F000FA4 AC39CE38 */ sw $t9, %lo(current_random_male_head)($at)
|
||||
/* 035AD8 7F000FA8 17000002 */ bnez $t8, .L7F000FB4
|
||||
/* 035ADC 7F000FAC 00000000 */ nop
|
||||
/* 035AE0 7F000FB0 0007000D */ break 7
|
||||
.L7F000FB4:
|
||||
/* 035AE4 7F000FB4 0C002914 */ jal get_random_value
|
||||
/* 035AE8 7F000FB8 00000000 */ nop
|
||||
/* 035AEC 7F000FBC 3C088003 */ lui $t0, %hi(num_female_heads)
|
||||
/* 035AF0 7F000FC0 8D08CD08 */ lw $t0, %lo(num_female_heads)($t0)
|
||||
/* 035AF4 7F000FC4 3C018003 */ lui $at, %hi(current_random_female_head)
|
||||
/* 035AF8 7F000FC8 0048001B */ divu $zero, $v0, $t0
|
||||
/* 035AFC 7F000FCC 00004810 */ mfhi $t1
|
||||
/* 035B00 7F000FD0 AC29CE3C */ sw $t1, %lo(current_random_female_head)($at)
|
||||
/* 035B04 7F000FD4 15000002 */ bnez $t0, .L7F000FE0
|
||||
/* 035B08 7F000FD8 00000000 */ nop
|
||||
/* 035B0C 7F000FDC 0007000D */ break 7
|
||||
.L7F000FE0:
|
||||
/* 035B10 7F000FE0 0C002914 */ jal get_random_value
|
||||
/* 035B14 7F000FE4 00000000 */ nop
|
||||
/* 035B18 7F000FE8 3C0A8003 */ lui $t2, %hi(num_bodies)
|
||||
/* 035B1C 7F000FEC 8D4ACD00 */ lw $t2, %lo(num_bodies)($t2)
|
||||
/* 035B20 7F000FF0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035B24 7F000FF4 3C018003 */ lui $at, %hi(current_random_body)
|
||||
/* 035B28 7F000FF8 004A001B */ divu $zero, $v0, $t2
|
||||
/* 035B2C 7F000FFC 00005810 */ mfhi $t3
|
||||
/* 035B30 7F001000 AC2BCE34 */ sw $t3, %lo(current_random_body)($at)
|
||||
/* 035B34 7F001004 15400002 */ bnez $t2, .L7F001010
|
||||
/* 035B38 7F001008 00000000 */ nop
|
||||
/* 035B3C 7F00100C 0007000D */ break 7
|
||||
.L7F001010:
|
||||
/* 035B40 7F001010 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 035B44 7F001014 03E00008 */ jr $ra
|
||||
/* 035B48 7F001018 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
extern image_entries;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void image_entries_load(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel image_entries_load
|
||||
/* 035700 7F000BD0 3C048005 */ lui $a0, %hi(image_entries)
|
||||
/* 035704 7F000BD4 24829300 */ addiu $v0, $a0, %lo(image_entries)
|
||||
/* 035708 7F000BD8 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 03570C 7F000BDC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* 035710 7F000BE0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 035714 7F000BE4 3407FFFF */ li $a3, 65535
|
||||
/* 035718 7F000BE8 01C17824 */ and $t7, $t6, $at
|
||||
/* 03571C 7F000BEC 10EF0014 */ beq $a3, $t7, .L7F000C40
|
||||
/* 035720 7F000BF0 00001825 */ move $v1, $zero
|
||||
/* 035724 7F000BF4 3C188005 */ lui $t8, %hi(image_entries)
|
||||
/* 035728 7F000BF8 27189300 */ addiu $t8, %lo(image_entries) # addiu $t8, $t8, -0x6d00
|
||||
/* 03572C 7F000BFC 8F050000 */ lw $a1, ($t8)
|
||||
/* 035730 7F000C00 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* 035734 7F000C04 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 035738 7F000C08 00A13024 */ and $a2, $a1, $at
|
||||
.L7F000C0C:
|
||||
/* 03573C 7F000C0C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* 035740 7F000C10 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 035744 7F000C14 0061C824 */ and $t9, $v1, $at
|
||||
/* 035748 7F000C18 03254026 */ xor $t0, $t9, $a1
|
||||
/* 03574C 7F000C1C 00084A00 */ sll $t1, $t0, 8
|
||||
/* 035750 7F000C20 00095202 */ srl $t2, $t1, 8
|
||||
/* 035754 7F000C24 01455826 */ xor $t3, $t2, $a1
|
||||
/* 035758 7F000C28 8C450008 */ lw $a1, 8($v0)
|
||||
/* 03575C 7F000C2C 00661821 */ addu $v1, $v1, $a2
|
||||
/* 035760 7F000C30 AC4B0000 */ sw $t3, ($v0)
|
||||
/* 035764 7F000C34 00A13024 */ and $a2, $a1, $at
|
||||
/* 035768 7F000C38 14E6FFF4 */ bne $a3, $a2, .L7F000C0C
|
||||
/* 03576C 7F000C3C 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F000C40:
|
||||
/* 035770 7F000C40 8C450000 */ lw $a1, ($v0)
|
||||
/* 035774 7F000C44 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* 035778 7F000C48 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 03577C 7F000C4C 00616024 */ and $t4, $v1, $at
|
||||
/* 035780 7F000C50 01856826 */ xor $t5, $t4, $a1
|
||||
/* 035784 7F000C54 000D7200 */ sll $t6, $t5, 8
|
||||
/* 035788 7F000C58 000E7A02 */ srl $t7, $t6, 8
|
||||
/* 03578C 7F000C5C 01E5C026 */ xor $t8, $t7, $a1
|
||||
/* 035790 7F000C60 03E00008 */ jr $ra
|
||||
/* 035794 7F000C64 AC580000 */ sw $t8, ($v0)
|
||||
)
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/intro_logos.h"
|
||||
|
||||
void alloc_intro_matrices(void) {
|
||||
D_8002A7D0 = 0;
|
||||
matrix_buffer_rarelogo_0 = mempAllocBytesInBank(0x80, 4);
|
||||
matrix_buffer_gunbarrel_0 = mempAllocBytesInBank(0x40, 4);
|
||||
matrix_buffer_rarelogo_1 = mempAllocBytesInBank(0x80, 4);
|
||||
matrix_buffer_rarelogo_2 = mempAllocBytesInBank(0x80, 4);
|
||||
matrix_buffer_gunbarrel_1 = mempAllocBytesInBank(0x80, 4);
|
||||
matrix_buffer_intro_backdrop = mempAllocBytesInBank(0x80, 4);
|
||||
matrix_buffer_intro_bond = mempAllocBytesInBank(0x80, 4);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/bondinv.h"
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0061F0(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0061F0
|
||||
/* 03AD20 7F0061F0 3C048008 */ lui $a0, %hi(pPlayer)
|
||||
/* 03AD24 7F0061F4 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50
|
||||
/* 03AD28 7F0061F8 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 03AD2C 7F0061FC 2405FFFF */ li $a1, -1
|
||||
/* 03AD30 7F006200 24030018 */ li $v1, 24
|
||||
/* 03AD34 7F006204 ADC011EC */ sw $zero, 0x11ec($t6)
|
||||
/* 03AD38 7F006208 8C8F0000 */ lw $t7, ($a0)
|
||||
/* 03AD3C 7F00620C 24020078 */ li $v0, 120
|
||||
/* 03AD40 7F006210 ADE51200 */ sw $a1, 0x1200($t7)
|
||||
/* 03AD44 7F006214 8C980000 */ lw $t8, ($a0)
|
||||
/* 03AD48 7F006218 AF05120C */ sw $a1, 0x120c($t8)
|
||||
.L7F00621C:
|
||||
/* 03AD4C 7F00621C 8C990000 */ lw $t9, ($a0)
|
||||
/* 03AD50 7F006220 03234021 */ addu $t0, $t9, $v1
|
||||
/* 03AD54 7F006224 AD051200 */ sw $a1, 0x1200($t0)
|
||||
/* 03AD58 7F006228 8C890000 */ lw $t1, ($a0)
|
||||
/* 03AD5C 7F00622C 01235021 */ addu $t2, $t1, $v1
|
||||
/* 03AD60 7F006230 AD45120C */ sw $a1, 0x120c($t2)
|
||||
/* 03AD64 7F006234 8C8B0000 */ lw $t3, ($a0)
|
||||
/* 03AD68 7F006238 01636021 */ addu $t4, $t3, $v1
|
||||
/* 03AD6C 7F00623C AD851218 */ sw $a1, 0x1218($t4)
|
||||
/* 03AD70 7F006240 8C8D0000 */ lw $t5, ($a0)
|
||||
/* 03AD74 7F006244 01A37021 */ addu $t6, $t5, $v1
|
||||
/* 03AD78 7F006248 24630030 */ addiu $v1, $v1, 0x30
|
||||
/* 03AD7C 7F00624C 1462FFF3 */ bne $v1, $v0, .L7F00621C
|
||||
/* 03AD80 7F006250 ADC51224 */ sw $a1, 0x1224($t6)
|
||||
/* 03AD84 7F006254 03E00008 */ jr $ra
|
||||
/* 03AD88 7F006258 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_additional_item_slots(s32 arg0) {
|
||||
// Node 0
|
||||
pPlayer->unk11E8 = (s32) (arg0 + 0x1e);
|
||||
pPlayer->unk11E4 = mempAllocBytesInBank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4);
|
||||
reinit_BONDdata_inventory();
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_additional_item_slots
|
||||
/* 03AD8C 7F00625C 3C028008 */ lui $v0, %hi(pPlayer)
|
||||
/* 03AD90 7F006260 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50
|
||||
/* 03AD94 7F006264 8C4F0000 */ lw $t7, ($v0)
|
||||
/* 03AD98 7F006268 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03AD9C 7F00626C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03ADA0 7F006270 248E001E */ addiu $t6, $a0, 0x1e
|
||||
/* 03ADA4 7F006274 ADEE11E8 */ sw $t6, 0x11e8($t7)
|
||||
/* 03ADA8 7F006278 8C580000 */ lw $t8, ($v0)
|
||||
/* 03ADAC 7F00627C 24050004 */ li $a1, 4
|
||||
/* 03ADB0 7F006280 8F0411E8 */ lw $a0, 0x11e8($t8)
|
||||
/* 03ADB4 7F006284 0004C880 */ sll $t9, $a0, 2
|
||||
/* 03ADB8 7F006288 0324C821 */ addu $t9, $t9, $a0
|
||||
/* 03ADBC 7F00628C 0019C880 */ sll $t9, $t9, 2
|
||||
/* 03ADC0 7F006290 2724000F */ addiu $a0, $t9, 0xf
|
||||
/* 03ADC4 7F006294 3488000F */ ori $t0, $a0, 0xf
|
||||
/* 03ADC8 7F006298 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03ADCC 7F00629C 3904000F */ xori $a0, $t0, 0xf
|
||||
/* 03ADD0 7F0062A0 3C0A8008 */ lui $t2, %hi(pPlayer)
|
||||
/* 03ADD4 7F0062A4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2)
|
||||
/* 03ADD8 7F0062A8 0FC22FFC */ jal reinit_BONDdata_inventory
|
||||
/* 03ADDC 7F0062AC AD4211E4 */ sw $v0, 0x11e4($t2)
|
||||
/* 03ADE0 7F0062B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03ADE4 7F0062B4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03ADE8 7F0062B8 03E00008 */ jr $ra
|
||||
/* 03ADEC 7F0062BC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void init_menus_or_reset(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel init_menus_or_reset
|
||||
/* 035850 7F000D20 2402FFFF */ li $v0, -1
|
||||
/* 035854 7F000D24 3C018003 */ lui $at, %hi(current_menu)
|
||||
/* 035858 7F000D28 AC22A8C0 */ sw $v0, %lo(current_menu)($at)
|
||||
/* 03585C 7F000D2C 3C018003 */ lui $at, %hi(maybe_prev_menu)
|
||||
/* 035860 7F000D30 AC22A8C8 */ sw $v0, %lo(maybe_prev_menu)($at)
|
||||
/* 035864 7F000D34 3C018003 */ lui $at, %hi(screen_size)
|
||||
/* 035868 7F000D38 AC20A940 */ sw $zero, %lo(screen_size)($at)
|
||||
/* 03586C 7F000D3C 24030001 */ li $v1, 1
|
||||
/* 035870 7F000D40 3C018003 */ lui $at, %hi(spectrum_related_flag)
|
||||
/* 035874 7F000D44 AC23A944 */ sw $v1, %lo(spectrum_related_flag)($at)
|
||||
/* 035878 7F000D48 3C018003 */ lui $at, %hi(is_emulating_spectrum)
|
||||
/* 03587C 7F000D4C AC20A948 */ sw $zero, %lo(is_emulating_spectrum)($at)
|
||||
/* 035880 7F000D50 3C018003 */ lui $at, %hi(folder_selection_screen_option_icon)
|
||||
/* 035884 7F000D54 AC20A918 */ sw $zero, %lo(folder_selection_screen_option_icon)($at)
|
||||
/* 035888 7F000D58 3C018003 */ lui $at, %hi(folder_selected_for_deletion)
|
||||
/* 03588C 7F000D5C AC22A91C */ sw $v0, %lo(folder_selected_for_deletion)($at)
|
||||
/* 035890 7F000D60 3C018003 */ lui $at, %hi(folder_selected_for_deletion_choice)
|
||||
/* 035894 7F000D64 AC23A920 */ sw $v1, %lo(folder_selected_for_deletion_choice)($at)
|
||||
/* 035898 7F000D68 3C018003 */ lui $at, %hi(tab_1_highlight)
|
||||
/* 03589C 7F000D6C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at)
|
||||
/* 0358A0 7F000D70 3C018003 */ lui $at, %hi(tab_2_highlight)
|
||||
/* 0358A4 7F000D74 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at)
|
||||
/* 0358A8 7F000D78 3C0E8003 */ lui $t6, %hi(prev_keypresses)
|
||||
/* 0358AC 7F000D7C 8DCEA934 */ lw $t6, %lo(prev_keypresses)($t6)
|
||||
/* 0358B0 7F000D80 3C018003 */ lui $at, %hi(tab_3_highlight)
|
||||
/* 0358B4 7F000D84 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at)
|
||||
/* 0358B8 7F000D88 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0358BC 7F000D8C 3C018003 */ lui $at, %hi(maybe_is_in_menu)
|
||||
/* 0358C0 7F000D90 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0358C4 7F000D94 11C00005 */ beqz $t6, .L7F000DAC
|
||||
/* 0358C8 7F000D98 AC23A93C */ sw $v1, %lo(maybe_is_in_menu)($at)
|
||||
/* 0358CC 7F000D9C 3C028003 */ lui $v0, %hi(menu_update)
|
||||
/* 0358D0 7F000DA0 2442A8C4 */ addiu $v0, %lo(menu_update) # addiu $v0, $v0, -0x573c
|
||||
/* 0358D4 7F000DA4 240F0005 */ li $t7, 5
|
||||
/* 0358D8 7F000DA8 AC4F0000 */ sw $t7, ($v0)
|
||||
.L7F000DAC:
|
||||
/* 0358DC 7F000DAC 3C028003 */ lui $v0, %hi(menu_update)
|
||||
/* 0358E0 7F000DB0 2442A8C4 */ addiu $v0, %lo(menu_update) # addiu $v0, $v0, -0x573c
|
||||
/* 0358E4 7F000DB4 8C580000 */ lw $t8, ($v0)
|
||||
/* 0358E8 7F000DB8 3C040007 */ lui $a0, (0x00078000 >> 16) # lui $a0, 7
|
||||
/* 0358EC 7F000DBC 24190005 */ li $t9, 5
|
||||
/* 0358F0 7F000DC0 07010002 */ bgez $t8, .L7F000DCC
|
||||
/* 0358F4 7F000DC4 34848000 */ ori $a0, (0x00078000 & 0xFFFF) # ori $a0, $a0, 0x8000
|
||||
/* 0358F8 7F000DC8 AC590000 */ sw $t9, ($v0)
|
||||
.L7F000DCC:
|
||||
/* 0358FC 7F000DCC 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035900 7F000DD0 24050004 */ li $a1, 4
|
||||
/* 035904 7F000DD4 3C018003 */ lui $at, %hi(ptr_logo_and_walletbond_DL)
|
||||
/* 035908 7F000DD8 3C040004 */ lui $a0, (0x0004B040 >> 16) # lui $a0, 4
|
||||
/* 03590C 7F000DDC AC22A950 */ sw $v0, %lo(ptr_logo_and_walletbond_DL)($at)
|
||||
/* 035910 7F000DE0 3484B040 */ ori $a0, (0x0004B040 & 0xFFFF) # ori $a0, $a0, 0xb040
|
||||
/* 035914 7F000DE4 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035918 7F000DE8 24050004 */ li $a1, 4
|
||||
/* 03591C 7F000DEC 3C038003 */ lui $v1, %hi(ptr_menu_videobuffer)
|
||||
/* 035920 7F000DF0 2449003F */ addiu $t1, $v0, 0x3f
|
||||
/* 035924 7F000DF4 2401FFC0 */ li $at, -64
|
||||
/* 035928 7F000DF8 2463A954 */ addiu $v1, %lo(ptr_menu_videobuffer) # addiu $v1, $v1, -0x56ac
|
||||
/* 03592C 7F000DFC 01215024 */ and $t2, $t1, $at
|
||||
/* 035930 7F000E00 AC620000 */ sw $v0, ($v1)
|
||||
/* 035934 7F000E04 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 035938 7F000E08 3C018003 */ lui $at, %hi(ptr_folder_object_instance)
|
||||
/* 03593C 7F000E0C AC20A95C */ sw $zero, %lo(ptr_folder_object_instance)($at)
|
||||
/* 035940 7F000E10 3C018003 */ lui $at, %hi(set0_never_used)
|
||||
/* 035944 7F000E14 AC20A960 */ sw $zero, %lo(set0_never_used)($at)
|
||||
/* 035948 7F000E18 3C018003 */ lui $at, %hi(set0_never_used_0)
|
||||
/* 03594C 7F000E1C AC20A964 */ sw $zero, %lo(set0_never_used_0)($at)
|
||||
/* 035950 7F000E20 3C018003 */ lui $at, %hi(D_8002A968)
|
||||
/* 035954 7F000E24 0FC0031C */ jal alloc_intro_matrices
|
||||
/* 035958 7F000E28 AC20A968 */ sw $zero, %lo(D_8002A968)($at)
|
||||
/* 03595C 7F000E2C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035960 7F000E30 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 035964 7F000E34 03E00008 */ jr $ra
|
||||
/* 035968 7F000E38 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
@@ -0,0 +1,57 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_mt_tex_alloc(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel str_Mt
|
||||
.word 0x2d6d7400 /*-mt*/
|
||||
glabel str_Mt_0
|
||||
.word 0x2d6d7400 /*-mt*/
|
||||
.text
|
||||
glabel set_mt_tex_alloc
|
||||
/* 03BE50 7F007320 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03BE54 7F007324 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03BE58 7F007328 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D090)
|
||||
/* 03BE5C 7F00732C 3C058005 */ lui $a1, %hi(str_Mt)
|
||||
/* 03BE60 7F007330 AC20D090 */ sw $zero, %lo(dword_CODE_bss_8008D090)($at)
|
||||
/* 03BE64 7F007334 24A5F200 */ addiu $a1, %lo(str_Mt) # addiu $a1, $a1, -0xe00
|
||||
/* 03BE68 7F007338 0C0029A8 */ jal check_token
|
||||
/* 03BE6C 7F00733C 24040001 */ li $a0, 1
|
||||
/* 03BE70 7F007340 1040000B */ beqz $v0, .L7F007370
|
||||
/* 03BE74 7F007344 24040001 */ li $a0, 1
|
||||
/* 03BE78 7F007348 3C058005 */ lui $a1, %hi(str_Mt_0)
|
||||
/* 03BE7C 7F00734C 0C0029A8 */ jal check_token
|
||||
/* 03BE80 7F007350 24A5F204 */ addiu $a1, %lo(str_Mt_0) # addiu $a1, $a1, -0xdfc
|
||||
/* 03BE84 7F007354 00402025 */ move $a0, $v0
|
||||
/* 03BE88 7F007358 00002825 */ move $a1, $zero
|
||||
/* 03BE8C 7F00735C 0C002A78 */ jal strtol
|
||||
/* 03BE90 7F007360 00003025 */ move $a2, $zero
|
||||
/* 03BE94 7F007364 00027280 */ sll $t6, $v0, 0xa
|
||||
/* 03BE98 7F007368 3C018005 */ lui $at, %hi(bytes)
|
||||
/* 03BE9C 7F00736C AC2E9170 */ sw $t6, %lo(bytes)($at)
|
||||
.L7F007370:
|
||||
/* 03BEA0 7F007370 3C048005 */ lui $a0, %hi(bytes)
|
||||
/* 03BEA4 7F007374 8C849170 */ lw $a0, %lo(bytes)($a0)
|
||||
/* 03BEA8 7F007378 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03BEAC 7F00737C 24050004 */ li $a1, 4
|
||||
/* 03BEB0 7F007380 3C048009 */ lui $a0, %hi(ptr_texture_alloc_start)
|
||||
/* 03BEB4 7F007384 3C068005 */ lui $a2, %hi(bytes)
|
||||
/* 03BEB8 7F007388 8CC69170 */ lw $a2, %lo(bytes)($a2)
|
||||
/* 03BEBC 7F00738C 2484C720 */ addiu $a0, %lo(ptr_texture_alloc_start) # addiu $a0, $a0, -0x38e0
|
||||
/* 03BEC0 7F007390 0FC32EBD */ jal sub_GAME_7F0CBAF4
|
||||
/* 03BEC4 7F007394 00402825 */ move $a1, $v0
|
||||
/* 03BEC8 7F007398 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03BECC 7F00739C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03BED0 7F0073A0 03E00008 */ jr $ra
|
||||
/* 03BED4 7F0073A4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
void null_init_main_3(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
void null_init_main_2(void) {
|
||||
return;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user