mirror of
https://gitlab.com/kholdfuzion/goldeneye_src
synced 2026-09-02 01:28:56 -04:00
oops forgot that
Former-commit-id: 51b7d68a6dc95736271f84b0fc77ebf6d47e52cd [formerly 2c85d1c72fdc9bb1fbf167e646bdeb09ef3ab61e] [formerly a13e518d540596eb3f572666e7dc1f0e9fc23735 [formerly 5a1125980db68c93b676d756a1735174827465c8]] Former-commit-id: 32929e424314258696aadd1fa822cc97697c1f87 [formerly 40f3f2bb14e103445d97e3a8956926eda59e5f73] Former-commit-id: 6124ae5e2340b83c14e40668868ecacb9f4d1fa3
This commit is contained in:
@@ -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(_csegmentSegmentEnd) # $t0, 0x8006
|
||||
/* 001004 80000404 3C090003 */ lui $t1, (0x00031080 >> 16) # lui $t1, 3
|
||||
/* 001008 80000408 2508D2E0 */ addiu $t0, %lo(_csegmentSegmentEnd) # addiu $t0, $t0, -0x2d20
|
||||
/* 00100C 8000040C 35291080 */ ori $t1, (0x00031080 & 0xFFFF) # 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) # $t2, 0x8000
|
||||
/* 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
|
||||
@@ -1 +0,0 @@
|
||||
76c51147c555e110c5e66f8693d8eab88b601c57
|
||||
+1370
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
4d4971cc2aaaef63f235a321c8441edacb99c5bd
|
||||
+702
@@ -0,0 +1,702 @@
|
||||
#ifndef _BOND_H_
|
||||
#define _BOND_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
extern u16 cfb_16_a[];
|
||||
extern u16 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[];
|
||||
|
||||
struct rgba_val{
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
u8 a;
|
||||
};
|
||||
|
||||
#define OBJECTIVES_MAX 10
|
||||
|
||||
typedef enum MISSION_BRIEFING {BRIEF_OVERVIEW = 0, BRIEF_M, BRIEF_Q, BRIEF_MONEYPENNY} MISSION_BRIEFING;
|
||||
typedef enum DIFFICULTY {DIFFICULTY_AGENT = 0, DIFFICULTY_SECRET, DIFFICULTY_00, DIFFICULTY_007, DIFFICULTY_MULTI = 0xFFFFFFFF} DIFFICULTY;
|
||||
|
||||
typedef enum LEVELID {
|
||||
LEVELID_BUNKER1 = 0x9,
|
||||
LEVELID_SILO = 0x14,
|
||||
LEVELID_STATUE = 0x16,
|
||||
LEVELID_CONTROL = 0x17,
|
||||
LEVELID_ARCHIVES = 0x18,
|
||||
LEVELID_TRAIN = 0x19,
|
||||
LEVELID_FRIGATE = 0x1A,
|
||||
LEVELID_BUNKER2 = 0x1B,
|
||||
LEVELID_AZTEC = 0x1C,
|
||||
LEVELID_STREETS = 0x1D,
|
||||
LEVELID_DEPOT = 0x1E,
|
||||
LEVELID_COMPLEX = 0x1F,
|
||||
LEVELID_EGYPT = 0x20,
|
||||
LEVELID_DAM = 0x21,
|
||||
LEVELID_FACILITY = 0x22,
|
||||
LEVELID_RUNWAY = 0x23,
|
||||
LEVELID_SURFACE = 0x24,
|
||||
LEVELID_JUNGLE = 0x25,
|
||||
LEVELID_TEMPLE = 0x26,
|
||||
LEVELID_CAVERNS = 0x27,
|
||||
LEVELID_CITADEL = 0x28,
|
||||
LEVELID_CRADLE = 0x29,
|
||||
LEVELID_SHO = 0x2A,
|
||||
LEVELID_SURFACE2 = 0x2B,
|
||||
LEVELID_ELD = 0x2C,
|
||||
LEVELID_BASEMENT = 0x2D,
|
||||
LEVELID_STACK = 0x2E,
|
||||
LEVELID_LUE = 0x2F,
|
||||
LEVELID_LIBRARY = 0x30,
|
||||
LEVELID_RIT = 0x31,
|
||||
LEVELID_CAVES = 0x32,
|
||||
LEVELID_EAR = 0x33,
|
||||
LEVELID_LEE = 0x34,
|
||||
LEVELID_LIP = 0x35,
|
||||
LEVELID_CUBA = 0x36,
|
||||
LEVELID_WAX = 0x37,
|
||||
LEVELID_PAM = 0x38,
|
||||
LEVELID_MAX = 0x39,
|
||||
LEVELID_TITLE = 0x5A,
|
||||
LEVELID_NONE = 0xFFFFFFFF
|
||||
} LEVELID;
|
||||
|
||||
typedef enum LEVEL_SOLO_SEQUENCE
|
||||
{
|
||||
SP_LEVEL_DAM = 0x1,
|
||||
SP_LEVEL_FACILITY,
|
||||
SP_LEVEL_RUNWAY,
|
||||
SP_LEVEL_SURFACE1,
|
||||
SP_LEVEL_BUNKER1,
|
||||
SP_LEVEL_SILO,
|
||||
SP_LEVEL_FRIGATE,
|
||||
SP_LEVEL_SURFACE2,
|
||||
SP_LEVEL_BUNKER2,
|
||||
SP_LEVEL_STATUE,
|
||||
SP_LEVEL_ARCHIVES,
|
||||
SP_LEVEL_STREETS,
|
||||
SP_LEVEL_DEPOT,
|
||||
SP_LEVEL_TRAIN,
|
||||
SP_LEVEL_JUNGLE,
|
||||
SP_LEVEL_CONTROL,
|
||||
SP_LEVEL_CAVERNS,
|
||||
SP_LEVEL_CRADLE,
|
||||
SP_LEVEL_AZTEC,
|
||||
SP_LEVEL_EGYPT
|
||||
} LEVEL_SOLO_SEQUENCE;
|
||||
|
||||
typedef enum LEVEL_INDEX
|
||||
{
|
||||
LEVEL_INDEX_SEVBUNKER = 0x0,
|
||||
LEVEL_INDEX_SILO = 0x1,
|
||||
LEVEL_INDEX_STATUE = 0x2,
|
||||
LEVEL_INDEX_CONTROL = 0x3,
|
||||
LEVEL_INDEX_ARCH = 0x4,
|
||||
LEVEL_INDEX_TRA = 0x5,
|
||||
LEVEL_INDEX_DEST = 0x6,
|
||||
LEVEL_INDEX_SEVB = 0x7,
|
||||
LEVEL_INDEX_AZT = 0x8,
|
||||
LEVEL_INDEX_PETE = 0x9,
|
||||
LEVEL_INDEX_DEPO = 0xA,
|
||||
LEVEL_INDEX_REF = 0xB,
|
||||
LEVEL_INDEX_CRYP = 0xC,
|
||||
LEVEL_INDEX_DAM = 0xD,
|
||||
LEVEL_INDEX_ARK = 0xE,
|
||||
LEVEL_INDEX_RUN = 0xF,
|
||||
LEVEL_INDEX_SEVX = 0x10,
|
||||
LEVEL_INDEX_JUN = 0x11,
|
||||
LEVEL_INDEX_DISH = 0x12,
|
||||
LEVEL_INDEX_CAVE = 0x13,
|
||||
LEVEL_INDEX_CAT = 0x14,
|
||||
LEVEL_INDEX_CRAD = 0x15,
|
||||
LEVEL_INDEX_SHO = 0x16,
|
||||
LEVEL_INDEX_SEVXB = 0x17,
|
||||
LEVEL_INDEX_ELD = 0x18,
|
||||
LEVEL_INDEX_IMP = 0x19,
|
||||
LEVEL_INDEX_ASH = 0x1A,
|
||||
LEVEL_INDEX_LUE = 0x1B,
|
||||
LEVEL_INDEX_AME = 0x1C,
|
||||
LEVEL_INDEX_RIT = 0x1D,
|
||||
LEVEL_INDEX_OAT = 0x1E,
|
||||
LEVEL_INDEX_EAR = 0x1F,
|
||||
LEVEL_INDEX_LEE = 0x20,
|
||||
LEVEL_INDEX_LIP = 0x21,
|
||||
LEVEL_INDEX_LEN = 0x22,
|
||||
LEVEL_INDEX_WAX = 0x23,
|
||||
LEVEL_INDEX_PAM = 0x24,
|
||||
LEVEL_INDEX_X = 0x25
|
||||
} LEVEL_INDEX;
|
||||
|
||||
/* language file to slot allocation */
|
||||
#define TEXT(TEXTBANK, TEXTSLOT) ((TEXTBANK * 0x0400U) + TEXTSLOT)
|
||||
|
||||
typedef enum TEXTBANK_LEVEL_INDEX
|
||||
{
|
||||
LNULL = 0, /* Null (unused) */
|
||||
LAME, /* Library (multi) */
|
||||
LARCH, /* Archives */
|
||||
LARK, /* Facility */
|
||||
LASH, /* Stack (multi) */
|
||||
LAZT, /* Aztec */
|
||||
LCAT, /* Citadel (multi) */
|
||||
LCAVE, /* Caverns */
|
||||
LAREC, /* Control */
|
||||
LCRAD, /* Cradle */
|
||||
LCRYP, /* Egypt */
|
||||
LDAM, /* Dam */
|
||||
LDEPO, /* Depot */
|
||||
LDEST, /* Frigate */
|
||||
LDISH, /* Temple (multi) */
|
||||
LEAR, /* Ear (unused) */
|
||||
LELD, /* Eld (unused) */
|
||||
LIMP, /* Basement (multi) */
|
||||
LJUN, /* Jungle */
|
||||
LLEE, /* Lee (unused) */
|
||||
LLEN, /* Cuba */
|
||||
LLIP, /* Lip (unused) */
|
||||
LLUE, /* Lue (unused) */
|
||||
LOAT, /* Cave (multi) */
|
||||
LPAM, /* Pam (unused) */
|
||||
LPETE, /* Streets */
|
||||
LREF, /* Complex (multi) */
|
||||
LRIT, /* Rit (unused) */
|
||||
LRUN, /* Runway */
|
||||
LSEVB, /* Bunker 2 */
|
||||
LSEV, /* Bunker 1 */
|
||||
LSEVX, /* Surface 1 */
|
||||
LSEVXB, /* Surface 2 */
|
||||
LSHO, /* Sho (unused) */
|
||||
LSILO, /* Silo */
|
||||
LSTAT, /* Statue */
|
||||
LTRA, /* Train */
|
||||
LWAX, /* Wax (unused) */
|
||||
LGUN, /* Guns */
|
||||
LTITLE, /* Stage and menu titles */
|
||||
LMPMENU, /* Multi menus */
|
||||
LPROPOBJ, /* In-game pickups */
|
||||
LMPWEAPONS, /* Multi weapon select */
|
||||
LOPTIONS, /* Solo in-game menus */
|
||||
LMISC /* Cheat options */
|
||||
} TEXTBANK_LEVEL_INDEX;
|
||||
|
||||
typedef enum MP_STAGE_SELECTED {
|
||||
MP_STAGE_RANDOM = 0x0,
|
||||
MP_STAGE_TEMPLE = 0x1,
|
||||
MP_STAGE_COMPLEX = 0x2,
|
||||
MP_STAGE_CAVES = 0x3,
|
||||
MP_STAGE_LIBRARY = 0x4,
|
||||
MP_STAGE_BASEMENT = 0x5,
|
||||
MP_STAGE_STACK = 0x6,
|
||||
MP_STAGE_FACILITY = 0x7,
|
||||
MP_STAGE_BUNKER = 0x8,
|
||||
MP_STAGE_ARCHIVES = 0x9,
|
||||
MP_STAGE_CAVERNS = 0xA,
|
||||
MP_STAGE_EGYPT = 0xB
|
||||
} MP_STAGE_SELECTED;
|
||||
|
||||
typedef enum GENDER {FEMALE=0, MALE } GENDER;
|
||||
|
||||
typedef enum BODIES {
|
||||
BODY_Jungle_Commando = 0x0,
|
||||
BODY_St_Petersburg_Guard = 0x1,
|
||||
BODY_Russian_Soldier = 0x2,
|
||||
BODY_Russian_Infantry = 0x3,
|
||||
BODY_Janus_Special_Forces = 0x4,
|
||||
BODY_Tuxedo = 0x5,
|
||||
BODY_Boris = 0x6,
|
||||
BODY_Ourumov = 0x7,
|
||||
BODY_Trevelyan_Janus = 0x8,
|
||||
BODY_Trevelyan_006 = 0x9,
|
||||
BODY_Valentin_ = 0xA,
|
||||
BODY_Xenia = 0xB,
|
||||
BODY_Baron_Samedi = 0xC,
|
||||
BODY_Jaws = 0xD,
|
||||
BODY_Mayday = 0xE,
|
||||
BODY_Oddjob = 0xF,
|
||||
BODY_Natalya_Skirt = 0x10,
|
||||
BODY_Janus_Marine = 0x11,
|
||||
BODY_Russian_Commandant = 0x12,
|
||||
BODY_Siberian_Guard_1_Mishkin = 0x13,
|
||||
BODY_Naval_Officer = 0x14,
|
||||
BODY_Siberian_Special_Forces = 0x15,
|
||||
BODY_Special_Operations_Uniform = 0x16,
|
||||
BODY_Formal_Wear = 0x17,
|
||||
BODY_Jungle_Fatigues = 0x18,
|
||||
BODY_Parka = 0x19,
|
||||
BODY_Unused_Female = 0x1A,
|
||||
BODY_Rosika = 0x1B,
|
||||
BODY_Scientist_2_Female = 0x1C,
|
||||
BODY_Civilian_1_Female = 0x1D,
|
||||
BODY_Unused_Male_1 = 0x1E,
|
||||
BODY_Unused_Male_2 = 0x1F,
|
||||
BODY_Civilian_4 = 0x20,
|
||||
BODY_Civilian_2 = 0x21,
|
||||
BODY_Civilian_3 = 0x22,
|
||||
BODY_Scientist_1_Male = 0x23,
|
||||
BODY_Helicopter_Pilot = 0x24,
|
||||
BODY_Siberian_Guard_2 = 0x25,
|
||||
BODY_Arctic_Commando = 0x26,
|
||||
BODY_Moonraker_Elite_1_Male = 0x27,
|
||||
BODY_Moonraker_Elite_2_Female = 0x28,
|
||||
BODY_Left_Suit_Hand_Floating_Arm = 0x29,
|
||||
BODY_Male_Karl = 0x2A,
|
||||
BODY_Male_Alan = 0x2B,
|
||||
BODY_Male_Pete = 0x2C,
|
||||
BODY_Male_Martin = 0x2D,
|
||||
BODY_Male_Mark = 0x2E,
|
||||
BODY_Male_Duncan = 0x2F,
|
||||
BODY_Male_Shaun = 0x30,
|
||||
BODY_Male_Dwayne = 0x31,
|
||||
BODY_Male_B = 0x32,
|
||||
BODY_Male_Dave_Dr_Doak = 0x33,
|
||||
BODY_Male_Grant = 0x34,
|
||||
BODY_Male_Des = 0x35,
|
||||
BODY_Male_Chris = 0x36,
|
||||
BODY_Male_Lee = 0x37,
|
||||
BODY_Male_Neil = 0x38,
|
||||
BODY_Male_Jim = 0x39,
|
||||
BODY_Male_Robin = 0x3A,
|
||||
BODY_Male_Steve_H = 0x3B,
|
||||
BODY_Male_Terrorist = 0x3C,
|
||||
BODY_Male_Biker = 0x3D,
|
||||
BODY_Male_Graeme = 0x3E,
|
||||
BODY_Male_Steve_Ellis = 0x3F,
|
||||
BODY_Male_Joel = 0x40,
|
||||
BODY_Male_Scott = 0x41,
|
||||
BODY_Male_Joe_Altered = 0x42,
|
||||
BODY_Male_Ken = 0x43,
|
||||
BODY_Male_Joe = 0x44,
|
||||
BODY_Male_Mishkin = 0x45,
|
||||
BODY_Female_Sally = 0x46,
|
||||
BODY_Female_Marion_Rosika = 0x47,
|
||||
BODY_Female_Mandy = 0x48,
|
||||
BODY_Female_Vivien = 0x49,
|
||||
BODY_Male_Pierce_Bond_1 = 0x4A,
|
||||
BODY_Male_Pierce_Bond_2 = 0x4B,
|
||||
BODY_Male_Pierce_Bond_3 = 0x4C,
|
||||
BODY_Male_Pierce_Bond_Parka = 0x4D,
|
||||
BODY_Male_Pierce_Bond_Tuxedo = 0x4E,
|
||||
BODY_Natalya_Jungle_Fatigues = 0x4F
|
||||
} BODIES;
|
||||
|
||||
typedef enum HEADS {
|
||||
HEAD_Male_Karl = 0x2A,
|
||||
HEAD_Male_Alan = 0x2B,
|
||||
HEAD_Male_Pete = 0x2C,
|
||||
HEAD_Male_Martin = 0x2D,
|
||||
HEAD_Male_Mark = 0x2E,
|
||||
HEAD_Male_Duncan = 0x2F,
|
||||
HEAD_Male_Shaun = 0x30,
|
||||
HEAD_Male_Dwayne = 0x31,
|
||||
HEAD_Male_B = 0x32,
|
||||
HEAD_Male_Dave_Dr_Doak = 0x33,
|
||||
HEAD_Male_Grant = 0x34,
|
||||
HEAD_Male_Des = 0x35,
|
||||
HEAD_Male_Chris = 0x36,
|
||||
HEAD_Male_Lee = 0x37,
|
||||
HEAD_Male_Neil = 0x38,
|
||||
HEAD_Male_Jim = 0x39,
|
||||
HEAD_Male_Robin = 0x3A,
|
||||
HEAD_Male_Steve_H = 0x3B,
|
||||
HEAD_Male_Terrorist = 0x3C,
|
||||
HEAD_Male_Biker = 0x3D,
|
||||
HEAD_Male_Graeme = 0x3E,
|
||||
HEAD_Male_Steve_Ellis = 0x3F,
|
||||
HEAD_Male_Joel = 0x40,
|
||||
HEAD_Male_Scott = 0x41,
|
||||
HEAD_Male_Joe_Altered = 0x42,
|
||||
HEAD_Male_Ken = 0x43,
|
||||
HEAD_Male_Joe = 0x44,
|
||||
HEAD_Male_Mishkin = 0x45,
|
||||
HEAD_Female_Sally = 0x46,
|
||||
HEAD_Female_Marion_Rosika = 0x47,
|
||||
HEAD_Female_Mandy = 0x48,
|
||||
HEAD_Female_Vivien = 0x49,
|
||||
HEAD_Male_Pierce_Bond_1 = 0x4A,
|
||||
HEAD_Male_Pierce_Bond_2 = 0x4B,
|
||||
HEAD_Male_Pierce_Bond_3 = 0x4C,
|
||||
HEAD_Male_Pierce_Bond_Parka = 0x4D,
|
||||
HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT = 0x4E,
|
||||
HEAD_Natalya_Jungle_Fatigues = 0x4F
|
||||
} HEADS;
|
||||
|
||||
typedef enum mission_setup_type {
|
||||
MISSION_PART = 0,
|
||||
MISSION_HEADER
|
||||
} mission_setup_type;
|
||||
|
||||
typedef enum MUSIC_TRACKS {
|
||||
M_ARCHIVES=11,
|
||||
M_ARCHIVESX=37,
|
||||
M_AZTEC=25,
|
||||
M_AZTECX=46,
|
||||
M_BUNKER1=15,
|
||||
M_BUNKER1X=41,
|
||||
M_BUNKER2=16,
|
||||
M_BUNKER2X=42,
|
||||
M_CITADEL=6,
|
||||
M_CONTROL=8,
|
||||
M_CONTROLX=33,
|
||||
M_CRADLE=19,
|
||||
M_CRADLEX=48,
|
||||
M_CUBA=49,
|
||||
M_DAM=9,
|
||||
M_DAMX=35,
|
||||
M_DEATHSOLO=27,
|
||||
M_DEPOT=4,
|
||||
M_DEPOTX=32,
|
||||
M_EGYPTIAN=22,
|
||||
M_EGYPTIANX=39,
|
||||
M_EGYPTX=47,
|
||||
M_ELEVATOR_CONTROL=18,
|
||||
M_ELEVATOR_WC=21,
|
||||
M_END_SOMETHING=62,
|
||||
M_FACILITY=7,
|
||||
M_FACILITYX=31,
|
||||
M_FOLDERS=23,
|
||||
M_FRIGATE=10,
|
||||
M_FRIGATEX=36,
|
||||
M_GUITARGLISS=54,
|
||||
M_INTRO=2,
|
||||
M_INTROSWOOSH=44,
|
||||
M_JUNGLE=55,
|
||||
M_JUNGLEX=43,
|
||||
M_MPDEATH=58,
|
||||
M_MPTHEME=5,
|
||||
M_MPTHEME2=13,
|
||||
M_MPTHEME3=52,
|
||||
M_NONE=0,
|
||||
M_RUNWAY=50,
|
||||
M_RUNWAYPLANE=51,
|
||||
M_RUNWAYX=56,
|
||||
M_SHORT_SOLO_DEATH=1,
|
||||
M_SILO=12,
|
||||
M_SILOX=38,
|
||||
M_STATUE=17,
|
||||
M_STATUEPART=61,
|
||||
M_STATUEX=45,
|
||||
M_STREETS=14,
|
||||
M_STREETSX=40,
|
||||
M_SURFACE1=57,
|
||||
M_SURFACE2=28,
|
||||
M_SURFACE2END=60,
|
||||
M_SURFACE2X=59,
|
||||
M_TRAIN=3,
|
||||
M_TRAINX=29,
|
||||
M_UNK=20,
|
||||
M_UNK2=30,
|
||||
M_WATCH=24,
|
||||
M_WATERCAVERNS=26,
|
||||
M_WATERCAVERNSX=34,
|
||||
M_WIND=53
|
||||
} MUSIC_TRACKS;
|
||||
|
||||
typedef enum GAMEMODE {
|
||||
GAMEMODE_SOLO = 0x0,
|
||||
GAMEMODE_MULTI,
|
||||
GAMEMODE_CHEATS,
|
||||
GAMEMODE_INTRO = 0xFFFFFFFF
|
||||
} GAMEMODE;
|
||||
|
||||
typedef enum MPSCENARIOS {
|
||||
SCENARIO_NORMAL=0,
|
||||
SCENARIO_YOLT,
|
||||
SCENARIO_TLD,
|
||||
SCENARIO_MWTGG,
|
||||
SCENARIO_LTK,
|
||||
SCENARIO_2v2,
|
||||
SCENARIO_3v1,
|
||||
SCENARIO_2v1
|
||||
} MPSCENARIOS;
|
||||
|
||||
typedef enum WATCH_BRIEFING_PAGE {
|
||||
BRIEFING_TITLE = 0x0,
|
||||
BRIEFING_OVERVIEW,
|
||||
BRIEFING_M,
|
||||
BRIEFING_Q,
|
||||
BRIEFING_MONEYPENNY
|
||||
} WATCH_BRIEFING_PAGE;
|
||||
|
||||
typedef enum MENU {
|
||||
MENU_LEGAL_SCREEN = 0x0,
|
||||
MENU_NINTENDO_LOGO,
|
||||
MENU_RAREWARE_LOGO,
|
||||
MENU_EYE_INTRO,
|
||||
MENU_GOLDENEYE_LOGO,
|
||||
MENU_FILE_SELECT,
|
||||
MENU_MODE_SELECT,
|
||||
MENU_MISSION_SELECT,
|
||||
MENU_DIFFICULTY,
|
||||
MENU_007_OPTIONS,
|
||||
MENU_BRIEFING,
|
||||
MENU_RUN_STAGE,
|
||||
MENU_MISSION_FAILED,
|
||||
MENU_MISSION_COMPLETE,
|
||||
MENU_MP_OPTIONS,
|
||||
MENU_MP_CHAR_SELECT,
|
||||
MENU_MP_HANDICAP,
|
||||
MENU_MP_CONTROL_STYLE,
|
||||
MENU_MP_STAGE_SELECT,
|
||||
MENU_MP_SCENARIO_SELECT,
|
||||
MENU_MP_TEAMS,
|
||||
MENU_CHEAT,
|
||||
MENU_NO_CONTROLLERS,
|
||||
MENU_SWITCH_SCREENS,
|
||||
MENU_DISPLAY_CAST,
|
||||
MENU_SPECTRUM_EMU
|
||||
} MENU;
|
||||
|
||||
typedef enum CONTROLLER_CONFIG
|
||||
{
|
||||
CONTROLLER_CONFIG_HONEY = 0x0,
|
||||
CONTROLLER_CONFIG_SOLITARE,
|
||||
CONTROLLER_CONFIG_KISSY,
|
||||
CONTROLLER_CONFIG_GOODNIGHT,
|
||||
CONTROLLER_CONFIG_PLENTY,
|
||||
CONTROLLER_CONFIG_GALORE,
|
||||
CONTROLLER_CONFIG_DOMINO,
|
||||
CONTROLLER_CONFIG_GOODHEAD,
|
||||
CONTROLLER_CONFIG_CINEMA
|
||||
} CONTROLLER_CONFIG;
|
||||
|
||||
typedef enum CUFF_TYPES
|
||||
{
|
||||
CUFF_BLUE = 0x0,
|
||||
CUFF_TUX,
|
||||
CUFF_JUNGLE,
|
||||
CUFF_BOILER,
|
||||
CUFF_SNOW,
|
||||
CUFF_WHITE,
|
||||
CUFF_TUX6,
|
||||
CUFF_TUX7,
|
||||
CUFF_TUX8
|
||||
} CUFF_TYPES;
|
||||
|
||||
typedef enum ITEM_IDS
|
||||
{
|
||||
ITEM_UNARMED = 0x0,
|
||||
ITEM_FIST = 0x1,
|
||||
ITEM_KNIFE = 0x2,
|
||||
ITEM_THROWKNIFE = 0x3,
|
||||
ITEM_WPPK = 0x4,
|
||||
ITEM_WPPKSIL = 0x5,
|
||||
ITEM_TT33 = 0x6,
|
||||
ITEM_SKORPION = 0x7,
|
||||
ITEM_AK47 = 0x8,
|
||||
ITEM_UZI = 0x9,
|
||||
ITEM_MP5K = 0xA,
|
||||
ITEM_MP5KSIL = 0xB,
|
||||
ITEM_SPECTRE = 0xC,
|
||||
ITEM_M16 = 0xD,
|
||||
ITEM_FNP90 = 0xE,
|
||||
ITEM_SHOTGUN = 0xF,
|
||||
ITEM_AUTOSHOT = 0x10,
|
||||
ITEM_SNIPERRIFLE = 0x11,
|
||||
ITEM_RUGER = 0x12,
|
||||
ITEM_GOLDENGUN = 0x13,
|
||||
ITEM_SILVERWPPK = 0x14,
|
||||
ITEM_GOLDWPPK = 0x15,
|
||||
ITEM_LASER = 0x16,
|
||||
ITEM_WATCHLASER = 0x17,
|
||||
ITEM_GRENADELAUNCH = 0x18,
|
||||
ITEM_ROCKETLAUNCH = 0x19,
|
||||
ITEM_GRENADE = 0x1A,
|
||||
ITEM_TIMEDMINE = 0x1B,
|
||||
ITEM_PROXIMITYMINE = 0x1C,
|
||||
ITEM_REMOTEMINE = 0x1D,
|
||||
ITEM_TRIGGER = 0x1E,
|
||||
ITEM_TASER = 0x1F,
|
||||
ITEM_TANKSHELLS = 0x20,
|
||||
ITEM_BOMBCASE = 0x21,
|
||||
ITEM_PLASTIQUE = 0x22,
|
||||
ITEM_FLAREPISTOL = 0x23,
|
||||
ITEM_PITONGUN = 0x24,
|
||||
ITEM_BUNGEE = 0x25,
|
||||
ITEM_DOORDECODER = 0x26,
|
||||
ITEM_BOMBDEFUSER = 0x27,
|
||||
ITEM_CAMERA = 0x28,
|
||||
ITEM_LOCKEXPLODER = 0x29,
|
||||
ITEM_DOOREXPLODER = 0x2A,
|
||||
ITEM_BRIEFCASE = 0x2B,
|
||||
ITEM_WEAPONCASE = 0x2C,
|
||||
ITEM_SAFECRACKERCASE = 0x2D,
|
||||
ITEM_KEYANALYSERCASE = 0x2E,
|
||||
ITEM_BUG = 0x2F,
|
||||
ITEM_MICROCAMERA = 0x30,
|
||||
ITEM_BUGDETECTOR = 0x31,
|
||||
ITEM_EXPLOSIVEFLOPPY = 0x32,
|
||||
ITEM_POLARIZEDGLASSES = 0x33,
|
||||
ITEM_DARKGLASSES = 0x34,
|
||||
ITEM_CREDITCARD = 0x35,
|
||||
ITEM_GASKEYRING = 0x36,
|
||||
ITEM_DATATHIEF = 0x37,
|
||||
ITEM_WATCHIDENTIFIER = 0x38,
|
||||
ITEM_WATCHCOMMUNICATOR = 0x39,
|
||||
ITEM_WATCHGEIGERCOUNTER = 0x3A,
|
||||
ITEM_WATCHMAGNETREPEL = 0x3B,
|
||||
ITEM_WATCHMAGNETATTRACT = 0x3C,
|
||||
ITEM_GOLDENEYEKEY = 0x3D,
|
||||
ITEM_BLACKBOX = 0x3E,
|
||||
ITEM_CIRCUITBOARD = 0x3F,
|
||||
ITEM_CLIPBOARD = 0x40,
|
||||
ITEM_STAFFLIST = 0x41,
|
||||
ITEM_DOSSIERRED = 0x42,
|
||||
ITEM_PLANS = 0x43,
|
||||
ITEM_SPYFILE = 0x44,
|
||||
ITEM_BLUEPRINTS = 0x45,
|
||||
ITEM_MAP = 0x46,
|
||||
ITEM_AUDIOTAPE = 0x47,
|
||||
ITEM_VIDEOTAPE = 0x48,
|
||||
ITEM_DATTAPE = 0x49,
|
||||
ITEM_SPOOLTAPE = 0x4A,
|
||||
ITEM_MICROFILM = 0x4B,
|
||||
ITEM_MICROCODE = 0x4C,
|
||||
ITEM_LECTRE = 0x4D,
|
||||
ITEM_MONEY = 0x4E,
|
||||
ITEM_GOLDBAR = 0x4F,
|
||||
ITEM_HEROIN = 0x50,
|
||||
ITEM_KEYCARD = 0x51,
|
||||
ITEM_KEYYALE = 0x52,
|
||||
ITEM_KEYBOLT = 0x53,
|
||||
ITEM_SUIT_LF_HAND = 0x54,
|
||||
ITEM_JOYPAD = 0x55,
|
||||
ITEM_56 = 0x56,
|
||||
ITEM_57 = 0x57,
|
||||
ITEM_TOKEN = 0x58
|
||||
} ITEM_IDS;
|
||||
|
||||
typedef enum PROJECTILES
|
||||
{
|
||||
PROJECTILES_MAX = 0x2E,
|
||||
PROJECTILES_TYPE_KNIFE = 0xBA,
|
||||
PROJECTILES_TYPE_GRENADE = 0xC4,
|
||||
PROJECTILES_TYPE_REMOTE_MINE = 0xC7,
|
||||
PROJECTILES_TYPE_PROX_MINE = 0xC8,
|
||||
PROJECTILES_TYPE_TIMED_MINE = 0xC9,
|
||||
PROJECTILES_TYPE_ROCKET_ROUND = 0xCA,
|
||||
PROJECTILES_TYPE_ROCKET_ROUND2 = 0xCA,
|
||||
PROJECTILES_TYPE_GLAUNCH_ROUND = 0xCB,
|
||||
PROJECTILES_TYPE_BOMBCASE = 0xE2,
|
||||
PROJECTILES_TYPE_BUG = 0xF5,
|
||||
PROJECTILES_TYPE_MICROCAMERA = 0xF6,
|
||||
PROJECTILES_TYPE_GE_KEY = 0xF8,
|
||||
PROJECTILES_TYPE_PLASTIQUE = 0x111
|
||||
} PROJECTILES;
|
||||
|
||||
typedef enum AMMOTYPES {
|
||||
AMMO_9MM=1,
|
||||
AMMO_9MM_2=2,
|
||||
AMMO_RIFLE=3,
|
||||
AMMO_SHOTGUN=4,
|
||||
AMMO_GRENADE=5,
|
||||
AMMO_ROCKETS=6,
|
||||
AMMO_REMOTEMINE=7,
|
||||
AMMO_PROXMINE=8,
|
||||
AMMO_TIMEDMINE=9,
|
||||
AMMO_KNIFE=10,
|
||||
AMMO_GRENADEROUND=11,
|
||||
AMMO_MAGNUM=12,
|
||||
AMMO_GGUN=13,
|
||||
AMMO_DARTS=14,
|
||||
AMMO_EXPLOSIVEPEN=15,
|
||||
AMMO_BOMBCASE=16,
|
||||
AMMO_FLARE=17,
|
||||
AMMO_PITON=18,
|
||||
AMMO_DYNAMITE=19,
|
||||
AMMO_BUG=20,
|
||||
AMMO_MICRO_CAMERA=21,
|
||||
AMMO_GEKEY=22,
|
||||
AMMO_PLASTIQUE=23,
|
||||
AMMO_WATCH_LASER=24,
|
||||
AMMO_WATCH_MAGNET=25,
|
||||
AMMO_UNK=26,
|
||||
AMMO_CAMERA=27,
|
||||
AMMO_TANK=28,
|
||||
AMMO_TOKEN=29
|
||||
} AMMOTYPES;
|
||||
|
||||
typedef enum DOORSTATE
|
||||
{
|
||||
OPEN = 0x1,
|
||||
CLOSED = 0x2
|
||||
} DOORSTATE;
|
||||
|
||||
typedef enum SCREEN_SIZE
|
||||
{
|
||||
SCREEN_SIZE_320x240 = 0x0,
|
||||
SCREEN_SIZE_440x330 = 0x1
|
||||
} SCREEN_SIZE;
|
||||
|
||||
typedef enum COLORMODE
|
||||
{
|
||||
MODE_32BIT = 0x0,
|
||||
MODE_16BIT = 0x1
|
||||
} COLORMODE;
|
||||
|
||||
typedef enum CAMERAMODE {
|
||||
INTRO_CAM=1,
|
||||
FADESWIRL_CAM,
|
||||
SWIRL_CAM,
|
||||
FP_CAM,
|
||||
UNK5_CAM,
|
||||
UNK6_CAM,
|
||||
POSEND_CAM,
|
||||
FP_NOINPUT_CAM,
|
||||
MP_CAM,
|
||||
UNK10_CAM
|
||||
} CAMERAMODE;
|
||||
|
||||
typedef enum guard_action_type {
|
||||
None=0,
|
||||
dying=4,
|
||||
fade_away=5,
|
||||
freeze=2,
|
||||
freeze_anim=17,
|
||||
gettingshot=6,
|
||||
limping=7,
|
||||
look_around=18,
|
||||
moving=15,
|
||||
run_roll_fire=10,
|
||||
sidehop=12,
|
||||
siderun=13,
|
||||
sidestep=11,
|
||||
standing=1,
|
||||
standstill_fire=8,
|
||||
surrendering=16,
|
||||
swattingflies=3,
|
||||
throw_grenade=20,
|
||||
trigger_alarm=19,
|
||||
walk_fire=9,
|
||||
walk_path=14
|
||||
} guard_action_type;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1 +0,0 @@
|
||||
fb419acfddc6bc70011c6ad930630aea5ae08589
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
#include <ultra64.h>
|
||||
#include "boot.h"
|
||||
#include "bondgame.h"
|
||||
#include "rarezip/rarezip.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
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
93ed2463cc53033852fd383499718b3a2f29c00b
|
||||
+791
@@ -0,0 +1,791 @@
|
||||
# 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
|
||||
|
||||
.incbin "bin/bootcode_font.bin"
|
||||
@@ -1 +0,0 @@
|
||||
9dafb26a6a93029825f8b0ff7e1d9a1ac9676715
|
||||
+1477
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
8cec5469487429a3e8779acd736605d9a9e9e84a
|
||||
@@ -0,0 +1,301 @@
|
||||
#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 */
|
||||
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 *return_match_in_debug_notice_list(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 return_match_in_debug_notice_list
|
||||
/* 005920 70004D20 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 005924 70004D24 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list) # $s0, 0x8002
|
||||
/* 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 get_entry_of_size_in_debug_notice_list(s32 arg0)
|
||||
{
|
||||
u32 temp_v0;
|
||||
|
||||
temp_v0 = (debug_notice_list_data + arg0);
|
||||
if (&thread_video_manager_debugthread >= temp_v0)
|
||||
{
|
||||
debug_notice_list_data = temp_v0;
|
||||
return debug_notice_list_data;
|
||||
}
|
||||
debug_notice_list_data = (u32) (temp_v0 - arg0);
|
||||
return allocate_bytes_in_bank(6);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_entry_of_size_in_debug_notice_list
|
||||
/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data) # $v0, 0x8002
|
||||
/* 005984 70004D84 8C4232F8 */ lw $v0, %lo(debug_notice_list_data)($v0)
|
||||
/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(thread_video_manager_debugthread) # $t6, 0x8006
|
||||
/* 00598C 70004D8C 25CE0C90 */ addiu $t6, %lo(thread_video_manager_debugthread) # 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) # $at, 0x8002
|
||||
/* 0059B0 70004DB0 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
|
||||
/* 0059B4 70004DB4 0C0025C8 */ jal allocate_bytes_in_bank
|
||||
/* 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) # $at, 0x8002
|
||||
/* 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 add_new_entry_to_debug_notice_list(s32 arg0, s32 arg1)
|
||||
{
|
||||
? temp_ret;
|
||||
|
||||
temp_ret = get_entry_of_size_in_debug_notice_list(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 add_new_entry_to_debug_notice_list
|
||||
/* 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 get_entry_of_size_in_debug_notice_list
|
||||
/* 0059F4 70004DF4 24040010 */ li $a0, 16
|
||||
/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list) # $v1, 0x8002
|
||||
/* 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 add_debug_notice_deb_c_debug(void) {
|
||||
get_ptr_debug_notice_list_entry(&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
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void get_ptr_debug_notice_list_entry(s32 arg0, s32 arg1)
|
||||
{
|
||||
if (return_match_in_debug_notice_list(arg1) == 0)
|
||||
{
|
||||
add_new_entry_to_debug_notice_list(arg1, arg0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_ptr_debug_notice_list_entry
|
||||
/* 005A60 70004E60 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 005A64 70004E64 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 005A68 70004E68 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 005A6C 70004E6C AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 005A70 70004E70 0C001348 */ jal return_match_in_debug_notice_list
|
||||
/* 005A74 70004E74 00A02025 */ move $a0, $a1
|
||||
/* 005A78 70004E78 14400003 */ bnez $v0, .L70004E88
|
||||
/* 005A7C 70004E7C 8FA4001C */ lw $a0, 0x1c($sp)
|
||||
/* 005A80 70004E80 0C001378 */ jal add_new_entry_to_debug_notice_list
|
||||
/* 005A84 70004E84 8FA50018 */ lw $a1, 0x18($sp)
|
||||
.L70004E88:
|
||||
/* 005A88 70004E88 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005A8C 70004E8C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 005A90 70004E90 03E00008 */ jr $ra
|
||||
/* 005A94 70004E94 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 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 *scan_debug_notice_list_till_NULL(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 scan_debug_notice_list_till_NULL
|
||||
/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list) # $v0, 0x8002
|
||||
/* 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 debug_stubbed_70004EBC(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 5AC4 70004EC4
|
||||
* A0->SP+0, A1->SP+4, A2->SP+8
|
||||
*/
|
||||
void debug_removed(s32 arg0, s32 arg1, s32 arg2) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
d9c6eb5dc7e697b9e7b37b5fe4990b639676755a
|
||||
+712
@@ -0,0 +1,712 @@
|
||||
#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)) || (0x7e < letter)) {
|
||||
letter = 0x3f;
|
||||
}
|
||||
if (((-1 < xpos) && (xpos < 0x48)) && ((-1 < 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) # $s0, 0x8002
|
||||
/* 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) # $v1, 0x8002
|
||||
/* 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) # $s0, 0x8002
|
||||
/* 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) # $v1, 0x8002
|
||||
/* 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) # $s0, 0x8002
|
||||
/* 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) # $v1, 0x8002
|
||||
/* 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) # $v1, 0x8002
|
||||
/* 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) # $t0, 0x8002
|
||||
/* 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) # $t8, 0x8002
|
||||
/* 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
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void set_ptr_video_buffers(s32 arg0, s32 arg1) {
|
||||
ptr_videobuffer1 = (s32) (arg0 | 0xa0000000);
|
||||
ptr_videobuffer2 = (s32) (arg1 | 0xa0000000);
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_ptr_video_buffers
|
||||
/* 006584 70005984 3C02A000 */ lui $v0, 0xa000
|
||||
/* 006588 70005988 00827025 */ or $t6, $a0, $v0
|
||||
/* 00658C 7000598C 3C018002 */ lui $at, %hi(ptr_videobuffer1) # $at, 0x8002
|
||||
/* 006590 70005990 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at)
|
||||
/* 006594 70005994 3C018002 */ lui $at, %hi(ptr_videobuffer2)
|
||||
/* 006598 70005998 00A27825 */ or $t7, $a1, $v0
|
||||
/* 00659C 7000599C 03E00008 */ jr $ra
|
||||
/* 0065A0 700059A0 AC2F4180 */ sw $t7, %lo(ptr_videobuffer2)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 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) # $at, 0x8002
|
||||
/* 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) # $t1, 0x8002
|
||||
/* 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
|
||||
@@ -1 +0,0 @@
|
||||
866e24a0d3d3d960b3dc0512071c218125bd6d8b
|
||||
+891
@@ -0,0 +1,891 @@
|
||||
//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 thread_video_manager_debugthread[0x6B0];
|
||||
char tlbStack[0x2300];
|
||||
OSMesgQueue thread5_MesgQ;
|
||||
u32 thread5_MesgBuf;
|
||||
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(&thread5_MesgQ, &thread5_MesgBuf, 1);
|
||||
osCreateThread(&thread_video_manager_debugthread, 5, &thread5_translate_7F_address, 0, &tlbStack, 0x28);
|
||||
osStartThread(&thread_video_manager_debugthread);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5B54 70004F54
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void thread5_translate_7F_address(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel thread5_translate_7F_address
|
||||
/* 005B54 70004F54 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 005B58 70004F58 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 005B5C 70004F5C 3C178006 */ lui $s7, %hi(thread5_MesgQ) # $s7, 0x8006
|
||||
/* 005B60 70004F60 26F73640 */ addiu $s7, %lo(thread5_MesgQ) # 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) # $at, 0x8006
|
||||
/* 005BA0 70004FA0 3C168002 */ lui $s6, %hi(__osRunQueue) # $s6, 0x8002
|
||||
/* 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 ultra_70010180
|
||||
/* 005BDC 70004FDC 00408025 */ move $s0, $v0
|
||||
/* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe) # $at, 0x8006
|
||||
/* 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) # $t0, 0x8006
|
||||
/* 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) # $t1, 0x8006
|
||||
/* 005C20 70005020 8D29365C */ lw $t1, %lo(ptr_tlbthread_maybe)($t1)
|
||||
/* 005C24 70005024 3C0A8006 */ lui $t2, %hi(ptr_tlbthread_maybe) # $t2, 0x8006
|
||||
/* 005C28 70005028 3C058006 */ lui $a1, %hi(ptr_tlbthread_maybe) # $a1, 0x8006
|
||||
/* 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
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void was_opcode_In_70000450_70020D90(u32 * function)
|
||||
{
|
||||
if ((function & 3) == 0) && (function >= &_codeSegmentStart) && (&_codeSegmentEnd >= function) {
|
||||
if ((function[-2] & 0xfc00003c) == 9)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if ((function[] & 0xfc000000) == 0xc000000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel was_opcode_In_70000450_70020D90
|
||||
/* 005DE0 700051E0 308E0003 */ andi $t6, $a0, 3
|
||||
/* 005DE4 700051E4 15C00019 */ bnez $t6, .L7000524C
|
||||
/* 005DE8 700051E8 3C0F7000 */ lui $t7, %hi(_codeSegmentStart) # $t7, 0x7000
|
||||
/* 005DEC 700051EC 25EF0450 */ addiu $t7, %lo(_codeSegmentStart) # addiu $t7, $t7, 0x450
|
||||
/* 005DF0 700051F0 008F082B */ sltu $at, $a0, $t7
|
||||
/* 005DF4 700051F4 14200015 */ bnez $at, .L7000524C
|
||||
/* 005DF8 700051F8 3C187002 */ lui $t8, %hi(_codeSegmentEnd) # $t8, 0x7002
|
||||
/* 005DFC 700051FC 27180D90 */ addiu $t8, %lo(_codeSegmentEnd) # addiu $t8, $t8, 0xd90
|
||||
/* 005E00 70005200 0304082B */ sltu $at, $t8, $a0
|
||||
/* 005E04 70005204 54200012 */ bnezl $at, .L70005250
|
||||
/* 005E08 70005208 00001025 */ move $v0, $zero
|
||||
/* 005E0C 7000520C 8C82FFF8 */ lw $v0, -8($a0)
|
||||
/* 005E10 70005210 3C01FC00 */ lui $at, (0xFC00003C >> 16) # lui $at, 0xfc00
|
||||
/* 005E14 70005214 3421003C */ ori $at, (0xFC00003C & 0xFFFF) # ori $at, $at, 0x3c
|
||||
/* 005E18 70005218 0041C824 */ and $t9, $v0, $at
|
||||
/* 005E1C 7000521C 24010009 */ li $at, 9
|
||||
/* 005E20 70005220 57210004 */ bnel $t9, $at, .L70005234
|
||||
/* 005E24 70005224 3C01FC00 */ lui $at, 0xfc00
|
||||
/* 005E28 70005228 03E00008 */ jr $ra
|
||||
/* 005E2C 7000522C 24020001 */ li $v0, 1
|
||||
|
||||
/* 005E30 70005230 3C01FC00 */ lui $at, 0xfc00
|
||||
.L70005234:
|
||||
/* 005E34 70005234 00414024 */ and $t0, $v0, $at
|
||||
/* 005E38 70005238 3C010C00 */ lui $at, 0xc00
|
||||
/* 005E3C 7000523C 55010004 */ bnel $t0, $at, .L70005250
|
||||
/* 005E40 70005240 00001025 */ move $v0, $zero
|
||||
/* 005E44 70005244 03E00008 */ jr $ra
|
||||
/* 005E48 70005248 24020001 */ li $v0, 1
|
||||
|
||||
.L7000524C:
|
||||
/* 005E4C 7000524C 00001025 */ move $v0, $zero
|
||||
.L70005250:
|
||||
/* 005E50 70005250 03E00008 */ jr $ra
|
||||
/* 005E54 70005254 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 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) # $a0, 0x8006
|
||||
/* 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) # $t6, 0x8006
|
||||
/* 005EB8 700052B8 8DCE3670 */ lw $t6, %lo(indy_read_buffer)($t6)
|
||||
/* 005EBC 700052BC 3C028006 */ lui $v0, %hi(ptr_indy_read_buf_string1) # $v0, 0x8006
|
||||
/* 005EC0 700052C0 3C018006 */ lui $at, %hi(current_indy_read_buf_resourceID) # $at, 0x8006
|
||||
/* 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) # $a0, 0x8006
|
||||
/* 005EE0 700052E0 8C843668 */ lw $a0, %lo(ptr_indy_read_buf_string1)($a0)
|
||||
/* 005EE4 700052E4 3C018006 */ lui $at, %hi(ptr_indy_read_buf_string2) # $at, 0x8006
|
||||
/* 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) # $a0, 0x8006
|
||||
/* 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) # $s2, 0x8006
|
||||
/* 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) # $v0, 0x8006
|
||||
/* 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) # $t6, 0x8002
|
||||
/* 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) # $t1, 0x8002
|
||||
/* 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) # $t6, 0x8002
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
766cf3469790e5531a6c63a93ce9cca5c5b5cc03
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
5841675c9748242278ad24962891acf36f423ed8
|
||||
+1082
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
61c001101255d065863d71a5741b3b20ce92dc76
|
||||
+44586
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
3447b7958fe4a9bd46775ab4b9434d43dae02aaf
|
||||
@@ -0,0 +1,110 @@
|
||||
#ifndef _ACTIONBLOCK_H_
|
||||
#define _ACTIONBLOCK_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 u32 monitor_animation_microcode[];
|
||||
extern u32 dword_D_80031F00[];
|
||||
extern u32 dword_D_80031F44[];
|
||||
|
||||
void stop_alarm(void);
|
||||
|
||||
void sub_GAME_7F055EF8(void);
|
||||
|
||||
#endif
|
||||
@@ -1 +0,0 @@
|
||||
ab1ab297260356e4c001d37c62da89637ec422ba
|
||||
+28247
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
d7f769065c7792361f5c9a038621a2f08fc29201
|
||||
@@ -0,0 +1,189 @@
|
||||
#ifndef _ACTOR_H_
|
||||
#define _ACTOR_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
|
||||
{
|
||||
s32 anonymous_0;
|
||||
s32 anonymous_1;
|
||||
f32 anonymous_2;
|
||||
f32 anonymous_3;
|
||||
s32 anonymous_4;
|
||||
f32 anonymous_5;
|
||||
f32 anonymous_6;
|
||||
};
|
||||
|
||||
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
|
||||
@@ -1 +0,0 @@
|
||||
a605272ad52cbbdca2fbe6eeaf969289d9e81327
|
||||
+12516
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
afdd5278b8a0a02acf0d191d52849120b534b1ab
|
||||
@@ -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) # $a0, 0x8007
|
||||
/* 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) # $t8, 0x8003
|
||||
/* 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) # $t1, 0x8007
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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(ptr_BONDdata) # $s1, 0x8008
|
||||
/* 050DCC 7F01C29C 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # addiu $s1, $s1, -0x5f50
|
||||
/* 050DD0 7F01C2A0 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 050DD4 7F01C2A4 3C0E8003 */ lui $t6, %hi(die_blood_image_1) # $t6, 0x8003
|
||||
/* 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(ptr_BONDdata) # $s1, 0x8008
|
||||
/* 050DF0 7F01C2C0 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # addiu $s1, $s1, -0x5f50
|
||||
/* 050DF4 7F01C2C4 8E300000 */ lw $s0, ($s1)
|
||||
/* 050DF8 7F01C2C8 3C188003 */ lui $t8, %hi(D_8002C50C) # $t8, 0x8003
|
||||
/* 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(ptr_BONDdata) # $s1, 0x8008
|
||||
/* 050E18 7F01C2E8 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # 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) # $t2, 0x8003
|
||||
/* 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
|
||||
/* 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) # lui $t0, 0x8000
|
||||
/* 050F7C 7F01C44C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900
|
||||
/* 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
|
||||
/* 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(ptr_BONDdata) # $v1, 0x8008
|
||||
/* 050FF4 7F01C4C4 8C63A0B0 */ lw $v1, %lo(ptr_BONDdata)($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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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(ptr_BONDdata) # $v1, 0x8008
|
||||
/* 0512CC 7F01C79C 8C63A0B0 */ lw $v1, %lo(ptr_BONDdata)($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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
/* 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
1038d39b88fda6de3a9774e8d2c96e1d42fb8731
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
51dc0f63e6d1bdf236bea75385e536d4ac5515fd
|
||||
+30750
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
f308b5ef38d7625f8f4bcfd8aa138d6d74c404fa
|
||||
+3045
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
921273f73925e841449ff0f51e2e2a4e49693a92
|
||||
+21210
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
f3fe9c6c147b63de11b5013ff9342474cb3f1043
|
||||
@@ -0,0 +1,67 @@
|
||||
#ifndef _BONDVIEW_H_
|
||||
#define _BONDVIEW_H_
|
||||
#include "ultra64.h"
|
||||
#include "game/cheat_buttons_objectrelated.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;
|
||||
s16 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;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1 +0,0 @@
|
||||
d561e82353e3ae72545c713c96d3e7cdfd093dc8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
72fa787423f31d52b5a0c280c34b1146a6aab917
|
||||
@@ -0,0 +1,336 @@
|
||||
#ifndef _CHEAT_BUTTONS_OBJECTRELATED_H_
|
||||
#define _CHEAT_BUTTONS_OBJECTRELATED_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 * anonymous_0;
|
||||
int anonymous_1;
|
||||
};
|
||||
|
||||
struct struct_15 {
|
||||
char anonymous_0;
|
||||
char field_1;
|
||||
char field_2;
|
||||
char field_3;
|
||||
void * anonymous_1;
|
||||
int anonymous_2;
|
||||
int anonymous_3;
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
#endif
|
||||
@@ -1 +0,0 @@
|
||||
3e570bf432e182784e7007302866ff25169104ca
|
||||
@@ -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) # $v0, 0x8007
|
||||
/* 03C0C4 7F007594 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0)
|
||||
/* 03C0C8 7F007598 3C048007 */ lui $a0, %hi(objective_ptrs+8) # $a0, 0x8007
|
||||
/* 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) # $t8, 0x8007
|
||||
/* 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) # $at, 0x8007
|
||||
/* 03C100 7F0075D0 AC395D58 */ sw $t9, %lo(dword_CODE_bss_80075D58)($at)
|
||||
.L7F0075D4:
|
||||
/* 03C104 7F0075D4 3C028007 */ lui $v0, %hi(objective_ptrs+4) # $v0, 0x8007
|
||||
/* 03C108 7F0075D8 8C425D34 */ lw $v0, %lo(objective_ptrs+4)($v0)
|
||||
/* 03C10C 7F0075DC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075D58) # $t0, 0x8007
|
||||
/* 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) # $t3, 0x8007
|
||||
/* 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) # $at, 0x8007
|
||||
/* 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) # $a2, 0x8007
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
b7478646494b64b964f82c53693612e8e58b68e6
|
||||
@@ -0,0 +1,112 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
//.section .rodata
|
||||
const u32 jpt_8004F210[] = {
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F007550,
|
||||
0x7F00755C,
|
||||
0x7F007550
|
||||
};
|
||||
//.align 4
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void cleanupObjects(s32 stage) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
|
||||
.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) # $s0, 0x8007
|
||||
/* 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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
3886913f398bb0e3e6cc5bef5734b23d59d2cc0d
|
||||
@@ -0,0 +1,159 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
// rodata
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
float convert_angle_using_inverse(f32 vector1,f32 vector2)
|
||||
{
|
||||
float fVar1;
|
||||
|
||||
if ((float)vector1 == 0.00000000) {
|
||||
fVar1 = flt_80053700;
|
||||
if (0.00000000 <= (float)vector2) {
|
||||
fVar1 = 0.00000000;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((float)vector2 == 0.00000000) {
|
||||
fVar1 = flt_80053704;
|
||||
if ((float)vector1 <= 0.00000000) {
|
||||
fVar1 = flt_80053708;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fVar1 = sqrtf((float)vector1 * (float)vector1 + (float)vector2 * (float)vector2);
|
||||
if ((float)vector2 < (float)vector1) {
|
||||
fVar1 = proc_7F05ACB0((float)vector2 / fVar1);
|
||||
if ((float)vector1 < 0.00000000) {
|
||||
fVar1 = flt_8005370C - fVar1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fVar1 = proc_7F05ACB0((float)vector1 / fVar1);
|
||||
fVar1 = flt_80053710 - fVar1;
|
||||
if ((float)vector2 < 0.00000000) {
|
||||
fVar1 = flt_80053714 - fVar1;
|
||||
}
|
||||
if (fVar1 < 0.00000000) {
|
||||
fVar1 = fVar1 + flt_80053718;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return fVar1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_80053700
|
||||
.word 0x40490fdb /*3.1415927*/
|
||||
glabel D_80053704
|
||||
.word 0x3fc90fdb /*1.5707964*/
|
||||
glabel D_80053708
|
||||
.word 0x4096cbe4 /*4.712389*/
|
||||
glabel D_8005370C
|
||||
.word 0x40c90fdb /*6.2831855*/
|
||||
glabel D_80053710
|
||||
.word 0x3fc90fdb /*1.5707964*/
|
||||
glabel D_80053714
|
||||
.word 0x40490fdb /*3.1415927*/
|
||||
glabel D_80053718
|
||||
.word 0x40c90fdb /*6.2831855*/
|
||||
.text
|
||||
glabel convert_angle_using_inverse
|
||||
/* 08F560 7F05AA30 44808000 */ mtc1 $zero, $f16
|
||||
/* 08F564 7F05AA34 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 08F568 7F05AA38 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* 08F56C 7F05AA3C 46106032 */ c.eq.s $f12, $f16
|
||||
/* 08F570 7F05AA40 46006506 */ mov.s $f20, $f12
|
||||
/* 08F574 7F05AA44 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 08F578 7F05AA48 4502000A */ bc1fl .L7F05AA74
|
||||
/* 08F57C 7F05AA4C 46107032 */ c.eq.s $f14, $f16
|
||||
/* 08F580 7F05AA50 460E803E */ c.le.s $f16, $f14
|
||||
/* 08F584 7F05AA54 3C018005 */ lui $at, %hi(D_80053700) # $at, 0x8005
|
||||
/* 08F588 7F05AA58 45000003 */ bc1f .L7F05AA68
|
||||
/* 08F58C 7F05AA5C 00000000 */ nop
|
||||
/* 08F590 7F05AA60 1000003B */ b .L7F05AB50
|
||||
/* 08F594 7F05AA64 46008086 */ mov.s $f2, $f16
|
||||
.L7F05AA68:
|
||||
/* 08F598 7F05AA68 10000039 */ b .L7F05AB50
|
||||
/* 08F59C 7F05AA6C C4223700 */ lwc1 $f2, %lo(D_80053700)($at)
|
||||
/* 08F5A0 7F05AA70 46107032 */ c.eq.s $f14, $f16
|
||||
.L7F05AA74:
|
||||
/* 08F5A4 7F05AA74 00000000 */ nop
|
||||
/* 08F5A8 7F05AA78 4500000A */ bc1f .L7F05AAA4
|
||||
/* 08F5AC 7F05AA7C 00000000 */ nop
|
||||
/* 08F5B0 7F05AA80 4614803C */ c.lt.s $f16, $f20
|
||||
/* 08F5B4 7F05AA84 3C018005 */ lui $at, %hi(D_80053708)
|
||||
/* 08F5B8 7F05AA88 45000004 */ bc1f .L7F05AA9C
|
||||
/* 08F5BC 7F05AA8C 00000000 */ nop
|
||||
/* 08F5C0 7F05AA90 3C018005 */ lui $at, %hi(D_80053704) # $at, 0x8005
|
||||
/* 08F5C4 7F05AA94 1000002E */ b .L7F05AB50
|
||||
/* 08F5C8 7F05AA98 C4223704 */ lwc1 $f2, %lo(D_80053704)($at)
|
||||
.L7F05AA9C:
|
||||
/* 08F5CC 7F05AA9C 1000002C */ b .L7F05AB50
|
||||
/* 08F5D0 7F05AAA0 C4223708 */ lwc1 $f2, %lo(D_80053708)($at)
|
||||
.L7F05AAA4:
|
||||
/* 08F5D4 7F05AAA4 4614A102 */ mul.s $f4, $f20, $f20
|
||||
/* 08F5D8 7F05AAA8 E7AE0024 */ swc1 $f14, 0x24($sp)
|
||||
/* 08F5DC 7F05AAAC 460E7182 */ mul.s $f6, $f14, $f14
|
||||
/* 08F5E0 7F05AAB0 0C007DF8 */ jal sqrtf
|
||||
/* 08F5E4 7F05AAB4 46062300 */ add.s $f12, $f4, $f6
|
||||
/* 08F5E8 7F05AAB8 C7AE0024 */ lwc1 $f14, 0x24($sp)
|
||||
/* 08F5EC 7F05AABC 46000086 */ mov.s $f2, $f0
|
||||
/* 08F5F0 7F05AAC0 4614703C */ c.lt.s $f14, $f20
|
||||
/* 08F5F4 7F05AAC4 00000000 */ nop
|
||||
/* 08F5F8 7F05AAC8 4502000E */ bc1fl .L7F05AB04
|
||||
/* 08F5FC 7F05AACC 4602A303 */ div.s $f12, $f20, $f2
|
||||
/* 08F600 7F05AAD0 0FC16B2C */ jal sub_GAME_7F05ACB0
|
||||
/* 08F604 7F05AAD4 46007303 */ div.s $f12, $f14, $f0
|
||||
/* 08F608 7F05AAD8 44808000 */ mtc1 $zero, $f16
|
||||
/* 08F60C 7F05AADC 46000086 */ mov.s $f2, $f0
|
||||
/* 08F610 7F05AAE0 3C018005 */ lui $at, %hi(D_8005370C) # $at, 0x8005
|
||||
/* 08F614 7F05AAE4 4610A03C */ c.lt.s $f20, $f16
|
||||
/* 08F618 7F05AAE8 00000000 */ nop
|
||||
/* 08F61C 7F05AAEC 45020019 */ bc1fl .L7F05AB54
|
||||
/* 08F620 7F05AAF0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 08F624 7F05AAF4 C428370C */ lwc1 $f8, %lo(D_8005370C)($at)
|
||||
/* 08F628 7F05AAF8 10000015 */ b .L7F05AB50
|
||||
/* 08F62C 7F05AAFC 46004081 */ sub.s $f2, $f8, $f0
|
||||
/* 08F630 7F05AB00 4602A303 */ div.s $f12, $f20, $f2
|
||||
.L7F05AB04:
|
||||
/* 08F634 7F05AB04 0FC16B2C */ jal sub_GAME_7F05ACB0
|
||||
/* 08F638 7F05AB08 E7AE0024 */ swc1 $f14, 0x24($sp)
|
||||
/* 08F63C 7F05AB0C C7AE0024 */ lwc1 $f14, 0x24($sp)
|
||||
/* 08F640 7F05AB10 44808000 */ mtc1 $zero, $f16
|
||||
/* 08F644 7F05AB14 3C018005 */ lui $at, %hi(D_80053710) # $at, 0x8005
|
||||
/* 08F648 7F05AB18 C42A3710 */ lwc1 $f10, %lo(D_80053710)($at)
|
||||
/* 08F64C 7F05AB1C 4610703C */ c.lt.s $f14, $f16
|
||||
/* 08F650 7F05AB20 3C018005 */ lui $at, %hi(D_80053714) # $at, 0x8005
|
||||
/* 08F654 7F05AB24 46005301 */ sub.s $f12, $f10, $f0
|
||||
/* 08F658 7F05AB28 45000003 */ bc1f .L7F05AB38
|
||||
/* 08F65C 7F05AB2C 46006086 */ mov.s $f2, $f12
|
||||
/* 08F660 7F05AB30 C4323714 */ lwc1 $f18, %lo(D_80053714)($at)
|
||||
/* 08F664 7F05AB34 460C9081 */ sub.s $f2, $f18, $f12
|
||||
.L7F05AB38:
|
||||
/* 08F668 7F05AB38 4610103C */ c.lt.s $f2, $f16
|
||||
/* 08F66C 7F05AB3C 3C018005 */ lui $at, %hi(D_80053718) # $at, 0x8005
|
||||
/* 08F670 7F05AB40 45020004 */ bc1fl .L7F05AB54
|
||||
/* 08F674 7F05AB44 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 08F678 7F05AB48 C4243718 */ lwc1 $f4, %lo(D_80053718)($at)
|
||||
/* 08F67C 7F05AB4C 46041080 */ add.s $f2, $f2, $f4
|
||||
.L7F05AB50:
|
||||
/* 08F680 7F05AB50 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L7F05AB54:
|
||||
/* 08F684 7F05AB54 D7B40010 */ ldc1 $f20, 0x10($sp)
|
||||
/* 08F688 7F05AB58 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 08F68C 7F05AB5C 03E00008 */ jr $ra
|
||||
/* 08F690 7F05AB60 46001006 */ mov.s $f0, $f2
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
e2f1dc3f05ead83466610bdde3bba7508ed14a26
|
||||
@@ -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) # $at, 0x8003
|
||||
/* 035B5C 7F00102C AC200978 */ sw $zero, %lo(objectiveregisters1)($at)
|
||||
/* 035B60 7F001030 3C018003 */ lui $at, %hi(ai_accuracy_modifier) # $at, 0x8003
|
||||
/* 035B64 7F001034 E420CE40 */ swc1 $f0, %lo(ai_accuracy_modifier)($at)
|
||||
/* 035B68 7F001038 3C018003 */ lui $at, %hi(ai_damage_modifier) # $at, 0x8003
|
||||
/* 035B6C 7F00103C E420CE44 */ swc1 $f0, %lo(ai_damage_modifier)($at)
|
||||
/* 035B70 7F001040 3C018003 */ lui $at, %hi(ai_health_modifier) # $at, 0x8003
|
||||
/* 035B74 7F001044 E420CE48 */ swc1 $f0, %lo(ai_health_modifier)($at)
|
||||
/* 035B78 7F001048 3C018003 */ lui $at, %hi(ai_reaction_speed) # $at, 0x8003
|
||||
/* 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) # $t5, 0x8007
|
||||
/* 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) # $v0, 0x8003
|
||||
/* 035B9C 7F00106C 3C068003 */ lui $a2, %hi(objectiveregisters2) # $a2, 0x8003
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 035C2C 7F0010FC AFA70200 */ sw $a3, 0x200($sp)
|
||||
/* 035C30 7F001100 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl) # $t5, 0x8007
|
||||
/* 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) # $a2, 0x8003
|
||||
/* 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) # $t0, 0x8003
|
||||
/* 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) # $t6, 0x8007
|
||||
/* 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) # $t7, 0x8007
|
||||
/* 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) # $t7, 0x8003
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
e5f981ba97a39d33e2968fd759114ec4ea480320
|
||||
@@ -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) # $at, 0x8003
|
||||
/* 0C4948 7F08FE18 AC246B78 */ sw $a0, %lo(ptr_textptrs)($at)
|
||||
/* 0C494C 7F08FE1C 3C018003 */ lui $at, %hi(ptr_positions) # $at, 0x8003
|
||||
/* 0C4950 7F08FE20 AC256B7C */ sw $a1, %lo(ptr_positions)($at)
|
||||
/* 0C4954 7F08FE24 3C018003 */ lui $at, %hi(ptr_groupings) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $v0, 0x8003
|
||||
/* 0C49AC 7F08FE7C 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0)
|
||||
/* 0C49B0 7F08FE80 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff) # $t6, 0x8003
|
||||
/* 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) # $s6, 0x8003
|
||||
/* 0C4A08 7F08FED8 3C148003 */ lui $s4, %hi(ptr_positions) # $s4, 0x8003
|
||||
/* 0C4A0C 7F08FEDC 3C138003 */ lui $s3, %hi(highlighted_debug_option) # $s3, 0x8003
|
||||
/* 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) # $t6, 0x8003
|
||||
/* 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) # $v0, 0x8003
|
||||
/* 0C4B48 7F090018 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0)
|
||||
/* 0C4B4C 7F09001C 3C158003 */ lui $s5, %hi(ptr_last_debuggrp_cutoff) # $s5, 0x8003
|
||||
/* 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) # $s7, 0x8003
|
||||
/* 0C4BAC 7F09007C 3C168003 */ lui $s6, %hi(highlighted_debug_option) # $s6, 0x8003
|
||||
/* 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) # $t4, 0x8003
|
||||
/* 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) # $a0, 0x8005
|
||||
/* 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) # $a2, 0x8003
|
||||
/* 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) # $t8, 0x8003
|
||||
/* 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) # $a1, 0x8003
|
||||
/* 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) # $a3, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 0C4DF4 7F0902C4 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1)
|
||||
/* 0C4DF8 7F0902C8 3C088003 */ lui $t0, %hi(highlighted_debug_option) # $t0, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 0C4ED0 7F0903A0 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1)
|
||||
/* 0C4ED4 7F0903A4 3C078003 */ lui $a3, %hi(highlighted_debug_option) # $a3, 0x8003
|
||||
/* 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) # $a1, 0x8003
|
||||
/* 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
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
20352373ff1c98b603a0ebcdaa25d152c9bb9d9a
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
6adecd0f5901eabe2c438e3c3fc7d50b4d1ba87b
|
||||
@@ -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_linemode_flag(void);
|
||||
void set_linemode_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
|
||||
@@ -1 +0,0 @@
|
||||
1cd5bf9a797b0ab6c6f9d2b97c870e69632a6318
|
||||
@@ -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) # $a3, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $t6, 0x8006
|
||||
/* 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) # $t8, 0x8006
|
||||
/* 103354 7F0CE824 3C198006 */ lui $t9, %hi(rz_header_bytes+0x8) # $t9, 0x8006
|
||||
/* 103358 7F0CE828 144E0005 */ bne $v0, $t6, .L7F0CE840
|
||||
/* 10335C 7F0CE82C 3C0A8006 */ lui $t2, %hi(rz_header_bytes+0x18) # $t2, 0x8006
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $v0, 0x8009
|
||||
/* 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) # $t6, 0x8009
|
||||
/* 1033C8 7F0CE898 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D358) # $t7, 0x8009
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
26a7a7513f30da705bc44aaf60d7e8a8016cac5a
|
||||
+583
@@ -0,0 +1,583 @@
|
||||
#include "ultra64.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 something_with_dyn_c_debug(void) {
|
||||
get_ptr_debug_notice_list_entry(&D_800482E0, "dyn_c_debug");
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_vtx_gfx_mem_alloc(void) {
|
||||
s32 sp18;
|
||||
? temp_ret;
|
||||
|
||||
// Node 0
|
||||
if (check_token(1, "-mgfx") != 0)
|
||||
{
|
||||
// Node 1
|
||||
sp18 = get_num_players();
|
||||
(0x80050000 + (sp18 * 4))->unk-7D20 = (s32) (strtol(check_token(1, "-mgfx"), 0, 0) << 0xa);
|
||||
}
|
||||
// Node 2
|
||||
if (check_token(1, "-mvtx") != 0)
|
||||
{
|
||||
// Node 3
|
||||
sp18 = get_num_players();
|
||||
(0x80050000 + (sp18 * 4))->unk-7D10 = (s32) (strtol(check_token(1, "-mvtx"), 0, 0) << 0xa);
|
||||
}
|
||||
// Node 4
|
||||
ptr_mgfx0_alloc_start = allocate_bytes_in_bank(((0x80050000 + (get_num_players() * 4))->unk-7D20 * 2), 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 = allocate_bytes_in_bank(((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) # $a1, 0x8006
|
||||
/* 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) # $a1, 0x8006
|
||||
/* 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) # $a1, 0x8006
|
||||
/* 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) # $a1, 0x8006
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 0F20A0 7F0BD570 01602025 */ move $a0, $t3
|
||||
/* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start) # $at, 0x8009
|
||||
/* 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) # $v1, 0x8009
|
||||
/* 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) # $v1, 0x8009
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 0F211C 7F0BD5EC 01602025 */ move $a0, $t3
|
||||
/* 0F2120 7F0BD5F0 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start) # $v1, 0x8009
|
||||
/* 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) # $v1, 0x8009
|
||||
/* 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) # $v1, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $t7, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $t6, 0x8009
|
||||
/* 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) # $a2, 0x8009
|
||||
/* 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) # $a1, 0x8009
|
||||
/* 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) # $a2, 0x8009
|
||||
/* 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) # $a2, 0x8009
|
||||
/* 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) # $v0, 0x8009
|
||||
/* 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) # $at, 0x8009
|
||||
/* 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) # $t6, 0x8009
|
||||
/* 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) # $t6, 0x8009
|
||||
/* 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) # $t9, 0x8009
|
||||
/* 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) # $v0, 0x8009
|
||||
/* 0F2344 7F0BD814 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F2348 7F0BD818 3C088009 */ lui $t0, %hi(ptr_mgfx0_alloc_start) # $t0, 0x8009
|
||||
/* 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) # $a0, 0x8005
|
||||
/* 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) # $v0, 0x8009
|
||||
/* 0F23B0 7F0BD880 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F23B4 7F0BD884 3C078009 */ lui $a3, %hi(ptr_mvtx0_alloc_start) # $a3, 0x8009
|
||||
/* 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) # $t8, 0x8009
|
||||
/* 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) # $a0, 0x8005
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
6927cd8c469f696575c8c216e06afe46f8075bc1
|
||||
+3205
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
6c3db136c53e32e05f6aa007cdc19ea2cd745b9c
|
||||
@@ -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) # $at, 0x8007
|
||||
/* 039B78 7F005048 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DB8) # $v0, 0x8007
|
||||
/* 039B7C 7F00504C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075DC8) # $v1, 0x8007
|
||||
/* 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) # $t6, 0x8003
|
||||
/* 039BAC 7F00507C 8DCE246C */ lw $t6, %lo(ejected_cartridge)($t6)
|
||||
/* 039BB0 7F005080 3C018003 */ lui $at, %hi(cartridges_eject) # $at, 0x8003
|
||||
/* 039BB4 7F005084 AC204C9C */ sw $zero, %lo(cartridges_eject)($at)
|
||||
/* 039BB8 7F005088 3C018003 */ lui $at, %hi(D_80034CA0) # $at, 0x8003
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
d75bd4cb963ef7cef19cb44f69cf922af1d06d74
|
||||
+1284
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
f74f6618d4fa18b1fdfc68bac30ee813f2564ac7
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
64040877e43de138f515caad8c84e5e7ba3211c6
|
||||
+9538
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
74a4de8ba7fb7a7995355357e6c92144e49ea213
|
||||
@@ -0,0 +1,598 @@
|
||||
#include "ultra64.h"
|
||||
#include "ramrom.h"
|
||||
|
||||
// bss
|
||||
//8008D0A0
|
||||
s32 dword_CODE_bss_8008D0A0;
|
||||
//8008D0A4
|
||||
s32 dword_CODE_bss_8008D0A4;
|
||||
//8008D0A8
|
||||
s32 dword_CODE_bss_8008D0A8;
|
||||
//8008D0AC
|
||||
s32 dword_CODE_bss_8008D0AC;
|
||||
//8008D0B0;
|
||||
s32 globalbank_rdram_offset;
|
||||
//8008D0B4;
|
||||
s32 *ptr_explosionDL;
|
||||
//8008D0B8;
|
||||
s32 *image;
|
||||
//8008D0BC
|
||||
s32 dword_CODE_bss_8008D0BC;
|
||||
//8008D0C0
|
||||
s32 dword_CODE_bss_8008D0C0;
|
||||
//8008D0C4
|
||||
s32 dword_CODE_bss_8008D0C4;
|
||||
//8008D0C8
|
||||
s32 dword_CODE_bss_8008D0C8;
|
||||
//8008D0CC
|
||||
s32 dword_CODE_bss_8008D0CC;
|
||||
//8008D0D0
|
||||
s32 dword_CODE_bss_8008D0D0;
|
||||
//8008D0D4
|
||||
s32 dword_CODE_bss_8008D0D4;
|
||||
//8008D0D8
|
||||
s32 dword_CODE_bss_8008D0D8;
|
||||
//8008D0DC
|
||||
s32 dword_CODE_bss_8008D0DC;
|
||||
//8008D0E0
|
||||
s32 dword_CODE_bss_8008D0E0;
|
||||
//8008D0E4
|
||||
s32 dword_CODE_bss_8008D0E4;
|
||||
//8008D0E8
|
||||
s32 dword_CODE_bss_8008D0E8;
|
||||
//8008D0EC
|
||||
s32 dword_CODE_bss_8008D0EC;
|
||||
//8008D0F0
|
||||
s32 dword_CODE_bss_8008D0F0;
|
||||
//8008D0F4
|
||||
s32 dword_CODE_bss_8008D0F4;
|
||||
//8008D0F8
|
||||
s32 dword_CODE_bss_8008D0F8;
|
||||
//8008D0FC
|
||||
s32 dword_CODE_bss_8008D0FC;
|
||||
//8008D100
|
||||
s32 dword_CODE_bss_8008D100;
|
||||
//8008D104
|
||||
s32 dword_CODE_bss_8008D104;
|
||||
//8008D108
|
||||
s32 dword_CODE_bss_8008D108;
|
||||
//8008D10C
|
||||
s32 dword_CODE_bss_8008D10C;
|
||||
//8008D110
|
||||
s32 dword_CODE_bss_8008D110;
|
||||
//8008D114;
|
||||
s32 *imgcall;
|
||||
//8008D118
|
||||
s32 dword_CODE_bss_8008D118;
|
||||
//8008D11C
|
||||
s32 dword_CODE_bss_8008D11C;
|
||||
//8008D120
|
||||
s32 dword_CODE_bss_8008D120;
|
||||
//8008D124
|
||||
s32 dword_CODE_bss_8008D124;
|
||||
//8008D128
|
||||
s32 dword_CODE_bss_8008D128;
|
||||
//8008D12C
|
||||
s32 dword_CODE_bss_8008D12C;
|
||||
//8008D130
|
||||
s32 dword_CODE_bss_8008D130;
|
||||
//8008D134
|
||||
s32 dword_CODE_bss_8008D134;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void sub_GAME_7F0CBF10(s32 arg0) {
|
||||
dword_CODE_bss_8008D0A0 = arg0;
|
||||
dword_CODE_bss_8008D0A4 = 0;
|
||||
dword_CODE_bss_8008D0A8 = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0CBF2C(s32 arg0) {
|
||||
s32 temp_t1;
|
||||
s32 temp_t2;
|
||||
s32 phi_v1;
|
||||
s32 phi_v1_2;
|
||||
|
||||
// Node 0
|
||||
phi_v1_2 = dword_CODE_bss_8008D0A8;
|
||||
if (dword_CODE_bss_8008D0A8 < arg0)
|
||||
{
|
||||
// Node 1
|
||||
phi_v1 = dword_CODE_bss_8008D0A8;
|
||||
loop_2:
|
||||
// Node 2
|
||||
temp_t1 = (phi_v1 + 8);
|
||||
dword_CODE_bss_8008D0A4 = (u32) (*dword_CODE_bss_8008D0A0 | (dword_CODE_bss_8008D0A4 << 8));
|
||||
dword_CODE_bss_8008D0A0 = (void *) (dword_CODE_bss_8008D0A0 + 1);
|
||||
dword_CODE_bss_8008D0A8 = temp_t1;
|
||||
phi_v1 = temp_t1;
|
||||
phi_v1_2 = temp_t1;
|
||||
if (temp_t1 < arg0)
|
||||
{
|
||||
goto loop_2;
|
||||
}
|
||||
}
|
||||
// Node 3
|
||||
temp_t2 = (phi_v1_2 - arg0);
|
||||
dword_CODE_bss_8008D0A8 = temp_t2;
|
||||
return (((u32) dword_CODE_bss_8008D0A4 >> temp_t2) & ((1 << arg0) + -1));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0CBF2C
|
||||
/* 100A5C 7F0CBF2C 3C058009 */ lui $a1, %hi(dword_CODE_bss_8008D0A8) # $a1, 0x8009
|
||||
/* 100A60 7F0CBF30 24A5D0A8 */ addiu $a1, %lo(dword_CODE_bss_8008D0A8) # addiu $a1, $a1, -0x2f58
|
||||
/* 100A64 7F0CBF34 8CA30000 */ lw $v1, ($a1)
|
||||
/* 100A68 7F0CBF38 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008D0A0) # $a3, 0x8009
|
||||
/* 100A6C 7F0CBF3C 24E7D0A0 */ addiu $a3, %lo(dword_CODE_bss_8008D0A0) # addiu $a3, $a3, -0x2f60
|
||||
/* 100A70 7F0CBF40 0064082A */ slt $at, $v1, $a0
|
||||
/* 100A74 7F0CBF44 1020000F */ beqz $at, .L7F0CBF84
|
||||
/* 100A78 7F0CBF48 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D0A4) # $a2, 0x8009
|
||||
/* 100A7C 7F0CBF4C 24C6D0A4 */ addiu $a2, %lo(dword_CODE_bss_8008D0A4) # 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(dword_CODE_bss_8008D0A4) # $a2, 0x8009
|
||||
/* 100AB8 7F0CBF88 24C6D0A4 */ addiu $a2, %lo(dword_CODE_bss_8008D0A4) # 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 temp_s0;
|
||||
? temp_ret;
|
||||
s32 temp_a0;
|
||||
s32 temp_v0;
|
||||
s32 temp_s0_2;
|
||||
s32 temp_s0_3;
|
||||
s32 phi_s0;
|
||||
s32 phi_s0_2;
|
||||
|
||||
// Node 0
|
||||
temp_s0 = (0x2001400 - 0x2000000);
|
||||
temp_ret = allocate_bytes_in_bank((temp_s0 + 0x1000), 4);
|
||||
ptr_explosionDL = temp_ret;
|
||||
temp_a0 = ((temp_ret + 0xfff) & -0x1000);
|
||||
ptr_explosionDL = temp_a0;
|
||||
romCopy(temp_a0, &_GlobalimagetableSegmentRomStart, temp_s0);
|
||||
temp_v0 = (ptr_explosionDL + 0xfe000000);
|
||||
globalbank_rdram_offset = temp_v0;
|
||||
image = (s32) (temp_v0 + 0x2000ac8);
|
||||
dword_CODE_bss_8008D0BC = (s32) (temp_v0 + 0x2000ad4);
|
||||
dword_CODE_bss_8008D0C0 = (s32) (temp_v0 + 0x2000bc4);
|
||||
dword_CODE_bss_8008D0C4 = (s32) (temp_v0 + 0x2000c0c);
|
||||
dword_CODE_bss_8008D0C8 = (s32) (temp_v0 + 0x2000c48);
|
||||
dword_CODE_bss_8008D0CC = (s32) (temp_v0 + 0x2000c54);
|
||||
dword_CODE_bss_8008D0D0 = (s32) (temp_v0 + 0x2000c60);
|
||||
dword_CODE_bss_8008D0D4 = (s32) (temp_v0 + 0x2000c6c);
|
||||
dword_CODE_bss_8008D0D8 = (s32) (temp_v0 + 0x2000c78);
|
||||
dword_CODE_bss_8008D0DC = (s32) (temp_v0 + 0x2000c84);
|
||||
dword_CODE_bss_8008D0E0 = (s32) (temp_v0 + 0x2000c90);
|
||||
dword_CODE_bss_8008D0E4 = (s32) (temp_v0 + 0x2000c9c);
|
||||
dword_CODE_bss_8008D0E8 = (s32) (temp_v0 + 0x2000ca8);
|
||||
dword_CODE_bss_8008D0EC = (s32) (temp_v0 + 0x2000cb4);
|
||||
dword_CODE_bss_8008D0F0 = (s32) (temp_v0 + 0x2000cc0);
|
||||
dword_CODE_bss_8008D0F4 = (s32) (temp_v0 + 0x2000ccc);
|
||||
dword_CODE_bss_8008D0F8 = (s32) (temp_v0 + 0x2000cd8);
|
||||
dword_CODE_bss_8008D0FC = (s32) (temp_v0 + 0x2000ce4);
|
||||
dword_CODE_bss_8008D100 = (s32) (temp_v0 + 0x2000cf0);
|
||||
dword_CODE_bss_8008D104 = (s32) (temp_v0 + 0x2000cfc);
|
||||
dword_CODE_bss_8008D108 = (s32) (temp_v0 + 0x2000d08);
|
||||
dword_CODE_bss_8008D10C = (s32) (temp_v0 + 0x2000d14);
|
||||
dword_CODE_bss_8008D110 = (s32) (temp_v0 + 0x2000d20);
|
||||
imgcall = (s32) (temp_v0 + 0x2000d2c);
|
||||
dword_CODE_bss_8008D118 = (s32) (temp_v0 + 0x2000d38);
|
||||
dword_CODE_bss_8008D11C = (s32) (temp_v0 + 0x2000d44);
|
||||
dword_CODE_bss_8008D120 = (s32) (temp_v0 + 0x2000d5c);
|
||||
dword_CODE_bss_8008D124 = (s32) (temp_v0 + 0x2000fb4);
|
||||
dword_CODE_bss_8008D128 = (s32) (temp_v0 + 0x2000fd8);
|
||||
dword_CODE_bss_8008D12C = (s32) (temp_v0 + 0x2001020);
|
||||
dword_CODE_bss_8008D130 = (s32) (temp_v0 + 0x200102c);
|
||||
dword_CODE_bss_8008D134 = (s32) (temp_v0 + 0x200132c);
|
||||
sub_GAME_7F0CBB74((temp_v0 + 0x2000000), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000078), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000120), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x20001c8), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000270), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000318), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x20003c0), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000468), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000510), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x20005b8), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000660), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000708), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x20007b0), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000858), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000900), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x20009a8), 0);
|
||||
sub_GAME_7F0CBB74((globalbank_rdram_offset + 0x2000a50), 0);
|
||||
load_image_to_buffer(image, 0);
|
||||
phi_s0 = 0;
|
||||
loop_1:
|
||||
// Node 1
|
||||
load_image_to_buffer((phi_s0 + dword_CODE_bss_8008D0C0), 0);
|
||||
temp_s0_2 = (phi_s0 + 0xc);
|
||||
phi_s0 = temp_s0_2;
|
||||
if (temp_s0_2 < 0x48)
|
||||
{
|
||||
goto loop_1;
|
||||
}
|
||||
// Node 2
|
||||
phi_s0_2 = 0;
|
||||
loop_3:
|
||||
// Node 3
|
||||
temp_s0_3 = (phi_s0_2 + 0xc);
|
||||
phi_s0_2 = temp_s0_3;
|
||||
if (temp_s0_3 != 0x3c)
|
||||
{
|
||||
goto loop_3;
|
||||
}
|
||||
// Node 4
|
||||
return load_image_to_buffer((phi_s0_2 + dword_CODE_bss_8008D0C4), 0);
|
||||
}
|
||||
#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 allocate_bytes_in_bank
|
||||
/* 100B14 7F0CBFE4 24050004 */ li $a1, 4
|
||||
/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(ptr_explosionDL) # $s1, 0x8009
|
||||
/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(ptr_explosionDL) # 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) # $s0, 0x8009
|
||||
/* 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(image) # $at, 0x8009
|
||||
/* 100B6C 7F0CC03C 3C0D0200 */ lui $t5, %hi(0x02000AD4) # $t5, 0x200
|
||||
/* 100B70 7F0CC040 AC2CD0B8 */ sw $t4, %lo(image)($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(dword_CODE_bss_8008D0BC) # $at, 0x8009
|
||||
/* 100B80 7F0CC050 AC2ED0BC */ sw $t6, %lo(dword_CODE_bss_8008D0BC)($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(dword_CODE_bss_8008D0C0) # $s2, 0x8009
|
||||
/* 100B90 7F0CC060 3C138009 */ lui $s3, %hi(dword_CODE_bss_8008D0C4) # $s3, 0x8009
|
||||
/* 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(dword_CODE_bss_8008D0C4) # addiu $s3, $s3, -0x2f3c
|
||||
/* 100BA4 7F0CC074 2652D0C0 */ addiu $s2, %lo(dword_CODE_bss_8008D0C0) # 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(dword_CODE_bss_8008D0C8) # $at, 0x8009
|
||||
/* 100BC4 7F0CC094 3C0B0200 */ lui $t3, %hi(0x02000C54) # $t3, 0x200
|
||||
/* 100BC8 7F0CC098 AC2AD0C8 */ sw $t2, %lo(dword_CODE_bss_8008D0C8)($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(dword_CODE_bss_8008D0CC) # $at, 0x8009
|
||||
/* 100BD8 7F0CC0A8 3C0D0200 */ lui $t5, %hi(0x02000C60) # $t5, 0x200
|
||||
/* 100BDC 7F0CC0AC AC2CD0CC */ sw $t4, %lo(dword_CODE_bss_8008D0CC)($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(dword_CODE_bss_8008D0D0) # $at, 0x8009
|
||||
/* 100BEC 7F0CC0BC 3C0F0200 */ lui $t7, %hi(0x02000C6C) # $t7, 0x200
|
||||
/* 100BF0 7F0CC0C0 AC2ED0D0 */ sw $t6, %lo(dword_CODE_bss_8008D0D0)($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(dword_CODE_bss_8008D0D4) # $at, 0x8009
|
||||
/* 100C00 7F0CC0D0 3C190200 */ lui $t9, %hi(0x02000C78) # $t9, 0x200
|
||||
/* 100C04 7F0CC0D4 AC38D0D4 */ sw $t8, %lo(dword_CODE_bss_8008D0D4)($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(dword_CODE_bss_8008D0D8) # $at, 0x8009
|
||||
/* 100C14 7F0CC0E4 3C090200 */ lui $t1, %hi(0x02000C84) # $t1, 0x200
|
||||
/* 100C18 7F0CC0E8 AC28D0D8 */ sw $t0, %lo(dword_CODE_bss_8008D0D8)($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(dword_CODE_bss_8008D0DC) # $at, 0x8009
|
||||
/* 100C28 7F0CC0F8 3C0B0200 */ lui $t3, %hi(0x02000C90) # $t3, 0x200
|
||||
/* 100C2C 7F0CC0FC AC2AD0DC */ sw $t2, %lo(dword_CODE_bss_8008D0DC)($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(dword_CODE_bss_8008D0E0) # $at, 0x8009
|
||||
/* 100C3C 7F0CC10C 3C0D0200 */ lui $t5, %hi(0x02000C9C) # $t5, 0x200
|
||||
/* 100C40 7F0CC110 AC2CD0E0 */ sw $t4, %lo(dword_CODE_bss_8008D0E0)($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(dword_CODE_bss_8008D0E4) # $at, 0x8009
|
||||
/* 100C50 7F0CC120 3C0F0200 */ lui $t7, %hi(0x02000CA8) # $t7, 0x200
|
||||
/* 100C54 7F0CC124 AC2ED0E4 */ sw $t6, %lo(dword_CODE_bss_8008D0E4)($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(dword_CODE_bss_8008D0E8) # $at, 0x8009
|
||||
/* 100C64 7F0CC134 3C190200 */ lui $t9, %hi(0x02000CB4) # $t9, 0x200
|
||||
/* 100C68 7F0CC138 AC38D0E8 */ sw $t8, %lo(dword_CODE_bss_8008D0E8)($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(dword_CODE_bss_8008D0EC) # $at, 0x8009
|
||||
/* 100C78 7F0CC148 3C090200 */ lui $t1, %hi(0x02000CC0) # $t1, 0x200
|
||||
/* 100C7C 7F0CC14C AC28D0EC */ sw $t0, %lo(dword_CODE_bss_8008D0EC)($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(dword_CODE_bss_8008D0F0) # $at, 0x8009
|
||||
/* 100C8C 7F0CC15C 3C0B0200 */ lui $t3, %hi(0x02000CCC) # $t3, 0x200
|
||||
/* 100C90 7F0CC160 AC2AD0F0 */ sw $t2, %lo(dword_CODE_bss_8008D0F0)($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(dword_CODE_bss_8008D0F4) # $at, 0x8009
|
||||
/* 100CA0 7F0CC170 3C0D0200 */ lui $t5, %hi(0x02000CD8) # $t5, 0x200
|
||||
/* 100CA4 7F0CC174 AC2CD0F4 */ sw $t4, %lo(dword_CODE_bss_8008D0F4)($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(dword_CODE_bss_8008D0F8) # $at, 0x8009
|
||||
/* 100CB4 7F0CC184 3C0F0200 */ lui $t7, %hi(0x02000CE4) # $t7, 0x200
|
||||
/* 100CB8 7F0CC188 AC2ED0F8 */ sw $t6, %lo(dword_CODE_bss_8008D0F8)($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(dword_CODE_bss_8008D0FC) # $at, 0x8009
|
||||
/* 100CC8 7F0CC198 3C190200 */ lui $t9, %hi(0x02000CF0) # $t9, 0x200
|
||||
/* 100CCC 7F0CC19C AC38D0FC */ sw $t8, %lo(dword_CODE_bss_8008D0FC)($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(dword_CODE_bss_8008D100) # $at, 0x8009
|
||||
/* 100CDC 7F0CC1AC 3C090200 */ lui $t1, %hi(0x02000CFC) # $t1, 0x200
|
||||
/* 100CE0 7F0CC1B0 AC28D100 */ sw $t0, %lo(dword_CODE_bss_8008D100)($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(dword_CODE_bss_8008D104) # $at, 0x8009
|
||||
/* 100CF0 7F0CC1C0 3C0B0200 */ lui $t3, %hi(0x02000D08) # $t3, 0x200
|
||||
/* 100CF4 7F0CC1C4 AC2AD104 */ sw $t2, %lo(dword_CODE_bss_8008D104)($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(dword_CODE_bss_8008D108) # $at, 0x8009
|
||||
/* 100D04 7F0CC1D4 3C0D0200 */ lui $t5, %hi(0x02000D14) # $t5, 0x200
|
||||
/* 100D08 7F0CC1D8 AC2CD108 */ sw $t4, %lo(dword_CODE_bss_8008D108)($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(dword_CODE_bss_8008D10C) # $at, 0x8009
|
||||
/* 100D18 7F0CC1E8 3C0F0200 */ lui $t7, %hi(0x02000D20) # $t7, 0x200
|
||||
/* 100D1C 7F0CC1EC AC2ED10C */ sw $t6, %lo(dword_CODE_bss_8008D10C)($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(dword_CODE_bss_8008D110) # $at, 0x8009
|
||||
/* 100D2C 7F0CC1FC 3C190200 */ lui $t9, %hi(0x02000D2C) # $t9, 0x200
|
||||
/* 100D30 7F0CC200 AC38D110 */ sw $t8, %lo(dword_CODE_bss_8008D110)($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(imgcall) # $at, 0x8009
|
||||
/* 100D40 7F0CC210 3C090200 */ lui $t1, %hi(0x02000D38) # $t1, 0x200
|
||||
/* 100D44 7F0CC214 AC28D114 */ sw $t0, %lo(imgcall)($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(dword_CODE_bss_8008D118) # $at, 0x8009
|
||||
/* 100D54 7F0CC224 3C0B0200 */ lui $t3, %hi(0x02000D44) # $t3, 0x200
|
||||
/* 100D58 7F0CC228 AC2AD118 */ sw $t2, %lo(dword_CODE_bss_8008D118)($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(dword_CODE_bss_8008D11C) # $at, 0x8009
|
||||
/* 100D68 7F0CC238 3C0D0200 */ lui $t5, %hi(0x02000D5C) # $t5, 0x200
|
||||
/* 100D6C 7F0CC23C AC2CD11C */ sw $t4, %lo(dword_CODE_bss_8008D11C)($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(dword_CODE_bss_8008D120) # $at, 0x8009
|
||||
/* 100D7C 7F0CC24C 3C0F0200 */ lui $t7, %hi(0x02000FB4) # $t7, 0x200
|
||||
/* 100D80 7F0CC250 AC2ED120 */ sw $t6, %lo(dword_CODE_bss_8008D120)($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(dword_CODE_bss_8008D124) # $at, 0x8009
|
||||
/* 100D90 7F0CC260 3C190200 */ lui $t9, %hi(0x02000FD8) # $t9, 0x200
|
||||
/* 100D94 7F0CC264 AC38D124 */ sw $t8, %lo(dword_CODE_bss_8008D124)($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(dword_CODE_bss_8008D128) # $at, 0x8009
|
||||
/* 100DA4 7F0CC274 3C090200 */ lui $t1, %hi(0x02001020) # $t1, 0x200
|
||||
/* 100DA8 7F0CC278 AC28D128 */ sw $t0, %lo(dword_CODE_bss_8008D128)($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(dword_CODE_bss_8008D12C) # $at, 0x8009
|
||||
/* 100DB8 7F0CC288 3C0B0200 */ lui $t3, %hi(0x0200102C) # $t3, 0x200
|
||||
/* 100DBC 7F0CC28C AC2AD12C */ sw $t2, %lo(dword_CODE_bss_8008D12C)($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(dword_CODE_bss_8008D130) # $at, 0x8009
|
||||
/* 100DCC 7F0CC29C 3C0D0200 */ lui $t5, %hi(0x0200132C) # $t5, 0x200
|
||||
/* 100DD0 7F0CC2A0 AC2CD130 */ sw $t4, %lo(dword_CODE_bss_8008D130)($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(dword_CODE_bss_8008D134) # $at, 0x8009
|
||||
/* 100DE4 7F0CC2B4 25EF0000 */ addiu $t7, $t7, 0
|
||||
/* 100DE8 7F0CC2B8 AC2ED134 */ sw $t6, %lo(dword_CODE_bss_8008D134)($at)
|
||||
/* 100DEC 7F0CC2BC 004F2021 */ addu $a0, $v0, $t7
|
||||
/* 100DF0 7F0CC2C0 0FC32EDD */ jal sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 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 sub_GAME_7F0CBB74
|
||||
/* 100F74 7F0CC444 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100F78 7F0CC448 3C048009 */ lui $a0, %hi(image) # $a0, 0x8009
|
||||
/* 100F7C 7F0CC44C 8C84D0B8 */ lw $a0, %lo(image)($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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
66f40c2b663195dab4bc77f4c0144ae806d92117
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
7e8a0395d21542740e243b85ddb44109c89ae665
|
||||
@@ -0,0 +1,276 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/indy_0D0180.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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_resource_on_indy(s32 arg1) {
|
||||
? sp18;
|
||||
? sp1C;
|
||||
? sp20;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
{
|
||||
// Node 1
|
||||
sub_GAME_7F0D0BA4(0x400000);
|
||||
sub_GAME_7F0D17FC(&sp20, &sp1C, &sp18, arg1);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel load_resource_on_indy
|
||||
/* 104ACC 7F0CFF9C 3C0E8005 */ lui $t6, %hi(indy_ready) # $t6, 0x8005
|
||||
/* 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 sub_GAME_7F0D0BA4
|
||||
/* 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 sub_GAME_7F0D17FC
|
||||
/* 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_indy__res_cmd_send_capture_data(arg2, arg1);
|
||||
sub_GAME_7F0D1864(&sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_send_capture_data
|
||||
/* 104B10 7F0CFFE0 3C0E8005 */ lui $t6, %hi(indy_ready) # $t6, 0x8005
|
||||
/* 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_indy__res_cmd_send_capture_data
|
||||
/* 104B30 7F0D0000 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104B34 7F0D0004 0FC34619 */ jal sub_GAME_7F0D1864
|
||||
/* 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_indy__res_cmd_request_ramrom_file();
|
||||
sub_GAME_7F0D18AC(&sp24, &sp20, &sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_loadfile
|
||||
/* 104B4C 7F0D001C 3C0E8005 */ lui $t6, %hi(indy_ready) # $t6, 0x8005
|
||||
/* 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_indy__res_cmd_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 sub_GAME_7F0D18AC
|
||||
/* 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
|
||||
sub_GAME_7F0D0DD0(arg2, arg1);
|
||||
sub_GAME_7F0D1908(&sp1C);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_file_exported
|
||||
/* 104B8C 7F0D005C 3C0E8005 */ lui $t6, %hi(indy_ready) # $t6, 0x8005
|
||||
/* 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 sub_GAME_7F0D0DD0
|
||||
/* 104BAC 7F0D007C 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104BB0 7F0D0080 0FC34642 */ jal sub_GAME_7F0D1908
|
||||
/* 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) # $t6, 0x8005
|
||||
/* 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 sub_GAME_7F0D0B0C
|
||||
/* 104BEC 7F0D00BC 00000000 */ nop
|
||||
/* 104BF0 7F0D00C0 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
/* 104BF4 7F0D00C4 0FC345EB */ jal sub_GAME_7F0D17AC
|
||||
/* 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) # $t6, 0x8005
|
||||
/* 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 sub_GAME_7F0D0E74
|
||||
/* 104C34 7F0D0104 00000000 */ nop
|
||||
/* 104C38 7F0D0108 0FC34654 */ jal sub_GAME_7F0D1950
|
||||
/* 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");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
cd27a408f60f358b83ad4b5b1e810e77a70665eb
|
||||
@@ -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) # $t7, 0x8003
|
||||
/* 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_right_item_buffer) # $a0, 0x8003
|
||||
/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_right_item_buffer)($a0)
|
||||
/* 039C48 7F005118 0C0025C8 */ jal allocate_bytes_in_bank
|
||||
/* 039C4C 7F00511C 24050004 */ li $a1, 4
|
||||
/* 039C50 7F005120 3C108008 */ lui $s0, %hi(ptr_BONDdata) # $s0, 0x8008
|
||||
/* 039C54 7F005124 2610A0B0 */ addiu $s0, %lo(ptr_BONDdata) # 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_left_item_buffer) # $a0, 0x8003
|
||||
/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_left_item_buffer)($a0)
|
||||
/* 039C74 7F005144 0C0025C8 */ jal allocate_bytes_in_bank
|
||||
/* 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(cur_player_stat_ptr) # $v1, 0x8008
|
||||
/* 039CD8 7F0051A8 ADE02A50 */ sw $zero, 0x2a50($t7)
|
||||
/* 039CDC 7F0051AC 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # 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) # $at, 0x8005
|
||||
/* 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) # $at, 0x8005
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
4ec30f16cd078552289c420a2cf9c678eb74af03
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
5602d67245dfcd16cbf69e84ea0d2d973183e1a4
|
||||
@@ -0,0 +1,367 @@
|
||||
#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) # $s4, 0x8004
|
||||
/* 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
|
||||
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) # $s2, 0x8004
|
||||
/* 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(ptr_BONDdata) # $s1, 0x8008
|
||||
/* 03AF00 7F0063D0 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # 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) # $at, 0x8005
|
||||
/* 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) # $at, 0x8005
|
||||
/* 03AF40 7F006410 C422F1F4 */ lwc1 $f2, %lo(D_8004F1F4)($at)
|
||||
/* 03AF44 7F006414 ADE004E8 */ sw $zero, 0x4e8($t7)
|
||||
/* 03AF48 7F006418 3C018005 */ lui $at, %hi(D_8004F1F8) # $at, 0x8005
|
||||
/* 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) # $s0, 0x8003
|
||||
/* 03AF68 7F006438 3C148007 */ lui $s4, %hi(ptr_animation_table) # $s4, 0x8007
|
||||
/* 03AF6C 7F00643C AF2004F0 */ sw $zero, 0x4f0($t9)
|
||||
/* 03AF70 7F006440 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AF74 7F006444 3C138003 */ lui $s3, %hi(D_80036B00) # $s3, 0x8003
|
||||
/* 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) # $t9, 0x8003
|
||||
/* 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 init_0x40_bytes_data_at_address_last_word_1_0
|
||||
/* 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) # $s2, 0x8003
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
c5a9c9a2537c5ebb4d4a82a9bab6c3c6117a364a
|
||||
@@ -0,0 +1,718 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/initactorpropstuff.h"
|
||||
#include "game/actor.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) # $a0, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $v1, 0x8003
|
||||
/* 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) # $s4, 0x8004
|
||||
/* 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) # $s4, 0x8004
|
||||
/* 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) # $at, 0x8005
|
||||
/* 034E98 7F000368 C438ED70 */ lwc1 $f24, %lo(F32_8004ED70)($at)
|
||||
/* 034E9C 7F00036C 3C018005 */ lui $at, %hi(F32_8004ED74) # $at, 0x8005
|
||||
/* 034EA0 7F000370 3C128007 */ lui $s2, %hi(ptr_animation_table) # $s2, 0x8007
|
||||
/* 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) # $a0, 0x8007
|
||||
/* 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) # $t6, 0x8003
|
||||
/* 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) # $s0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $s2, 0x8007
|
||||
/* 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) # $at, 0x8005
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
cd80d943cda6ea912ab554588bd094fd9ace09a2
|
||||
@@ -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) # $a2, 0x8007
|
||||
/* 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 = allocate_bytes_in_bank(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) # $a0, 0x8007
|
||||
/* 0355E8 7F000AB8 3C058007 */ lui $a1, %hi(animMesg) # $a1, 0x8007
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 035600 7F000AD0 3C058007 */ lui $a1, %hi(animMsgQ) # $a1, 0x8007
|
||||
/* 035604 7F000AD4 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069458) # $a2, 0x8007
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 035638 7F000B08 24050006 */ li $a1, 6
|
||||
/* 03563C 7F000B0C 3C038007 */ lui $v1, %hi(ptr_animation_table) # $v1, 0x8007
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
41cc19570225e46f84e9061d67b702d966cf47d1
|
||||
@@ -0,0 +1,869 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
// data
|
||||
//D:8002A780
|
||||
u32 D_8002A780 = 0;
|
||||
//D:8002A784
|
||||
u32 D_8002A784 = 0;
|
||||
//D:8002A788
|
||||
u32 D_8002A788 = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_weapon_model_generated_thrown_object(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
.text
|
||||
glabel set_weapon_model_generated_thrown_object
|
||||
/* 03A240 7F005710 248EFFFD */ addiu $t6, $a0, -3
|
||||
/* 03A244 7F005714 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03A248 7F005718 2DC1002E */ sltiu $at, $t6, 0x2e
|
||||
/* 03A24C 7F00571C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03A250 7F005720 1020001E */ beqz $at, .L7F00579C
|
||||
/* 03A254 7F005724 2405FFFF */ li $a1, -1
|
||||
/* 03A258 7F005728 000E7080 */ sll $t6, $t6, 2
|
||||
/* 03A25C 7F00572C 3C018005 */ lui $at, %hi(projectile_ptr_table)
|
||||
/* 03A260 7F005730 002E0821 */ addu $at, $at, $t6
|
||||
/* 03A264 7F005734 8C2EF0F0 */ lw $t6, %lo(projectile_ptr_table)($at)
|
||||
/* 03A268 7F005738 01C00008 */ jr $t6
|
||||
/* 03A26C 7F00573C 00000000 */ nop
|
||||
throwingknife:
|
||||
/* 03A270 7F005740 10000016 */ b .L7F00579C
|
||||
/* 03A274 7F005744 240500BA */ li $a1, 186
|
||||
grenade_launch_round:
|
||||
/* 03A278 7F005748 10000014 */ b .L7F00579C
|
||||
/* 03A27C 7F00574C 240500CB */ li $a1, 203
|
||||
rocket:
|
||||
/* 03A280 7F005750 10000012 */ b .L7F00579C
|
||||
/* 03A284 7F005754 240500CA */ li $a1, 202
|
||||
grenade:
|
||||
/* 03A288 7F005758 10000010 */ b .L7F00579C
|
||||
/* 03A28C 7F00575C 240500C4 */ li $a1, 196
|
||||
timed_mine:
|
||||
/* 03A290 7F005760 1000000E */ b .L7F00579C
|
||||
/* 03A294 7F005764 240500C9 */ li $a1, 201
|
||||
prox_mine:
|
||||
/* 03A298 7F005768 1000000C */ b .L7F00579C
|
||||
/* 03A29C 7F00576C 240500C8 */ li $a1, 200
|
||||
remote_mine:
|
||||
/* 03A2A0 7F005770 1000000A */ b .L7F00579C
|
||||
/* 03A2A4 7F005774 240500C7 */ li $a1, 199
|
||||
rocket_0:
|
||||
/* 03A2A8 7F005778 10000008 */ b .L7F00579C
|
||||
/* 03A2AC 7F00577C 240500CA */ li $a1, 202
|
||||
bombcase:
|
||||
/* 03A2B0 7F005780 10000006 */ b .L7F00579C
|
||||
/* 03A2B4 7F005784 240500E2 */ li $a1, 226
|
||||
plastique:
|
||||
/* 03A2B8 7F005788 10000004 */ b .L7F00579C
|
||||
/* 03A2BC 7F00578C 24050111 */ li $a1, 273
|
||||
bug:
|
||||
/* 03A2C0 7F005790 10000002 */ b .L7F00579C
|
||||
/* 03A2C4 7F005794 240500F5 */ li $a1, 245
|
||||
microcamera:
|
||||
/* 03A2C8 7F005798 240500F6 */ li $a1, 246
|
||||
default:
|
||||
.L7F00579C:
|
||||
/* 03A2CC 7F00579C 04A00005 */ bltz $a1, .L7F0057B4
|
||||
/* 03A2D0 7F0057A0 00001025 */ move $v0, $zero
|
||||
/* 03A2D4 7F0057A4 0FC15B0E */ jal load_model
|
||||
/* 03A2D8 7F0057A8 00A02025 */ move $a0, $a1
|
||||
/* 03A2DC 7F0057AC 10000002 */ b .L7F0057B8
|
||||
/* 03A2E0 7F0057B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F0057B4:
|
||||
/* 03A2E4 7F0057B4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F0057B8:
|
||||
/* 03A2E8 7F0057B8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03A2EC 7F0057BC 03E00008 */ jr $ra
|
||||
/* 03A2F0 7F0057C0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_camera_intro_type_values(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel projectile_ptr_table
|
||||
.word throwingknife
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word grenade_launch_round
|
||||
.word rocket
|
||||
.word grenade
|
||||
.word timed_mine
|
||||
.word prox_mine
|
||||
.word remote_mine
|
||||
.word default
|
||||
.word default
|
||||
.word rocket_0
|
||||
.word bombcase
|
||||
.word plastique
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word default
|
||||
.word bug
|
||||
.word microcamera
|
||||
|
||||
|
||||
/*8004f1a8*/
|
||||
glabel default_zoom_speed
|
||||
.word 0x3f68ba2e
|
||||
|
||||
glabel jpt_8004F1AC
|
||||
.word spawn_point
|
||||
.word weapon
|
||||
.word ammo
|
||||
.word swirling_intro_cam
|
||||
.word intro_ani
|
||||
.word cuff_char
|
||||
.word fixed_cam
|
||||
.word watch_time
|
||||
.word credits
|
||||
|
||||
glabel D_8004F1D0
|
||||
.word 0xb8d1b717
|
||||
glabel D_8004F1D4
|
||||
.word 0x40c90fdb
|
||||
glabel D_8004F1D8
|
||||
.word 0x40c90fdb
|
||||
glabel D_8004F1DC
|
||||
.word 0x3e2e147c
|
||||
glabel D_8004F1E0
|
||||
.word 0x3dccccd0
|
||||
.text
|
||||
glabel load_camera_intro_type_values
|
||||
/* 03A2F4 7F0057C4 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* 03A2F8 7F0057C8 3C0F8003 */ lui $t7, %hi(D_8002A780) # $t7, 0x8003
|
||||
/* 03A2FC 7F0057CC AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 03A300 7F0057D0 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 03A304 7F0057D4 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 03A308 7F0057D8 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 03A30C 7F0057DC F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* 03A310 7F0057E0 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* 03A314 7F0057E4 25EFA780 */ addiu $t7, %lo(D_8002A780) # addiu $t7, $t7, -0x5880
|
||||
/* 03A318 7F0057E8 8DE10000 */ lw $at, ($t7)
|
||||
/* 03A31C 7F0057EC 27AE008C */ addiu $t6, $sp, 0x8c
|
||||
/* 03A320 7F0057F0 8DE80004 */ lw $t0, 4($t7)
|
||||
/* 03A324 7F0057F4 ADC10000 */ sw $at, ($t6)
|
||||
/* 03A328 7F0057F8 8DE10008 */ lw $at, 8($t7)
|
||||
/* 03A32C 7F0057FC ADC80004 */ sw $t0, 4($t6)
|
||||
/* 03A330 7F005800 3C118003 */ lui $s1, %hi(resolution) # $s1, 0x8003
|
||||
/* 03A334 7F005804 ADC10008 */ sw $at, 8($t6)
|
||||
/* 03A338 7F005808 3C018003 */ lui $at, %hi(mission_kia_flag) # $at, 0x8003
|
||||
/* 03A33C 7F00580C AC20A928 */ sw $zero, %lo(mission_kia_flag)($at)
|
||||
/* 03A340 7F005810 3C018003 */ lui $at, %hi(camera_80036424) # $at, 0x8003
|
||||
/* 03A344 7F005814 3C108007 */ lui $s0, %hi(ptr_setup_intro) # $s0, 0x8007
|
||||
/* 03A348 7F005818 AC206424 */ sw $zero, %lo(camera_80036424)($at)
|
||||
/* 03A34C 7F00581C 26316428 */ addiu $s1, %lo(resolution) # addiu $s1, $s1, 0x6428
|
||||
/* 03A350 7F005820 8E105D08 */ lw $s0, %lo(ptr_setup_intro)($s0)
|
||||
/* 03A354 7F005824 AE200000 */ sw $zero, ($s1)
|
||||
/* 03A358 7F005828 3C018003 */ lui $at, %hi(camera_8003642C) # $at, 0x8003
|
||||
/* 03A35C 7F00582C 3C128003 */ lui $s2, %hi(camera_80036430) # $s2, 0x8003
|
||||
/* 03A360 7F005830 AC20642C */ sw $zero, %lo(camera_8003642C)($at)
|
||||
/* 03A364 7F005834 44802000 */ mtc1 $zero, $f4
|
||||
/* 03A368 7F005838 26526430 */ addiu $s2, %lo(camera_80036430) # addiu $s2, $s2, 0x6430
|
||||
/* 03A36C 7F00583C AE400000 */ sw $zero, ($s2)
|
||||
/* 03A370 7F005840 3C018003 */ lui $at, %hi(camera_80036434) # $at, 0x8003
|
||||
/* 03A374 7F005844 AFA0007C */ sw $zero, 0x7c($sp)
|
||||
/* 03A378 7F005848 AC206434 */ sw $zero, %lo(camera_80036434)($at)
|
||||
/* 03A37C 7F00584C 0C001A57 */ jal get_stage_num
|
||||
/* 03A380 7F005850 E7A40088 */ swc1 $f4, 0x88($sp)
|
||||
/* 03A384 7F005854 24010036 */ li $at, 54
|
||||
/* 03A388 7F005858 1441000B */ bne $v0, $at, .L7F005888
|
||||
/* 03A38C 7F00585C 3C040004 */ lui $a0, (0x00046EA0 >> 16) # lui $a0, 4
|
||||
/* 03A390 7F005860 34846EA0 */ ori $a0, (0x00046EA0 & 0xFFFF) # ori $a0, $a0, 0x6ea0
|
||||
/* 03A394 7F005864 0C0025C8 */ jal allocate_bytes_in_bank
|
||||
/* 03A398 7F005868 24050004 */ li $a1, 4
|
||||
/* 03A39C 7F00586C 244A003F */ addiu $t2, $v0, 0x3f
|
||||
/* 03A3A0 7F005870 2401FFC0 */ li $at, -64
|
||||
/* 03A3A4 7F005874 AE220000 */ sw $v0, ($s1)
|
||||
/* 03A3A8 7F005878 01415824 */ and $t3, $t2, $at
|
||||
/* 03A3AC 7F00587C 240C0001 */ li $t4, 1
|
||||
/* 03A3B0 7F005880 AE2B0000 */ sw $t3, ($s1)
|
||||
/* 03A3B4 7F005884 AE4C0000 */ sw $t4, ($s2)
|
||||
.L7F005888:
|
||||
/* 03A3B8 7F005888 3C018003 */ lui $at, %hi(camera_80036438) # $at, 0x8003
|
||||
/* 03A3BC 7F00588C AC206438 */ sw $zero, %lo(camera_80036438)($at)
|
||||
/* 03A3C0 7F005890 3C018003 */ lui $at, %hi(D_8003643C) # $at, 0x8003
|
||||
/* 03A3C4 7F005894 AC20643C */ sw $zero, %lo(D_8003643C)($at)
|
||||
/* 03A3C8 7F005898 3C018003 */ lui $at, %hi(D_80036440) # $at, 0x8003
|
||||
/* 03A3CC 7F00589C 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) # $v0, 0x8008
|
||||
/* 03A3D0 7F0058A0 AC206440 */ sw $zero, %lo(D_80036440)($at)
|
||||
/* 03A3D4 7F0058A4 44803000 */ mtc1 $zero, $f6
|
||||
/* 03A3D8 7F0058A8 44804000 */ mtc1 $zero, $f8
|
||||
/* 03A3DC 7F0058AC 44805000 */ mtc1 $zero, $f10
|
||||
/* 03A3E0 7F0058B0 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670
|
||||
/* 03A3E4 7F0058B4 3C018003 */ lui $at, %hi(D_80036444) # $at, 0x8003
|
||||
/* 03A3E8 7F0058B8 E4460000 */ swc1 $f6, ($v0)
|
||||
/* 03A3EC 7F0058BC E4480004 */ swc1 $f8, 4($v0)
|
||||
/* 03A3F0 7F0058C0 E44A0008 */ swc1 $f10, 8($v0)
|
||||
/* 03A3F4 7F0058C4 AC206444 */ sw $zero, %lo(D_80036444)($at)
|
||||
/* 03A3F8 7F0058C8 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) # $at, 0x8008
|
||||
/* 03A3FC 7F0058CC AC209C68 */ sw $zero, %lo(dword_CODE_bss_80079C68)($at)
|
||||
/* 03A400 7F0058D0 3C018003 */ lui $at, %hi(in_tank_flag) # $at, 0x8003
|
||||
/* 03A404 7F0058D4 AC206448 */ sw $zero, %lo(in_tank_flag)($at)
|
||||
/* 03A408 7F0058D8 3C018003 */ lui $at, %hi(D_8003644C) # $at, 0x8003
|
||||
/* 03A40C 7F0058DC AC20644C */ sw $zero, %lo(D_8003644C)($at)
|
||||
/* 03A410 7F0058E0 44808000 */ mtc1 $zero, $f16
|
||||
/* 03A414 7F0058E4 3C018003 */ lui $at, %hi(D_80036450) # $at, 0x8003
|
||||
/* 03A418 7F0058E8 AC206450 */ sw $zero, %lo(D_80036450)($at)
|
||||
/* 03A41C 7F0058EC 3C018003 */ lui $at, %hi(D_80036454) # $at, 0x8003
|
||||
/* 03A420 7F0058F0 3C038003 */ lui $v1, %hi(SFX_80036458) # $v1, 0x8003
|
||||
/* 03A424 7F0058F4 E4306454 */ swc1 $f16, %lo(D_80036454)($at)
|
||||
/* 03A428 7F0058F8 44809000 */ mtc1 $zero, $f18
|
||||
/* 03A42C 7F0058FC 24636458 */ addiu $v1, %lo(SFX_80036458) # addiu $v1, $v1, 0x6458
|
||||
/* 03A430 7F005900 44802000 */ mtc1 $zero, $f4
|
||||
/* 03A434 7F005904 AC600000 */ sw $zero, ($v1)
|
||||
/* 03A438 7F005908 AC600004 */ sw $zero, 4($v1)
|
||||
/* 03A43C 7F00590C 3C018003 */ lui $at, %hi(D_80036460) # $at, 0x8003
|
||||
/* 03A440 7F005910 E4326460 */ swc1 $f18, %lo(D_80036460)($at)
|
||||
/* 03A444 7F005914 44803000 */ mtc1 $zero, $f6
|
||||
/* 03A448 7F005918 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003
|
||||
/* 03A44C 7F00591C E4246464 */ swc1 $f4, %lo(D_80036464)($at)
|
||||
/* 03A450 7F005920 44804000 */ mtc1 $zero, $f8
|
||||
/* 03A454 7F005924 3C018003 */ lui $at, %hi(D_80036468) # $at, 0x8003
|
||||
/* 03A458 7F005928 E4266468 */ swc1 $f6, %lo(D_80036468)($at)
|
||||
/* 03A45C 7F00592C 44805000 */ mtc1 $zero, $f10
|
||||
/* 03A460 7F005930 3C018003 */ lui $at, %hi(D_8003646C) # $at, 0x8003
|
||||
/* 03A464 7F005934 E428646C */ swc1 $f8, %lo(D_8003646C)($at)
|
||||
/* 03A468 7F005938 44808000 */ mtc1 $zero, $f16
|
||||
/* 03A46C 7F00593C 3C018003 */ lui $at, %hi(D_80036470) # $at, 0x8003
|
||||
/* 03A470 7F005940 E42A6470 */ swc1 $f10, %lo(D_80036470)($at)
|
||||
/* 03A474 7F005944 44809000 */ mtc1 $zero, $f18
|
||||
/* 03A478 7F005948 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003
|
||||
/* 03A47C 7F00594C E4306474 */ swc1 $f16, %lo(D_80036474)($at)
|
||||
/* 03A480 7F005950 44802000 */ mtc1 $zero, $f4
|
||||
/* 03A484 7F005954 3C018003 */ lui $at, %hi(D_80036478) # $at, 0x8003
|
||||
/* 03A488 7F005958 E4326478 */ swc1 $f18, %lo(D_80036478)($at)
|
||||
/* 03A48C 7F00595C 3C018003 */ lui $at, %hi(D_8003647C) # $at, 0x8003
|
||||
/* 03A490 7F005960 E424647C */ swc1 $f4, %lo(D_8003647C)($at)
|
||||
/* 03A494 7F005964 44803000 */ mtc1 $zero, $f6
|
||||
/* 03A498 7F005968 3C018003 */ lui $at, %hi(D_80036480) # $at, 0x8003
|
||||
/* 03A49C 7F00596C AC206480 */ sw $zero, %lo(D_80036480)($at)
|
||||
/* 03A4A0 7F005970 44804000 */ mtc1 $zero, $f8
|
||||
/* 03A4A4 7F005974 3C018003 */ lui $at, %hi(D_80036484) # $at, 0x8003
|
||||
/* 03A4A8 7F005978 E4266484 */ swc1 $f6, %lo(D_80036484)($at)
|
||||
/* 03A4AC 7F00597C 3C018003 */ lui $at, %hi(D_80036488) # $at, 0x8003
|
||||
/* 03A4B0 7F005980 E4286488 */ swc1 $f8, %lo(D_80036488)($at)
|
||||
/* 03A4B4 7F005984 3C018003 */ lui $at, %hi(D_8003648C) # $at, 0x8003
|
||||
/* 03A4B8 7F005988 AC20648C */ sw $zero, %lo(D_8003648C)($at)
|
||||
/* 03A4BC 7F00598C 3C018003 */ lui $at, %hi(D_800364B0) # $at, 0x8003
|
||||
/* 03A4C0 7F005990 240D0001 */ li $t5, 1
|
||||
/* 03A4C4 7F005994 AC2D64B0 */ sw $t5, %lo(D_800364B0)($at)
|
||||
/* 03A4C8 7F005998 3C018003 */ lui $at, %hi(disable_player_pickups_flag) # $at, 0x8003
|
||||
/* 03A4CC 7F00599C AC2064B4 */ sw $zero, %lo(disable_player_pickups_flag)($at)
|
||||
/* 03A4D0 7F0059A0 3C018003 */ lui $at, %hi(cameramode) # $at, 0x8003
|
||||
/* 03A4D4 7F0059A4 AC206494 */ sw $zero, %lo(cameramode)($at)
|
||||
/* 03A4D8 7F0059A8 3C018003 */ lui $at, %hi(D_80036498) # $at, 0x8003
|
||||
/* 03A4DC 7F0059AC AC206498 */ sw $zero, %lo(D_80036498)($at)
|
||||
/* 03A4E0 7F0059B0 3C018003 */ lui $at, %hi(D_8003649C) # $at, 0x8003
|
||||
/* 03A4E4 7F0059B4 AC20649C */ sw $zero, %lo(D_8003649C)($at)
|
||||
/* 03A4E8 7F0059B8 44805000 */ mtc1 $zero, $f10
|
||||
/* 03A4EC 7F0059BC 3C018003 */ lui $at, %hi(stop_time_flag) # $at, 0x8003
|
||||
/* 03A4F0 7F0059C0 AC2064A0 */ sw $zero, %lo(stop_time_flag)($at)
|
||||
/* 03A4F4 7F0059C4 3C018003 */ lui $at, %hi(D_800364A4) # $at, 0x8003
|
||||
/* 03A4F8 7F0059C8 E42A64A4 */ swc1 $f10, %lo(D_800364A4)($at)
|
||||
/* 03A4FC 7F0059CC 3C018003 */ lui $at, %hi(D_800364A8) # $at, 0x8003
|
||||
/* 03A500 7F0059D0 24190001 */ li $t9, 1
|
||||
/* 03A504 7F0059D4 AC3964A8 */ sw $t9, %lo(D_800364A8)($at)
|
||||
/* 03A508 7F0059D8 3C018003 */ lui $at, %hi(D_800364AC) # $at, 0x8003
|
||||
/* 03A50C 7F0059DC AC2064AC */ sw $zero, %lo(D_800364AC)($at)
|
||||
/* 03A510 7F0059E0 3C018003 */ lui $at, %hi(D_800364C0) # $at, 0x8003
|
||||
/* 03A514 7F0059E4 AC2064C0 */ sw $zero, %lo(D_800364C0)($at)
|
||||
/* 03A518 7F0059E8 3C018003 */ lui $at, %hi(D_800364B8) # $at, 0x8003
|
||||
/* 03A51C 7F0059EC AC2064B8 */ sw $zero, %lo(D_800364B8)($at)
|
||||
/* 03A520 7F0059F0 3C018003 */ lui $at, %hi(D_800364BC) # $at, 0x8003
|
||||
/* 03A524 7F0059F4 AC2064BC */ sw $zero, %lo(D_800364BC)($at)
|
||||
/* 03A528 7F0059F8 3C018008 */ lui $at, %hi(mission_timer) # $at, 0x8008
|
||||
/* 03A52C 7F0059FC 3C118008 */ lui $s1, %hi(watch_time_0) # $s1, 0x8008
|
||||
/* 03A530 7F005A00 AC209A20 */ sw $zero, %lo(mission_timer)($at)
|
||||
/* 03A534 7F005A04 26319A24 */ addiu $s1, %lo(watch_time_0) # addiu $s1, $s1, -0x65dc
|
||||
/* 03A538 7F005A08 AE200000 */ sw $zero, ($s1)
|
||||
/* 03A53C 7F005A0C 3C018003 */ lui $at, %hi(D_80036514) # $at, 0x8003
|
||||
/* 03A540 7F005A10 AC206514 */ sw $zero, %lo(D_80036514)($at)
|
||||
/* 03A544 7F005A14 3C018005 */ lui $at, %hi(default_zoom_speed) # $at, 0x8005
|
||||
/* 03A548 7F005A18 C430F1A8 */ lwc1 $f16, %lo(default_zoom_speed)($at)
|
||||
/* 03A54C 7F005A1C 3C018003 */ lui $at, %hi(watch_transition_time) # $at, 0x8003
|
||||
/* 03A550 7F005A20 E43065A8 */ swc1 $f16, %lo(watch_transition_time)($at)
|
||||
/* 03A554 7F005A24 3C018008 */ lui $at, %hi(starting_left_weapon) # $at, 0x8008
|
||||
/* 03A558 7F005A28 AC2099E4 */ sw $zero, %lo(starting_left_weapon)($at)
|
||||
/* 03A55C 7F005A2C 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008
|
||||
/* 03A560 7F005A30 120000F0 */ beqz $s0, .L7F005DF4
|
||||
/* 03A564 7F005A34 AC2099E0 */ sw $zero, %lo(starting_right_weapon)($at)
|
||||
/* 03A568 7F005A38 8E020000 */ lw $v0, ($s0)
|
||||
/* 03A56C 7F005A3C 24010009 */ li $at, 9
|
||||
/* 03A570 7F005A40 3C128008 */ lui $s2, %hi(ptr_BONDdata) # $s2, 0x8008
|
||||
/* 03A574 7F005A44 104100EB */ beq $v0, $at, .L7F005DF4
|
||||
/* 03A578 7F005A48 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
||||
/* 03A57C 7F005A4C 4481B000 */ mtc1 $at, $f22
|
||||
/* 03A580 7F005A50 3C014780 */ li $at, 0x47800000 # 65536.000000
|
||||
/* 03A584 7F005A54 4481A000 */ mtc1 $at, $f20
|
||||
/* 03A588 7F005A58 2652A0B0 */ addiu $s2, %lo(ptr_BONDdata) # addiu $s2, $s2, -0x5f50
|
||||
/* 03A58C 7F005A5C 2C410009 */ sltiu $at, $v0, 9
|
||||
.L7F005A60:
|
||||
/* 03A590 7F005A60 102000DF */ beqz $at, .L7F005DE0
|
||||
/* 03A594 7F005A64 0002C080 */ sll $t8, $v0, 2
|
||||
/* 03A598 7F005A68 3C018005 */ lui $at, %hi(jpt_8004F1AC)
|
||||
/* 03A59C 7F005A6C 00380821 */ addu $at, $at, $t8
|
||||
/* 03A5A0 7F005A70 8C38F1AC */ lw $t8, %lo(jpt_8004F1AC)($at)
|
||||
/* 03A5A4 7F005A74 03000008 */ jr $t8
|
||||
/* 03A5A8 7F005A78 00000000 */ nop
|
||||
spawn_point:
|
||||
/* 03A5AC 7F005A7C 3C0E8007 */ lui $t6, %hi(ptr_0xxxpresets) # $t6, 0x8007
|
||||
/* 03A5B0 7F005A80 8DCE5D18 */ lw $t6, %lo(ptr_0xxxpresets)($t6)
|
||||
/* 03A5B4 7F005A84 11C00018 */ beqz $t6, .L7F005AE8
|
||||
/* 03A5B8 7F005A88 00000000 */ nop
|
||||
/* 03A5BC 7F005A8C 0FC30288 */ jal check_ramrom_flags
|
||||
/* 03A5C0 7F005A90 00000000 */ nop
|
||||
/* 03A5C4 7F005A94 8E0F0008 */ lw $t7, 8($s0)
|
||||
/* 03A5C8 7F005A98 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) # $t2, 0x8007
|
||||
/* 03A5CC 7F005A9C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C28)
|
||||
/* 03A5D0 7F005AA0 144F0011 */ bne $v0, $t7, .L7F005AE8
|
||||
/* 03A5D4 7F005AA4 00000000 */ nop
|
||||
/* 03A5D8 7F005AA8 8E080004 */ lw $t0, 4($s0)
|
||||
/* 03A5DC 7F005AAC 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079C68) # $v0, 0x8008
|
||||
/* 03A5E0 7F005AB0 8C429C68 */ lw $v0, %lo(dword_CODE_bss_80079C68)($v0)
|
||||
/* 03A5E4 7F005AB4 00084880 */ sll $t1, $t0, 2
|
||||
/* 03A5E8 7F005AB8 01284823 */ subu $t1, $t1, $t0
|
||||
/* 03A5EC 7F005ABC 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2)
|
||||
/* 03A5F0 7F005AC0 00094880 */ sll $t1, $t1, 2
|
||||
/* 03A5F4 7F005AC4 01284823 */ subu $t1, $t1, $t0
|
||||
/* 03A5F8 7F005AC8 00094880 */ sll $t1, $t1, 2
|
||||
/* 03A5FC 7F005ACC 00026080 */ sll $t4, $v0, 2
|
||||
/* 03A600 7F005AD0 002C0821 */ addu $at, $at, $t4
|
||||
/* 03A604 7F005AD4 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 03A608 7F005AD8 AC2B9C28 */ sw $t3, %lo(dword_CODE_bss_80079C28)($at)
|
||||
/* 03A60C 7F005ADC 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) # $at, 0x8008
|
||||
/* 03A610 7F005AE0 244D0001 */ addiu $t5, $v0, 1
|
||||
/* 03A614 7F005AE4 AC2D9C68 */ sw $t5, %lo(dword_CODE_bss_80079C68)($at)
|
||||
.L7F005AE8:
|
||||
/* 03A618 7F005AE8 100000BE */ b .L7F005DE4
|
||||
/* 03A61C 7F005AEC 2610000C */ addiu $s0, $s0, 0xc
|
||||
weapon:
|
||||
/* 03A620 7F005AF0 0FC30288 */ jal check_ramrom_flags
|
||||
/* 03A624 7F005AF4 00000000 */ nop
|
||||
/* 03A628 7F005AF8 8E19000C */ lw $t9, 0xc($s0)
|
||||
/* 03A62C 7F005AFC 1459001C */ bne $v0, $t9, .L7F005B70
|
||||
/* 03A630 7F005B00 00000000 */ nop
|
||||
/* 03A634 7F005B04 0FC015C4 */ jal set_weapon_model_generated_thrown_object
|
||||
/* 03A638 7F005B08 8E040004 */ lw $a0, 4($s0)
|
||||
/* 03A63C 7F005B0C 8E040008 */ lw $a0, 8($s0)
|
||||
/* 03A640 7F005B10 04800008 */ bltz $a0, .L7F005B34
|
||||
/* 03A644 7F005B14 00000000 */ nop
|
||||
/* 03A648 7F005B18 0FC015C4 */ jal set_weapon_model_generated_thrown_object
|
||||
/* 03A64C 7F005B1C 00000000 */ nop
|
||||
/* 03A650 7F005B20 8E040004 */ lw $a0, 4($s0)
|
||||
/* 03A654 7F005B24 0FC23143 */ jal add_doubles_item_to_inventory
|
||||
/* 03A658 7F005B28 8E050008 */ lw $a1, 8($s0)
|
||||
/* 03A65C 7F005B2C 10000004 */ b .L7F005B40
|
||||
/* 03A660 7F005B30 8FB8007C */ lw $t8, 0x7c($sp)
|
||||
.L7F005B34:
|
||||
/* 03A664 7F005B34 0FC23122 */ jal add_item_to_inventory
|
||||
/* 03A668 7F005B38 8E040004 */ lw $a0, 4($s0)
|
||||
/* 03A66C 7F005B3C 8FB8007C */ lw $t8, 0x7c($sp)
|
||||
.L7F005B40:
|
||||
/* 03A670 7F005B40 1700000B */ bnez $t8, .L7F005B70
|
||||
/* 03A674 7F005B44 00000000 */ nop
|
||||
/* 03A678 7F005B48 8E0E0004 */ lw $t6, 4($s0)
|
||||
/* 03A67C 7F005B4C 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008
|
||||
/* 03A680 7F005B50 240F0001 */ li $t7, 1
|
||||
/* 03A684 7F005B54 AC2E99E0 */ sw $t6, %lo(starting_right_weapon)($at)
|
||||
/* 03A688 7F005B58 8E040008 */ lw $a0, 8($s0)
|
||||
/* 03A68C 7F005B5C AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* 03A690 7F005B60 3C018008 */ lui $at, %hi(starting_left_weapon) # $at, 0x8008
|
||||
/* 03A694 7F005B64 04800002 */ bltz $a0, .L7F005B70
|
||||
/* 03A698 7F005B68 00000000 */ nop
|
||||
/* 03A69C 7F005B6C AC2499E4 */ sw $a0, %lo(starting_left_weapon)($at)
|
||||
.L7F005B70:
|
||||
/* 03A6A0 7F005B70 1000009C */ b .L7F005DE4
|
||||
/* 03A6A4 7F005B74 26100010 */ addiu $s0, $s0, 0x10
|
||||
ammo:
|
||||
/* 03A6A8 7F005B78 0FC30288 */ jal check_ramrom_flags
|
||||
/* 03A6AC 7F005B7C 00000000 */ nop
|
||||
/* 03A6B0 7F005B80 8E08000C */ lw $t0, 0xc($s0)
|
||||
/* 03A6B4 7F005B84 14480004 */ bne $v0, $t0, .L7F005B98
|
||||
/* 03A6B8 7F005B88 00000000 */ nop
|
||||
/* 03A6BC 7F005B8C 8E040004 */ lw $a0, 4($s0)
|
||||
/* 03A6C0 7F005B90 0FC1A44C */ jal give_cur_player_ammo
|
||||
/* 03A6C4 7F005B94 8E050008 */ lw $a1, 8($s0)
|
||||
.L7F005B98:
|
||||
/* 03A6C8 7F005B98 10000092 */ b .L7F005DE4
|
||||
/* 03A6CC 7F005B9C 26100010 */ addiu $s0, $s0, 0x10
|
||||
swirling_intro_cam:
|
||||
/* 03A6D0 7F005BA0 3C098003 */ lui $t1, %hi(D_800364AC) # $t1, 0x8003
|
||||
/* 03A6D4 7F005BA4 8D2964AC */ lw $t1, %lo(D_800364AC)($t1)
|
||||
/* 03A6D8 7F005BA8 02001025 */ move $v0, $s0
|
||||
/* 03A6DC 7F005BAC 3C018003 */ lui $at, %hi(D_800364AC) # $at, 0x8003
|
||||
/* 03A6E0 7F005BB0 55200003 */ bnezl $t1, .L7F005BC0
|
||||
/* 03A6E4 7F005BB4 8C4A0008 */ lw $t2, 8($v0)
|
||||
/* 03A6E8 7F005BB8 AC3064AC */ sw $s0, %lo(D_800364AC)($at)
|
||||
/* 03A6EC 7F005BBC 8C4A0008 */ lw $t2, 8($v0)
|
||||
.L7F005BC0:
|
||||
/* 03A6F0 7F005BC0 8C4B000C */ lw $t3, 0xc($v0)
|
||||
/* 03A6F4 7F005BC4 8C4C0010 */ lw $t4, 0x10($v0)
|
||||
/* 03A6F8 7F005BC8 448A9000 */ mtc1 $t2, $f18
|
||||
/* 03A6FC 7F005BCC 448B4000 */ mtc1 $t3, $f8
|
||||
/* 03A700 7F005BD0 8C4D0014 */ lw $t5, 0x14($v0)
|
||||
/* 03A704 7F005BD4 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 03A708 7F005BD8 448C9000 */ mtc1 $t4, $f18
|
||||
/* 03A70C 7F005BDC 8C590018 */ lw $t9, 0x18($v0)
|
||||
/* 03A710 7F005BE0 26100020 */ addiu $s0, $s0, 0x20
|
||||
/* 03A714 7F005BE4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03A718 7F005BE8 448D4000 */ mtc1 $t5, $f8
|
||||
/* 03A71C 7F005BEC 46142183 */ div.s $f6, $f4, $f20
|
||||
/* 03A720 7F005BF0 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 03A724 7F005BF4 44999000 */ mtc1 $t9, $f18
|
||||
/* 03A728 7F005BF8 46145403 */ div.s $f16, $f10, $f20
|
||||
/* 03A72C 7F005BFC E4460008 */ swc1 $f6, 8($v0)
|
||||
/* 03A730 7F005C00 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03A734 7F005C04 46142183 */ div.s $f6, $f4, $f20
|
||||
/* 03A738 7F005C08 E450000C */ swc1 $f16, 0xc($v0)
|
||||
/* 03A73C 7F005C0C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 03A740 7F005C10 46145403 */ div.s $f16, $f10, $f20
|
||||
/* 03A744 7F005C14 E4460010 */ swc1 $f6, 0x10($v0)
|
||||
/* 03A748 7F005C18 46142183 */ div.s $f6, $f4, $f20
|
||||
/* 03A74C 7F005C1C E4500014 */ swc1 $f16, 0x14($v0)
|
||||
/* 03A750 7F005C20 10000070 */ b .L7F005DE4
|
||||
/* 03A754 7F005C24 E4460018 */ swc1 $f6, 0x18($v0)
|
||||
intro_ani:
|
||||
/* 03A758 7F005C28 8E180004 */ lw $t8, 4($s0)
|
||||
/* 03A75C 7F005C2C 3C018003 */ lui $at, %hi(D_80036514) # $at, 0x8003
|
||||
/* 03A760 7F005C30 26100008 */ addiu $s0, $s0, 8
|
||||
/* 03A764 7F005C34 1000006B */ b .L7F005DE4
|
||||
/* 03A768 7F005C38 AC386514 */ sw $t8, %lo(D_80036514)($at)
|
||||
cuff_char:
|
||||
/* 03A76C 7F005C3C 8E0E0004 */ lw $t6, 4($s0)
|
||||
/* 03A770 7F005C40 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 03A774 7F005C44 26100008 */ addiu $s0, $s0, 8
|
||||
/* 03A778 7F005C48 10000066 */ b .L7F005DE4
|
||||
/* 03A77C 7F005C4C ADEE041C */ sw $t6, 0x41c($t7)
|
||||
fixed_cam:
|
||||
/* 03A780 7F005C50 0FC26C54 */ jal get_cur_playernum
|
||||
/* 03A784 7F005C54 00000000 */ nop
|
||||
/* 03A788 7F005C58 1440002C */ bnez $v0, .L7F005D0C
|
||||
/* 03A78C 7F005C5C 3C088003 */ lui $t0, %hi(D_800364B8) # $t0, 0x8003
|
||||
/* 03A790 7F005C60 8D0864B8 */ lw $t0, %lo(D_800364B8)($t0)
|
||||
/* 03A794 7F005C64 3C098003 */ lui $t1, %hi(D_800364BC) # $t1, 0x8003
|
||||
/* 03A798 7F005C68 3C018003 */ lui $at, %hi(D_800364B8) # $at, 0x8003
|
||||
/* 03A79C 7F005C6C AE080024 */ sw $t0, 0x24($s0)
|
||||
/* 03A7A0 7F005C70 8D2964BC */ lw $t1, %lo(D_800364BC)($t1)
|
||||
/* 03A7A4 7F005C74 AC3064B8 */ sw $s0, %lo(D_800364B8)($at)
|
||||
/* 03A7A8 7F005C78 3C018003 */ lui $at, %hi(D_800364BC) # $at, 0x8003
|
||||
/* 03A7AC 7F005C7C 252A0001 */ addiu $t2, $t1, 1
|
||||
/* 03A7B0 7F005C80 AC2A64BC */ sw $t2, %lo(D_800364BC)($at)
|
||||
/* 03A7B4 7F005C84 8E0B0004 */ lw $t3, 4($s0)
|
||||
/* 03A7B8 7F005C88 8E0C0008 */ lw $t4, 8($s0)
|
||||
/* 03A7BC 7F005C8C 8E0D000C */ lw $t5, 0xc($s0)
|
||||
/* 03A7C0 7F005C90 448B4000 */ mtc1 $t3, $f8
|
||||
/* 03A7C4 7F005C94 448C9000 */ mtc1 $t4, $f18
|
||||
/* 03A7C8 7F005C98 8E190010 */ lw $t9, 0x10($s0)
|
||||
/* 03A7CC 7F005C9C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03A7D0 7F005CA0 448D4000 */ mtc1 $t5, $f8
|
||||
/* 03A7D4 7F005CA4 8E180014 */ lw $t8, 0x14($s0)
|
||||
/* 03A7D8 7F005CA8 9604001E */ lhu $a0, 0x1e($s0)
|
||||
/* 03A7DC 7F005CAC 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 03A7E0 7F005CB0 44999000 */ mtc1 $t9, $f18
|
||||
/* 03A7E4 7F005CB4 46165403 */ div.s $f16, $f10, $f22
|
||||
/* 03A7E8 7F005CB8 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03A7EC 7F005CBC 44984000 */ mtc1 $t8, $f8
|
||||
/* 03A7F0 7F005CC0 46162183 */ div.s $f6, $f4, $f22
|
||||
/* 03A7F4 7F005CC4 E6100004 */ swc1 $f16, 4($s0)
|
||||
/* 03A7F8 7F005CC8 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 03A7FC 7F005CCC 46165403 */ div.s $f16, $f10, $f22
|
||||
/* 03A800 7F005CD0 E6060008 */ swc1 $f6, 8($s0)
|
||||
/* 03A804 7F005CD4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03A808 7F005CD8 46142183 */ div.s $f6, $f4, $f20
|
||||
/* 03A80C 7F005CDC E610000C */ swc1 $f16, 0xc($s0)
|
||||
/* 03A810 7F005CE0 46145403 */ div.s $f16, $f10, $f20
|
||||
/* 03A814 7F005CE4 E6060010 */ swc1 $f6, 0x10($s0)
|
||||
/* 03A818 7F005CE8 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 03A81C 7F005CEC E6100014 */ swc1 $f16, 0x14($s0)
|
||||
/* 03A820 7F005CF0 8E030020 */ lw $v1, 0x20($s0)
|
||||
/* 03A824 7F005CF4 AE02001C */ sw $v0, 0x1c($s0)
|
||||
/* 03A828 7F005CF8 10600004 */ beqz $v1, .L7F005D0C
|
||||
/* 03A82C 7F005CFC 00000000 */ nop
|
||||
/* 03A830 7F005D00 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 03A834 7F005D04 3064FFFF */ andi $a0, $v1, 0xffff
|
||||
/* 03A838 7F005D08 AE020020 */ sw $v0, 0x20($s0)
|
||||
.L7F005D0C:
|
||||
/* 03A83C 7F005D0C 10000035 */ b .L7F005DE4
|
||||
/* 03A840 7F005D10 26100028 */ addiu $s0, $s0, 0x28
|
||||
watch_time:
|
||||
/* 03A844 7F005D14 AE200000 */ sw $zero, ($s1)
|
||||
/* 03A848 7F005D18 8E040008 */ lw $a0, 8($s0)
|
||||
/* 03A84C 7F005D1C 2401003C */ li $at, 60
|
||||
/* 03A850 7F005D20 5880000B */ blezl $a0, .L7F005D50
|
||||
/* 03A854 7F005D24 8E020004 */ lw $v0, 4($s0)
|
||||
/* 03A858 7F005D28 0081001A */ div $zero, $a0, $at
|
||||
/* 03A85C 7F005D2C 00007810 */ mfhi $t7
|
||||
/* 03A860 7F005D30 000F40C0 */ sll $t0, $t7, 3
|
||||
/* 03A864 7F005D34 010F4023 */ subu $t0, $t0, $t7
|
||||
/* 03A868 7F005D38 00084140 */ sll $t0, $t0, 5
|
||||
/* 03A86C 7F005D3C 010F4021 */ addu $t0, $t0, $t7
|
||||
/* 03A870 7F005D40 00084100 */ sll $t0, $t0, 4
|
||||
/* 03A874 7F005D44 3C018008 */ lui $at, %hi(watch_time_0) # $at, 0x8008
|
||||
/* 03A878 7F005D48 AC289A24 */ sw $t0, %lo(watch_time_0)($at)
|
||||
/* 03A87C 7F005D4C 8E020004 */ lw $v0, 4($s0)
|
||||
.L7F005D50:
|
||||
/* 03A880 7F005D50 2401000C */ li $at, 12
|
||||
/* 03A884 7F005D54 1840000B */ blez $v0, .L7F005D84
|
||||
/* 03A888 7F005D58 00000000 */ nop
|
||||
/* 03A88C 7F005D5C 0041001A */ div $zero, $v0, $at
|
||||
/* 03A890 7F005D60 00005810 */ mfhi $t3
|
||||
/* 03A894 7F005D64 3C010003 */ lui $at, (0x00034BC0 >> 16) # lui $at, 3
|
||||
/* 03A898 7F005D68 34214BC0 */ ori $at, (0x00034BC0 & 0xFFFF) # ori $at, $at, 0x4bc0
|
||||
/* 03A89C 7F005D6C 01610019 */ multu $t3, $at
|
||||
/* 03A8A0 7F005D70 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03A8A4 7F005D74 3C018008 */ lui $at, %hi(watch_time_0) # $at, 0x8008
|
||||
/* 03A8A8 7F005D78 00006012 */ mflo $t4
|
||||
/* 03A8AC 7F005D7C 014C6821 */ addu $t5, $t2, $t4
|
||||
/* 03A8B0 7F005D80 AC2D9A24 */ sw $t5, %lo(watch_time_0)($at)
|
||||
.L7F005D84:
|
||||
/* 03A8B4 7F005D84 10000017 */ b .L7F005DE4
|
||||
/* 03A8B8 7F005D88 2610000C */ addiu $s0, $s0, 0xc
|
||||
credits:
|
||||
/* 03A8BC 7F005D8C 3C198007 */ lui $t9, %hi(dword_CODE_bss_80075D28) # $t9, 0x8007
|
||||
/* 03A8C0 7F005D90 8F395D28 */ lw $t9, %lo(dword_CODE_bss_80075D28)($t9)
|
||||
/* 03A8C4 7F005D94 8E180004 */ lw $t8, 4($s0)
|
||||
/* 03A8C8 7F005D98 3C018003 */ lui $at, %hi(D_80036440) # $at, 0x8003
|
||||
/* 03A8CC 7F005D9C 03381021 */ addu $v0, $t9, $t8
|
||||
/* 03A8D0 7F005DA0 AC226440 */ sw $v0, %lo(D_80036440)($at)
|
||||
/* 03A8D4 7F005DA4 944F0000 */ lhu $t7, ($v0)
|
||||
/* 03A8D8 7F005DA8 55E00005 */ bnezl $t7, .L7F005DC0
|
||||
/* 03A8DC 7F005DAC 9448000C */ lhu $t0, 0xc($v0)
|
||||
/* 03A8E0 7F005DB0 944E0002 */ lhu $t6, 2($v0)
|
||||
/* 03A8E4 7F005DB4 11C00008 */ beqz $t6, .L7F005DD8
|
||||
/* 03A8E8 7F005DB8 00000000 */ nop
|
||||
/* 03A8EC 7F005DBC 9448000C */ lhu $t0, 0xc($v0)
|
||||
.L7F005DC0:
|
||||
/* 03A8F0 7F005DC0 2442000C */ addiu $v0, $v0, 0xc
|
||||
/* 03A8F4 7F005DC4 5500FFFE */ bnezl $t0, .L7F005DC0
|
||||
/* 03A8F8 7F005DC8 9448000C */ lhu $t0, 0xc($v0)
|
||||
/* 03A8FC 7F005DCC 94490002 */ lhu $t1, 2($v0)
|
||||
/* 03A900 7F005DD0 5520FFFB */ bnezl $t1, .L7F005DC0
|
||||
/* 03A904 7F005DD4 9448000C */ lhu $t0, 0xc($v0)
|
||||
.L7F005DD8:
|
||||
/* 03A908 7F005DD8 10000002 */ b .L7F005DE4
|
||||
/* 03A90C 7F005DDC 26100008 */ addiu $s0, $s0, 8
|
||||
def_7F005A74:
|
||||
.L7F005DE0:
|
||||
/* 03A910 7F005DE0 26100004 */ addiu $s0, $s0, 4
|
||||
.L7F005DE4:
|
||||
/* 03A914 7F005DE4 8E020000 */ lw $v0, ($s0)
|
||||
/* 03A918 7F005DE8 24010009 */ li $at, 9
|
||||
/* 03A91C 7F005DEC 5441FF1C */ bnel $v0, $at, .L7F005A60
|
||||
/* 03A920 7F005DF0 2C410009 */ sltiu $at, $v0, 9
|
||||
.L7F005DF4:
|
||||
/* 03A924 7F005DF4 3C028003 */ lui $v0, %hi(D_800364B8) # $v0, 0x8003
|
||||
/* 03A928 7F005DF8 8C4264B8 */ lw $v0, %lo(D_800364B8)($v0)
|
||||
/* 03A92C 7F005DFC 3C128008 */ lui $s2, %hi(ptr_BONDdata) # $s2, 0x8008
|
||||
/* 03A930 7F005E00 2652A0B0 */ addiu $s2, %lo(ptr_BONDdata) # addiu $s2, $s2, -0x5f50
|
||||
/* 03A934 7F005E04 10400012 */ beqz $v0, .L7F005E50
|
||||
/* 03A938 7F005E08 3C018003 */ lui $at, %hi(D_800364C0) # $at, 0x8003
|
||||
/* 03A93C 7F005E0C 0C002914 */ jal get_random_value
|
||||
/* 03A940 7F005E10 AC2264C0 */ sw $v0, %lo(D_800364C0)($at)
|
||||
/* 03A944 7F005E14 3C0B8003 */ lui $t3, %hi(D_800364BC) # $t3, 0x8003
|
||||
/* 03A948 7F005E18 8D6B64BC */ lw $t3, %lo(D_800364BC)($t3)
|
||||
/* 03A94C 7F005E1C 004B001B */ divu $zero, $v0, $t3
|
||||
/* 03A950 7F005E20 00001810 */ mfhi $v1
|
||||
/* 03A954 7F005E24 15600002 */ bnez $t3, .L7F005E30
|
||||
/* 03A958 7F005E28 00000000 */ nop
|
||||
/* 03A95C 7F005E2C 0007000D */ break 7
|
||||
.L7F005E30:
|
||||
/* 03A960 7F005E30 18600007 */ blez $v1, .L7F005E50
|
||||
.L7F005E34:
|
||||
/* 03A964 7F005E34 3C0A8003 */ lui $t2, %hi(D_800364C0) # $t2, 0x8003
|
||||
/* 03A968 7F005E38 8D4A64C0 */ lw $t2, %lo(D_800364C0)($t2)
|
||||
/* 03A96C 7F005E3C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 03A970 7F005E40 3C018003 */ lui $at, %hi(D_800364C0) # $at, 0x8003
|
||||
/* 03A974 7F005E44 8D4C0024 */ lw $t4, 0x24($t2)
|
||||
/* 03A978 7F005E48 1C60FFFA */ bgtz $v1, .L7F005E34
|
||||
/* 03A97C 7F005E4C AC2C64C0 */ sw $t4, %lo(D_800364C0)($at)
|
||||
.L7F005E50:
|
||||
/* 03A980 7F005E50 0FC23122 */ jal add_item_to_inventory
|
||||
/* 03A984 7F005E54 24040001 */ li $a0, 1
|
||||
/* 03A988 7F005E58 8FAD007C */ lw $t5, 0x7c($sp)
|
||||
/* 03A98C 7F005E5C 44809000 */ mtc1 $zero, $f18
|
||||
/* 03A990 7F005E60 15A00003 */ bnez $t5, .L7F005E70
|
||||
/* 03A994 7F005E64 24190001 */ li $t9, 1
|
||||
/* 03A998 7F005E68 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008
|
||||
/* 03A99C 7F005E6C AC3999E0 */ sw $t9, %lo(starting_right_weapon)($at)
|
||||
.L7F005E70:
|
||||
/* 03A9A0 7F005E70 8E580000 */ lw $t8, ($s2)
|
||||
/* 03A9A4 7F005E74 3C018005 */ lui $at, %hi(D_8004F1D0) # $at, 0x8005
|
||||
/* 03A9A8 7F005E78 44803000 */ mtc1 $zero, $f6
|
||||
/* 03A9AC 7F005E7C E7120078 */ swc1 $f18, 0x78($t8)
|
||||
/* 03A9B0 7F005E80 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 03A9B4 7F005E84 C424F1D0 */ lwc1 $f4, %lo(D_8004F1D0)($at)
|
||||
/* 03A9B8 7F005E88 3C088008 */ lui $t0, %hi(dword_CODE_bss_80079C68) # $t0, 0x8008
|
||||
/* 03A9BC 7F005E8C E5E4007C */ swc1 $f4, 0x7c($t7)
|
||||
/* 03A9C0 7F005E90 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 03A9C4 7F005E94 E5C60080 */ swc1 $f6, 0x80($t6)
|
||||
/* 03A9C8 7F005E98 8D089C68 */ lw $t0, %lo(dword_CODE_bss_80079C68)($t0)
|
||||
/* 03A9CC 7F005E9C 5900002C */ blezl $t0, .L7F005F50
|
||||
/* 03A9D0 7F005EA0 27A4008C */ addiu $a0, $sp, 0x8c
|
||||
/* 03A9D4 7F005EA4 0FC26919 */ jal get_num_players
|
||||
/* 03A9D8 7F005EA8 00000000 */ nop
|
||||
/* 03A9DC 7F005EAC 28410002 */ slti $at, $v0, 2
|
||||
/* 03A9E0 7F005EB0 14200008 */ bnez $at, .L7F005ED4
|
||||
/* 03A9E4 7F005EB4 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079C68) # $t1, 0x8008
|
||||
/* 03A9E8 7F005EB8 8D299C68 */ lw $t1, %lo(dword_CODE_bss_80079C68)($t1)
|
||||
/* 03A9EC 7F005EBC 59200006 */ blezl $t1, .L7F005ED8
|
||||
/* 03A9F0 7F005EC0 00001825 */ move $v1, $zero
|
||||
/* 03A9F4 7F005EC4 0FC1E43C */ jal sub_GAME_7F0790F0
|
||||
/* 03A9F8 7F005EC8 00000000 */ nop
|
||||
/* 03A9FC 7F005ECC 10000002 */ b .L7F005ED8
|
||||
/* 03AA00 7F005ED0 00401825 */ move $v1, $v0
|
||||
.L7F005ED4:
|
||||
/* 03AA04 7F005ED4 00001825 */ move $v1, $zero
|
||||
.L7F005ED8:
|
||||
/* 03AA08 7F005ED8 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_80079C28) # $t2, 0x8008
|
||||
/* 03AA0C 7F005EDC 254A9C28 */ addiu $t2, %lo(dword_CODE_bss_80079C28) # addiu $t2, $t2, -0x63d8
|
||||
/* 03AA10 7F005EE0 00035880 */ sll $t3, $v1, 2
|
||||
/* 03AA14 7F005EE4 016A8821 */ addu $s1, $t3, $t2
|
||||
/* 03AA18 7F005EE8 8E300000 */ lw $s0, ($s1)
|
||||
/* 03AA1C 7F005EEC C6080000 */ lwc1 $f8, ($s0)
|
||||
/* 03AA20 7F005EF0 E7A8008C */ swc1 $f8, 0x8c($sp)
|
||||
/* 03AA24 7F005EF4 C60A0008 */ lwc1 $f10, 8($s0)
|
||||
/* 03AA28 7F005EF8 8FA5008C */ lw $a1, 0x8c($sp)
|
||||
/* 03AA2C 7F005EFC E7AA0094 */ swc1 $f10, 0x94($sp)
|
||||
/* 03AA30 7F005F00 8E040028 */ lw $a0, 0x28($s0)
|
||||
/* 03AA34 7F005F04 8FA60094 */ lw $a2, 0x94($sp)
|
||||
/* 03AA38 7F005F08 0FC20358 */ jal sub_GAME_7F080D60
|
||||
/* 03AA3C 7F005F0C AFA40084 */ sw $a0, 0x84($sp)
|
||||
/* 03AA40 7F005F10 8E420000 */ lw $v0, ($s2)
|
||||
/* 03AA44 7F005F14 46000506 */ mov.s $f20, $f0
|
||||
/* 03AA48 7F005F18 C45029BC */ lwc1 $f16, 0x29bc($v0)
|
||||
/* 03AA4C 7F005F1C 46008480 */ add.s $f18, $f16, $f0
|
||||
/* 03AA50 7F005F20 E7B20090 */ swc1 $f18, 0x90($sp)
|
||||
/* 03AA54 7F005F24 E4400070 */ swc1 $f0, 0x70($v0)
|
||||
/* 03AA58 7F005F28 8E300000 */ lw $s0, ($s1)
|
||||
/* 03AA5C 7F005F2C C60C0018 */ lwc1 $f12, 0x18($s0)
|
||||
/* 03AA60 7F005F30 0FC16A8C */ jal convert_angle_using_inverse
|
||||
/* 03AA64 7F005F34 C60E0020 */ lwc1 $f14, 0x20($s0)
|
||||
/* 03AA68 7F005F38 3C018005 */ lui $at, %hi(D_8004F1D4) # $at, 0x8005
|
||||
/* 03AA6C 7F005F3C C424F1D4 */ lwc1 $f4, %lo(D_8004F1D4)($at)
|
||||
/* 03AA70 7F005F40 46002181 */ sub.s $f6, $f4, $f0
|
||||
/* 03AA74 7F005F44 10000011 */ b .L7F005F8C
|
||||
/* 03AA78 7F005F48 E7A60088 */ swc1 $f6, 0x88($sp)
|
||||
/* 03AA7C 7F005F4C 27A4008C */ addiu $a0, $sp, 0x8c
|
||||
.L7F005F50:
|
||||
/* 03AA80 7F005F50 27A50090 */ addiu $a1, $sp, 0x90
|
||||
/* 03AA84 7F005F54 27A60094 */ addiu $a2, $sp, 0x94
|
||||
/* 03AA88 7F005F58 0FC2BEDE */ jal sub_GAME_7F0AFB78
|
||||
/* 03AA8C 7F005F5C 3C0741F0 */ lui $a3, 0x41f0
|
||||
/* 03AA90 7F005F60 AFA20084 */ sw $v0, 0x84($sp)
|
||||
/* 03AA94 7F005F64 00402025 */ move $a0, $v0
|
||||
/* 03AA98 7F005F68 8FA5008C */ lw $a1, 0x8c($sp)
|
||||
/* 03AA9C 7F005F6C 0FC20358 */ jal sub_GAME_7F080D60
|
||||
/* 03AAA0 7F005F70 8FA60094 */ lw $a2, 0x94($sp)
|
||||
/* 03AAA4 7F005F74 8E420000 */ lw $v0, ($s2)
|
||||
/* 03AAA8 7F005F78 46000506 */ mov.s $f20, $f0
|
||||
/* 03AAAC 7F005F7C C44829BC */ lwc1 $f8, 0x29bc($v0)
|
||||
/* 03AAB0 7F005F80 46004280 */ add.s $f10, $f8, $f0
|
||||
/* 03AAB4 7F005F84 E7AA0090 */ swc1 $f10, 0x90($sp)
|
||||
/* 03AAB8 7F005F88 E4400070 */ swc1 $f0, 0x70($v0)
|
||||
.L7F005F8C:
|
||||
/* 03AABC 7F005F8C 3C0143B4 */ li $at, 0x43B40000 # 360.000000
|
||||
/* 03AAC0 7F005F90 44819000 */ mtc1 $at, $f18
|
||||
/* 03AAC4 7F005F94 C7B00088 */ lwc1 $f16, 0x88($sp)
|
||||
/* 03AAC8 7F005F98 3C018005 */ lui $at, %hi(D_8004F1D8) # $at, 0x8005
|
||||
/* 03AACC 7F005F9C C426F1D8 */ lwc1 $f6, %lo(D_8004F1D8)($at)
|
||||
/* 03AAD0 7F005FA0 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 03AAD4 7F005FA4 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 03AAD8 7F005FA8 3C018005 */ lui $at, %hi(D_8004F1DC) # $at, 0x8005
|
||||
/* 03AADC 7F005FAC 27A5008C */ addiu $a1, $sp, 0x8c
|
||||
/* 03AAE0 7F005FB0 46062203 */ div.s $f8, $f4, $f6
|
||||
/* 03AAE4 7F005FB4 E5880148 */ swc1 $f8, 0x148($t4)
|
||||
/* 03AAE8 7F005FB8 8E4D0000 */ lw $t5, ($s2)
|
||||
/* 03AAEC 7F005FBC E5B40074 */ swc1 $f20, 0x74($t5)
|
||||
/* 03AAF0 7F005FC0 C42AF1DC */ lwc1 $f10, %lo(D_8004F1DC)($at)
|
||||
/* 03AAF4 7F005FC4 8E590000 */ lw $t9, ($s2)
|
||||
/* 03AAF8 7F005FC8 460AA403 */ div.s $f16, $f20, $f10
|
||||
/* 03AAFC 7F005FCC E730006C */ swc1 $f16, 0x6c($t9)
|
||||
/* 03AB00 7F005FD0 8E440000 */ lw $a0, ($s2)
|
||||
/* 03AB04 7F005FD4 8FA60084 */ lw $a2, 0x84($sp)
|
||||
/* 03AB08 7F005FD8 0FC1F1CC */ jal change_player_pos_to_target
|
||||
/* 03AB0C 7F005FDC 24840488 */ addiu $a0, $a0, 0x488
|
||||
/* 03AB10 7F005FE0 0FC15FAB */ jal sinf
|
||||
/* 03AB14 7F005FE4 C7AC0088 */ lwc1 $f12, 0x88($sp)
|
||||
/* 03AB18 7F005FE8 8E580000 */ lw $t8, ($s2)
|
||||
/* 03AB1C 7F005FEC 46000487 */ neg.s $f18, $f0
|
||||
/* 03AB20 7F005FF0 44802000 */ mtc1 $zero, $f4
|
||||
/* 03AB24 7F005FF4 E7120498 */ swc1 $f18, 0x498($t8)
|
||||
/* 03AB28 7F005FF8 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 03AB2C 7F005FFC E5E4049C */ swc1 $f4, 0x49c($t7)
|
||||
/* 03AB30 7F006000 0FC15FA8 */ jal cosf
|
||||
/* 03AB34 7F006004 C7AC0088 */ lwc1 $f12, 0x88($sp)
|
||||
/* 03AB38 7F006008 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 03AB3C 7F00600C 3C018003 */ lui $at, %hi(D_800364D0) # $at, 0x8003
|
||||
/* 03AB40 7F006010 E5C004A0 */ swc1 $f0, 0x4a0($t6)
|
||||
/* 03AB44 7F006014 0FC225C6 */ jal sub_GAME_7F089718
|
||||
/* 03AB48 7F006018 C42C64D0 */ lwc1 $f12, %lo(D_800364D0)($at)
|
||||
/* 03AB4C 7F00601C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA0) # $at, 0x8008
|
||||
/* 03AB50 7F006020 AC209DA0 */ sw $zero, %lo(dword_CODE_bss_80079DA0)($at)
|
||||
/* 03AB54 7F006024 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA4) # $at, 0x8008
|
||||
/* 03AB58 7F006028 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079DA8) # $v0, 0x8008
|
||||
/* 03AB5C 7F00602C 3C038008 */ lui $v1, %hi(dword_CODE_bss_80079DC8) # $v1, 0x8008
|
||||
/* 03AB60 7F006030 24639DC8 */ addiu $v1, %lo(dword_CODE_bss_80079DC8) # addiu $v1, $v1, -0x6238
|
||||
/* 03AB64 7F006034 24429DA8 */ addiu $v0, %lo(dword_CODE_bss_80079DA8) # addiu $v0, $v0, -0x6258
|
||||
/* 03AB68 7F006038 AC209DA4 */ sw $zero, %lo(dword_CODE_bss_80079DA4)($at)
|
||||
.L7F00603C:
|
||||
/* 03AB6C 7F00603C 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* 03AB70 7F006040 AC40FFF4 */ sw $zero, -0xc($v0)
|
||||
/* 03AB74 7F006044 AC40FFF8 */ sw $zero, -8($v0)
|
||||
/* 03AB78 7F006048 AC40FFFC */ sw $zero, -4($v0)
|
||||
/* 03AB7C 7F00604C 1443FFFB */ bne $v0, $v1, .L7F00603C
|
||||
/* 03AB80 7F006050 AC40FFF0 */ sw $zero, -0x10($v0)
|
||||
/* 03AB84 7F006054 0FC228CC */ jal reset_intro_camera_message_dialogs_for_BONDdata
|
||||
/* 03AB88 7F006058 00000000 */ nop
|
||||
/* 03AB8C 7F00605C 0FC22A40 */ jal sub_GAME_7F08A900
|
||||
/* 03AB90 7F006060 00000000 */ nop
|
||||
/* 03AB94 7F006064 0FC0E90C */ jal remove_last_obj_pos_data_entry
|
||||
/* 03AB98 7F006068 00000000 */ nop
|
||||
/* 03AB9C 7F00606C 8E480000 */ lw $t0, ($s2)
|
||||
/* 03ABA0 7F006070 240A0006 */ li $t2, 6
|
||||
/* 03ABA4 7F006074 AD0200A8 */ sw $v0, 0xa8($t0)
|
||||
/* 03ABA8 7F006078 8E490000 */ lw $t1, ($s2)
|
||||
/* 03ABAC 7F00607C 8D2B00A8 */ lw $t3, 0xa8($t1)
|
||||
/* 03ABB0 7F006080 AD600004 */ sw $zero, 4($t3)
|
||||
/* 03ABB4 7F006084 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 03ABB8 7F006088 8D8D00A8 */ lw $t5, 0xa8($t4)
|
||||
/* 03ABBC 7F00608C A1AA0000 */ sb $t2, ($t5)
|
||||
/* 03ABC0 7F006090 8E590000 */ lw $t9, ($s2)
|
||||
/* 03ABC4 7F006094 C7A0008C */ lwc1 $f0, 0x8c($sp)
|
||||
/* 03ABC8 7F006098 E7200408 */ swc1 $f0, 0x408($t9)
|
||||
/* 03ABCC 7F00609C 8E580000 */ lw $t8, ($s2)
|
||||
/* 03ABD0 7F0060A0 8F0F00A8 */ lw $t7, 0xa8($t8)
|
||||
/* 03ABD4 7F0060A4 E5E00008 */ swc1 $f0, 8($t7)
|
||||
/* 03ABD8 7F0060A8 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 03ABDC 7F0060AC C7A00090 */ lwc1 $f0, 0x90($sp)
|
||||
/* 03ABE0 7F0060B0 E5C0040C */ swc1 $f0, 0x40c($t6)
|
||||
/* 03ABE4 7F0060B4 8E480000 */ lw $t0, ($s2)
|
||||
/* 03ABE8 7F0060B8 8D0900A8 */ lw $t1, 0xa8($t0)
|
||||
/* 03ABEC 7F0060BC E520000C */ swc1 $f0, 0xc($t1)
|
||||
/* 03ABF0 7F0060C0 8E4B0000 */ lw $t3, ($s2)
|
||||
/* 03ABF4 7F0060C4 C7A00094 */ lwc1 $f0, 0x94($sp)
|
||||
/* 03ABF8 7F0060C8 E5600410 */ swc1 $f0, 0x410($t3)
|
||||
/* 03ABFC 7F0060CC 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 03AC00 7F0060D0 8D8A00A8 */ lw $t2, 0xa8($t4)
|
||||
/* 03AC04 7F0060D4 E5400010 */ swc1 $f0, 0x10($t2)
|
||||
/* 03AC08 7F0060D8 8E590000 */ lw $t9, ($s2)
|
||||
/* 03AC0C 7F0060DC 8FAD0084 */ lw $t5, 0x84($sp)
|
||||
/* 03AC10 7F0060E0 8F3800A8 */ lw $t8, 0xa8($t9)
|
||||
/* 03AC14 7F0060E4 AF0D0014 */ sw $t5, 0x14($t8)
|
||||
/* 03AC18 7F0060E8 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 03AC1C 7F0060EC 0FC0E929 */ jal set_current_objposdata_plus_0x28
|
||||
/* 03AC20 7F0060F0 8DE400A8 */ lw $a0, 0xa8($t7)
|
||||
/* 03AC24 7F0060F4 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 03AC28 7F0060F8 0FC0E901 */ jal set_stateflag_0x04_for_posdata
|
||||
/* 03AC2C 7F0060FC 8DC400A8 */ lw $a0, 0xa8($t6)
|
||||
/* 03AC30 7F006100 8E420000 */ lw $v0, ($s2)
|
||||
/* 03AC34 7F006104 3C018005 */ lui $at, %hi(D_8004F1E0) # $at, 0x8005
|
||||
/* 03AC38 7F006108 C420F1E0 */ lwc1 $f0, %lo(D_8004F1E0)($at)
|
||||
/* 03AC3C 7F00610C C44604B4 */ lwc1 $f6, 0x4b4($v0)
|
||||
/* 03AC40 7F006110 46003203 */ div.s $f8, $f6, $f0
|
||||
/* 03AC44 7F006114 E44803B8 */ swc1 $f8, 0x3b8($v0)
|
||||
/* 03AC48 7F006118 8E420000 */ lw $v0, ($s2)
|
||||
/* 03AC4C 7F00611C C44A04B8 */ lwc1 $f10, 0x4b8($v0)
|
||||
/* 03AC50 7F006120 46005403 */ div.s $f16, $f10, $f0
|
||||
/* 03AC54 7F006124 E45003BC */ swc1 $f16, 0x3bc($v0)
|
||||
/* 03AC58 7F006128 8E420000 */ lw $v0, ($s2)
|
||||
/* 03AC5C 7F00612C C45204BC */ lwc1 $f18, 0x4bc($v0)
|
||||
/* 03AC60 7F006130 46009103 */ div.s $f4, $f18, $f0
|
||||
/* 03AC64 7F006134 0FC26919 */ jal get_num_players
|
||||
/* 03AC68 7F006138 E44403C0 */ swc1 $f4, 0x3c0($v0)
|
||||
/* 03AC6C 7F00613C 24010001 */ li $at, 1
|
||||
/* 03AC70 7F006140 14410005 */ bne $v0, $at, .L7F006158
|
||||
/* 03AC74 7F006144 00000000 */ nop
|
||||
/* 03AC78 7F006148 0FC1EA6E */ jal set_camera_mode
|
||||
/* 03AC7C 7F00614C 24040001 */ li $a0, 1
|
||||
/* 03AC80 7F006150 10000003 */ b .L7F006160
|
||||
/* 03AC84 7F006154 00000000 */ nop
|
||||
.L7F006158:
|
||||
/* 03AC88 7F006158 0FC1EA6E */ jal set_camera_mode
|
||||
/* 03AC8C 7F00615C 24040009 */ li $a0, 9
|
||||
.L7F006160:
|
||||
/* 03AC90 7F006160 3C048003 */ lui $a0, %hi(D_800364D8) # $a0, 0x8003
|
||||
/* 03AC94 7F006164 248464D8 */ addiu $a0, %lo(D_800364D8) # addiu $a0, $a0, 0x64d8
|
||||
/* 03AC98 7F006168 00004080 */ sll $t0, $zero, 2
|
||||
/* 03AC9C 7F00616C 00884821 */ addu $t1, $a0, $t0
|
||||
/* 03ACA0 7F006170 8D2B0000 */ lw $t3, ($t1)
|
||||
/* 03ACA4 7F006174 3C038003 */ lui $v1, %hi(D_8003650C) # $v1, 0x8003
|
||||
/* 03ACA8 7F006178 2463650C */ addiu $v1, %lo(D_8003650C) # addiu $v1, $v1, 0x650c
|
||||
/* 03ACAC 7F00617C AC600000 */ sw $zero, ($v1)
|
||||
/* 03ACB0 7F006180 11600009 */ beqz $t3, .L7F0061A8
|
||||
/* 03ACB4 7F006184 00001025 */ move $v0, $zero
|
||||
/* 03ACB8 7F006188 244C0001 */ addiu $t4, $v0, 1
|
||||
.L7F00618C:
|
||||
/* 03ACBC 7F00618C 000C5080 */ sll $t2, $t4, 2
|
||||
/* 03ACC0 7F006190 008AC821 */ addu $t9, $a0, $t2
|
||||
/* 03ACC4 7F006194 8F2D0000 */ lw $t5, ($t9)
|
||||
/* 03ACC8 7F006198 AC6C0000 */ sw $t4, ($v1)
|
||||
/* 03ACCC 7F00619C 01801025 */ move $v0, $t4
|
||||
/* 03ACD0 7F0061A0 55A0FFFA */ bnezl $t5, .L7F00618C
|
||||
/* 03ACD4 7F0061A4 244C0001 */ addiu $t4, $v0, 1
|
||||
.L7F0061A8:
|
||||
/* 03ACD8 7F0061A8 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 03ACDC 7F0061AC 24180001 */ li $t8, 1
|
||||
/* 03ACE0 7F0061B0 3C018003 */ lui $at, %hi(D_80036510) # $at, 0x8003
|
||||
/* 03ACE4 7F0061B4 ADF80420 */ sw $t8, 0x420($t7)
|
||||
/* 03ACE8 7F0061B8 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 03ACEC 7F0061BC ADC00424 */ sw $zero, 0x424($t6)
|
||||
/* 03ACF0 7F0061C0 8E480000 */ lw $t0, ($s2)
|
||||
/* 03ACF4 7F0061C4 AD000428 */ sw $zero, 0x428($t0)
|
||||
/* 03ACF8 7F0061C8 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 03ACFC 7F0061CC 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 03AD00 7F0061D0 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 03AD04 7F0061D4 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 03AD08 7F0061D8 D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* 03AD0C 7F0061DC D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* 03AD10 7F0061E0 AC206510 */ sw $zero, %lo(D_80036510)($at)
|
||||
/* 03AD14 7F0061E4 03E00008 */ jr $ra
|
||||
/* 03AD18 7F0061E8 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
d72822f1380f24cad25ae8a0e956fd13555c0624
|
||||
@@ -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) # $at, 0x8004
|
||||
/* 03B8C4 7F006D94 AC200170 */ sw $zero, %lo(D_80040170)($at)
|
||||
/* 03B8C8 7F006D98 3C018004 */ lui $at, %hi(D_80040174) # $at, 0x8004
|
||||
/* 03B8CC 7F006D9C AC200174 */ sw $zero, %lo(D_80040174)($at)
|
||||
/* 03B8D0 7F006DA0 3C018004 */ lui $at, %hi(D_8004017C+0x684) # $at, 0x8004
|
||||
/* 03B8D4 7F006DA4 AC200800 */ sw $zero, %lo(D_8004017C+0x684)($at)
|
||||
/* 03B8D8 7F006DA8 3C018004 */ lui $at, %hi(D_8004017C+0x688) # $at, 0x8004
|
||||
/* 03B8DC 7F006DAC AC200804 */ sw $zero, %lo(D_8004017C+0x688)($at)
|
||||
/* 03B8E0 7F006DB0 3C018004 */ lui $at, %hi(D_8004017C+0x68C) # $at, 0x8004
|
||||
/* 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) # $at, 0x8004
|
||||
/* 03B8FC 7F006DCC 24041740 */ li $a0, 5952
|
||||
/* 03B900 7F006DD0 24050004 */ li $a1, 4
|
||||
/* 03B904 7F006DD4 0C0025C8 */ jal allocate_bytes_in_bank
|
||||
/* 03B908 7F006DD8 E4240178 */ swc1 $f4, %lo(D_80040178)($at)
|
||||
/* 03B90C 7F006DDC 3C038008 */ lui $v1, %hi(ptr_explosion_buf) # $v1, 0x8008
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 03B9C4 7F006E94 24050004 */ li $a1, 4
|
||||
/* 03B9C8 7F006E98 3C038008 */ lui $v1, %hi(ptr_smoke_buf) # $v1, 0x8008
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 03BB24 7F006FF4 24050004 */ li $a1, 4
|
||||
/* 03BB28 7F006FF8 3C058008 */ lui $a1, %hi(ptr_scorch_buf) # $a1, 0x8008
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 03BB80 7F007050 24050004 */ li $a1, 4
|
||||
/* 03BB84 7F007054 3C058008 */ lui $a1, %hi(ptr_bullet_impact_buf) # $a1, 0x8008
|
||||
/* 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) # $a2, 0x8008
|
||||
/* 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) # $a2, 0x8008
|
||||
/* 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) # $a2, 0x8008
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 03BC54 7F007124 01602025 */ move $a0, $t3
|
||||
/* 03BC58 7F007128 3C068008 */ lui $a2, %hi(max_casings) # $a2, 0x8008
|
||||
/* 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) # $v1, 0x8008
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
c3c274787cabbcd39926ee95b013146cc88c73da
|
||||
@@ -0,0 +1,138 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/actor.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) # $a2, 0x8003
|
||||
/* 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 allocate_bytes_in_bank
|
||||
/* 035A24 7F000EF4 24050004 */ li $a1, 4
|
||||
/* 035A28 7F000EF8 3C068003 */ lui $a2, %hi(num_guards) # $a2, 0x8003
|
||||
/* 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) # $a0, 0x8003
|
||||
/* 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) # $t6, 0x8004
|
||||
/* 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) # $t8, 0x8003
|
||||
/* 035AC4 7F000F94 8F18CD04 */ lw $t8, %lo(num_male_heads)($t8)
|
||||
/* 035AC8 7F000F98 3C018003 */ lui $at, %hi(current_random_male_head) # $at, 0x8003
|
||||
/* 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) # $t0, 0x8003
|
||||
/* 035AF0 7F000FC0 8D08CD08 */ lw $t0, %lo(num_female_heads)($t0)
|
||||
/* 035AF4 7F000FC4 3C018003 */ lui $at, %hi(current_random_female_head) # $at, 0x8003
|
||||
/* 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) # $t2, 0x8003
|
||||
/* 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) # $at, 0x8003
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
d1b149f0087f3607d2cc62c1deb616fcd509abe2
|
||||
@@ -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, 0x8005
|
||||
/* 035704 7F000BD4 24829300 */ addiu $v0, $a0, -0x6d00
|
||||
/* 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) # $t8, 0x8005
|
||||
/* 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
52130067af49949d01af549dd8e964c8e3e26257
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user