mirror of
https://gitlab.com/kholdfuzion/goldeneye_src
synced 2026-09-02 17:42:56 -04:00
update public from private
This commit is contained in:
+811
-1133
File diff suppressed because it is too large
Load Diff
+4
-2
@@ -1,7 +1,9 @@
|
||||
#ifndef _AUDI_H_
|
||||
#define _AUDI_H_
|
||||
|
||||
void amCreateAudioMgr(void);
|
||||
void startaudiThread(void);
|
||||
#include "ultra64.h"
|
||||
|
||||
void amCreateAudioManager(ALSynConfig* alconf);
|
||||
void amStartAudioThread(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
#define TARGET_PAD 0x0008 // set target type to pad
|
||||
#define TARGET_COMPASS 0x0010 // set target to compass direction (hex) N: 0000 E: C000 S: 8000: W: 4000
|
||||
#define TARGET_AIM_ONLY 0x0020 // aim at target instead of firing
|
||||
#define TARGET_180_RANGE 0x0040 // limits target to 180 degrees in front of guard (cannot be used with bond target flag)
|
||||
#define TARGET_DONTTURN 0x0040 // limits target to 180 degrees in front of guard (cannot be used with bond target flag)
|
||||
|
||||
// command 18/19 - target body part values
|
||||
#define HIT_NULL_PART 0x00 // null part, no reaction - 1x damage
|
||||
|
||||
+5
-2
@@ -1027,8 +1027,8 @@ typedef enum SCREEN_SIZE
|
||||
|
||||
typedef enum COLORMODE
|
||||
{
|
||||
MODE_32BIT = 0x0,
|
||||
MODE_16BIT = 0x1
|
||||
COLORMODE_32BIT = 0x0,
|
||||
COLORMODE_16BIT = 0x1
|
||||
} COLORMODE;
|
||||
|
||||
typedef enum CAMERAMODE {
|
||||
@@ -1270,6 +1270,9 @@ typedef enum ACT_TYPE {
|
||||
ACT_THROWGRENADE,
|
||||
ACT_TURNDIR,
|
||||
ACT_TEST,
|
||||
ACT_BONDINTRO,
|
||||
ACT_BONDDIE,
|
||||
ACT_BONDMULTI,
|
||||
ACT_NULL
|
||||
} ACT_TYPE;
|
||||
|
||||
|
||||
+451
-1088
File diff suppressed because it is too large
Load Diff
+5
-1
@@ -9,7 +9,11 @@ struct memallocstring
|
||||
void *string;
|
||||
};
|
||||
|
||||
void set_loaded_stage(LEVELID stage);
|
||||
LEVELID bossGetStageNum();
|
||||
void bossSetLoadedStage(LEVELID stage);
|
||||
void bossInitDebugNoticeList(void);
|
||||
void bossEnableShowMemUseFlag(void);
|
||||
void bossMemBarsFlagToggle(void);
|
||||
void bossRunTitleStage(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,277 +2,87 @@
|
||||
#include "bondgame.h"
|
||||
#include "ramrom.h"
|
||||
#include "deb.h"
|
||||
#include "str.h"
|
||||
#include "memp.h"
|
||||
|
||||
/**
|
||||
* @file deb.c
|
||||
* This file contains debug related code.
|
||||
*
|
||||
* In particular, it seems to handle debug_notice_list
|
||||
*/
|
||||
|
||||
/* bss */
|
||||
extern char dword_CODE_bss_80060890[0x400];
|
||||
|
||||
|
||||
|
||||
/* data */
|
||||
u32 D_800232E0[] = {0, 0};
|
||||
u32 debug_notice_list[] = {0, 0, 0, 0};
|
||||
char * debug_notice_list_data = &dword_CODE_bss_80060890;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5920 70004D20
|
||||
* V0=p->match in debug.notice.list [800232E8] or NULL if not found
|
||||
* accepts: A0=p->name, A1=p->data
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void *debCheckIfDNLEntryExists(s32 arg0)
|
||||
struct deblistentry
|
||||
{
|
||||
void *temp_s0;
|
||||
void *phi_s0;
|
||||
struct deblistentry *next;
|
||||
u32 data;
|
||||
const char *name;
|
||||
s32 unused;
|
||||
};
|
||||
|
||||
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;
|
||||
u8 g_DebBuffer[0x400];
|
||||
u32 g_DebDebugData[] = {0, 0};
|
||||
struct deblistentry *g_DebList = NULL;
|
||||
s32 D_800232EC[] = {0, 0, 0};
|
||||
u8 *g_DebMemPos = g_DebBuffer;
|
||||
|
||||
struct deblistentry *debFind(const char *name)
|
||||
{
|
||||
struct deblistentry *entry = g_DebList;
|
||||
while (entry != NULL) {
|
||||
if (strcmp(entry->name, name) == 0) {
|
||||
return entry;
|
||||
}
|
||||
entry = entry->next;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debCheckIfDNLEntryExists
|
||||
/* 005920 70004D20 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 005924 70004D24 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list)
|
||||
/* 00592C 70004D2C 8E1032E8 */ lw $s0, %lo(debug_notice_list)($s0)
|
||||
/* 005930 70004D30 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 005934 70004D34 00808825 */ move $s1, $a0
|
||||
/* 005938 70004D38 1200000B */ beqz $s0, .L70004D68
|
||||
/* 00593C 70004D3C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 005940 70004D40 8E040008 */ lw $a0, 8($s0)
|
||||
.L70004D44:
|
||||
/* 005944 70004D44 0C002A13 */ jal something_with_strings_0
|
||||
/* 005948 70004D48 02202825 */ move $a1, $s1
|
||||
/* 00594C 70004D4C 54400004 */ bnezl $v0, .L70004D60
|
||||
/* 005950 70004D50 8E100000 */ lw $s0, ($s0)
|
||||
/* 005954 70004D54 10000005 */ b .L70004D6C
|
||||
/* 005958 70004D58 02001025 */ move $v0, $s0
|
||||
/* 00595C 70004D5C 8E100000 */ lw $s0, ($s0)
|
||||
.L70004D60:
|
||||
/* 005960 70004D60 5600FFF8 */ bnezl $s0, .L70004D44
|
||||
/* 005964 70004D64 8E040008 */ lw $a0, 8($s0)
|
||||
.L70004D68:
|
||||
/* 005968 70004D68 00001025 */ move $v0, $zero
|
||||
.L70004D6C:
|
||||
/* 00596C 70004D6C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 005970 70004D70 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 005974 70004D74 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 005978 70004D78 03E00008 */ jr $ra
|
||||
/* 00597C 70004D7C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 5980 70004D80
|
||||
* V0=p->entry of size A0 allocated in debug.notice.list; entry allocated in block 6 on failure
|
||||
* accepts: A0=size
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
u32 debAllocateDNLEntry(s32 arg0)
|
||||
{
|
||||
u32 temp_v0;
|
||||
|
||||
temp_v0 = (debug_notice_list_data + arg0);
|
||||
if (&tlbthread >= temp_v0)
|
||||
{
|
||||
debug_notice_list_data = temp_v0;
|
||||
return debug_notice_list_data;
|
||||
u8 *debAllocate(s32 size) {
|
||||
u8 **pos = &g_DebMemPos;
|
||||
u8 *curr = *pos;
|
||||
u8 *prev = curr;
|
||||
curr += size;
|
||||
if (curr > (g_DebBuffer + 0x400)) {
|
||||
curr -= size;
|
||||
*pos = curr;
|
||||
return mempAllocBytesInBank(size, 6);
|
||||
} else {
|
||||
*pos = curr;
|
||||
}
|
||||
debug_notice_list_data = (u32) (temp_v0 - arg0);
|
||||
return mempAllocBytesInBank(6);
|
||||
return prev;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debAllocateDNLEntry
|
||||
/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data)
|
||||
/* 005984 70004D84 8C4232F8 */ lw $v0, %lo(debug_notice_list_data)($v0)
|
||||
/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(tlbthread)
|
||||
/* 00598C 70004D8C 25CE0C90 */ addiu $t6, %lo(tlbthread) # addiu $t6, $t6, 0xc90
|
||||
/* 005990 70004D90 00401825 */ move $v1, $v0
|
||||
/* 005994 70004D94 00441021 */ addu $v0, $v0, $a0
|
||||
/* 005998 70004D98 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 00599C 70004D9C 01C2082B */ sltu $at, $t6, $v0
|
||||
/* 0059A0 70004DA0 10200008 */ beqz $at, .L70004DC4
|
||||
/* 0059A4 70004DA4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0059A8 70004DA8 00441023 */ subu $v0, $v0, $a0
|
||||
/* 0059AC 70004DAC 3C018002 */ lui $at, %hi(debug_notice_list_data)
|
||||
/* 0059B0 70004DB0 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
|
||||
/* 0059B4 70004DB4 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0059B8 70004DB8 24050006 */ li $a1, 6
|
||||
/* 0059BC 70004DBC 10000005 */ b .L70004DD4
|
||||
/* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L70004DC4:
|
||||
/* 0059C4 70004DC4 3C018002 */ lui $at, %hi(debug_notice_list_data)
|
||||
/* 0059C8 70004DC8 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
|
||||
/* 0059CC 70004DCC 00601025 */ move $v0, $v1
|
||||
/* 0059D0 70004DD0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L70004DD4:
|
||||
/* 0059D4 70004DD4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0059D8 70004DD8 03E00008 */ jr $ra
|
||||
/* 0059DC 70004DDC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 59E0 70004DE0
|
||||
* V0=p->new entry added in debug.notice.list
|
||||
* accepts: A0=p->name, A1=p->data
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void debAllocateAndAddDNLEntry(s32 arg0, s32 arg1)
|
||||
{
|
||||
? temp_ret;
|
||||
|
||||
temp_ret = debAllocateDNLEntry(0x10);
|
||||
*temp_ret = (s32) debug_notice_list;
|
||||
temp_ret->unk4 = arg1;
|
||||
temp_ret->unk8 = arg0;
|
||||
debug_notice_list = temp_ret;
|
||||
void debAdd(const char *name, u32 data) {
|
||||
struct deblistentry *entry = debAllocate(sizeof(struct deblistentry));
|
||||
entry->next = g_DebList;
|
||||
entry->data = data;
|
||||
entry->name = name;
|
||||
g_DebList = entry;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debAllocateAndAddDNLEntry
|
||||
/* 0059E0 70004DE0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0059E4 70004DE4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0059E8 70004DE8 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0059EC 70004DEC AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 0059F0 70004DF0 0C001360 */ jal debAllocateDNLEntry
|
||||
/* 0059F4 70004DF4 24040010 */ li $a0, 16
|
||||
/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list)
|
||||
/* 0059FC 70004DFC 246332E8 */ addiu $v1, %lo(debug_notice_list) # addiu $v1, $v1, 0x32e8
|
||||
/* 005A00 70004E00 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 005A04 70004E04 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 005A08 70004E08 8FAF001C */ lw $t7, 0x1c($sp)
|
||||
/* 005A0C 70004E0C AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 005A10 70004E10 8FB80018 */ lw $t8, 0x18($sp)
|
||||
/* 005A14 70004E14 AC580008 */ sw $t8, 8($v0)
|
||||
/* 005A18 70004E18 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 005A1C 70004E1C AC620000 */ sw $v0, ($v1)
|
||||
/* 005A20 70004E20 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 005A24 70004E24 03E00008 */ jr $ra
|
||||
/* 005A28 70004E28 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5A2C 70004E2C
|
||||
* V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0
|
||||
*/
|
||||
void debInitDebugNoticeList(void)
|
||||
{
|
||||
debCheckAddDebugNoticeListEntry(&D_800232E0, "deb_c_debug");
|
||||
void debInit(void) {
|
||||
debTryAdd(&g_DebDebugData, "deb_c_debug");
|
||||
init_tlb();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 5A60 70004E60
|
||||
* V0=p->debug.notice.list entry for name A1 and data A0; generates if not found
|
||||
* accepts: A0=p->data, A1=p->name
|
||||
*/
|
||||
void debCheckAddDebugNoticeListEntry(void* data, char * string)
|
||||
{
|
||||
if (debCheckIfDNLEntryExists(string) == 0)
|
||||
{
|
||||
debAllocateAndAddDNLEntry(string, data);
|
||||
void debTryAdd(void* data, const char *name) {
|
||||
if (debFind(name) == NULL) {
|
||||
debAdd(name, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5A98 70004E98
|
||||
* V0=0; scan debug.notice.list until a NULL pointer
|
||||
* likely this would have executed some function for each entry...
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void *debScanDNLEntries_NEUTERED(void)
|
||||
{
|
||||
void *temp_v0;
|
||||
void *phi_v0;
|
||||
|
||||
phi_v0 = debug_notice_list;
|
||||
if (debug_notice_list != 0)
|
||||
{
|
||||
loop_1:
|
||||
temp_v0 = *phi_v0;
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_v0 != 0)
|
||||
{
|
||||
goto loop_1;
|
||||
}
|
||||
void deb70004E98(void) {
|
||||
struct deblistentry *entry = g_DebList;
|
||||
while (entry != NULL) {
|
||||
// Removed
|
||||
entry = entry->next;
|
||||
}
|
||||
return debug_notice_list;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debScanDNLEntries_NEUTERED
|
||||
/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list)
|
||||
/* 005A9C 70004E9C 8C4232E8 */ lw $v0, %lo(debug_notice_list)($v0)
|
||||
/* 005AA0 70004EA0 10400004 */ beqz $v0, .L70004EB4
|
||||
/* 005AA4 70004EA4 00000000 */ nop
|
||||
/* 005AA8 70004EA8 8C420000 */ lw $v0, ($v0)
|
||||
.L70004EAC:
|
||||
/* 005AAC 70004EAC 5440FFFF */ bnezl $v0, .L70004EAC
|
||||
/* 005AB0 70004EB0 8C420000 */ lw $v0, ($v0)
|
||||
.L70004EB4:
|
||||
/* 005AB4 70004EB4 03E00008 */ jr $ra
|
||||
/* 005AB8 70004EB8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5ABC 70004EBC
|
||||
* unconditional return
|
||||
*/
|
||||
void debRemoved70004EBC(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 5AC4 70004EC4
|
||||
* A0->SP+0, A1->SP+4, A2->SP+8
|
||||
* Removed
|
||||
*/
|
||||
void debRemoved70004EC4(s32 arg0, s32 arg1, s32 arg2)
|
||||
{
|
||||
return;
|
||||
void deb70004EBC(void) {
|
||||
// Removed
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removed
|
||||
*/
|
||||
void deb70004EC4(s32 arg0, s32 arg1, s32 arg2) {
|
||||
// Removed
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
void debInitDebugNoticeList(void);
|
||||
void debCheckAddDebugNoticeListEntry(void *arg0, char *string);
|
||||
void debInit(void);
|
||||
void debTryAdd(void *data, const char *name);
|
||||
|
||||
#endif
|
||||
|
||||
+243
-672
@@ -1,698 +1,269 @@
|
||||
#include "ultra64.h"
|
||||
#include "deb_print.h"
|
||||
#include "bondgame.h"
|
||||
#include "video.h"
|
||||
#include "PR/R4300.h"
|
||||
|
||||
/**
|
||||
* @file deb_print.c
|
||||
* This file contains the stderr manager.
|
||||
*/
|
||||
|
||||
//im just padding
|
||||
// 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
|
||||
//The following regDesc's are similar to PR/Tools/Gload/Server.c
|
||||
/*
|
||||
* Cause Register
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void write_char_to_pos_stderr(int xpos,int ypos,u8 letter) {
|
||||
if ((letter == 9) || (letter == 10)) {
|
||||
letter = 0;
|
||||
}
|
||||
if ((letter <= 0 || letter >= 0x20) && letter >= 0x7f) {
|
||||
letter = 0x3f;
|
||||
}
|
||||
if ((0 < xpos && xpos < 0x48) && (0 < ypos && ypos < 0x20)) {
|
||||
stderr_buffer[ypos * 0x47 + xpos] = letter;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel write_char_to_pos_stderr
|
||||
/* 006230 70005630 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* 006234 70005634 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 006238 70005638 24010009 */ li $at, 9
|
||||
/* 00623C 7000563C 01C03025 */ move $a2, $t6
|
||||
/* 006240 70005640 11C10004 */ beq $t6, $at, .L70005654
|
||||
/* 006244 70005644 01C01025 */ move $v0, $t6
|
||||
/* 006248 70005648 2401000A */ li $at, 10
|
||||
/* 00624C 7000564C 15C10003 */ bne $t6, $at, .L7000565C
|
||||
/* 006250 70005650 00000000 */ nop
|
||||
.L70005654:
|
||||
/* 006254 70005654 00003025 */ move $a2, $zero
|
||||
/* 006258 70005658 00001025 */ move $v0, $zero
|
||||
.L7000565C:
|
||||
/* 00625C 7000565C 18400002 */ blez $v0, .L70005668
|
||||
/* 006260 70005660 28410020 */ slti $at, $v0, 0x20
|
||||
/* 006264 70005664 14200003 */ bnez $at, .L70005674
|
||||
.L70005668:
|
||||
/* 006268 70005668 2841007F */ slti $at, $v0, 0x7f
|
||||
/* 00626C 7000566C 14200002 */ bnez $at, .L70005678
|
||||
/* 006270 70005670 00000000 */ nop
|
||||
.L70005674:
|
||||
/* 006274 70005674 2406003F */ li $a2, 63
|
||||
.L70005678:
|
||||
/* 006278 70005678 0480000E */ bltz $a0, .L700056B4
|
||||
/* 00627C 7000567C 28810048 */ slti $at, $a0, 0x48
|
||||
/* 006280 70005680 1020000C */ beqz $at, .L700056B4
|
||||
/* 006284 70005684 00000000 */ nop
|
||||
/* 006288 70005688 04A0000A */ bltz $a1, .L700056B4
|
||||
/* 00628C 7000568C 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 006290 70005690 10200008 */ beqz $at, .L700056B4
|
||||
/* 006294 70005694 000578C0 */ sll $t7, $a1, 3
|
||||
/* 006298 70005698 01E57821 */ addu $t7, $t7, $a1
|
||||
/* 00629C 7000569C 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0062A0 700056A0 01E57823 */ subu $t7, $t7, $a1
|
||||
/* 0062A4 700056A4 01E4C021 */ addu $t8, $t7, $a0
|
||||
/* 0062A8 700056A8 3C018002 */ lui $at, %hi(stderr_buffer)
|
||||
/* 0062AC 700056AC 00380821 */ addu $at, $at, $t8
|
||||
/* 0062B0 700056B0 A0263718 */ sb $a2, %lo(stderr_buffer)($at)
|
||||
.L700056B4:
|
||||
/* 0062B4 700056B4 03E00008 */ jr $ra
|
||||
/* 0062B8 700056B8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
static regDesc_t causeDesc[] = {
|
||||
{CAUSE_BD, CAUSE_BD, "BD"},
|
||||
/* Interrupt pending bits */
|
||||
{CAUSE_IP8, CAUSE_IP8, "IP8"},
|
||||
{CAUSE_IP7, CAUSE_IP7, "IP7"},
|
||||
{CAUSE_IP6, CAUSE_IP6, "IP6"},
|
||||
{CAUSE_IP5, CAUSE_IP5, "IP5"},
|
||||
{CAUSE_IP4, CAUSE_IP4, "IP4"},
|
||||
{CAUSE_IP3, CAUSE_IP3, "IP3"},
|
||||
{CAUSE_SW2, CAUSE_SW2, "IP2"},
|
||||
{CAUSE_SW1, CAUSE_SW1, "IP1"},
|
||||
/* Hardware exception codes */
|
||||
{CAUSE_EXCMASK, EXC_INT, "Int"},
|
||||
{CAUSE_EXCMASK, EXC_MOD, "TLBmod"},
|
||||
{CAUSE_EXCMASK, EXC_RMISS, "TLBload"},
|
||||
{CAUSE_EXCMASK, EXC_WMISS, "TLBstore"},
|
||||
{CAUSE_EXCMASK, EXC_RADE, "Address error on load or instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_WADE, "Address error on store"},
|
||||
{CAUSE_EXCMASK, EXC_IBE, "Bus error exception on instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_DBE, "Bus error exception on data reference"},
|
||||
{CAUSE_EXCMASK, EXC_SYSCALL, "Syscall"},
|
||||
{CAUSE_EXCMASK, EXC_BREAK, "Brk"},
|
||||
{CAUSE_EXCMASK, EXC_II, "Reserved instruction"},
|
||||
{CAUSE_EXCMASK, EXC_CPU, "Cop unusable"},
|
||||
{CAUSE_EXCMASK, EXC_OV, "Overflow"},
|
||||
{CAUSE_EXCMASK, EXC_TRAP, "Trap"},
|
||||
{CAUSE_EXCMASK,
|
||||
EXC_VCEI,
|
||||
"Virtual coherency exception on intruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_FPE, "Fp exception"},
|
||||
{CAUSE_EXCMASK, EXC_WATCH, "Watchpoint"},
|
||||
{CAUSE_EXCMASK, EXC_VCED, "Virtual coherency exception on data reference"},
|
||||
{0, 0, ""},
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 62BC 700056BC
|
||||
* write char A0 to stderr
|
||||
* accepts: A0=char
|
||||
/*
|
||||
* Status register
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void __osRdbSend(void) {
|
||||
static regDesc_t srDesc[] = {
|
||||
{SR_CU3, SR_CU3, "CU3"},
|
||||
{SR_CU2, SR_CU2, "CU2"},
|
||||
{SR_CU1, SR_CU1, "CU1"},
|
||||
{SR_CU0, SR_CU0, "CU0"},
|
||||
{SR_RP, SR_RP, "RP"},
|
||||
{SR_FR, SR_FR, "FR"},
|
||||
{SR_RE, SR_RE, "RE"},
|
||||
{SR_BEV, SR_BEV, "BEV"},
|
||||
{SR_TS, SR_TS, "TS"},
|
||||
{SR_SR, SR_SR, "SR"},
|
||||
{SR_CH, SR_CH, "CH"},
|
||||
{SR_CE, SR_CE, "CE"},
|
||||
{SR_DE, SR_DE, "DE"},
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel __osRdbSend
|
||||
/* 0062BC 700056BC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0062C0 700056C0 308600FF */ andi $a2, $a0, 0xff
|
||||
/* 0062C4 700056C4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0062C8 700056C8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0062CC 700056CC AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0062D0 700056D0 10C00039 */ beqz $a2, .L700057B8
|
||||
/* 0062D4 700056D4 00C01025 */ move $v0, $a2
|
||||
/* 0062D8 700056D8 24010009 */ li $at, 9
|
||||
/* 0062DC 700056DC 14C1000A */ bne $a2, $at, .L70005708
|
||||
/* 0062E0 700056E0 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 0062E4 700056E4 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
.L700056E8:
|
||||
/* 0062E8 700056E8 0C0015AF */ jal __osRdbSend
|
||||
/* 0062EC 700056EC 24040020 */ li $a0, 32
|
||||
/* 0062F0 700056F0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 0062F4 700056F4 31CF0007 */ andi $t7, $t6, 7
|
||||
/* 0062F8 700056F8 15E0FFFB */ bnez $t7, .L700056E8
|
||||
/* 0062FC 700056FC 00000000 */ nop
|
||||
/* 006300 70005700 1000002E */ b .L700057BC
|
||||
/* 006304 70005704 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L70005708:
|
||||
/* 006308 70005708 2401000A */ li $at, 10
|
||||
/* 00630C 7000570C 14410008 */ bne $v0, $at, .L70005730
|
||||
/* 006310 70005710 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006314 70005714 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006318 70005718 8C780000 */ lw $t8, ($v1)
|
||||
/* 00631C 7000571C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 006320 70005720 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
/* 006324 70005724 27190001 */ addiu $t9, $t8, 1
|
||||
/* 006328 70005728 AC790000 */ sw $t9, ($v1)
|
||||
/* 00632C 7000572C AE000000 */ sw $zero, ($s0)
|
||||
.L70005730:
|
||||
/* 006330 70005730 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006334 70005734 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006338 70005738 8C650000 */ lw $a1, ($v1)
|
||||
/* 00633C 7000573C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
|
||||
/* 006340 70005740 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
|
||||
/* 006344 70005744 28A1001F */ slti $at, $a1, 0x1f
|
||||
/* 006348 70005748 1420000A */ bnez $at, .L70005774
|
||||
/* 00634C 7000574C 24A4FFE2 */ addiu $a0, $a1, -0x1e
|
||||
/* 006350 70005750 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* 006354 70005754 0C0015F3 */ jal scroll_stderr_oneline
|
||||
/* 006358 70005758 A3A6002B */ sb $a2, 0x2b($sp)
|
||||
/* 00635C 7000575C 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006360 70005760 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006364 70005764 2408001E */ li $t0, 30
|
||||
/* 006368 70005768 8FA20024 */ lw $v0, 0x24($sp)
|
||||
/* 00636C 7000576C 93A6002B */ lbu $a2, 0x2b($sp)
|
||||
/* 006370 70005770 AC680000 */ sw $t0, ($v1)
|
||||
.L70005774:
|
||||
/* 006374 70005774 2401000A */ li $at, 10
|
||||
/* 006378 70005778 50410010 */ beql $v0, $at, .L700057BC
|
||||
/* 00637C 7000577C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 006380 70005780 8E040000 */ lw $a0, ($s0)
|
||||
/* 006384 70005784 0C00158C */ jal write_char_to_pos_stderr
|
||||
/* 006388 70005788 8C650000 */ lw $a1, ($v1)
|
||||
/* 00638C 7000578C 8E090000 */ lw $t1, ($s0)
|
||||
/* 006390 70005790 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
|
||||
/* 006394 70005794 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
|
||||
/* 006398 70005798 252A0001 */ addiu $t2, $t1, 1
|
||||
/* 00639C 7000579C 29410047 */ slti $at, $t2, 0x47
|
||||
/* 0063A0 700057A0 14200005 */ bnez $at, .L700057B8
|
||||
/* 0063A4 700057A4 AE0A0000 */ sw $t2, ($s0)
|
||||
/* 0063A8 700057A8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0063AC 700057AC AE000000 */ sw $zero, ($s0)
|
||||
/* 0063B0 700057B0 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0063B4 700057B4 AC6D0000 */ sw $t5, ($v1)
|
||||
.L700057B8:
|
||||
/* 0063B8 700057B8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L700057BC:
|
||||
/* 0063BC 700057BC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0063C0 700057C0 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 0063C4 700057C4 03E00008 */ jr $ra
|
||||
/* 0063C8 700057C8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
/*
|
||||
* Interrupt enable bits
|
||||
* (NOTE: bits set to 1 enable the corresponding level interrupt)
|
||||
*/
|
||||
|
||||
{SR_IBIT8, SR_IBIT8, "IM8"},
|
||||
{SR_IBIT7, SR_IBIT7, "IM7"},
|
||||
{SR_IBIT6, SR_IBIT6, "IM6"},
|
||||
{SR_IBIT5, SR_IBIT5, "IM5"},
|
||||
{SR_IBIT4, SR_IBIT4, "IM4"},
|
||||
{SR_IBIT3, SR_IBIT3, "IM3"},
|
||||
{SR_IBIT2, SR_IBIT2, "IM2"},
|
||||
{SR_IBIT1, SR_IBIT1, "IM1"},
|
||||
{SR_KX, SR_KX, "KX"},
|
||||
{SR_SX, SR_SX, "SX"},
|
||||
{SR_UX, SR_UX, "UX"},
|
||||
{SR_KSU_MASK, SR_KSU_USR, "USR"},
|
||||
{SR_KSU_MASK, SR_KSU_SUP, "SUP"},
|
||||
{SR_KSU_MASK, SR_KSU_KER, "KER"},
|
||||
{SR_ERL, SR_ERL, "ERL"},
|
||||
{SR_EXL, SR_EXL, "EXL"},
|
||||
{SR_IE, SR_IE, "IE"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 63CC 700057CC
|
||||
* scroll stderr down one line
|
||||
* accepts: A0=ypos
|
||||
/*
|
||||
* floating-point status register
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
s32 scroll_stderr_oneline(s32 arg0) {
|
||||
void *temp_a1_2;
|
||||
void *temp_a1;
|
||||
static regDesc_t fpcsrDesc[] = {
|
||||
{FPCSR_FS, FPCSR_FS, "FS"},
|
||||
{FPCSR_C, FPCSR_C, "C"},
|
||||
{FPCSR_CE, FPCSR_CE, "Unimplemented"},
|
||||
{FPCSR_CV, FPCSR_CV, "Invalid op"},
|
||||
{FPCSR_CZ, FPCSR_CZ, "/ by 0.0"},
|
||||
{FPCSR_CO, FPCSR_CO, "Overflow"},
|
||||
{FPCSR_CU, FPCSR_CU, "Underflow"},
|
||||
{FPCSR_CI, FPCSR_CI, "Inexact op"},
|
||||
{FPCSR_EV, FPCSR_EV, "EV"},
|
||||
{FPCSR_EZ, FPCSR_EZ, "EZ"},
|
||||
{FPCSR_EO, FPCSR_EO, "EO"},
|
||||
{FPCSR_EU, FPCSR_EU, "EU"},
|
||||
{FPCSR_EI, FPCSR_EI, "EI"},
|
||||
{FPCSR_FV, FPCSR_FV, "FV"},
|
||||
{FPCSR_FZ, FPCSR_FZ, "FZ"},
|
||||
{FPCSR_FO, FPCSR_FO, "FO"},
|
||||
{FPCSR_FU, FPCSR_FU, "FU"},
|
||||
{FPCSR_FI, FPCSR_FI, "FI"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RN, "RN"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RZ, "RZ"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RP, "RP"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RM, "RM"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
void *g_StackPtrs1[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
void *g_StackPtrs2[] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &sp_debug};
|
||||
void *g_StackPtrs3[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
|
||||
|
||||
// 71 x 32 text buffer (32th line is not drawn)
|
||||
unsigned char g_DebugOutputTextBuffer[32][71] = {0};
|
||||
|
||||
static s32 g_DebugOutputCurrentPosX = 0;
|
||||
static s32 g_DebugOutputCurrentPosY = 0;
|
||||
|
||||
// 4 x 7 bitmaps of ascii characters (0x20 - 0x7E), each padded to 32 bits
|
||||
u32 g_DebugOutputBitmaps[] = {
|
||||
0x00000000, 0x22220200, 0x55000000, 0x05F5F500, 0x27427200, // ' ', '!', '\"', '#', '$'
|
||||
0x05124500, 0x34255300, 0x22000000, 0x24444420, 0x42222240, // '%', '&', '\'', '(', ')'
|
||||
0x06F6F600, 0x00272000, 0x00000240, 0x00070000, 0x00000200, // '*', '+', '´', '-', '.'
|
||||
0x11224480, 0x25555200, 0x26222700, 0x25125700, 0x61211600, // '/', '0', '1', '2', '3'
|
||||
0x33557300, 0x64611600, 0x24655200, 0x71112200, 0x25755200, // '4', '5', '6', '7', '8'
|
||||
0x25531600, 0x00200200, 0x00200640, 0x01242100, 0x00707000, // '9', ':', ';', '<', '='
|
||||
0x04212400, 0x07120200, 0x25FF5700, 0x02557D00, 0x06575E00, // '>', '?', '@', 'A', 'B'
|
||||
0x07445300, 0x07555600, 0x07565700, 0x07564400, 0x07C95700, // 'C', 'D', 'E', 'F', 'G'
|
||||
0x05575500, 0x07222700, 0x03111600, 0x05665500, 0x04445F00, // 'H', 'I', 'J', 'K', 'L'
|
||||
0x0DFF9D00, 0x0F777D00, 0x07DD5700, 0x07564600, 0x07995770, // 'M', 'N', 'O', 'P', 'Q'
|
||||
0x07565500, 0x07461E00, 0x07222200, 0x0D999600, 0x0D552200, // 'R', 'S', 'T', 'U', 'V'
|
||||
0x0DF77500, 0x0D625500, 0x05622600, 0x07125700, 0x32222230, // 'W', 'X', 'Y', 'Z', '['
|
||||
0x44222110, 0x62222260, 0x25000000, 0x00000700, 0x42200000, // '\\', ']', '^', '_', '`'
|
||||
0x0067D700, 0x44755700, 0x00788600, 0x117DD700, 0x006FC700, // 'a', 'b', 'c', 'd', 'e'
|
||||
0x32722700, 0x007DD730, 0x44755500, 0x02622700, 0x02711130, // 'f', 'g', 'h', 'i', 'j',
|
||||
0x44766500, 0x62222700, 0x00FFFF00, 0x00755D00, 0x006DD600, // 'k', 'l', 'm', 'n', 'o'
|
||||
0x00755740, 0x00799710, 0x00744600, 0x00775700, 0x02722300, // 'p', 'q', 'r', 's', 't'
|
||||
0x00555700, 0x00552200, 0x00577500, 0x00562500, 0x00552220, // 'u', 'v', 'w', 'x', 'y'
|
||||
0x00703700, 0x12242210, 0x02222220, 0x42212240, 0x005A0000 // 'z', '{', '|', '}', '~'
|
||||
};
|
||||
|
||||
u16 *g_DebugOutputVideoBuffer1 = NULL;
|
||||
u16 *g_DebugOutputVideoBuffer2 = NULL;
|
||||
|
||||
// Padding
|
||||
u32 D_80024184[4] = {0};
|
||||
|
||||
void deboutWriteCharAtPos(s32 x, s32 y, unsigned char c) {
|
||||
if ((c == '\t') || (c == '\n')) {
|
||||
c = '\0';
|
||||
}
|
||||
// (possible return value: (0 < arg0))
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel scroll_stderr_oneline
|
||||
/* 0063CC 700057CC 0004102A */ slt $v0, $zero, $a0
|
||||
/* 0063D0 700057D0 10400020 */ beqz $v0, .L70005854
|
||||
/* 0063D4 700057D4 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 0063D8 700057D8 3C088002 */ lui $t0, %hi(stderr_buffer + 0x899)
|
||||
/* 0063DC 700057DC 25083FB1 */ addiu $t0, %lo(stderr_buffer + 0x899) # addiu $t0, $t0, 0x3fb1
|
||||
/* 0063E0 700057E0 24070047 */ li $a3, 71
|
||||
.L700057E4:
|
||||
/* 0063E4 700057E4 3C0E8002 */ lui $t6, %hi(stderr_buffer)
|
||||
/* 0063E8 700057E8 25C63718 */ addiu $a2, $t6, %lo(stderr_buffer)
|
||||
/* 0063EC 700057EC 00C01825 */ move $v1, $a2
|
||||
.L700057F0:
|
||||
/* 0063F0 700057F0 90CF0047 */ lbu $t7, 0x47($a2)
|
||||
/* 0063F4 700057F4 90D80048 */ lbu $t8, 0x48($a2)
|
||||
/* 0063F8 700057F8 90D90049 */ lbu $t9, 0x49($a2)
|
||||
/* 0063FC 700057FC 24020003 */ li $v0, 3
|
||||
/* 006400 70005800 24650003 */ addiu $a1, $v1, 3
|
||||
/* 006404 70005804 A0CF0000 */ sb $t7, ($a2)
|
||||
/* 006408 70005808 A0D80001 */ sb $t8, 1($a2)
|
||||
/* 00640C 7000580C A0D90002 */ sb $t9, 2($a2)
|
||||
.L70005810:
|
||||
/* 006410 70005810 90AA0048 */ lbu $t2, 0x48($a1)
|
||||
/* 006414 70005814 90AB0049 */ lbu $t3, 0x49($a1)
|
||||
/* 006418 70005818 90AC004A */ lbu $t4, 0x4a($a1)
|
||||
/* 00641C 7000581C 90A90047 */ lbu $t1, 0x47($a1)
|
||||
/* 006420 70005820 24420004 */ addiu $v0, $v0, 4
|
||||
/* 006424 70005824 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 006428 70005828 A0AAFFFD */ sb $t2, -3($a1)
|
||||
/* 00642C 7000582C A0ABFFFE */ sb $t3, -2($a1)
|
||||
/* 006430 70005830 A0ACFFFF */ sb $t4, -1($a1)
|
||||
/* 006434 70005834 1447FFF6 */ bne $v0, $a3, .L70005810
|
||||
/* 006438 70005838 A0A9FFFC */ sb $t1, -4($a1)
|
||||
/* 00643C 7000583C 24C60047 */ addiu $a2, $a2, 0x47
|
||||
/* 006440 70005840 14C8FFEB */ bne $a2, $t0, .L700057F0
|
||||
/* 006444 70005844 24630047 */ addiu $v1, $v1, 0x47
|
||||
/* 006448 70005848 0004102A */ slt $v0, $zero, $a0
|
||||
/* 00644C 7000584C 1440FFE5 */ bnez $v0, .L700057E4
|
||||
/* 006450 70005850 2484FFFF */ addiu $a0, $a0, -1
|
||||
.L70005854:
|
||||
/* 006454 70005854 03E00008 */ jr $ra
|
||||
/* 006458 70005858 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 645C 7000585C
|
||||
* print char A2 to stderr screen position (A0,A1) in video buffer 1
|
||||
* accepts: A0=xpos, A1=ypos, A2=char
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void print_to_vidbuff1(s32 arg0, s32 arg1, ? arg2, s32 arg6, s32 arg7, s32 arg8) {
|
||||
s32 temp_at;
|
||||
void *temp_a0;
|
||||
void *temp_v1;
|
||||
void *temp_v1_2;
|
||||
void *temp_v1_3;
|
||||
void *temp_v1_4;
|
||||
|
||||
// Node 0
|
||||
if (arg8 == 0)
|
||||
{
|
||||
// Node 1
|
||||
if ((c > '\0') && (c < ' ') || (c > '~')) {
|
||||
c = '?';
|
||||
}
|
||||
// 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;
|
||||
if (((x >= 0) && (x <= 71)) && ((y >= 0) && (y <= 31))) {
|
||||
g_DebugOutputTextBuffer[y][x] = c;
|
||||
}
|
||||
}
|
||||
|
||||
void deboutWriteChar(unsigned char c) {
|
||||
if (c != '\0') {
|
||||
if (c == '\t') {
|
||||
do {
|
||||
deboutWriteChar(' ');
|
||||
} while (g_DebugOutputCurrentPosX & 7);
|
||||
|
||||
return;
|
||||
}
|
||||
if (c == '\n') {
|
||||
g_DebugOutputCurrentPosY++;
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
}
|
||||
if (g_DebugOutputCurrentPosY > 30) {
|
||||
deboutScrollUp(g_DebugOutputCurrentPosY - 30);
|
||||
g_DebugOutputCurrentPosY = 30;
|
||||
}
|
||||
if (c != '\n') {
|
||||
deboutWriteCharAtPos(g_DebugOutputCurrentPosX, g_DebugOutputCurrentPosY, c);
|
||||
g_DebugOutputCurrentPosX++;
|
||||
if (g_DebugOutputCurrentPosX > 70) {
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
g_DebugOutputCurrentPosY++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// (possible return value: get_video2_settings_txtClipW())
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel print_to_vidbuff1
|
||||
/* 00645C 7000585C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 006460 70005860 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 006464 70005864 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 006468 70005868 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 00646C 7000586C 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 006470 70005870 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 006474 70005874 93A50023 */ lbu $a1, 0x23($sp)
|
||||
/* 006478 70005878 54A00003 */ bnezl $a1, .L70005888
|
||||
/* 00647C 7000587C 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 006480 70005880 24050020 */ li $a1, 32
|
||||
/* 006484 70005884 28A10020 */ slti $at, $a1, 0x20
|
||||
.L70005888:
|
||||
/* 006488 70005888 1420003A */ bnez $at, .L70005974
|
||||
/* 00648C 7000588C 28A1007F */ slti $at, $a1, 0x7f
|
||||
/* 006490 70005890 10200038 */ beqz $at, .L70005974
|
||||
/* 006494 70005894 8FAE0018 */ lw $t6, 0x18($sp)
|
||||
/* 006498 70005898 8FAB001C */ lw $t3, 0x1c($sp)
|
||||
/* 00649C 7000589C 3C188002 */ lui $t8, %hi(ptr_videobuffer1)
|
||||
/* 0064A0 700058A0 8F18417C */ lw $t8, %lo(ptr_videobuffer1)($t8)
|
||||
/* 0064A4 700058A4 01620019 */ multu $t3, $v0
|
||||
/* 0064A8 700058A8 000E7840 */ sll $t7, $t6, 1
|
||||
/* 0064AC 700058AC 00057080 */ sll $t6, $a1, 2
|
||||
/* 0064B0 700058B0 3C048002 */ lui $a0, %hi(stderr_buffer+0x868)
|
||||
/* 0064B4 700058B4 008E2021 */ addu $a0, $a0, $t6
|
||||
/* 0064B8 700058B8 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 0064BC 700058BC 8C843F80 */ lw $a0, %lo(stderr_buffer+0x868)($a0)
|
||||
/* 0064C0 700058C0 3C058000 */ lui $a1, 0x8000
|
||||
/* 0064C4 700058C4 00004025 */ move $t0, $zero
|
||||
/* 0064C8 700058C8 00024840 */ sll $t1, $v0, 1
|
||||
/* 0064CC 700058CC 00006012 */ mflo $t4
|
||||
/* 0064D0 700058D0 000C6840 */ sll $t5, $t4, 1
|
||||
/* 0064D4 700058D4 032D1821 */ addu $v1, $t9, $t5
|
||||
/* 0064D8 700058D8 240A0007 */ li $t2, 7
|
||||
/* 0064DC 700058DC 24070001 */ li $a3, 1
|
||||
/* 0064E0 700058E0 3406FFFF */ li $a2, 65535
|
||||
.L700058E4:
|
||||
/* 0064E4 700058E4 00857824 */ and $t7, $a0, $a1
|
||||
/* 0064E8 700058E8 11E00003 */ beqz $t7, .L700058F8
|
||||
/* 0064EC 700058EC 0004C040 */ sll $t8, $a0, 1
|
||||
/* 0064F0 700058F0 10000002 */ b .L700058FC
|
||||
/* 0064F4 700058F4 A4660000 */ sh $a2, ($v1)
|
||||
.L700058F8:
|
||||
/* 0064F8 700058F8 A4670000 */ sh $a3, ($v1)
|
||||
.L700058FC:
|
||||
/* 0064FC 700058FC 03055824 */ and $t3, $t8, $a1
|
||||
/* 006500 70005900 24630002 */ addiu $v1, $v1, 2
|
||||
/* 006504 70005904 11600003 */ beqz $t3, .L70005914
|
||||
/* 006508 70005908 03002025 */ move $a0, $t8
|
||||
/* 00650C 7000590C 10000002 */ b .L70005918
|
||||
/* 006510 70005910 A4660000 */ sh $a2, ($v1)
|
||||
.L70005914:
|
||||
/* 006514 70005914 A4670000 */ sh $a3, ($v1)
|
||||
.L70005918:
|
||||
/* 006518 70005918 00046040 */ sll $t4, $a0, 1
|
||||
/* 00651C 7000591C 0185C824 */ and $t9, $t4, $a1
|
||||
/* 006520 70005920 01802025 */ move $a0, $t4
|
||||
/* 006524 70005924 13200003 */ beqz $t9, .L70005934
|
||||
/* 006528 70005928 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00652C 7000592C 10000002 */ b .L70005938
|
||||
/* 006530 70005930 A4660000 */ sh $a2, ($v1)
|
||||
.L70005934:
|
||||
/* 006534 70005934 A4670000 */ sh $a3, ($v1)
|
||||
.L70005938:
|
||||
/* 006538 70005938 00046840 */ sll $t5, $a0, 1
|
||||
/* 00653C 7000593C 01A57024 */ and $t6, $t5, $a1
|
||||
/* 006540 70005940 01A02025 */ move $a0, $t5
|
||||
/* 006544 70005944 11C00003 */ beqz $t6, .L70005954
|
||||
/* 006548 70005948 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00654C 7000594C 10000002 */ b .L70005958
|
||||
/* 006550 70005950 A4660000 */ sh $a2, ($v1)
|
||||
.L70005954:
|
||||
/* 006554 70005954 A4670000 */ sh $a3, ($v1)
|
||||
.L70005958:
|
||||
/* 006558 70005958 24630002 */ addiu $v1, $v1, 2
|
||||
/* 00655C 7000595C 25080001 */ addiu $t0, $t0, 1
|
||||
/* 006560 70005960 00047840 */ sll $t7, $a0, 1
|
||||
/* 006564 70005964 00691821 */ addu $v1, $v1, $t1
|
||||
/* 006568 70005968 01E02025 */ move $a0, $t7
|
||||
/* 00656C 7000596C 150AFFDD */ bne $t0, $t2, .L700058E4
|
||||
/* 006570 70005970 2463FFF8 */ addiu $v1, $v1, -8
|
||||
.L70005974:
|
||||
/* 006574 70005974 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 006578 70005978 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 00657C 7000597C 03E00008 */ jr $ra
|
||||
/* 006580 70005980 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 6584 70005984
|
||||
* set pointers to video buffers 1 & 2 to A0 and A1, respectively
|
||||
* sets values to uncached addresses
|
||||
* A0 | A0000000 -> 8002417C
|
||||
* A1 | A0000000 -> 80024180
|
||||
*/
|
||||
|
||||
void set_ptr_video_buffers(s32 arg0, s32 arg1) {
|
||||
ptr_videobuffer1 = (s32) (arg0 | 0xa0000000);
|
||||
ptr_videobuffer2 = (s32) (arg1 | 0xa0000000);
|
||||
void deboutScrollUp(s32 numlines) {
|
||||
s32 y;
|
||||
s32 x;
|
||||
while (numlines-- > 0) {
|
||||
for (y = 0; y < 31; y++) {
|
||||
for (x = 0; x < 71; x++) {
|
||||
g_DebugOutputTextBuffer[y][x] = g_DebugOutputTextBuffer[y + 1][x];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 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[0], &cfb_16[1]);
|
||||
void deboutDrawChar(s32 x, s32 y, unsigned char c) {
|
||||
s32 bitmap_x;
|
||||
s32 bitmap_y;
|
||||
u32 bitmap;
|
||||
s16 screen_w = viGetX();
|
||||
u16 *ptr;
|
||||
if (c == '\0') {
|
||||
c = ' ';
|
||||
}
|
||||
if ((c >= ' ') && (c <= '~')) {
|
||||
ptr = (g_DebugOutputVideoBuffer1 + x + (y * screen_w));
|
||||
bitmap = g_DebugOutputBitmaps[c - ' '];
|
||||
for (bitmap_y = 0; bitmap_y < 7; bitmap_y++) {
|
||||
for (bitmap_x = 0; bitmap_x < 4; bitmap_x++) {
|
||||
if (bitmap & (1 << 31)) {
|
||||
*ptr = GPACK_RGBA5551(255, 255, 255, 1);
|
||||
} else {
|
||||
*ptr = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
ptr++;
|
||||
bitmap <<= 1;
|
||||
}
|
||||
ptr += screen_w;
|
||||
ptr -= 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 65D0 700059D0
|
||||
* write stderr to video buffer A0
|
||||
* accepts: A0=p->video buffer
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void write_stderr_to_buffer(void) {
|
||||
|
||||
void deboutSetBuffers(u16 *buffer1, u16 *buffer2) {
|
||||
g_DebugOutputVideoBuffer1 = K0_TO_K1(buffer1);
|
||||
g_DebugOutputVideoBuffer2 = K0_TO_K1(buffer2);
|
||||
}
|
||||
|
||||
void deboutInitBuffers(void) {
|
||||
deboutSetBuffers(&cfb_16[0], &cfb_16[1]);
|
||||
}
|
||||
|
||||
void deboutDrawToBuffer(u16 *buffer) {
|
||||
s32 screen_w;
|
||||
s32 screen_h;
|
||||
s32 output_w;
|
||||
s32 output_h;
|
||||
s32 x;
|
||||
s32 y;
|
||||
deboutInitBuffers();
|
||||
g_DebugOutputVideoBuffer1 = K0_TO_K1(buffer);
|
||||
screen_w = ((viGetX() - 13) / 4);
|
||||
screen_h = ((viGetY() - 10) / 7);
|
||||
output_w = screen_w - 5; // - margin_w
|
||||
output_h = screen_h - 1; // - margin_h
|
||||
for (y = 0; ((y < output_h) && (y < 31)); y++) {
|
||||
for (x = 0; ((x < output_w) && (x < 71)); x++) {
|
||||
deboutDrawChar(((x + 5) * 4), ((y + 1) * 7), g_DebugOutputTextBuffer[y][x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel write_stderr_to_buffer
|
||||
/* 0065D0 700059D0 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0065D4 700059D4 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0065D8 700059D8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0065DC 700059DC 00808025 */ move $s0, $a0
|
||||
/* 0065E0 700059E0 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0065E4 700059E4 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0065E8 700059E8 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0065EC 700059EC AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0065F0 700059F0 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0065F4 700059F4 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0065F8 700059F8 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0065FC 700059FC 0C001669 */ jal set_video_buffer_pointers
|
||||
/* 006600 70005A00 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 006604 70005A04 3C01A000 */ lui $at, 0xa000
|
||||
/* 006608 70005A08 02017025 */ or $t6, $s0, $at
|
||||
/* 00660C 70005A0C 3C018002 */ lui $at, %hi(ptr_videobuffer1)
|
||||
/* 006610 70005A10 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 006614 70005A14 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at)
|
||||
/* 006618 70005A18 2450FFF3 */ addiu $s0, $v0, -0xd
|
||||
/* 00661C 70005A1C 06010003 */ bgez $s0, .L70005A2C
|
||||
/* 006620 70005A20 00107883 */ sra $t7, $s0, 2
|
||||
/* 006624 70005A24 26010003 */ addiu $at, $s0, 3
|
||||
/* 006628 70005A28 00017883 */ sra $t7, $at, 2
|
||||
.L70005A2C:
|
||||
/* 00662C 70005A2C 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 006630 70005A30 01E08025 */ move $s0, $t7
|
||||
/* 006634 70005A34 2443FFF6 */ addiu $v1, $v0, -0xa
|
||||
/* 006638 70005A38 24010007 */ li $at, 7
|
||||
/* 00663C 70005A3C 0061001A */ div $zero, $v1, $at
|
||||
/* 006640 70005A40 00001812 */ mflo $v1
|
||||
/* 006644 70005A44 247EFFFF */ addiu $fp, $v1, -1
|
||||
/* 006648 70005A48 1BC00023 */ blez $fp, .L70005AD8
|
||||
/* 00664C 70005A4C 0000A825 */ move $s5, $zero
|
||||
/* 006650 70005A50 2616FFFB */ addiu $s6, $s0, -5
|
||||
/* 006654 70005A54 2417001F */ li $s7, 31
|
||||
/* 006658 70005A58 24140130 */ li $s4, 304
|
||||
.L70005A5C:
|
||||
/* 00665C 70005A5C 1AC00018 */ blez $s6, .L70005AC0
|
||||
/* 006660 70005A60 00008080 */ sll $s0, $zero, 2
|
||||
/* 006664 70005A64 0015C8C0 */ sll $t9, $s5, 3
|
||||
/* 006668 70005A68 0335C821 */ addu $t9, $t9, $s5
|
||||
/* 00666C 70005A6C 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 006670 70005A70 001590C0 */ sll $s2, $s5, 3
|
||||
/* 006674 70005A74 3C098002 */ lui $t1, %hi(stderr_buffer)
|
||||
/* 006678 70005A78 25293718 */ addiu $t1, %lo(stderr_buffer) # addiu $t1, $t1, 0x3718
|
||||
/* 00667C 70005A7C 02559023 */ subu $s2, $s2, $s5
|
||||
/* 006680 70005A80 0335C823 */ subu $t9, $t9, $s5
|
||||
/* 006684 70005A84 00169880 */ sll $s3, $s6, 2
|
||||
/* 006688 70005A88 26730014 */ addiu $s3, $s3, 0x14
|
||||
/* 00668C 70005A8C 03298821 */ addu $s1, $t9, $t1
|
||||
/* 006690 70005A90 26520007 */ addiu $s2, $s2, 7
|
||||
/* 006694 70005A94 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 006698 70005A98 02002025 */ move $a0, $s0
|
||||
.L70005A9C:
|
||||
/* 00669C 70005A9C 02402825 */ move $a1, $s2
|
||||
/* 0066A0 70005AA0 0C001617 */ jal print_to_vidbuff1
|
||||
/* 0066A4 70005AA4 92260000 */ lbu $a2, ($s1)
|
||||
/* 0066A8 70005AA8 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0066AC 70005AAC 0213082A */ slt $at, $s0, $s3
|
||||
/* 0066B0 70005AB0 10200003 */ beqz $at, .L70005AC0
|
||||
/* 0066B4 70005AB4 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0066B8 70005AB8 5614FFF8 */ bnel $s0, $s4, .L70005A9C
|
||||
/* 0066BC 70005ABC 02002025 */ move $a0, $s0
|
||||
.L70005AC0:
|
||||
/* 0066C0 70005AC0 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 0066C4 70005AC4 02BE082A */ slt $at, $s5, $fp
|
||||
/* 0066C8 70005AC8 50200004 */ beql $at, $zero, .L70005ADC
|
||||
/* 0066CC 70005ACC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0066D0 70005AD0 16B7FFE2 */ bne $s5, $s7, .L70005A5C
|
||||
/* 0066D4 70005AD4 00000000 */ nop
|
||||
.L70005AD8:
|
||||
/* 0066D8 70005AD8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L70005ADC:
|
||||
/* 0066DC 70005ADC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0066E0 70005AE0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0066E4 70005AE4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0066E8 70005AE8 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0066EC 70005AEC 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0066F0 70005AF0 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0066F4 70005AF4 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0066F8 70005AF8 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0066FC 70005AFC 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 006700 70005B00 03E00008 */ jr $ra
|
||||
/* 006704 70005B04 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
+13
-14
@@ -3,21 +3,20 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
//im just padding
|
||||
extern u32 D_80023300;
|
||||
|
||||
struct debug_processor_error_entry
|
||||
typedef struct
|
||||
{
|
||||
u32 val1;
|
||||
u32 val2;
|
||||
void *string;
|
||||
};
|
||||
u32 mask;
|
||||
u32 value;
|
||||
char *string;
|
||||
} regDesc_t;
|
||||
|
||||
extern struct debug_processor_error_entry debug_processor_error_table[];
|
||||
extern void *stack_ptrs_1[];
|
||||
extern void *stack_ptrs_2[];
|
||||
extern void *stack_ptrs_3[];
|
||||
extern char stderr_buffer[2280];
|
||||
extern void *g_StackPtrs1[];
|
||||
extern void *g_StackPtrs2[];
|
||||
extern void *g_StackPtrs3[];
|
||||
|
||||
void deboutWriteChar(unsigned char c);
|
||||
void deboutScrollUp(s32 numlines);
|
||||
void deboutInitBuffers();
|
||||
void deboutDrawToBuffer(u16 *buffer);
|
||||
|
||||
void write_stderr_to_buffer(u32 *buffer);
|
||||
#endif
|
||||
|
||||
+31
-156
@@ -2,6 +2,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "bondgame.h"
|
||||
#include "deb_video.h"
|
||||
#include "tlb_manage.h"
|
||||
|
||||
/**
|
||||
* @file deb_video.c
|
||||
@@ -10,6 +11,13 @@
|
||||
* I should probably be renamed...
|
||||
*/
|
||||
|
||||
#define IEEE_FLOAT_FRACTION_BITMASK 0x7FFFFF
|
||||
#define IEEE_FLOAT_FRACTION_BIT_COUNT 23
|
||||
#define IEEE_FLOAT_EXPONENT_BITMASK 0x7F800000
|
||||
#define IEEE_FLOAT_EXPONENT_BIT_COUNT 8
|
||||
#define IEEE_FLOAT_SIGN_BITMASK 0x80000000
|
||||
#define IEEE_FLOAT_SIGN_BIT_COUNT 1
|
||||
|
||||
//bss
|
||||
char tlbthread[0x6B0];
|
||||
char tlbStack[0x2300];
|
||||
@@ -27,7 +35,7 @@ char indy_read_buffer[0x60];
|
||||
* 5AE0 70004EE0
|
||||
*/
|
||||
void init_tlb(void) {
|
||||
set_video_buffer_pointers();
|
||||
deboutInitBuffers();
|
||||
osCreateMesgQueue(&tlbMesgQ, &tlbMesgBuf, 1);
|
||||
osCreateThread(&tlbthread, 5, &tlbproc, 0, &tlbStack, 0x28);
|
||||
osStartThread(&tlbthread);
|
||||
@@ -98,7 +106,7 @@ glabel tlbproc
|
||||
/* 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
|
||||
/* 005C14 70005014 0C000676 */ jal tlbmanageTranslateLoadRomFromTlbAddress
|
||||
/* 005C18 70005018 8D040124 */ lw $a0, 0x124($t0)
|
||||
/* 005C1C 7000501C 3C098006 */ lui $t1, %hi(ptr_tlbthread_maybe)
|
||||
/* 005C20 70005020 8D29365C */ lw $t1, %lo(ptr_tlbthread_maybe)($t1)
|
||||
@@ -545,16 +553,16 @@ s32 debug_sp_related_11(u32 arg0, u32 arg1)
|
||||
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;
|
||||
sp1C = (?32) g_StackPtrs1;
|
||||
sp1C.unk4 = (?32) g_StackPtrs1.unk4;
|
||||
sp1C.unk8 = (?32) g_StackPtrs1.unk8;
|
||||
sp1C.unkC = (?32) g_StackPtrs1.unkC;
|
||||
sp1C.unk10 = (?32) g_StackPtrs1.unk10;
|
||||
sp8 = (?32) g_StackPtrs2;
|
||||
sp8.unk4 = (?32) g_StackPtrs2.unk4;
|
||||
sp8.unk8 = (?32) g_StackPtrs2.unk8;
|
||||
sp8.unkC = (?32) g_StackPtrs2.unkC;
|
||||
sp8.unk10 = (?32) g_StackPtrs2.unk10;
|
||||
if (arg1 <= 0)
|
||||
{
|
||||
return 0;
|
||||
@@ -575,15 +583,15 @@ s32 debug_sp_related_11(u32 arg0, u32 arg1)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_sp_related_11
|
||||
/* 006020 70005420 3C0E8002 */ lui $t6, %hi(stack_ptrs_1)
|
||||
/* 006024 70005424 25CE36DC */ addiu $t6, %lo(stack_ptrs_1) # addiu $t6, $t6, 0x36dc
|
||||
/* 006020 70005420 3C0E8002 */ lui $t6, %hi(g_StackPtrs1)
|
||||
/* 006024 70005424 25CE36DC */ addiu $t6, %lo(g_StackPtrs1) # addiu $t6, $t6, 0x36dc
|
||||
/* 006028 70005428 8DC10000 */ lw $at, ($t6)
|
||||
/* 00602C 7000542C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 006030 70005430 27A7001C */ addiu $a3, $sp, 0x1c
|
||||
/* 006034 70005434 ACE10000 */ sw $at, ($a3)
|
||||
/* 006038 70005438 8DD90004 */ lw $t9, 4($t6)
|
||||
/* 00603C 7000543C 3C098002 */ lui $t1, %hi(stack_ptrs_2)
|
||||
/* 006040 70005440 252936F0 */ addiu $t1, %lo(stack_ptrs_2) # addiu $t1, $t1, 0x36f0
|
||||
/* 00603C 7000543C 3C098002 */ lui $t1, %hi(g_StackPtrs2)
|
||||
/* 006040 70005440 252936F0 */ addiu $t1, %lo(g_StackPtrs2) # 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
|
||||
@@ -645,11 +653,11 @@ 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;
|
||||
sp4 = (?32) g_StackPtrs3;
|
||||
sp4.unk4 = (?32) g_StackPtrs3.unk4;
|
||||
sp4.unk8 = (?32) g_StackPtrs3.unk8;
|
||||
sp4.unkC = (?32) g_StackPtrs3.unkC;
|
||||
sp4.unk10 = (?32) g_StackPtrs3.unk10;
|
||||
if (arg1 <= 0)
|
||||
{
|
||||
// Node 2
|
||||
@@ -678,8 +686,8 @@ s32 debug_sp_related_12(u32 arg0, u32 arg1) {
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_sp_related_12
|
||||
/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(stack_ptrs_3)
|
||||
/* 0060E8 700054E8 25CE3704 */ addiu $t6, %lo(stack_ptrs_3) # addiu $t6, $t6, 0x3704
|
||||
/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(g_StackPtrs3)
|
||||
/* 0060E8 700054E8 25CE3704 */ addiu $t6, %lo(g_StackPtrs3) # addiu $t6, $t6, 0x3704
|
||||
/* 0060EC 700054EC 8DC10000 */ lw $at, ($t6)
|
||||
/* 0060F0 700054F0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0060F4 700054F4 27A20004 */ addiu $v0, $sp, 4
|
||||
@@ -717,136 +725,3 @@ glabel debug_sp_related_12
|
||||
#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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+368
-824
File diff suppressed because it is too large
Load Diff
+10
-2
@@ -2,6 +2,14 @@
|
||||
#define _DEBUGMENU_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
void blank_debug_buffer_chars(void);
|
||||
void debugmenuInit_REMOVED(void);
|
||||
|
||||
void debmenu7000ADA8(void);
|
||||
void debmenuInit(void);
|
||||
void debmenuReset(void);
|
||||
void debmenuSetPosition(s32 x, s32 y);
|
||||
void debmenuSetPrimColor(s32 r, s32 g, s32 b, s32 a);
|
||||
void debmenuSetEnvColor(s32 r, s32 g, s32 b, s32 a);
|
||||
void debmenuWriteString(const unsigned char *str);
|
||||
Gfx *debmenuDraw(Gfx *gdl);
|
||||
|
||||
#endif
|
||||
|
||||
+176
-194
@@ -250,237 +250,219 @@ u32 D_80044924 = 0;
|
||||
*/
|
||||
//D:80044928
|
||||
Gfx D_80044928[] = {
|
||||
0xFC26A004, 0x1F1093FF, 0xFC232DFF, 0xFFFFFE38,
|
||||
//gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2),
|
||||
//gDPSetCombineLERP(TEXEL1, 0, COMBINED_ALPHA, 0, TEXEL1, 0, PRIM_LOD_FRAC, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
0x0,0x0
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, 0, SCALE, 0, TEXEL1, 0, PRIM_LOD_FRAC, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
0,0
|
||||
};
|
||||
|
||||
//D:80044940 - Primary
|
||||
Gfx D_80044940[] = {
|
||||
0xB900031D, 0x0C192078, 0xB900031D, 0xC8112078,
|
||||
0xB900031D, 0x0C182078, 0xB900031D, 0xC8102078,
|
||||
0xB900031D, 0x0C192D58, 0xB900031D, 0xC8112D58,
|
||||
0xB900031D, 0x0C184DD8, 0xB900031D, 0xC8104DD8,
|
||||
0xB900031D, 0x0C1849D8, 0xB900031D, 0xC81049D8,
|
||||
0xB900031D, 0x0C193078, 0xB900031D, 0xC8113078,
|
||||
0xB900031D, 0x0C192048, 0xB900031D, 0xC8112048,
|
||||
0xB900031D, 0x0C182048, 0xB900031D, 0xC8102048,
|
||||
|
||||
/*
|
||||
Gfx FogDL_primary_80044940[] = {
|
||||
//Add FOG to all rendermodes
|
||||
//Standard HiQuality Surface to Standard Fogable HiQuality Surface
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
|
||||
//Terrain to Fogable Terrain
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_TERR2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_TERR2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_TERR2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_TERR2),
|
||||
//Standard DECAL to FOG DECAL
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_DECAL2),
|
||||
//Transparent DECAL to FOG Transparent DECAL
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
||||
//Transparent Surface to FOG Transparent Surface
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
||||
// Billboard Cut-out to FOG Billboard Cut-out - eg, Mario Tree or Depot lamp
|
||||
// See PGDLists\Transparent Textures.htm for more info
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
||||
//Standard Z-Less OPA to Standard FOG Z-Less OPA
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_SURF2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_SURF2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_SURF2),
|
||||
//Z-Less OPA Terrain to Z-Less Fog OPA Terrain
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_TERR2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_TERR2),
|
||||
*/
|
||||
0x0, 0x0
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_TERR2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_TERR2),
|
||||
0x0, 0x0
|
||||
};
|
||||
|
||||
//D:800449C8 - Secondary
|
||||
Gfx D_800449C8[] = {
|
||||
0xB900031D, 0x0C184DD8, 0xB900031D, 0xC8104DD8,
|
||||
0xB900031D, 0x0C1849D8, 0xB900031D, 0xC81049D8,
|
||||
0xB900031D, 0x0C193078, 0xB900031D, 0xC8113078,
|
||||
0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1F1493FF,
|
||||
0xFC121824, 0xFF33FFFF, 0xFC121A24, 0xFF37FFFF,
|
||||
0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93FD,
|
||||
0xFC127E24, 0xFFFFF9FC, 0xFC127E24, 0xFFFFFBFD,
|
||||
0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1F1493FF,
|
||||
0xFC121824, 0xFF33FFFF, 0xFC121A24, 0xFF37FFFF,
|
||||
0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93FD,
|
||||
0xFC127E24, 0xFFFFF9FC, 0xFC127E24, 0xFFFFFBFD,
|
||||
0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7A38,
|
||||
0xFCFFFFFF, 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7B3D,
|
||||
0xFC26E404, 0x1F10FFFF, 0xFC26E404, 0x1F14FFFF,
|
||||
/*
|
||||
Gfx FogDL_secondary_800449C8[] = {
|
||||
//Add FOG to Rendermodes
|
||||
//Transparent DECAL to FOG Transparent DECAL
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
||||
//Transparent Surface to FOG Transparent Surface
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
||||
// Billboard Cut-out to FOG Billboard Cut-out - eg, Mario Tree or Depot lamp
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
||||
|
||||
0xB900031D, 0x0C193078,
|
||||
0xB900031D, 0xC8113078,
|
||||
// Swap all refrences to Shade in Alpha to Environment
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
||||
// This one is an oddball... its extra here AND is weird using Tile1 only for Alpha
|
||||
gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA) , gDPSetCombineMode(TLRGB_ATile1, ModulateRGB_EnvA2),
|
||||
*/
|
||||
0x0, 0x0
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
0x0,
|
||||
0x0
|
||||
};
|
||||
|
||||
//D:80044AB0
|
||||
// Loaded once on first time entering level, only once ever
|
||||
u64 D_80044AB0[] = {
|
||||
0xFC26A0041F1093FF, 0xFC26A0041F1493FF,
|
||||
0xFC121824FF33FFFF, 0xFC121A24FF37FFFF,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD,
|
||||
0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD,
|
||||
0xFC26A0041F1093FF, 0xFC26A0041F1493FF,
|
||||
0xFC121824FF33FFFF, 0xFC121A24FF37FFFF,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD,
|
||||
0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD,
|
||||
0xFCFFFFFFFFFE7838, 0xFCFFFFFFFFFE7A38,
|
||||
0xFCFFFFFFFFFE793C, 0xFCFFFFFFFFFE7B3D,
|
||||
/*
|
||||
// Swap all refrences to Shade in Alpha to Environment
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA),
|
||||
*/
|
||||
0x0
|
||||
Gfx D_80044AB0[] = {
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
||||
0,0
|
||||
};
|
||||
|
||||
//D:80044B58
|
||||
// Loaded once on first time entering level, only once ever
|
||||
u64 D_80044B58[] = {
|
||||
0xFC26A0041F1093FF, 0xFC26A0041F1493FF,
|
||||
0xFC121824FF33FFFF, 0xFC121A24FF37FFFF,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD,
|
||||
0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD,
|
||||
0xFC26A0041F1093FF, 0xFC26A0041F1493FF,
|
||||
0xFC121824FF33FFFF, 0xFC121A24FF37FFFF,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD,
|
||||
0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD,
|
||||
0xFCFFFFFFFFFE7838, 0xFCFFFFFFFFFE7A38,
|
||||
0xFCFFFFFFFFFE793C, 0xFCFFFFFFFFFE7B3D,
|
||||
/*
|
||||
// Swap all refrences to Shade in Alpha to Environment
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA2),
|
||||
*/
|
||||
0x0
|
||||
Gfx D_80044B58[] = {
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
||||
0,0
|
||||
};
|
||||
|
||||
//D:80044C00
|
||||
u64 D_80044C00[] = {
|
||||
0xB900031D005049D8, 0xB900031D00553078,
|
||||
0xB900031D0C1849D8, 0xB900031D0C193078,
|
||||
/*
|
||||
Gfx BillboardDL_80044C00[] = {
|
||||
//Transparent 1Cycle to BillBoard 1Cycle
|
||||
gDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2), gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
//Transparent Surface to Billboard
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
||||
*/
|
||||
0x0
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
||||
0x0,0x0
|
||||
};
|
||||
|
||||
//D:80044C28
|
||||
//water
|
||||
u64 D_80044C28[] = {
|
||||
0xB900031D00552078, 0xB900031D00502078,
|
||||
0xB900031D0C192078, 0xB900031D0C182078,
|
||||
Gfx ParticleDL_80044C28[] = {
|
||||
0xB900031D, 0x00552078, 0xB900031D, 0x00502078,
|
||||
0xB900031D, 0x0C192078, 0xB900031D, 0x0C182078,
|
||||
/*
|
||||
//1 Cycle Opa to Particle
|
||||
gDPSetRenderMode(RM_AA_ZB_OPA_SURF, RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_AA_ZB_PCL_SURF, G_RM_AA_ZB_PCL_SURF2),
|
||||
//2 cycle Opa to Particle
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_PCL_SURF2),
|
||||
*/
|
||||
0x0
|
||||
0x0, 0
|
||||
};
|
||||
|
||||
//D:80044C50
|
||||
u64 D_80044C50[] = {
|
||||
0xB900031D0C1849D8, 0xB900031D0C184B50,
|
||||
/*
|
||||
Gfx transparent2cloudDL_80044C50[] = {
|
||||
//Transparent to Cloud (Saves AA - Stops Jaggies from appearing behind BillBoard)
|
||||
gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_ZB_CLD_SURF2),
|
||||
*/
|
||||
0x0
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_CLD_SURF2),
|
||||
0,0
|
||||
};
|
||||
|
||||
//D:80044C68
|
||||
//(Wallet Bond - Main Menu)
|
||||
u64 D_80044C68[] = {
|
||||
0xBA00140200000000, 0xBA00140200100000, //1Cycle --> 2Cycle
|
||||
0xB900031D00502048, 0xB900031D08D02048,
|
||||
0xFC127E24FFFFF9FC, 0xFC127FFFFFFFF838,
|
||||
Gfx WalletBondDL_80044C68[] = {
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE), //1Cycle --> 2Cycle
|
||||
0xB900031D, 0x00502048,
|
||||
0xB900031D, 0x08D02048,
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
/*
|
||||
//1 Cycle particle Surface to 2 Cycle colour + 1-a*Fog ???
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gDPSetRenderMode(G_RM_AA_PCL_SURF, G_RM_AA_PCL_SURF2), gDPSetRenderMode(AA_EN | IM_RD | CVG_DST_CLAMP | ALPHA_CVG_SEL | ZMODE_OPA | GBL_c1(G_BL_CLR_IN, G_BL_A_SHADE, G_BL_CLR_FOG, G_BL_1MA) | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_PASS2), gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2),
|
||||
*/
|
||||
0x0
|
||||
0x0, 0
|
||||
};
|
||||
|
||||
//D:80044CA0
|
||||
u64 D_80044CA0[] = {
|
||||
0xFC127E24FFFFF9FC, 0xFC137E26FFFFFBFD,
|
||||
0xFC121824FF33FFFF, 0xFC131A26FF37FFFF,
|
||||
0xFC127E24FFFFF9FC, 0xFC137E26FFFFFBFD,
|
||||
0xFC121824FF33FFFF, 0xFC131A26FF37FFFF,
|
||||
0xFCFFFFFFFFFE793C, 0xFC637EC6FFFFFBFD,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0061FFC93FD,
|
||||
0xFC26A0041F1093FF, 0xFC26A0061F1493FF,
|
||||
0xFC26A0041FFC93FC, 0xFC26A0061FFC93FD,
|
||||
0xFC26A0041F1093FF, 0xFC26A0061F1493FF,
|
||||
0xFC26E4041FFCFFFC, 0xFC26E4061FFCFFFD,
|
||||
0xFC26E4041F10FFFF, 0xFC26E4061F14FFFF,
|
||||
0xFC26E4041FFCFFFC, 0xFC26E4061FFCFFFD,
|
||||
0xFC26E4041F10FFFF, 0xFC26E4061F14FFFF,
|
||||
0xFCFFFFFFFFFE7838, 0xFC637FFFFFFFFA38,
|
||||
/*
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2),
|
||||
gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE2), gDPSetCombineLERP(CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT, CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGB2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGB2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2), gDPSetCombineLERP(CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
*/
|
||||
0x0
|
||||
Gfx D_80044CA0[] = {
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(CENTER, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT, CENTER, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
||||
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
gsDPSetCombineLERP(CENTER, 0, SCALE, 0, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
||||
0,0
|
||||
};
|
||||
|
||||
//D:80044D88
|
||||
s32 *ptrDynamic_CC_RM_LUT[] = {
|
||||
&D_80044928, &D_80044940, &D_80044C00, &D_80044C28, &D_80044C50,
|
||||
&D_800449C8, &D_80044AB0, &D_80044B58, &D_80044C68, &D_80044CA0
|
||||
&D_80044928, &FogDL_primary_80044940, &BillboardDL_80044C00, &ParticleDL_80044C28, &transparent2cloudDL_80044C50,
|
||||
&FogDL_secondary_800449C8, &D_80044AB0, &D_80044B58, &WalletBondDL_80044C68, &D_80044CA0
|
||||
};
|
||||
//D:80044DB0
|
||||
s32 D_80044DB0 = 0;
|
||||
@@ -492,7 +474,7 @@ s32 D_80044DB0 = 0;
|
||||
|
||||
|
||||
void bgInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&ptr_bg_c_debug_debug_notice_list, "bg_c_debug");
|
||||
debTryAdd(&ptr_bg_c_debug_debug_notice_list, "bg_c_debug");
|
||||
}
|
||||
|
||||
|
||||
@@ -2883,7 +2865,7 @@ void sub_GAME_7F0B5208(s32 arg0, void *arg1) {
|
||||
s32 phi_s3_3;
|
||||
|
||||
// Node 0
|
||||
video_related_27(&sp3C);
|
||||
viGetZRange(&sp3C);
|
||||
sp40 = (f32) (sp40 / D_800413FC);
|
||||
phi_v1 = 0;
|
||||
phi_a2 = ((arg0 * 0x50) + &array_room_info);
|
||||
@@ -3077,7 +3059,7 @@ glabel sub_GAME_7F0B5208
|
||||
/* 0E9D70 7F0B5240 00009825 */ move $s3, $zero
|
||||
/* 0E9D74 7F0B5244 0000A025 */ move $s4, $zero
|
||||
/* 0E9D78 7F0B5248 0000A825 */ move $s5, $zero
|
||||
/* 0E9D7C 7F0B524C 0C0011AB */ jal video_related_27
|
||||
/* 0E9D7C 7F0B524C 0C0011AB */ jal viGetZRange
|
||||
/* 0E9D80 7F0B5250 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
/* 0E9D84 7F0B5254 3C018004 */ lui $at, %hi(D_800413FC)
|
||||
/* 0E9D88 7F0B5258 C42613FC */ lwc1 $f6, %lo(D_800413FC)($at)
|
||||
@@ -3347,7 +3329,7 @@ glabel sub_GAME_7F0B5528
|
||||
/* 0EA09C 7F0B556C AFA400B0 */ sw $a0, 0xb0($sp)
|
||||
/* 0EA0A0 7F0B5570 AFA200AC */ sw $v0, 0xac($sp)
|
||||
/* 0EA0A4 7F0B5574 241E0001 */ li $fp, 1
|
||||
/* 0EA0A8 7F0B5578 0C0011AB */ jal video_related_27
|
||||
/* 0EA0A8 7F0B5578 0C0011AB */ jal viGetZRange
|
||||
/* 0EA0AC 7F0B557C 27A40098 */ addiu $a0, $sp, 0x98
|
||||
/* 0EA0B0 7F0B5580 3C018004 */ lui $at, %hi(D_800413FC)
|
||||
/* 0EA0B4 7F0B5584 C42613FC */ lwc1 $f6, %lo(D_800413FC)($at)
|
||||
@@ -4869,11 +4851,11 @@ void sub_GAME_7F0B6368(s32 rooms) {
|
||||
{
|
||||
// Node 5
|
||||
sp1C = temp_v1;
|
||||
sp2C = mem_related_0(0);
|
||||
sp2C = memaGetLargestAllocSize(0);
|
||||
}
|
||||
// Node 6
|
||||
sp1C = (void *) temp_v1;
|
||||
temp_ret = mem_related_something_find_first(sp2C, sp28);
|
||||
temp_ret = memaFree(sp2C, sp28);
|
||||
temp_v1_2 = temp_v1;
|
||||
sp20 = temp_ret;
|
||||
if (temp_ret != 0)
|
||||
@@ -4948,7 +4930,7 @@ void sub_GAME_7F0B6368(s32 rooms) {
|
||||
{
|
||||
// Node 19
|
||||
sp1C = (void *) phi_v1_2;
|
||||
mem_related_1(sp20, sp2C, temp_t1, phi_a3_2);
|
||||
memaResize(sp20, sp2C, temp_t1, phi_a3_2);
|
||||
phi_v1_3 = phi_v1_2;
|
||||
}
|
||||
// Node 20
|
||||
@@ -5024,7 +5006,7 @@ glabel sub_GAME_7F0B6368
|
||||
/* 0EAF10 7F0B63E0 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 0EAF14 7F0B63E4 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
.L7F0B63E8:
|
||||
/* 0EAF18 7F0B63E8 0C0028DC */ jal mem_related_0
|
||||
/* 0EAF18 7F0B63E8 0C0028DC */ jal memaGetLargestAllocSize
|
||||
/* 0EAF1C 7F0B63EC AFA70028 */ sw $a3, 0x28($sp)
|
||||
/* 0EAF20 7F0B63F0 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 0EAF24 7F0B63F4 8FA70028 */ lw $a3, 0x28($sp)
|
||||
@@ -5032,7 +5014,7 @@ glabel sub_GAME_7F0B6368
|
||||
.L7F0B63FC:
|
||||
/* 0EAF2C 7F0B63FC 8FA4002C */ lw $a0, 0x2c($sp)
|
||||
/* 0EAF30 7F0B6400 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 0EAF34 7F0B6404 0C00278D */ jal mem_related_something_find_first
|
||||
/* 0EAF34 7F0B6404 0C00278D */ jal memaFree
|
||||
/* 0EAF38 7F0B6408 AFA70028 */ sw $a3, 0x28($sp)
|
||||
/* 0EAF3C 7F0B640C 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 0EAF40 7F0B6410 8FA70028 */ lw $a3, 0x28($sp)
|
||||
@@ -5104,7 +5086,7 @@ glabel sub_GAME_7F0B6368
|
||||
/* 0EB034 7F0B6504 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 0EB038 7F0B6508 01602825 */ move $a1, $t3
|
||||
/* 0EB03C 7F0B650C 01203025 */ move $a2, $t1
|
||||
/* 0EB040 7F0B6510 0C0028F7 */ jal mem_related_1
|
||||
/* 0EB040 7F0B6510 0C0028F7 */ jal memaResize
|
||||
/* 0EB044 7F0B6514 AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 0EB048 7F0B6518 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
.L7F0B651C:
|
||||
@@ -5170,7 +5152,7 @@ void sub_GAME_7F0B65C4(s32 arg0) {
|
||||
if (temp_s0->unk2C != 0)
|
||||
{
|
||||
// Node 1
|
||||
mem_related_model_room_buffers_0(temp_s0->unk2C, (((temp_s0->unk30 * 0x1c) + 0xf) & -0x10), temp_s0->unk2C);
|
||||
memaRegister(temp_s0->unk2C, (((temp_s0->unk30 * 0x1c) + 0xf) & -0x10), temp_s0->unk2C);
|
||||
temp_s0->unk2C = 0;
|
||||
}
|
||||
// Node 2
|
||||
@@ -5180,13 +5162,13 @@ void sub_GAME_7F0B65C4(s32 arg0) {
|
||||
if (temp_s0->unk4 != 0)
|
||||
{
|
||||
// Node 4
|
||||
mem_related_model_room_buffers_0(temp_s0->unk4, temp_s0->unk28);
|
||||
memaRegister(temp_s0->unk4, temp_s0->unk28);
|
||||
temp_s0->unk4 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 5
|
||||
mem_related_model_room_buffers_0(temp_s0->unk8, temp_s0->unk28);
|
||||
memaRegister(temp_s0->unk8, temp_s0->unk28);
|
||||
temp_s0->unk4 = 0;
|
||||
}
|
||||
// Node 6
|
||||
@@ -5221,7 +5203,7 @@ glabel sub_GAME_7F0B65C4
|
||||
/* 0EB138 7F0B6608 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0EB13C 7F0B660C 2705000F */ addiu $a1, $t8, 0xf
|
||||
/* 0EB140 7F0B6610 00A1C824 */ and $t9, $a1, $at
|
||||
/* 0EB144 7F0B6614 0C002808 */ jal mem_related_model_room_buffers_0
|
||||
/* 0EB144 7F0B6614 0C002808 */ jal memaRegister
|
||||
/* 0EB148 7F0B6618 03202825 */ move $a1, $t9
|
||||
/* 0EB14C 7F0B661C AE00002C */ sw $zero, 0x2c($s0)
|
||||
/* 0EB150 7F0B6620 8E020028 */ lw $v0, 0x28($s0)
|
||||
@@ -5232,12 +5214,12 @@ glabel sub_GAME_7F0B65C4
|
||||
/* 0EB160 7F0B6630 00402825 */ move $a1, $v0
|
||||
/* 0EB164 7F0B6634 10800005 */ beqz $a0, .L7F0B664C
|
||||
/* 0EB168 7F0B6638 00000000 */ nop
|
||||
/* 0EB16C 7F0B663C 0C002808 */ jal mem_related_model_room_buffers_0
|
||||
/* 0EB16C 7F0B663C 0C002808 */ jal memaRegister
|
||||
/* 0EB170 7F0B6640 00402825 */ move $a1, $v0
|
||||
/* 0EB174 7F0B6644 10000004 */ b .L7F0B6658
|
||||
/* 0EB178 7F0B6648 AE000004 */ sw $zero, 4($s0)
|
||||
.L7F0B664C:
|
||||
/* 0EB17C 7F0B664C 0C002808 */ jal mem_related_model_room_buffers_0
|
||||
/* 0EB17C 7F0B664C 0C002808 */ jal memaRegister
|
||||
/* 0EB180 7F0B6650 8E040008 */ lw $a0, 8($s0)
|
||||
/* 0EB184 7F0B6654 AE000004 */ sw $zero, 4($s0)
|
||||
.L7F0B6658:
|
||||
@@ -5696,7 +5678,7 @@ loop_3:
|
||||
temp_t8 = (((((phi_t5 * 8) - phi_t5) * 4) + 0xf) & -0x10);
|
||||
sp24 = temp_t8;
|
||||
sp3C = (s32) phi_t5;
|
||||
temp_ret = mem_related_something_find_first(temp_t8, temp_a1, temp_a1->unk8);
|
||||
temp_ret = memaFree(temp_t8, temp_a1, temp_a1->unk8);
|
||||
if (temp_ret != 0)
|
||||
{
|
||||
// Node 7
|
||||
@@ -5881,7 +5863,7 @@ glabel sub_GAME_7F0B6994
|
||||
/* 0EB55C 7F0B6A2C AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 0EB560 7F0B6A30 AFA50028 */ sw $a1, 0x28($sp)
|
||||
/* 0EB564 7F0B6A34 AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 0EB568 7F0B6A38 0C00278D */ jal mem_related_something_find_first
|
||||
/* 0EB568 7F0B6A38 0C00278D */ jal memaFree
|
||||
/* 0EB56C 7F0B6A3C AFAD003C */ sw $t5, 0x3c($sp)
|
||||
/* 0EB570 7F0B6A40 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* 0EB574 7F0B6A44 8FA60048 */ lw $a2, 0x48($sp)
|
||||
@@ -9760,8 +9742,8 @@ f32 sub_GAME_7F0B908C(void) {
|
||||
// Node 0
|
||||
sp2C = (f32) D_80041404;
|
||||
sp24 = (f32) D_80041404.unk4;
|
||||
sp28 = (f32) ((f32) D_8004140C + (f32) get_video2_settings_txtClipW());
|
||||
sp20 = (f32) ((f32) D_80041410 + (f32) get_video2_settings_txtClipH());
|
||||
sp28 = (f32) ((f32) D_8004140C + (f32) viGetX());
|
||||
sp20 = (f32) ((f32) D_80041410 + (f32) viGetY());
|
||||
pPlayer->unk1118 = (f32) viGetViewLeft();
|
||||
if (pPlayer->unk1118 < sp2C)
|
||||
{
|
||||
@@ -9833,7 +9815,7 @@ glabel sub_GAME_7F0B908C
|
||||
/* 0EDBDC 7F0B90AC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0EDBE0 7F0B90B0 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0EDBE4 7F0B90B4 E7A6002C */ swc1 $f6, 0x2c($sp)
|
||||
/* 0EDBE8 7F0B90B8 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 0EDBE8 7F0B90B8 0C001107 */ jal viGetX
|
||||
/* 0EDBEC 7F0B90BC E7AA0024 */ swc1 $f10, 0x24($sp)
|
||||
/* 0EDBF0 7F0B90C0 3C188004 */ lui $t8, %hi(D_8004140C)
|
||||
/* 0EDBF4 7F0B90C4 8F18140C */ lw $t8, %lo(D_8004140C)($t8)
|
||||
@@ -9842,7 +9824,7 @@ glabel sub_GAME_7F0B908C
|
||||
/* 0EDC00 7F0B90D0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0EDC04 7F0B90D4 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0EDC08 7F0B90D8 46069200 */ add.s $f8, $f18, $f6
|
||||
/* 0EDC0C 7F0B90DC 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 0EDC0C 7F0B90DC 0C00110B */ jal viGetY
|
||||
/* 0EDC10 7F0B90E0 E7A80028 */ swc1 $f8, 0x28($sp)
|
||||
/* 0EDC14 7F0B90E4 3C198004 */ lui $t9, %hi(D_80041410)
|
||||
/* 0EDC18 7F0B90E8 8F391410 */ lw $t9, %lo(D_80041410)($t9)
|
||||
@@ -12002,11 +11984,11 @@ u32 sub_GAME_7F0BA5C0(u32 arg0, u32 arg1) {
|
||||
phi_v0 = arg0;
|
||||
loop_2:
|
||||
// Node 2
|
||||
if (D_80044940 != 0)
|
||||
if (FogDL_primary_80044940 != 0)
|
||||
{
|
||||
// Node 3
|
||||
phi_a0 = D_80044940;
|
||||
phi_v1 = &D_80044940;
|
||||
phi_a0 = FogDL_primary_80044940;
|
||||
phi_v1 = &FogDL_primary_80044940;
|
||||
loop_4:
|
||||
// Node 4
|
||||
if (*phi_v0 == phi_a0)
|
||||
@@ -12046,12 +12028,12 @@ glabel sub_GAME_7F0BA5C0
|
||||
/* 0EF0F0 7F0BA5C0 0085082B */ sltu $at, $a0, $a1
|
||||
/* 0EF0F4 7F0BA5C4 1020001C */ beqz $at, .L7F0BA638
|
||||
/* 0EF0F8 7F0BA5C8 00801025 */ move $v0, $a0
|
||||
/* 0EF0FC 7F0BA5CC 3C068004 */ lui $a2, %hi(D_80044940)
|
||||
/* 0EF100 7F0BA5D0 24C64940 */ addiu $a2, %lo(D_80044940) # addiu $a2, $a2, 0x4940
|
||||
/* 0EF0FC 7F0BA5CC 3C068004 */ lui $a2, %hi(FogDL_primary_80044940)
|
||||
/* 0EF100 7F0BA5D0 24C64940 */ addiu $a2, %lo(FogDL_primary_80044940) # addiu $a2, $a2, 0x4940
|
||||
/* 0EF104 7F0BA5D4 8CCE0000 */ lw $t6, ($a2)
|
||||
.L7F0BA5D8:
|
||||
/* 0EF108 7F0BA5D8 3C0F8004 */ lui $t7, %hi(D_80044940)
|
||||
/* 0EF10C 7F0BA5DC 25EF4940 */ addiu $t7, %lo(D_80044940) # addiu $t7, $t7, 0x4940
|
||||
/* 0EF108 7F0BA5D8 3C0F8004 */ lui $t7, %hi(FogDL_primary_80044940)
|
||||
/* 0EF10C 7F0BA5DC 25EF4940 */ addiu $t7, %lo(FogDL_primary_80044940) # addiu $t7, $t7, 0x4940
|
||||
/* 0EF110 7F0BA5E0 11C00011 */ beqz $t6, .L7F0BA628
|
||||
/* 0EF114 7F0BA5E4 00C01825 */ move $v1, $a2
|
||||
/* 0EF118 7F0BA5E8 8DE40000 */ lw $a0, ($t7)
|
||||
|
||||
+261
-906
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
#ifndef _BLOOD_ANIMATION_H_
|
||||
#define _BLOOD_ANIMATION_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
Gfx *insert_imageDL(Gfx *gdl);
|
||||
Gfx *sub_GAME_7F01C1A4(Gfx *gdl);
|
||||
s32 die_blood_image_routine(s32 arg0);
|
||||
Gfx *sub_GAME_7F01C400(Gfx *gdl);
|
||||
Gfx *sub_GAME_7F01CA18(Gfx *gdl);
|
||||
|
||||
#endif
|
||||
+11
-11
@@ -1,11 +1,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
|
||||
|
||||
#include "blood_decrypt.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void decrypt_bleeding_animation_data(void) {
|
||||
u8 *decrypt_bleeding_animation_data(u8*, s32, s32, u8*, s8*) {
|
||||
|
||||
}
|
||||
#else
|
||||
@@ -141,8 +137,12 @@ glabel decrypt_bleeding_animation_data
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CC94(void) {
|
||||
|
||||
// Uses sltu instead of slt for comparison
|
||||
void sub_GAME_7F01CC94(u8* arg0, u16 arg1, u8* arg2) {
|
||||
while (arg1-- != 0) {
|
||||
*arg2++ = (arg0[0] & 0xF0) | (arg0[1] >> 4);
|
||||
arg0 += 2;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
@@ -338,7 +338,7 @@ glabel sub_GAME_7F01CCEC
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CEEC(void) {
|
||||
void sub_GAME_7F01CEEC(u8*, s32, u8*) {
|
||||
|
||||
}
|
||||
#else
|
||||
@@ -434,7 +434,7 @@ glabel sub_GAME_7F01CEEC
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D02C(void) {
|
||||
void sub_GAME_7F01D02C(u8*, s32, u8*) {
|
||||
|
||||
}
|
||||
#else
|
||||
@@ -530,7 +530,7 @@ glabel sub_GAME_7F01D02C
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D16C(void) {
|
||||
void sub_GAME_7F01D16C(u8*, s32, s32, u8*) {
|
||||
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef _BLOOD_DECRYPT_H_
|
||||
#define _BLOOD_DECRYPT_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
u8 *decrypt_bleeding_animation_data(u8*, s32, s32, u8*, s8*);
|
||||
void sub_GAME_7F01D16C(u8*, s32, s32, u8*);
|
||||
void sub_GAME_7F01D02C(u8*, s32, u8*);
|
||||
void sub_GAME_7F01CEEC(u8*, s32, u8*);
|
||||
void sub_GAME_7F01CC94(u8*, u16, u8*);
|
||||
|
||||
#endif
|
||||
+10513
-3066
File diff suppressed because it is too large
Load Diff
+20
-4
@@ -782,10 +782,27 @@ struct player
|
||||
s32 field_7C8;
|
||||
s32 field_7CC;
|
||||
Vp viewports[2];
|
||||
|
||||
/**
|
||||
* Offset 0x7f0.
|
||||
*/
|
||||
s16 viewx;
|
||||
|
||||
/**
|
||||
* Offset 0x7f2.
|
||||
*/
|
||||
s16 viewy;
|
||||
|
||||
/**
|
||||
* Offset 0x7f4.
|
||||
*/
|
||||
s16 viewleft;
|
||||
|
||||
/**
|
||||
* Offset 0x7f6.
|
||||
*/
|
||||
s16 viewtop;
|
||||
|
||||
s32 hand_invisible[2];
|
||||
s32 hand_item[2];
|
||||
u8 *ptr_hand_weapon_buffer[2];
|
||||
@@ -921,10 +938,9 @@ struct player
|
||||
s32 ammo_total_unknown2;
|
||||
s32 ammo_total_tank;
|
||||
s32 ammo_total_mp_token;
|
||||
s32 bloodcnt;
|
||||
s32 field_11AC;
|
||||
s32 field_11B0;
|
||||
s32 field_11B4;
|
||||
u8 *field_11A8;
|
||||
u8 *field_11AC;
|
||||
u8 *field_11B0[2];
|
||||
s32 field_11B8;
|
||||
f32 zoomintime;
|
||||
f32 zoomintimemax;
|
||||
|
||||
+910
-4
@@ -1036,6 +1036,204 @@ glabel sub_GAME_7F08C86C
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08C86C
|
||||
/* 0C139C 7F08C86C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0C13A0 7F08C870 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C13A4 7F08C874 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C13A8 7F08C878 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0C13AC 7F08C87C AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 0C13B0 7F08C880 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 0C13B4 7F08C884 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 0C13B8 7F08C888 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0C13BC 7F08C88C AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0C13C0 7F08C890 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 0C13C4 7F08C894 8C7011E0 */ lw $s0, 0x11e0($v1)
|
||||
/* 0C13C8 7F08C898 00C09025 */ move $s2, $a2
|
||||
/* 0C13CC 7F08C89C 8C910000 */ lw $s1, ($a0)
|
||||
/* 0C13D0 7F08C8A0 1200003D */ beqz $s0, .L7F08C998
|
||||
/* 0C13D4 7F08C8A4 8CB30000 */ lw $s3, ($a1)
|
||||
/* 0C13D8 7F08C8A8 8E020000 */ lw $v0, ($s0)
|
||||
.L7F08C8AC:
|
||||
/* 0C13DC 7F08C8AC 24010001 */ li $at, 1
|
||||
/* 0C13E0 7F08C8B0 54410013 */ bnel $v0, $at, .L7F08C900
|
||||
/* 0C13E4 7F08C8B4 24010003 */ li $at, 3
|
||||
/* 0C13E8 7F08C8B8 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C13EC 7F08C8BC 28810021 */ slti $at, $a0, 0x21
|
||||
/* 0C13F0 7F08C8C0 10200029 */ beqz $at, .L7F08C968
|
||||
/* 0C13F4 7F08C8C4 0224082A */ slt $at, $s1, $a0
|
||||
/* 0C13F8 7F08C8C8 10200027 */ beqz $at, .L7F08C968
|
||||
/* 0C13FC 7F08C8CC 00000000 */ nop
|
||||
/* 0C1400 7F08C8D0 52400008 */ beql $s2, $zero, .L7F08C8F4
|
||||
/* 0C1404 7F08C8D4 00808825 */ move $s1, $a0
|
||||
/* 0C1408 7F08C8D8 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C140C 7F08C8DC 00000000 */ nop
|
||||
/* 0C1410 7F08C8E0 10400021 */ beqz $v0, .L7F08C968
|
||||
/* 0C1414 7F08C8E4 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C1418 7F08C8E8 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C141C 7F08C8EC 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C1420 7F08C8F0 00808825 */ move $s1, $a0
|
||||
.L7F08C8F4:
|
||||
/* 0C1424 7F08C8F4 10000028 */ b .L7F08C998
|
||||
/* 0C1428 7F08C8F8 00009825 */ move $s3, $zero
|
||||
/* 0C142C 7F08C8FC 24010003 */ li $at, 3
|
||||
.L7F08C900:
|
||||
/* 0C1430 7F08C900 14410019 */ bne $v0, $at, .L7F08C968
|
||||
/* 0C1434 7F08C904 00000000 */ nop
|
||||
/* 0C1438 7F08C908 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C143C 7F08C90C 0224082A */ slt $at, $s1, $a0
|
||||
/* 0C1440 7F08C910 14200007 */ bnez $at, .L7F08C930
|
||||
/* 0C1444 7F08C914 00000000 */ nop
|
||||
/* 0C1448 7F08C918 16240013 */ bne $s1, $a0, .L7F08C968
|
||||
/* 0C144C 7F08C91C 00000000 */ nop
|
||||
/* 0C1450 7F08C920 8E180008 */ lw $t8, 8($s0)
|
||||
/* 0C1454 7F08C924 0278082A */ slt $at, $s3, $t8
|
||||
/* 0C1458 7F08C928 1020000F */ beqz $at, .L7F08C968
|
||||
/* 0C145C 7F08C92C 00000000 */ nop
|
||||
.L7F08C930:
|
||||
/* 0C1460 7F08C930 12400008 */ beqz $s2, .L7F08C954
|
||||
/* 0C1464 7F08C934 00000000 */ nop
|
||||
/* 0C1468 7F08C938 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C146C 7F08C93C 00000000 */ nop
|
||||
/* 0C1470 7F08C940 14400004 */ bnez $v0, .L7F08C954
|
||||
/* 0C1474 7F08C944 00000000 */ nop
|
||||
/* 0C1478 7F08C948 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C147C 7F08C94C 8E040008 */ lw $a0, 8($s0)
|
||||
/* 0C1480 7F08C950 10400005 */ beqz $v0, .L7F08C968
|
||||
.L7F08C954:
|
||||
/* 0C1484 7F08C954 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C1488 7F08C958 8E110004 */ lw $s1, 4($s0)
|
||||
/* 0C148C 7F08C95C 8E130008 */ lw $s3, 8($s0)
|
||||
/* 0C1490 7F08C960 1000000D */ b .L7F08C998
|
||||
/* 0C1494 7F08C964 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
.L7F08C968:
|
||||
/* 0C1498 7F08C968 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C149C 7F08C96C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C14A0 7F08C970 8E10000C */ lw $s0, 0xc($s0)
|
||||
/* 0C14A4 7F08C974 8C7911E0 */ lw $t9, 0x11e0($v1)
|
||||
/* 0C14A8 7F08C978 16190005 */ bne $s0, $t9, .L7F08C990
|
||||
/* 0C14AC 7F08C97C 00000000 */ nop
|
||||
/* 0C14B0 7F08C980 56400006 */ bnezl $s2, .L7F08C99C
|
||||
/* 0C14B4 7F08C984 8C6811EC */ lw $t0, 0x11ec($v1)
|
||||
/* 0C14B8 7F08C988 2411FFFF */ li $s1, -1
|
||||
/* 0C14BC 7F08C98C 2413FFFF */ li $s3, -1
|
||||
.L7F08C990:
|
||||
/* 0C14C0 7F08C990 5600FFC6 */ bnezl $s0, .L7F08C8AC
|
||||
/* 0C14C4 7F08C994 8E020000 */ lw $v0, ($s0)
|
||||
.L7F08C998:
|
||||
/* 0C14C8 7F08C998 8C6811EC */ lw $t0, 0x11ec($v1)
|
||||
.L7F08C99C:
|
||||
/* 0C14CC 7F08C99C 8FA90028 */ lw $t1, 0x28($sp)
|
||||
/* 0C14D0 7F08C9A0 51000051 */ beql $t0, $zero, .L7F08CAE8
|
||||
/* 0C14D4 7F08C9A4 8FAB0028 */ lw $t3, 0x28($sp)
|
||||
/* 0C14D8 7F08C9A8 0FC26919 */ jal getPlayerCount
|
||||
/* 0C14DC 7F08C9AC 8D300000 */ lw $s0, ($t1)
|
||||
/* 0C14E0 7F08C9B0 24010001 */ li $at, 1
|
||||
/* 0C14E4 7F08C9B4 5441001E */ bnel $v0, $at, .L7F08CA30
|
||||
/* 0C14E8 7F08C9B8 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 0C14EC 7F08C9BC 8FAA0028 */ lw $t2, 0x28($sp)
|
||||
/* 0C14F0 7F08C9C0 3C050010 */ lui $a1, 0x10
|
||||
/* 0C14F4 7F08C9C4 0FC1782D */ jal bondwalkItemCheckBitflags
|
||||
/* 0C14F8 7F08C9C8 8D440000 */ lw $a0, ($t2)
|
||||
/* 0C14FC 7F08C9CC 50400018 */ beql $v0, $zero, .L7F08CA30
|
||||
/* 0C1500 7F08C9D0 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 0C1504 7F08C9D4 8FAB0028 */ lw $t3, 0x28($sp)
|
||||
/* 0C1508 7F08C9D8 8FAC002C */ lw $t4, 0x2c($sp)
|
||||
/* 0C150C 7F08C9DC 8D640000 */ lw $a0, ($t3)
|
||||
/* 0C1510 7F08C9E0 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 0C1514 7F08C9E4 01A4082A */ slt $at, $t5, $a0
|
||||
/* 0C1518 7F08C9E8 50200011 */ beql $at, $zero, .L7F08CA30
|
||||
/* 0C151C 7F08C9EC 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 0C1520 7F08C9F0 12400007 */ beqz $s2, .L7F08CA10
|
||||
/* 0C1524 7F08C9F4 00000000 */ nop
|
||||
/* 0C1528 7F08C9F8 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C152C 7F08C9FC 00000000 */ nop
|
||||
/* 0C1530 7F08CA00 5040000B */ beql $v0, $zero, .L7F08CA30
|
||||
/* 0C1534 7F08CA04 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 0C1538 7F08CA08 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C153C 7F08CA0C 8DC40000 */ lw $a0, ($t6)
|
||||
.L7F08CA10:
|
||||
/* 0C1540 7F08CA10 16240003 */ bne $s1, $a0, .L7F08CA20
|
||||
/* 0C1544 7F08CA14 0093082A */ slt $at, $a0, $s3
|
||||
/* 0C1548 7F08CA18 50200005 */ beql $at, $zero, .L7F08CA30
|
||||
/* 0C154C 7F08CA1C 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
.L7F08CA20:
|
||||
/* 0C1550 7F08CA20 00808825 */ move $s1, $a0
|
||||
/* 0C1554 7F08CA24 1000002F */ b .L7F08CAE4
|
||||
/* 0C1558 7F08CA28 00809825 */ move $s3, $a0
|
||||
/* 0C155C 7F08CA2C 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
.L7F08CA30:
|
||||
/* 0C1560 7F08CA30 24030021 */ li $v1, 33
|
||||
/* 0C1564 7F08CA34 8DF80000 */ lw $t8, ($t7)
|
||||
/* 0C1568 7F08CA38 16380005 */ bne $s1, $t8, .L7F08CA50
|
||||
/* 0C156C 7F08CA3C 00000000 */ nop
|
||||
/* 0C1570 7F08CA40 8FB9002C */ lw $t9, 0x2c($sp)
|
||||
/* 0C1574 7F08CA44 8F280000 */ lw $t0, ($t9)
|
||||
/* 0C1578 7F08CA48 56680027 */ bnel $s3, $t0, .L7F08CAE8
|
||||
/* 0C157C 7F08CA4C 8FAB0028 */ lw $t3, 0x28($sp)
|
||||
.L7F08CA50:
|
||||
/* 0C1580 7F08CA50 26090001 */ addiu $t1, $s0, 1
|
||||
.L7F08CA54:
|
||||
/* 0C1584 7F08CA54 0123001A */ div $zero, $t1, $v1
|
||||
/* 0C1588 7F08CA58 00008010 */ mfhi $s0
|
||||
/* 0C158C 7F08CA5C 260A0001 */ addiu $t2, $s0, 1
|
||||
/* 0C1590 7F08CA60 14600002 */ bnez $v1, .L7F08CA6C
|
||||
/* 0C1594 7F08CA64 00000000 */ nop
|
||||
/* 0C1598 7F08CA68 0007000D */ break 7
|
||||
.L7F08CA6C:
|
||||
/* 0C159C 7F08CA6C 2401FFFF */ li $at, -1
|
||||
/* 0C15A0 7F08CA70 14610004 */ bne $v1, $at, .L7F08CA84
|
||||
/* 0C15A4 7F08CA74 3C018000 */ lui $at, 0x8000
|
||||
/* 0C15A8 7F08CA78 15210002 */ bne $t1, $at, .L7F08CA84
|
||||
/* 0C15AC 7F08CA7C 00000000 */ nop
|
||||
/* 0C15B0 7F08CA80 0006000D */ break 6
|
||||
.L7F08CA84:
|
||||
/* 0C15B4 7F08CA84 1600000C */ bnez $s0, .L7F08CAB8
|
||||
/* 0C15B8 7F08CA88 00000000 */ nop
|
||||
/* 0C15BC 7F08CA8C 0143001A */ div $zero, $t2, $v1
|
||||
/* 0C15C0 7F08CA90 00008010 */ mfhi $s0
|
||||
/* 0C15C4 7F08CA94 14600002 */ bnez $v1, .L7F08CAA0
|
||||
/* 0C15C8 7F08CA98 00000000 */ nop
|
||||
/* 0C15CC 7F08CA9C 0007000D */ break 7
|
||||
.L7F08CAA0:
|
||||
/* 0C15D0 7F08CAA0 2401FFFF */ li $at, -1
|
||||
/* 0C15D4 7F08CAA4 14610004 */ bne $v1, $at, .L7F08CAB8
|
||||
/* 0C15D8 7F08CAA8 3C018000 */ lui $at, 0x8000
|
||||
/* 0C15DC 7F08CAAC 15410002 */ bne $t2, $at, .L7F08CAB8
|
||||
/* 0C15E0 7F08CAB0 00000000 */ nop
|
||||
/* 0C15E4 7F08CAB4 0006000D */ break 6
|
||||
.L7F08CAB8:
|
||||
/* 0C15E8 7F08CAB8 52400006 */ beql $s2, $zero, .L7F08CAD4
|
||||
/* 0C15EC 7F08CABC 02008825 */ move $s1, $s0
|
||||
/* 0C15F0 7F08CAC0 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C15F4 7F08CAC4 02002025 */ move $a0, $s0
|
||||
/* 0C15F8 7F08CAC8 10400004 */ beqz $v0, .L7F08CADC
|
||||
/* 0C15FC 7F08CACC 24030021 */ li $v1, 33
|
||||
/* 0C1600 7F08CAD0 02008825 */ move $s1, $s0
|
||||
.L7F08CAD4:
|
||||
/* 0C1604 7F08CAD4 10000003 */ b .L7F08CAE4
|
||||
/* 0C1608 7F08CAD8 00009825 */ move $s3, $zero
|
||||
.L7F08CADC:
|
||||
/* 0C160C 7F08CADC 5611FFDD */ bnel $s0, $s1, .L7F08CA54
|
||||
/* 0C1610 7F08CAE0 26090001 */ addiu $t1, $s0, 1
|
||||
.L7F08CAE4:
|
||||
/* 0C1614 7F08CAE4 8FAB0028 */ lw $t3, 0x28($sp)
|
||||
.L7F08CAE8:
|
||||
/* 0C1618 7F08CAE8 AD710000 */ sw $s1, ($t3)
|
||||
/* 0C161C 7F08CAEC 8FAC002C */ lw $t4, 0x2c($sp)
|
||||
/* 0C1620 7F08CAF0 AD930000 */ sw $s3, ($t4)
|
||||
/* 0C1624 7F08CAF4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0C1628 7F08CAF8 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 0C162C 7F08CAFC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 0C1630 7F08CB00 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0C1634 7F08CB04 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0C1638 7F08CB08 03E00008 */ jr $ra
|
||||
/* 0C163C 7F08CB0C 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1566,6 +1764,258 @@ glabel sub_GAME_7F08CB10
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08CB10
|
||||
/* 0C1640 7F08CB10 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0C1644 7F08CB14 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C1648 7F08CB18 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C164C 7F08CB1C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0C1650 7F08CB20 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 0C1654 7F08CB24 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 0C1658 7F08CB28 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 0C165C 7F08CB2C AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 0C1660 7F08CB30 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0C1664 7F08CB34 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 0C1668 7F08CB38 8C6211E0 */ lw $v0, 0x11e0($v1)
|
||||
/* 0C166C 7F08CB3C 00C09025 */ move $s2, $a2
|
||||
/* 0C1670 7F08CB40 8C910000 */ lw $s1, ($a0)
|
||||
/* 0C1674 7F08CB44 00807025 */ move $t6, $a0
|
||||
/* 0C1678 7F08CB48 8CB30000 */ lw $s3, ($a1)
|
||||
/* 0C167C 7F08CB4C 10400042 */ beqz $v0, .L7F08CC58
|
||||
/* 0C1680 7F08CB50 00A07825 */ move $t7, $a1
|
||||
/* 0C1684 7F08CB54 8C500010 */ lw $s0, 0x10($v0)
|
||||
.L7F08CB58:
|
||||
/* 0C1688 7F08CB58 8E020000 */ lw $v0, ($s0)
|
||||
/* 0C168C 7F08CB5C 24010001 */ li $at, 1
|
||||
/* 0C1690 7F08CB60 54410018 */ bnel $v0, $at, .L7F08CBC4
|
||||
/* 0C1694 7F08CB64 24010003 */ li $at, 3
|
||||
/* 0C1698 7F08CB68 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C169C 7F08CB6C 28810021 */ slti $at, $a0, 0x21
|
||||
/* 0C16A0 7F08CB70 1020002E */ beqz $at, .L7F08CC2C
|
||||
/* 0C16A4 7F08CB74 00000000 */ nop
|
||||
/* 0C16A8 7F08CB78 0091082A */ slt $at, $a0, $s1
|
||||
/* 0C16AC 7F08CB7C 14200005 */ bnez $at, .L7F08CB94
|
||||
/* 0C16B0 7F08CB80 00000000 */ nop
|
||||
/* 0C16B4 7F08CB84 16240029 */ bne $s1, $a0, .L7F08CC2C
|
||||
/* 0C16B8 7F08CB88 00000000 */ nop
|
||||
/* 0C16BC 7F08CB8C 1A600027 */ blez $s3, .L7F08CC2C
|
||||
/* 0C16C0 7F08CB90 00000000 */ nop
|
||||
.L7F08CB94:
|
||||
/* 0C16C4 7F08CB94 52400008 */ beql $s2, $zero, .L7F08CBB8
|
||||
/* 0C16C8 7F08CB98 00808825 */ move $s1, $a0
|
||||
/* 0C16CC 7F08CB9C 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C16D0 7F08CBA0 00000000 */ nop
|
||||
/* 0C16D4 7F08CBA4 10400021 */ beqz $v0, .L7F08CC2C
|
||||
/* 0C16D8 7F08CBA8 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C16DC 7F08CBAC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C16E0 7F08CBB0 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C16E4 7F08CBB4 00808825 */ move $s1, $a0
|
||||
.L7F08CBB8:
|
||||
/* 0C16E8 7F08CBB8 10000027 */ b .L7F08CC58
|
||||
/* 0C16EC 7F08CBBC 00009825 */ move $s3, $zero
|
||||
/* 0C16F0 7F08CBC0 24010003 */ li $at, 3
|
||||
.L7F08CBC4:
|
||||
/* 0C16F4 7F08CBC4 14410019 */ bne $v0, $at, .L7F08CC2C
|
||||
/* 0C16F8 7F08CBC8 00000000 */ nop
|
||||
/* 0C16FC 7F08CBCC 8E040004 */ lw $a0, 4($s0)
|
||||
/* 0C1700 7F08CBD0 0091082A */ slt $at, $a0, $s1
|
||||
/* 0C1704 7F08CBD4 14200007 */ bnez $at, .L7F08CBF4
|
||||
/* 0C1708 7F08CBD8 00000000 */ nop
|
||||
/* 0C170C 7F08CBDC 16240013 */ bne $s1, $a0, .L7F08CC2C
|
||||
/* 0C1710 7F08CBE0 00000000 */ nop
|
||||
/* 0C1714 7F08CBE4 8E180008 */ lw $t8, 8($s0)
|
||||
/* 0C1718 7F08CBE8 0313082A */ slt $at, $t8, $s3
|
||||
/* 0C171C 7F08CBEC 1020000F */ beqz $at, .L7F08CC2C
|
||||
/* 0C1720 7F08CBF0 00000000 */ nop
|
||||
.L7F08CBF4:
|
||||
/* 0C1724 7F08CBF4 12400008 */ beqz $s2, .L7F08CC18
|
||||
/* 0C1728 7F08CBF8 00000000 */ nop
|
||||
/* 0C172C 7F08CBFC 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C1730 7F08CC00 00000000 */ nop
|
||||
/* 0C1734 7F08CC04 14400004 */ bnez $v0, .L7F08CC18
|
||||
/* 0C1738 7F08CC08 00000000 */ nop
|
||||
/* 0C173C 7F08CC0C 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C1740 7F08CC10 8E040008 */ lw $a0, 8($s0)
|
||||
/* 0C1744 7F08CC14 10400005 */ beqz $v0, .L7F08CC2C
|
||||
.L7F08CC18:
|
||||
/* 0C1748 7F08CC18 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C174C 7F08CC1C 8E110004 */ lw $s1, 4($s0)
|
||||
/* 0C1750 7F08CC20 8E130008 */ lw $s3, 8($s0)
|
||||
/* 0C1754 7F08CC24 1000000C */ b .L7F08CC58
|
||||
/* 0C1758 7F08CC28 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
.L7F08CC2C:
|
||||
/* 0C175C 7F08CC2C 3C038008 */ lui $v1, %hi(pPlayer)
|
||||
/* 0C1760 7F08CC30 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
|
||||
/* 0C1764 7F08CC34 8C7911E0 */ lw $t9, 0x11e0($v1)
|
||||
/* 0C1768 7F08CC38 16190005 */ bne $s0, $t9, .L7F08CC50
|
||||
/* 0C176C 7F08CC3C 00000000 */ nop
|
||||
/* 0C1770 7F08CC40 56400006 */ bnezl $s2, .L7F08CC5C
|
||||
/* 0C1774 7F08CC44 8C6811EC */ lw $t0, 0x11ec($v1)
|
||||
/* 0C1778 7F08CC48 241103E8 */ li $s1, 1000
|
||||
/* 0C177C 7F08CC4C 241303E8 */ li $s3, 1000
|
||||
.L7F08CC50:
|
||||
/* 0C1780 7F08CC50 1000FFC1 */ b .L7F08CB58
|
||||
/* 0C1784 7F08CC54 8E100010 */ lw $s0, 0x10($s0)
|
||||
.L7F08CC58:
|
||||
/* 0C1788 7F08CC58 8C6811EC */ lw $t0, 0x11ec($v1)
|
||||
.L7F08CC5C:
|
||||
/* 0C178C 7F08CC5C 8FAA002C */ lw $t2, 0x2c($sp)
|
||||
/* 0C1790 7F08CC60 51000079 */ beql $t0, $zero, .L7F08CE48
|
||||
/* 0C1794 7F08CC64 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C1798 7F08CC68 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0C179C 7F08CC6C 8FA90028 */ lw $t1, 0x28($sp)
|
||||
/* 0C17A0 7F08CC70 24030021 */ li $v1, 33
|
||||
/* 0C17A4 7F08CC74 1560001B */ bnez $t3, .L7F08CCE4
|
||||
/* 0C17A8 7F08CC78 8D300000 */ lw $s0, ($t1)
|
||||
/* 0C17AC 7F08CC7C 260C0020 */ addiu $t4, $s0, 0x20
|
||||
/* 0C17B0 7F08CC80 0183001A */ div $zero, $t4, $v1
|
||||
/* 0C17B4 7F08CC84 00008010 */ mfhi $s0
|
||||
/* 0C17B8 7F08CC88 260D0020 */ addiu $t5, $s0, 0x20
|
||||
/* 0C17BC 7F08CC8C 14600002 */ bnez $v1, .L7F08CC98
|
||||
/* 0C17C0 7F08CC90 00000000 */ nop
|
||||
/* 0C17C4 7F08CC94 0007000D */ break 7
|
||||
.L7F08CC98:
|
||||
/* 0C17C8 7F08CC98 2401FFFF */ li $at, -1
|
||||
/* 0C17CC 7F08CC9C 14610004 */ bne $v1, $at, .L7F08CCB0
|
||||
/* 0C17D0 7F08CCA0 3C018000 */ lui $at, 0x8000
|
||||
/* 0C17D4 7F08CCA4 15810002 */ bne $t4, $at, .L7F08CCB0
|
||||
/* 0C17D8 7F08CCA8 00000000 */ nop
|
||||
/* 0C17DC 7F08CCAC 0006000D */ break 6
|
||||
.L7F08CCB0:
|
||||
/* 0C17E0 7F08CCB0 1600000C */ bnez $s0, .L7F08CCE4
|
||||
/* 0C17E4 7F08CCB4 00000000 */ nop
|
||||
/* 0C17E8 7F08CCB8 01A3001A */ div $zero, $t5, $v1
|
||||
/* 0C17EC 7F08CCBC 00008010 */ mfhi $s0
|
||||
/* 0C17F0 7F08CCC0 14600002 */ bnez $v1, .L7F08CCCC
|
||||
/* 0C17F4 7F08CCC4 00000000 */ nop
|
||||
/* 0C17F8 7F08CCC8 0007000D */ break 7
|
||||
.L7F08CCCC:
|
||||
/* 0C17FC 7F08CCCC 2401FFFF */ li $at, -1
|
||||
/* 0C1800 7F08CCD0 14610004 */ bne $v1, $at, .L7F08CCE4
|
||||
/* 0C1804 7F08CCD4 3C018000 */ lui $at, 0x8000
|
||||
/* 0C1808 7F08CCD8 15A10002 */ bne $t5, $at, .L7F08CCE4
|
||||
/* 0C180C 7F08CCDC 00000000 */ nop
|
||||
/* 0C1810 7F08CCE0 0006000D */ break 6
|
||||
.L7F08CCE4:
|
||||
/* 0C1814 7F08CCE4 1611001E */ bne $s0, $s1, .L7F08CD60
|
||||
/* 0C1818 7F08CCE8 00000000 */ nop
|
||||
/* 0C181C 7F08CCEC 0FC26919 */ jal getPlayerCount
|
||||
/* 0C1820 7F08CCF0 00000000 */ nop
|
||||
/* 0C1824 7F08CCF4 24010001 */ li $at, 1
|
||||
/* 0C1828 7F08CCF8 14410052 */ bne $v0, $at, .L7F08CE44
|
||||
/* 0C182C 7F08CCFC 02002025 */ move $a0, $s0
|
||||
/* 0C1830 7F08CD00 0FC1782D */ jal bondwalkItemCheckBitflags
|
||||
/* 0C1834 7F08CD04 3C050010 */ lui $a1, 0x10
|
||||
/* 0C1838 7F08CD08 5040004F */ beql $v0, $zero, .L7F08CE48
|
||||
/* 0C183C 7F08CD0C 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C1840 7F08CD10 52400006 */ beql $s2, $zero, .L7F08CD2C
|
||||
/* 0C1844 7F08CD14 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C1848 7F08CD18 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C184C 7F08CD1C 02002025 */ move $a0, $s0
|
||||
/* 0C1850 7F08CD20 50400049 */ beql $v0, $zero, .L7F08CE48
|
||||
/* 0C1854 7F08CD24 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C1858 7F08CD28 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
.L7F08CD2C:
|
||||
/* 0C185C 7F08CD2C 8FB8002C */ lw $t8, 0x2c($sp)
|
||||
/* 0C1860 7F08CD30 8DCF0000 */ lw $t7, ($t6)
|
||||
/* 0C1864 7F08CD34 560F0005 */ bnel $s0, $t7, .L7F08CD4C
|
||||
/* 0C1868 7F08CD38 0270082A */ slt $at, $s3, $s0
|
||||
/* 0C186C 7F08CD3C 8F190000 */ lw $t9, ($t8)
|
||||
/* 0C1870 7F08CD40 0219082A */ slt $at, $s0, $t9
|
||||
/* 0C1874 7F08CD44 1020003F */ beqz $at, .L7F08CE44
|
||||
/* 0C1878 7F08CD48 0270082A */ slt $at, $s3, $s0
|
||||
.L7F08CD4C:
|
||||
/* 0C187C 7F08CD4C 5020003E */ beql $at, $zero, .L7F08CE48
|
||||
/* 0C1880 7F08CD50 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0C1884 7F08CD54 02008825 */ move $s1, $s0
|
||||
/* 0C1888 7F08CD58 1000003A */ b .L7F08CE44
|
||||
/* 0C188C 7F08CD5C 02009825 */ move $s3, $s0
|
||||
.L7F08CD60:
|
||||
/* 0C1890 7F08CD60 12400005 */ beqz $s2, .L7F08CD78
|
||||
/* 0C1894 7F08CD64 00000000 */ nop
|
||||
/* 0C1898 7F08CD68 0FC17817 */ jal bondwalkItemHasAmmo
|
||||
/* 0C189C 7F08CD6C 02002025 */ move $a0, $s0
|
||||
/* 0C18A0 7F08CD70 10400018 */ beqz $v0, .L7F08CDD4
|
||||
/* 0C18A4 7F08CD74 24030021 */ li $v1, 33
|
||||
.L7F08CD78:
|
||||
/* 0C18A8 7F08CD78 0FC26919 */ jal getPlayerCount
|
||||
/* 0C18AC 7F08CD7C 00000000 */ nop
|
||||
/* 0C18B0 7F08CD80 24010001 */ li $at, 1
|
||||
/* 0C18B4 7F08CD84 14410010 */ bne $v0, $at, .L7F08CDC8
|
||||
/* 0C18B8 7F08CD88 02002025 */ move $a0, $s0
|
||||
/* 0C18BC 7F08CD8C 0FC1782D */ jal bondwalkItemCheckBitflags
|
||||
/* 0C18C0 7F08CD90 3C050010 */ lui $a1, 0x10
|
||||
/* 0C18C4 7F08CD94 1040000C */ beqz $v0, .L7F08CDC8
|
||||
/* 0C18C8 7F08CD98 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 0C18CC 7F08CD9C 8D090000 */ lw $t1, ($t0)
|
||||
/* 0C18D0 7F08CDA0 8FAA002C */ lw $t2, 0x2c($sp)
|
||||
/* 0C18D4 7F08CDA4 02008825 */ move $s1, $s0
|
||||
/* 0C18D8 7F08CDA8 16090005 */ bne $s0, $t1, .L7F08CDC0
|
||||
/* 0C18DC 7F08CDAC 00000000 */ nop
|
||||
/* 0C18E0 7F08CDB0 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0C18E4 7F08CDB4 020B082A */ slt $at, $s0, $t3
|
||||
/* 0C18E8 7F08CDB8 50200004 */ beql $at, $zero, .L7F08CDCC
|
||||
/* 0C18EC 7F08CDBC 02008825 */ move $s1, $s0
|
||||
.L7F08CDC0:
|
||||
/* 0C18F0 7F08CDC0 10000020 */ b .L7F08CE44
|
||||
/* 0C18F4 7F08CDC4 02009825 */ move $s3, $s0
|
||||
.L7F08CDC8:
|
||||
/* 0C18F8 7F08CDC8 02008825 */ move $s1, $s0
|
||||
.L7F08CDCC:
|
||||
/* 0C18FC 7F08CDCC 1000001D */ b .L7F08CE44
|
||||
/* 0C1900 7F08CDD0 00009825 */ move $s3, $zero
|
||||
.L7F08CDD4:
|
||||
/* 0C1904 7F08CDD4 260C0020 */ addiu $t4, $s0, 0x20
|
||||
/* 0C1908 7F08CDD8 0183001A */ div $zero, $t4, $v1
|
||||
/* 0C190C 7F08CDDC 00008010 */ mfhi $s0
|
||||
/* 0C1910 7F08CDE0 14600002 */ bnez $v1, .L7F08CDEC
|
||||
/* 0C1914 7F08CDE4 00000000 */ nop
|
||||
/* 0C1918 7F08CDE8 0007000D */ break 7
|
||||
.L7F08CDEC:
|
||||
/* 0C191C 7F08CDEC 2401FFFF */ li $at, -1
|
||||
/* 0C1920 7F08CDF0 14610004 */ bne $v1, $at, .L7F08CE04
|
||||
/* 0C1924 7F08CDF4 3C018000 */ lui $at, 0x8000
|
||||
/* 0C1928 7F08CDF8 15810002 */ bne $t4, $at, .L7F08CE04
|
||||
/* 0C192C 7F08CDFC 00000000 */ nop
|
||||
/* 0C1930 7F08CE00 0006000D */ break 6
|
||||
.L7F08CE04:
|
||||
/* 0C1934 7F08CE04 1600FFB7 */ bnez $s0, .L7F08CCE4
|
||||
/* 0C1938 7F08CE08 00000000 */ nop
|
||||
/* 0C193C 7F08CE0C 260D0020 */ addiu $t5, $s0, 0x20
|
||||
/* 0C1940 7F08CE10 01A3001A */ div $zero, $t5, $v1
|
||||
/* 0C1944 7F08CE14 00008010 */ mfhi $s0
|
||||
/* 0C1948 7F08CE18 14600002 */ bnez $v1, .L7F08CE24
|
||||
/* 0C194C 7F08CE1C 00000000 */ nop
|
||||
/* 0C1950 7F08CE20 0007000D */ break 7
|
||||
.L7F08CE24:
|
||||
/* 0C1954 7F08CE24 2401FFFF */ li $at, -1
|
||||
/* 0C1958 7F08CE28 14610004 */ bne $v1, $at, .L7F08CE3C
|
||||
/* 0C195C 7F08CE2C 3C018000 */ lui $at, 0x8000
|
||||
/* 0C1960 7F08CE30 15A10002 */ bne $t5, $at, .L7F08CE3C
|
||||
/* 0C1964 7F08CE34 00000000 */ nop
|
||||
/* 0C1968 7F08CE38 0006000D */ break 6
|
||||
.L7F08CE3C:
|
||||
/* 0C196C 7F08CE3C 1000FFA9 */ b .L7F08CCE4
|
||||
/* 0C1970 7F08CE40 00000000 */ nop
|
||||
.L7F08CE44:
|
||||
/* 0C1974 7F08CE44 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
.L7F08CE48:
|
||||
/* 0C1978 7F08CE48 ADD10000 */ sw $s1, ($t6)
|
||||
/* 0C197C 7F08CE4C 8FAF002C */ lw $t7, 0x2c($sp)
|
||||
/* 0C1980 7F08CE50 ADF30000 */ sw $s3, ($t7)
|
||||
/* 0C1984 7F08CE54 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0C1988 7F08CE58 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 0C198C 7F08CE5C 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 0C1990 7F08CE60 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 0C1994 7F08CE64 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 0C1998 7F08CE68 03E00008 */ jr $ra
|
||||
/* 0C199C 7F08CE6C 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1630,7 +2080,7 @@ glabel sub_GAME_7F08CE70
|
||||
|
||||
#ifdef NONMATCHING
|
||||
//NOT MATCHING YET -> Wrong Register values
|
||||
void sub_GAME_7F08CF0C(void) {
|
||||
void checkHasGEKey(void) {
|
||||
|
||||
InvItem *item = pPlayer->ptr_inventory_first_in_cycle;
|
||||
|
||||
@@ -1638,7 +2088,7 @@ void sub_GAME_7F08CF0C(void) {
|
||||
|
||||
if (item->type == 2 ) {
|
||||
struct prop *temp_a0 = item->type_inv_item.type_prop.prop;
|
||||
if (item->type_inv_item.type_prop.prop->type == 4 && temp_a0->obj->type == 0xF8) {
|
||||
if (item->type_inv_item.type_prop.prop->type == 4 && temp_a0->obj->type == PROJECTILES_TYPE_GE_KEY) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1656,7 +2106,7 @@ void sub_GAME_7F08CF0C(void) {
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08CF0C
|
||||
glabel checkHasGEKey
|
||||
/* 0C1A3C 7F08CF0C 3C0E8008 */ lui $t6, %hi(pPlayer)
|
||||
/* 0C1A40 7F08CF10 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6)
|
||||
/* 0C1A44 7F08CF14 240800F8 */ li $t0, 248
|
||||
@@ -1930,6 +2380,73 @@ glabel count_total_items_in_inventory
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel count_total_items_in_inventory
|
||||
/* 0C1B68 7F08D038 3C028008 */ lui $v0, %hi(pPlayer)
|
||||
/* 0C1B6C 7F08D03C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0)
|
||||
/* 0C1B70 7F08D040 00001825 */ move $v1, $zero
|
||||
/* 0C1B74 7F08D044 3C0B0004 */ lui $t3, 4
|
||||
/* 0C1B78 7F08D048 8C4411EC */ lw $a0, 0x11ec($v0)
|
||||
/* 0C1B7C 7F08D04C 240A0001 */ li $t2, 1
|
||||
/* 0C1B80 7F08D050 24090004 */ li $t1, 4
|
||||
/* 0C1B84 7F08D054 10800002 */ beqz $a0, .L7F08D060
|
||||
/* 0C1B88 7F08D058 24080002 */ li $t0, 2
|
||||
/* 0C1B8C 7F08D05C 24030020 */ li $v1, 32
|
||||
.L7F08D060:
|
||||
/* 0C1B90 7F08D060 8C4611E0 */ lw $a2, 0x11e0($v0)
|
||||
/* 0C1B94 7F08D064 10C00026 */ beqz $a2, .L7F08D100
|
||||
/* 0C1B98 7F08D068 00C02825 */ move $a1, $a2
|
||||
/* 0C1B9C 7F08D06C 8CA20000 */ lw $v0, ($a1)
|
||||
.L7F08D070:
|
||||
/* 0C1BA0 7F08D070 15020015 */ bne $t0, $v0, .L7F08D0C8
|
||||
/* 0C1BA4 7F08D074 00000000 */ nop
|
||||
/* 0C1BA8 7F08D078 8CA20004 */ lw $v0, 4($a1)
|
||||
/* 0C1BAC 7F08D07C 90470000 */ lbu $a3, ($v0)
|
||||
/* 0C1BB0 7F08D080 15270008 */ bne $t1, $a3, .L7F08D0A4
|
||||
/* 0C1BB4 7F08D084 00000000 */ nop
|
||||
/* 0C1BB8 7F08D088 8C470004 */ lw $a3, 4($v0)
|
||||
/* 0C1BBC 7F08D08C 8CEE0064 */ lw $t6, 0x64($a3)
|
||||
/* 0C1BC0 7F08D090 31CF0400 */ andi $t7, $t6, 0x400
|
||||
/* 0C1BC4 7F08D094 51E00016 */ beql $t7, $zero, .L7F08D0F0
|
||||
/* 0C1BC8 7F08D098 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1BCC 7F08D09C 10000013 */ b .L7F08D0EC
|
||||
/* 0C1BD0 7F08D0A0 24630001 */ addiu $v1, $v1, 1
|
||||
.L7F08D0A4:
|
||||
/* 0C1BD4 7F08D0A4 55470012 */ bnel $t2, $a3, .L7F08D0F0
|
||||
/* 0C1BD8 7F08D0A8 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1BDC 7F08D0AC 8C580004 */ lw $t8, 4($v0)
|
||||
/* 0C1BE0 7F08D0B0 8F19000C */ lw $t9, 0xc($t8)
|
||||
/* 0C1BE4 7F08D0B4 032B6024 */ and $t4, $t9, $t3
|
||||
/* 0C1BE8 7F08D0B8 5580000D */ bnezl $t4, .L7F08D0F0
|
||||
/* 0C1BEC 7F08D0BC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1BF0 7F08D0C0 1000000A */ b .L7F08D0EC
|
||||
/* 0C1BF4 7F08D0C4 24630001 */ addiu $v1, $v1, 1
|
||||
.L7F08D0C8:
|
||||
/* 0C1BF8 7F08D0C8 55420009 */ bnel $t2, $v0, .L7F08D0F0
|
||||
/* 0C1BFC 7F08D0CC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1C00 7F08D0D0 50800006 */ beql $a0, $zero, .L7F08D0EC
|
||||
/* 0C1C04 7F08D0D4 24630001 */ addiu $v1, $v1, 1
|
||||
/* 0C1C08 7F08D0D8 8CAD0004 */ lw $t5, 4($a1)
|
||||
/* 0C1C0C 7F08D0DC 29A10021 */ slti $at, $t5, 0x21
|
||||
/* 0C1C10 7F08D0E0 54200003 */ bnezl $at, .L7F08D0F0
|
||||
/* 0C1C14 7F08D0E4 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1C18 7F08D0E8 24630001 */ addiu $v1, $v1, 1
|
||||
.L7F08D0EC:
|
||||
/* 0C1C1C 7F08D0EC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
.L7F08D0F0:
|
||||
/* 0C1C20 7F08D0F0 10A60003 */ beq $a1, $a2, .L7F08D100
|
||||
/* 0C1C24 7F08D0F4 00000000 */ nop
|
||||
/* 0C1C28 7F08D0F8 54A0FFDD */ bnezl $a1, .L7F08D070
|
||||
/* 0C1C2C 7F08D0FC 8CA20000 */ lw $v0, ($a1)
|
||||
.L7F08D100:
|
||||
/* 0C1C30 7F08D100 03E00008 */ jr $ra
|
||||
/* 0C1C34 7F08D104 00601025 */ move $v0, $v1
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2138,6 +2655,99 @@ glabel sub_GAME_7F08D108
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08D108
|
||||
/* 0C1C38 7F08D108 3C028008 */ lui $v0, %hi(pPlayer)
|
||||
/* 0C1C3C 7F08D10C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0)
|
||||
/* 0C1C40 7F08D110 28810020 */ slti $at, $a0, 0x20
|
||||
/* 0C1C44 7F08D114 8C4311EC */ lw $v1, 0x11ec($v0)
|
||||
/* 0C1C48 7F08D118 50600006 */ beql $v1, $zero, .L7F08D134
|
||||
/* 0C1C4C 7F08D11C 8C4611E0 */ lw $a2, 0x11e0($v0)
|
||||
/* 0C1C50 7F08D120 10200003 */ beqz $at, .L7F08D130
|
||||
/* 0C1C54 7F08D124 2484FFE0 */ addiu $a0, $a0, -0x20
|
||||
/* 0C1C58 7F08D128 03E00008 */ jr $ra
|
||||
/* 0C1C5C 7F08D12C 00001025 */ move $v0, $zero
|
||||
|
||||
.L7F08D130:
|
||||
/* 0C1C60 7F08D130 8C4611E0 */ lw $a2, 0x11e0($v0)
|
||||
.L7F08D134:
|
||||
/* 0C1C64 7F08D134 3C0B0004 */ lui $t3, 4
|
||||
/* 0C1C68 7F08D138 240A0001 */ li $t2, 1
|
||||
/* 0C1C6C 7F08D13C 10C00034 */ beqz $a2, .L7F08D210
|
||||
/* 0C1C70 7F08D140 00C02825 */ move $a1, $a2
|
||||
/* 0C1C74 7F08D144 24090004 */ li $t1, 4
|
||||
/* 0C1C78 7F08D148 24080002 */ li $t0, 2
|
||||
/* 0C1C7C 7F08D14C 8CA20000 */ lw $v0, ($a1)
|
||||
.L7F08D150:
|
||||
/* 0C1C80 7F08D150 1502001D */ bne $t0, $v0, .L7F08D1C8
|
||||
/* 0C1C84 7F08D154 00000000 */ nop
|
||||
/* 0C1C88 7F08D158 8CA20004 */ lw $v0, 4($a1)
|
||||
/* 0C1C8C 7F08D15C 90470000 */ lbu $a3, ($v0)
|
||||
/* 0C1C90 7F08D160 1527000C */ bne $t1, $a3, .L7F08D194
|
||||
/* 0C1C94 7F08D164 00000000 */ nop
|
||||
/* 0C1C98 7F08D168 8C470004 */ lw $a3, 4($v0)
|
||||
/* 0C1C9C 7F08D16C 8CEE0064 */ lw $t6, 0x64($a3)
|
||||
/* 0C1CA0 7F08D170 31CF0400 */ andi $t7, $t6, 0x400
|
||||
/* 0C1CA4 7F08D174 51E00022 */ beql $t7, $zero, .L7F08D200
|
||||
/* 0C1CA8 7F08D178 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1CAC 7F08D17C 14800003 */ bnez $a0, .L7F08D18C
|
||||
/* 0C1CB0 7F08D180 00000000 */ nop
|
||||
/* 0C1CB4 7F08D184 03E00008 */ jr $ra
|
||||
/* 0C1CB8 7F08D188 00A01025 */ move $v0, $a1
|
||||
|
||||
.L7F08D18C:
|
||||
/* 0C1CBC 7F08D18C 1000001B */ b .L7F08D1FC
|
||||
/* 0C1CC0 7F08D190 2484FFFF */ addiu $a0, $a0, -1
|
||||
.L7F08D194:
|
||||
/* 0C1CC4 7F08D194 5547001A */ bnel $t2, $a3, .L7F08D200
|
||||
/* 0C1CC8 7F08D198 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1CCC 7F08D19C 8C580004 */ lw $t8, 4($v0)
|
||||
/* 0C1CD0 7F08D1A0 8F19000C */ lw $t9, 0xc($t8)
|
||||
/* 0C1CD4 7F08D1A4 032B6024 */ and $t4, $t9, $t3
|
||||
/* 0C1CD8 7F08D1A8 55800015 */ bnezl $t4, .L7F08D200
|
||||
/* 0C1CDC 7F08D1AC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1CE0 7F08D1B0 14800003 */ bnez $a0, .L7F08D1C0
|
||||
/* 0C1CE4 7F08D1B4 00000000 */ nop
|
||||
/* 0C1CE8 7F08D1B8 03E00008 */ jr $ra
|
||||
/* 0C1CEC 7F08D1BC 00A01025 */ move $v0, $a1
|
||||
|
||||
.L7F08D1C0:
|
||||
/* 0C1CF0 7F08D1C0 1000000E */ b .L7F08D1FC
|
||||
/* 0C1CF4 7F08D1C4 2484FFFF */ addiu $a0, $a0, -1
|
||||
.L7F08D1C8:
|
||||
/* 0C1CF8 7F08D1C8 5542000D */ bnel $t2, $v0, .L7F08D200
|
||||
/* 0C1CFC 7F08D1CC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
/* 0C1D00 7F08D1D0 10600005 */ beqz $v1, .L7F08D1E8
|
||||
/* 0C1D04 7F08D1D4 00000000 */ nop
|
||||
/* 0C1D08 7F08D1D8 8CAD0004 */ lw $t5, 4($a1)
|
||||
/* 0C1D0C 7F08D1DC 29A10021 */ slti $at, $t5, 0x21
|
||||
/* 0C1D10 7F08D1E0 54200007 */ bnezl $at, .L7F08D200
|
||||
/* 0C1D14 7F08D1E4 8CA5000C */ lw $a1, 0xc($a1)
|
||||
.L7F08D1E8:
|
||||
/* 0C1D18 7F08D1E8 54800004 */ bnezl $a0, .L7F08D1FC
|
||||
/* 0C1D1C 7F08D1EC 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 0C1D20 7F08D1F0 03E00008 */ jr $ra
|
||||
/* 0C1D24 7F08D1F4 00A01025 */ move $v0, $a1
|
||||
|
||||
/* 0C1D28 7F08D1F8 2484FFFF */ addiu $a0, $a0, -1
|
||||
.L7F08D1FC:
|
||||
/* 0C1D2C 7F08D1FC 8CA5000C */ lw $a1, 0xc($a1)
|
||||
.L7F08D200:
|
||||
/* 0C1D30 7F08D200 50A60004 */ beql $a1, $a2, .L7F08D214
|
||||
/* 0C1D34 7F08D204 00001025 */ move $v0, $zero
|
||||
/* 0C1D38 7F08D208 54A0FFD1 */ bnezl $a1, .L7F08D150
|
||||
/* 0C1D3C 7F08D20C 8CA20000 */ lw $v0, ($a1)
|
||||
.L7F08D210:
|
||||
/* 0C1D40 7F08D210 00001025 */ move $v0, $zero
|
||||
.L7F08D214:
|
||||
/* 0C1D44 7F08D214 03E00008 */ jr $ra
|
||||
/* 0C1D48 7F08D218 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
textoverride *get_textoverride_by_obj(ObjectRecord *obj) {
|
||||
@@ -2173,7 +2783,7 @@ textoverride *get_textoverride_by_weaponum(ITEM_IDS weaponnum) {
|
||||
}
|
||||
|
||||
|
||||
#ifdef VERSION_US
|
||||
#ifndef VERSION_JP
|
||||
s32 get_weaponnum_by_inv_index(s32 index) {
|
||||
|
||||
textoverride *override;
|
||||
@@ -2441,6 +3051,80 @@ glabel sub_GAME_7F08D340
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08D340
|
||||
/* 0C1E70 7F08D340 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0C1E74 7F08D344 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0C1E78 7F08D348 0FC23442 */ jal sub_GAME_7F08D108
|
||||
/* 0C1E7C 7F08D34C AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0C1E80 7F08D350 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0C1E84 7F08D354 00401825 */ move $v1, $v0
|
||||
/* 0C1E88 7F08D358 10400024 */ beqz $v0, .L7F08D3EC
|
||||
/* 0C1E8C 7F08D35C 00003025 */ move $a2, $zero
|
||||
/* 0C1E90 7F08D360 8C440000 */ lw $a0, ($v0)
|
||||
/* 0C1E94 7F08D364 24010002 */ li $at, 2
|
||||
/* 0C1E98 7F08D368 54810012 */ bnel $a0, $at, .L7F08D3B4
|
||||
/* 0C1E9C 7F08D36C 24010001 */ li $at, 1
|
||||
/* 0C1EA0 7F08D370 8C420004 */ lw $v0, 4($v0)
|
||||
/* 0C1EA4 7F08D374 8C440004 */ lw $a0, 4($v0)
|
||||
/* 0C1EA8 7F08D378 0FC23487 */ jal get_textoverride_by_obj
|
||||
/* 0C1EAC 7F08D37C AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0C1EB0 7F08D380 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C1EB4 7F08D384 10400025 */ beqz $v0, .L7F08D41C
|
||||
/* 0C1EB8 7F08D388 00401825 */ move $v1, $v0
|
||||
/* 0C1EBC 7F08D38C 8C4E0014 */ lw $t6, 0x14($v0)
|
||||
/* 0C1EC0 7F08D390 11C00005 */ beqz $t6, .L7F08D3A8
|
||||
/* 0C1EC4 7F08D394 00000000 */ nop
|
||||
/* 0C1EC8 7F08D398 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C1ECC 7F08D39C 8C640014 */ lw $a0, 0x14($v1)
|
||||
/* 0C1ED0 7F08D3A0 10000021 */ b .L7F08D428
|
||||
/* 0C1ED4 7F08D3A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D3A8:
|
||||
/* 0C1ED8 7F08D3A8 1000001C */ b .L7F08D41C
|
||||
/* 0C1EDC 7F08D3AC 8C460008 */ lw $a2, 8($v0)
|
||||
/* 0C1EE0 7F08D3B0 24010001 */ li $at, 1
|
||||
.L7F08D3B4:
|
||||
/* 0C1EE4 7F08D3B4 14810019 */ bne $a0, $at, .L7F08D41C
|
||||
/* 0C1EE8 7F08D3B8 00000000 */ nop
|
||||
/* 0C1EEC 7F08D3BC 8C640004 */ lw $a0, 4($v1)
|
||||
/* 0C1EF0 7F08D3C0 0FC23497 */ jal get_textoverride_by_weaponum
|
||||
/* 0C1EF4 7F08D3C4 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0C1EF8 7F08D3C8 10400014 */ beqz $v0, .L7F08D41C
|
||||
/* 0C1EFC 7F08D3CC 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C1F00 7F08D3D0 8C4F0014 */ lw $t7, 0x14($v0)
|
||||
/* 0C1F04 7F08D3D4 11E00011 */ beqz $t7, .L7F08D41C
|
||||
/* 0C1F08 7F08D3D8 00000000 */ nop
|
||||
/* 0C1F0C 7F08D3DC 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C1F10 7F08D3E0 8C440014 */ lw $a0, 0x14($v0)
|
||||
/* 0C1F14 7F08D3E4 10000010 */ b .L7F08D428
|
||||
/* 0C1F18 7F08D3E8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D3EC:
|
||||
/* 0C1F1C 7F08D3EC 3C188008 */ lui $t8, %hi(pPlayer)
|
||||
/* 0C1F20 7F08D3F0 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8)
|
||||
/* 0C1F24 7F08D3F4 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 0C1F28 7F08D3F8 8F1911EC */ lw $t9, 0x11ec($t8)
|
||||
/* 0C1F2C 7F08D3FC 13200007 */ beqz $t9, .L7F08D41C
|
||||
/* 0C1F30 7F08D400 00000000 */ nop
|
||||
/* 0C1F34 7F08D404 10200005 */ beqz $at, .L7F08D41C
|
||||
/* 0C1F38 7F08D408 00000000 */ nop
|
||||
/* 0C1F3C 7F08D40C 0FC19C2A */ jal get_ptr_short_watch_text_for_item
|
||||
/* 0C1F40 7F08D410 24A40001 */ addiu $a0, $a1, 1
|
||||
/* 0C1F44 7F08D414 10000004 */ b .L7F08D428
|
||||
/* 0C1F48 7F08D418 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D41C:
|
||||
/* 0C1F4C 7F08D41C 0FC19C2A */ jal get_ptr_short_watch_text_for_item
|
||||
/* 0C1F50 7F08D420 00C02025 */ move $a0, $a2
|
||||
/* 0C1F54 7F08D424 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D428:
|
||||
/* 0C1F58 7F08D428 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0C1F5C 7F08D42C 03E00008 */ jr $ra
|
||||
/* 0C1F60 7F08D430 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2614,6 +3298,79 @@ glabel sub_GAME_7F08D434
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08D434
|
||||
/* 0C1F64 7F08D434 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0C1F68 7F08D438 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0C1F6C 7F08D43C 0FC23442 */ jal sub_GAME_7F08D108
|
||||
/* 0C1F70 7F08D440 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0C1F74 7F08D444 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0C1F78 7F08D448 00401825 */ move $v1, $v0
|
||||
/* 0C1F7C 7F08D44C 10400024 */ beqz $v0, .L7F08D4E0
|
||||
/* 0C1F80 7F08D450 00003025 */ move $a2, $zero
|
||||
/* 0C1F84 7F08D454 8C440000 */ lw $a0, ($v0)
|
||||
/* 0C1F88 7F08D458 24010002 */ li $at, 2
|
||||
/* 0C1F8C 7F08D45C 54810012 */ bnel $a0, $at, .L7F08D4A8
|
||||
/* 0C1F90 7F08D460 24010001 */ li $at, 1
|
||||
/* 0C1F94 7F08D464 8C420004 */ lw $v0, 4($v0)
|
||||
/* 0C1F98 7F08D468 8C440004 */ lw $a0, 4($v0)
|
||||
/* 0C1F9C 7F08D46C 0FC23487 */ jal get_textoverride_by_obj
|
||||
/* 0C1FA0 7F08D470 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0C1FA4 7F08D474 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C1FA8 7F08D478 10400025 */ beqz $v0, .L7F08D510
|
||||
/* 0C1FAC 7F08D47C 00401825 */ move $v1, $v0
|
||||
/* 0C1FB0 7F08D480 8C4E0018 */ lw $t6, 0x18($v0)
|
||||
/* 0C1FB4 7F08D484 11C00005 */ beqz $t6, .L7F08D49C
|
||||
/* 0C1FB8 7F08D488 00000000 */ nop
|
||||
/* 0C1FBC 7F08D48C 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C1FC0 7F08D490 8C640018 */ lw $a0, 0x18($v1)
|
||||
/* 0C1FC4 7F08D494 10000021 */ b .L7F08D51C
|
||||
/* 0C1FC8 7F08D498 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D49C:
|
||||
/* 0C1FCC 7F08D49C 1000001C */ b .L7F08D510
|
||||
/* 0C1FD0 7F08D4A0 8C460008 */ lw $a2, 8($v0)
|
||||
/* 0C1FD4 7F08D4A4 24010001 */ li $at, 1
|
||||
.L7F08D4A8:
|
||||
/* 0C1FD8 7F08D4A8 14810019 */ bne $a0, $at, .L7F08D510
|
||||
/* 0C1FDC 7F08D4AC 00000000 */ nop
|
||||
/* 0C1FE0 7F08D4B0 8C640004 */ lw $a0, 4($v1)
|
||||
/* 0C1FE4 7F08D4B4 0FC23497 */ jal get_textoverride_by_weaponum
|
||||
/* 0C1FE8 7F08D4B8 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0C1FEC 7F08D4BC 10400014 */ beqz $v0, .L7F08D510
|
||||
/* 0C1FF0 7F08D4C0 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C1FF4 7F08D4C4 8C4F0018 */ lw $t7, 0x18($v0)
|
||||
/* 0C1FF8 7F08D4C8 11E00011 */ beqz $t7, .L7F08D510
|
||||
/* 0C1FFC 7F08D4CC 00000000 */ nop
|
||||
/* 0C2000 7F08D4D0 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C2004 7F08D4D4 8C440018 */ lw $a0, 0x18($v0)
|
||||
/* 0C2008 7F08D4D8 10000010 */ b .L7F08D51C
|
||||
/* 0C200C 7F08D4DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D4E0:
|
||||
/* 0C2010 7F08D4E0 3C188008 */ lui $t8, %hi(pPlayer)
|
||||
/* 0C2014 7F08D4E4 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8)
|
||||
/* 0C2018 7F08D4E8 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 0C201C 7F08D4EC 8F1911EC */ lw $t9, 0x11ec($t8)
|
||||
/* 0C2020 7F08D4F0 13200007 */ beqz $t9, .L7F08D510
|
||||
/* 0C2024 7F08D4F4 00000000 */ nop
|
||||
/* 0C2028 7F08D4F8 10200005 */ beqz $at, .L7F08D510
|
||||
/* 0C202C 7F08D4FC 00000000 */ nop
|
||||
/* 0C2030 7F08D500 0FC19C37 */ jal get_ptr_long_watch_text_for_item
|
||||
/* 0C2034 7F08D504 24A40001 */ addiu $a0, $a1, 1
|
||||
/* 0C2038 7F08D508 10000004 */ b .L7F08D51C
|
||||
/* 0C203C 7F08D50C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D510:
|
||||
/* 0C2040 7F08D510 0FC19C37 */ jal get_ptr_long_watch_text_for_item
|
||||
/* 0C2044 7F08D514 00C02025 */ move $a0, $a2
|
||||
/* 0C2048 7F08D518 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D51C:
|
||||
/* 0C204C 7F08D51C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0C2050 7F08D520 03E00008 */ jr $ra
|
||||
/* 0C2054 7F08D524 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2821,6 +3578,80 @@ glabel sub_GAME_7F08D5C8
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08D5C8
|
||||
/* 0C20F8 7F08D5C8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0C20FC 7F08D5CC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0C2100 7F08D5D0 0FC23442 */ jal sub_GAME_7F08D108
|
||||
/* 0C2104 7F08D5D4 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0C2108 7F08D5D8 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0C210C 7F08D5DC 00401825 */ move $v1, $v0
|
||||
/* 0C2110 7F08D5E0 10400024 */ beqz $v0, .L7F08D674
|
||||
/* 0C2114 7F08D5E4 00003025 */ move $a2, $zero
|
||||
/* 0C2118 7F08D5E8 8C440000 */ lw $a0, ($v0)
|
||||
/* 0C211C 7F08D5EC 24010002 */ li $at, 2
|
||||
/* 0C2120 7F08D5F0 54810012 */ bnel $a0, $at, .L7F08D63C
|
||||
/* 0C2124 7F08D5F4 24010001 */ li $at, 1
|
||||
/* 0C2128 7F08D5F8 8C420004 */ lw $v0, 4($v0)
|
||||
/* 0C212C 7F08D5FC 8C440004 */ lw $a0, 4($v0)
|
||||
/* 0C2130 7F08D600 0FC23487 */ jal get_textoverride_by_obj
|
||||
/* 0C2134 7F08D604 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0C2138 7F08D608 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C213C 7F08D60C 10400025 */ beqz $v0, .L7F08D6A4
|
||||
/* 0C2140 7F08D610 00401825 */ move $v1, $v0
|
||||
/* 0C2144 7F08D614 8C4E000C */ lw $t6, 0xc($v0)
|
||||
/* 0C2148 7F08D618 11C00005 */ beqz $t6, .L7F08D630
|
||||
/* 0C214C 7F08D61C 00000000 */ nop
|
||||
/* 0C2150 7F08D620 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C2154 7F08D624 8C64000C */ lw $a0, 0xc($v1)
|
||||
/* 0C2158 7F08D628 10000021 */ b .L7F08D6B0
|
||||
/* 0C215C 7F08D62C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D630:
|
||||
/* 0C2160 7F08D630 1000001C */ b .L7F08D6A4
|
||||
/* 0C2164 7F08D634 8C460008 */ lw $a2, 8($v0)
|
||||
/* 0C2168 7F08D638 24010001 */ li $at, 1
|
||||
.L7F08D63C:
|
||||
/* 0C216C 7F08D63C 14810019 */ bne $a0, $at, .L7F08D6A4
|
||||
/* 0C2170 7F08D640 00000000 */ nop
|
||||
/* 0C2174 7F08D644 8C640004 */ lw $a0, 4($v1)
|
||||
/* 0C2178 7F08D648 0FC23497 */ jal get_textoverride_by_weaponum
|
||||
/* 0C217C 7F08D64C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0C2180 7F08D650 10400014 */ beqz $v0, .L7F08D6A4
|
||||
/* 0C2184 7F08D654 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C2188 7F08D658 8C4F000C */ lw $t7, 0xc($v0)
|
||||
/* 0C218C 7F08D65C 11E00011 */ beqz $t7, .L7F08D6A4
|
||||
/* 0C2190 7F08D660 00000000 */ nop
|
||||
/* 0C2194 7F08D664 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C2198 7F08D668 8C44000C */ lw $a0, 0xc($v0)
|
||||
/* 0C219C 7F08D66C 10000010 */ b .L7F08D6B0
|
||||
/* 0C21A0 7F08D670 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D674:
|
||||
/* 0C21A4 7F08D674 3C188008 */ lui $t8, %hi(pPlayer)
|
||||
/* 0C21A8 7F08D678 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8)
|
||||
/* 0C21AC 7F08D67C 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 0C21B0 7F08D680 8F1911EC */ lw $t9, 0x11ec($t8)
|
||||
/* 0C21B4 7F08D684 13200007 */ beqz $t9, .L7F08D6A4
|
||||
/* 0C21B8 7F08D688 00000000 */ nop
|
||||
/* 0C21BC 7F08D68C 10200005 */ beqz $at, .L7F08D6A4
|
||||
/* 0C21C0 7F08D690 00000000 */ nop
|
||||
/* 0C21C4 7F08D694 0FC19C10 */ jal get_ptr_first_title_line_item
|
||||
/* 0C21C8 7F08D698 24A40001 */ addiu $a0, $a1, 1
|
||||
/* 0C21CC 7F08D69C 10000004 */ b .L7F08D6B0
|
||||
/* 0C21D0 7F08D6A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D6A4:
|
||||
/* 0C21D4 7F08D6A4 0FC19C10 */ jal get_ptr_first_title_line_item
|
||||
/* 0C21D8 7F08D6A8 00C02025 */ move $a0, $a2
|
||||
/* 0C21DC 7F08D6AC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D6B0:
|
||||
/* 0C21E0 7F08D6B0 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0C21E4 7F08D6B4 03E00008 */ jr $ra
|
||||
/* 0C21E8 7F08D6B8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2994,6 +3825,81 @@ glabel sub_GAME_7F08D6BC
|
||||
/* 0C2E04 7F08E294 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F08D6BC
|
||||
/* 0C21EC 7F08D6BC 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0C21F0 7F08D6C0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0C21F4 7F08D6C4 0FC23442 */ jal sub_GAME_7F08D108
|
||||
/* 0C21F8 7F08D6C8 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0C21FC 7F08D6CC 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* 0C2200 7F08D6D0 00401825 */ move $v1, $v0
|
||||
/* 0C2204 7F08D6D4 10400024 */ beqz $v0, .L7F08D768
|
||||
/* 0C2208 7F08D6D8 00003025 */ move $a2, $zero
|
||||
/* 0C220C 7F08D6DC 8C440000 */ lw $a0, ($v0)
|
||||
/* 0C2210 7F08D6E0 24010002 */ li $at, 2
|
||||
/* 0C2214 7F08D6E4 54810012 */ bnel $a0, $at, .L7F08D730
|
||||
/* 0C2218 7F08D6E8 24010001 */ li $at, 1
|
||||
/* 0C221C 7F08D6EC 8C420004 */ lw $v0, 4($v0)
|
||||
/* 0C2220 7F08D6F0 8C440004 */ lw $a0, 4($v0)
|
||||
/* 0C2224 7F08D6F4 0FC23487 */ jal get_textoverride_by_obj
|
||||
/* 0C2228 7F08D6F8 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0C222C 7F08D6FC 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C2230 7F08D700 10400025 */ beqz $v0, .L7F08D798
|
||||
/* 0C2234 7F08D704 00401825 */ move $v1, $v0
|
||||
/* 0C2238 7F08D708 8C4E0010 */ lw $t6, 0x10($v0)
|
||||
/* 0C223C 7F08D70C 11C00005 */ beqz $t6, .L7F08D724
|
||||
/* 0C2240 7F08D710 00000000 */ nop
|
||||
/* 0C2244 7F08D714 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C2248 7F08D718 8C640010 */ lw $a0, 0x10($v1)
|
||||
/* 0C224C 7F08D71C 10000021 */ b .L7F08D7A4
|
||||
/* 0C2250 7F08D720 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D724:
|
||||
/* 0C2254 7F08D724 1000001C */ b .L7F08D798
|
||||
/* 0C2258 7F08D728 8C460008 */ lw $a2, 8($v0)
|
||||
/* 0C225C 7F08D72C 24010001 */ li $at, 1
|
||||
.L7F08D730:
|
||||
/* 0C2260 7F08D730 14810019 */ bne $a0, $at, .L7F08D798
|
||||
/* 0C2264 7F08D734 00000000 */ nop
|
||||
/* 0C2268 7F08D738 8C640004 */ lw $a0, 4($v1)
|
||||
/* 0C226C 7F08D73C 0FC23497 */ jal get_textoverride_by_weaponum
|
||||
/* 0C2270 7F08D740 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0C2274 7F08D744 10400014 */ beqz $v0, .L7F08D798
|
||||
/* 0C2278 7F08D748 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0C227C 7F08D74C 8C4F0010 */ lw $t7, 0x10($v0)
|
||||
/* 0C2280 7F08D750 11E00011 */ beqz $t7, .L7F08D798
|
||||
/* 0C2284 7F08D754 00000000 */ nop
|
||||
/* 0C2288 7F08D758 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 0C228C 7F08D75C 8C440010 */ lw $a0, 0x10($v0)
|
||||
/* 0C2290 7F08D760 10000010 */ b .L7F08D7A4
|
||||
/* 0C2294 7F08D764 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D768:
|
||||
/* 0C2298 7F08D768 3C188008 */ lui $t8, %hi(pPlayer)
|
||||
/* 0C229C 7F08D76C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8)
|
||||
/* 0C22A0 7F08D770 28A10020 */ slti $at, $a1, 0x20
|
||||
/* 0C22A4 7F08D774 8F1911EC */ lw $t9, 0x11ec($t8)
|
||||
/* 0C22A8 7F08D778 13200007 */ beqz $t9, .L7F08D798
|
||||
/* 0C22AC 7F08D77C 00000000 */ nop
|
||||
/* 0C22B0 7F08D780 10200005 */ beqz $at, .L7F08D798
|
||||
/* 0C22B4 7F08D784 00000000 */ nop
|
||||
/* 0C22B8 7F08D788 0FC19C1D */ jal get_ptr_second_title_line_item
|
||||
/* 0C22BC 7F08D78C 24A40001 */ addiu $a0, $a1, 1
|
||||
/* 0C22C0 7F08D790 10000004 */ b .L7F08D7A4
|
||||
/* 0C22C4 7F08D794 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D798:
|
||||
/* 0C22C8 7F08D798 0FC19C1D */ jal get_ptr_second_title_line_item
|
||||
/* 0C22CC 7F08D79C 00C02025 */ move $a0, $a2
|
||||
/* 0C22D0 7F08D7A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F08D7A4:
|
||||
/* 0C22D4 7F08D7A4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0C22D8 7F08D7A8 03E00008 */ jr $ra
|
||||
/* 0C22DC 7F08D7AC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+8886
-3415
File diff suppressed because it is too large
Load Diff
+180
-35
@@ -4,40 +4,182 @@
|
||||
#include "game/chrobjdata.h"
|
||||
#include "bondconstants.h"
|
||||
|
||||
struct weapon_stats
|
||||
struct WeaponStats
|
||||
{
|
||||
f32 field_0;
|
||||
f32 pos_x;
|
||||
f32 pos_y;
|
||||
f32 pos_z;
|
||||
f32 field_10;
|
||||
f32 field_14;
|
||||
f32 field_18;
|
||||
s32 ammotype;
|
||||
s16 mag_size;
|
||||
u8 automatic_firing_rate;
|
||||
s8 single_firing_rate;
|
||||
u8 objects_shoot_through;
|
||||
u8 sound_trigger_rate;
|
||||
u16 sound;
|
||||
struct Gitemheader * ptr_cartridge_struct;
|
||||
f32 destruction_amount;
|
||||
f32 inaccuracy;
|
||||
f32 zoom;
|
||||
f32 field_38;
|
||||
f32 field_3C;
|
||||
f32 sway;
|
||||
s32 recoilspeed;
|
||||
f32 recoil_back;
|
||||
f32 recoil_up;
|
||||
f32 bolt_recoil_back;
|
||||
f32 loudness;
|
||||
f32 loudness2;
|
||||
f32 field_5C;
|
||||
f32 field_60;
|
||||
f32 field_64;
|
||||
f32 field_68;
|
||||
u32 bitflags;
|
||||
/**
|
||||
* Distance of gun flash from the end of the barrel.
|
||||
*/
|
||||
f32 MuzzleFlashExtension;
|
||||
|
||||
/**
|
||||
* On screen gun position, X.
|
||||
*/
|
||||
f32 PosX;
|
||||
|
||||
/**
|
||||
* On screen gun position, Y.
|
||||
*/
|
||||
f32 PosY;
|
||||
|
||||
/**
|
||||
* On screen gun position, Z.
|
||||
*/
|
||||
f32 PosZ;
|
||||
|
||||
/**
|
||||
* The amount of play the guns are given when you move forward/back.
|
||||
*/
|
||||
f32 PlayX;
|
||||
|
||||
/**
|
||||
* The amount of play the guns are given when you move side
|
||||
* to side.
|
||||
*/
|
||||
f32 PlayY;
|
||||
|
||||
/**
|
||||
* The amount of play the guns are given when you move up or down.
|
||||
*/
|
||||
f32 PlayZ;
|
||||
|
||||
/**
|
||||
* Ammo type, and what ammo img is shown.
|
||||
*/
|
||||
s32 AmmoType;
|
||||
|
||||
/**
|
||||
* Number of rounds before needing to reload.
|
||||
*/
|
||||
s16 MagSize;
|
||||
|
||||
/**
|
||||
* Time between automatic shots. -1 (0xFF) for disabled.
|
||||
* For reference, RC-P90=0x2, and KF7=0x3.
|
||||
* (is this an enum?)
|
||||
*/
|
||||
u8 AutomaticFiringRate;
|
||||
|
||||
/**
|
||||
* Time between manual shots.
|
||||
* For reference, KF7=0, while rocket launcher = 0x14.
|
||||
*/
|
||||
s8 SingleFiringRate;
|
||||
|
||||
/**
|
||||
* How many objects the bullet goes through.
|
||||
*/
|
||||
u8 ObjectsShootThrough;
|
||||
|
||||
/**
|
||||
* Sound trigger rate.
|
||||
*/
|
||||
u8 SoundTriggerRate;
|
||||
|
||||
/**
|
||||
* Sound effect played when gun is shot. There are 261 sound effects, or 0 - 105h.
|
||||
*/
|
||||
u16 Sound;
|
||||
|
||||
/**
|
||||
* Comment from long ago:
|
||||
* Location of address that displays the bullet shells flying from the guns, and runs
|
||||
* the ping sound of the casings hitting the ground. This value is either 00000000 for
|
||||
* no bullet casings (laser, knife, grenade, so on) or 8003CB60, the location of pointers
|
||||
* that point to code possibly, I haven't explored the area a lot near that address
|
||||
* (8003CB60)
|
||||
*/
|
||||
struct Gitemheader * ptr_cartridge_struct;
|
||||
|
||||
/**
|
||||
* Amount of destruction or power each bullet packs.
|
||||
* For reference, KF7=1.0, while golden gun = 100.0.
|
||||
*/
|
||||
f32 DestructionAmount;
|
||||
|
||||
/**
|
||||
* Amount of inaccuracy the gun has.
|
||||
* For reference, KF7=10.0, sniper rifle = 0.0.
|
||||
*/
|
||||
f32 Inaccuracy;
|
||||
|
||||
/**
|
||||
* Amount of zoom the gun has. Just setting this value doesn't give the option of
|
||||
* zooming in and out, that is somewhere else.
|
||||
* For reference, KF7=30.0, sniper rifle = 15.0.
|
||||
*/
|
||||
f32 Zoom;
|
||||
|
||||
/**
|
||||
* Speed of red cross-hair.
|
||||
*/
|
||||
f32 CrosshairSpeed;
|
||||
|
||||
/**
|
||||
* Weapon Aim/Lock-On Speed.
|
||||
*/
|
||||
f32 AimLockSpeed;
|
||||
|
||||
/**
|
||||
* Hand stabilization. A low value will keep the hands still while a high value will
|
||||
* cause bonds arms to twirl around in circles and turn every which way.
|
||||
*/
|
||||
f32 Sway;
|
||||
|
||||
/**
|
||||
* Recoil speed.
|
||||
*/
|
||||
s32 RecoilSpeed;
|
||||
|
||||
/**
|
||||
* How far back bonds hands pull back when the gun is fired.
|
||||
*/
|
||||
f32 RecoilBack;
|
||||
|
||||
/**
|
||||
* Amount of recoil the gun has.
|
||||
*/
|
||||
f32 RecoilUp;
|
||||
|
||||
/**
|
||||
* How far back the bolt slides when the gun is fired.
|
||||
*/
|
||||
f32 BoltRecoilBack;
|
||||
|
||||
/**
|
||||
* The minimum amount of sound an enemy can hear from this weapon.
|
||||
*/
|
||||
f32 LoudnessMin;
|
||||
|
||||
/**
|
||||
* The maximum amount of sound an enemy can hear from this weapon.
|
||||
*/
|
||||
f32 LoudnessMax;
|
||||
|
||||
/**
|
||||
* Amount of noise increased with each shot fired.
|
||||
* ("Noise" is the value used to determine if a guard should be alerted).
|
||||
*/
|
||||
f32 NoiseIncreasePerShot;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x60).
|
||||
*/
|
||||
f32 field_60;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x64).
|
||||
*/
|
||||
f32 field_64;
|
||||
|
||||
/**
|
||||
* Force of impact.
|
||||
*/
|
||||
f32 ForceOfImpact;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
u32 BitFlags;
|
||||
};
|
||||
|
||||
struct gitem_data_struct
|
||||
@@ -45,7 +187,7 @@ struct gitem_data_struct
|
||||
struct Gitemheader * item_header;
|
||||
char * item_file_name;
|
||||
s32 has_no_model;
|
||||
struct weapon_stats * item_weapon_stats;
|
||||
struct WeaponStats * item_weapon_stats;
|
||||
u16 upper_watch_text;
|
||||
u16 lower_watch_text;
|
||||
f32 watch_pos_x;
|
||||
@@ -65,7 +207,10 @@ struct ejected_cart {
|
||||
char * text;
|
||||
};
|
||||
|
||||
f32 bondwalkGetItemField68(ITEM_IDS item);
|
||||
|
||||
extern char dword_CODE_bss_80075DC8[20][160];
|
||||
|
||||
f32 bondwalkItemGetForceOfImpact(ITEM_IDS item);
|
||||
u32 bondwalkItemCheckBitflags(ITEM_IDS item, u32 mask);
|
||||
|
||||
void bondwalkFireBothHands(void);
|
||||
|
||||
+1780
-762
File diff suppressed because it is too large
Load Diff
@@ -12,4 +12,6 @@ struct struct_15 {
|
||||
int anonymous_3;
|
||||
};
|
||||
|
||||
extern char off_CODE_bss_80079E30[0x4C];
|
||||
|
||||
#endif
|
||||
|
||||
+1666
-46
File diff suppressed because it is too large
Load Diff
+6
-3
@@ -183,10 +183,13 @@ 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 u32 num_bodies;
|
||||
extern u32 num_male_heads;
|
||||
extern u32 num_female_heads;
|
||||
extern s32 list_of_bodies[];
|
||||
extern s32 random_male_heads[];
|
||||
extern s32 random_female_heads[];
|
||||
extern u32 current_random_body;
|
||||
extern u32 current_random_male_head;
|
||||
extern u32 current_random_female_head;
|
||||
#endif
|
||||
|
||||
+954
-177
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,80 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
/**
|
||||
* @file chrObjRandom.c
|
||||
* This file contains code to get a random tlb value.
|
||||
* The methods here are the same as in random and tlb_random (but different globals).
|
||||
*/
|
||||
|
||||
// data
|
||||
//D:80040160
|
||||
u64 g_chrObjRandomSeed = 0xAB8D9F7781280783;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
/**
|
||||
* Iterates the current random seed and returns a 32 bit value.
|
||||
* Same assembly instructions as randomGetNext and tlbRandomGetNext, but different globals.
|
||||
*/
|
||||
s32 chrObjRandomGetNext(void) {
|
||||
// best guess comments copied from random.c
|
||||
|
||||
// best -O1 guess
|
||||
// g_randomSeed ^= (((((g_randomSeed << 0x3f) >> 0x1f) | ((g_randomSeed << 0x1f) >> 0x20)) ^ ((g_randomSeed << 0x2c) >> 0x20)) >> 0x14) & 0xfff;
|
||||
// return (s32)(g_randomSeed);
|
||||
|
||||
// best -O2 guess
|
||||
// u64 t = ((g_randomSeed << 0x3f) >> 0x1f);
|
||||
// t |= ((g_randomSeed << 0x1f) >> 0x20);
|
||||
// t ^= ((g_randomSeed << 0x2c) >> 0x20);
|
||||
// t = g_randomSeed ^ ((t >> 0x14) & 0xfff);
|
||||
// g_randomSeed = t;
|
||||
// return (s32)(t);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel chrObjRandomGetNext
|
||||
/* 0D0270 7F09B740 3C048004 */ lui $a0, %hi(g_chrObjRandomSeed)
|
||||
/* 0D0274 7F09B744 DC840160 */ ld $a0, %lo(g_chrObjRandomSeed)($a0)
|
||||
/* 0D0278 7F09B748 3C018004 */ lui $at, %hi(g_chrObjRandomSeed)
|
||||
/* 0D027C 7F09B74C 000437FC */ dsll32 $a2, $a0, 0x1f
|
||||
/* 0D0280 7F09B750 00042FF8 */ dsll $a1, $a0, 0x1f
|
||||
/* 0D0284 7F09B754 000637FA */ dsrl $a2, $a2, 0x1f
|
||||
/* 0D0288 7F09B758 0005283E */ dsrl32 $a1, $a1, 0
|
||||
/* 0D028C 7F09B75C 0004233C */ dsll32 $a0, $a0, 0xc
|
||||
/* 0D0290 7F09B760 00C53025 */ or $a2, $a2, $a1
|
||||
/* 0D0294 7F09B764 0004203E */ dsrl32 $a0, $a0, 0
|
||||
/* 0D0298 7F09B768 00C43026 */ xor $a2, $a2, $a0
|
||||
/* 0D029C 7F09B76C 0006253A */ dsrl $a0, $a2, 0x14
|
||||
/* 0D02A0 7F09B770 30840FFF */ andi $a0, $a0, 0xfff
|
||||
/* 0D02A4 7F09B774 00862026 */ xor $a0, $a0, $a2
|
||||
/* 0D02A8 7F09B778 0004103C */ dsll32 $v0, $a0, 0
|
||||
/* 0D02AC 7F09B77C FC240160 */ sd $a0, %lo(g_chrObjRandomSeed)($at)
|
||||
/* 0D02B0 7F09B780 03E00008 */ jr $ra
|
||||
/* 0D02B4 7F09B784 0002103F */ dsra32 $v0, $v0, 0
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
/**
|
||||
* This sets the global random seed.
|
||||
*
|
||||
* Assembly assigns zero to $a0 at the end of the function, which seems odd.
|
||||
*
|
||||
* Same assembly instructions as randomSetSeed.
|
||||
*/
|
||||
void chrObjRandomSetSeed(u64 param_1)
|
||||
{
|
||||
g_chrObjRandomSeed = param_1 + 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel chrObjRandomSetSeed
|
||||
/* 0D02B8 7F09B788 64840001 */ daddiu $a0, $a0, 1
|
||||
/* 0D02BC 7F09B78C 3C018004 */ lui $at, %hi(g_chrObjRandomSeed)
|
||||
/* 0D02C0 7F09B790 FC240160 */ sd $a0, %lo(g_chrObjRandomSeed)($at)
|
||||
/* 0D02C4 7F09B794 03E00008 */ jr $ra
|
||||
/* 0D02C8 7F09B798 24040000 */ li $a0, 0
|
||||
)
|
||||
#endif
|
||||
+5912
-57
File diff suppressed because it is too large
Load Diff
@@ -111,6 +111,7 @@ extern struct struct_20 D_80031D58;
|
||||
extern u32 monitor_animation_microcode[];
|
||||
extern u32 dword_D_80031F00[];
|
||||
extern u32 dword_D_80031F44[];
|
||||
extern u32 temp_mine_table[30];
|
||||
extern f32 gas_damage_flag;
|
||||
extern u32 gas_cutoff_flag;
|
||||
extern struct object_standard * ptr_setup_objects;
|
||||
|
||||
@@ -676,4 +676,6 @@ extern struct PitemZ_header PdoorconsoleZ_header;
|
||||
extern struct PitemZ_header PchrtesttubeZ_header;
|
||||
extern struct PitemZ_header Pbollardz_header;
|
||||
|
||||
extern struct c_itementry c_item_entries[];
|
||||
|
||||
#endif
|
||||
|
||||
+8035
-515
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
#ifndef _CHROBJHANDLER_H_
|
||||
#define _CHROBJHANDLER_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
extern s32 D_80030B00;
|
||||
|
||||
#endif
|
||||
@@ -1,20 +1,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
#include "bondconstants.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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -138,12 +138,12 @@ glabel print_debug_mcm_to_stdout
|
||||
/* 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
|
||||
/* 0C4A50 7F08FF20 0C002C1B */ jal debmenuSetPrimColor
|
||||
/* 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
|
||||
/* 0C4A60 7F08FF30 0C002C1B */ jal debmenuSetPrimColor
|
||||
/* 0C4A64 7F08FF34 240700C0 */ li $a3, 192
|
||||
/* 0C4A68 7F08FF38 8E980000 */ lw $t8, ($s4)
|
||||
.L7F08FF3C:
|
||||
@@ -176,11 +176,11 @@ glabel print_debug_mcm_to_stdout
|
||||
/* 0C4ACC 7F08FF9C 00000000 */ nop
|
||||
/* 0C4AD0 7F08FFA0 0006000D */ break 6
|
||||
.L7F08FFA4:
|
||||
/* 0C4AD4 7F08FFA4 0C002C10 */ jal set_final_debug_text_positions
|
||||
/* 0C4AD4 7F08FFA4 0C002C10 */ jal debmenuSetPosition
|
||||
/* 0C4AD8 7F08FFA8 00000000 */ nop
|
||||
/* 0C4ADC 7F08FFAC 8ECC0000 */ lw $t4, ($s6)
|
||||
/* 0C4AE0 7F08FFB0 01926821 */ addu $t5, $t4, $s2
|
||||
/* 0C4AE4 7F08FFB4 0C002C7A */ jal write_string_stdout
|
||||
/* 0C4AE4 7F08FFB4 0C002C7A */ jal debmenuWriteString
|
||||
/* 0C4AE8 7F08FFB8 8DA40000 */ lw $a0, ($t5)
|
||||
/* 0C4AEC 7F08FFBC 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff)
|
||||
/* 0C4AF0 7F08FFC0 8DCE6B74 */ lw $t6, %lo(ptr_last_debuggrp_cutoff)($t6)
|
||||
@@ -263,12 +263,12 @@ glabel sub_GAME_7F09000C
|
||||
/* 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
|
||||
/* 0C4BEC 7F0900BC 0C002C1B */ jal debmenuSetPrimColor
|
||||
/* 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
|
||||
/* 0C4BFC 7F0900CC 0C002C1B */ jal debmenuSetPrimColor
|
||||
/* 0C4C00 7F0900D0 240700C0 */ li $a3, 192
|
||||
/* 0C4C04 7F0900D4 8EF80000 */ lw $t8, ($s7)
|
||||
.L7F0900D8:
|
||||
@@ -301,12 +301,12 @@ glabel sub_GAME_7F09000C
|
||||
/* 0C4C68 7F090138 00000000 */ nop
|
||||
/* 0C4C6C 7F09013C 0006000D */ break 6
|
||||
.L7F090140:
|
||||
/* 0C4C70 7F090140 0C002C10 */ jal set_final_debug_text_positions
|
||||
/* 0C4C70 7F090140 0C002C10 */ jal debmenuSetPosition
|
||||
/* 0C4C74 7F090144 00000000 */ nop
|
||||
/* 0C4C78 7F090148 3C0C8003 */ lui $t4, %hi(ptr_textptrs)
|
||||
/* 0C4C7C 7F09014C 8D8C6B78 */ lw $t4, %lo(ptr_textptrs)($t4)
|
||||
/* 0C4C80 7F090150 01926821 */ addu $t5, $t4, $s2
|
||||
/* 0C4C84 7F090154 0C002C7A */ jal write_string_stdout
|
||||
/* 0C4C84 7F090154 0C002C7A */ jal debmenuWriteString
|
||||
/* 0C4C88 7F090158 8DA40000 */ lw $a0, ($t5)
|
||||
/* 0C4C8C 7F09015C 3C048005 */ lui $a0, %hi(aMenu_cErrorTriedToCallFont_makegt)
|
||||
/* 0C4C90 7F090160 0C0033D1 */ jal osSyncPrintf
|
||||
|
||||
+11
-10
@@ -1,6 +1,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/debugmenu_090490.h"
|
||||
#include "game/initgamedata.h"
|
||||
#include "boss.h"
|
||||
|
||||
// data
|
||||
//D:80036BA0
|
||||
@@ -426,7 +427,7 @@ void removed_do_debug_profile_flag_true(void) {
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void debug_menu_processor(void) {
|
||||
s32 debug_menu_processor(s8 arg0, s8 arg1, u16 arg2, u16 arg3) {
|
||||
|
||||
}
|
||||
#else
|
||||
@@ -539,7 +540,7 @@ glabel debug_menu_processor
|
||||
/* 0C5108 7F0905D8 0C0012ED */ jal indy_grab_rgb_32bit
|
||||
/* 0C510C 7F0905DC 00000000 */ nop
|
||||
/* 0C5110 7F0905E0 3C018003 */ lui $at, %hi(grab_rgb_screenshot_flag)
|
||||
/* 0C5114 7F0905E4 0C000F00 */ jal set_coloroutputmode_16bit
|
||||
/* 0C5114 7F0905E4 0C000F00 */ jal viSetColorMode16Bit
|
||||
/* 0C5118 7F0905E8 AC206FFC */ sw $zero, %lo(grab_rgb_screenshot_flag)($at)
|
||||
/* 0C511C 7F0905EC 0C0038B4 */ jal osViBlack
|
||||
/* 0C5120 7F0905F0 00002025 */ move $a0, $zero
|
||||
@@ -555,7 +556,7 @@ glabel debug_menu_processor
|
||||
/* 0C5144 7F090614 0C001235 */ jal indy_grab_jpg_32bit
|
||||
/* 0C5148 7F090618 00000000 */ nop
|
||||
/* 0C514C 7F09061C 3C018003 */ lui $at, %hi(grab_jpeg_screenshot_flag)
|
||||
/* 0C5150 7F090620 0C000F00 */ jal set_coloroutputmode_16bit
|
||||
/* 0C5150 7F090620 0C000F00 */ jal viSetColorMode16Bit
|
||||
/* 0C5154 7F090624 AC207000 */ sw $zero, %lo(grab_jpeg_screenshot_flag)($at)
|
||||
/* 0C5158 7F090628 0C0038B4 */ jal osViBlack
|
||||
/* 0C515C 7F09062C 00002025 */ move $a0, $zero
|
||||
@@ -814,7 +815,7 @@ debug_displayspeed:
|
||||
/* 0C54CC 7F09099C 3B190001 */ xori $t9, $t8, 1
|
||||
/* 0C54D0 7F0909A0 17200134 */ bnez $t9, .L7F090E74
|
||||
/* 0C54D4 7F0909A4 AC590000 */ sw $t9, ($v0)
|
||||
/* 0C54D8 7F0909A8 0C002BC0 */ jal blank_debug_buffer_chars
|
||||
/* 0C54D8 7F0909A8 0C002BC0 */ jal debmenuReset
|
||||
/* 0C54DC 7F0909AC 00000000 */ nop
|
||||
/* 0C54E0 7F0909B0 10000131 */ b .L7F090E78
|
||||
/* 0C54E4 7F0909B4 8FB80018 */ lw $t8, 0x18($sp)
|
||||
@@ -868,7 +869,7 @@ debug_testingmanpos:
|
||||
/* 0C5588 7F090A58 10000106 */ b .L7F090E74
|
||||
/* 0C558C 7F090A5C AC4C0000 */ sw $t4, ($v0)
|
||||
debug_playtitle:
|
||||
/* 0C5590 7F090A60 0C001A54 */ jal set_loaded_stage
|
||||
/* 0C5590 7F090A60 0C001A54 */ jal bossSetLoadedStage
|
||||
/* 0C5594 7F090A64 2404005A */ li $a0, 90
|
||||
/* 0C5598 7F090A68 10000103 */ b .L7F090E78
|
||||
/* 0C559C 7F090A6C 8FB80018 */ lw $t8, 0x18($sp)
|
||||
@@ -885,12 +886,12 @@ debug_prroomloads:
|
||||
/* 0C55C0 7F090A90 100000F8 */ b .L7F090E74
|
||||
/* 0C55C4 7F090A94 AC4E0000 */ sw $t6, ($v0)
|
||||
debug_showmemuse:
|
||||
/* 0C55C8 7F090A98 0C0017FD */ jal enable_show_mem_use_flag
|
||||
/* 0C55C8 7F090A98 0C0017FD */ jal bossEnableShowMemUseFlag
|
||||
/* 0C55CC 7F090A9C 00000000 */ nop
|
||||
/* 0C55D0 7F090AA0 100000F5 */ b .L7F090E78
|
||||
/* 0C55D4 7F090AA4 8FB80018 */ lw $t8, 0x18($sp)
|
||||
debug_showmembars:
|
||||
/* 0C55D8 7F090AA8 0C001801 */ jal mem_bars_flag_toggle
|
||||
/* 0C55D8 7F090AA8 0C001801 */ jal bossMemBarsFlagToggle
|
||||
/* 0C55DC 7F090AAC 00000000 */ nop
|
||||
/* 0C55E0 7F090AB0 100000F1 */ b .L7F090E78
|
||||
/* 0C55E4 7F090AB4 8FB80018 */ lw $t8, 0x18($sp)
|
||||
@@ -900,7 +901,7 @@ debug_grabrgb:
|
||||
/* 0C55F0 7F090AC0 AC236FFC */ sw $v1, %lo(grab_rgb_screenshot_flag)($at)
|
||||
/* 0C55F4 7F090AC4 0C0038B4 */ jal osViBlack
|
||||
/* 0C55F8 7F090AC8 24040001 */ li $a0, 1
|
||||
/* 0C55FC 7F090ACC 0C000F04 */ jal set_coloroutputmode_32bit
|
||||
/* 0C55FC 7F090ACC 0C000F04 */ jal viSetColorMode32Bit
|
||||
/* 0C5600 7F090AD0 00000000 */ nop
|
||||
/* 0C5604 7F090AD4 100000E8 */ b .L7F090E78
|
||||
/* 0C5608 7F090AD8 8FB80018 */ lw $t8, 0x18($sp)
|
||||
@@ -910,7 +911,7 @@ debug_grabjpeg:
|
||||
/* 0C5614 7F090AE4 AC237000 */ sw $v1, %lo(grab_jpeg_screenshot_flag)($at)
|
||||
/* 0C5618 7F090AE8 0C0038B4 */ jal osViBlack
|
||||
/* 0C561C 7F090AEC 24040001 */ li $a0, 1
|
||||
/* 0C5620 7F090AF0 0C000F04 */ jal set_coloroutputmode_32bit
|
||||
/* 0C5620 7F090AF0 0C000F04 */ jal viSetColorMode32Bit
|
||||
/* 0C5624 7F090AF4 00000000 */ nop
|
||||
/* 0C5628 7F090AF8 100000DF */ b .L7F090E78
|
||||
/* 0C562C 7F090AFC 8FB80018 */ lw $t8, 0x18($sp)
|
||||
@@ -1201,7 +1202,7 @@ def_7F090EA8:
|
||||
/* 0C59F8 7F090EC8 24010001 */ li $at, 1
|
||||
/* 0C59FC 7F090ECC 15610003 */ bne $t3, $at, .L7F090EDC
|
||||
/* 0C5A00 7F090ED0 00000000 */ nop
|
||||
/* 0C5A04 7F090ED4 0C002BC0 */ jal blank_debug_buffer_chars
|
||||
/* 0C5A04 7F090ED4 0C002BC0 */ jal debmenuReset
|
||||
/* 0C5A08 7F090ED8 00000000 */ nop
|
||||
.L7F090EDC:
|
||||
/* 0C5A0C 7F090EDC 3C018003 */ lui $at, %hi(show_debug_menu_flag)
|
||||
|
||||
@@ -38,5 +38,7 @@ 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);
|
||||
Gfx * print_debug_mcm_to_stdout(Gfx *);
|
||||
s32 debug_menu_processor(s8 arg0, s8 arg1, u16 arg2, u16 arg3);
|
||||
void display_debug_menu_text_onscreen(void);
|
||||
#endif
|
||||
|
||||
+39
-31
@@ -4,31 +4,51 @@
|
||||
//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
|
||||
const u8 rz_header_bytes[40] = {
|
||||
0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00,
|
||||
0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00, 0x11, 0x72, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2) {
|
||||
//
|
||||
u32 decompressdata(u8 *src, u8 *dst, struct huft *hlist)
|
||||
{
|
||||
rz_inbuf = src;
|
||||
rz_outbuf = dst;
|
||||
rz_hlist = hlist;
|
||||
if ((src[0] != rz_header_bytes[0]) || (src[1] != rz_header_bytes[5]))
|
||||
{
|
||||
if (src[1] != rz_header_bytes[8])
|
||||
{
|
||||
|
||||
}
|
||||
if (src[2] != rz_header_bytes[0x18])
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
rz_inbuf = (s32) (rz_inbuf + 2);
|
||||
rz_wp = 0;
|
||||
rz_inptr = 0;
|
||||
loop_to_decompress_entire_file();
|
||||
return rz_wp;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel decompressdata
|
||||
/* 103320 7F0CE7F0 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008D350)
|
||||
/* 103324 7F0CE7F4 24E7D350 */ addiu $a3, %lo(dword_CODE_bss_8008D350) # addiu $a3, $a3, -0x2cb0
|
||||
/* 103320 7F0CE7F0 3C078009 */ lui $a3, %hi(rz_inbuf)
|
||||
/* 103324 7F0CE7F4 24E7D350 */ addiu $a3, %lo(rz_inbuf) # addiu $a3, $a3, -0x2cb0
|
||||
/* 103328 7F0CE7F8 ACE40000 */ sw $a0, ($a3)
|
||||
/* 10332C 7F0CE7FC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D354)
|
||||
/* 103330 7F0CE800 AC25D354 */ sw $a1, %lo(dword_CODE_bss_8008D354)($at)
|
||||
/* 10332C 7F0CE7FC 3C018009 */ lui $at, %hi(rz_outbuf)
|
||||
/* 103330 7F0CE800 AC25D354 */ sw $a1, %lo(rz_outbuf)($at)
|
||||
/* 103334 7F0CE804 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 103338 7F0CE808 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D360)
|
||||
/* 103338 7F0CE808 3C018009 */ lui $at, %hi(rz_hlist)
|
||||
/* 10333C 7F0CE80C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 103340 7F0CE810 AC26D360 */ sw $a2, %lo(dword_CODE_bss_8008D360)($at)
|
||||
/* 103340 7F0CE810 AC26D360 */ sw $a2, %lo(rz_hlist)($at)
|
||||
/* 103344 7F0CE814 3C0E8006 */ lui $t6, %hi(rz_header_bytes)
|
||||
/* 103348 7F0CE818 91CEBF80 */ lbu $t6, %lo(rz_header_bytes)($t6)
|
||||
/* 10334C 7F0CE81C 90820000 */ lbu $v0, ($a0)
|
||||
@@ -52,16 +72,16 @@ glabel decompressdata
|
||||
/* 10338C 7F0CE85C 8CEC0000 */ lw $t4, ($a3)
|
||||
/* 103390 7F0CE860 8CEC0000 */ lw $t4, ($a3)
|
||||
.L7F0CE864:
|
||||
/* 103394 7F0CE864 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D35C)
|
||||
/* 103394 7F0CE864 3C018009 */ lui $at, %hi(rz_wp)
|
||||
/* 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)
|
||||
/* 1033A0 7F0CE870 AC20D35C */ sw $zero, %lo(rz_wp)($at)
|
||||
/* 1033A4 7F0CE874 3C018009 */ lui $at, %hi(rz_inptr)
|
||||
/* 1033A8 7F0CE878 0FC33F35 */ jal loop_to_decompress_entire_file
|
||||
/* 1033AC 7F0CE87C AC20D358 */ sw $zero, %lo(dword_CODE_bss_8008D358)($at)
|
||||
/* 1033AC 7F0CE87C AC20D358 */ sw $zero, %lo(rz_inptr)($at)
|
||||
/* 1033B0 7F0CE880 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 1033B4 7F0CE884 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D35C)
|
||||
/* 1033B8 7F0CE888 8C42D35C */ lw $v0, %lo(dword_CODE_bss_8008D35C)($v0)
|
||||
/* 1033B4 7F0CE884 3C028009 */ lui $v0, %hi(rz_wp)
|
||||
/* 1033B8 7F0CE888 8C42D35C */ lw $v0, %lo(rz_wp)($v0)
|
||||
/* 1033BC 7F0CE88C 03E00008 */ jr $ra
|
||||
/* 1033C0 7F0CE890 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
@@ -71,22 +91,10 @@ glabel decompressdata
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
|
||||
s32 sub_GAME_7F0CE894(void) {
|
||||
// Node 0
|
||||
return (dword_CODE_bss_8008D350 + dword_CODE_bss_8008D358);
|
||||
return (rz_inbuf + rz_inptr);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0CE894
|
||||
/* 1033C4 7F0CE894 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008D350)
|
||||
/* 1033C8 7F0CE898 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D358)
|
||||
/* 1033CC 7F0CE89C 8DEFD358 */ lw $t7, %lo(dword_CODE_bss_8008D358)($t7)
|
||||
/* 1033D0 7F0CE8A0 8DCED350 */ lw $t6, %lo(dword_CODE_bss_8008D350)($t6)
|
||||
/* 1033D4 7F0CE8A4 03E00008 */ jr $ra
|
||||
/* 1033D8 7F0CE8A8 01CF1021 */ addu $v0, $t6, $t7
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
#ifndef _DECOMPRESS_H_
|
||||
#define _DECOMPRESS_H_
|
||||
#include "ultra64.h"
|
||||
#include "inflate/inflate.h"
|
||||
|
||||
u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2);
|
||||
|
||||
u32 decompressdata(u8 *src, u8 *dst, struct huft *hlist);
|
||||
s32 sub_GAME_7F0CE894(void);
|
||||
|
||||
#endif
|
||||
|
||||
+117
-536
@@ -1,482 +1,137 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/dyn.h"
|
||||
// bss
|
||||
//CODE.bss:8008C230
|
||||
s32 *ptr_mgfx0_alloc_start;
|
||||
//CODE.bss:8008C234
|
||||
s32 *ptr_mgfx1_alloc_start;
|
||||
//CODE.bss:8008C238
|
||||
s32 *ptr_mgfx_end;
|
||||
//CODE.bss:8008C23C
|
||||
s32 D_8008C23C;
|
||||
//CODE.bss:8008C240
|
||||
s32 *ptr_mvtx0_alloc_start;
|
||||
//CODE.bss:8008C244
|
||||
s32 *ptr_mvtx1_alloc_start;
|
||||
//CODE.bss:8008C248
|
||||
s32 *ptr_mvtx_end;
|
||||
//CODE.bss:8008C24C
|
||||
s32 *ptr_mvtx_cur_pos;
|
||||
//CODE.bss:8008C250
|
||||
s32 bank_in_mgfx_alloc_table;
|
||||
//CODE.bss:8008C254
|
||||
s32 dword_CODE_bss_8008C254;
|
||||
#include "token.h"
|
||||
#include "str.h"
|
||||
#include "memp.h"
|
||||
|
||||
/**
|
||||
* This file handles memory usage for graphics related tasks.
|
||||
*
|
||||
* There are two pools, "gfx" and "vtx", which are used to store different data.
|
||||
*
|
||||
* The gfx pool (g_GfxBuffers) is sized based on the stage's -mgfx
|
||||
* argument. It contains only the master display list's GBI bytecode.
|
||||
* The master gdl is passed through all rendering functions in the game engine,
|
||||
* where each appends to the display list.
|
||||
*
|
||||
* The vtx pool (g_VtxBuffers) is sized based on the stage's -mvtx argument.
|
||||
* It is used for auxiliary graphics data such as vertex arrays, matrices and
|
||||
* colours.
|
||||
*
|
||||
* Both the gfx and vtx pools are split into two buffers of equal size.
|
||||
* Only one buffer is active at a time - the other is being drawn to the screen
|
||||
* while the active one is being built. Each time a frame is finished the active
|
||||
* buffer index is swapped to the other one.
|
||||
*
|
||||
* Both the gfx and vtx pools have a third element in them, but this is just a
|
||||
* marker for the end of the second element's allocation.
|
||||
*/
|
||||
|
||||
// data
|
||||
//D:800482E0
|
||||
u8 *g_GfxBuffers[3];
|
||||
u8 *g_VtxBuffers[3];
|
||||
u8 *g_GfxMemPos;
|
||||
u8 g_GfxActiveBufferIndex;
|
||||
s32 g_GfxRequestedDisplayList;
|
||||
s32 D_800482E0 = 0;
|
||||
//D:800482E4
|
||||
s32 D_800482E4[] = {0x10000, 0x18000, 0x20000};
|
||||
//D:800482F0
|
||||
s32 D_800482F0[] = {0x28000, 0x10000, 0x18000, 0x20000, 0x28000};
|
||||
s32 g_GfxSizesByPlayerCount[] = {0x10000, 0x18000, 0x20000, 0x28000};
|
||||
s32 g_VtxSizesByPlayerCount[] = {0x10000, 0x18000, 0x20000, 0x28000};
|
||||
|
||||
//D:80048304
|
||||
char membars_string1[] = ">>>>>>>>>>>>>>>>>>>>>>>>>";
|
||||
//D:80048320
|
||||
char membars_string2[] = "=========================";
|
||||
//D:8004833C
|
||||
char membars_string3[] = "-------------------------";
|
||||
|
||||
|
||||
//rodata
|
||||
|
||||
void dynInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&D_800482E0, "dyn_c_debug");
|
||||
debTryAdd(&D_800482E0, "dyn_c_debug");
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_vtx_gfx_mem_alloc(void) {
|
||||
s32 sp18;
|
||||
? temp_ret;
|
||||
|
||||
if (check_token(1, "-mgfx") != 0)
|
||||
{
|
||||
dyn_c_debug_notice_list_entry[getPlayerCount()] = strtol(check_token(1, "-mgfx"), 0, 0) << 0xa;
|
||||
void dynInitMemory(void) {
|
||||
if (tokenFind(1, "-mgfx")) {
|
||||
g_GfxSizesByPlayerCount[getPlayerCount() - 1] = strtol(tokenFind(1, "-mgfx"), NULL, 0) * 1024;
|
||||
}
|
||||
if (tokenFind(1, "-mvtx")) {
|
||||
g_VtxSizesByPlayerCount[getPlayerCount() - 1] = strtol(tokenFind(1, "-mvtx"), NULL, 0) * 1024;
|
||||
}
|
||||
|
||||
if (check_token(1, "-mvtx") != 0)
|
||||
{
|
||||
D_800482F0[getPlayerCount()] = strtol(check_token(1, "-mvtx"), 0, 0) << 0xa;
|
||||
g_GfxBuffers[0] = mempAllocBytesInBank(g_GfxSizesByPlayerCount[getPlayerCount() - 1] * 2, 4);
|
||||
g_GfxBuffers[1] = (g_GfxBuffers[0] + g_GfxSizesByPlayerCount[getPlayerCount() - 1]);
|
||||
g_GfxBuffers[2] = (g_GfxBuffers[1] + g_GfxSizesByPlayerCount[getPlayerCount() - 1]);
|
||||
|
||||
g_VtxBuffers[0] = mempAllocBytesInBank(g_VtxSizesByPlayerCount[getPlayerCount() - 1] * 2, 4);
|
||||
g_VtxBuffers[1] = (g_VtxBuffers[0] + g_VtxSizesByPlayerCount[getPlayerCount() - 1]);
|
||||
g_VtxBuffers[2] = (g_VtxBuffers[1] + g_VtxSizesByPlayerCount[getPlayerCount() - 1]);
|
||||
|
||||
g_GfxActiveBufferIndex = 0;
|
||||
g_GfxRequestedDisplayList = FALSE;
|
||||
g_GfxMemPos = g_VtxBuffers[0];
|
||||
}
|
||||
|
||||
Gfx *dynGetMasterDisplayList(void) {
|
||||
g_GfxRequestedDisplayList = TRUE;
|
||||
|
||||
return (Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex];
|
||||
}
|
||||
|
||||
s32 dynGetFreeGfx2(Gfx *gdl) {
|
||||
return (Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex + 1] - gdl;
|
||||
}
|
||||
|
||||
void/*Vtx?*/ *dynAllocate7F0BD6C4(s32 count) {
|
||||
void *ptr = g_GfxMemPos;
|
||||
g_GfxMemPos += count * 0x10/*sizeof(Vtx)?*/;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
Mtx *dynAllocateMatrix(void)
|
||||
{
|
||||
void *ptr = g_GfxMemPos;
|
||||
g_GfxMemPos += sizeof(Mtx);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void/*Light?*/ *dynAllocate7F0BD6F8(s32 count) {
|
||||
void *ptr = g_GfxMemPos;
|
||||
g_GfxMemPos += count * 0x10/*sizeof(Light)?*/;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void *dynAllocate(s32 size) {
|
||||
void *ptr = g_GfxMemPos;
|
||||
size = ALIGN16_a(size);
|
||||
g_GfxMemPos += size;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void dynSwapBuffers(void) {
|
||||
g_GfxActiveBufferIndex = (g_GfxActiveBufferIndex ^ 1);
|
||||
g_GfxRequestedDisplayList = FALSE;
|
||||
g_GfxMemPos = g_VtxBuffers[g_GfxActiveBufferIndex];
|
||||
}
|
||||
|
||||
void dynRemovedFunc(Gfx *gdl) {
|
||||
}
|
||||
|
||||
s32 dynGetFreeGfx(Gfx *gdl) {
|
||||
return (Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex + 1] - gdl;
|
||||
}
|
||||
|
||||
s32 dynGetFreeVtx(void) {
|
||||
return g_VtxBuffers[g_GfxActiveBufferIndex + 1] - g_GfxMemPos;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
// $f2 is used for 0.0f instead of $f0
|
||||
f32 dynCalculateMembarLength(const char* arg0, f32 arg1, f32 arg2) {
|
||||
strlen(arg0);
|
||||
arg1 /= arg2;
|
||||
if (arg1 < 0.0f) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
mempAllocBytesInBank(dyn_c_debug_notice_list_entry[sVar1] << 1, 4);
|
||||
ptr_mgfx0_alloc_start.unk4 = (s32) ((0x80050000 + (getPlayerCount() * 4))->unk-7D20 + ptr_mgfx0_alloc_start);
|
||||
ptr_mgfx0_alloc_start.unk8 = (s32) ((0x80050000 + (getPlayerCount() * 4))->unk-7D20 + ptr_mgfx0_alloc_start.unk4);
|
||||
ptr_mvtx0_alloc_start = mempAllocBytesInBank(((0x80050000 + (getPlayerCount() * 4))->unk-7D10 * 2), 4);
|
||||
ptr_mvtx0_alloc_start.unk4 = (s32) ((0x80050000 + (getPlayerCount() * 4))->unk-7D10 + ptr_mvtx0_alloc_start);
|
||||
temp_ret = getPlayerCount();
|
||||
ptr_mvtx0_alloc_start.unk8 = (s32) ((0x80050000 + (temp_ret * 4))->unk-7D10 + ptr_mvtx0_alloc_start.unk4);
|
||||
bank_in_mgfx_alloc_table = (u8)0;
|
||||
dword_CODE_bss_8008C254 = 0;
|
||||
(void *)0x80090000->unk-3DB4 = (s32) ptr_mvtx0_alloc_start;
|
||||
return temp_ret;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.rdata
|
||||
/*D:8005B68C*/
|
||||
glabel aMgfx
|
||||
/*"-mgfx"*/
|
||||
.word 0x2D6D6766, 0x78000000
|
||||
|
||||
/*D:8005B694*/
|
||||
glabel aMgfx_1
|
||||
/*"-mgfx"*/
|
||||
.word 0x2D6D6766, 0x78000000
|
||||
|
||||
/*D:8005B69C*/
|
||||
glabel aMvtx
|
||||
/*"-mvtx"*/
|
||||
.word 0x2D6D7674, 0x78000000
|
||||
|
||||
/*D:8005B6A4*/
|
||||
glabel aMvtx_0
|
||||
/*"-mvtx"*/
|
||||
.word 0x2D6D7674, 0x78000000
|
||||
|
||||
.text
|
||||
glabel set_vtx_gfx_mem_alloc
|
||||
/* 0F1FBC 7F0BD48C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0F1FC0 7F0BD490 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0F1FC4 7F0BD494 3C058006 */ lui $a1, %hi(aMgfx)
|
||||
/* 0F1FC8 7F0BD498 24A5B68C */ addiu $a1, %lo(aMgfx) # addiu $a1, $a1, -0x4974
|
||||
/* 0F1FCC 7F0BD49C 0C0029A8 */ jal check_token
|
||||
/* 0F1FD0 7F0BD4A0 24040001 */ li $a0, 1
|
||||
/* 0F1FD4 7F0BD4A4 10400012 */ beqz $v0, .L7F0BD4F0
|
||||
/* 0F1FD8 7F0BD4A8 00000000 */ nop
|
||||
/* 0F1FDC 7F0BD4AC 0FC26919 */ jal getPlayerCount
|
||||
/* 0F1FE0 7F0BD4B0 00000000 */ nop
|
||||
/* 0F1FE4 7F0BD4B4 3C058006 */ lui $a1, %hi(aMgfx_1)
|
||||
/* 0F1FE8 7F0BD4B8 24A5B694 */ addiu $a1, %lo(aMgfx_1) # addiu $a1, $a1, -0x496c
|
||||
/* 0F1FEC 7F0BD4BC AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 0F1FF0 7F0BD4C0 0C0029A8 */ jal check_token
|
||||
/* 0F1FF4 7F0BD4C4 24040001 */ li $a0, 1
|
||||
/* 0F1FF8 7F0BD4C8 00402025 */ move $a0, $v0
|
||||
/* 0F1FFC 7F0BD4CC 00002825 */ move $a1, $zero
|
||||
/* 0F2000 7F0BD4D0 0C002A78 */ jal strtol
|
||||
/* 0F2004 7F0BD4D4 00003025 */ move $a2, $zero
|
||||
/* 0F2008 7F0BD4D8 8FAF0018 */ lw $t7, 0x18($sp)
|
||||
/* 0F200C 7F0BD4DC 3C018005 */ lui $at, %hi(D_800482E0)
|
||||
/* 0F2010 7F0BD4E0 00027280 */ sll $t6, $v0, 0xa
|
||||
/* 0F2014 7F0BD4E4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0F2018 7F0BD4E8 00380821 */ addu $at, $at, $t8
|
||||
/* 0F201C 7F0BD4EC AC2E82E0 */ sw $t6, %lo(D_800482E0)($at)
|
||||
.L7F0BD4F0:
|
||||
/* 0F2020 7F0BD4F0 3C058006 */ lui $a1, %hi(aMvtx)
|
||||
/* 0F2024 7F0BD4F4 24A5B69C */ addiu $a1, %lo(aMvtx) # addiu $a1, $a1, -0x4964
|
||||
/* 0F2028 7F0BD4F8 0C0029A8 */ jal check_token
|
||||
/* 0F202C 7F0BD4FC 24040001 */ li $a0, 1
|
||||
/* 0F2030 7F0BD500 10400012 */ beqz $v0, .L7F0BD54C
|
||||
/* 0F2034 7F0BD504 00000000 */ nop
|
||||
/* 0F2038 7F0BD508 0FC26919 */ jal getPlayerCount
|
||||
/* 0F203C 7F0BD50C 00000000 */ nop
|
||||
/* 0F2040 7F0BD510 3C058006 */ lui $a1, %hi(aMvtx_0)
|
||||
/* 0F2044 7F0BD514 24A5B6A4 */ addiu $a1, %lo(aMvtx_0) # addiu $a1, $a1, -0x495c
|
||||
/* 0F2048 7F0BD518 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 0F204C 7F0BD51C 0C0029A8 */ jal check_token
|
||||
/* 0F2050 7F0BD520 24040001 */ li $a0, 1
|
||||
/* 0F2054 7F0BD524 00402025 */ move $a0, $v0
|
||||
/* 0F2058 7F0BD528 00002825 */ move $a1, $zero
|
||||
/* 0F205C 7F0BD52C 0C002A78 */ jal strtol
|
||||
/* 0F2060 7F0BD530 00003025 */ move $a2, $zero
|
||||
/* 0F2064 7F0BD534 8FA80018 */ lw $t0, 0x18($sp)
|
||||
/* 0F2068 7F0BD538 3C018005 */ lui $at, %hi(D_800482F0)
|
||||
/* 0F206C 7F0BD53C 0002CA80 */ sll $t9, $v0, 0xa
|
||||
/* 0F2070 7F0BD540 00084880 */ sll $t1, $t0, 2
|
||||
/* 0F2074 7F0BD544 00290821 */ addu $at, $at, $t1
|
||||
/* 0F2078 7F0BD548 AC3982F0 */ sw $t9, %lo(D_800482F0)($at)
|
||||
.L7F0BD54C:
|
||||
/* 0F207C 7F0BD54C 0FC26919 */ jal getPlayerCount
|
||||
/* 0F2080 7F0BD550 00000000 */ nop
|
||||
/* 0F2084 7F0BD554 00025080 */ sll $t2, $v0, 2
|
||||
/* 0F2088 7F0BD558 3C048005 */ lui $a0, %hi(D_800482E0)
|
||||
/* 0F208C 7F0BD55C 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0F2090 7F0BD560 8C8482E0 */ lw $a0, %lo(D_800482E0)($a0)
|
||||
/* 0F2094 7F0BD564 24050004 */ li $a1, 4
|
||||
/* 0F2098 7F0BD568 00045840 */ sll $t3, $a0, 1
|
||||
/* 0F209C 7F0BD56C 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0F20A0 7F0BD570 01602025 */ move $a0, $t3
|
||||
/* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20A8 7F0BD578 0FC26919 */ jal getPlayerCount
|
||||
/* 0F20AC 7F0BD57C AC22C230 */ sw $v0, %lo(ptr_mgfx0_alloc_start)($at)
|
||||
/* 0F20B0 7F0BD580 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20B4 7F0BD584 00026080 */ sll $t4, $v0, 2
|
||||
/* 0F20B8 7F0BD588 3C0D8005 */ lui $t5, %hi(D_800482E0)
|
||||
/* 0F20BC 7F0BD58C 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 0F20C0 7F0BD590 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0
|
||||
/* 0F20C4 7F0BD594 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0F20C8 7F0BD598 8DAD82E0 */ lw $t5, %lo(D_800482E0)($t5)
|
||||
/* 0F20CC 7F0BD59C 01AF7021 */ addu $t6, $t5, $t7
|
||||
/* 0F20D0 7F0BD5A0 0FC26919 */ jal getPlayerCount
|
||||
/* 0F20D4 7F0BD5A4 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 0F20D8 7F0BD5A8 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F20DC 7F0BD5AC 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0F20E0 7F0BD5B0 3C088005 */ lui $t0, %hi(D_800482E0)
|
||||
/* 0F20E4 7F0BD5B4 01184021 */ addu $t0, $t0, $t8
|
||||
/* 0F20E8 7F0BD5B8 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0
|
||||
/* 0F20EC 7F0BD5BC 8C790004 */ lw $t9, 4($v1)
|
||||
/* 0F20F0 7F0BD5C0 8D0882E0 */ lw $t0, %lo(D_800482E0)($t0)
|
||||
/* 0F20F4 7F0BD5C4 01194821 */ addu $t1, $t0, $t9
|
||||
/* 0F20F8 7F0BD5C8 0FC26919 */ jal getPlayerCount
|
||||
/* 0F20FC 7F0BD5CC AC690008 */ sw $t1, 8($v1)
|
||||
/* 0F2100 7F0BD5D0 00025080 */ sll $t2, $v0, 2
|
||||
/* 0F2104 7F0BD5D4 3C048005 */ lui $a0, %hi(D_800482F0)
|
||||
/* 0F2108 7F0BD5D8 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 0F210C 7F0BD5DC 8C8482F0 */ lw $a0, %lo(D_800482F0)($a0)
|
||||
/* 0F2110 7F0BD5E0 24050004 */ li $a1, 4
|
||||
/* 0F2114 7F0BD5E4 00045840 */ sll $t3, $a0, 1
|
||||
/* 0F2118 7F0BD5E8 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0F211C 7F0BD5EC 01602025 */ move $a0, $t3
|
||||
/* 0F2120 7F0BD5F0 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F2124 7F0BD5F4 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F2128 7F0BD5F8 0FC26919 */ jal getPlayerCount
|
||||
/* 0F212C 7F0BD5FC AC620000 */ sw $v0, ($v1)
|
||||
/* 0F2130 7F0BD600 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F2134 7F0BD604 00026080 */ sll $t4, $v0, 2
|
||||
/* 0F2138 7F0BD608 3C0D8005 */ lui $t5, %hi(D_800482F0)
|
||||
/* 0F213C 7F0BD60C 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 0F2140 7F0BD610 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F2144 7F0BD614 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0F2148 7F0BD618 8DAD82F0 */ lw $t5, %lo(D_800482F0)($t5)
|
||||
/* 0F214C 7F0BD61C 01AF7021 */ addu $t6, $t5, $t7
|
||||
/* 0F2150 7F0BD620 0FC26919 */ jal getPlayerCount
|
||||
/* 0F2154 7F0BD624 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 0F2158 7F0BD628 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F215C 7F0BD62C 0002C080 */ sll $t8, $v0, 2
|
||||
/* 0F2160 7F0BD630 3C088005 */ lui $t0, %hi(D_800482F0)
|
||||
/* 0F2164 7F0BD634 01184021 */ addu $t0, $t0, $t8
|
||||
/* 0F2168 7F0BD638 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0
|
||||
/* 0F216C 7F0BD63C 8C790004 */ lw $t9, 4($v1)
|
||||
/* 0F2170 7F0BD640 8D0882F0 */ lw $t0, %lo(D_800482F0)($t0)
|
||||
/* 0F2174 7F0BD644 3C018009 */ lui $at, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F2178 7F0BD648 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0F217C 7F0BD64C 01194821 */ addu $t1, $t0, $t9
|
||||
/* 0F2180 7F0BD650 AC690008 */ sw $t1, 8($v1)
|
||||
/* 0F2184 7F0BD654 A020C250 */ sb $zero, %lo(bank_in_mgfx_alloc_table)($at)
|
||||
/* 0F2188 7F0BD658 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F218C 7F0BD65C AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F2190 7F0BD660 8C6A0000 */ lw $t2, ($v1)
|
||||
/* 0F2194 7F0BD664 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2198 7F0BD668 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0F219C 7F0BD66C 03E00008 */ jr $ra
|
||||
/* 0F21A0 7F0BD670 AC2AC24C */ sw $t2, %lo(ptr_mvtx_cur_pos)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void get_ptr_displaylist(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
f32 dynCalculateMembarLength(const char* arg0, f32 arg1, f32 arg2);
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_ptr_displaylist
|
||||
/* 0F21A4 7F0BD674 3C0F8009 */ lui $t7, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F21A8 7F0BD678 91EFC250 */ lbu $t7, %lo(bank_in_mgfx_alloc_table)($t7)
|
||||
/* 0F21AC 7F0BD67C 3C028009 */ lui $v0, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F21B0 7F0BD680 240E0001 */ li $t6, 1
|
||||
/* 0F21B4 7F0BD684 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0F21B8 7F0BD688 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F21BC 7F0BD68C 00581021 */ addu $v0, $v0, $t8
|
||||
/* 0F21C0 7F0BD690 AC2EC254 */ sw $t6, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F21C4 7F0BD694 03E00008 */ jr $ra
|
||||
/* 0F21C8 7F0BD698 8C42C230 */ lw $v0, %lo(ptr_mgfx0_alloc_start)($v0)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void allocate_something_in_mgfx(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel allocate_something_in_mgfx
|
||||
/* 0F21CC 7F0BD69C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F21D0 7F0BD6A0 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F21D4 7F0BD6A4 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start)
|
||||
/* 0F21D8 7F0BD6A8 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F21DC 7F0BD6AC 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F21E0 7F0BD6B0 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8)
|
||||
/* 0F21E4 7F0BD6B4 03041023 */ subu $v0, $t8, $a0
|
||||
/* 0F21E8 7F0BD6B8 0002C8C3 */ sra $t9, $v0, 3
|
||||
/* 0F21EC 7F0BD6BC 03E00008 */ jr $ra
|
||||
/* 0F21F0 7F0BD6C0 03201025 */ move $v0, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0BD6C4(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6C4
|
||||
/* 0F21F4 7F0BD6C4 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F21F8 7F0BD6C8 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F21FC 7F0BD6CC 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2200 7F0BD6D0 00047100 */ sll $t6, $a0, 4
|
||||
/* 0F2204 7F0BD6D4 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 0F2208 7F0BD6D8 03E00008 */ jr $ra
|
||||
/* 0F220C 7F0BD6DC ACCF0000 */ sw $t7, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD6E0(void) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + 0x40);
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6E0
|
||||
/* 0F2210 7F0BD6E0 3C058009 */ lui $a1, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2214 7F0BD6E4 24A5C24C */ addiu $a1, %lo(ptr_mvtx_cur_pos) # addiu $a1, $a1, -0x3db4
|
||||
/* 0F2218 7F0BD6E8 8CA20000 */ lw $v0, ($a1)
|
||||
/* 0F221C 7F0BD6EC 244E0040 */ addiu $t6, $v0, 0x40
|
||||
/* 0F2220 7F0BD6F0 03E00008 */ jr $ra
|
||||
/* 0F2224 7F0BD6F4 ACAE0000 */ sw $t6, ($a1)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD6F8(s32 arg0) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (arg0 * 0x10));
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD6F8
|
||||
/* 0F2228 7F0BD6F8 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F222C 7F0BD6FC 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F2230 7F0BD700 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2234 7F0BD704 00047100 */ sll $t6, $a0, 4
|
||||
/* 0F2238 7F0BD708 004E7821 */ addu $t7, $v0, $t6
|
||||
/* 0F223C 7F0BD70C 03E00008 */ jr $ra
|
||||
/* 0F2240 7F0BD710 ACCF0000 */ sw $t7, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD714(s32 arg0) {
|
||||
// Node 0
|
||||
ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (((arg0 + 0xf) | 0xf) ^ 0xf));
|
||||
return ptr_mvtx_cur_pos;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD714
|
||||
/* 0F2244 7F0BD714 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2248 7F0BD718 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4
|
||||
/* 0F224C 7F0BD71C 8CC20000 */ lw $v0, ($a2)
|
||||
/* 0F2250 7F0BD720 2484000F */ addiu $a0, $a0, 0xf
|
||||
/* 0F2254 7F0BD724 348E000F */ ori $t6, $a0, 0xf
|
||||
/* 0F2258 7F0BD728 39CF000F */ xori $t7, $t6, 0xf
|
||||
/* 0F225C 7F0BD72C 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 0F2260 7F0BD730 03E00008 */ jr $ra
|
||||
/* 0F2264 7F0BD734 ACD80000 */ sw $t8, ($a2)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void *allocate_something_in_mvtx(void) {
|
||||
// Node 0
|
||||
bank_in_mgfx_alloc_table = (s8) (bank_in_mgfx_alloc_table ^ 1);
|
||||
dword_CODE_bss_8008C254 = 0;
|
||||
ptr_mvtx_cur_pos = (?32) (0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DC0;
|
||||
return &bank_in_mgfx_alloc_table;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel allocate_something_in_mvtx
|
||||
/* 0F2268 7F0BD738 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F226C 7F0BD73C 2442C250 */ addiu $v0, %lo(bank_in_mgfx_alloc_table) # addiu $v0, $v0, -0x3db0
|
||||
/* 0F2270 7F0BD740 904E0000 */ lbu $t6, ($v0)
|
||||
/* 0F2274 7F0BD744 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254)
|
||||
/* 0F2278 7F0BD748 3C088009 */ lui $t0, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F227C 7F0BD74C 39CF0001 */ xori $t7, $t6, 1
|
||||
/* 0F2280 7F0BD750 A04F0000 */ sb $t7, ($v0)
|
||||
/* 0F2284 7F0BD754 AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at)
|
||||
/* 0F2288 7F0BD758 90580000 */ lbu $t8, ($v0)
|
||||
/* 0F228C 7F0BD75C 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F2290 7F0BD760 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0F2294 7F0BD764 01194021 */ addu $t0, $t0, $t9
|
||||
/* 0F2298 7F0BD768 8D08C240 */ lw $t0, %lo(ptr_mvtx0_alloc_start)($t0)
|
||||
/* 0F229C 7F0BD76C 03E00008 */ jr $ra
|
||||
/* 0F22A0 7F0BD770 AC28C24C */ sw $t0, %lo(ptr_mvtx_cur_pos)($at)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void removed_debug_routine(s32 arg0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 num_microcode_cmds_that_fit(s32 arg0) {
|
||||
// Node 0
|
||||
return ((s32) ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DCC - arg0) >> 3);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel num_microcode_cmds_that_fit
|
||||
/* 0F22AC 7F0BD77C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F22B0 7F0BD780 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F22B4 7F0BD784 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start)
|
||||
/* 0F22B8 7F0BD788 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F22BC 7F0BD78C 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F22C0 7F0BD790 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8)
|
||||
/* 0F22C4 7F0BD794 03041023 */ subu $v0, $t8, $a0
|
||||
/* 0F22C8 7F0BD798 0002C8C3 */ sra $t9, $v0, 3
|
||||
/* 0F22CC 7F0BD79C 03E00008 */ jr $ra
|
||||
/* 0F22D0 7F0BD7A0 03201025 */ move $v0, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 sub_GAME_7F0BD7A4(void) {
|
||||
// Node 0
|
||||
return ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DBC - ptr_mvtx_cur_pos);
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BD7A4
|
||||
/* 0F22D4 7F0BD7A4 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F22D8 7F0BD7A8 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6)
|
||||
/* 0F22DC 7F0BD7AC 3C188009 */ lui $t8, %hi(ptr_mvtx1_alloc_start)
|
||||
/* 0F22E0 7F0BD7B0 3C198009 */ lui $t9, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F22E4 7F0BD7B4 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0F22E8 7F0BD7B8 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0F22EC 7F0BD7BC 8F18C244 */ lw $t8, %lo(ptr_mvtx1_alloc_start)($t8)
|
||||
/* 0F22F0 7F0BD7C0 8F39C24C */ lw $t9, %lo(ptr_mvtx_cur_pos)($t9)
|
||||
/* 0F22F4 7F0BD7C4 03E00008 */ jr $ra
|
||||
/* 0F22F8 7F0BD7C8 03191023 */ subu $v0, $t8, $t9
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void compute_membar_display_string(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel compute_membar_display_string
|
||||
glabel dynCalculateMembarLength
|
||||
/* 0F22FC 7F0BD7CC 44856000 */ mtc1 $a1, $f12
|
||||
/* 0F2300 7F0BD7D0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0F2304 7F0BD7D4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
@@ -498,81 +153,7 @@ glabel compute_membar_display_string
|
||||
)
|
||||
#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);
|
||||
void dynDrawMembars(Gfx *gdl) {
|
||||
dynCalculateMembarLength(membars_string2, ((Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex + 1] - gdl), ((Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex + 1] - (Gfx*)g_GfxBuffers[g_GfxActiveBufferIndex]));
|
||||
dynCalculateMembarLength(membars_string2, (g_VtxBuffers[g_GfxActiveBufferIndex + 1] - g_GfxMemPos), (g_VtxBuffers[g_GfxActiveBufferIndex + 1] - g_VtxBuffers[g_GfxActiveBufferIndex]));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel draw_membars
|
||||
/* 0F2340 7F0BD810 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F2344 7F0BD814 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F2348 7F0BD818 3C088009 */ lui $t0, %hi(ptr_mgfx0_alloc_start)
|
||||
/* 0F234C 7F0BD81C 2508C230 */ addiu $t0, %lo(ptr_mgfx0_alloc_start) # addiu $t0, $t0, -0x3dd0
|
||||
/* 0F2350 7F0BD820 00027080 */ sll $t6, $v0, 2
|
||||
/* 0F2354 7F0BD824 010E7821 */ addu $t7, $t0, $t6
|
||||
/* 0F2358 7F0BD828 00024880 */ sll $t1, $v0, 2
|
||||
/* 0F235C 7F0BD82C 8DE30004 */ lw $v1, 4($t7)
|
||||
/* 0F2360 7F0BD830 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0F2364 7F0BD834 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0F2368 7F0BD838 00803825 */ move $a3, $a0
|
||||
/* 0F236C 7F0BD83C 0067C023 */ subu $t8, $v1, $a3
|
||||
/* 0F2370 7F0BD840 006B6023 */ subu $t4, $v1, $t3
|
||||
/* 0F2374 7F0BD844 000C68C3 */ sra $t5, $t4, 3
|
||||
/* 0F2378 7F0BD848 0018C8C3 */ sra $t9, $t8, 3
|
||||
/* 0F237C 7F0BD84C 44992000 */ mtc1 $t9, $f4
|
||||
/* 0F2380 7F0BD850 448D3000 */ mtc1 $t5, $f6
|
||||
/* 0F2384 7F0BD854 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0F2388 7F0BD858 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 0F238C 7F0BD85C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0F2390 7F0BD860 3C048005 */ lui $a0, %hi(membars_string2)
|
||||
/* 0F2394 7F0BD864 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0
|
||||
/* 0F2398 7F0BD868 468031A0 */ cvt.s.w $f6, $f6
|
||||
/* 0F239C 7F0BD86C 44052000 */ mfc1 $a1, $f4
|
||||
/* 0F23A0 7F0BD870 44063000 */ mfc1 $a2, $f6
|
||||
/* 0F23A4 7F0BD874 0FC2F5F3 */ jal compute_membar_display_string
|
||||
/* 0F23A8 7F0BD878 00000000 */ nop
|
||||
/* 0F23AC 7F0BD87C 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table)
|
||||
/* 0F23B0 7F0BD880 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0)
|
||||
/* 0F23B4 7F0BD884 3C078009 */ lui $a3, %hi(ptr_mvtx0_alloc_start)
|
||||
/* 0F23B8 7F0BD888 24E7C240 */ addiu $a3, %lo(ptr_mvtx0_alloc_start) # addiu $a3, $a3, -0x3dc0
|
||||
/* 0F23BC 7F0BD88C 00027080 */ sll $t6, $v0, 2
|
||||
/* 0F23C0 7F0BD890 00EE7821 */ addu $t7, $a3, $t6
|
||||
/* 0F23C4 7F0BD894 00024880 */ sll $t1, $v0, 2
|
||||
/* 0F23C8 7F0BD898 8DE30004 */ lw $v1, 4($t7)
|
||||
/* 0F23CC 7F0BD89C 00E95021 */ addu $t2, $a3, $t1
|
||||
/* 0F23D0 7F0BD8A0 3C188009 */ lui $t8, %hi(ptr_mvtx_cur_pos)
|
||||
/* 0F23D4 7F0BD8A4 8F18C24C */ lw $t8, %lo(ptr_mvtx_cur_pos)($t8)
|
||||
/* 0F23D8 7F0BD8A8 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 0F23DC 7F0BD8AC 3C048005 */ lui $a0, %hi(membars_string2)
|
||||
/* 0F23E0 7F0BD8B0 0078C823 */ subu $t9, $v1, $t8
|
||||
/* 0F23E4 7F0BD8B4 006B6023 */ subu $t4, $v1, $t3
|
||||
/* 0F23E8 7F0BD8B8 448C5000 */ mtc1 $t4, $f10
|
||||
/* 0F23EC 7F0BD8BC 44994000 */ mtc1 $t9, $f8
|
||||
/* 0F23F0 7F0BD8C0 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0
|
||||
/* 0F23F4 7F0BD8C4 468052A0 */ cvt.s.w $f10, $f10
|
||||
/* 0F23F8 7F0BD8C8 46804220 */ cvt.s.w $f8, $f8
|
||||
/* 0F23FC 7F0BD8CC 44065000 */ mfc1 $a2, $f10
|
||||
/* 0F2400 7F0BD8D0 44054000 */ mfc1 $a1, $f8
|
||||
/* 0F2404 7F0BD8D4 0FC2F5F3 */ jal compute_membar_display_string
|
||||
/* 0F2408 7F0BD8D8 00000000 */ nop
|
||||
/* 0F240C 7F0BD8DC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0F2410 7F0BD8E0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0F2414 7F0BD8E4 03E00008 */ jr $ra
|
||||
/* 0F2418 7F0BD8E8 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,25 @@
|
||||
#ifndef _DYN_H_
|
||||
#define _DYN_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
/*
|
||||
* Align to 16 bit boundary. Version "a", with preliminary addition.
|
||||
*/
|
||||
#define ALIGN16_a(val) (((val) + 0xf | 0xf) ^ 0xf)
|
||||
|
||||
void dynInitDebugNoticeList(void);
|
||||
void dynInitMemory(void);
|
||||
Gfx *dynGetMasterDisplayList(void);
|
||||
s32 dynGetFreeGfx2(Gfx *gdl);
|
||||
void *dynAllocate7F0BD6C4(s32 count);
|
||||
Mtx *dynAllocateMatrix(void);
|
||||
void *dynAllocate7F0BD6F8(s32 count);
|
||||
void *dynAllocate(s32 size);
|
||||
void dynSwapBuffers(void);
|
||||
void dynRemovedFunc(Gfx *gdl);
|
||||
s32 dynGetFreeGfx(Gfx *gdl);
|
||||
s32 dynGetFreeVtx(void);
|
||||
void dynDrawMembars(Gfx *gdl);
|
||||
|
||||
#endif
|
||||
|
||||
+11
-31
@@ -183,34 +183,21 @@ struct fog_element2 fog_tables2[] = {
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0BA720(void) {
|
||||
|
||||
void sub_GAME_7F0BA720(s32 a, s32 b) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BA720
|
||||
/* 0EF250 7F0BA720 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0EF254 7F0BA724 03E00008 */ jr $ra
|
||||
/* 0EF258 7F0BA728 AFA50004 */ sw $a1, 4($sp)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
s32 get_ptr_currentdata(void){
|
||||
return ptr_current_data;
|
||||
return ptr_current_data;
|
||||
}
|
||||
|
||||
f32 get_near_fog_value(void) {
|
||||
return near_fog_value;
|
||||
return near_fog_value;
|
||||
}
|
||||
|
||||
f32 square_near_fog_value(void) {
|
||||
return near_fog_value * near_fog_value;
|
||||
return near_fog_value * near_fog_value;
|
||||
}
|
||||
|
||||
|
||||
@@ -229,9 +216,9 @@ glabel copy_table1_env_to_current
|
||||
/* 0EF28C 7F0BA75C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0EF290 7F0BA760 C48E0008 */ lwc1 $f14, 8($a0)
|
||||
/* 0EF294 7F0BA764 C48C0004 */ lwc1 $f12, 4($a0)
|
||||
/* 0EF298 7F0BA768 0C001194 */ jal set_page_height
|
||||
/* 0EF298 7F0BA768 0C001194 */ jal viSetZRange
|
||||
/* 0EF29C 7F0BA76C AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* 0EF2A0 7F0BA770 0C0011AB */ jal video_related_27
|
||||
/* 0EF2A0 7F0BA770 0C0011AB */ jal viGetZRange
|
||||
/* 0EF2A4 7F0BA774 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 0EF2A8 7F0BA778 0FC2D21E */ jal sub_GAME_7F0B4878
|
||||
/* 0EF2AC 7F0BA77C 00000000 */ nop
|
||||
@@ -442,18 +429,11 @@ glabel copy_table2_env_to_current
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0BAA5C(void) {
|
||||
|
||||
void sub_GAME_7F0BAA5C(s32 a) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0BAA5C
|
||||
/* 0EF58C 7F0BAA5C 03E00008 */ jr $ra
|
||||
/* 0EF590 7F0BAA60 AFA40000 */ sw $a0, ($sp)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -595,7 +575,7 @@ glabel load_enviroment
|
||||
/* 0EF748 7F0BAC18 3C018006 */ lui $at, %hi(D_80058D74)
|
||||
/* 0EF74C 7F0BAC1C C42E8D74 */ lwc1 $f14, %lo(D_80058D74)($at)
|
||||
/* 0EF750 7F0BAC20 AFA6001C */ sw $a2, 0x1c($sp)
|
||||
/* 0EF754 7F0BAC24 0C001194 */ jal set_page_height
|
||||
/* 0EF754 7F0BAC24 0C001194 */ jal viSetZRange
|
||||
/* 0EF758 7F0BAC28 AFA70028 */ sw $a3, 0x28($sp)
|
||||
/* 0EF75C 7F0BAC2C 3C048004 */ lui $a0, %hi(fog_tables2)
|
||||
/* 0EF760 7F0BAC30 3C018008 */ lui $at, %hi(sky_enabled)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
s32 D_8004EAE0[] = {0, 0, 0, 0};
|
||||
|
||||
void gameInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&D_8004EAE0, "game_c_debug");
|
||||
debTryAdd(&D_8004EAE0, "game_c_debug");
|
||||
}
|
||||
|
||||
void reset_mem_bank_5(void) {
|
||||
|
||||
@@ -3,5 +3,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
void gameInitDebugNoticeList(void);
|
||||
void reset_mem_bank_5(void);
|
||||
void sub_GAME_7F0D1A7C(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -325,6 +325,105 @@ glabel end_of_mission_briefing
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel end_of_mission_briefing
|
||||
/* 051ECC 7F01D39C 3C028003 */ lui $v0, %hi(briefingpage)
|
||||
/* 051ED0 7F01D3A0 8C42A8F8 */ lw $v0, %lo(briefingpage)($v0)
|
||||
/* 051ED4 7F01D3A4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 051ED8 7F01D3A8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 051EDC 7F01D3AC 04400050 */ bltz $v0, .L7F01D4F0
|
||||
/* 051EE0 7F01D3B0 3C038003 */ lui $v1, %hi(selected_difficulty)
|
||||
/* 051EE4 7F01D3B4 8C63A8FC */ lw $v1, %lo(selected_difficulty)($v1)
|
||||
/* 051EE8 7F01D3B8 24010003 */ li $at, 3
|
||||
/* 051EEC 7F01D3BC 3C0E8003 */ lui $t6, %hi(append_cheat_sp)
|
||||
/* 051EF0 7F01D3C0 5061004C */ beql $v1, $at, .L7F01D4F4
|
||||
/* 051EF4 7F01D3C4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 051EF8 7F01D3C8 8DCEA900 */ lw $t6, %lo(append_cheat_sp)($t6)
|
||||
/* 051EFC 7F01D3CC 000278C0 */ sll $t7, $v0, 3
|
||||
/* 051F00 7F01D3D0 01E27823 */ subu $t7, $t7, $v0
|
||||
/* 051F04 7F01D3D4 15C00046 */ bnez $t6, .L7F01D4F0
|
||||
/* 051F08 7F01D3D8 000F7880 */ sll $t7, $t7, 2
|
||||
/* 051F0C 7F01D3DC 3C188003 */ lui $t8, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051F10 7F01D3E0 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 051F14 7F01D3E4 8F18ABF8 */ lw $t8, %lo(mission_folder_setup_entries+0x14)($t8)
|
||||
/* 051F18 7F01D3E8 00034040 */ sll $t0, $v1, 1
|
||||
/* 051F1C 7F01D3EC 3C0A8003 */ lui $t2, %hi(solo_target_time_array)
|
||||
/* 051F20 7F01D3F0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 051F24 7F01D3F4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 051F28 7F01D3F8 0019C840 */ sll $t9, $t9, 1
|
||||
/* 051F2C 7F01D3FC 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051F30 7F01D400 01495021 */ addu $t2, $t2, $t1
|
||||
/* 051F34 7F01D404 854AB564 */ lh $t2, %lo(solo_target_time_array)($t2)
|
||||
/* 051F38 7F01D408 0FC22FEE */ jal get_mission_timer
|
||||
/* 051F3C 7F01D40C A7AA001E */ sh $t2, 0x1e($sp)
|
||||
/* 051F40 7F01D410 2401003C */ li $at, 60
|
||||
/* 051F44 7F01D414 0041001A */ div $zero, $v0, $at
|
||||
/* 051F48 7F01D418 3C0B8003 */ lui $t3, %hi(briefingpage)
|
||||
/* 051F4C 7F01D41C 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3)
|
||||
/* 051F50 7F01D420 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051F54 7F01D424 00003812 */ mflo $a3
|
||||
/* 051F58 7F01D428 000B60C0 */ sll $t4, $t3, 3
|
||||
/* 051F5C 7F01D42C 018B6023 */ subu $t4, $t4, $t3
|
||||
/* 051F60 7F01D430 000C6080 */ sll $t4, $t4, 2
|
||||
/* 051F64 7F01D434 00AC2821 */ addu $a1, $a1, $t4
|
||||
/* 051F68 7F01D438 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051F6C 7F01D43C 3C068003 */ lui $a2, %hi(selected_difficulty)
|
||||
/* 051F70 7F01D440 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2)
|
||||
/* 051F74 7F01D444 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051F78 7F01D448 0FC0797E */ jal unlock_stage_in_folder_on_difficulty
|
||||
/* 051F7C 7F01D44C 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 051F80 7F01D450 0FC22FEE */ jal get_mission_timer
|
||||
/* 051F84 7F01D454 00000000 */ nop
|
||||
/* 051F88 7F01D458 2401003C */ li $at, 60
|
||||
/* 051F8C 7F01D45C 0041001A */ div $zero, $v0, $at
|
||||
/* 051F90 7F01D460 87AD001E */ lh $t5, 0x1e($sp)
|
||||
/* 051F94 7F01D464 00007012 */ mflo $t6
|
||||
/* 051F98 7F01D468 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051F9C 7F01D46C 01AE082A */ slt $at, $t5, $t6
|
||||
/* 051FA0 7F01D470 1420001D */ bnez $at, .L7F01D4E8
|
||||
/* 051FA4 7F01D474 00000000 */ nop
|
||||
/* 051FA8 7F01D478 0FC07771 */ jal get_save_folder_ptr
|
||||
/* 051FAC 7F01D47C 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051FB0 7F01D480 3C0F8003 */ lui $t7, %hi(briefingpage)
|
||||
/* 051FB4 7F01D484 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7)
|
||||
/* 051FB8 7F01D488 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051FBC 7F01D48C 00402025 */ move $a0, $v0
|
||||
/* 051FC0 7F01D490 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 051FC4 7F01D494 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 051FC8 7F01D498 0018C080 */ sll $t8, $t8, 2
|
||||
/* 051FCC 7F01D49C 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 051FD0 7F01D4A0 0FC07748 */ jal check_if_cheat_unlocked
|
||||
/* 051FD4 7F01D4A4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 051FD8 7F01D4A8 1440000F */ bnez $v0, .L7F01D4E8
|
||||
/* 051FDC 7F01D4AC 3C048003 */ lui $a0, %hi(selected_folder_num)
|
||||
/* 051FE0 7F01D4B0 3C198003 */ lui $t9, %hi(briefingpage)
|
||||
/* 051FE4 7F01D4B4 8F39A8F8 */ lw $t9, %lo(briefingpage)($t9)
|
||||
/* 051FE8 7F01D4B8 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14)
|
||||
/* 051FEC 7F01D4BC 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0)
|
||||
/* 051FF0 7F01D4C0 001940C0 */ sll $t0, $t9, 3
|
||||
/* 051FF4 7F01D4C4 01194023 */ subu $t0, $t0, $t9
|
||||
/* 051FF8 7F01D4C8 00084080 */ sll $t0, $t0, 2
|
||||
/* 051FFC 7F01D4CC 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 052000 7F01D4D0 0FC079D8 */ jal sub_GAME_7F01E760
|
||||
/* 052004 7F01D4D4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1)
|
||||
/* 052008 7F01D4D8 24090001 */ li $t1, 1
|
||||
/* 05200C 7F01D4DC 3C018007 */ lui $at, %hi(newcheatunlocked)
|
||||
/* 052010 7F01D4E0 10000003 */ b .L7F01D4F0
|
||||
/* 052014 7F01D4E4 AC299790 */ sw $t1, %lo(newcheatunlocked)($at)
|
||||
.L7F01D4E8:
|
||||
/* 052018 7F01D4E8 3C018007 */ lui $at, %hi(newcheatunlocked)
|
||||
/* 05201C 7F01D4EC AC209790 */ sw $zero, %lo(newcheatunlocked)($at)
|
||||
.L7F01D4F0:
|
||||
/* 052020 7F01D4F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F01D4F4:
|
||||
/* 052024 7F01D4F4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 052028 7F01D4F8 03E00008 */ jr $ra
|
||||
/* 05202C 7F01D4FC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
void sub_GAME_7F01D500(void)
|
||||
|
||||
+10
-3
@@ -1,6 +1,9 @@
|
||||
#ifndef _GAMEFILE_H_
|
||||
#define _GAMEFILE_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
#include "bondconstants.h"
|
||||
|
||||
//i am not "correct", i need proper fields for times again
|
||||
struct save_data
|
||||
{
|
||||
@@ -11,9 +14,9 @@ struct save_data
|
||||
char music_vol;
|
||||
char sfx_vol;
|
||||
short options;
|
||||
char unlocked_cheats_1;
|
||||
char unlocked_cheats_2;
|
||||
char unlocked_cheats_3;
|
||||
u8 unlocked_cheats_1;
|
||||
u8 unlocked_cheats_2;
|
||||
u8 unlocked_cheats_3;
|
||||
char padding;
|
||||
u8 time_dam_agent[5];
|
||||
u8 field_0x17[5];
|
||||
@@ -36,4 +39,8 @@ struct save_data
|
||||
|
||||
extern u32 save_selected_bond[];
|
||||
|
||||
void set_selected_folder_num(u32 foldernum);
|
||||
void set_selected_difficulty(DIFFICULTY difficulty);
|
||||
void set_solo_and_ptr_briefing(LEVELID stage);
|
||||
|
||||
#endif
|
||||
|
||||
+42
-154
@@ -1,8 +1,9 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "bondconstants.h"
|
||||
|
||||
s32 sub_GAME_7F01D6C0(void) {
|
||||
return save_7000C6FC();
|
||||
return joyGamePakProbe();
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +74,7 @@ glabel sub_GAME_7F01D758
|
||||
/* 0522AC 7F01D77C 00E03025 */ move $a2, $a3
|
||||
/* 0522B0 7F01D780 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* 0522B4 7F01D784 00002025 */ move $a0, $zero
|
||||
/* 0522B8 7F01D788 0C003202 */ jal save_7000C808
|
||||
/* 0522B8 7F01D788 0C003202 */ jal joyGamePakLongWrite
|
||||
/* 0522BC 7F01D78C 24060020 */ li $a2, 32
|
||||
.L7F01D790:
|
||||
/* 0522C0 7F01D790 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
@@ -127,7 +128,7 @@ glabel sub_GAME_7F01D7A0
|
||||
/* 05234C 7F01D81C 25240004 */ addiu $a0, $t1, 4
|
||||
/* 052350 7F01D820 308A00FF */ andi $t2, $a0, 0xff
|
||||
/* 052354 7F01D824 01402025 */ move $a0, $t2
|
||||
/* 052358 7F01D828 0C003202 */ jal save_7000C808
|
||||
/* 052358 7F01D828 0C003202 */ jal joyGamePakLongWrite
|
||||
/* 05235C 7F01D82C 24060060 */ li $a2, 96
|
||||
.L7F01D830:
|
||||
/* 052360 7F01D830 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
@@ -193,26 +194,11 @@ u32 get_foldernum_of_eeprom(struct save_data *eeprom)
|
||||
return eeprom->completion_bitflags & 7;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_eeprom_to_folder_num(void) {
|
||||
|
||||
void set_eeprom_to_folder_num(struct save_data *eeprom, u32 folder) {
|
||||
eeprom->completion_bitflags = eeprom->completion_bitflags & 0xFFF8;
|
||||
|
||||
eeprom->completion_bitflags = eeprom->completion_bitflags | folder & 7;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_eeprom_to_folder_num
|
||||
/* 052408 7F01D8D8 908E0008 */ lbu $t6, 8($a0)
|
||||
/* 05240C 7F01D8DC 30B90007 */ andi $t9, $a1, 7
|
||||
/* 052410 7F01D8E0 31D8FFF8 */ andi $t8, $t6, 0xfff8
|
||||
/* 052414 7F01D8E4 A0980008 */ sb $t8, 8($a0)
|
||||
/* 052418 7F01D8E8 03194025 */ or $t0, $t8, $t9
|
||||
/* 05241C 7F01D8EC 03E00008 */ jr $ra
|
||||
/* 052420 7F01D8F0 A0880008 */ sb $t0, 8($a0)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
u32 set_eeprom_flag_0x18(struct save_data *folder)
|
||||
@@ -220,29 +206,11 @@ u32 set_eeprom_flag_0x18(struct save_data *folder)
|
||||
return (folder->completion_bitflags & 0x18) >> 3;
|
||||
}
|
||||
|
||||
void reset_eeprom_flag_0x18(struct save_data *folder, s32 arg1) {
|
||||
folder->completion_bitflags = folder->completion_bitflags & 0xFFE7;
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void reset_eeprom_flag_0x18(void) {
|
||||
|
||||
folder->completion_bitflags = (folder->completion_bitflags | ((arg1 * 8) & 0x18));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel reset_eeprom_flag_0x18
|
||||
/* 052434 7F01D904 908E0008 */ lbu $t6, 8($a0)
|
||||
/* 052438 7F01D908 0005C8C0 */ sll $t9, $a1, 3
|
||||
/* 05243C 7F01D90C 33280018 */ andi $t0, $t9, 0x18
|
||||
/* 052440 7F01D910 31D8FFE7 */ andi $t8, $t6, 0xffe7
|
||||
/* 052444 7F01D914 A0980008 */ sb $t8, 8($a0)
|
||||
/* 052448 7F01D918 03084825 */ or $t1, $t8, $t0
|
||||
/* 05244C 7F01D91C 03E00008 */ jr $ra
|
||||
/* 052450 7F01D920 A0890008 */ sb $t1, 8($a0)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
u32 get_selected_bond(struct save_data *folder)
|
||||
@@ -253,24 +221,12 @@ u32 get_selected_bond(struct save_data *folder)
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_selected_bond(void) {
|
||||
void set_selected_bond(struct save_data *folder, s32 arg1) {
|
||||
folder->completion_bitflags = folder->completion_bitflags & 0xFF9F;
|
||||
|
||||
folder->completion_bitflags = (folder->completion_bitflags | ((arg1 << 5) & 0x60));
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel set_selected_bond
|
||||
/* 052464 7F01D934 908E0008 */ lbu $t6, 8($a0)
|
||||
/* 052468 7F01D938 0005C940 */ sll $t9, $a1, 5
|
||||
/* 05246C 7F01D93C 33280060 */ andi $t0, $t9, 0x60
|
||||
/* 052470 7F01D940 31D8FF9F */ andi $t8, $t6, 0xff9f
|
||||
/* 052474 7F01D944 A0980008 */ sb $t8, 8($a0)
|
||||
/* 052478 7F01D948 03084825 */ or $t1, $t8, $t0
|
||||
/* 05247C 7F01D94C 03E00008 */ jr $ra
|
||||
/* 052480 7F01D950 A0890008 */ sb $t1, 8($a0)
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -518,88 +474,40 @@ glabel sub_GAME_7F01DAE4
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void get_eeprom_stage_completed_for_difficulty(void) {
|
||||
s32 get_eeprom_stage_completed_for_difficulty(struct save_data *folder, s32 levelid, DIFFICULTY difficulty) {
|
||||
|
||||
if ((levelid >= 0) && (levelid < 0x14) && (difficulty >= DIFFICULTY_AGENT) && (difficulty <= DIFFICULTY_007)) {
|
||||
return get_eeprom_stage_complete_time_for_difficulty(folder, levelid, difficulty) != 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_eeprom_stage_completed_for_difficulty
|
||||
/* 052790 7F01DC60 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 052794 7F01DC64 04A0000D */ bltz $a1, .L7F01DC9C
|
||||
/* 052798 7F01DC68 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 05279C 7F01DC6C 28A10014 */ slti $at, $a1, 0x14
|
||||
/* 0527A0 7F01DC70 5020000B */ beql $at, $zero, .L7F01DCA0
|
||||
/* 0527A4 7F01DC74 00001025 */ move $v0, $zero
|
||||
/* 0527A8 7F01DC78 04C00008 */ bltz $a2, .L7F01DC9C
|
||||
/* 0527AC 7F01DC7C 28C10004 */ slti $at, $a2, 4
|
||||
/* 0527B0 7F01DC80 50200007 */ beql $at, $zero, .L7F01DCA0
|
||||
/* 0527B4 7F01DC84 00001025 */ move $v0, $zero
|
||||
/* 0527B8 7F01DC88 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty
|
||||
/* 0527BC 7F01DC8C 00000000 */ nop
|
||||
/* 0527C0 7F01DC90 0002702B */ sltu $t6, $zero, $v0
|
||||
/* 0527C4 7F01DC94 10000002 */ b .L7F01DCA0
|
||||
/* 0527C8 7F01DC98 01C01025 */ move $v0, $t6
|
||||
.L7F01DC9C:
|
||||
/* 0527CC 7F01DC9C 00001025 */ move $v0, $zero
|
||||
.L7F01DCA0:
|
||||
/* 0527D0 7F01DCA0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0527D4 7F01DCA4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0527D8 7F01DCA8 03E00008 */ jr $ra
|
||||
/* 0527DC 7F01DCAC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01DCB0(void) {
|
||||
void sub_GAME_7F01DCB0(struct save_data *folder, s32 levelid, DIFFICULTY difficulty, s32 arg4) {
|
||||
s32 temp_v0;
|
||||
|
||||
if ((levelid >= 0) && (levelid < 0x14) && (difficulty >= DIFFICULTY_AGENT) && (difficulty <= DIFFICULTY_007)) {
|
||||
|
||||
temp_v0 = get_eeprom_stage_complete_time_for_difficulty(folder, levelid, difficulty);
|
||||
|
||||
if ((temp_v0 == 0) || (arg4 < temp_v0)) {
|
||||
sub_GAME_7F01DAE4(folder, levelid, difficulty, arg4);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01DCB0
|
||||
/* 0527E0 7F01DCB0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0527E4 7F01DCB4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0527E8 7F01DCB8 04A00015 */ bltz $a1, .L7F01DD10
|
||||
/* 0527EC 7F01DCBC AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0527F0 7F01DCC0 28A10014 */ slti $at, $a1, 0x14
|
||||
/* 0527F4 7F01DCC4 50200013 */ beql $at, $zero, .L7F01DD14
|
||||
/* 0527F8 7F01DCC8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0527FC 7F01DCCC 04C00010 */ bltz $a2, .L7F01DD10
|
||||
/* 052800 7F01DCD0 28C10004 */ slti $at, $a2, 4
|
||||
/* 052804 7F01DCD4 5020000F */ beql $at, $zero, .L7F01DD14
|
||||
/* 052808 7F01DCD8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 05280C 7F01DCDC AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 052810 7F01DCE0 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 052814 7F01DCE4 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty
|
||||
/* 052818 7F01DCE8 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* 05281C 7F01DCEC 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* 052820 7F01DCF0 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 052824 7F01DCF4 10400004 */ beqz $v0, .L7F01DD08
|
||||
/* 052828 7F01DCF8 8FA70024 */ lw $a3, 0x24($sp)
|
||||
/* 05282C 7F01DCFC 00E2082A */ slt $at, $a3, $v0
|
||||
/* 052830 7F01DD00 50200004 */ beql $at, $zero, .L7F01DD14
|
||||
/* 052834 7F01DD04 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F01DD08:
|
||||
/* 052838 7F01DD08 0FC076B9 */ jal sub_GAME_7F01DAE4
|
||||
/* 05283C 7F01DD0C 8FA40018 */ lw $a0, 0x18($sp)
|
||||
.L7F01DD10:
|
||||
/* 052840 7F01DD10 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F01DD14:
|
||||
/* 052844 7F01DD14 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 052848 7F01DD18 03E00008 */ jr $ra
|
||||
/* 05284C 7F01DD1C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u32 check_if_cheat_unlocked(save_file *folder,s32 cheat) {
|
||||
s32 check_if_cheat_unlocked(struct save_data *arg0, s32 arg1) {
|
||||
|
||||
if ((arg1 >= 0) && (arg1 < 0x14)) {
|
||||
|
||||
return ((1 << arg1) & (arg0->unlocked_cheats_1 | (arg0->unlocked_cheats_3 << 0x18) | (arg0->unlocked_cheats_3 << 0x10) | (arg0->unlocked_cheats_2 << 8))) != 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
@@ -857,7 +765,7 @@ glabel sub_GAME_7F01DF90
|
||||
/* 052AF8 7F01DFC8 24100001 */ li $s0, 1
|
||||
/* 052AFC 7F01DFCC 00002025 */ move $a0, $zero
|
||||
/* 052B00 7F01DFD0 02202825 */ move $a1, $s1
|
||||
/* 052B04 7F01DFD4 0C0031EF */ jal save_7000C7BC
|
||||
/* 052B04 7F01DFD4 0C0031EF */ jal joyGamePakLongRead
|
||||
/* 052B08 7F01DFD8 24060020 */ li $a2, 32
|
||||
/* 052B0C 7F01DFDC 93AE009C */ lbu $t6, 0x9c($sp)
|
||||
/* 052B10 7F01DFE0 24010042 */ li $at, 66
|
||||
@@ -920,7 +828,7 @@ glabel sub_GAME_7F01DF90
|
||||
/* 052BE4 7F01E0B4 3C058007 */ lui $a1, %hi(save1)
|
||||
/* 052BE8 7F01E0B8 24A59920 */ addiu $a1, %lo(save1) # addiu $a1, $a1, -0x66e0
|
||||
/* 052BEC 7F01E0BC 24040004 */ li $a0, 4
|
||||
/* 052BF0 7F01E0C0 0C0031EF */ jal save_7000C7BC
|
||||
/* 052BF0 7F01E0C0 0C0031EF */ jal joyGamePakLongRead
|
||||
/* 052BF4 7F01E0C4 240601E0 */ li $a2, 480
|
||||
/* 052BF8 7F01E0C8 3C108007 */ lui $s0, %hi(save1)
|
||||
/* 052BFC 7F01E0CC 3C138007 */ lui $s3, %hi(save1+8)
|
||||
@@ -1732,30 +1640,10 @@ glabel check_aztec_completed_in_folder_secret_00
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void check_egypt_completed_in_folder_00(void) {
|
||||
|
||||
s32 check_egypt_completed_in_folder_00(int foldernum)
|
||||
{
|
||||
return isStageUnlockedAtDifficulty(foldernum, SP_LEVEL_AZTEC, DIFFICULTY_00) == 3;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_egypt_completed_in_folder_00
|
||||
/* 0535D8 7F01EAA8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0535DC 7F01EAAC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0535E0 7F01EAB0 24050013 */ li $a1, 19
|
||||
/* 0535E4 7F01EAB4 0FC078B0 */ jal isStageUnlockedAtDifficulty
|
||||
/* 0535E8 7F01EAB8 24060002 */ li $a2, 2
|
||||
/* 0535EC 7F01EABC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0535F0 7F01EAC0 384E0003 */ xori $t6, $v0, 3
|
||||
/* 0535F4 7F01EAC4 2DC20001 */ sltiu $v0, $t6, 1
|
||||
/* 0535F8 7F01EAC8 03E00008 */ jr $ra
|
||||
/* 0535FC 7F01EACC 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
u32 check_cradle_completed_any_folder(void) {
|
||||
u32 completed;
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
u8 removed_would_have_returned_bond_for_folder_num(u32 folder);
|
||||
void sub_GAME_7F01DF90();
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -2772,8 +2772,8 @@ struct image_entry image_entries[] = {
|
||||
|
||||
|
||||
|
||||
void nullsub_41(void) {
|
||||
return;
|
||||
void nullsub_41(s32 arg0) {
|
||||
if (arg0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -15,5 +15,9 @@ struct image_entry
|
||||
|
||||
extern s32 ptr_texture_alloc_start;
|
||||
extern struct image_entry image_entries[];
|
||||
extern s32 dword_CODE_bss_8008D090;
|
||||
extern u32 bytes;
|
||||
|
||||
void nullsub_41(s32 arg0);
|
||||
|
||||
#endif
|
||||
|
||||
+13
-13
@@ -20,7 +20,7 @@ void sub_GAME_7F0D0180(u8 *buffer,u32 size)
|
||||
int i;
|
||||
|
||||
for (i = 4; i != 100000; i + 4){;}
|
||||
rmon_debug_stub_0();
|
||||
rmon7000CEC0();
|
||||
for (i = 4; i != 100000; i + 4){;}
|
||||
}
|
||||
#else
|
||||
@@ -36,7 +36,7 @@ glabel sub_GAME_7F0D0180
|
||||
.L7F0D0198:
|
||||
/* 104CC8 7F0D0198 5443FFFF */ bnel $v0, $v1, .L7F0D0198
|
||||
/* 104CCC 7F0D019C 24420004 */ addiu $v0, $v0, 4
|
||||
/* 104CD0 7F0D01A0 0C0033B0 */ jal rmon_debug_stub_0
|
||||
/* 104CD0 7F0D01A0 0C0033B0 */ jal rmon7000CEC0
|
||||
/* 104CD4 7F0D01A4 00000000 */ nop
|
||||
/* 104CD8 7F0D01A8 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1
|
||||
/* 104CDC 7F0D01AC 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0
|
||||
@@ -62,7 +62,7 @@ void sub_GAME_7F0D01D0(u8 *buffer,u32 size)
|
||||
int i;
|
||||
|
||||
for (i = 4; i != 100000; i + 4){;}
|
||||
rmon_debug_stub();
|
||||
rmon7000CEB8();
|
||||
for (i = 4; i != 100000; i + 4){;}
|
||||
}
|
||||
#else
|
||||
@@ -78,7 +78,7 @@ glabel sub_GAME_7F0D01D0
|
||||
.L7F0D01E8:
|
||||
/* 104D18 7F0D01E8 5443FFFF */ bnel $v0, $v1, .L7F0D01E8
|
||||
/* 104D1C 7F0D01EC 24420004 */ addiu $v0, $v0, 4
|
||||
/* 104D20 7F0D01F0 0C0033AE */ jal rmon_debug_stub
|
||||
/* 104D20 7F0D01F0 0C0033AE */ jal rmon7000CEB8
|
||||
/* 104D24 7F0D01F4 00000000 */ nop
|
||||
/* 104D28 7F0D01F8 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1
|
||||
/* 104D2C 7F0D01FC 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0
|
||||
@@ -262,7 +262,7 @@ void post_type3_indyrescmd(s32 rsize,s32 wsize,char *strptr)
|
||||
cmd.entry.size = 0x114;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
something_with_strings(cmd.strbuffer,strptr,0x100);
|
||||
strncpy(cmd.strbuffer,strptr,0x100);
|
||||
cmd.data = 0;
|
||||
postindyresourcecommand(&cmd.entry,0x114);
|
||||
}
|
||||
@@ -285,7 +285,7 @@ glabel post_type3_indyrescmd
|
||||
/* 104FC0 7F0D0490 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 104FC4 7F0D0494 AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 104FC8 7F0D0498 24060100 */ li $a2, 256
|
||||
/* 104FCC 7F0D049C 0C0029E8 */ jal something_with_strings
|
||||
/* 104FCC 7F0D049C 0C0029E8 */ jal strncpy
|
||||
/* 104FD0 7F0D04A0 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 104FD4 7F0D04A4 A3A0012F */ sb $zero, 0x12f($sp)
|
||||
/* 104FD8 7F0D04A8 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
@@ -333,7 +333,7 @@ void post_type5_indyrescmd_printfsend(s32 param_1,s32 param_2,char *param_3)
|
||||
cmd.size = 0x114;
|
||||
cmd.readsize = param_1;
|
||||
cmd.writesize = param_2;
|
||||
something_with_strings(acStack256,param_3,0x100);
|
||||
strncpy(acStack256,param_3,0x100);
|
||||
uStack1 = 0;
|
||||
postindyresourcecommand(&cmd,0x114);
|
||||
}
|
||||
@@ -356,7 +356,7 @@ glabel post_type5_indyrescmd_printfsend
|
||||
/* 105074 7F0D0544 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 105078 7F0D0548 AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 10507C 7F0D054C 24060100 */ li $a2, 256
|
||||
/* 105080 7F0D0550 0C0029E8 */ jal something_with_strings
|
||||
/* 105080 7F0D0550 0C0029E8 */ jal strncpy
|
||||
/* 105084 7F0D0554 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 105088 7F0D0558 A3A0012F */ sb $zero, 0x12f($sp)
|
||||
/* 10508C 7F0D055C 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
@@ -415,7 +415,7 @@ glabel post_type7_indyrescmd_log_send
|
||||
/* 105138 7F0D0608 AFAF001C */ sw $t7, 0x1c($sp)
|
||||
/* 10513C 7F0D060C AFB80020 */ sw $t8, 0x20($sp)
|
||||
/* 105140 7F0D0610 24060100 */ li $a2, 256
|
||||
/* 105144 7F0D0614 0C0029E8 */ jal something_with_strings
|
||||
/* 105144 7F0D0614 0C0029E8 */ jal strncpy
|
||||
/* 105148 7F0D0618 27A4002C */ addiu $a0, $sp, 0x2c
|
||||
/* 10514C 7F0D061C 8FA9013C */ lw $t1, 0x13c($sp)
|
||||
/* 105150 7F0D0620 A3A0012B */ sb $zero, 0x12b($sp)
|
||||
@@ -508,7 +508,7 @@ glabel post_type9_indyrescmd_app_command_ready
|
||||
/* 105234 7F0D0704 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 105238 7F0D0708 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* 10523C 7F0D070C 24060100 */ li $a2, 256
|
||||
/* 105240 7F0D0710 0C0029E8 */ jal something_with_strings
|
||||
/* 105240 7F0D0710 0C0029E8 */ jal strncpy
|
||||
/* 105244 7F0D0714 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 105248 7F0D0718 A3A0012F */ sb $zero, 0x12f($sp)
|
||||
/* 10524C 7F0D071C 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
@@ -568,7 +568,7 @@ glabel post_typeF_indyrescmd_fault_send
|
||||
/* 1052F8 7F0D07C8 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 1052FC 7F0D07CC AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 105300 7F0D07D0 24060100 */ li $a2, 256
|
||||
/* 105304 7F0D07D4 0C0029E8 */ jal something_with_strings
|
||||
/* 105304 7F0D07D4 0C0029E8 */ jal strncpy
|
||||
/* 105308 7F0D07D8 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 10530C 7F0D07DC 8FA90144 */ lw $t1, 0x144($sp)
|
||||
/* 105310 7F0D07E0 8FAA0148 */ lw $t2, 0x148($sp)
|
||||
@@ -653,7 +653,7 @@ glabel post_typeD_indyrescmd_prof_send_filename
|
||||
/* 1053D4 7F0D08A4 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 1053D8 7F0D08A8 AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 1053DC 7F0D08AC 24060100 */ li $a2, 256
|
||||
/* 1053E0 7F0D08B0 0C0029E8 */ jal something_with_strings
|
||||
/* 1053E0 7F0D08B0 0C0029E8 */ jal strncpy
|
||||
/* 1053E4 7F0D08B4 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 1053E8 7F0D08B8 8FA90144 */ lw $t1, 0x144($sp)
|
||||
/* 1053EC 7F0D08BC 8FAA0148 */ lw $t2, 0x148($sp)
|
||||
@@ -715,7 +715,7 @@ glabel post_typeB_indyrescmd_host_prof_req
|
||||
/* 105498 7F0D0968 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 10549C 7F0D096C AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 1054A0 7F0D0970 24060400 */ li $a2, 1024
|
||||
/* 1054A4 7F0D0974 0C0029E8 */ jal something_with_strings
|
||||
/* 1054A4 7F0D0974 0C0029E8 */ jal strncpy
|
||||
/* 1054A8 7F0D0978 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* 1054AC 7F0D097C A3A0042F */ sb $zero, 0x42f($sp)
|
||||
/* 1054B0 7F0D0980 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
|
||||
+57
-224
@@ -15,262 +15,95 @@ void nullsub_48(void) {
|
||||
}
|
||||
|
||||
void init_indy_if_ready(void) {
|
||||
if (indy_ready != 0)
|
||||
if (indy_ready)
|
||||
{
|
||||
post_indy__res_cmd_initialize_seq();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_resource_on_indy(s32 arg1) {
|
||||
? sp18;
|
||||
? sp1C;
|
||||
? sp20;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
void load_resource_on_indy(u8 *filename, u8 *targetloc)
|
||||
{
|
||||
u8 response1 [8];
|
||||
u8 response2 [4];
|
||||
u32 size;
|
||||
|
||||
if (indy_ready)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_req_filename_size(0x400000);
|
||||
response_indyrescmd_1_8_2(&sp20, &sp1C, &sp18, arg1);
|
||||
post_indyrescmd_req_filename_size(filename,0x400000);
|
||||
response_indyrescmd_1_8_2(response1,response2,(u32)&size,targetloc);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel load_resource_on_indy
|
||||
/* 104ACC 7F0CFF9C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104AD0 7F0CFFA0 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104AD4 7F0CFFA4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 104AD8 7F0CFFA8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104ADC 7F0CFFAC 11C00008 */ beqz $t6, .L7F0CFFD0
|
||||
/* 104AE0 7F0CFFB0 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 104AE4 7F0CFFB4 0FC342E9 */ jal post_indyrescmd_req_filename_size
|
||||
/* 104AE8 7F0CFFB8 3C050040 */ lui $a1, 0x40
|
||||
/* 104AEC 7F0CFFBC 27A40020 */ addiu $a0, $sp, 0x20
|
||||
/* 104AF0 7F0CFFC0 27A5001C */ addiu $a1, $sp, 0x1c
|
||||
/* 104AF4 7F0CFFC4 27A60018 */ addiu $a2, $sp, 0x18
|
||||
/* 104AF8 7F0CFFC8 0FC345FF */ jal response_indyrescmd_1_8_2
|
||||
/* 104AFC 7F0CFFCC 8FA7002C */ lw $a3, 0x2c($sp)
|
||||
.L7F0CFFD0:
|
||||
/* 104B00 7F0CFFD0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B04 7F0CFFD4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 104B08 7F0CFFD8 03E00008 */ jr $ra
|
||||
/* 104B0C 7F0CFFDC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void indy_send_capture_data(s32 arg1, ? arg2) {
|
||||
? sp1C;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
void indy_send_capture_data(u8 *filename, u8 *data, u32 size)
|
||||
{
|
||||
u8 auStack4 [4];
|
||||
|
||||
if (indy_ready)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_send_capture_data(arg2, arg1);
|
||||
response_indyrescmd_1_A_2(&sp1C);
|
||||
post_indyrescmd_send_capture_data(filename, size, (struct indy_resource_entry *)data);
|
||||
response_indyrescmd_1_A_2(auStack4);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_send_capture_data
|
||||
/* 104B10 7F0CFFE0 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B14 7F0CFFE4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B18 7F0CFFE8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104B1C 7F0CFFEC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B20 7F0CFFF0 11C00006 */ beqz $t6, .L7F0D000C
|
||||
/* 104B24 7F0CFFF4 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104B28 7F0CFFF8 00C02825 */ move $a1, $a2
|
||||
/* 104B2C 7F0CFFFC 0FC3431A */ jal post_indyrescmd_send_capture_data
|
||||
/* 104B30 7F0D0000 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104B34 7F0D0004 0FC34619 */ jal response_indyrescmd_1_A_2
|
||||
/* 104B38 7F0D0008 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
.L7F0D000C:
|
||||
/* 104B3C 7F0D000C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B40 7F0D0010 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104B44 7F0D0014 03E00008 */ jr $ra
|
||||
/* 104B48 7F0D0018 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void indy_loadfile(void) {
|
||||
? sp1C;
|
||||
? sp20;
|
||||
? sp24;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
void indy_load_ramrom_file(u8 *filename, u8 *target, s32 size)
|
||||
{
|
||||
u32 uStack4;
|
||||
u32 uStack8;
|
||||
u32 uStack12;
|
||||
|
||||
if (indy_ready)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_request_ramrom_file();
|
||||
response_indyrescmd_1_10_2(&sp24, &sp20, &sp1C);
|
||||
post_indyrescmd_request_ramrom_file(filename,target,size);
|
||||
response_indyrescmd_1_10_2(&uStack4,&uStack8,&uStack12);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel indy_loadfile
|
||||
/* 104B4C 7F0D001C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B50 7F0D0020 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B54 7F0D0024 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 104B58 7F0D0028 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B5C 7F0D002C 51C00008 */ beql $t6, $zero, .L7F0D0050
|
||||
/* 104B60 7F0D0030 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104B64 7F0D0034 0FC34346 */ jal post_indyrescmd_request_ramrom_file
|
||||
/* 104B68 7F0D0038 00000000 */ nop
|
||||
/* 104B6C 7F0D003C 27A40024 */ addiu $a0, $sp, 0x24
|
||||
/* 104B70 7F0D0040 27A50020 */ addiu $a1, $sp, 0x20
|
||||
/* 104B74 7F0D0044 0FC3462B */ jal response_indyrescmd_1_10_2
|
||||
/* 104B78 7F0D0048 27A6001C */ addiu $a2, $sp, 0x1c
|
||||
/* 104B7C 7F0D004C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L7F0D0050:
|
||||
/* 104B80 7F0D0050 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 104B84 7F0D0054 03E00008 */ jr $ra
|
||||
/* 104B88 7F0D0058 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void check_file_exported(s32 arg1, ? arg2) {
|
||||
? sp1C;
|
||||
|
||||
// Node 0
|
||||
if (indy_ready != 0)
|
||||
void check_file_exported(u8 *filename, s32 size, u8 * data)
|
||||
{
|
||||
u8 auStack4 [4];
|
||||
|
||||
if (indy_ready)
|
||||
{
|
||||
// Node 1
|
||||
post_indyrescmd_game_prof_sendfile(arg2, arg1);
|
||||
response_indyrescmd_1_E_2(&sp1C);
|
||||
post_indyrescmd_game_prof_sendfile(filename,data,size);
|
||||
response_indyrescmd_1_E_2(auStack4);
|
||||
}
|
||||
// Node 2
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_file_exported
|
||||
/* 104B8C 7F0D005C 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104B90 7F0D0060 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104B94 7F0D0064 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104B98 7F0D0068 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104B9C 7F0D006C 11C00006 */ beqz $t6, .L7F0D0088
|
||||
/* 104BA0 7F0D0070 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104BA4 7F0D0074 00C02825 */ move $a1, $a2
|
||||
/* 104BA8 7F0D0078 0FC34374 */ jal post_indyrescmd_game_prof_sendfile
|
||||
/* 104BAC 7F0D007C 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* 104BB0 7F0D0080 0FC34642 */ jal response_indyrescmd_1_E_2
|
||||
/* 104BB4 7F0D0084 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
.L7F0D0088:
|
||||
/* 104BB8 7F0D0088 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104BBC 7F0D008C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104BC0 7F0D0090 03E00008 */ jr $ra
|
||||
/* 104BC4 7F0D0094 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void check_file_found_on_indy(void) {
|
||||
|
||||
u8 * check_file_found_on_indy(u8 *name, s32 *size)
|
||||
{
|
||||
u8 *response;
|
||||
if (!indy_ready) {
|
||||
return NULL;
|
||||
} else {
|
||||
post_indyrescmd_game_printf_send(name);
|
||||
response_indyrescmd_1_6_2(&response,size);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel check_file_found_on_indy
|
||||
/* 104BC8 7F0D0098 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104BCC 7F0D009C 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104BD0 7F0D00A0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104BD4 7F0D00A4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104BD8 7F0D00A8 15C00003 */ bnez $t6, .L7F0D00B8
|
||||
/* 104BDC 7F0D00AC AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 104BE0 7F0D00B0 10000007 */ b .L7F0D00D0
|
||||
/* 104BE4 7F0D00B4 00001025 */ move $v0, $zero
|
||||
.L7F0D00B8:
|
||||
/* 104BE8 7F0D00B8 0FC342C3 */ jal post_indyrescmd_game_printf_send
|
||||
/* 104BEC 7F0D00BC 00000000 */ nop
|
||||
/* 104BF0 7F0D00C0 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
/* 104BF4 7F0D00C4 0FC345EB */ jal response_indyrescmd_1_6_2
|
||||
/* 104BF8 7F0D00C8 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* 104BFC 7F0D00CC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L7F0D00D0:
|
||||
/* 104C00 7F0D00D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104C04 7F0D00D4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104C08 7F0D00D8 03E00008 */ jr $ra
|
||||
/* 104C0C 7F0D00DC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void response_from_command_string(void) {
|
||||
|
||||
u8 *send_command_string(u8 *cmdstr)
|
||||
{
|
||||
u8 *local_4;
|
||||
if (!indy_ready) {
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
post_indyrescmd_1_B_2(cmdstr);
|
||||
response_indyrescmd_1_C_2(&local_4);
|
||||
}
|
||||
return local_4;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel response_from_command_string
|
||||
/* 104C10 7F0D00E0 3C0E8005 */ lui $t6, %hi(indy_ready)
|
||||
/* 104C14 7F0D00E4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6)
|
||||
/* 104C18 7F0D00E8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 104C1C 7F0D00EC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 104C20 7F0D00F0 15C00003 */ bnez $t6, .L7F0D0100
|
||||
/* 104C24 7F0D00F4 00000000 */ nop
|
||||
/* 104C28 7F0D00F8 10000006 */ b .L7F0D0114
|
||||
/* 104C2C 7F0D00FC 00001025 */ move $v0, $zero
|
||||
.L7F0D0100:
|
||||
/* 104C30 7F0D0100 0FC3439D */ jal post_indyrescmd_1_B_2
|
||||
/* 104C34 7F0D0104 00000000 */ nop
|
||||
/* 104C38 7F0D0108 0FC34654 */ jal response_indyrescmd_1_C_2
|
||||
/* 104C3C 7F0D010C 27A4001C */ addiu $a0, $sp, 0x1c
|
||||
/* 104C40 7F0D0110 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L7F0D0114:
|
||||
/* 104C44 7F0D0114 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 104C48 7F0D0118 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 104C4C 7F0D011C 03E00008 */ jr $ra
|
||||
/* 104C50 7F0D0120 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
void sub_GAME_7F0D0124(void) {
|
||||
if (indy_ready != 0)
|
||||
if (indy_ready)
|
||||
{
|
||||
rmon_debug_returns_neg_1();
|
||||
rmon7000CEB0();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void send_indy_close_port_cmd(void) {
|
||||
response_from_command_string("sleep 5; /etc/killall ghost gload");
|
||||
send_command_string("sleep 5; /etc/killall ghost gload");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
|
||||
s32 init_indy_if_not_ready(void);
|
||||
void init_indy_if_ready(void);
|
||||
void load_resource_on_indy(s32 arg1);
|
||||
|
||||
void load_resource_on_indy(u8 *filename, u8 *targetloc);
|
||||
void indy_send_capture_data(u8 *filename, u8 *data, u32 size);
|
||||
void indy_load_ramrom_file(u8 *filename, u8 *target, s32 size);
|
||||
void check_file_exported(u8 *filename, s32 size, u8 * data);
|
||||
u8 * check_file_found_on_indy(u8 *name, s32 *size);
|
||||
//u8 *send_command_string(u8 *cmdstr);
|
||||
#endif
|
||||
|
||||
@@ -659,5 +659,292 @@ glabel sets_a_bunch_of_BONDdata_values_to_default
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_8004F1F0
|
||||
.word 0x3dccccce
|
||||
glabel D_8004F1F4
|
||||
.word 0x4164924b
|
||||
glabel D_8004F1F8
|
||||
.word 0x3f6e147b
|
||||
.text
|
||||
glabel sets_a_bunch_of_BONDdata_values_to_default
|
||||
/* 03AEBC 7F00638C 27BDFF20 */ addiu $sp, $sp, -0xe0
|
||||
/* 03AEC0 7F006390 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 03AEC4 7F006394 3C128004 */ lui $s2, %hi(player_gait_object)
|
||||
/* 03AEC8 7F006398 2652C650 */ addiu $s2, %lo(player_gait_object) # addiu $s2, $s2, -0x39b0
|
||||
/* 03AECC 7F00639C 864E0014 */ lh $t6, 0x14($s2)
|
||||
/* 03AED0 7F0063A0 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 03AED4 7F0063A4 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 03AED8 7F0063A8 29C1001F */ slti $at, $t6, 0x1f
|
||||
/* 03AEDC 7F0063AC AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 03AEE0 7F0063B0 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 03AEE4 7F0063B4 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 03AEE8 7F0063B8 F7B60028 */ sdc1 $f22, 0x28($sp)
|
||||
/* 03AEEC 7F0063BC 14200003 */ bnez $at, .L7F0063CC
|
||||
/* 03AEF0 7F0063C0 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 03AEF4 7F0063C4 0FC1B11B */ jal return_null
|
||||
/* 03AEF8 7F0063C8 00000000 */ nop
|
||||
.L7F0063CC:
|
||||
/* 03AEFC 7F0063CC 3C118008 */ lui $s1, %hi(pPlayer)
|
||||
/* 03AF00 7F0063D0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
|
||||
/* 03AF04 7F0063D4 8E300000 */ lw $s0, ($s1)
|
||||
/* 03AF08 7F0063D8 02402825 */ move $a1, $s2
|
||||
/* 03AF0C 7F0063DC 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03AF10 7F0063E0 0FC1D7EB */ jal sub_GAME_7F075FAC
|
||||
/* 03AF14 7F0063E4 26060654 */ addiu $a2, $s0, 0x654
|
||||
/* 03AF18 7F0063E8 3C018005 */ lui $at, %hi(D_8004F1F0)
|
||||
/* 03AF1C 7F0063EC C436F1F0 */ lwc1 $f22, %lo(D_8004F1F0)($at)
|
||||
/* 03AF20 7F0063F0 8E240000 */ lw $a0, ($s1)
|
||||
/* 03AF24 7F0063F4 4405B000 */ mfc1 $a1, $f22
|
||||
/* 03AF28 7F0063F8 0FC1B39E */ jal set_obj_instance_controller_scale
|
||||
/* 03AF2C 7F0063FC 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03AF30 7F006400 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 03AF34 7F006404 44810000 */ mtc1 $at, $f0
|
||||
/* 03AF38 7F006408 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03AF3C 7F00640C 3C018005 */ lui $at, %hi(D_8004F1F4)
|
||||
/* 03AF40 7F006410 C422F1F4 */ lwc1 $f2, %lo(D_8004F1F4)($at)
|
||||
/* 03AF44 7F006414 ADE004E8 */ sw $zero, 0x4e8($t7)
|
||||
/* 03AF48 7F006418 3C018005 */ lui $at, %hi(D_8004F1F8)
|
||||
/* 03AF4C 7F00641C C424F1F8 */ lwc1 $f4, %lo(D_8004F1F8)($at)
|
||||
/* 03AF50 7F006420 8E380000 */ lw $t8, ($s1)
|
||||
/* 03AF54 7F006424 4480A000 */ mtc1 $zero, $f20
|
||||
/* 03AF58 7F006428 24020001 */ li $v0, 1
|
||||
/* 03AF5C 7F00642C E70404EC */ swc1 $f4, 0x4ec($t8)
|
||||
/* 03AF60 7F006430 8E390000 */ lw $t9, ($s1)
|
||||
/* 03AF64 7F006434 3C108003 */ lui $s0, %hi(D_80036AD0)
|
||||
/* 03AF68 7F006438 3C148007 */ lui $s4, %hi(ptr_animation_table)
|
||||
/* 03AF6C 7F00643C AF2004F0 */ sw $zero, 0x4f0($t9)
|
||||
/* 03AF70 7F006440 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AF74 7F006444 3C138003 */ lui $s3, %hi(D_80036B00)
|
||||
/* 03AF78 7F006448 26736B00 */ addiu $s3, %lo(D_80036B00) # addiu $s3, $s3, 0x6b00
|
||||
/* 03AF7C 7F00644C E50004F4 */ swc1 $f0, 0x4f4($t0)
|
||||
/* 03AF80 7F006450 8E290000 */ lw $t1, ($s1)
|
||||
/* 03AF84 7F006454 26949538 */ addiu $s4, %lo(ptr_animation_table) # addiu $s4, $s4, -0x6ac8
|
||||
/* 03AF88 7F006458 26106AD0 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6ad0
|
||||
/* 03AF8C 7F00645C E52004F8 */ swc1 $f0, 0x4f8($t1)
|
||||
/* 03AF90 7F006460 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03AF94 7F006464 27B200D0 */ addiu $s2, $sp, 0xd0
|
||||
/* 03AF98 7F006468 E55404FC */ swc1 $f20, 0x4fc($t2)
|
||||
/* 03AF9C 7F00646C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03AFA0 7F006470 E5740500 */ swc1 $f20, 0x500($t3)
|
||||
/* 03AFA4 7F006474 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03AFA8 7F006478 E5940504 */ swc1 $f20, 0x504($t4)
|
||||
/* 03AFAC 7F00647C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03AFB0 7F006480 E5B40508 */ swc1 $f20, 0x508($t5)
|
||||
/* 03AFB4 7F006484 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03AFB8 7F006488 E5D4050C */ swc1 $f20, 0x50c($t6)
|
||||
/* 03AFBC 7F00648C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03AFC0 7F006490 E5F40510 */ swc1 $f20, 0x510($t7)
|
||||
/* 03AFC4 7F006494 8E380000 */ lw $t8, ($s1)
|
||||
/* 03AFC8 7F006498 E7140514 */ swc1 $f20, 0x514($t8)
|
||||
/* 03AFCC 7F00649C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03AFD0 7F0064A0 E7340518 */ swc1 $f20, 0x518($t9)
|
||||
/* 03AFD4 7F0064A4 8E280000 */ lw $t0, ($s1)
|
||||
/* 03AFD8 7F0064A8 E514051C */ swc1 $f20, 0x51c($t0)
|
||||
/* 03AFDC 7F0064AC 8E290000 */ lw $t1, ($s1)
|
||||
/* 03AFE0 7F0064B0 E5340520 */ swc1 $f20, 0x520($t1)
|
||||
/* 03AFE4 7F0064B4 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03AFE8 7F0064B8 E5540524 */ swc1 $f20, 0x524($t2)
|
||||
/* 03AFEC 7F0064BC 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03AFF0 7F0064C0 E5740528 */ swc1 $f20, 0x528($t3)
|
||||
/* 03AFF4 7F0064C4 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03AFF8 7F0064C8 E594052C */ swc1 $f20, 0x52c($t4)
|
||||
/* 03AFFC 7F0064CC 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B000 7F0064D0 E5B40530 */ swc1 $f20, 0x530($t5)
|
||||
/* 03B004 7F0064D4 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B008 7F0064D8 E5C20534 */ swc1 $f2, 0x534($t6)
|
||||
/* 03B00C 7F0064DC 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B010 7F0064E0 E5F40538 */ swc1 $f20, 0x538($t7)
|
||||
/* 03B014 7F0064E4 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B018 7F0064E8 E702053C */ swc1 $f2, 0x53c($t8)
|
||||
/* 03B01C 7F0064EC 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B020 7F0064F0 E7340540 */ swc1 $f20, 0x540($t9)
|
||||
/* 03B024 7F0064F4 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B028 7F0064F8 AD0204DC */ sw $v0, 0x4dc($t0)
|
||||
/* 03B02C 7F0064FC 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B030 7F006500 AD2204E0 */ sw $v0, 0x4e0($t1)
|
||||
/* 03B034 7F006504 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B038 7F006508 AD4204E4 */ sw $v0, 0x4e4($t2)
|
||||
/* 03B03C 7F00650C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B040 7F006510 E5740544 */ swc1 $f20, 0x544($t3)
|
||||
/* 03B044 7F006514 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B048 7F006518 E5940548 */ swc1 $f20, 0x548($t4)
|
||||
/* 03B04C 7F00651C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B050 7F006520 E5B4054C */ swc1 $f20, 0x54c($t5)
|
||||
/* 03B054 7F006524 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B058 7F006528 E5D40550 */ swc1 $f20, 0x550($t6)
|
||||
/* 03B05C 7F00652C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B060 7F006530 E5F40554 */ swc1 $f20, 0x554($t7)
|
||||
/* 03B064 7F006534 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B068 7F006538 E7140558 */ swc1 $f20, 0x558($t8)
|
||||
/* 03B06C 7F00653C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B070 7F006540 E734055C */ swc1 $f20, 0x55c($t9)
|
||||
/* 03B074 7F006544 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B078 7F006548 E5140560 */ swc1 $f20, 0x560($t0)
|
||||
/* 03B07C 7F00654C 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B080 7F006550 E5340564 */ swc1 $f20, 0x564($t1)
|
||||
/* 03B084 7F006554 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B088 7F006558 E5540568 */ swc1 $f20, 0x568($t2)
|
||||
/* 03B08C 7F00655C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B090 7F006560 E560056C */ swc1 $f0, 0x56c($t3)
|
||||
/* 03B094 7F006564 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 03B098 7F006568 E5940570 */ swc1 $f20, 0x570($t4)
|
||||
/* 03B09C 7F00656C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 03B0A0 7F006570 E5B40574 */ swc1 $f20, 0x574($t5)
|
||||
/* 03B0A4 7F006574 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B0A8 7F006578 E5C00578 */ swc1 $f0, 0x578($t6)
|
||||
/* 03B0AC 7F00657C 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 03B0B0 7F006580 E5F4057C */ swc1 $f20, 0x57c($t7)
|
||||
/* 03B0B4 7F006584 8E380000 */ lw $t8, ($s1)
|
||||
/* 03B0B8 7F006588 E7000580 */ swc1 $f0, 0x580($t8)
|
||||
/* 03B0BC 7F00658C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03B0C0 7F006590 E7340584 */ swc1 $f20, 0x584($t9)
|
||||
/* 03B0C4 7F006594 8E280000 */ lw $t0, ($s1)
|
||||
/* 03B0C8 7F006598 E5140588 */ swc1 $f20, 0x588($t0)
|
||||
/* 03B0CC 7F00659C 8E290000 */ lw $t1, ($s1)
|
||||
/* 03B0D0 7F0065A0 E520058C */ swc1 $f0, 0x58c($t1)
|
||||
/* 03B0D4 7F0065A4 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03B0D8 7F0065A8 E5540590 */ swc1 $f20, 0x590($t2)
|
||||
/* 03B0DC 7F0065AC 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03B0E0 7F0065B0 AD600594 */ sw $zero, 0x594($t3)
|
||||
.L7F0065B4:
|
||||
/* 03B0E4 7F0065B4 C6060004 */ lwc1 $f6, 4($s0)
|
||||
/* 03B0E8 7F0065B8 C60A0008 */ lwc1 $f10, 8($s0)
|
||||
/* 03B0EC 7F0065BC 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 03B0F0 7F0065C0 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 03B0F4 7F0065C4 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 03B0F8 7F0065C8 02403825 */ move $a3, $s2
|
||||
/* 03B0FC 7F0065CC 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 03B100 7F0065D0 44054000 */ mfc1 $a1, $f8
|
||||
/* 03B104 7F0065D4 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 03B108 7F0065D8 44068000 */ mfc1 $a2, $f16
|
||||
/* 03B10C 7F0065DC 0FC018B0 */ jal sub_GAME_7F0062C0
|
||||
/* 03B110 7F0065E0 00000000 */ nop
|
||||
/* 03B114 7F0065E4 8FB800D8 */ lw $t8, 0xd8($sp)
|
||||
/* 03B118 7F0065E8 C6120008 */ lwc1 $f18, 8($s0)
|
||||
/* 03B11C 7F0065EC C6040004 */ lwc1 $f4, 4($s0)
|
||||
/* 03B120 7F0065F0 44984000 */ mtc1 $t8, $f8
|
||||
/* 03B124 7F0065F4 26100018 */ addiu $s0, $s0, 0x18
|
||||
/* 03B128 7F0065F8 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 03B12C 7F0065FC 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 03B130 7F006600 46165402 */ mul.s $f16, $f10, $f22
|
||||
/* 03B134 7F006604 46068483 */ div.s $f18, $f16, $f6
|
||||
/* 03B138 7F006608 1613FFEA */ bne $s0, $s3, .L7F0065B4
|
||||
/* 03B13C 7F00660C E612FFF4 */ swc1 $f18, -0xc($s0)
|
||||
/* 03B140 7F006610 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
||||
/* 03B144 7F006614 3C198003 */ lui $t9, %hi(D_8002A790)
|
||||
/* 03B148 7F006618 27B20090 */ addiu $s2, $sp, 0x90
|
||||
/* 03B14C 7F00661C 2739A790 */ addiu $t9, %lo(D_8002A790) # addiu $t9, $t9, -0x5870
|
||||
/* 03B150 7F006620 4481B000 */ mtc1 $at, $f22
|
||||
/* 03B154 7F006624 2729003C */ addiu $t1, $t9, 0x3c
|
||||
/* 03B158 7F006628 02405025 */ move $t2, $s2
|
||||
.L7F00662C:
|
||||
/* 03B15C 7F00662C 8F210000 */ lw $at, ($t9)
|
||||
/* 03B160 7F006630 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 03B164 7F006634 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 03B168 7F006638 AD41FFF4 */ sw $at, -0xc($t2)
|
||||
/* 03B16C 7F00663C 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 03B170 7F006640 AD41FFF8 */ sw $at, -8($t2)
|
||||
/* 03B174 7F006644 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 03B178 7F006648 1729FFF8 */ bne $t9, $t1, .L7F00662C
|
||||
/* 03B17C 7F00664C AD41FFFC */ sw $at, -4($t2)
|
||||
/* 03B180 7F006650 8F210000 */ lw $at, ($t9)
|
||||
/* 03B184 7F006654 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0
|
||||
/* 03B188 7F006658 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c
|
||||
/* 03B18C 7F00665C AD410000 */ sw $at, ($t2)
|
||||
/* 03B190 7F006660 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 03B194 7F006664 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B198 7F006668 4407A000 */ mfc1 $a3, $f20
|
||||
/* 03B19C 7F00666C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B1A0 7F006670 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B1A4 7F006674 00003025 */ move $a2, $zero
|
||||
/* 03B1A8 7F006678 016C2821 */ addu $a1, $t3, $t4
|
||||
/* 03B1AC 7F00667C 0FC1BF2A */ jal sub_GAME_7F06FCA8
|
||||
/* 03B1B0 7F006680 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B1B4 7F006684 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B1B8 7F006688 0FC1B5AC */ jal subcalcpos
|
||||
/* 03B1BC 7F00668C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B1C0 7F006690 27B30050 */ addiu $s3, $sp, 0x50
|
||||
/* 03B1C4 7F006694 0FC15FF4 */ jal matrix_4x4_set_identity
|
||||
/* 03B1C8 7F006698 02602025 */ move $a0, $s3
|
||||
/* 03B1CC 7F00669C 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B1D0 7F0066A0 AFB30090 */ sw $s3, 0x90($sp)
|
||||
/* 03B1D4 7F0066A4 02402025 */ move $a0, $s2
|
||||
/* 03B1D8 7F0066A8 260D06D0 */ addiu $t5, $s0, 0x6d0
|
||||
/* 03B1DC 7F0066AC AFAD00A0 */ sw $t5, 0xa0($sp)
|
||||
/* 03B1E0 7F0066B0 0FC1BCBE */ jal subcalcmatrices
|
||||
/* 03B1E4 7F0066B4 26050598 */ addiu $a1, $s0, 0x598
|
||||
/* 03B1E8 7F0066B8 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B1EC 7F0066BC 24130018 */ li $s3, 24
|
||||
/* 03B1F0 7F0066C0 3C128003 */ lui $s2, %hi(D_80036AD0)
|
||||
/* 03B1F4 7F0066C4 C6040704 */ lwc1 $f4, 0x704($s0)
|
||||
/* 03B1F8 7F0066C8 26526AD0 */ addiu $s2, %lo(D_80036AD0) # addiu $s2, $s2, 0x6ad0
|
||||
/* 03B1FC 7F0066CC 00003025 */ move $a2, $zero
|
||||
/* 03B200 7F0066D0 E6040550 */ swc1 $f4, 0x550($s0)
|
||||
/* 03B204 7F0066D4 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 03B208 7F0066D8 E5D40554 */ swc1 $f20, 0x554($t6)
|
||||
/* 03B20C 7F0066DC 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B210 7F0066E0 C6080744 */ lwc1 $f8, 0x744($s0)
|
||||
/* 03B214 7F0066E4 C60A0704 */ lwc1 $f10, 0x704($s0)
|
||||
/* 03B218 7F0066E8 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 03B21C 7F0066EC E6100558 */ swc1 $f16, 0x558($s0)
|
||||
/* 03B220 7F0066F0 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B224 7F0066F4 C6060748 */ lwc1 $f6, 0x748($s0)
|
||||
/* 03B228 7F0066F8 C6120708 */ lwc1 $f18, 0x708($s0)
|
||||
/* 03B22C 7F0066FC 46123101 */ sub.s $f4, $f6, $f18
|
||||
/* 03B230 7F006700 E604055C */ swc1 $f4, 0x55c($s0)
|
||||
/* 03B234 7F006704 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B238 7F006708 8E890000 */ lw $t1, ($s4)
|
||||
/* 03B23C 7F00670C 8E0F04E8 */ lw $t7, 0x4e8($s0)
|
||||
/* 03B240 7F006710 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 03B244 7F006714 E7B60010 */ swc1 $f22, 0x10($sp)
|
||||
/* 03B248 7F006718 01F30019 */ multu $t7, $s3
|
||||
/* 03B24C 7F00671C 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B250 7F006720 0000C012 */ mflo $t8
|
||||
/* 03B254 7F006724 02581021 */ addu $v0, $s2, $t8
|
||||
/* 03B258 7F006728 8C480000 */ lw $t0, ($v0)
|
||||
/* 03B25C 7F00672C 8C470004 */ lw $a3, 4($v0)
|
||||
/* 03B260 7F006730 0FC1BF2A */ jal sub_GAME_7F06FCA8
|
||||
/* 03B264 7F006734 01092821 */ addu $a1, $t0, $t1
|
||||
/* 03B268 7F006738 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B26C 7F00673C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 03B270 7F006740 8E1904E8 */ lw $t9, 0x4e8($s0)
|
||||
/* 03B274 7F006744 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B278 7F006748 03330019 */ multu $t9, $s3
|
||||
/* 03B27C 7F00674C 00005012 */ mflo $t2
|
||||
/* 03B280 7F006750 024A5821 */ addu $t3, $s2, $t2
|
||||
/* 03B284 7F006754 0FC1BF73 */ jal sub_GAME_7F06FDCC
|
||||
/* 03B288 7F006758 8D650004 */ lw $a1, 4($t3)
|
||||
/* 03B28C 7F00675C 8E300000 */ lw $s0, ($s1)
|
||||
/* 03B290 7F006760 8E0C04E8 */ lw $t4, 0x4e8($s0)
|
||||
/* 03B294 7F006764 26040598 */ addiu $a0, $s0, 0x598
|
||||
/* 03B298 7F006768 01930019 */ multu $t4, $s3
|
||||
/* 03B29C 7F00676C 00006812 */ mflo $t5
|
||||
/* 03B2A0 7F006770 024D7021 */ addu $t6, $s2, $t5
|
||||
/* 03B2A4 7F006774 0FC1BF7A */ jal sub_GAME_7F06FDE8
|
||||
/* 03B2A8 7F006778 8DC50008 */ lw $a1, 8($t6)
|
||||
/* 03B2AC 7F00677C 8E240000 */ lw $a0, ($s1)
|
||||
/* 03B2B0 7F006780 3C057F09 */ lui $a1, %hi(currentPlayerToggle5BC) # $a1, 0x7f09
|
||||
/* 03B2B4 7F006784 24A5DBB0 */ addiu $a1, %lo(currentPlayerToggle5BC) # addiu $a1, $a1, -0x2450
|
||||
/* 03B2B8 7F006788 0FC1BF8F */ jal sub_GAME_7F06FE3C
|
||||
/* 03B2BC 7F00678C 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 03B2C0 7F006790 0FC236F2 */ jal currentPlayerUpdateIdleHeadRoll
|
||||
/* 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
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,107 +1,28 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/initactorpropstuff.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/bondwalk.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_bodies = 0;
|
||||
while (list_of_bodies[num_bodies] >= 0)
|
||||
{
|
||||
num_bodies += 1;
|
||||
}
|
||||
}
|
||||
num_male_heads = 0;
|
||||
if (random_male_heads[0] >= 0) {
|
||||
num_male_heads = 1;
|
||||
while (random_male_heads[num_male_heads] >= 0) {
|
||||
num_male_heads += 1;
|
||||
}
|
||||
}
|
||||
num_female_heads = 0;
|
||||
if (random_female_heads[0] >= 0) {
|
||||
num_female_heads = 1;
|
||||
while (random_female_heads[num_female_heads] >= 0) {
|
||||
num_female_heads += 1;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel reset_counter_rand_body_head
|
||||
/* 034C40 7F000110 3C048003 */ lui $a0, %hi(list_of_bodies)
|
||||
/* 034C44 7F000114 2484CD0C */ addiu $a0, %lo(list_of_bodies) # addiu $a0, $a0, -0x32f4
|
||||
/* 034C48 7F000118 00007080 */ sll $t6, $zero, 2
|
||||
/* 034C4C 7F00011C 008E7821 */ addu $t7, $a0, $t6
|
||||
/* 034C50 7F000120 8DF80000 */ lw $t8, ($t7)
|
||||
/* 034C54 7F000124 3C038003 */ lui $v1, %hi(num_bodies)
|
||||
/* 034C58 7F000128 2463CD00 */ addiu $v1, %lo(num_bodies) # addiu $v1, $v1, -0x3300
|
||||
/* 034C5C 7F00012C AC600000 */ sw $zero, ($v1)
|
||||
/* 034C60 7F000130 07000009 */ bltz $t8, .L7F000158
|
||||
/* 034C64 7F000134 00001025 */ move $v0, $zero
|
||||
/* 034C68 7F000138 24590001 */ addiu $t9, $v0, 1
|
||||
.L7F00013C:
|
||||
/* 034C6C 7F00013C 00194080 */ sll $t0, $t9, 2
|
||||
/* 034C70 7F000140 00884821 */ addu $t1, $a0, $t0
|
||||
/* 034C74 7F000144 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 034C78 7F000148 AC790000 */ sw $t9, ($v1)
|
||||
/* 034C7C 7F00014C 03201025 */ move $v0, $t9
|
||||
/* 034C80 7F000150 0543FFFA */ bgezl $t2, .L7F00013C
|
||||
/* 034C84 7F000154 24590001 */ addiu $t9, $v0, 1
|
||||
.L7F000158:
|
||||
/* 034C88 7F000158 3C048003 */ lui $a0, %hi(random_male_heads)
|
||||
/* 034C8C 7F00015C 2484CDB8 */ addiu $a0, %lo(random_male_heads) # addiu $a0, $a0, -0x3248
|
||||
/* 034C90 7F000160 00005880 */ sll $t3, $zero, 2
|
||||
/* 034C94 7F000164 008B6021 */ addu $t4, $a0, $t3
|
||||
/* 034C98 7F000168 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 034C9C 7F00016C 3C038003 */ lui $v1, %hi(num_male_heads)
|
||||
/* 034CA0 7F000170 2463CD04 */ addiu $v1, %lo(num_male_heads) # addiu $v1, $v1, -0x32fc
|
||||
/* 034CA4 7F000174 AC600000 */ sw $zero, ($v1)
|
||||
/* 034CA8 7F000178 05A00009 */ bltz $t5, .L7F0001A0
|
||||
/* 034CAC 7F00017C 00001025 */ move $v0, $zero
|
||||
/* 034CB0 7F000180 244E0001 */ addiu $t6, $v0, 1
|
||||
.L7F000184:
|
||||
/* 034CB4 7F000184 000E7880 */ sll $t7, $t6, 2
|
||||
/* 034CB8 7F000188 008FC021 */ addu $t8, $a0, $t7
|
||||
/* 034CBC 7F00018C 8F190000 */ lw $t9, ($t8)
|
||||
/* 034CC0 7F000190 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 034CC4 7F000194 01C01025 */ move $v0, $t6
|
||||
/* 034CC8 7F000198 0723FFFA */ bgezl $t9, .L7F000184
|
||||
/* 034CCC 7F00019C 244E0001 */ addiu $t6, $v0, 1
|
||||
.L7F0001A0:
|
||||
/* 034CD0 7F0001A0 3C048003 */ lui $a0, %hi(random_female_heads)
|
||||
/* 034CD4 7F0001A4 2484CE20 */ addiu $a0, %lo(random_female_heads) # addiu $a0, $a0, -0x31e0
|
||||
/* 034CD8 7F0001A8 00004080 */ sll $t0, $zero, 2
|
||||
/* 034CDC 7F0001AC 00884821 */ addu $t1, $a0, $t0
|
||||
/* 034CE0 7F0001B0 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 034CE4 7F0001B4 3C038003 */ lui $v1, %hi(num_female_heads)
|
||||
/* 034CE8 7F0001B8 2463CD08 */ addiu $v1, %lo(num_female_heads) # addiu $v1, $v1, -0x32f8
|
||||
/* 034CEC 7F0001BC AC600000 */ sw $zero, ($v1)
|
||||
/* 034CF0 7F0001C0 05400009 */ bltz $t2, .L7F0001E8
|
||||
/* 034CF4 7F0001C4 00001025 */ move $v0, $zero
|
||||
/* 034CF8 7F0001C8 244B0001 */ addiu $t3, $v0, 1
|
||||
.L7F0001CC:
|
||||
/* 034CFC 7F0001CC 000B6080 */ sll $t4, $t3, 2
|
||||
/* 034D00 7F0001D0 008C6821 */ addu $t5, $a0, $t4
|
||||
/* 034D04 7F0001D4 8DAE0000 */ lw $t6, ($t5)
|
||||
/* 034D08 7F0001D8 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 034D0C 7F0001DC 01601025 */ move $v0, $t3
|
||||
/* 034D10 7F0001E0 05C3FFFA */ bgezl $t6, .L7F0001CC
|
||||
/* 034D14 7F0001E4 244B0001 */ addiu $t3, $v0, 1
|
||||
.L7F0001E8:
|
||||
/* 034D18 7F0001E8 03E00008 */ jr $ra
|
||||
/* 034D1C 7F0001EC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
num_male_heads = 0;
|
||||
while (random_male_heads[num_male_heads] >= 0)
|
||||
{
|
||||
num_male_heads += 1;
|
||||
}
|
||||
|
||||
num_female_heads = 0;
|
||||
while (random_female_heads[num_female_heads] >= 0)
|
||||
{
|
||||
num_female_heads += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
@@ -705,9 +626,6 @@ 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];
|
||||
|
||||
+780
-178
File diff suppressed because it is too large
Load Diff
+16
-4
@@ -1,5 +1,6 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/chrobjdata.h"
|
||||
|
||||
void init_guards(void) {
|
||||
animation_rate = 1.0f;
|
||||
@@ -70,8 +71,19 @@ glabel alloc_init_GUARDdata_entries
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_new_rand_head_bodies(void) {
|
||||
//
|
||||
void set_new_rand_head_bodies(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i=0; c_item_entries[i].header; i++)
|
||||
{
|
||||
c_item_entries[i].header->offset_obj_table = 0;
|
||||
}
|
||||
|
||||
current_random_male_head = randomGetNext() % num_male_heads;
|
||||
current_random_female_head = randomGetNext() % num_female_heads;
|
||||
current_random_body = randomGetNext() % num_bodies;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
@@ -93,7 +105,7 @@ glabel set_new_rand_head_bodies
|
||||
/* 035AB0 7F000F80 5460FFFD */ bnezl $v1, .L7F000F78
|
||||
/* 035AB4 7F000F84 AC600000 */ sw $zero, ($v1)
|
||||
.L7F000F88:
|
||||
/* 035AB8 7F000F88 0C002914 */ jal get_random_value
|
||||
/* 035AB8 7F000F88 0C002914 */ jal randomGetNext
|
||||
/* 035ABC 7F000F8C 00000000 */ nop
|
||||
/* 035AC0 7F000F90 3C188003 */ lui $t8, %hi(num_male_heads)
|
||||
/* 035AC4 7F000F94 8F18CD04 */ lw $t8, %lo(num_male_heads)($t8)
|
||||
@@ -105,7 +117,7 @@ glabel set_new_rand_head_bodies
|
||||
/* 035ADC 7F000FAC 00000000 */ nop
|
||||
/* 035AE0 7F000FB0 0007000D */ break 7
|
||||
.L7F000FB4:
|
||||
/* 035AE4 7F000FB4 0C002914 */ jal get_random_value
|
||||
/* 035AE4 7F000FB4 0C002914 */ jal randomGetNext
|
||||
/* 035AE8 7F000FB8 00000000 */ nop
|
||||
/* 035AEC 7F000FBC 3C088003 */ lui $t0, %hi(num_female_heads)
|
||||
/* 035AF0 7F000FC0 8D08CD08 */ lw $t0, %lo(num_female_heads)($t0)
|
||||
@@ -117,7 +129,7 @@ glabel set_new_rand_head_bodies
|
||||
/* 035B08 7F000FD8 00000000 */ nop
|
||||
/* 035B0C 7F000FDC 0007000D */ break 7
|
||||
.L7F000FE0:
|
||||
/* 035B10 7F000FE0 0C002914 */ jal get_random_value
|
||||
/* 035B10 7F000FE0 0C002914 */ jal randomGetNext
|
||||
/* 035B14 7F000FE4 00000000 */ nop
|
||||
/* 035B18 7F000FE8 3C0A8003 */ lui $t2, %hi(num_bodies)
|
||||
/* 035B1C 7F000FEC 8D4ACD00 */ lw $t2, %lo(num_bodies)($t2)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/unk_093880.h"
|
||||
#include "game/bondinv.h"
|
||||
|
||||
|
||||
@@ -44,44 +45,10 @@ glabel sub_GAME_7F0061F0
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_additional_item_slots(s32 arg0) {
|
||||
// Node 0
|
||||
pPlayer->unk11E8 = (s32) (arg0 + 0x1e);
|
||||
pPlayer->unk11E4 = mempAllocBytesInBank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4);
|
||||
reinit_BONDdata_inventory();
|
||||
|
||||
void alloc_additional_item_slots(s32 additionalentries)
|
||||
{
|
||||
pPlayer->equipmaxitems = additionalentries + 0x1e;
|
||||
pPlayer->p_itemcur = mempAllocBytesInBank((pPlayer->equipmaxitems * 0x14 + 0xfU | 0xf) ^ 0xf,'\x04');
|
||||
reinit_BONDdata_inventory();
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_additional_item_slots
|
||||
/* 03AD8C 7F00625C 3C028008 */ lui $v0, %hi(pPlayer)
|
||||
/* 03AD90 7F006260 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50
|
||||
/* 03AD94 7F006264 8C4F0000 */ lw $t7, ($v0)
|
||||
/* 03AD98 7F006268 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03AD9C 7F00626C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03ADA0 7F006270 248E001E */ addiu $t6, $a0, 0x1e
|
||||
/* 03ADA4 7F006274 ADEE11E8 */ sw $t6, 0x11e8($t7)
|
||||
/* 03ADA8 7F006278 8C580000 */ lw $t8, ($v0)
|
||||
/* 03ADAC 7F00627C 24050004 */ li $a1, 4
|
||||
/* 03ADB0 7F006280 8F0411E8 */ lw $a0, 0x11e8($t8)
|
||||
/* 03ADB4 7F006284 0004C880 */ sll $t9, $a0, 2
|
||||
/* 03ADB8 7F006288 0324C821 */ addu $t9, $t9, $a0
|
||||
/* 03ADBC 7F00628C 0019C880 */ sll $t9, $t9, 2
|
||||
/* 03ADC0 7F006290 2724000F */ addiu $a0, $t9, 0xf
|
||||
/* 03ADC4 7F006294 3488000F */ ori $t0, $a0, 0xf
|
||||
/* 03ADC8 7F006298 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03ADCC 7F00629C 3904000F */ xori $a0, $t0, 0xf
|
||||
/* 03ADD0 7F0062A0 3C0A8008 */ lui $t2, %hi(pPlayer)
|
||||
/* 03ADD4 7F0062A4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2)
|
||||
/* 03ADD8 7F0062A8 0FC22FFC */ jal reinit_BONDdata_inventory
|
||||
/* 03ADDC 7F0062AC AD4211E4 */ sw $v0, 0x11e4($t2)
|
||||
/* 03ADE0 7F0062B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03ADE4 7F0062B4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03ADE8 7F0062B8 03E00008 */ jr $ra
|
||||
/* 03ADEC 7F0062BC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+31
-2
@@ -1,9 +1,38 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
#include "game/mainmenu.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void init_menus_or_reset(void) {
|
||||
u32 mempAllocBytesInBank(u32 bytes,u8 bank);
|
||||
|
||||
void init_menus_or_reset(void)
|
||||
{
|
||||
current_menu = ~MENU_LEGAL_SCREEN;
|
||||
maybe_prev_menu = ~MENU_LEGAL_SCREEN;
|
||||
screen_size = SCREEN_SIZE_320x240;
|
||||
spectrum_related_flag = TRUE;
|
||||
is_emulating_spectrum = FALSE;
|
||||
folder_selection_screen_option_icon = 0;
|
||||
folder_selected_for_deletion = -1;
|
||||
folder_selected_for_deletion_choice = 1;
|
||||
tab_1_highlight = FALSE;
|
||||
tab_2_highlight = FALSE;
|
||||
tab_3_highlight = FALSE;
|
||||
maybe_is_in_menu = TRUE;
|
||||
if (prev_keypresses) {
|
||||
menu_update = MENU_FILE_SELECT;
|
||||
}
|
||||
if (menu_update < 0) {
|
||||
menu_update = MENU_FILE_SELECT;
|
||||
}
|
||||
ptr_logo_and_walletbond_DL = (Gfx *)mempAllocBytesInBank(0x78000,'\x04');
|
||||
|
||||
//incorrect here
|
||||
ptr_menu_videobuffer = (u8 *)((mempAllocBytesInBank(0x4b040,'\x04') + 0x3f) & 0xffffffc0);
|
||||
ptr_folder_object_instance = 0x0;
|
||||
set0_never_used = 0;
|
||||
set0_never_used_0 = 0;
|
||||
D_8002A968 = 0;
|
||||
alloc_intro_matrices();
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
|
||||
+9
-52
@@ -1,57 +1,14 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/image.h"
|
||||
|
||||
void set_mt_tex_alloc(void)
|
||||
{
|
||||
dword_CODE_bss_8008D090 = 0;
|
||||
|
||||
if (tokenFind(1, "-mt"))
|
||||
{
|
||||
bytes = strtol(tokenFind(1, "-mt"), 0x0, 0) << 10;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_mt_tex_alloc(void) {
|
||||
|
||||
sub_GAME_7F0CBAF4(&ptr_texture_alloc_start, mempAllocBytesInBank(bytes, 4), bytes);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel str_Mt
|
||||
.word 0x2d6d7400 /*-mt*/
|
||||
glabel str_Mt_0
|
||||
.word 0x2d6d7400 /*-mt*/
|
||||
.text
|
||||
glabel set_mt_tex_alloc
|
||||
/* 03BE50 7F007320 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 03BE54 7F007324 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 03BE58 7F007328 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D090)
|
||||
/* 03BE5C 7F00732C 3C058005 */ lui $a1, %hi(str_Mt)
|
||||
/* 03BE60 7F007330 AC20D090 */ sw $zero, %lo(dword_CODE_bss_8008D090)($at)
|
||||
/* 03BE64 7F007334 24A5F200 */ addiu $a1, %lo(str_Mt) # addiu $a1, $a1, -0xe00
|
||||
/* 03BE68 7F007338 0C0029A8 */ jal check_token
|
||||
/* 03BE6C 7F00733C 24040001 */ li $a0, 1
|
||||
/* 03BE70 7F007340 1040000B */ beqz $v0, .L7F007370
|
||||
/* 03BE74 7F007344 24040001 */ li $a0, 1
|
||||
/* 03BE78 7F007348 3C058005 */ lui $a1, %hi(str_Mt_0)
|
||||
/* 03BE7C 7F00734C 0C0029A8 */ jal check_token
|
||||
/* 03BE80 7F007350 24A5F204 */ addiu $a1, %lo(str_Mt_0) # addiu $a1, $a1, -0xdfc
|
||||
/* 03BE84 7F007354 00402025 */ move $a0, $v0
|
||||
/* 03BE88 7F007358 00002825 */ move $a1, $zero
|
||||
/* 03BE8C 7F00735C 0C002A78 */ jal strtol
|
||||
/* 03BE90 7F007360 00003025 */ move $a2, $zero
|
||||
/* 03BE94 7F007364 00027280 */ sll $t6, $v0, 0xa
|
||||
/* 03BE98 7F007368 3C018005 */ lui $at, %hi(bytes)
|
||||
/* 03BE9C 7F00736C AC2E9170 */ sw $t6, %lo(bytes)($at)
|
||||
.L7F007370:
|
||||
/* 03BEA0 7F007370 3C048005 */ lui $a0, %hi(bytes)
|
||||
/* 03BEA4 7F007374 8C849170 */ lw $a0, %lo(bytes)($a0)
|
||||
/* 03BEA8 7F007378 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 03BEAC 7F00737C 24050004 */ li $a1, 4
|
||||
/* 03BEB0 7F007380 3C048009 */ lui $a0, %hi(ptr_texture_alloc_start)
|
||||
/* 03BEB4 7F007384 3C068005 */ lui $a2, %hi(bytes)
|
||||
/* 03BEB8 7F007388 8CC69170 */ lw $a2, %lo(bytes)($a2)
|
||||
/* 03BEBC 7F00738C 2484C720 */ addiu $a0, %lo(ptr_texture_alloc_start) # addiu $a0, $a0, -0x38e0
|
||||
/* 03BEC0 7F007390 0FC32EBD */ jal sub_GAME_7F0CBAF4
|
||||
/* 03BEC4 7F007394 00402825 */ move $a1, $v0
|
||||
/* 03BEC8 7F007398 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 03BECC 7F00739C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 03BED0 7F0073A0 03E00008 */ jr $ra
|
||||
/* 03BED4 7F0073A4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
+12
-27
@@ -1,6 +1,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "game/initobjects.h"
|
||||
#include "game/chrai.h"
|
||||
#include "game/chrobjhandler.h"
|
||||
//this file may very well be a few different sub files
|
||||
|
||||
struct object_animation_controller ptr_monitorimageobjectanimationcontroller = {&monitor_animation_microcode, 0, 0xFFFF, 0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 1.0, 0.0};
|
||||
@@ -350,8 +351,10 @@ glabel reinit_between_menus
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F001910(void) {
|
||||
|
||||
void sub_GAME_7F001910(struct object_standard *object)
|
||||
{
|
||||
object->flags2 = (u32)D_80030B00;
|
||||
D_80030B00 = object;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
@@ -525,30 +528,12 @@ glabel write_monitor_ani_control_blocks
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void initialize_temp_mine_table(void) {
|
||||
|
||||
void initialize_temp_mine_table(void) {
|
||||
s32 i;
|
||||
for (i=0; i<30; i++)
|
||||
{
|
||||
temp_mine_table[i] = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel initialize_temp_mine_table
|
||||
/* 036638 7F001B08 3C018007 */ lui $at, %hi(temp_mine_table)
|
||||
/* 03663C 7F001B0C AC201E00 */ sw $zero, %lo(temp_mine_table)($at)
|
||||
/* 036640 7F001B10 3C018007 */ lui $at, %hi(temp_mine_table+0x4)
|
||||
/* 036644 7F001B14 3C038007 */ lui $v1, %hi(temp_mine_table+0x8)
|
||||
/* 036648 7F001B18 3C028007 */ lui $v0, %hi(gas_damage_flag)
|
||||
/* 03664C 7F001B1C 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78
|
||||
/* 036650 7F001B20 24631E08 */ addiu $v1, %lo(temp_mine_table+0x8) # addiu $v1, $v1, 0x1e08
|
||||
/* 036654 7F001B24 AC201E04 */ sw $zero, %lo(temp_mine_table+0x4)($at)
|
||||
.L7F001B28:
|
||||
/* 036658 7F001B28 24630010 */ addiu $v1, $v1, 0x10
|
||||
/* 03665C 7F001B2C AC60FFF4 */ sw $zero, -0xc($v1)
|
||||
/* 036660 7F001B30 AC60FFF8 */ sw $zero, -8($v1)
|
||||
/* 036664 7F001B34 AC60FFFC */ sw $zero, -4($v1)
|
||||
/* 036668 7F001B38 1462FFFB */ bne $v1, $v0, .L7F001B28
|
||||
/* 03666C 7F001B3C AC60FFF0 */ sw $zero, -0x10($v1)
|
||||
/* 036670 7F001B40 03E00008 */ jr $ra
|
||||
/* 036674 7F001B44 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ loop_2:
|
||||
// Node 3
|
||||
disable_sounds_attached_to_player_then_something(temp_v0->unk18);
|
||||
sub_GAME_7F03A538((ptr_guard_data + phi_s0)->unk18);
|
||||
unset_stateflag_0x04_for_posdata((ptr_guard_data + phi_s0)->unk18);
|
||||
set_last_obj_pos_data((ptr_guard_data + phi_s0)->unk18);
|
||||
propHide((ptr_guard_data + phi_s0)->unk18);
|
||||
propFree((ptr_guard_data + phi_s0)->unk18);
|
||||
phi_v1 = num_guards;
|
||||
}
|
||||
// Node 4
|
||||
@@ -73,11 +73,11 @@ glabel cleanupGuardData
|
||||
/* 03BF38 7F007408 8F240018 */ lw $a0, 0x18($t9)
|
||||
/* 03BF3C 7F00740C 8E280000 */ lw $t0, ($s1)
|
||||
/* 03BF40 7F007410 01104821 */ addu $t1, $t0, $s0
|
||||
/* 03BF44 7F007414 0FC0E905 */ jal unset_stateflag_0x04_for_posdata
|
||||
/* 03BF44 7F007414 0FC0E905 */ jal propHide
|
||||
/* 03BF48 7F007418 8D240018 */ lw $a0, 0x18($t1)
|
||||
/* 03BF4C 7F00741C 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03BF50 7F007420 01505821 */ addu $t3, $t2, $s0
|
||||
/* 03BF54 7F007424 0FC0E921 */ jal set_last_obj_pos_data
|
||||
/* 03BF54 7F007424 0FC0E921 */ jal propFree
|
||||
/* 03BF58 7F007428 8D640018 */ lw $a0, 0x18($t3)
|
||||
/* 03BF5C 7F00742C 3C038003 */ lui $v1, %hi(num_guards)
|
||||
/* 03BF60 7F007430 8C63CC68 */ lw $v1, %lo(num_guards)($v1)
|
||||
|
||||
+316
-1584
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -3,19 +3,19 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
extern s32 dword_CODE_bss_80069550;
|
||||
extern s32 dword_CODE_bss_80069554;
|
||||
extern s32 matrix_buffer_rarelogo_0;
|
||||
extern s32 matrix_buffer_gunbarrel_0;
|
||||
extern s32 matrix_buffer_rarelogo_1;
|
||||
extern s32 matrix_buffer_rarelogo_2;
|
||||
extern s32 matrix_buffer_gunbarrel_1;
|
||||
extern s32 matrix_buffer_intro_backdrop;
|
||||
extern s32 matrix_buffer_intro_bond;
|
||||
extern s32 x;
|
||||
extern s32 y;
|
||||
extern s32 dword_CODE_bss_8006957C;
|
||||
extern s32 dword_CODE_bss_80069580;
|
||||
extern s32 word_CODE_bss_80069584;
|
||||
extern Gfx *dword_CODE_bss_80069554;
|
||||
extern Mtx *matrix_buffer_rarelogo_0;
|
||||
extern Mtx *matrix_buffer_gunbarrel_0;
|
||||
extern Mtx *matrix_buffer_rarelogo_1;
|
||||
extern Mtx *matrix_buffer_rarelogo_2;
|
||||
extern Mtx *matrix_buffer_gunbarrel_1;
|
||||
extern Mtx *matrix_buffer_intro_backdrop;
|
||||
extern Mtx *matrix_buffer_intro_bond;
|
||||
extern f32 x;
|
||||
extern f32 y;
|
||||
extern f32 dword_CODE_bss_8006957C;
|
||||
extern f32 dword_CODE_bss_80069580;
|
||||
extern s16 word_CODE_bss_80069584;
|
||||
extern s32 dword_CODE_bss_80069588;
|
||||
extern s32 dword_CODE_bss_8006958C;
|
||||
extern s32 virtualaddress;
|
||||
|
||||
+3062
-1290
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
#ifndef _LVL_H_
|
||||
#define _LVL_H_
|
||||
#include "ultra64.h"
|
||||
#include "bondconstants.h"
|
||||
|
||||
struct ramrom_struct {
|
||||
u32 *address;
|
||||
@@ -21,5 +22,12 @@ extern s32 *address_demo_loaded;
|
||||
extern s32 dword_CODE_bss_8008C5F8;
|
||||
|
||||
void lvInitDebugNoticeList(void);
|
||||
Gfx * sub_GAME_7F0BE30C(Gfx *);
|
||||
void set_difficulty(s32 arg0);
|
||||
void manage_mp_game(void);
|
||||
void sub_GAME_7F0BF800(void);
|
||||
void unload_stage_text_data(void);
|
||||
DIFFICULTY get_current_difficulty(void);
|
||||
void stage_load(s32 arg0);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
struct stringentry {
|
||||
char *string[];
|
||||
char *string;
|
||||
};
|
||||
|
||||
extern s32 j_text_trigger;
|
||||
|
||||
+2365
-1867
File diff suppressed because it is too large
Load Diff
+5
-3
@@ -498,10 +498,10 @@ extern s32 screen_size;
|
||||
extern s32 spectrum_related_flag;
|
||||
extern s32 is_emulating_spectrum;
|
||||
extern s32 is_cheat_menu_available;
|
||||
extern s32 ptr_logo_and_walletbond_DL;
|
||||
extern s32 ptr_menu_videobuffer;
|
||||
extern Gfx * ptr_logo_and_walletbond_DL;
|
||||
extern u8 * ptr_menu_videobuffer;
|
||||
extern s32 something_legalscreen_constructor;
|
||||
extern s32 ptr_folder_object_instance;
|
||||
extern struct object_standard * ptr_folder_object_instance;
|
||||
extern s32 set0_never_used;
|
||||
extern s32 set0_never_used_0;
|
||||
extern s32 D_8002A968;
|
||||
@@ -780,6 +780,8 @@ extern u32 intro_animation_count;
|
||||
extern u32 objinstance;
|
||||
extern u32 ptrobjinstance;
|
||||
extern u32 full_actor_intro;
|
||||
|
||||
void set_menu_to_mode(MENU menu, s32 mode);
|
||||
s32 get_selected_num_players(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -15,5 +15,7 @@ typedef union {
|
||||
} Mtxf;
|
||||
|
||||
void matrix_4x4_rotate_vector_in_place(Mtxf *matrix, vec3 vector);
|
||||
void matrix_4x4_7F059694(Mtxf *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+625
-131
File diff suppressed because it is too large
Load Diff
+2555
-974
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
#ifndef _MP_WATCH_H_
|
||||
#define _MP_WATCH_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef enum TEXTCOLORS {
|
||||
GREEN_NORMAL=0,
|
||||
GREEN_HIGHLIGHT,
|
||||
RED_NORMAL,
|
||||
RED_HIGHLIGHT,
|
||||
BLUE_NORMAL,
|
||||
BLUE_HIGHLIGHT
|
||||
} TEXTCOLORS;
|
||||
|
||||
s32 sub_GAME_7F0C2024(int param_1, int param_2, int param_3, int param_4, int param_5);
|
||||
|
||||
s32 sub_GAME_7F0C2114(int param_1, int param_2, int param_3, int param_4, int param_5);
|
||||
|
||||
#endif
|
||||
+24
-127
@@ -84,7 +84,7 @@ glabel getmusictrack_or_randomtrack
|
||||
/* 1072B0 7F0D2780 5720FFFD */ bnezl $t9, .L7F0D2778
|
||||
/* 1072B4 7F0D2784 84590002 */ lh $t9, 2($v0)
|
||||
.L7F0D2788:
|
||||
/* 1072B8 7F0D2788 0C002914 */ jal get_random_value
|
||||
/* 1072B8 7F0D2788 0C002914 */ jal randomGetNext
|
||||
/* 1072BC 7F0D278C AFA30020 */ sw $v1, 0x20($sp)
|
||||
/* 1072C0 7F0D2790 8FA30020 */ lw $v1, 0x20($sp)
|
||||
/* 1072C4 7F0D2794 3C048005 */ lui $a0, %hi(random_tracks)
|
||||
@@ -121,7 +121,7 @@ glabel getmusictrack_or_randomtrack
|
||||
/* 10732C 7F0D27FC 5560FFFD */ bnezl $t3, .L7F0D27F4
|
||||
/* 107330 7F0D2800 844B0002 */ lh $t3, 2($v0)
|
||||
.L7F0D2804:
|
||||
/* 107334 7F0D2804 0C002914 */ jal get_random_value
|
||||
/* 107334 7F0D2804 0C002914 */ jal randomGetNext
|
||||
/* 107338 7F0D2808 AFA30018 */ sw $v1, 0x18($sp)
|
||||
/* 10733C 7F0D280C 8FA30018 */ lw $v1, 0x18($sp)
|
||||
/* 107340 7F0D2810 3C048005 */ lui $a0, %hi(random_tracks)
|
||||
@@ -148,132 +148,29 @@ glabel getmusictrack_or_randomtrack
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0D2848(s32 arg0) {
|
||||
void *temp_v1;
|
||||
s32 temp_v0;
|
||||
s32 phi_v0;
|
||||
void *phi_v1;
|
||||
|
||||
// Node 0
|
||||
temp_v1 = (0x80050000 + -0x14f0);
|
||||
if (music_setup_entries != 0)
|
||||
{
|
||||
// Node 1
|
||||
phi_v0 = *temp_v1;
|
||||
phi_v1 = temp_v1;
|
||||
// Node 2
|
||||
if (arg0 == phi_v0)
|
||||
{
|
||||
// Node 3
|
||||
return phi_v1->unk4;
|
||||
}
|
||||
// Node 4
|
||||
temp_v0 = phi_v1->unk8;
|
||||
phi_v0 = temp_v0;
|
||||
phi_v1 = (phi_v1 + 8);
|
||||
if (temp_v0 != 0)
|
||||
{
|
||||
goto loop_2;
|
||||
}
|
||||
}
|
||||
// Node 5
|
||||
return -1;
|
||||
s32 musicGetBgTrackForStage(s32 stageID)
|
||||
{
|
||||
s32 i;
|
||||
for (i=0; music_setup_entries[i].stage_id!=0; i++)
|
||||
{
|
||||
if (stageID == music_setup_entries[i].stage_id)
|
||||
{
|
||||
return music_setup_entries[i].bg_sound;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0D2848
|
||||
/* 107378 7F0D2848 3C0E8005 */ lui $t6, %hi(music_setup_entries)
|
||||
/* 10737C 7F0D284C 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6)
|
||||
/* 107380 7F0D2850 3C0F8005 */ lui $t7, %hi(music_setup_entries)
|
||||
/* 107384 7F0D2854 25E3EB10 */ addiu $v1, $t7, %lo(music_setup_entries)
|
||||
/* 107388 7F0D2858 51C0000B */ beql $t6, $zero, .L7F0D2888
|
||||
/* 10738C 7F0D285C 2402FFFF */ li $v0, -1
|
||||
/* 107390 7F0D2860 84620000 */ lh $v0, ($v1)
|
||||
.L7F0D2864:
|
||||
/* 107394 7F0D2864 54820004 */ bnel $a0, $v0, .L7F0D2878
|
||||
/* 107398 7F0D2868 84620008 */ lh $v0, 8($v1)
|
||||
/* 10739C 7F0D286C 03E00008 */ jr $ra
|
||||
/* 1073A0 7F0D2870 84620004 */ lh $v0, 4($v1)
|
||||
|
||||
/* 1073A4 7F0D2874 84620008 */ lh $v0, 8($v1)
|
||||
.L7F0D2878:
|
||||
/* 1073A8 7F0D2878 24630008 */ addiu $v1, $v1, 8
|
||||
/* 1073AC 7F0D287C 1440FFF9 */ bnez $v0, .L7F0D2864
|
||||
/* 1073B0 7F0D2880 00000000 */ nop
|
||||
/* 1073B4 7F0D2884 2402FFFF */ li $v0, -1
|
||||
.L7F0D2888:
|
||||
/* 1073B8 7F0D2888 03E00008 */ jr $ra
|
||||
/* 1073BC 7F0D288C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F0D2890(s32 arg0) {
|
||||
void *temp_v1;
|
||||
s32 temp_v0;
|
||||
s32 phi_v0;
|
||||
void *phi_v1;
|
||||
|
||||
// Node 0
|
||||
temp_v1 = (0x80050000 + -0x14f0);
|
||||
if (music_setup_entries != 0)
|
||||
{
|
||||
// Node 1
|
||||
phi_v0 = *temp_v1;
|
||||
phi_v1 = temp_v1;
|
||||
// Node 2
|
||||
if (arg0 == phi_v0)
|
||||
{
|
||||
// Node 3
|
||||
return phi_v1->unk6;
|
||||
}
|
||||
// Node 4
|
||||
temp_v0 = phi_v1->unk8;
|
||||
phi_v0 = temp_v0;
|
||||
phi_v1 = (phi_v1 + 8);
|
||||
if (temp_v0 != 0)
|
||||
{
|
||||
goto loop_2;
|
||||
}
|
||||
}
|
||||
// Node 5
|
||||
return -1;
|
||||
s32 musicGetXTrackForStage(s32 stageID)
|
||||
{
|
||||
s32 i;
|
||||
for (i=0; music_setup_entries[i].stage_id!=0; i++)
|
||||
{
|
||||
if (stageID == music_setup_entries[i].stage_id)
|
||||
{
|
||||
return music_setup_entries[i].xtrack;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F0D2890
|
||||
/* 1073C0 7F0D2890 3C0E8005 */ lui $t6, %hi(music_setup_entries)
|
||||
/* 1073C4 7F0D2894 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6)
|
||||
/* 1073C8 7F0D2898 3C0F8005 */ lui $t7, %hi(music_setup_entries)
|
||||
/* 1073CC 7F0D289C 25E3EB10 */ addiu $v1, $t7, %lo(music_setup_entries)
|
||||
/* 1073D0 7F0D28A0 51C0000B */ beql $t6, $zero, .L7F0D28D0
|
||||
/* 1073D4 7F0D28A4 2402FFFF */ li $v0, -1
|
||||
/* 1073D8 7F0D28A8 84620000 */ lh $v0, ($v1)
|
||||
.L7F0D28AC:
|
||||
/* 1073DC 7F0D28AC 54820004 */ bnel $a0, $v0, .L7F0D28C0
|
||||
/* 1073E0 7F0D28B0 84620008 */ lh $v0, 8($v1)
|
||||
/* 1073E4 7F0D28B4 03E00008 */ jr $ra
|
||||
/* 1073E8 7F0D28B8 84620006 */ lh $v0, 6($v1)
|
||||
|
||||
/* 1073EC 7F0D28BC 84620008 */ lh $v0, 8($v1)
|
||||
.L7F0D28C0:
|
||||
/* 1073F0 7F0D28C0 24630008 */ addiu $v1, $v1, 8
|
||||
/* 1073F4 7F0D28C4 1440FFF9 */ bnez $v0, .L7F0D28AC
|
||||
/* 1073F8 7F0D28C8 00000000 */ nop
|
||||
/* 1073FC 7F0D28CC 2402FFFF */ li $v0, -1
|
||||
.L7F0D28D0:
|
||||
/* 107400 7F0D28D0 03E00008 */ jr $ra
|
||||
/* 107404 7F0D28D4 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef _MUSIC_0D2720_H_
|
||||
#define _MUSIC_0D2720_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 musicGetBgTrackForStage(s32 stageID);
|
||||
s32 musicGetXTrackForStage(s32 stageID);
|
||||
|
||||
#endif
|
||||
+4
-4
@@ -185,7 +185,7 @@ void obInitDebugNoticeList(void)
|
||||
int file_count;
|
||||
struct fileentry *filetable_entry;
|
||||
|
||||
debCheckAddDebugNoticeListEntry(&ob_c_debug_notice_list_entry,"ob_c_debug");
|
||||
debTryAdd(&ob_c_debug_notice_list_entry,"ob_c_debug");
|
||||
filetable_entry = &file_resource_table[0];
|
||||
file_count = file_entry_max - 1;
|
||||
if (1 < file_count) {
|
||||
@@ -216,7 +216,7 @@ glabel obInitDebugNoticeList
|
||||
/* 0F1760 7F0BCC30 3C048004 */ lui $a0, %hi(ob_c_debug_notice_list_entry)
|
||||
/* 0F1764 7F0BCC34 3C058006 */ lui $a1, %hi(aOb_c_debug)
|
||||
/* 0F1768 7F0BCC38 24A5B674 */ addiu $a1, %lo(aOb_c_debug) # addiu $a1, $a1, -0x498c
|
||||
/* 0F176C 7F0BCC3C 0C001398 */ jal debCheckAddDebugNoticeListEntry
|
||||
/* 0F176C 7F0BCC3C 0C001398 */ jal debTryAdd
|
||||
/* 0F1770 7F0BCC40 24846050 */ addiu $a0, %lo(ob_c_debug_notice_list_entry) # addiu $a0, $a0, 0x6050
|
||||
/* 0F1774 7F0BCC44 3C038005 */ lui $v1, %hi(file_entry_max)
|
||||
/* 0F1778 7F0BCC48 8C6382D4 */ lw $v1, %lo(file_entry_max)($v1)
|
||||
@@ -737,7 +737,7 @@ int get_index_num_of_named_resource(u8 *resname)
|
||||
for (i = 1; i < file_entry_max; i++)
|
||||
{
|
||||
if ((file_resource_table[i].filename) && \
|
||||
(something_with_strings_0(resname,file_resource_table[i].filename) == 0));
|
||||
(strcmp(resname,file_resource_table[i].filename) == 0));
|
||||
{
|
||||
return i;
|
||||
}
|
||||
@@ -787,7 +787,7 @@ glabel get_index_num_of_named_resource
|
||||
.L7F0BD294:
|
||||
/* 0F1DC4 7F0BD294 50A00008 */ beql $a1, $zero, .L7F0BD2B8
|
||||
/* 0F1DC8 7F0BD298 8E420000 */ lw $v0, ($s2)
|
||||
/* 0F1DCC 7F0BD29C 0C002A13 */ jal something_with_strings_0
|
||||
/* 0F1DCC 7F0BD29C 0C002A13 */ jal strcmp
|
||||
/* 0F1DD0 7F0BD2A0 02602025 */ move $a0, $s3
|
||||
/* 0F1DD4 7F0BD2A4 54400004 */ bnezl $v0, .L7F0BD2B8
|
||||
/* 0F1DD8 7F0BD2A8 8E420000 */ lw $v0, ($s2)
|
||||
|
||||
@@ -8746,7 +8746,7 @@ glabel dorottex
|
||||
/* 0A7894 7F072D64 596000A9 */ blezl $t3, .L7F07300C
|
||||
/* 0A7898 7F072D68 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L7F072D6C:
|
||||
/* 0A789C 7F072D6C 0C002914 */ jal get_random_value
|
||||
/* 0A789C 7F072D6C 0C002914 */ jal randomGetNext
|
||||
/* 0A78A0 7F072D70 00000000 */ nop
|
||||
/* 0A78A4 7F072D74 00026280 */ sll $t4, $v0, 0xa
|
||||
/* 0A78A8 7F072D78 3191FFFF */ andi $s1, $t4, 0xffff
|
||||
@@ -8763,9 +8763,9 @@ glabel dorottex
|
||||
/* 0A78D4 7F072DA4 01F60019 */ multu $t7, $s6
|
||||
/* 0A78D8 7F072DA8 00009812 */ mflo $s3
|
||||
/* 0A78DC 7F072DAC 0013C483 */ sra $t8, $s3, 0x12
|
||||
/* 0A78E0 7F072DB0 0C002914 */ jal get_random_value
|
||||
/* 0A78E0 7F072DB0 0C002914 */ jal randomGetNext
|
||||
/* 0A78E4 7F072DB4 03009825 */ move $s3, $t8
|
||||
/* 0A78E8 7F072DB8 0C002914 */ jal get_random_value
|
||||
/* 0A78E8 7F072DB8 0C002914 */ jal randomGetNext
|
||||
/* 0A78EC 7F072DBC 00028FC2 */ srl $s1, $v0, 0x1f
|
||||
/* 0A78F0 7F072DC0 8E410000 */ lw $at, ($s2)
|
||||
/* 0A78F4 7F072DC4 30593FFF */ andi $t9, $v0, 0x3fff
|
||||
@@ -9755,7 +9755,7 @@ glabel dogfnegx
|
||||
/* 0A8600 7F073AD0 E7A000C4 */ swc1 $f0, 0xc4($sp)
|
||||
/* 0A8604 7F073AD4 0FC15FAB */ jal sinf
|
||||
/* 0A8608 7F073AD8 C7AC00DC */ lwc1 $f12, 0xdc($sp)
|
||||
/* 0A860C 7F073ADC 0C002914 */ jal get_random_value
|
||||
/* 0A860C 7F073ADC 0C002914 */ jal randomGetNext
|
||||
/* 0A8610 7F073AE0 E7A000C0 */ swc1 $f0, 0xc0($sp)
|
||||
/* 0A8614 7F073AE4 304C007F */ andi $t4, $v0, 0x7f
|
||||
/* 0A8618 7F073AE8 448C5000 */ mtc1 $t4, $f10
|
||||
@@ -9977,7 +9977,7 @@ glabel dogfnegx
|
||||
/* 0A8970 7F073E40 00002825 */ move $a1, $zero
|
||||
/* 0A8974 7F073E44 10600037 */ beqz $v1, .L7F073F24
|
||||
/* 0A8978 7F073E48 00000000 */ nop
|
||||
/* 0A897C 7F073E4C 0C002914 */ jal get_random_value
|
||||
/* 0A897C 7F073E4C 0C002914 */ jal randomGetNext
|
||||
/* 0A8980 7F073E50 00608825 */ move $s1, $v1
|
||||
/* 0A8984 7F073E54 0002CA80 */ sll $t9, $v0, 0xa
|
||||
/* 0A8988 7F073E58 A7B90056 */ sh $t9, 0x56($sp)
|
||||
|
||||
+63
-2
@@ -1,4 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "boss.h"
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
@@ -13,7 +14,7 @@ GLOBAL_ASM(
|
||||
glabel something_with_stage_objectives
|
||||
/* 0399F0 7F004EC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0399F4 7F004EC4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0399F8 7F004EC8 0C001A57 */ jal get_stage_num
|
||||
/* 0399F8 7F004EC8 0C001A57 */ jal bossGetStageNum
|
||||
/* 0399FC 7F004ECC 00000000 */ nop
|
||||
/* 039A00 7F004ED0 2401005A */ li $at, 90
|
||||
/* 039A04 7F004ED4 10410011 */ beq $v0, $at, .L7F004F1C
|
||||
@@ -73,7 +74,7 @@ GLOBAL_ASM(
|
||||
glabel something_with_stage_objectives
|
||||
/* 039A40 7F004ED0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 039A44 7F004ED4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 039A48 7F004ED8 0C001A57 */ jal get_stage_num
|
||||
/* 039A48 7F004ED8 0C001A57 */ jal bossGetStageNum
|
||||
/* 039A4C 7F004EDC 00000000 */ nop
|
||||
/* 039A50 7F004EE0 2401005A */ li $at, 90
|
||||
/* 039A54 7F004EE4 10410011 */ beq $v0, $at, .L7F004F2C
|
||||
@@ -129,6 +130,66 @@ glabel something_with_stage_objectives
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel something_with_stage_objectives
|
||||
/* 0399F0 7F004EC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0399F4 7F004EC4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0399F8 7F004EC8 0C001A57 */ jal bossGetStageNum
|
||||
/* 0399FC 7F004ECC 00000000 */ nop
|
||||
/* 039A00 7F004ED0 2401005A */ li $at, 90
|
||||
/* 039A04 7F004ED4 10410011 */ beq $v0, $at, .L7F004F1C
|
||||
/* 039A08 7F004ED8 240EFFFF */ li $t6, -1
|
||||
/* 039A0C 7F004EDC 3C018003 */ lui $at, %hi(num_objective_ptrs)
|
||||
/* 039A10 7F004EE0 AC2E22F0 */ sw $t6, %lo(num_objective_ptrs)($at)
|
||||
/* 039A14 7F004EE4 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58)
|
||||
/* 039A18 7F004EE8 AC205D58 */ sw $zero, %lo(dword_CODE_bss_80075D58)($at)
|
||||
/* 039A1C 7F004EEC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C)
|
||||
/* 039A20 7F004EF0 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075D60)
|
||||
/* 039A24 7F004EF4 3C038007 */ lui $v1, %hi(ptr_last_tag_entry_type16)
|
||||
/* 039A28 7F004EF8 24635D80 */ addiu $v1, %lo(ptr_last_tag_entry_type16) # addiu $v1, $v1, 0x5d80
|
||||
/* 039A2C 7F004EFC 24425D60 */ addiu $v0, %lo(dword_CODE_bss_80075D60) # addiu $v0, $v0, 0x5d60
|
||||
/* 039A30 7F004F00 AC205D5C */ sw $zero, %lo(dword_CODE_bss_80075D5C)($at)
|
||||
.L7F004F04:
|
||||
/* 039A34 7F004F04 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* 039A38 7F004F08 AC40FFF4 */ sw $zero, -0xc($v0)
|
||||
/* 039A3C 7F004F0C AC40FFF8 */ sw $zero, -8($v0)
|
||||
/* 039A40 7F004F10 AC40FFFC */ sw $zero, -4($v0)
|
||||
/* 039A44 7F004F14 1443FFFB */ bne $v0, $v1, .L7F004F04
|
||||
/* 039A48 7F004F18 AC40FFF0 */ sw $zero, -0x10($v0)
|
||||
.L7F004F1C:
|
||||
/* 039A4C 7F004F1C 3C018007 */ lui $at, %hi(objective_ptrs)
|
||||
/* 039A50 7F004F20 AC205D30 */ sw $zero, %lo(objective_ptrs)($at)
|
||||
/* 039A54 7F004F24 3C018007 */ lui $at, %hi(objective_ptrs+4)
|
||||
/* 039A58 7F004F28 3C028007 */ lui $v0, %hi(objective_ptrs+8)
|
||||
/* 039A5C 7F004F2C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075D58)
|
||||
/* 039A60 7F004F30 24635D58 */ addiu $v1, %lo(dword_CODE_bss_80075D58) # addiu $v1, $v1, 0x5d58
|
||||
/* 039A64 7F004F34 24425D38 */ addiu $v0, %lo(objective_ptrs+8) # addiu $v0, $v0, 0x5d38
|
||||
/* 039A68 7F004F38 AC205D34 */ sw $zero, %lo(objective_ptrs+4)($at)
|
||||
.L7F004F3C:
|
||||
/* 039A6C 7F004F3C 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* 039A70 7F004F40 AC40FFF4 */ sw $zero, -0xc($v0)
|
||||
/* 039A74 7F004F44 AC40FFF8 */ sw $zero, -8($v0)
|
||||
/* 039A78 7F004F48 AC40FFFC */ sw $zero, -4($v0)
|
||||
/* 039A7C 7F004F4C 1443FFFB */ bne $v0, $v1, .L7F004F3C
|
||||
/* 039A80 7F004F50 AC40FFF0 */ sw $zero, -0x10($v0)
|
||||
/* 039A84 7F004F54 3C018007 */ lui $at, %hi(ptr_last_tag_entry_type16)
|
||||
/* 039A88 7F004F58 AC205D80 */ sw $zero, %lo(ptr_last_tag_entry_type16)($at)
|
||||
/* 039A8C 7F004F5C 3C018007 */ lui $at, %hi(ptr_last_briefing_setup_entry_type23)
|
||||
/* 039A90 7F004F60 AC205D84 */ sw $zero, %lo(ptr_last_briefing_setup_entry_type23)($at)
|
||||
/* 039A94 7F004F64 3C018007 */ lui $at, %hi(ptr_last_enter_room_subobject_entry_type20)
|
||||
/* 039A98 7F004F68 AC205D88 */ sw $zero, %lo(ptr_last_enter_room_subobject_entry_type20)($at)
|
||||
/* 039A9C 7F004F6C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 039AA0 7F004F70 3C018007 */ lui $at, %hi(ptr_last_deposit_in_room_subobject_entry_type21)
|
||||
/* 039AA4 7F004F74 AC205D8C */ sw $zero, %lo(ptr_last_deposit_in_room_subobject_entry_type21)($at)
|
||||
/* 039AA8 7F004F78 3C018007 */ lui $at, %hi(ptr_last_photo_obj_in_room_subobject_entry_type1E)
|
||||
/* 039AAC 7F004F7C AC205D90 */ sw $zero, %lo(ptr_last_photo_obj_in_room_subobject_entry_type1E)($at)
|
||||
/* 039AB0 7F004F80 03E00008 */ jr $ra
|
||||
/* 039AB4 7F004F84 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+159
-9
@@ -123,17 +123,17 @@ u8 * get_ptr_text_for_watch_breifing_page(WATCH_BRIEFING_PAGE page)
|
||||
{
|
||||
if (page == 0)
|
||||
{
|
||||
textptr = get_textptr_for_textID(0xb029); //"E R R O R\n"
|
||||
textptr = get_textptr_for_textID(TEXT(LMISC, 0x29)); //"E R R O R\n"
|
||||
}
|
||||
else
|
||||
{
|
||||
if (page == 1)
|
||||
{
|
||||
textptr = get_textptr_for_textID(0xb02a); //"no briefing for this mission\n"
|
||||
textptr = get_textptr_for_textID(TEXT(LMISC, 0x2a)); //"no briefing for this mission\n"
|
||||
}
|
||||
else
|
||||
{
|
||||
textptr = get_textptr_for_textID(0xb02b); //"\n"
|
||||
textptr = get_textptr_for_textID(TEXT(LMISC, 0x2b)); //"\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -588,7 +588,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C1A8 7F057678 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1AC 7F05767C 3404B02D */ li $a0, 45101
|
||||
/* 08C1B0 7F057680 02602025 */ move $a0, $s3
|
||||
/* 08C1B4 7F057684 0C0029FF */ jal string_append_from_obseg_textbank
|
||||
/* 08C1B4 7F057684 0C0029FF */ jal strcat
|
||||
/* 08C1B8 7F057688 00402825 */ move $a1, $v0
|
||||
/* 08C1BC 7F05768C 10000011 */ b .L7F0576D4
|
||||
/* 08C1C0 7F057690 00000000 */ nop
|
||||
@@ -598,7 +598,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C1CC 7F05769C 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1D0 7F0576A0 3404B02E */ li $a0, 45102
|
||||
/* 08C1D4 7F0576A4 02602025 */ move $a0, $s3
|
||||
/* 08C1D8 7F0576A8 0C0029FF */ jal string_append_from_obseg_textbank
|
||||
/* 08C1D8 7F0576A8 0C0029FF */ jal strcat
|
||||
/* 08C1DC 7F0576AC 00402825 */ move $a1, $v0
|
||||
/* 08C1E0 7F0576B0 10000008 */ b .L7F0576D4
|
||||
/* 08C1E4 7F0576B4 00000000 */ nop
|
||||
@@ -608,7 +608,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C1F0 7F0576C0 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1F4 7F0576C4 3404B02F */ li $a0, 45103
|
||||
/* 08C1F8 7F0576C8 02602025 */ move $a0, $s3
|
||||
/* 08C1FC 7F0576CC 0C0029FF */ jal string_append_from_obseg_textbank
|
||||
/* 08C1FC 7F0576CC 0C0029FF */ jal strcat
|
||||
/* 08C200 7F0576D0 00402825 */ move $a1, $v0
|
||||
.L7F0576D4:
|
||||
/* 08C204 7F0576D4 0FC228F2 */ jal display_string_in_lower_left_corner
|
||||
@@ -737,7 +737,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C704 7F057B94 0FC30AA2 */ jal get_textptr_for_textID
|
||||
/* 08C708 7F057B98 3404B02D */ li $a0, 45101
|
||||
/* 08C70C 7F057B9C 02602025 */ move $a0, $s3
|
||||
/* 08C710 7F057BA0 0C002A03 */ jal string_append_from_obseg_textbank
|
||||
/* 08C710 7F057BA0 0C002A03 */ jal strcat
|
||||
/* 08C714 7F057BA4 00402825 */ move $a1, $v0
|
||||
/* 08C718 7F057BA8 10000011 */ b .L7F057BF0
|
||||
/* 08C71C 7F057BAC 00000000 */ nop
|
||||
@@ -747,7 +747,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C728 7F057BB8 0FC30AA2 */ jal get_textptr_for_textID
|
||||
/* 08C72C 7F057BBC 3404B02E */ li $a0, 45102
|
||||
/* 08C730 7F057BC0 02602025 */ move $a0, $s3
|
||||
/* 08C734 7F057BC4 0C002A03 */ jal string_append_from_obseg_textbank
|
||||
/* 08C734 7F057BC4 0C002A03 */ jal strcat
|
||||
/* 08C738 7F057BC8 00402825 */ move $a1, $v0
|
||||
/* 08C73C 7F057BCC 10000008 */ b .L7F057BF0
|
||||
/* 08C740 7F057BD0 00000000 */ nop
|
||||
@@ -757,7 +757,7 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C74C 7F057BDC 0FC30AA2 */ jal get_textptr_for_textID
|
||||
/* 08C750 7F057BE0 3404B02F */ li $a0, 45103
|
||||
/* 08C754 7F057BE4 02602025 */ move $a0, $s3
|
||||
/* 08C758 7F057BE8 0C002A03 */ jal string_append_from_obseg_textbank
|
||||
/* 08C758 7F057BE8 0C002A03 */ jal strcat
|
||||
/* 08C75C 7F057BEC 00402825 */ move $a1, $v0
|
||||
.L7F057BF0:
|
||||
/* 08C760 7F057BF0 0FC22B10 */ jal jp_display_string_in_lower_left_corner
|
||||
@@ -794,6 +794,156 @@ glabel display_objective_status_text_on_status_change
|
||||
/* 08C7CC 7F057C5C 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
)
|
||||
#endif
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.rdata
|
||||
/*glabel D_80053610*/
|
||||
/*.word 0,0,0,0,0,0,0,0,0,0*/
|
||||
/*glabel D_80053640*/
|
||||
/*.word 0*/
|
||||
.text
|
||||
glabel display_objective_status_text_on_status_change
|
||||
/* 08C070 7F057540 27BDFF70 */ addiu $sp, $sp, -0x90
|
||||
/* 08C074 7F057544 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 08C078 7F057548 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 08C07C 7F05754C 3C0E8005 */ lui $t6, %hi(D_80053610)
|
||||
/* 08C080 7F057550 27B30054 */ addiu $s3, $sp, 0x54
|
||||
/* 08C084 7F057554 3C168003 */ lui $s6, %hi(num_objective_ptrs)
|
||||
/* 08C088 7F057558 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 08C08C 7F05755C 25CE3610 */ addiu $t6, %lo(D_80053610) # addiu $t6, $t6, 0x3610
|
||||
/* 08C090 7F057560 26D622F0 */ addiu $s6, %lo(num_objective_ptrs) # addiu $s6, $s6, 0x22f0
|
||||
/* 08C094 7F057564 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 08C098 7F057568 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 08C09C 7F05756C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 08C0A0 7F057570 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 08C0A4 7F057574 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 08C0A8 7F057578 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 08C0AC 7F05757C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 08C0B0 7F057580 0000A025 */ move $s4, $zero
|
||||
/* 08C0B4 7F057584 25D90030 */ addiu $t9, $t6, 0x30
|
||||
/* 08C0B8 7F057588 02604025 */ move $t0, $s3
|
||||
.L7F05758C:
|
||||
/* 08C0BC 7F05758C 8DC10000 */ lw $at, ($t6)
|
||||
/* 08C0C0 7F057590 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 08C0C4 7F057594 2508000C */ addiu $t0, $t0, 0xc
|
||||
/* 08C0C8 7F057598 AD01FFF4 */ sw $at, -0xc($t0)
|
||||
/* 08C0CC 7F05759C 8DC1FFF8 */ lw $at, -8($t6)
|
||||
/* 08C0D0 7F0575A0 AD01FFF8 */ sw $at, -8($t0)
|
||||
/* 08C0D4 7F0575A4 8DC1FFFC */ lw $at, -4($t6)
|
||||
/* 08C0D8 7F0575A8 15D9FFF8 */ bne $t6, $t9, .L7F05758C
|
||||
/* 08C0DC 7F0575AC AD01FFFC */ sw $at, -4($t0)
|
||||
/* 08C0E0 7F0575B0 95C10000 */ lhu $at, ($t6)
|
||||
/* 08C0E4 7F0575B4 3C158007 */ lui $s5, %hi(dword_CODE_bss_80075D58)
|
||||
/* 08C0E8 7F0575B8 3C1E8005 */ lui $fp, %hi(aSAC)
|
||||
/* 08C0EC 7F0575BC A5010000 */ sh $at, ($t0)
|
||||
/* 08C0F0 7F0575C0 8EC90000 */ lw $t1, ($s6)
|
||||
/* 08C0F4 7F0575C4 27DE3644 */ addiu $fp, %lo(aSAC) # addiu $fp, $fp, 0x3644
|
||||
/* 08C0F8 7F0575C8 26B55D58 */ addiu $s5, %lo(dword_CODE_bss_80075D58) # addiu $s5, $s5, 0x5d58
|
||||
/* 08C0FC 7F0575CC 05200051 */ bltz $t1, .L7F057714
|
||||
/* 08C100 7F0575D0 00009025 */ move $s2, $zero
|
||||
/* 08C104 7F0575D4 3C178005 */ lui $s7, %hi(j_text_trigger)
|
||||
/* 08C108 7F0575D8 26F784D0 */ addiu $s7, %lo(j_text_trigger) # addiu $s7, $s7, -0x7b30
|
||||
.L7F0575DC:
|
||||
/* 08C10C 7F0575DC 0FC15C8E */ jal get_status_of_objective
|
||||
/* 08C110 7F0575E0 02402025 */ move $a0, $s2
|
||||
/* 08C114 7F0575E4 8EAA0000 */ lw $t2, ($s5)
|
||||
/* 08C118 7F0575E8 00408825 */ move $s1, $v0
|
||||
/* 08C11C 7F0575EC 02402025 */ move $a0, $s2
|
||||
/* 08C120 7F0575F0 104A003A */ beq $v0, $t2, .L7F0576DC
|
||||
/* 08C124 7F0575F4 00000000 */ nop
|
||||
/* 08C128 7F0575F8 0FC15C81 */ jal get_difficulty_for_objective
|
||||
/* 08C12C 7F0575FC AEA20000 */ sw $v0, ($s5)
|
||||
/* 08C130 7F057600 0FC2FF04 */ jal get_current_difficulty
|
||||
/* 08C134 7F057604 00408025 */ move $s0, $v0
|
||||
/* 08C138 7F057608 0050082A */ slt $at, $v0, $s0
|
||||
/* 08C13C 7F05760C 14200033 */ bnez $at, .L7F0576DC
|
||||
/* 08C140 7F057610 00000000 */ nop
|
||||
/* 08C144 7F057614 8EEB0000 */ lw $t3, ($s7)
|
||||
/* 08C148 7F057618 2690001A */ addiu $s0, $s4, 0x1a
|
||||
/* 08C14C 7F05761C 3404B02C */ li $a0, 45100
|
||||
/* 08C150 7F057620 1160000A */ beqz $t3, .L7F05764C
|
||||
/* 08C154 7F057624 00000000 */ nop
|
||||
/* 08C158 7F057628 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C15C 7F05762C 3404B02C */ li $a0, 45100
|
||||
/* 08C160 7F057630 02602025 */ move $a0, $s3
|
||||
/* 08C164 7F057634 03C02825 */ move $a1, $fp
|
||||
/* 08C168 7F057638 00403025 */ move $a2, $v0
|
||||
/* 08C16C 7F05763C 0C002B25 */ jal sprintf
|
||||
/* 08C170 7F057640 02003825 */ move $a3, $s0
|
||||
/* 08C174 7F057644 1000000A */ b .L7F057670
|
||||
/* 08C178 7F057648 24010001 */ li $at, 1
|
||||
.L7F05764C:
|
||||
/* 08C17C 7F05764C 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C180 7F057650 26900061 */ addiu $s0, $s4, 0x61
|
||||
/* 08C184 7F057654 3C058005 */ lui $a1, %hi(aSC)
|
||||
/* 08C188 7F057658 24A5364C */ addiu $a1, %lo(aSC) # addiu $a1, $a1, 0x364c
|
||||
/* 08C18C 7F05765C 02602025 */ move $a0, $s3
|
||||
/* 08C190 7F057660 00403025 */ move $a2, $v0
|
||||
/* 08C194 7F057664 0C002B25 */ jal sprintf
|
||||
/* 08C198 7F057668 02003825 */ move $a3, $s0
|
||||
/* 08C19C 7F05766C 24010001 */ li $at, 1
|
||||
.L7F057670:
|
||||
/* 08C1A0 7F057670 16210008 */ bne $s1, $at, .L7F057694
|
||||
/* 08C1A4 7F057674 00000000 */ nop
|
||||
/* 08C1A8 7F057678 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1AC 7F05767C 3404B02D */ li $a0, 45101
|
||||
/* 08C1B0 7F057680 02602025 */ move $a0, $s3
|
||||
/* 08C1B4 7F057684 0C0029FF */ jal strcat
|
||||
/* 08C1B8 7F057688 00402825 */ move $a1, $v0
|
||||
/* 08C1BC 7F05768C 10000011 */ b .L7F0576D4
|
||||
/* 08C1C0 7F057690 00000000 */ nop
|
||||
.L7F057694:
|
||||
/* 08C1C4 7F057694 16200008 */ bnez $s1, .L7F0576B8
|
||||
/* 08C1C8 7F057698 24010002 */ li $at, 2
|
||||
/* 08C1CC 7F05769C 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1D0 7F0576A0 3404B02E */ li $a0, 45102
|
||||
/* 08C1D4 7F0576A4 02602025 */ move $a0, $s3
|
||||
/* 08C1D8 7F0576A8 0C0029FF */ jal strcat
|
||||
/* 08C1DC 7F0576AC 00402825 */ move $a1, $v0
|
||||
/* 08C1E0 7F0576B0 10000008 */ b .L7F0576D4
|
||||
/* 08C1E4 7F0576B4 00000000 */ nop
|
||||
.L7F0576B8:
|
||||
/* 08C1E8 7F0576B8 16210006 */ bne $s1, $at, .L7F0576D4
|
||||
/* 08C1EC 7F0576BC 00000000 */ nop
|
||||
/* 08C1F0 7F0576C0 0FC30776 */ jal get_textptr_for_textID
|
||||
/* 08C1F4 7F0576C4 3404B02F */ li $a0, 45103
|
||||
/* 08C1F8 7F0576C8 02602025 */ move $a0, $s3
|
||||
/* 08C1FC 7F0576CC 0C0029FF */ jal strcat
|
||||
/* 08C200 7F0576D0 00402825 */ move $a1, $v0
|
||||
.L7F0576D4:
|
||||
/* 08C204 7F0576D4 0FC228F2 */ jal display_string_in_lower_left_corner
|
||||
/* 08C208 7F0576D8 02602025 */ move $a0, $s3
|
||||
.L7F0576DC:
|
||||
/* 08C20C 7F0576DC 0FC15C81 */ jal get_difficulty_for_objective
|
||||
/* 08C210 7F0576E0 02402025 */ move $a0, $s2
|
||||
/* 08C214 7F0576E4 0FC2FF04 */ jal get_current_difficulty
|
||||
/* 08C218 7F0576E8 00408025 */ move $s0, $v0
|
||||
/* 08C21C 7F0576EC 0050082A */ slt $at, $v0, $s0
|
||||
/* 08C220 7F0576F0 54200003 */ bnezl $at, .L7F057700
|
||||
/* 08C224 7F0576F4 8ECC0000 */ lw $t4, ($s6)
|
||||
/* 08C228 7F0576F8 26940001 */ addiu $s4, $s4, 1
|
||||
/* 08C22C 7F0576FC 8ECC0000 */ lw $t4, ($s6)
|
||||
.L7F057700:
|
||||
/* 08C230 7F057700 26520001 */ addiu $s2, $s2, 1
|
||||
/* 08C234 7F057704 26B50004 */ addiu $s5, $s5, 4
|
||||
/* 08C238 7F057708 0192082A */ slt $at, $t4, $s2
|
||||
/* 08C23C 7F05770C 1020FFB3 */ beqz $at, .L7F0575DC
|
||||
/* 08C240 7F057710 00000000 */ nop
|
||||
.L7F057714:
|
||||
/* 08C244 7F057714 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 08C248 7F057718 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 08C24C 7F05771C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 08C250 7F057720 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 08C254 7F057724 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 08C258 7F057728 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 08C25C 7F05772C 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 08C260 7F057730 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 08C264 7F057734 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 08C268 7F057738 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 08C26C 7F05773C 03E00008 */ jr $ra
|
||||
/* 08C270 7F057740 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ void sub_GAME_7F057AC0(float *param_1)
|
||||
firstrandfinal = D_80032300;
|
||||
secondrandfinal = D_80032304;
|
||||
thirdrandfinal = D_80032308;
|
||||
firstrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
secondrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
thirdrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
firstrandfinal = randomGetNext() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
secondrandfinal = randomGetNext() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
thirdrandfinal = randomGetNext() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
|
||||
matrix_4x4_set_rotation_around_xyz(&firstrandfinal,param_1);
|
||||
return;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ glabel sub_GAME_7F057AC0
|
||||
/* 08C610 7F057AE0 ADC10000 */ sw $at, ($t6)
|
||||
/* 08C614 7F057AE4 8DE10008 */ lw $at, 8($t7)
|
||||
/* 08C618 7F057AE8 ADC80004 */ sw $t0, 4($t6)
|
||||
/* 08C61C 7F057AEC 0C002914 */ jal get_random_value
|
||||
/* 08C61C 7F057AEC 0C002914 */ jal randomGetNext
|
||||
/* 08C620 7F057AF0 ADC10008 */ sw $at, 8($t6)
|
||||
/* 08C624 7F057AF4 44822000 */ mtc1 $v0, $f4
|
||||
/* 08C628 7F057AF8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
@@ -74,7 +74,7 @@ glabel sub_GAME_7F057AC0
|
||||
/* 08C668 7F057B38 00000000 */ nop
|
||||
/* 08C66C 7F057B3C 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* 08C670 7F057B40 460A3401 */ sub.s $f16, $f6, $f10
|
||||
/* 08C674 7F057B44 0C002914 */ jal get_random_value
|
||||
/* 08C674 7F057B44 0C002914 */ jal randomGetNext
|
||||
/* 08C678 7F057B48 E7B0001C */ swc1 $f16, 0x1c($sp)
|
||||
/* 08C67C 7F057B4C 44829000 */ mtc1 $v0, $f18
|
||||
/* 08C680 7F057B50 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
@@ -97,7 +97,7 @@ glabel sub_GAME_7F057AC0
|
||||
/* 08C6C0 7F057B90 00000000 */ nop
|
||||
/* 08C6C4 7F057B94 46089102 */ mul.s $f4, $f18, $f8
|
||||
/* 08C6C8 7F057B98 46062281 */ sub.s $f10, $f4, $f6
|
||||
/* 08C6CC 7F057B9C 0C002914 */ jal get_random_value
|
||||
/* 08C6CC 7F057B9C 0C002914 */ jal randomGetNext
|
||||
/* 08C6D0 7F057BA0 E7AA0020 */ swc1 $f10, 0x20($sp)
|
||||
/* 08C6D4 7F057BA4 44828000 */ mtc1 $v0, $f16
|
||||
/* 08C6D8 7F057BA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
@@ -157,7 +157,7 @@ glabel sub_GAME_7F057C14
|
||||
/* 08C744 7F057C14 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 08C748 7F057C18 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 08C74C 7F057C1C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 08C750 7F057C20 0C002914 */ jal get_random_value
|
||||
/* 08C750 7F057C20 0C002914 */ jal randomGetNext
|
||||
/* 08C754 7F057C24 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 08C758 7F057C28 44822000 */ mtc1 $v0, $f4
|
||||
/* 08C75C 7F057C2C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
@@ -181,7 +181,7 @@ glabel sub_GAME_7F057C14
|
||||
/* 08C7A0 7F057C70 00000000 */ nop
|
||||
/* 08C7A4 7F057C74 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* 08C7A8 7F057C78 460A3401 */ sub.s $f16, $f6, $f10
|
||||
/* 08C7AC 7F057C7C 0C002914 */ jal get_random_value
|
||||
/* 08C7AC 7F057C7C 0C002914 */ jal randomGetNext
|
||||
/* 08C7B0 7F057C80 E5D00000 */ swc1 $f16, ($t6)
|
||||
/* 08C7B4 7F057C84 44829000 */ mtc1 $v0, $f18
|
||||
/* 08C7B8 7F057C88 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
@@ -202,7 +202,7 @@ glabel sub_GAME_7F057C14
|
||||
/* 08C7F0 7F057CC0 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 08C7F4 7F057CC4 00000000 */ nop
|
||||
/* 08C7F8 7F057CC8 46089102 */ mul.s $f4, $f18, $f8
|
||||
/* 08C7FC 7F057CCC 0C002914 */ jal get_random_value
|
||||
/* 08C7FC 7F057CCC 0C002914 */ jal randomGetNext
|
||||
/* 08C800 7F057CD0 E5E40004 */ swc1 $f4, 4($t7)
|
||||
/* 08C804 7F057CD4 44823000 */ mtc1 $v0, $f6
|
||||
/* 08C808 7F057CD8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
|
||||
+1404
-12
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -2,6 +2,6 @@
|
||||
#define _PROP_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
extern u32 only_read_by_stageload[]
|
||||
extern u32 only_read_by_stageload[];
|
||||
|
||||
#endif
|
||||
|
||||
+102
-270
@@ -251,7 +251,7 @@ glabel load_ramrom_from_devtool
|
||||
/* 0F494C 7F0BFE1C 3C048006 */ lui $a0, %hi(aReplayDemo_load)
|
||||
/* 0F4950 7F0BFE20 2484B770 */ addiu $a0, %lo(aReplayDemo_load) # addiu $a0, $a0, -0x4890
|
||||
/* 0F4954 7F0BFE24 3C0500F0 */ lui $a1, 0xf0
|
||||
/* 0F4958 7F0BFE28 0FC34007 */ jal indy_loadfile
|
||||
/* 0F4958 7F0BFE28 0FC34007 */ jal indy_load_ramrom_file
|
||||
/* 0F495C 7F0BFE2C 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
/* 0F4960 7F0BFE30 3C048009 */ lui $a0, %hi(ramrom_data_target)
|
||||
/* 0F4964 7F0BFE34 2484C270 */ addiu $a0, %lo(ramrom_data_target) # addiu $a0, $a0, -0x3d90
|
||||
@@ -388,11 +388,11 @@ glabel record_player_input_as_packet
|
||||
/* 0F4B10 7F0BFFE0 3C0D8005 */ lui $t5, %hi(D_80048498)
|
||||
/* 0F4B14 7F0BFFE4 8DAD8498 */ lw $t5, %lo(D_80048498)($t5)
|
||||
/* 0F4B18 7F0BFFE8 8D8E0000 */ lw $t6, ($t4)
|
||||
/* 0F4B1C 7F0BFFEC 3C198002 */ lui $t9, %hi(randseed + 0x4)
|
||||
/* 0F4B1C 7F0BFFEC 3C198002 */ lui $t9, %hi(g_randomSeed + 0x4)
|
||||
/* 0F4B20 7F0BFFF0 3C118009 */ lui $s1, %hi(address_demo_loaded)
|
||||
/* 0F4B24 7F0BFFF4 A1CD0000 */ sb $t5, ($t6)
|
||||
/* 0F4B28 7F0BFFF8 8D8D0000 */ lw $t5, ($t4)
|
||||
/* 0F4B2C 7F0BFFFC 8F394464 */ lw $t9, %lo(randseed + 0x4)($t9)
|
||||
/* 0F4B2C 7F0BFFFC 8F394464 */ lw $t9, %lo(g_randomSeed + 0x4)($t9)
|
||||
/* 0F4B30 7F0C0000 2631C5F4 */ addiu $s1, %lo(address_demo_loaded) # addiu $s1, $s1, -0x3a0c
|
||||
/* 0F4B34 7F0C0004 A1B90002 */ sb $t9, 2($t5)
|
||||
/* 0F4B38 7F0C0008 8D820000 */ lw $v0, ($t4)
|
||||
@@ -526,8 +526,8 @@ glabel ramrom_replay_handler
|
||||
/* 0F4CE4 7F0C01B4 3C028005 */ lui $v0, %hi(ramrom_blkbuf_2)
|
||||
/* 0F4CE8 7F0C01B8 8C42846C */ lw $v0, %lo(ramrom_blkbuf_2)($v0)
|
||||
.L7F0C01BC:
|
||||
/* 0F4CEC 7F0C01BC 3C0F8002 */ lui $t7, %hi(randseed + 0x4)
|
||||
/* 0F4CF0 7F0C01C0 8DEF4464 */ lw $t7, %lo(randseed + 0x4)($t7)
|
||||
/* 0F4CEC 7F0C01BC 3C0F8002 */ lui $t7, %hi(g_randomSeed + 0x4)
|
||||
/* 0F4CF0 7F0C01C0 8DEF4464 */ lw $t7, %lo(g_randomSeed + 0x4)($t7)
|
||||
/* 0F4CF4 7F0C01C4 90430002 */ lbu $v1, 2($v0)
|
||||
/* 0F4CF8 7F0C01C8 31F900FF */ andi $t9, $t7, 0xff
|
||||
/* 0F4CFC 7F0C01CC 53230008 */ beql $t9, $v1, .L7F0C01F0
|
||||
@@ -551,10 +551,10 @@ glabel ramrom_replay_handler
|
||||
/* 0F4D40 7F0C0210 0FC30232 */ jal ensureCameraModeA
|
||||
/* 0F4D44 7F0C0214 00000000 */ nop
|
||||
.L7F0C0218:
|
||||
/* 0F4D48 7F0C0218 0C00324C */ jal controller_7000C930
|
||||
/* 0F4D48 7F0C0218 0C00324C */ jal joySetContDataIndex
|
||||
/* 0F4D4C 7F0C021C 00002025 */ move $a0, $zero
|
||||
/* 0F4D50 7F0C0220 00002025 */ move $a0, $zero
|
||||
/* 0F4D54 7F0C0224 0C0030EB */ jal get_controller_buttons_pressed
|
||||
/* 0F4D54 7F0C0224 0C0030EB */ jal joyGetButtonsPressedThisFrame
|
||||
/* 0F4D58 7F0C0228 3405FFFF */ li $a1, 65535
|
||||
/* 0F4D5C 7F0C022C 10400006 */ beqz $v0, .L7F0C0248
|
||||
/* 0F4D60 7F0C0230 00000000 */ nop
|
||||
@@ -564,7 +564,7 @@ glabel ramrom_replay_handler
|
||||
/* 0F4D70 7F0C0240 3C018003 */ lui $at, %hi(prev_keypresses)
|
||||
/* 0F4D74 7F0C0244 AC2DA934 */ sw $t5, %lo(prev_keypresses)($at)
|
||||
.L7F0C0248:
|
||||
/* 0F4D78 7F0C0248 0C00324C */ jal controller_7000C930
|
||||
/* 0F4D78 7F0C0248 0C00324C */ jal joySetContDataIndex
|
||||
/* 0F4D7C 7F0C024C 24040001 */ li $a0, 1
|
||||
/* 0F4D80 7F0C0250 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0F4D84 7F0C0254 02001025 */ move $v0, $s0
|
||||
@@ -727,262 +727,94 @@ glabel iterate_ramrom_entries_handle_camera_out
|
||||
)
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
u64 unk0;
|
||||
u64 unk8;
|
||||
s32 unkC[28];
|
||||
s32 unk80;
|
||||
s32 unk84;
|
||||
s32 unk88;
|
||||
s32 unk8C;
|
||||
s32 unk90;
|
||||
s32 unk94;
|
||||
s32 unk98;
|
||||
s32 unk9C;
|
||||
s32 unkA0;
|
||||
s32 unkA4;
|
||||
s32 unkA8;
|
||||
s32 unkAC;
|
||||
s32 unkB0;
|
||||
s32 unkB4;
|
||||
s32 unkB8;
|
||||
s32 unkBC;
|
||||
s32 unkC0;
|
||||
s32 unkC4;
|
||||
s32 unkC8;
|
||||
s32 unkCC;
|
||||
s32 unkD0;
|
||||
s32 unkD4;
|
||||
s32 unkD8;
|
||||
s32 unkDC;
|
||||
s32 unkE0;
|
||||
} state;
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void copy_current_ingame_registers_before_ramrom_playback(void *arg0) {
|
||||
? temp_ret;
|
||||
|
||||
// Node 0
|
||||
arg0->unk4 = (?32) randseed + 0x4;
|
||||
*arg0 = (?32) randseed;
|
||||
arg0->unkC = (?32) random_val + 0x4;
|
||||
arg0->unk8 = (?32) random_val;
|
||||
arg0->unk84 = (?32) gamemode;
|
||||
arg0->unk8C = (?32) selected_num_players;
|
||||
arg0->unk90 = (?32) scenario;
|
||||
arg0->unk94 = (?32) MP_stage_selected;
|
||||
arg0->unk98 = (?32) game_length;
|
||||
arg0->unk9C = getMPWeaponSet();
|
||||
arg0->unkA0 = (?32) player_1_char;
|
||||
arg0->unkA4 = (?32) player_1_char.unk4;
|
||||
arg0->unkA8 = (?32) player_1_char.unk8;
|
||||
arg0->unkAC = (?32) player_1_char.unkC;
|
||||
arg0->unkB0 = (?32) handicap_player1;
|
||||
arg0->unkB4 = (?32) handicap_player1.unk4;
|
||||
arg0->unkB8 = (?32) handicap_player1.unk8;
|
||||
arg0->unkBC = (?32) handicap_player1.unkC;
|
||||
arg0->unkC0 = (?32) controlstyle_player;
|
||||
arg0->unkC4 = (?32) controlstyle_player.unk4;
|
||||
arg0->unkC8 = (?32) controlstyle_player.unk8;
|
||||
arg0->unkCC = (?32) controlstyle_player.unkC;
|
||||
arg0->unkD0 = (?32) aim_sight_adjustment;
|
||||
arg0->unkD4 = get_players_team_or_scenario_item_flag(0);
|
||||
arg0->unkD8 = get_players_team_or_scenario_item_flag(1);
|
||||
arg0->unkDC = get_players_team_or_scenario_item_flag(2);
|
||||
arg0->unkE0 = get_players_team_or_scenario_item_flag(3);
|
||||
extern u64 g_randomSeed;
|
||||
extern u64 g_chrObjRandomSeed;
|
||||
void copy_current_ingame_registers_before_ramrom_playback(state *state) {
|
||||
state->unk0 = g_randomSeed;
|
||||
state->unk8 = g_chrObjRandomSeed;
|
||||
state->unk84 = gamemode;
|
||||
state->unk8C = selected_num_players;
|
||||
state->unk90 = scenario;
|
||||
state->unk94 = MP_stage_selected;
|
||||
state->unk98 = game_length;
|
||||
state->unk9C = getMPWeaponSet();
|
||||
state->unkA0 = (&player_1_char)[0];
|
||||
state->unkA4 = (&player_1_char)[1];
|
||||
state->unkA8 = (&player_1_char)[2];
|
||||
state->unkAC = (&player_1_char)[3];
|
||||
state->unkB0 = (&handicap_player1)[0];
|
||||
state->unkB4 = (&handicap_player1)[1];
|
||||
state->unkB8 = (&handicap_player1)[2];
|
||||
state->unkBC = (&handicap_player1)[3];
|
||||
state->unkC0 = controlstyle_player[0];
|
||||
state->unkC4 = controlstyle_player[1];
|
||||
state->unkC8 = controlstyle_player[2];
|
||||
state->unkCC = controlstyle_player[3];
|
||||
state->unkD0 = aim_sight_adjustment;
|
||||
state->unkD4 = get_players_team_or_scenario_item_flag(0);
|
||||
state->unkD8 = get_players_team_or_scenario_item_flag(1);
|
||||
state->unkDC = get_players_team_or_scenario_item_flag(2);
|
||||
state->unkE0 = get_players_team_or_scenario_item_flag(3);
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel copy_current_ingame_registers_before_ramrom_playback
|
||||
/* 0F4ED8 7F0C03A8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0F4EDC 7F0C03AC 3C0E8002 */ lui $t6, %hi(randseed)
|
||||
/* 0F4EE0 7F0C03B0 3C0F8002 */ lui $t7, %hi(randseed + 0x4)
|
||||
/* 0F4EE4 7F0C03B4 8DEF4464 */ lw $t7, %lo(randseed + 0x4)($t7)
|
||||
/* 0F4EE8 7F0C03B8 8DCE4460 */ lw $t6, %lo(randseed)($t6)
|
||||
/* 0F4EEC 7F0C03BC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0F4EF0 7F0C03C0 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0F4EF4 7F0C03C4 AC8F0004 */ sw $t7, 4($a0)
|
||||
/* 0F4EF8 7F0C03C8 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0F4EFC 7F0C03CC 3C188004 */ lui $t8, %hi(random_val)
|
||||
/* 0F4F00 7F0C03D0 3C198004 */ lui $t9, %hi(random_val + 0x4)
|
||||
/* 0F4F04 7F0C03D4 8F390164 */ lw $t9, %lo(random_val + 0x4)($t9)
|
||||
/* 0F4F08 7F0C03D8 8F180160 */ lw $t8, %lo(random_val)($t8)
|
||||
/* 0F4F0C 7F0C03DC 3C088003 */ lui $t0, %hi(gamemode)
|
||||
/* 0F4F10 7F0C03E0 AC99000C */ sw $t9, 0xc($a0)
|
||||
/* 0F4F14 7F0C03E4 AC980008 */ sw $t8, 8($a0)
|
||||
/* 0F4F18 7F0C03E8 8D08A8F0 */ lw $t0, %lo(gamemode)($t0)
|
||||
/* 0F4F1C 7F0C03EC 3C098003 */ lui $t1, %hi(selected_num_players)
|
||||
/* 0F4F20 7F0C03F0 3C0A8003 */ lui $t2, %hi(scenario)
|
||||
/* 0F4F24 7F0C03F4 AC880084 */ sw $t0, 0x84($a0)
|
||||
/* 0F4F28 7F0C03F8 8D29B520 */ lw $t1, %lo(selected_num_players)($t1)
|
||||
/* 0F4F2C 7F0C03FC 3C0B8003 */ lui $t3, %hi(MP_stage_selected)
|
||||
/* 0F4F30 7F0C0400 3C0C8003 */ lui $t4, %hi(game_length)
|
||||
/* 0F4F34 7F0C0404 AC89008C */ sw $t1, 0x8c($a0)
|
||||
/* 0F4F38 7F0C0408 8D4AB540 */ lw $t2, %lo(scenario)($t2)
|
||||
/* 0F4F3C 7F0C040C 00808025 */ move $s0, $a0
|
||||
/* 0F4F40 7F0C0410 AC8A0090 */ sw $t2, 0x90($a0)
|
||||
/* 0F4F44 7F0C0414 8D6BB534 */ lw $t3, %lo(MP_stage_selected)($t3)
|
||||
/* 0F4F48 7F0C0418 AC8B0094 */ sw $t3, 0x94($a0)
|
||||
/* 0F4F4C 7F0C041C 8D8CB538 */ lw $t4, %lo(game_length)($t4)
|
||||
/* 0F4F50 7F0C0420 0FC3198F */ jal getMPWeaponSet
|
||||
/* 0F4F54 7F0C0424 AC8C0098 */ sw $t4, 0x98($a0)
|
||||
/* 0F4F58 7F0C0428 3C038003 */ lui $v1, %hi(player_1_char)
|
||||
/* 0F4F5C 7F0C042C 2463B524 */ addiu $v1, %lo(player_1_char) # addiu $v1, $v1, -0x4adc
|
||||
/* 0F4F60 7F0C0430 AE02009C */ sw $v0, 0x9c($s0)
|
||||
/* 0F4F64 7F0C0434 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0F4F68 7F0C0438 3C058007 */ lui $a1, %hi(handicap_player1)
|
||||
/* 0F4F6C 7F0C043C 24A597A8 */ addiu $a1, %lo(handicap_player1) # addiu $a1, $a1, -0x6858
|
||||
/* 0F4F70 7F0C0440 AE0D00A0 */ sw $t5, 0xa0($s0)
|
||||
/* 0F4F74 7F0C0444 8C6E0004 */ lw $t6, 4($v1)
|
||||
/* 0F4F78 7F0C0448 3C068007 */ lui $a2, %hi(controlstyle_player)
|
||||
/* 0F4F7C 7F0C044C 24C697B8 */ addiu $a2, %lo(controlstyle_player) # addiu $a2, $a2, -0x6848
|
||||
/* 0F4F80 7F0C0450 AE0E00A4 */ sw $t6, 0xa4($s0)
|
||||
/* 0F4F84 7F0C0454 8C6F0008 */ lw $t7, 8($v1)
|
||||
/* 0F4F88 7F0C0458 00002025 */ move $a0, $zero
|
||||
/* 0F4F8C 7F0C045C AE0F00A8 */ sw $t7, 0xa8($s0)
|
||||
/* 0F4F90 7F0C0460 8C78000C */ lw $t8, 0xc($v1)
|
||||
/* 0F4F94 7F0C0464 3C0F8003 */ lui $t7, %hi(aim_sight_adjustment)
|
||||
/* 0F4F98 7F0C0468 AE1800AC */ sw $t8, 0xac($s0)
|
||||
/* 0F4F9C 7F0C046C 8CB90000 */ lw $t9, ($a1)
|
||||
/* 0F4FA0 7F0C0470 AE1900B0 */ sw $t9, 0xb0($s0)
|
||||
/* 0F4FA4 7F0C0474 8CA80004 */ lw $t0, 4($a1)
|
||||
/* 0F4FA8 7F0C0478 AE0800B4 */ sw $t0, 0xb4($s0)
|
||||
/* 0F4FAC 7F0C047C 8CA90008 */ lw $t1, 8($a1)
|
||||
/* 0F4FB0 7F0C0480 AE0900B8 */ sw $t1, 0xb8($s0)
|
||||
/* 0F4FB4 7F0C0484 8CAA000C */ lw $t2, 0xc($a1)
|
||||
/* 0F4FB8 7F0C0488 AE0A00BC */ sw $t2, 0xbc($s0)
|
||||
/* 0F4FBC 7F0C048C 8CCB0000 */ lw $t3, ($a2)
|
||||
/* 0F4FC0 7F0C0490 AE0B00C0 */ sw $t3, 0xc0($s0)
|
||||
/* 0F4FC4 7F0C0494 8CCC0004 */ lw $t4, 4($a2)
|
||||
/* 0F4FC8 7F0C0498 AE0C00C4 */ sw $t4, 0xc4($s0)
|
||||
/* 0F4FCC 7F0C049C 8CCD0008 */ lw $t5, 8($a2)
|
||||
/* 0F4FD0 7F0C04A0 AE0D00C8 */ sw $t5, 0xc8($s0)
|
||||
/* 0F4FD4 7F0C04A4 8CCE000C */ lw $t6, 0xc($a2)
|
||||
/* 0F4FD8 7F0C04A8 AE0E00CC */ sw $t6, 0xcc($s0)
|
||||
/* 0F4FDC 7F0C04AC 8DEFB53C */ lw $t7, %lo(aim_sight_adjustment)($t7)
|
||||
/* 0F4FE0 7F0C04B0 0FC05322 */ jal get_players_team_or_scenario_item_flag
|
||||
/* 0F4FE4 7F0C04B4 AE0F00D0 */ sw $t7, 0xd0($s0)
|
||||
/* 0F4FE8 7F0C04B8 AE0200D4 */ sw $v0, 0xd4($s0)
|
||||
/* 0F4FEC 7F0C04BC 0FC05322 */ jal get_players_team_or_scenario_item_flag
|
||||
/* 0F4FF0 7F0C04C0 24040001 */ li $a0, 1
|
||||
/* 0F4FF4 7F0C04C4 AE0200D8 */ sw $v0, 0xd8($s0)
|
||||
/* 0F4FF8 7F0C04C8 0FC05322 */ jal get_players_team_or_scenario_item_flag
|
||||
/* 0F4FFC 7F0C04CC 24040002 */ li $a0, 2
|
||||
/* 0F5000 7F0C04D0 AE0200DC */ sw $v0, 0xdc($s0)
|
||||
/* 0F5004 7F0C04D4 0FC05322 */ jal get_players_team_or_scenario_item_flag
|
||||
/* 0F5008 7F0C04D8 24040003 */ li $a0, 3
|
||||
/* 0F500C 7F0C04DC AE0200E0 */ sw $v0, 0xe0($s0)
|
||||
/* 0F5010 7F0C04E0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0F5014 7F0C04E4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0F5018 7F0C04E8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0F501C 7F0C04EC 03E00008 */ jr $ra
|
||||
/* 0F5020 7F0C04F0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void copy_recorded_ramrom_registers_to_proper_place_ingame(void *arg0) {
|
||||
// Node 0
|
||||
randseed = (?32) *arg0;
|
||||
randseed + 0x4 = (?32) arg0->unk4;
|
||||
random_val = (?32) arg0->unk8;
|
||||
random_val + 0x4 = (?32) arg0->unkC;
|
||||
gamemode = (?32) arg0->unk84;
|
||||
selected_num_players = (?32) arg0->unk8C;
|
||||
scenario = (?32) arg0->unk90;
|
||||
MP_stage_selected = (?32) arg0->unk94;
|
||||
game_length = (?32) arg0->unk98;
|
||||
setMPWeaponSet(arg0->unk9C);
|
||||
player_1_char = (?32) arg0->unkA0;
|
||||
player_1_char.unk4 = (?32) arg0->unkA4;
|
||||
player_1_char.unk8 = (?32) arg0->unkA8;
|
||||
player_1_char.unkC = (?32) arg0->unkAC;
|
||||
handicap_player1 = (?32) arg0->unkB0;
|
||||
handicap_player1.unk4 = (?32) arg0->unkB4;
|
||||
handicap_player1.unk8 = (?32) arg0->unkB8;
|
||||
handicap_player1.unkC = (?32) arg0->unkBC;
|
||||
controlstyle_player = (?32) arg0->unkC0;
|
||||
controlstyle_player.unk4 = (?32) arg0->unkC4;
|
||||
controlstyle_player.unk8 = (?32) arg0->unkC8;
|
||||
controlstyle_player.unkC = (?32) arg0->unkCC;
|
||||
aim_sight_adjustment = (?32) arg0->unkD0;
|
||||
set_players_team_or_scenario_item_flag(0, arg0->unkD4, &controlstyle_player);
|
||||
set_players_team_or_scenario_item_flag(1, arg0->unkD8);
|
||||
set_players_team_or_scenario_item_flag(2, arg0->unkDC);
|
||||
return set_players_team_or_scenario_item_flag(3, arg0->unkE0);
|
||||
void copy_recorded_ramrom_registers_to_proper_place_ingame(state *state) {
|
||||
g_randomSeed = state->unk0;
|
||||
g_chrObjRandomSeed = state->unk8;
|
||||
gamemode = state->unk84;
|
||||
selected_num_players = state->unk8C;
|
||||
scenario = state->unk90;
|
||||
MP_stage_selected = state->unk94;
|
||||
game_length = state->unk98;
|
||||
setMPWeaponSet(state->unk9C);
|
||||
(&player_1_char)[0] = state->unkA0;
|
||||
(&player_1_char)[1] = state->unkA4;
|
||||
(&player_1_char)[2] = state->unkA8;
|
||||
(&player_1_char)[3] = state->unkAC;
|
||||
(&handicap_player1)[0] = state->unkB0;
|
||||
(&handicap_player1)[1] = state->unkB4;
|
||||
(&handicap_player1)[2] = state->unkB8;
|
||||
(&handicap_player1)[3] = state->unkBC;
|
||||
controlstyle_player[0] = state->unkC0;
|
||||
controlstyle_player[1] = state->unkC4;
|
||||
controlstyle_player[2] = state->unkC8;
|
||||
controlstyle_player[3] = state->unkCC;
|
||||
aim_sight_adjustment = state->unkD0;
|
||||
set_players_team_or_scenario_item_flag(0, state->unkD4);
|
||||
set_players_team_or_scenario_item_flag(1, state->unkD8);
|
||||
set_players_team_or_scenario_item_flag(2, state->unkDC);
|
||||
set_players_team_or_scenario_item_flag(3, state->unkE0);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel copy_recorded_ramrom_registers_to_proper_place_ingame
|
||||
/* 0F5024 7F0C04F4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0F5028 7F0C04F8 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0F502C 7F0C04FC AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0F5030 7F0C0500 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 0F5034 7F0C0504 8C8F0004 */ lw $t7, 4($a0)
|
||||
/* 0F5038 7F0C0508 3C018002 */ lui $at, %hi(randseed)
|
||||
/* 0F503C 7F0C050C AC2E4460 */ sw $t6, %lo(randseed)($at)
|
||||
/* 0F5040 7F0C0510 3C018002 */ lui $at, %hi(randseed + 0x4)
|
||||
/* 0F5044 7F0C0514 AC2F4464 */ sw $t7, %lo(randseed + 0x4)($at)
|
||||
/* 0F5048 7F0C0518 8C980008 */ lw $t8, 8($a0)
|
||||
/* 0F504C 7F0C051C 8C99000C */ lw $t9, 0xc($a0)
|
||||
/* 0F5050 7F0C0520 3C018004 */ lui $at, %hi(random_val)
|
||||
/* 0F5054 7F0C0524 AC380160 */ sw $t8, %lo(random_val)($at)
|
||||
/* 0F5058 7F0C0528 3C018004 */ lui $at, %hi(random_val + 0x4)
|
||||
/* 0F505C 7F0C052C AC390164 */ sw $t9, %lo(random_val + 0x4)($at)
|
||||
/* 0F5060 7F0C0530 8C880084 */ lw $t0, 0x84($a0)
|
||||
/* 0F5064 7F0C0534 3C018003 */ lui $at, %hi(gamemode)
|
||||
/* 0F5068 7F0C0538 00808025 */ move $s0, $a0
|
||||
/* 0F506C 7F0C053C AC28A8F0 */ sw $t0, %lo(gamemode)($at)
|
||||
/* 0F5070 7F0C0540 8C89008C */ lw $t1, 0x8c($a0)
|
||||
/* 0F5074 7F0C0544 3C018003 */ lui $at, %hi(selected_num_players)
|
||||
/* 0F5078 7F0C0548 AC29B520 */ sw $t1, %lo(selected_num_players)($at)
|
||||
/* 0F507C 7F0C054C 8C8A0090 */ lw $t2, 0x90($a0)
|
||||
/* 0F5080 7F0C0550 3C018003 */ lui $at, %hi(scenario)
|
||||
/* 0F5084 7F0C0554 AC2AB540 */ sw $t2, %lo(scenario)($at)
|
||||
/* 0F5088 7F0C0558 8C8B0094 */ lw $t3, 0x94($a0)
|
||||
/* 0F508C 7F0C055C 3C018003 */ lui $at, %hi(MP_stage_selected)
|
||||
/* 0F5090 7F0C0560 AC2BB534 */ sw $t3, %lo(MP_stage_selected)($at)
|
||||
/* 0F5094 7F0C0564 8C8C0098 */ lw $t4, 0x98($a0)
|
||||
/* 0F5098 7F0C0568 3C018003 */ lui $at, %hi(game_length)
|
||||
/* 0F509C 7F0C056C AC2CB538 */ sw $t4, %lo(game_length)($at)
|
||||
/* 0F50A0 7F0C0570 0FC3198C */ jal setMPWeaponSet
|
||||
/* 0F50A4 7F0C0574 8C84009C */ lw $a0, 0x9c($a0)
|
||||
/* 0F50A8 7F0C0578 8E0D00A0 */ lw $t5, 0xa0($s0)
|
||||
/* 0F50AC 7F0C057C 3C028003 */ lui $v0, %hi(player_1_char)
|
||||
/* 0F50B0 7F0C0580 2442B524 */ addiu $v0, %lo(player_1_char) # addiu $v0, $v0, -0x4adc
|
||||
/* 0F50B4 7F0C0584 AC4D0000 */ sw $t5, ($v0)
|
||||
/* 0F50B8 7F0C0588 8E0E00A4 */ lw $t6, 0xa4($s0)
|
||||
/* 0F50BC 7F0C058C 3C038007 */ lui $v1, %hi(handicap_player1)
|
||||
/* 0F50C0 7F0C0590 246397A8 */ addiu $v1, %lo(handicap_player1) # addiu $v1, $v1, -0x6858
|
||||
/* 0F50C4 7F0C0594 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* 0F50C8 7F0C0598 8E0F00A8 */ lw $t7, 0xa8($s0)
|
||||
/* 0F50CC 7F0C059C 3C068007 */ lui $a2, %hi(controlstyle_player)
|
||||
/* 0F50D0 7F0C05A0 24C697B8 */ addiu $a2, %lo(controlstyle_player) # addiu $a2, $a2, -0x6848
|
||||
/* 0F50D4 7F0C05A4 AC4F0008 */ sw $t7, 8($v0)
|
||||
/* 0F50D8 7F0C05A8 8E1800AC */ lw $t8, 0xac($s0)
|
||||
/* 0F50DC 7F0C05AC 3C018003 */ lui $at, %hi(aim_sight_adjustment)
|
||||
/* 0F50E0 7F0C05B0 00002025 */ move $a0, $zero
|
||||
/* 0F50E4 7F0C05B4 AC58000C */ sw $t8, 0xc($v0)
|
||||
/* 0F50E8 7F0C05B8 8E1900B0 */ lw $t9, 0xb0($s0)
|
||||
/* 0F50EC 7F0C05BC AC790000 */ sw $t9, ($v1)
|
||||
/* 0F50F0 7F0C05C0 8E0800B4 */ lw $t0, 0xb4($s0)
|
||||
/* 0F50F4 7F0C05C4 AC680004 */ sw $t0, 4($v1)
|
||||
/* 0F50F8 7F0C05C8 8E0900B8 */ lw $t1, 0xb8($s0)
|
||||
/* 0F50FC 7F0C05CC AC690008 */ sw $t1, 8($v1)
|
||||
/* 0F5100 7F0C05D0 8E0A00BC */ lw $t2, 0xbc($s0)
|
||||
/* 0F5104 7F0C05D4 AC6A000C */ sw $t2, 0xc($v1)
|
||||
/* 0F5108 7F0C05D8 8E0B00C0 */ lw $t3, 0xc0($s0)
|
||||
/* 0F510C 7F0C05DC ACCB0000 */ sw $t3, ($a2)
|
||||
/* 0F5110 7F0C05E0 8E0C00C4 */ lw $t4, 0xc4($s0)
|
||||
/* 0F5114 7F0C05E4 ACCC0004 */ sw $t4, 4($a2)
|
||||
/* 0F5118 7F0C05E8 8E0D00C8 */ lw $t5, 0xc8($s0)
|
||||
/* 0F511C 7F0C05EC ACCD0008 */ sw $t5, 8($a2)
|
||||
/* 0F5120 7F0C05F0 8E0E00CC */ lw $t6, 0xcc($s0)
|
||||
/* 0F5124 7F0C05F4 ACCE000C */ sw $t6, 0xc($a2)
|
||||
/* 0F5128 7F0C05F8 8E0F00D0 */ lw $t7, 0xd0($s0)
|
||||
/* 0F512C 7F0C05FC AC2FB53C */ sw $t7, %lo(aim_sight_adjustment)($at)
|
||||
/* 0F5130 7F0C0600 0FC05329 */ jal set_players_team_or_scenario_item_flag
|
||||
/* 0F5134 7F0C0604 8E0500D4 */ lw $a1, 0xd4($s0)
|
||||
/* 0F5138 7F0C0608 24040001 */ li $a0, 1
|
||||
/* 0F513C 7F0C060C 0FC05329 */ jal set_players_team_or_scenario_item_flag
|
||||
/* 0F5140 7F0C0610 8E0500D8 */ lw $a1, 0xd8($s0)
|
||||
/* 0F5144 7F0C0614 24040002 */ li $a0, 2
|
||||
/* 0F5148 7F0C0618 0FC05329 */ jal set_players_team_or_scenario_item_flag
|
||||
/* 0F514C 7F0C061C 8E0500DC */ lw $a1, 0xdc($s0)
|
||||
/* 0F5150 7F0C0620 24040003 */ li $a0, 3
|
||||
/* 0F5154 7F0C0624 0FC05329 */ jal set_players_team_or_scenario_item_flag
|
||||
/* 0F5158 7F0C0628 8E0500E0 */ lw $a1, 0xe0($s0)
|
||||
/* 0F515C 7F0C062C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0F5160 7F0C0630 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0F5164 7F0C0634 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0F5168 7F0C0638 03E00008 */ jr $ra
|
||||
/* 0F516C 7F0C063C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void test_if_recording_demos_this_stage_load(void) {
|
||||
@@ -1011,7 +843,7 @@ glabel test_if_recording_demos_this_stage_load
|
||||
/* 0F51B0 7F0C0680 8E090000 */ lw $t1, ($s0)
|
||||
/* 0F51B4 7F0C0684 AD240010 */ sw $a0, 0x10($t1)
|
||||
/* 0F51B8 7F0C0688 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 0F51BC 7F0C068C 0C002E7E */ jal get_attached_controller_count
|
||||
/* 0F51BC 7F0C068C 0C002E7E */ jal joyGetControllerCount
|
||||
/* 0F51C0 7F0C0690 AD450014 */ sw $a1, 0x14($t2)
|
||||
/* 0F51C4 7F0C0694 8E0B0000 */ lw $t3, ($s0)
|
||||
/* 0F51C8 7F0C0698 3C0C8009 */ lui $t4, %hi(record_slot_num)
|
||||
@@ -1030,7 +862,7 @@ glabel test_if_recording_demos_this_stage_load
|
||||
/* 0F51FC 7F0C06CC 3C018005 */ lui $at, %hi(ramrom_demo_related_6)
|
||||
/* 0F5200 7F0C06D0 3C047F0C */ lui $a0, %hi(record_player_input_as_packet) # $a0, 0x7f0c
|
||||
/* 0F5204 7F0C06D4 AC228484 */ sw $v0, %lo(ramrom_demo_related_6)($at)
|
||||
/* 0F5208 7F0C06D8 0C002EEF */ jal set_ptr_tlb_ramrom_record
|
||||
/* 0F5208 7F0C06D8 0C002EEF */ jal joySetRecordFunc
|
||||
/* 0F520C 7F0C06DC 2484FE5C */ addiu $a0, %lo(record_player_input_as_packet) # addiu $a0, $a0, -0x1a4
|
||||
/* 0F5210 7F0C06E0 3C028009 */ lui $v0, %hi(address_demo_loaded)
|
||||
/* 0F5214 7F0C06E4 2442C5F4 */ addiu $v0, %lo(address_demo_loaded) # addiu $v0, $v0, -0x3a0c
|
||||
@@ -1077,9 +909,9 @@ glabel test_if_recording_demos_this_stage_load
|
||||
/* 0F52B4 7F0C0784 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 0F52B8 7F0C0788 3C047F0C */ lui $a0, %hi(ramrom_replay_handler) # $a0, 0x7f0c
|
||||
/* 0F52BC 7F0C078C 24840080 */ addiu $a0, %lo(ramrom_replay_handler) # addiu $a0, $a0, 0x80
|
||||
/* 0F52C0 7F0C0790 0C002EEA */ jal set_disable_all_rumble_and_something
|
||||
/* 0F52C0 7F0C0790 0C002EEA */ jal joySetPlaybackFunc
|
||||
/* 0F52C4 7F0C0794 8D450018 */ lw $a1, 0x18($t2)
|
||||
/* 0F52C8 7F0C0798 0C00324C */ jal controller_7000C930
|
||||
/* 0F52C8 7F0C0798 0C00324C */ jal joySetContDataIndex
|
||||
/* 0F52CC 7F0C079C 24040001 */ li $a0, 1
|
||||
/* 0F52D0 7F0C07A0 3C018005 */ lui $at, %hi(ramrom_demo_related_4)
|
||||
/* 0F52D4 7F0C07A4 AC20847C */ sw $zero, %lo(ramrom_demo_related_4)($at)
|
||||
@@ -1106,7 +938,7 @@ void stop_recording_ramrom(void) {
|
||||
if (ramrom_demo_related_6 != 0)
|
||||
{
|
||||
finalize_ramrom_on_hw();
|
||||
set_ptr_tlb_ramrom_record(0);
|
||||
joySetRecordFunc(0);
|
||||
ramrom_demo_related_6 = 0;
|
||||
recording_ramrom_flag = 0;
|
||||
}
|
||||
@@ -1198,8 +1030,8 @@ void stop_demo_playback(void)
|
||||
if (ramrom_demo_related_6 == 0) {
|
||||
if (ramrom_demo_related_3 != 0) {
|
||||
copy_recorded_ramrom_registers_to_proper_place_ingame(&ramromsettingsbackup);
|
||||
set_disable_all_rumble_and_something(0,0xffffffff);
|
||||
controller_7000C930(0);
|
||||
joySetPlaybackFunc(0,0xffffffff);
|
||||
joySetContDataIndex(0);
|
||||
ramrom_demo_related_3 = 0;
|
||||
is_ramrom_flag = 0;
|
||||
}
|
||||
@@ -1230,9 +1062,9 @@ glabel stop_demo_playback
|
||||
/* 0F5464 7F0C0934 0FC3013D */ jal copy_recorded_ramrom_registers_to_proper_place_ingame
|
||||
/* 0F5468 7F0C0938 2484C380 */ addiu $a0, %lo(ramrom_data_target + 0x110) # addiu $a0, $a0, -0x3c80
|
||||
/* 0F546C 7F0C093C 00002025 */ move $a0, $zero
|
||||
/* 0F5470 7F0C0940 0C002EEA */ jal set_disable_all_rumble_and_something
|
||||
/* 0F5470 7F0C0940 0C002EEA */ jal joySetPlaybackFunc
|
||||
/* 0F5474 7F0C0944 2405FFFF */ li $a1, -1
|
||||
/* 0F5478 7F0C0948 0C00324C */ jal controller_7000C930
|
||||
/* 0F5478 7F0C0948 0C00324C */ jal joySetContDataIndex
|
||||
/* 0F547C 7F0C094C 00002025 */ move $a0, $zero
|
||||
/* 0F5480 7F0C0950 3C018005 */ lui $at, %hi(ramrom_demo_related_3)
|
||||
/* 0F5484 7F0C0954 AC208478 */ sw $zero, %lo(ramrom_demo_related_3)($at)
|
||||
@@ -1286,7 +1118,7 @@ glabel select_ramrom_to_play
|
||||
/* 0F5500 7F0C09D0 5020FFF9 */ beql $at, $zero, .L7F0C09B8
|
||||
/* 0F5504 7F0C09D4 8C480008 */ lw $t0, 8($v0)
|
||||
.L7F0C09D8:
|
||||
/* 0F5508 7F0C09D8 0C002914 */ jal get_random_value
|
||||
/* 0F5508 7F0C09D8 0C002914 */ jal randomGetNext
|
||||
/* 0F550C 7F0C09DC AFA3001C */ sw $v1, 0x1c($sp)
|
||||
/* 0F5510 7F0C09E0 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* 0F5514 7F0C09E4 3C048005 */ lui $a0, %hi(ramrom_table)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef _RAMROMREPLAY_H_
|
||||
#define _RAMROMREPLAY_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
void test_if_recording_demos_this_stage_load(s32 arg0, s32 arg1);
|
||||
s32 iterate_ramrom_entries_handle_camera_out(void);
|
||||
void stop_demo_playback(void);
|
||||
s32 get_is_reamrom_flag(void);
|
||||
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -23,13 +23,13 @@ u32 fast3d_related_1[] = {
|
||||
};
|
||||
|
||||
//D:8004EAB0
|
||||
u32 *fast3d_related_array = &fast3d_related_0;
|
||||
u32 **fast3d_related_array = &fast3d_related_0;
|
||||
|
||||
|
||||
|
||||
|
||||
void rspInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&D_8004E9E0, "rsp_c_debug");
|
||||
debTryAdd(&D_8004E9E0, "rsp_c_debug");
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ glabel allocate_init_rsp_buffers
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void *load_rsp_microcode(s32 arg0, s32 arg1, ? arg2, ?32 arg3) {
|
||||
void *load_rsp_microcode(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
void *temp_v0;
|
||||
|
||||
// Node 0
|
||||
|
||||
@@ -3,5 +3,8 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
void rspInitDebugNoticeList(void);
|
||||
void *load_rsp_microcode(Gfx *arg0, Gfx *arg1, s32 arg2, s32 *arg3);
|
||||
|
||||
extern u32 **fast3d_related_array;
|
||||
|
||||
#endif
|
||||
|
||||
+4
-4
@@ -391,20 +391,20 @@ glabel spectrum_p1controller_to_kempston
|
||||
/* 1077C0 7F0D2C90 AFA00030 */ sw $zero, 0x30($sp)
|
||||
/* 1077C4 7F0D2C94 AFA0002C */ sw $zero, 0x2c($sp)
|
||||
/* 1077C8 7F0D2C98 AFA00028 */ sw $zero, 0x28($sp)
|
||||
/* 1077CC 7F0D2C9C 0C002F43 */ jal redirect_to_ramrom_replay_and_record_handlers_if_set
|
||||
/* 1077CC 7F0D2C9C 0C002F43 */ jal joyConsumeSamplesWrapper
|
||||
/* 1077D0 7F0D2CA0 AFA00024 */ sw $zero, 0x24($sp)
|
||||
/* 1077D4 7F0D2CA4 00002025 */ move $a0, $zero
|
||||
/* 1077D8 7F0D2CA8 0C0030C3 */ jal get_controller_buttons_held
|
||||
/* 1077D8 7F0D2CA8 0C0030C3 */ jal joyGetButtons
|
||||
/* 1077DC 7F0D2CAC 3405FFFF */ li $a1, 65535
|
||||
/* 1077E0 7F0D2CB0 00002025 */ move $a0, $zero
|
||||
/* 1077E4 7F0D2CB4 2405FFFD */ li $a1, -3
|
||||
/* 1077E8 7F0D2CB8 24060003 */ li $a2, 3
|
||||
/* 1077EC 7F0D2CBC 0C00312D */ jal get_controller_3dstick_L_R
|
||||
/* 1077EC 7F0D2CBC 0C00312D */ jal joyGetStickXInRange
|
||||
/* 1077F0 7F0D2CC0 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 1077F4 7F0D2CC4 00002025 */ move $a0, $zero
|
||||
/* 1077F8 7F0D2CC8 2405FFFD */ li $a1, -3
|
||||
/* 1077FC 7F0D2CCC 24060003 */ li $a2, 3
|
||||
/* 107800 7F0D2CD0 0C00314A */ jal get_controller_3dstick_U_D
|
||||
/* 107800 7F0D2CD0 0C00314A */ jal joyGetStickYInRange
|
||||
/* 107804 7F0D2CD4 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 107808 7F0D2CD8 240E00FF */ li $t6, 255
|
||||
/* 10780C 7F0D2CDC 3C018005 */ lui $at, %hi(D_8004EC34)
|
||||
|
||||
@@ -2,6 +2,19 @@
|
||||
#define _SPECTRUM_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef enum SPECTRUMROMS {
|
||||
ROM_SABRE,
|
||||
ROM_ATIC,
|
||||
ROM_JETPAC,
|
||||
ROM_JETMAN,
|
||||
ROM_ALIEN8,
|
||||
ROM_GUNFRIGHT,
|
||||
ROM_UNDER,
|
||||
ROM_KNIGHTLORE,
|
||||
ROM_PSSST,
|
||||
ROM_COOKIE
|
||||
} SPECTRUMROMS;
|
||||
|
||||
extern void init_spectrum_game(u32 game);
|
||||
extern void run_spectrum_game(void);
|
||||
extern void spectrum_draw_screen(u32);
|
||||
|
||||
+5
-5
@@ -234,7 +234,7 @@ u32 stanRemovedAnimationRoutine(s32 arg0) {
|
||||
}
|
||||
|
||||
void stanInitDebugNoticeList(void) {
|
||||
debCheckAddDebugNoticeListEntry(&stan_c_debug_notice_list_entry, &aStan_c_debug);//"stan_c_debug");
|
||||
debTryAdd(&stan_c_debug_notice_list_entry, &aStan_c_debug);//"stan_c_debug");
|
||||
}
|
||||
|
||||
|
||||
@@ -796,7 +796,7 @@ void stanLoadFile(void *arg0) {
|
||||
stanLoaded = 1;
|
||||
stan_prefix.clippingfile = arg0;
|
||||
standTileStart = (s32) (arg0->unk4 + -0x80);
|
||||
if (check_token(1, "-stanlinelog") != 0)
|
||||
if (tokenFind(1, "-stanlinelog") != 0)
|
||||
{
|
||||
stanlinelog_flag = 1;
|
||||
}
|
||||
@@ -822,7 +822,7 @@ glabel stanLoadFile
|
||||
/* 0E4114 7F0AF5E4 2719FF80 */ addiu $t9, $t8, -0x80
|
||||
/* 0E4118 7F0AF5E8 AC390F58 */ sw $t9, %lo(standTileStart)($at)
|
||||
/* 0E411C 7F0AF5EC 24A585BC */ addiu $a1, %lo(aStanlinelog) # addiu $a1, $a1, -0x7a44
|
||||
/* 0E4120 7F0AF5F0 0C0029A8 */ jal check_token
|
||||
/* 0E4120 7F0AF5F0 0C0029A8 */ jal tokenFind
|
||||
/* 0E4124 7F0AF5F4 24040001 */ li $a0, 1
|
||||
/* 0E4128 7F0AF5F8 10400003 */ beqz $v0, .L7F0AF608
|
||||
/* 0E412C 7F0AF5FC 24080001 */ li $t0, 1
|
||||
@@ -6376,12 +6376,12 @@ GLOBAL_ASM(
|
||||
glabel sub_GAME_7F0B3044
|
||||
/* 0E7B74 7F0B3044 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0E7B78 7F0B3048 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0E7B7C 7F0B304C 0FC2F5DF */ jal num_microcode_cmds_that_fit
|
||||
/* 0E7B7C 7F0B304C 0FC2F5DF */ jal dynGetFreeGfx
|
||||
/* 0E7B80 7F0B3050 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* 0E7B84 7F0B3054 28411000 */ slti $at, $v0, 0x1000
|
||||
/* 0E7B88 7F0B3058 14200005 */ bnez $at, .L7F0B3070
|
||||
/* 0E7B8C 7F0B305C 00000000 */ nop
|
||||
/* 0E7B90 7F0B3060 0FC2F5E9 */ jal sub_GAME_7F0BD7A4
|
||||
/* 0E7B90 7F0B3060 0FC2F5E9 */ jal dynGetFreeVtx
|
||||
/* 0E7B94 7F0B3064 00000000 */ nop
|
||||
/* 0E7B98 7F0B3068 28411000 */ slti $at, $v0, 0x1000
|
||||
/* 0E7B9C 7F0B306C 10200010 */ beqz $at, .L7F0B30B0
|
||||
|
||||
+426
-189
@@ -270,197 +270,39 @@ glabel load_font_tables
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void microcode_constructor(u32 *DL)
|
||||
|
||||
Gfx *microcode_constructor(Gfx *gdl)
|
||||
{
|
||||
DL[0] = 0xe7000000; //rdp_pipesync
|
||||
DL[1] = 0;
|
||||
DL[2] = 0xba001402; //rsp_uc05_setothermode_h
|
||||
DL[3] = 0;
|
||||
DL[5] = 0xc0;
|
||||
DL[4] = 0xba000602; //rsp_uc05_setothermode_h
|
||||
DL[6] = 0xb900031d; //rsp_uc05_setothermode_l
|
||||
DL[7] = 0x5041c8;
|
||||
DL[8] = 0xfcff97ff; //rdp_setcombine
|
||||
DL[9] = 0xff2dfeff; //rdp_setcolourimage
|
||||
DL[10] = 0xba001301; //rsp_uc05_setothermode_h
|
||||
DL[0xb] = 0;
|
||||
DL[0xc] = 0xb9000002; //rsp_uc05_setothermode_l
|
||||
DL[0xd] = 0;
|
||||
DL[0xe] = 0xba001001; //rsp_uc05_setothermode_h
|
||||
DL[0xf] = 0;
|
||||
DL[0x11] = 0xc00;
|
||||
DL[0x10] = 0xba000903; //rsp_uc05_setothermode_h
|
||||
DL[0x12] = 0xba000e02; //rsp_uc05_setothermode_h
|
||||
DL[0x13] = 0;
|
||||
if (text_bilevel_filter != 0) {
|
||||
DL[0x15] = 0x3000;
|
||||
DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h
|
||||
return;
|
||||
}
|
||||
DL[0x15] = 0x2000;
|
||||
DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h
|
||||
return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel microcode_constructor
|
||||
/* 0E18C8 7F0ACD98 00801025 */ move $v0, $a0
|
||||
/* 0E18CC 7F0ACD9C 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E18D0 7F0ACDA0 3C0EE700 */ lui $t6, 0xe700
|
||||
/* 0E18D4 7F0ACDA4 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0E18D8 7F0ACDA8 AC400004 */ sw $zero, 4($v0)
|
||||
/* 0E18DC 7F0ACDAC 00801825 */ move $v1, $a0
|
||||
/* 0E18E0 7F0ACDB0 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E18E4 7F0ACDB4 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00
|
||||
/* 0E18E8 7F0ACDB8 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402
|
||||
/* 0E18EC 7F0ACDBC 00802825 */ move $a1, $a0
|
||||
/* 0E18F0 7F0ACDC0 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 0E18F4 7F0ACDC4 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0E18F8 7F0ACDC8 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E18FC 7F0ACDCC 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00
|
||||
/* 0E1900 7F0ACDD0 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602
|
||||
/* 0E1904 7F0ACDD4 241900C0 */ li $t9, 192
|
||||
/* 0E1908 7F0ACDD8 00803025 */ move $a2, $a0
|
||||
/* 0E190C 7F0ACDDC ACB90004 */ sw $t9, 4($a1)
|
||||
/* 0E1910 7F0ACDE0 ACB80000 */ sw $t8, ($a1)
|
||||
/* 0E1914 7F0ACDE4 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1918 7F0ACDE8 3C08B900 */ lui $t0, (0xB900031D >> 16) # lui $t0, 0xb900
|
||||
/* 0E191C 7F0ACDEC 3C090050 */ lui $t1, (0x005041C8 >> 16) # lui $t1, 0x50
|
||||
/* 0E1920 7F0ACDF0 352941C8 */ ori $t1, (0x005041C8 & 0xFFFF) # ori $t1, $t1, 0x41c8
|
||||
/* 0E1924 7F0ACDF4 3508031D */ ori $t0, (0xB900031D & 0xFFFF) # ori $t0, $t0, 0x31d
|
||||
/* 0E1928 7F0ACDF8 00803825 */ move $a3, $a0
|
||||
/* 0E192C 7F0ACDFC ACC80000 */ sw $t0, ($a2)
|
||||
/* 0E1930 7F0ACE00 ACC90004 */ sw $t1, 4($a2)
|
||||
/* 0E1934 7F0ACE04 3C0AFCFF */ lui $t2, (0xFCFF97FF >> 16) # lui $t2, 0xfcff
|
||||
/* 0E1938 7F0ACE08 3C0BFF2D */ lui $t3, (0xFF2DFEFF >> 16) # lui $t3, 0xff2d
|
||||
/* 0E193C 7F0ACE0C 356BFEFF */ ori $t3, (0xFF2DFEFF & 0xFFFF) # ori $t3, $t3, 0xfeff
|
||||
/* 0E1940 7F0ACE10 354A97FF */ ori $t2, (0xFCFF97FF & 0xFFFF) # ori $t2, $t2, 0x97ff
|
||||
/* 0E1944 7F0ACE14 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1948 7F0ACE18 ACEA0000 */ sw $t2, ($a3)
|
||||
/* 0E194C 7F0ACE1C ACEB0004 */ sw $t3, 4($a3)
|
||||
/* 0E1950 7F0ACE20 00801025 */ move $v0, $a0
|
||||
/* 0E1954 7F0ACE24 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1958 7F0ACE28 3C0CBA00 */ lui $t4, (0xBA001301 >> 16) # lui $t4, 0xba00
|
||||
/* 0E195C 7F0ACE2C 358C1301 */ ori $t4, (0xBA001301 & 0xFFFF) # ori $t4, $t4, 0x1301
|
||||
/* 0E1960 7F0ACE30 00801825 */ move $v1, $a0
|
||||
/* 0E1964 7F0ACE34 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 0E1968 7F0ACE38 AC400004 */ sw $zero, 4($v0)
|
||||
/* 0E196C 7F0ACE3C 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1970 7F0ACE40 3C0DB900 */ lui $t5, (0xB9000002 >> 16) # lui $t5, 0xb900
|
||||
/* 0E1974 7F0ACE44 35AD0002 */ ori $t5, (0xB9000002 & 0xFFFF) # ori $t5, $t5, 2
|
||||
/* 0E1978 7F0ACE48 00802825 */ move $a1, $a0
|
||||
/* 0E197C 7F0ACE4C AC6D0000 */ sw $t5, ($v1)
|
||||
/* 0E1980 7F0ACE50 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0E1984 7F0ACE54 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1988 7F0ACE58 3C0EBA00 */ lui $t6, (0xBA001001 >> 16) # lui $t6, 0xba00
|
||||
/* 0E198C 7F0ACE5C 35CE1001 */ ori $t6, (0xBA001001 & 0xFFFF) # ori $t6, $t6, 0x1001
|
||||
/* 0E1990 7F0ACE60 00803025 */ move $a2, $a0
|
||||
/* 0E1994 7F0ACE64 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 0E1998 7F0ACE68 ACA00004 */ sw $zero, 4($a1)
|
||||
/* 0E199C 7F0ACE6C 3C0FBA00 */ lui $t7, (0xBA000903 >> 16) # lui $t7, 0xba00
|
||||
/* 0E19A0 7F0ACE70 35EF0903 */ ori $t7, (0xBA000903 & 0xFFFF) # ori $t7, $t7, 0x903
|
||||
/* 0E19A4 7F0ACE74 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E19A8 7F0ACE78 24180C00 */ li $t8, 3072
|
||||
/* 0E19AC 7F0ACE7C ACD80004 */ sw $t8, 4($a2)
|
||||
/* 0E19B0 7F0ACE80 ACCF0000 */ sw $t7, ($a2)
|
||||
/* 0E19B4 7F0ACE84 00803825 */ move $a3, $a0
|
||||
/* 0E19B8 7F0ACE88 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00
|
||||
/* 0E19BC 7F0ACE8C 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02
|
||||
/* 0E19C0 7F0ACE90 ACF90000 */ sw $t9, ($a3)
|
||||
/* 0E19C4 7F0ACE94 ACE00004 */ sw $zero, 4($a3)
|
||||
/* 0E19C8 7F0ACE98 3C088004 */ lui $t0, %hi(text_bilevel_filter)
|
||||
/* 0E19CC 7F0ACE9C 8D080E94 */ lw $t0, %lo(text_bilevel_filter)($t0)
|
||||
/* 0E19D0 7F0ACEA0 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E19D4 7F0ACEA4 00801025 */ move $v0, $a0
|
||||
/* 0E19D8 7F0ACEA8 1100000A */ beqz $t0, .L7F0ACED4
|
||||
/* 0E19DC 7F0ACEAC 3C0BBA00 */ lui $t3, 0xba00
|
||||
/* 0E19E0 7F0ACEB0 00801025 */ move $v0, $a0
|
||||
/* 0E19E4 7F0ACEB4 3C09BA00 */ lui $t1, (0xBA000C02 >> 16) # lui $t1, 0xba00
|
||||
/* 0E19E8 7F0ACEB8 35290C02 */ ori $t1, (0xBA000C02 & 0xFFFF) # ori $t1, $t1, 0xc02
|
||||
/* 0E19EC 7F0ACEBC 240A3000 */ li $t2, 12288
|
||||
/* 0E19F0 7F0ACEC0 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* 0E19F4 7F0ACEC4 AC490000 */ sw $t1, ($v0)
|
||||
/* 0E19F8 7F0ACEC8 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E19FC 7F0ACECC 03E00008 */ jr $ra
|
||||
/* 0E1A00 7F0ACED0 00801025 */ move $v0, $a0
|
||||
gDPPipeSync(gdl++);
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetColorDither(gdl++, G_CD_DISABLE);
|
||||
gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
|
||||
gDPSetCombineLERP(gdl++,
|
||||
0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0,
|
||||
0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
|
||||
gDPSetTexturePersp(gdl++, G_TP_NONE);
|
||||
gDPSetAlphaCompare(gdl++, G_AC_NONE);
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
gDPSetTextureLUT(gdl++, G_TT_NONE);
|
||||
|
||||
.L7F0ACED4:
|
||||
/* 0E1A04 7F0ACED4 356B0C02 */ ori $t3, $t3, 0xc02
|
||||
/* 0E1A08 7F0ACED8 240C2000 */ li $t4, 8192
|
||||
/* 0E1A0C 7F0ACEDC AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 0E1A10 7F0ACEE0 AC4B0000 */ sw $t3, ($v0)
|
||||
/* 0E1A14 7F0ACEE4 24840008 */ addiu $a0, $a0, 8
|
||||
/* 0E1A18 7F0ACEE8 03E00008 */ jr $ra
|
||||
/* 0E1A1C 7F0ACEEC 00801025 */ move $v0, $a0
|
||||
)
|
||||
#endif
|
||||
if (text_bilevel_filter) {
|
||||
gDPSetTextureFilter(gdl++, G_TF_AVERAGE);
|
||||
} else {
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 combiner_bayer_lod_perspective(void *arg0) {
|
||||
void *temp_a1;
|
||||
void *temp_a2;
|
||||
void *temp_a3;
|
||||
|
||||
// Node 0
|
||||
temp_a1 = (arg0 + 8);
|
||||
*arg0 = 0xe7000000;
|
||||
arg0->unk4 = 0;
|
||||
temp_a2 = (temp_a1 + 8);
|
||||
temp_a1->unk4 = 0x40;
|
||||
*temp_a1 = 0xba000602;
|
||||
temp_a3 = (temp_a2 + 8);
|
||||
temp_a2->unk4 = 0x80000;
|
||||
*temp_a2 = 0xba001301;
|
||||
temp_a3->unk4 = 0x10000;
|
||||
*temp_a3 = 0xba001001;
|
||||
return;
|
||||
// (possible return value: (temp_a3 + 8))
|
||||
return gdl;
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel combiner_bayer_lod_perspective
|
||||
/* 0E1A20 7F0ACEF0 24850008 */ addiu $a1, $a0, 8
|
||||
/* 0E1A24 7F0ACEF4 3C0EE700 */ lui $t6, 0xe700
|
||||
/* 0E1A28 7F0ACEF8 AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0E1A2C 7F0ACEFC AC800004 */ sw $zero, 4($a0)
|
||||
/* 0E1A30 7F0ACF00 3C0FBA00 */ lui $t7, (0xBA000602 >> 16) # lui $t7, 0xba00
|
||||
/* 0E1A34 7F0ACF04 35EF0602 */ ori $t7, (0xBA000602 & 0xFFFF) # ori $t7, $t7, 0x602
|
||||
/* 0E1A38 7F0ACF08 24A60008 */ addiu $a2, $a1, 8
|
||||
/* 0E1A3C 7F0ACF0C 24180040 */ li $t8, 64
|
||||
/* 0E1A40 7F0ACF10 ACB80004 */ sw $t8, 4($a1)
|
||||
/* 0E1A44 7F0ACF14 ACAF0000 */ sw $t7, ($a1)
|
||||
/* 0E1A48 7F0ACF18 3C19BA00 */ lui $t9, (0xBA001301 >> 16) # lui $t9, 0xba00
|
||||
/* 0E1A4C 7F0ACF1C 37391301 */ ori $t9, (0xBA001301 & 0xFFFF) # ori $t9, $t9, 0x1301
|
||||
/* 0E1A50 7F0ACF20 24C70008 */ addiu $a3, $a2, 8
|
||||
/* 0E1A54 7F0ACF24 3C080008 */ lui $t0, 8
|
||||
/* 0E1A58 7F0ACF28 3C09BA00 */ lui $t1, (0xBA001001 >> 16) # lui $t1, 0xba00
|
||||
/* 0E1A5C 7F0ACF2C ACC80004 */ sw $t0, 4($a2)
|
||||
/* 0E1A60 7F0ACF30 ACD90000 */ sw $t9, ($a2)
|
||||
/* 0E1A64 7F0ACF34 35291001 */ ori $t1, (0xBA001001 & 0xFFFF) # ori $t1, $t1, 0x1001
|
||||
/* 0E1A68 7F0ACF38 3C0A0001 */ lui $t2, 1
|
||||
/* 0E1A6C 7F0ACF3C ACEA0004 */ sw $t2, 4($a3)
|
||||
/* 0E1A70 7F0ACF40 ACE90000 */ sw $t1, ($a3)
|
||||
/* 0E1A74 7F0ACF44 03E00008 */ jr $ra
|
||||
/* 0E1A78 7F0ACF48 24E20008 */ addiu $v0, $a3, 8
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Gfx *combiner_bayer_lod_perspective(Gfx *gdl)
|
||||
{
|
||||
gDPPipeSync(gdl++);
|
||||
gDPSetColorDither(gdl++, G_CD_BAYER);
|
||||
gDPSetTexturePersp(gdl++, G_TP_PERSP);
|
||||
gDPSetTextureLOD(gdl++, G_TL_LOD);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 draw_blackbox_to_screen(void *arg0, void *arg1, void *arg2, void *arg3, void *arg4) {
|
||||
@@ -691,7 +533,7 @@ glabel sub_GAME_7F0AD0F8
|
||||
/* 0E1CAC 7F0AD17C 8FA40108 */ lw $a0, 0x108($sp)
|
||||
/* 0E1CB0 7F0AD180 59A00244 */ blezl $t5, .L7F0ADA94
|
||||
/* 0E1CB4 7F0AD184 8FAC00F4 */ lw $t4, 0xf4($sp)
|
||||
/* 0E1CB8 7F0AD188 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 0E1CB8 7F0AD188 0C001107 */ jal viGetX
|
||||
/* 0E1CBC 7F0AD18C AFA900E0 */ sw $t1, 0xe0($sp)
|
||||
/* 0E1CC0 7F0AD190 8FAE00F4 */ lw $t6, 0xf4($sp)
|
||||
/* 0E1CC4 7F0AD194 8FA900E0 */ lw $t1, 0xe0($sp)
|
||||
@@ -699,7 +541,7 @@ glabel sub_GAME_7F0AD0F8
|
||||
/* 0E1CCC 7F0AD19C 004F082A */ slt $at, $v0, $t7
|
||||
/* 0E1CD0 7F0AD1A0 5420023C */ bnezl $at, .L7F0ADA94
|
||||
/* 0E1CD4 7F0AD1A4 8FAC00F4 */ lw $t4, 0xf4($sp)
|
||||
/* 0E1CD8 7F0AD1A8 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 0E1CD8 7F0AD1A8 0C00110B */ jal viGetY
|
||||
/* 0E1CDC 7F0AD1AC AFA900E0 */ sw $t1, 0xe0($sp)
|
||||
/* 0E1CE0 7F0AD1B0 8FA900E0 */ lw $t1, 0xe0($sp)
|
||||
/* 0E1CE4 7F0AD1B4 8E2C0004 */ lw $t4, 4($s1)
|
||||
@@ -1725,6 +1567,215 @@ glabel en_text_write_stuff
|
||||
/* 0E28D8 7F0ADDA8 27BD00A8 */ addiu $sp, $sp, 0xa8
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel en_text_write_stuff
|
||||
/* 0E25EC 7F0ADABC 27BDFF58 */ addiu $sp, $sp, -0xa8
|
||||
/* 0E25F0 7F0ADAC0 240E0001 */ li $t6, 1
|
||||
/* 0E25F4 7F0ADAC4 3C018004 */ lui $at, %hi(D_80040EA8)
|
||||
/* 0E25F8 7F0ADAC8 8FB800D0 */ lw $t8, 0xd0($sp)
|
||||
/* 0E25FC 7F0ADACC AFBF005C */ sw $ra, 0x5c($sp)
|
||||
/* 0E2600 7F0ADAD0 AFBE0058 */ sw $fp, 0x58($sp)
|
||||
/* 0E2604 7F0ADAD4 AFB70054 */ sw $s7, 0x54($sp)
|
||||
/* 0E2608 7F0ADAD8 AFB60050 */ sw $s6, 0x50($sp)
|
||||
/* 0E260C 7F0ADADC AFB5004C */ sw $s5, 0x4c($sp)
|
||||
/* 0E2610 7F0ADAE0 AFB40048 */ sw $s4, 0x48($sp)
|
||||
/* 0E2614 7F0ADAE4 AFB30044 */ sw $s3, 0x44($sp)
|
||||
/* 0E2618 7F0ADAE8 AFB20040 */ sw $s2, 0x40($sp)
|
||||
/* 0E261C 7F0ADAEC AFB1003C */ sw $s1, 0x3c($sp)
|
||||
/* 0E2620 7F0ADAF0 AFB00038 */ sw $s0, 0x38($sp)
|
||||
/* 0E2624 7F0ADAF4 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at)
|
||||
/* 0E2628 7F0ADAF8 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 0E262C 7F0ADAFC 8CB40000 */ lw $s4, ($a1)
|
||||
/* 0E2630 7F0ADB00 00E08025 */ move $s0, $a3
|
||||
/* 0E2634 7F0ADB04 00A08825 */ move $s1, $a1
|
||||
/* 0E2638 7F0ADB08 00C09025 */ move $s2, $a2
|
||||
/* 0E263C 7F0ADB0C 00809825 */ move $s3, $a0
|
||||
/* 0E2640 7F0ADB10 24150048 */ li $s5, 72
|
||||
/* 0E2644 7F0ADB14 17000006 */ bnez $t8, .L7F0ADB30
|
||||
/* 0E2648 7F0ADB18 AFAF00A0 */ sw $t7, 0xa0($sp)
|
||||
/* 0E264C 7F0ADB1C 8FB900B8 */ lw $t9, 0xb8($sp)
|
||||
/* 0E2650 7F0ADB20 8F28088C */ lw $t0, 0x88c($t9)
|
||||
/* 0E2654 7F0ADB24 8F290890 */ lw $t1, 0x890($t9)
|
||||
/* 0E2658 7F0ADB28 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0E265C 7F0ADB2C AFAA00D0 */ sw $t2, 0xd0($sp)
|
||||
.L7F0ADB30:
|
||||
/* 0E2660 7F0ADB30 3C0B8005 */ lui $t3, %hi(j_text_trigger)
|
||||
/* 0E2664 7F0ADB34 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3)
|
||||
/* 0E2668 7F0ADB38 8FAC00D0 */ lw $t4, 0xd0($sp)
|
||||
/* 0E266C 7F0ADB3C 02602025 */ move $a0, $s3
|
||||
/* 0E2670 7F0ADB40 11600004 */ beqz $t3, .L7F0ADB54
|
||||
/* 0E2674 7F0ADB44 2981000E */ slti $at, $t4, 0xe
|
||||
/* 0E2678 7F0ADB48 10200002 */ beqz $at, .L7F0ADB54
|
||||
/* 0E267C 7F0ADB4C 240D000E */ li $t5, 14
|
||||
/* 0E2680 7F0ADB50 AFAD00D0 */ sw $t5, 0xd0($sp)
|
||||
.L7F0ADB54:
|
||||
/* 0E2684 7F0ADB54 8FA300C0 */ lw $v1, 0xc0($sp)
|
||||
/* 0E2688 7F0ADB58 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* 0E268C 7F0ADB5C AC8E0000 */ sw $t6, ($a0)
|
||||
/* 0E2690 7F0ADB60 0003CE02 */ srl $t9, $v1, 0x18
|
||||
/* 0E2694 7F0ADB64 00035402 */ srl $t2, $v1, 0x10
|
||||
/* 0E2698 7F0ADB68 314B00FF */ andi $t3, $t2, 0xff
|
||||
/* 0E269C 7F0ADB6C 00194600 */ sll $t0, $t9, 0x18
|
||||
/* 0E26A0 7F0ADB70 00037A02 */ srl $t7, $v1, 8
|
||||
/* 0E26A4 7F0ADB74 31F800FF */ andi $t8, $t7, 0xff
|
||||
/* 0E26A8 7F0ADB78 000B6400 */ sll $t4, $t3, 0x10
|
||||
/* 0E26AC 7F0ADB7C 010C6825 */ or $t5, $t0, $t4
|
||||
/* 0E26B0 7F0ADB80 0018CA00 */ sll $t9, $t8, 8
|
||||
/* 0E26B4 7F0ADB84 01B94825 */ or $t1, $t5, $t9
|
||||
/* 0E26B8 7F0ADB88 306B00FF */ andi $t3, $v1, 0xff
|
||||
/* 0E26BC 7F0ADB8C 012B4025 */ or $t0, $t1, $t3
|
||||
/* 0E26C0 7F0ADB90 AC880004 */ sw $t0, 4($a0)
|
||||
/* 0E26C4 7F0ADB94 92020000 */ lbu $v0, ($s0)
|
||||
/* 0E26C8 7F0ADB98 26730008 */ addiu $s3, $s3, 8
|
||||
/* 0E26CC 7F0ADB9C 8FB700BC */ lw $s7, 0xbc($sp)
|
||||
/* 0E26D0 7F0ADBA0 10400075 */ beqz $v0, .L7F0ADD78
|
||||
/* 0E26D4 7F0ADBA4 8FBE00C4 */ lw $fp, 0xc4($sp)
|
||||
/* 0E26D8 7F0ADBA8 27B6006C */ addiu $s6, $sp, 0x6c
|
||||
/* 0E26DC 7F0ADBAC 24010020 */ li $at, 32
|
||||
.L7F0ADBB0:
|
||||
/* 0E26E0 7F0ADBB0 54410008 */ bnel $v0, $at, .L7F0ADBD4
|
||||
/* 0E26E4 7F0ADBB4 2401000A */ li $at, 10
|
||||
/* 0E26E8 7F0ADBB8 8E2C0000 */ lw $t4, ($s1)
|
||||
/* 0E26EC 7F0ADBBC 24150048 */ li $s5, 72
|
||||
/* 0E26F0 7F0ADBC0 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0E26F4 7F0ADBC4 258E0005 */ addiu $t6, $t4, 5
|
||||
/* 0E26F8 7F0ADBC8 10000068 */ b .L7F0ADD6C
|
||||
/* 0E26FC 7F0ADBCC AE2E0000 */ sw $t6, ($s1)
|
||||
/* 0E2700 7F0ADBD0 2401000A */ li $at, 10
|
||||
.L7F0ADBD4:
|
||||
/* 0E2704 7F0ADBD4 54410014 */ bnel $v0, $at, .L7F0ADC28
|
||||
/* 0E2708 7F0ADBD8 28410080 */ slti $at, $v0, 0x80
|
||||
/* 0E270C 7F0ADBDC 3C028004 */ lui $v0, %hi(overlap_correction)
|
||||
/* 0E2710 7F0ADBE0 8C420E90 */ lw $v0, %lo(overlap_correction)($v0)
|
||||
/* 0E2714 7F0ADBE4 24150048 */ li $s5, 72
|
||||
/* 0E2718 7F0ADBE8 8FAA00D0 */ lw $t2, 0xd0($sp)
|
||||
/* 0E271C 7F0ADBEC 04400008 */ bltz $v0, .L7F0ADC10
|
||||
/* 0E2720 7F0ADBF0 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0E2724 7F0ADBF4 8E2F0000 */ lw $t7, ($s1)
|
||||
/* 0E2728 7F0ADBF8 568F0006 */ bnel $s4, $t7, .L7F0ADC14
|
||||
/* 0E272C 7F0ADBFC 8E590000 */ lw $t9, ($s2)
|
||||
/* 0E2730 7F0ADC00 8E580000 */ lw $t8, ($s2)
|
||||
/* 0E2734 7F0ADC04 03026821 */ addu $t5, $t8, $v0
|
||||
/* 0E2738 7F0ADC08 10000004 */ b .L7F0ADC1C
|
||||
/* 0E273C 7F0ADC0C AE4D0000 */ sw $t5, ($s2)
|
||||
.L7F0ADC10:
|
||||
/* 0E2740 7F0ADC10 8E590000 */ lw $t9, ($s2)
|
||||
.L7F0ADC14:
|
||||
/* 0E2744 7F0ADC14 032A4821 */ addu $t1, $t9, $t2
|
||||
/* 0E2748 7F0ADC18 AE490000 */ sw $t1, ($s2)
|
||||
.L7F0ADC1C:
|
||||
/* 0E274C 7F0ADC1C 10000053 */ b .L7F0ADD6C
|
||||
/* 0E2750 7F0ADC20 AE340000 */ sw $s4, ($s1)
|
||||
/* 0E2754 7F0ADC24 28410080 */ slti $at, $v0, 0x80
|
||||
.L7F0ADC28:
|
||||
/* 0E2758 7F0ADC28 1020001D */ beqz $at, .L7F0ADCA0
|
||||
/* 0E275C 7F0ADC2C 3C0E8004 */ lui $t6, %hi(D_80040EFC)
|
||||
/* 0E2760 7F0ADC30 24030018 */ li $v1, 24
|
||||
/* 0E2764 7F0ADC34 00430019 */ multu $v0, $v1
|
||||
/* 0E2768 7F0ADC38 8FA800B8 */ lw $t0, 0xb8($sp)
|
||||
/* 0E276C 7F0ADC3C 8FB800A0 */ lw $t8, 0xa0($sp)
|
||||
/* 0E2770 7F0ADC40 8FAD00C8 */ lw $t5, 0xc8($sp)
|
||||
/* 0E2774 7F0ADC44 8FB900CC */ lw $t9, 0xcc($sp)
|
||||
/* 0E2778 7F0ADC48 02602025 */ move $a0, $s3
|
||||
/* 0E277C 7F0ADC4C 02202825 */ move $a1, $s1
|
||||
/* 0E2780 7F0ADC50 02403025 */ move $a2, $s2
|
||||
/* 0E2784 7F0ADC54 AFB70014 */ sw $s7, 0x14($sp)
|
||||
/* 0E2788 7F0ADC58 AFB40018 */ sw $s4, 0x18($sp)
|
||||
/* 0E278C 7F0ADC5C 00005812 */ mflo $t3
|
||||
/* 0E2790 7F0ADC60 01683821 */ addu $a3, $t3, $t0
|
||||
/* 0E2794 7F0ADC64 24E7FCE8 */ addiu $a3, $a3, -0x318
|
||||
/* 0E2798 7F0ADC68 02A30019 */ multu $s5, $v1
|
||||
/* 0E279C 7F0ADC6C AFBE0020 */ sw $fp, 0x20($sp)
|
||||
/* 0E27A0 7F0ADC70 AFB8001C */ sw $t8, 0x1c($sp)
|
||||
/* 0E27A4 7F0ADC74 AFAD0024 */ sw $t5, 0x24($sp)
|
||||
/* 0E27A8 7F0ADC78 AFB90028 */ sw $t9, 0x28($sp)
|
||||
/* 0E27AC 7F0ADC7C 00006012 */ mflo $t4
|
||||
/* 0E27B0 7F0ADC80 01887021 */ addu $t6, $t4, $t0
|
||||
/* 0E27B4 7F0ADC84 25CFFCE8 */ addiu $t7, $t6, -0x318
|
||||
/* 0E27B8 7F0ADC88 0FC2B43E */ jal sub_GAME_7F0AD0F8
|
||||
/* 0E27BC 7F0ADC8C AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 0E27C0 7F0ADC90 00409825 */ move $s3, $v0
|
||||
/* 0E27C4 7F0ADC94 92150000 */ lbu $s5, ($s0)
|
||||
/* 0E27C8 7F0ADC98 10000034 */ b .L7F0ADD6C
|
||||
/* 0E27CC 7F0ADC9C 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F0ADCA0:
|
||||
/* 0E27D0 7F0ADCA0 25CE0EFC */ addiu $t6, $t6, %lo(D_80040EFC)
|
||||
/* 0E27D4 7F0ADCA4 8DC10000 */ lw $at, ($t6)
|
||||
/* 0E27D8 7F0ADCA8 920A0001 */ lbu $t2, 1($s0)
|
||||
/* 0E27DC 7F0ADCAC 304B007F */ andi $t3, $v0, 0x7f
|
||||
/* 0E27E0 7F0ADCB0 AEC10000 */ sw $at, ($s6)
|
||||
/* 0E27E4 7F0ADCB4 8DD80004 */ lw $t8, 4($t6)
|
||||
/* 0E27E8 7F0ADCB8 000B61C0 */ sll $t4, $t3, 7
|
||||
/* 0E27EC 7F0ADCBC 3149007F */ andi $t1, $t2, 0x7f
|
||||
/* 0E27F0 7F0ADCC0 AED80004 */ sw $t8, 4($s6)
|
||||
/* 0E27F4 7F0ADCC4 8DC10008 */ lw $at, 8($t6)
|
||||
/* 0E27F8 7F0ADCC8 012C1825 */ or $v1, $t1, $t4
|
||||
/* 0E27FC 7F0ADCCC 3064FFFF */ andi $a0, $v1, 0xffff
|
||||
/* 0E2800 7F0ADCD0 AEC10008 */ sw $at, 8($s6)
|
||||
/* 0E2804 7F0ADCD4 8DD8000C */ lw $t8, 0xc($t6)
|
||||
/* 0E2808 7F0ADCD8 308D2000 */ andi $t5, $a0, 0x2000
|
||||
/* 0E280C 7F0ADCDC 308B1FFF */ andi $t3, $a0, 0x1fff
|
||||
/* 0E2810 7F0ADCE0 AED8000C */ sw $t8, 0xc($s6)
|
||||
/* 0E2814 7F0ADCE4 8DC10010 */ lw $at, 0x10($t6)
|
||||
/* 0E2818 7F0ADCE8 2419000F */ li $t9, 15
|
||||
/* 0E281C 7F0ADCEC 240A0010 */ li $t2, 16
|
||||
/* 0E2820 7F0ADCF0 AEC10010 */ sw $at, 0x10($s6)
|
||||
/* 0E2824 7F0ADCF4 8DD80014 */ lw $t8, 0x14($t6)
|
||||
/* 0E2828 7F0ADCF8 296103C7 */ slti $at, $t3, 0x3c7
|
||||
/* 0E282C 7F0ADCFC 11A00003 */ beqz $t5, .L7F0ADD0C
|
||||
/* 0E2830 7F0ADD00 AED80014 */ sw $t8, 0x14($s6)
|
||||
/* 0E2834 7F0ADD04 AFB90078 */ sw $t9, 0x78($sp)
|
||||
/* 0E2838 7F0ADD08 AFAA0074 */ sw $t2, 0x74($sp)
|
||||
.L7F0ADD0C:
|
||||
/* 0E283C 7F0ADD0C 54200003 */ bnezl $at, .L7F0ADD1C
|
||||
/* 0E2840 7F0ADD10 24890080 */ addiu $t1, $a0, 0x80
|
||||
/* 0E2844 7F0ADD14 24040002 */ li $a0, 2
|
||||
/* 0E2848 7F0ADD18 24890080 */ addiu $t1, $a0, 0x80
|
||||
.L7F0ADD1C:
|
||||
/* 0E284C 7F0ADD1C 0FC3068C */ jal something_with_LnameX
|
||||
/* 0E2850 7F0ADD20 AFA9006C */ sw $t1, 0x6c($sp)
|
||||
/* 0E2854 7F0ADD24 8FAC00A0 */ lw $t4, 0xa0($sp)
|
||||
/* 0E2858 7F0ADD28 8FA800C8 */ lw $t0, 0xc8($sp)
|
||||
/* 0E285C 7F0ADD2C 8FAF00CC */ lw $t7, 0xcc($sp)
|
||||
/* 0E2860 7F0ADD30 AFA20080 */ sw $v0, 0x80($sp)
|
||||
/* 0E2864 7F0ADD34 02602025 */ move $a0, $s3
|
||||
/* 0E2868 7F0ADD38 02202825 */ move $a1, $s1
|
||||
/* 0E286C 7F0ADD3C 02403025 */ move $a2, $s2
|
||||
/* 0E2870 7F0ADD40 02C03825 */ move $a3, $s6
|
||||
/* 0E2874 7F0ADD44 AFB60010 */ sw $s6, 0x10($sp)
|
||||
/* 0E2878 7F0ADD48 AFB70014 */ sw $s7, 0x14($sp)
|
||||
/* 0E287C 7F0ADD4C AFB40018 */ sw $s4, 0x18($sp)
|
||||
/* 0E2880 7F0ADD50 AFBE0020 */ sw $fp, 0x20($sp)
|
||||
/* 0E2884 7F0ADD54 AFAC001C */ sw $t4, 0x1c($sp)
|
||||
/* 0E2888 7F0ADD58 AFA80024 */ sw $t0, 0x24($sp)
|
||||
/* 0E288C 7F0ADD5C 0FC2B43E */ jal sub_GAME_7F0AD0F8
|
||||
/* 0E2890 7F0ADD60 AFAF0028 */ sw $t7, 0x28($sp)
|
||||
/* 0E2894 7F0ADD64 00409825 */ move $s3, $v0
|
||||
/* 0E2898 7F0ADD68 26100002 */ addiu $s0, $s0, 2
|
||||
.L7F0ADD6C:
|
||||
/* 0E289C 7F0ADD6C 92020000 */ lbu $v0, ($s0)
|
||||
/* 0E28A0 7F0ADD70 5440FF8F */ bnezl $v0, .L7F0ADBB0
|
||||
/* 0E28A4 7F0ADD74 24010020 */ li $at, 32
|
||||
.L7F0ADD78:
|
||||
/* 0E28A8 7F0ADD78 8FBF005C */ lw $ra, 0x5c($sp)
|
||||
/* 0E28AC 7F0ADD7C 02601025 */ move $v0, $s3
|
||||
/* 0E28B0 7F0ADD80 8FB30044 */ lw $s3, 0x44($sp)
|
||||
/* 0E28B4 7F0ADD84 8FB00038 */ lw $s0, 0x38($sp)
|
||||
/* 0E28B8 7F0ADD88 8FB1003C */ lw $s1, 0x3c($sp)
|
||||
/* 0E28BC 7F0ADD8C 8FB20040 */ lw $s2, 0x40($sp)
|
||||
/* 0E28C0 7F0ADD90 8FB40048 */ lw $s4, 0x48($sp)
|
||||
/* 0E28C4 7F0ADD94 8FB5004C */ lw $s5, 0x4c($sp)
|
||||
/* 0E28C8 7F0ADD98 8FB60050 */ lw $s6, 0x50($sp)
|
||||
/* 0E28CC 7F0ADD9C 8FB70054 */ lw $s7, 0x54($sp)
|
||||
/* 0E28D0 7F0ADDA0 8FBE0058 */ lw $fp, 0x58($sp)
|
||||
/* 0E28D4 7F0ADDA4 03E00008 */ jr $ra
|
||||
/* 0E28D8 7F0ADDA8 27BD00A8 */ addiu $sp, $sp, 0xa8
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1779,14 +1830,14 @@ glabel sub_GAME_7F0ADDAC
|
||||
/* 0E2974 7F0ADE44 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 0E2978 7F0ADE48 59C00173 */ blezl $t6, .L7F0AE418
|
||||
/* 0E297C 7F0ADE4C 8FA50064 */ lw $a1, 0x64($sp)
|
||||
/* 0E2980 7F0ADE50 0C001107 */ jal get_video2_settings_txtClipW
|
||||
/* 0E2980 7F0ADE50 0C001107 */ jal viGetX
|
||||
/* 0E2984 7F0ADE54 AFA50064 */ sw $a1, 0x64($sp)
|
||||
/* 0E2988 7F0ADE58 8FAD0064 */ lw $t5, 0x64($sp)
|
||||
/* 0E298C 7F0ADE5C 8DAF0000 */ lw $t7, ($t5)
|
||||
/* 0E2990 7F0ADE60 004F082A */ slt $at, $v0, $t7
|
||||
/* 0E2994 7F0ADE64 5420016C */ bnezl $at, .L7F0AE418
|
||||
/* 0E2998 7F0ADE68 8FA50064 */ lw $a1, 0x64($sp)
|
||||
/* 0E299C 7F0ADE6C 0C00110B */ jal get_video2_settings_txtClipH
|
||||
/* 0E299C 7F0ADE6C 0C00110B */ jal viGetY
|
||||
/* 0E29A0 7F0ADE70 00000000 */ nop
|
||||
/* 0E29A4 7F0ADE74 8FB80050 */ lw $t8, 0x50($sp)
|
||||
/* 0E29A8 7F0ADE78 8FC90004 */ lw $t1, 4($fp)
|
||||
@@ -2750,6 +2801,192 @@ glabel jp_text_write_stuff
|
||||
/* 0E34B8 7F0AE988 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel jp_text_write_stuff
|
||||
/* 0E321C 7F0AE6EC 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* 0E3220 7F0AE6F0 240E0001 */ li $t6, 1
|
||||
/* 0E3224 7F0AE6F4 3C018004 */ lui $at, %hi(D_80040EA8)
|
||||
/* 0E3228 7F0AE6F8 8FB800C4 */ lw $t8, 0xc4($sp)
|
||||
/* 0E322C 7F0AE6FC AFBF0064 */ sw $ra, 0x64($sp)
|
||||
/* 0E3230 7F0AE700 AFBE0060 */ sw $fp, 0x60($sp)
|
||||
/* 0E3234 7F0AE704 AFB7005C */ sw $s7, 0x5c($sp)
|
||||
/* 0E3238 7F0AE708 AFB60058 */ sw $s6, 0x58($sp)
|
||||
/* 0E323C 7F0AE70C AFB50054 */ sw $s5, 0x54($sp)
|
||||
/* 0E3240 7F0AE710 AFB40050 */ sw $s4, 0x50($sp)
|
||||
/* 0E3244 7F0AE714 AFB3004C */ sw $s3, 0x4c($sp)
|
||||
/* 0E3248 7F0AE718 AFB20048 */ sw $s2, 0x48($sp)
|
||||
/* 0E324C 7F0AE71C AFB10044 */ sw $s1, 0x44($sp)
|
||||
/* 0E3250 7F0AE720 AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 0E3254 7F0AE724 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at)
|
||||
/* 0E3258 7F0AE728 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 0E325C 7F0AE72C 8CB60000 */ lw $s6, ($a1)
|
||||
/* 0E3260 7F0AE730 00E08025 */ move $s0, $a3
|
||||
/* 0E3264 7F0AE734 00A08825 */ move $s1, $a1
|
||||
/* 0E3268 7F0AE738 00C09825 */ move $s3, $a2
|
||||
/* 0E326C 7F0AE73C 0080A825 */ move $s5, $a0
|
||||
/* 0E3270 7F0AE740 24140048 */ li $s4, 72
|
||||
/* 0E3274 7F0AE744 17000006 */ bnez $t8, .L7F0AE760
|
||||
/* 0E3278 7F0AE748 AFAF0090 */ sw $t7, 0x90($sp)
|
||||
/* 0E327C 7F0AE74C 8FB900A8 */ lw $t9, 0xa8($sp)
|
||||
/* 0E3280 7F0AE750 8F28088C */ lw $t0, 0x88c($t9)
|
||||
/* 0E3284 7F0AE754 8F290890 */ lw $t1, 0x890($t9)
|
||||
/* 0E3288 7F0AE758 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0E328C 7F0AE75C AFAA00C4 */ sw $t2, 0xc4($sp)
|
||||
.L7F0AE760:
|
||||
/* 0E3290 7F0AE760 3C0B8005 */ lui $t3, %hi(j_text_trigger)
|
||||
/* 0E3294 7F0AE764 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3)
|
||||
/* 0E3298 7F0AE768 8FAC00C4 */ lw $t4, 0xc4($sp)
|
||||
/* 0E329C 7F0AE76C 27B20074 */ addiu $s2, $sp, 0x74
|
||||
/* 0E32A0 7F0AE770 11600004 */ beqz $t3, .L7F0AE784
|
||||
/* 0E32A4 7F0AE774 2981000E */ slti $at, $t4, 0xe
|
||||
/* 0E32A8 7F0AE778 10200002 */ beqz $at, .L7F0AE784
|
||||
/* 0E32AC 7F0AE77C 240D000E */ li $t5, 14
|
||||
/* 0E32B0 7F0AE780 AFAD00C4 */ sw $t5, 0xc4($sp)
|
||||
.L7F0AE784:
|
||||
/* 0E32B4 7F0AE784 92020000 */ lbu $v0, ($s0)
|
||||
/* 0E32B8 7F0AE788 8FBE00B0 */ lw $fp, 0xb0($sp)
|
||||
/* 0E32BC 7F0AE78C 8FB700AC */ lw $s7, 0xac($sp)
|
||||
/* 0E32C0 7F0AE790 10400071 */ beqz $v0, .L7F0AE958
|
||||
/* 0E32C4 7F0AE794 24010020 */ li $at, 32
|
||||
.L7F0AE798:
|
||||
/* 0E32C8 7F0AE798 54410008 */ bnel $v0, $at, .L7F0AE7BC
|
||||
/* 0E32CC 7F0AE79C 2401000A */ li $at, 10
|
||||
/* 0E32D0 7F0AE7A0 8E2E0000 */ lw $t6, ($s1)
|
||||
/* 0E32D4 7F0AE7A4 24140048 */ li $s4, 72
|
||||
/* 0E32D8 7F0AE7A8 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0E32DC 7F0AE7AC 25CF0005 */ addiu $t7, $t6, 5
|
||||
/* 0E32E0 7F0AE7B0 10000066 */ b .L7F0AE94C
|
||||
/* 0E32E4 7F0AE7B4 AE2F0000 */ sw $t7, ($s1)
|
||||
/* 0E32E8 7F0AE7B8 2401000A */ li $at, 10
|
||||
.L7F0AE7BC:
|
||||
/* 0E32EC 7F0AE7BC 5441000A */ bnel $v0, $at, .L7F0AE7E8
|
||||
/* 0E32F0 7F0AE7C0 28410080 */ slti $at, $v0, 0x80
|
||||
/* 0E32F4 7F0AE7C4 AE360000 */ sw $s6, ($s1)
|
||||
/* 0E32F8 7F0AE7C8 8E780000 */ lw $t8, ($s3)
|
||||
/* 0E32FC 7F0AE7CC 8FB900C4 */ lw $t9, 0xc4($sp)
|
||||
/* 0E3300 7F0AE7D0 24140048 */ li $s4, 72
|
||||
/* 0E3304 7F0AE7D4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0E3308 7F0AE7D8 03194021 */ addu $t0, $t8, $t9
|
||||
/* 0E330C 7F0AE7DC 1000005B */ b .L7F0AE94C
|
||||
/* 0E3310 7F0AE7E0 AE680000 */ sw $t0, ($s3)
|
||||
/* 0E3314 7F0AE7E4 28410080 */ slti $at, $v0, 0x80
|
||||
.L7F0AE7E8:
|
||||
/* 0E3318 7F0AE7E8 10200021 */ beqz $at, .L7F0AE870
|
||||
/* 0E331C 7F0AE7EC 3C0E8004 */ lui $t6, %hi(D_80040F14)
|
||||
/* 0E3320 7F0AE7F0 24030018 */ li $v1, 24
|
||||
/* 0E3324 7F0AE7F4 00430019 */ multu $v0, $v1
|
||||
/* 0E3328 7F0AE7F8 8FAA00A8 */ lw $t2, 0xa8($sp)
|
||||
/* 0E332C 7F0AE7FC 8FAE0090 */ lw $t6, 0x90($sp)
|
||||
/* 0E3330 7F0AE800 8FAF00B4 */ lw $t7, 0xb4($sp)
|
||||
/* 0E3334 7F0AE804 8FB800B8 */ lw $t8, 0xb8($sp)
|
||||
/* 0E3338 7F0AE808 8FB900BC */ lw $t9, 0xbc($sp)
|
||||
/* 0E333C 7F0AE80C 8FA800C0 */ lw $t0, 0xc0($sp)
|
||||
/* 0E3340 7F0AE810 02A02025 */ move $a0, $s5
|
||||
/* 0E3344 7F0AE814 02202825 */ move $a1, $s1
|
||||
/* 0E3348 7F0AE818 02603025 */ move $a2, $s3
|
||||
/* 0E334C 7F0AE81C 00004812 */ mflo $t1
|
||||
/* 0E3350 7F0AE820 012A3821 */ addu $a3, $t1, $t2
|
||||
/* 0E3354 7F0AE824 24E7FCE8 */ addiu $a3, $a3, -0x318
|
||||
/* 0E3358 7F0AE828 02830019 */ multu $s4, $v1
|
||||
/* 0E335C 7F0AE82C AFB70014 */ sw $s7, 0x14($sp)
|
||||
/* 0E3360 7F0AE830 AFB60018 */ sw $s6, 0x18($sp)
|
||||
/* 0E3364 7F0AE834 AFBE0020 */ sw $fp, 0x20($sp)
|
||||
/* 0E3368 7F0AE838 AFAE001C */ sw $t6, 0x1c($sp)
|
||||
/* 0E336C 7F0AE83C AFAF0024 */ sw $t7, 0x24($sp)
|
||||
/* 0E3370 7F0AE840 AFB80028 */ sw $t8, 0x28($sp)
|
||||
/* 0E3374 7F0AE844 AFB9002C */ sw $t9, 0x2c($sp)
|
||||
/* 0E3378 7F0AE848 AFA80030 */ sw $t0, 0x30($sp)
|
||||
/* 0E337C 7F0AE84C 00005812 */ mflo $t3
|
||||
/* 0E3380 7F0AE850 016A6021 */ addu $t4, $t3, $t2
|
||||
/* 0E3384 7F0AE854 258DFCE8 */ addiu $t5, $t4, -0x318
|
||||
/* 0E3388 7F0AE858 0FC2B76B */ jal sub_GAME_7F0ADDAC
|
||||
/* 0E338C 7F0AE85C AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 0E3390 7F0AE860 0040A825 */ move $s5, $v0
|
||||
/* 0E3394 7F0AE864 92140000 */ lbu $s4, ($s0)
|
||||
/* 0E3398 7F0AE868 10000038 */ b .L7F0AE94C
|
||||
/* 0E339C 7F0AE86C 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F0AE870:
|
||||
/* 0E33A0 7F0AE870 25CE0F14 */ addiu $t6, $t6, %lo(D_80040F14)
|
||||
/* 0E33A4 7F0AE874 8DC10000 */ lw $at, ($t6)
|
||||
/* 0E33A8 7F0AE878 92090001 */ lbu $t1, 1($s0)
|
||||
/* 0E33AC 7F0AE87C 304A007F */ andi $t2, $v0, 0x7f
|
||||
/* 0E33B0 7F0AE880 AE410000 */ sw $at, ($s2)
|
||||
/* 0E33B4 7F0AE884 8DD80004 */ lw $t8, 4($t6)
|
||||
/* 0E33B8 7F0AE888 000A61C0 */ sll $t4, $t2, 7
|
||||
/* 0E33BC 7F0AE88C 312B007F */ andi $t3, $t1, 0x7f
|
||||
/* 0E33C0 7F0AE890 AE580004 */ sw $t8, 4($s2)
|
||||
/* 0E33C4 7F0AE894 8DC10008 */ lw $at, 8($t6)
|
||||
/* 0E33C8 7F0AE898 016C1825 */ or $v1, $t3, $t4
|
||||
/* 0E33CC 7F0AE89C 3064FFFF */ andi $a0, $v1, 0xffff
|
||||
/* 0E33D0 7F0AE8A0 AE410008 */ sw $at, 8($s2)
|
||||
/* 0E33D4 7F0AE8A4 8DD8000C */ lw $t8, 0xc($t6)
|
||||
/* 0E33D8 7F0AE8A8 30992000 */ andi $t9, $a0, 0x2000
|
||||
/* 0E33DC 7F0AE8AC 308A1FFF */ andi $t2, $a0, 0x1fff
|
||||
/* 0E33E0 7F0AE8B0 AE58000C */ sw $t8, 0xc($s2)
|
||||
/* 0E33E4 7F0AE8B4 8DC10010 */ lw $at, 0x10($t6)
|
||||
/* 0E33E8 7F0AE8B8 2408000F */ li $t0, 15
|
||||
/* 0E33EC 7F0AE8BC 24090010 */ li $t1, 16
|
||||
/* 0E33F0 7F0AE8C0 AE410010 */ sw $at, 0x10($s2)
|
||||
/* 0E33F4 7F0AE8C4 8DD80014 */ lw $t8, 0x14($t6)
|
||||
/* 0E33F8 7F0AE8C8 294103C7 */ slti $at, $t2, 0x3c7
|
||||
/* 0E33FC 7F0AE8CC 13200003 */ beqz $t9, .L7F0AE8DC
|
||||
/* 0E3400 7F0AE8D0 AE580014 */ sw $t8, 0x14($s2)
|
||||
/* 0E3404 7F0AE8D4 AFA80080 */ sw $t0, 0x80($sp)
|
||||
/* 0E3408 7F0AE8D8 AFA9007C */ sw $t1, 0x7c($sp)
|
||||
.L7F0AE8DC:
|
||||
/* 0E340C 7F0AE8DC 54200003 */ bnezl $at, .L7F0AE8EC
|
||||
/* 0E3410 7F0AE8E0 248B0080 */ addiu $t3, $a0, 0x80
|
||||
/* 0E3414 7F0AE8E4 24040002 */ li $a0, 2
|
||||
/* 0E3418 7F0AE8E8 248B0080 */ addiu $t3, $a0, 0x80
|
||||
.L7F0AE8EC:
|
||||
/* 0E341C 7F0AE8EC 0FC3068C */ jal something_with_LnameX
|
||||
/* 0E3420 7F0AE8F0 AFAB0074 */ sw $t3, 0x74($sp)
|
||||
/* 0E3424 7F0AE8F4 8FAC0090 */ lw $t4, 0x90($sp)
|
||||
/* 0E3428 7F0AE8F8 8FAD00B4 */ lw $t5, 0xb4($sp)
|
||||
/* 0E342C 7F0AE8FC 8FAF00B8 */ lw $t7, 0xb8($sp)
|
||||
/* 0E3430 7F0AE900 8FAE00BC */ lw $t6, 0xbc($sp)
|
||||
/* 0E3434 7F0AE904 8FB800C0 */ lw $t8, 0xc0($sp)
|
||||
/* 0E3438 7F0AE908 AFA20088 */ sw $v0, 0x88($sp)
|
||||
/* 0E343C 7F0AE90C 02A02025 */ move $a0, $s5
|
||||
/* 0E3440 7F0AE910 02202825 */ move $a1, $s1
|
||||
/* 0E3444 7F0AE914 02603025 */ move $a2, $s3
|
||||
/* 0E3448 7F0AE918 02403825 */ move $a3, $s2
|
||||
/* 0E344C 7F0AE91C AFB20010 */ sw $s2, 0x10($sp)
|
||||
/* 0E3450 7F0AE920 AFB70014 */ sw $s7, 0x14($sp)
|
||||
/* 0E3454 7F0AE924 AFB60018 */ sw $s6, 0x18($sp)
|
||||
/* 0E3458 7F0AE928 AFBE0020 */ sw $fp, 0x20($sp)
|
||||
/* 0E345C 7F0AE92C AFAC001C */ sw $t4, 0x1c($sp)
|
||||
/* 0E3460 7F0AE930 AFAD0024 */ sw $t5, 0x24($sp)
|
||||
/* 0E3464 7F0AE934 AFAF0028 */ sw $t7, 0x28($sp)
|
||||
/* 0E3468 7F0AE938 AFAE002C */ sw $t6, 0x2c($sp)
|
||||
/* 0E346C 7F0AE93C 0FC2B76B */ jal sub_GAME_7F0ADDAC
|
||||
/* 0E3470 7F0AE940 AFB80030 */ sw $t8, 0x30($sp)
|
||||
/* 0E3474 7F0AE944 0040A825 */ move $s5, $v0
|
||||
/* 0E3478 7F0AE948 26100002 */ addiu $s0, $s0, 2
|
||||
.L7F0AE94C:
|
||||
/* 0E347C 7F0AE94C 92020000 */ lbu $v0, ($s0)
|
||||
/* 0E3480 7F0AE950 5440FF91 */ bnezl $v0, .L7F0AE798
|
||||
/* 0E3484 7F0AE954 24010020 */ li $at, 32
|
||||
.L7F0AE958:
|
||||
/* 0E3488 7F0AE958 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
/* 0E348C 7F0AE95C 02A01025 */ move $v0, $s5
|
||||
/* 0E3490 7F0AE960 8FB50054 */ lw $s5, 0x54($sp)
|
||||
/* 0E3494 7F0AE964 8FB00040 */ lw $s0, 0x40($sp)
|
||||
/* 0E3498 7F0AE968 8FB10044 */ lw $s1, 0x44($sp)
|
||||
/* 0E349C 7F0AE96C 8FB20048 */ lw $s2, 0x48($sp)
|
||||
/* 0E34A0 7F0AE970 8FB3004C */ lw $s3, 0x4c($sp)
|
||||
/* 0E34A4 7F0AE974 8FB40050 */ lw $s4, 0x50($sp)
|
||||
/* 0E34A8 7F0AE978 8FB60058 */ lw $s6, 0x58($sp)
|
||||
/* 0E34AC 7F0AE97C 8FB7005C */ lw $s7, 0x5c($sp)
|
||||
/* 0E34B0 7F0AE980 8FBE0060 */ lw $fp, 0x60($sp)
|
||||
/* 0E34B4 7F0AE984 03E00008 */ jr $ra
|
||||
/* 0E34B8 7F0AE988 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+33
-71
@@ -1,79 +1,41 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
#include "game/unk_09C250.h"
|
||||
#include "video.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void cleanupExplosions(void) {
|
||||
? temp_ret;
|
||||
void *temp_t8;
|
||||
s32 temp_s0;
|
||||
void *temp_t7;
|
||||
s32 temp_s0_2;
|
||||
s32 phi_s0;
|
||||
s32 phi_s0_2;
|
||||
? phi_return;
|
||||
? phi_return_2;
|
||||
? phi_return_3;
|
||||
? phi_return_4;
|
||||
|
||||
// Node 0
|
||||
//come back once prop for explosions and smoke is merged from AIListLogic branch
|
||||
//code should match already
|
||||
//
|
||||
void cleanupExplosions(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
D_80040170 = 0;
|
||||
temp_ret = video_related_9(0);
|
||||
phi_s0 = 0;
|
||||
phi_return_3 = temp_ret;
|
||||
phi_return_4 = temp_ret;
|
||||
if (ptr_explosion_buf != 0)
|
||||
{
|
||||
loop_1:
|
||||
// Node 1
|
||||
temp_t8 = (ptr_explosion_buf + phi_s0);
|
||||
if (*temp_t8 != 0)
|
||||
viSet800232B4(0.0);
|
||||
if (ptr_explosion_buf) {
|
||||
for (i = 0; i<0x1fe0; i++)
|
||||
{
|
||||
// Node 2
|
||||
sub_GAME_7F03A538(*temp_t8);
|
||||
unset_stateflag_0x04_for_posdata(*(ptr_explosion_buf + phi_s0));
|
||||
*(ptr_explosion_buf + phi_s0) = 0;
|
||||
phi_return_4 = set_last_obj_pos_data(*(ptr_explosion_buf + phi_s0));
|
||||
}
|
||||
// Node 3
|
||||
temp_s0 = (phi_s0 + 0x3e0);
|
||||
phi_s0 = temp_s0;
|
||||
phi_return_3 = phi_return_4;
|
||||
phi_return_4 = phi_return_4;
|
||||
if (temp_s0 != 0x1740)
|
||||
{
|
||||
goto loop_1;
|
||||
if (ptr_explosion_buf) {
|
||||
sub_GAME_7F03A538(ptr_explosion_buf[i].prop);
|
||||
propHide(ptr_explosion_buf[i].prop);
|
||||
propFree(ptr_explosion_buf[i].prop);
|
||||
ptr_explosion_buf[i].prop = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Node 4
|
||||
phi_s0_2 = 0;
|
||||
phi_return = phi_return_3;
|
||||
phi_return_2 = phi_return_3;
|
||||
if (ptr_smoke_buf != 0)
|
||||
{
|
||||
loop_5:
|
||||
// Node 5
|
||||
temp_t7 = (ptr_smoke_buf + phi_s0_2);
|
||||
if (*temp_t7 != 0)
|
||||
|
||||
|
||||
if (ptr_smoke_buf) {
|
||||
for (i = 0; i<0x1fe0; i++)
|
||||
{
|
||||
// Node 6
|
||||
sub_GAME_7F03A538(*temp_t7);
|
||||
unset_stateflag_0x04_for_posdata(*(ptr_smoke_buf + phi_s0_2));
|
||||
*(ptr_smoke_buf + phi_s0_2) = 0;
|
||||
phi_return_2 = set_last_obj_pos_data(*(ptr_smoke_buf + phi_s0_2));
|
||||
}
|
||||
// Node 7
|
||||
temp_s0_2 = (phi_s0_2 + 0x198);
|
||||
phi_s0_2 = temp_s0_2;
|
||||
phi_return = phi_return_2;
|
||||
phi_return_2 = phi_return_2;
|
||||
if (temp_s0_2 != 0x1fe0)
|
||||
{
|
||||
goto loop_5;
|
||||
if (ptr_smoke_buf) {
|
||||
sub_GAME_7F03A538(ptr_smoke_buf[i].prop);
|
||||
propHide(ptr_smoke_buf[i].prop);
|
||||
propFree(ptr_smoke_buf[i].prop);
|
||||
ptr_smoke_buf[i].prop = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Node 8
|
||||
return phi_return;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
@@ -86,7 +48,7 @@ glabel cleanupExplosions
|
||||
/* 03C340 7F007810 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 03C344 7F007814 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 03C348 7F007818 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03C34C 7F00781C 0C000EC1 */ jal video_related_9
|
||||
/* 03C34C 7F00781C 0C000EC1 */ jal viSet800232B4
|
||||
/* 03C350 7F007820 AC200170 */ sw $zero, %lo(D_80040170)($at)
|
||||
/* 03C354 7F007824 3C118008 */ lui $s1, %hi(ptr_explosion_buf)
|
||||
/* 03C358 7F007828 2631A144 */ addiu $s1, %lo(ptr_explosion_buf) # addiu $s1, $s1, -0x5ebc
|
||||
@@ -105,11 +67,11 @@ glabel cleanupExplosions
|
||||
/* 03C388 7F007858 00000000 */ nop
|
||||
/* 03C38C 7F00785C 8E390000 */ lw $t9, ($s1)
|
||||
/* 03C390 7F007860 03304021 */ addu $t0, $t9, $s0
|
||||
/* 03C394 7F007864 0FC0E905 */ jal unset_stateflag_0x04_for_posdata
|
||||
/* 03C394 7F007864 0FC0E905 */ jal propHide
|
||||
/* 03C398 7F007868 8D040000 */ lw $a0, ($t0)
|
||||
/* 03C39C 7F00786C 8E290000 */ lw $t1, ($s1)
|
||||
/* 03C3A0 7F007870 01305021 */ addu $t2, $t1, $s0
|
||||
/* 03C3A4 7F007874 0FC0E921 */ jal set_last_obj_pos_data
|
||||
/* 03C3A4 7F007874 0FC0E921 */ jal propFree
|
||||
/* 03C3A8 7F007878 8D440000 */ lw $a0, ($t2)
|
||||
/* 03C3AC 7F00787C 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 03C3B0 7F007880 01706021 */ addu $t4, $t3, $s0
|
||||
@@ -136,11 +98,11 @@ glabel cleanupExplosions
|
||||
/* 03C3F8 7F0078C8 00000000 */ nop
|
||||
/* 03C3FC 7F0078CC 8E380000 */ lw $t8, ($s1)
|
||||
/* 03C400 7F0078D0 0310C821 */ addu $t9, $t8, $s0
|
||||
/* 03C404 7F0078D4 0FC0E905 */ jal unset_stateflag_0x04_for_posdata
|
||||
/* 03C404 7F0078D4 0FC0E905 */ jal propHide
|
||||
/* 03C408 7F0078D8 8F240000 */ lw $a0, ($t9)
|
||||
/* 03C40C 7F0078DC 8E280000 */ lw $t0, ($s1)
|
||||
/* 03C410 7F0078E0 01104821 */ addu $t1, $t0, $s0
|
||||
/* 03C414 7F0078E4 0FC0E921 */ jal set_last_obj_pos_data
|
||||
/* 03C414 7F0078E4 0FC0E921 */ jal propFree
|
||||
/* 03C418 7F0078E8 8D240000 */ lw $a0, ($t1)
|
||||
/* 03C41C 7F0078EC 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 03C420 7F0078F0 01505821 */ addu $t3, $t2, $s0
|
||||
|
||||
+11
-11
@@ -65,22 +65,22 @@ void currentPlayerToggle5BC() {
|
||||
pPlayer->field_5BC = !pPlayer->field_5BC;
|
||||
}
|
||||
|
||||
u32 get_random_value();
|
||||
u32 randomGetNext();
|
||||
#define U32_MAX 4294967295
|
||||
void currentPlayerUpdateIdleHeadRoll() {
|
||||
f32 mult = 1.0f / U32_MAX;
|
||||
|
||||
pPlayer->standlook[pPlayer->standcnt][0] = ((f32)get_random_value() * mult - 0.5f) * 0.02f;
|
||||
pPlayer->standlook[pPlayer->standcnt][0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
pPlayer->standlook[pPlayer->standcnt][2] = 1;
|
||||
pPlayer->standup[pPlayer->standcnt][0] = ((f32)get_random_value() * mult - 0.5f) * 0.02f;
|
||||
pPlayer->standup[pPlayer->standcnt][0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
pPlayer->standup[pPlayer->standcnt][1] = 1;
|
||||
|
||||
if (pPlayer->standcnt) {
|
||||
pPlayer->standlook[pPlayer->standcnt][1] = (f32)get_random_value() * mult * 0.01f;
|
||||
pPlayer->standup[pPlayer->standcnt][2] = (f32)get_random_value() * mult * -0.01f;
|
||||
pPlayer->standlook[pPlayer->standcnt][1] = (f32)randomGetNext() * mult * 0.01f;
|
||||
pPlayer->standup[pPlayer->standcnt][2] = (f32)randomGetNext() * mult * -0.01f;
|
||||
} else {
|
||||
pPlayer->standlook[pPlayer->standcnt][1] = (f32)get_random_value() * mult * -0.01f;
|
||||
pPlayer->standup[pPlayer->standcnt][2] = (f32)get_random_value() * mult * 0.01f;
|
||||
pPlayer->standlook[pPlayer->standcnt][1] = (f32)randomGetNext() * mult * -0.01f;
|
||||
pPlayer->standup[pPlayer->standcnt][2] = (f32)randomGetNext() * mult * 0.01f;
|
||||
}
|
||||
|
||||
pPlayer->standcnt = 1 - pPlayer->standcnt;
|
||||
@@ -1967,7 +1967,7 @@ glabel sub_GAME_7F08F6B0
|
||||
.L7F08F6E0:
|
||||
/* 0C4210 7F08F6E0 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0C4214 7F08F6E4 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* 0C4218 7F08F6E8 0C002914 */ jal get_random_value
|
||||
/* 0C4218 7F08F6E8 0C002914 */ jal randomGetNext
|
||||
/* 0C421C 7F08F6EC AFA9001C */ sw $t1, 0x1c($sp)
|
||||
/* 0C4220 7F08F6F0 8FA9001C */ lw $t1, 0x1c($sp)
|
||||
/* 0C4224 7F08F6F4 8FA70024 */ lw $a3, 0x24($sp)
|
||||
@@ -2154,7 +2154,7 @@ glabel sub_GAME_7F08F908
|
||||
/* 0C4468 7F08F938 8C4F0004 */ lw $t7, 4($v0)
|
||||
.L7F08F93C:
|
||||
/* 0C446C 7F08F93C AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* 0C4470 7F08F940 0C002914 */ jal get_random_value
|
||||
/* 0C4470 7F08F940 0C002914 */ jal randomGetNext
|
||||
/* 0C4474 7F08F944 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* 0C4478 7F08F948 8FA90024 */ lw $t1, 0x24($sp)
|
||||
/* 0C447C 7F08F94C 8FAC0028 */ lw $t4, 0x28($sp)
|
||||
@@ -2477,7 +2477,7 @@ glabel sub_GAME_7F08FD1C
|
||||
/* 0C4888 7F08FD58 8C4F0010 */ lw $t7, 0x10($v0)
|
||||
/* 0C488C 7F08FD5C AFA300F0 */ sw $v1, 0xf0($sp)
|
||||
.L7F08FD60:
|
||||
/* 0C4890 7F08FD60 0C002914 */ jal get_random_value
|
||||
/* 0C4890 7F08FD60 0C002914 */ jal randomGetNext
|
||||
/* 0C4894 7F08FD64 AFA800F4 */ sw $t0, 0xf4($sp)
|
||||
/* 0C4898 7F08FD68 8FA300F0 */ lw $v1, 0xf0($sp)
|
||||
/* 0C489C 7F08FD6C 8FA800F4 */ lw $t0, 0xf4($sp)
|
||||
@@ -2489,7 +2489,7 @@ glabel sub_GAME_7F08FD1C
|
||||
/* 0C48B4 7F08FD84 0007000D */ break 7
|
||||
.L7F08FD88:
|
||||
/* 0C48B8 7F08FD88 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0C48BC 7F08FD8C 0C002914 */ jal get_random_value
|
||||
/* 0C48BC 7F08FD8C 0C002914 */ jal randomGetNext
|
||||
/* 0C48C0 7F08FD90 AFA900E8 */ sw $t1, 0xe8($sp)
|
||||
/* 0C48C4 7F08FD94 8FA300F0 */ lw $v1, 0xf0($sp)
|
||||
/* 0C48C8 7F08FD98 8FA800F4 */ lw $t0, 0xf4($sp)
|
||||
|
||||
+26
-8
@@ -13,19 +13,37 @@ f32 flt_CODE_bss_80079E88;
|
||||
//Gfx MipMap2C_Something_Setup[]={};
|
||||
//D:8003FCC0
|
||||
u64 MipMap2C_Something_Setup[] = {
|
||||
0xF580080000018060,0xF580080001018060,0xF200200200000000,0xF200200201000000,
|
||||
0xFA00000FFFFFFFFF,0xBA00110200000000,0xBA000C0200002000,0xFC272C041F1093FF,
|
||||
0xB900031D0C192078,0xBA00100100000000,0xBA00140200100000,0xB700000000002000,
|
||||
0xB800000000000000
|
||||
0xF580080000018060, //gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_4b, 4, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 4, 0),
|
||||
0xF580080001018060, //gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_4b, 4, 0, 1, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 4, 0),
|
||||
0xF200200200000000, //gsDPSetTileSize(0, 2, 2, 0, 0),
|
||||
0xF200200201000000, //gsDPSetTileSize(1, 2, 2, 0, 0),
|
||||
0xFA00000FFFFFFFFF, //gsDPSetPrimColor(0, 15, 255, 255, 255, 255),
|
||||
0xBA00110200000000, //gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
0xBA000C0200002000, //gsDPSetTextureFilter(G_TF_BILERP),
|
||||
0xFC272C041F1093FF, //gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
||||
0xB900031D0C192078, //gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2),
|
||||
0xBA00100100000000, //gsDPSetTextureLOD(G_TL_TILE),
|
||||
0xBA00140200100000, //gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
0xB700000000002000, //gsDPSetGeometryMode(G_CULL_BACK ),
|
||||
0xB800000000000000 //gsSPEndDisplayList()
|
||||
};
|
||||
|
||||
//Gfx MipMap2C_Something2_Setup[]={};
|
||||
//D:8003FD28
|
||||
u64 MipMap2C_Something2_Setup[] = {
|
||||
0xF548040000014050,0xF548040001014050,0xF200200200000000,0xF200200201000000,
|
||||
0xFA00000FFFFFFFFF,0xBA00110200000000,0xBA000C0200002000,0xFC272C041F1093FF,
|
||||
0xB900031D0C192078,0xBA00100100000000,0xBA00140200100000,0xB700000000002000,
|
||||
0xB800000000000000
|
||||
0xF548040000014050, //gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0, 0, 0, G_TX_WRAP, 5, 0, G_TX_WRAP, 2, 0),
|
||||
0xF548040001014050, //gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0, 1, 0, G_TX_WRAP, 5, 0, G_TX_WRAP, 2, 0),
|
||||
0xF200200200000000, //gsDPSetTileSize(0, 2, 2, 0, 0),
|
||||
0xF200200201000000, //gsDPSetTileSize(1, 2, 2, 0, 0),
|
||||
0xFA00000FFFFFFFFF, //gsDPSetPrimColor(0, 15, 255, 255, 255, 255),
|
||||
0xBA00110200000000, //gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
0xBA000C0200002000, //gsDPSetTextureFilter(G_TF_BILERP),
|
||||
0xFC272C041F1093FF, //gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
||||
0xB900031D0C192078, //gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2),
|
||||
0xBA00100100000000, //gsDPSetTextureLOD(G_TL_TILE),
|
||||
0xBA00140200100000, //gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
0xB700000000002000, //gsDPSetGeometryMode(G_CULL_BACK ),
|
||||
0xB800000000000000 //gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
//End Dl means this gfx list cannot go any further. perhaps below is a vtx array?
|
||||
|
||||
+822
-7
@@ -1191,7 +1191,7 @@ glabel sub_GAME_7F094488
|
||||
/* 0C9044 7F094514 9207000A */ lbu $a3, 0xa($s0)
|
||||
/* 0C9048 7F094518 92060009 */ lbu $a2, 9($s0)
|
||||
/* 0C904C 7F09451C 92050008 */ lbu $a1, 8($s0)
|
||||
/* 0C9050 7F094520 0C0011B4 */ jal set_setfillcolor
|
||||
/* 0C9050 7F094520 0C0011B4 */ jal viSetFillColor
|
||||
/* 0C9054 7F094524 8FA406B0 */ lw $a0, 0x6b0($sp)
|
||||
/* 0C9058 7F094528 244B0008 */ addiu $t3, $v0, 8
|
||||
/* 0C905C 7F09452C AFAB06B0 */ sw $t3, 0x6b0($sp)
|
||||
@@ -1300,7 +1300,7 @@ glabel sub_GAME_7F094488
|
||||
/* 0C91F4 7F0946C4 92050008 */ lbu $a1, 8($s0)
|
||||
.L7F0946C8:
|
||||
/* 0C91F8 7F0946C8 92060009 */ lbu $a2, 9($s0)
|
||||
/* 0C91FC 7F0946CC 0C0011B4 */ jal set_setfillcolor
|
||||
/* 0C91FC 7F0946CC 0C0011B4 */ jal viSetFillColor
|
||||
/* 0C9200 7F0946D0 9207000A */ lbu $a3, 0xa($s0)
|
||||
/* 0C9204 7F0946D4 44806000 */ mtc1 $zero, $f12
|
||||
/* 0C9208 7F0946D8 27B106A4 */ addiu $s1, $sp, 0x6a4
|
||||
@@ -7570,7 +7570,7 @@ void init_player_data_ptrs_construct_viewports(int playercount)
|
||||
players[2] = NULL;
|
||||
players[3] = NULL;
|
||||
|
||||
random_byte = get_random_value() & 0xff;
|
||||
random_byte = randomGetNext() & 0xff;
|
||||
if (playercount < 1) {
|
||||
initBONDdataforPlayer(0);
|
||||
set_cur_player(0);
|
||||
@@ -7600,7 +7600,7 @@ glabel init_player_data_ptrs_construct_viewports
|
||||
/* 0CEED8 7F09A3A8 AC400000 */ sw $zero, ($v0)
|
||||
/* 0CEEDC 7F09A3AC AC400004 */ sw $zero, 4($v0)
|
||||
/* 0CEEE0 7F09A3B0 AC400008 */ sw $zero, 8($v0)
|
||||
/* 0CEEE4 7F09A3B4 0C002914 */ jal get_random_value
|
||||
/* 0CEEE4 7F09A3B4 0C002914 */ jal randomGetNext
|
||||
/* 0CEEE8 7F09A3B8 AC40000C */ sw $zero, 0xc($v0)
|
||||
/* 0CEEEC 7F09A3BC 304E00FF */ andi $t6, $v0, 0xff
|
||||
/* 0CEEF0 7F09A3C0 3C018008 */ lui $at, %hi(random_byte)
|
||||
@@ -9681,12 +9681,827 @@ glabel initBONDdataforPlayer
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_80057610
|
||||
.word 0xc3652ee0 /*-229.18311*/
|
||||
glabel D_80057614
|
||||
.word 0x411ffffe /*9.9999981*/
|
||||
glabel D_80057618
|
||||
.word 0x3f6e147b /*0.93000001*/
|
||||
glabel D_8005761C
|
||||
.word 0x4164924b /*14.285716*/
|
||||
glabel D_80057620
|
||||
.word 0x3f666666 /*0.89999998*/
|
||||
glabel D_80057624
|
||||
.word 0xc0490fdb /*-3.1415927*/
|
||||
glabel D_80057628
|
||||
.word 0x3faaaaab /*1.3333334*/
|
||||
.text
|
||||
glabel initBONDdataforPlayer
|
||||
/* 0CEFEC 7F09A4BC 27BDFC30 */ addiu $sp, $sp, -0x3d0
|
||||
/* 0CEFF0 7F09A4C0 3C0F8004 */ lui $t7, %hi(D_8003FD94+0xC)
|
||||
/* 0CEFF4 7F09A4C4 25EFFDA0 */ addiu $t7, %lo(D_8003FD94+0xC) # addiu $t7, $t7, -0x260
|
||||
/* 0CEFF8 7F09A4C8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CEFFC 7F09A4CC AFA403D0 */ sw $a0, 0x3d0($sp)
|
||||
/* 0CF000 7F09A4D0 25EB03A8 */ addiu $t3, $t7, 0x3a8
|
||||
/* 0CF004 7F09A4D4 27AE0024 */ addiu $t6, $sp, 0x24
|
||||
.L7F09A4D8:
|
||||
/* 0CF008 7F09A4D8 8DE10000 */ lw $at, ($t7)
|
||||
/* 0CF00C 7F09A4DC 25EF000C */ addiu $t7, $t7, 0xc
|
||||
/* 0CF010 7F09A4E0 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 0CF014 7F09A4E4 ADC1FFF4 */ sw $at, -0xc($t6)
|
||||
/* 0CF018 7F09A4E8 8DE1FFF8 */ lw $at, -8($t7)
|
||||
/* 0CF01C 7F09A4EC ADC1FFF8 */ sw $at, -8($t6)
|
||||
/* 0CF020 7F09A4F0 8DE1FFFC */ lw $at, -4($t7)
|
||||
/* 0CF024 7F09A4F4 15EBFFF8 */ bne $t7, $t3, .L7F09A4D8
|
||||
/* 0CF028 7F09A4F8 ADC1FFFC */ sw $at, -4($t6)
|
||||
/* 0CF02C 7F09A4FC 24042A80 */ li $a0, 10880
|
||||
/* 0CF030 7F09A500 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 0CF034 7F09A504 24050004 */ li $a1, 4
|
||||
/* 0CF038 7F09A508 8FAC03D0 */ lw $t4, 0x3d0($sp)
|
||||
/* 0CF03C 7F09A50C 3C198008 */ lui $t9, %hi(players)
|
||||
/* 0CF040 7F09A510 27399EE0 */ addiu $t9, %lo(players) # addiu $t9, $t9, -0x6120
|
||||
/* 0CF044 7F09A514 000C6880 */ sll $t5, $t4, 2
|
||||
/* 0CF048 7F09A518 01B91821 */ addu $v1, $t5, $t9
|
||||
/* 0CF04C 7F09A51C AC620000 */ sw $v0, ($v1)
|
||||
/* 0CF050 7F09A520 AC400000 */ sw $zero, ($v0)
|
||||
/* 0CF054 7F09A524 44800000 */ mtc1 $zero, $f0
|
||||
/* 0CF058 7F09A528 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF05C 7F09A52C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0CF060 7F09A530 44811000 */ mtc1 $at, $f2
|
||||
/* 0CF064 7F09A534 E7000004 */ swc1 $f0, 4($t8)
|
||||
/* 0CF068 7F09A538 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF06C 7F09A53C 24040002 */ li $a0, 2
|
||||
/* 0CF070 7F09A540 24080001 */ li $t0, 1
|
||||
/* 0CF074 7F09A544 E5600008 */ swc1 $f0, 8($t3)
|
||||
/* 0CF078 7F09A548 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF07C 7F09A54C 2409FFFF */ li $t1, -1
|
||||
/* 0CF080 7F09A550 3C01C080 */ li $at, 0xC0800000 # -4.000000
|
||||
/* 0CF084 7F09A554 E5E0000C */ swc1 $f0, 0xc($t7)
|
||||
/* 0CF088 7F09A558 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF08C 7F09A55C 44812000 */ mtc1 $at, $f4
|
||||
/* 0CF090 7F09A560 3C018005 */ lui $at, %hi(D_80057610)
|
||||
/* 0CF094 7F09A564 E5C00010 */ swc1 $f0, 0x10($t6)
|
||||
/* 0CF098 7F09A568 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF09C 7F09A56C 240200FF */ li $v0, 255
|
||||
/* 0CF0A0 7F09A570 27AA0024 */ addiu $t2, $sp, 0x24
|
||||
/* 0CF0A4 7F09A574 E5800014 */ swc1 $f0, 0x14($t4)
|
||||
/* 0CF0A8 7F09A578 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF0AC 7F09A57C E5A20018 */ swc1 $f2, 0x18($t5)
|
||||
/* 0CF0B0 7F09A580 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF0B4 7F09A584 E720001C */ swc1 $f0, 0x1c($t9)
|
||||
/* 0CF0B8 7F09A588 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF0BC 7F09A58C E7020020 */ swc1 $f2, 0x20($t8)
|
||||
/* 0CF0C0 7F09A590 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF0C4 7F09A594 E5600024 */ swc1 $f0, 0x24($t3)
|
||||
/* 0CF0C8 7F09A598 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF0CC 7F09A59C E5E00028 */ swc1 $f0, 0x28($t7)
|
||||
/* 0CF0D0 7F09A5A0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF0D4 7F09A5A4 E5C0002C */ swc1 $f0, 0x2c($t6)
|
||||
/* 0CF0D8 7F09A5A8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF0DC 7F09A5AC E5800030 */ swc1 $f0, 0x30($t4)
|
||||
/* 0CF0E0 7F09A5B0 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF0E4 7F09A5B4 ADA00034 */ sw $zero, 0x34($t5)
|
||||
/* 0CF0E8 7F09A5B8 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF0EC 7F09A5BC E7200038 */ swc1 $f0, 0x38($t9)
|
||||
/* 0CF0F0 7F09A5C0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF0F4 7F09A5C4 E700003C */ swc1 $f0, 0x3c($t8)
|
||||
/* 0CF0F8 7F09A5C8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF0FC 7F09A5CC E5600040 */ swc1 $f0, 0x40($t3)
|
||||
/* 0CF100 7F09A5D0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF104 7F09A5D4 E5E00044 */ swc1 $f0, 0x44($t7)
|
||||
/* 0CF108 7F09A5D8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF10C 7F09A5DC E5C00048 */ swc1 $f0, 0x48($t6)
|
||||
/* 0CF110 7F09A5E0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF114 7F09A5E4 E580004C */ swc1 $f0, 0x4c($t4)
|
||||
/* 0CF118 7F09A5E8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF11C 7F09A5EC E5A00050 */ swc1 $f0, 0x50($t5)
|
||||
/* 0CF120 7F09A5F0 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF124 7F09A5F4 E7200054 */ swc1 $f0, 0x54($t9)
|
||||
/* 0CF128 7F09A5F8 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF12C 7F09A5FC E7000058 */ swc1 $f0, 0x58($t8)
|
||||
/* 0CF130 7F09A600 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF134 7F09A604 E560006C */ swc1 $f0, 0x6c($t3)
|
||||
/* 0CF138 7F09A608 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF13C 7F09A60C E5E00070 */ swc1 $f0, 0x70($t7)
|
||||
/* 0CF140 7F09A610 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF144 7F09A614 E5C00074 */ swc1 $f0, 0x74($t6)
|
||||
/* 0CF148 7F09A618 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF14C 7F09A61C E5800078 */ swc1 $f0, 0x78($t4)
|
||||
/* 0CF150 7F09A620 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF154 7F09A624 E5A0007C */ swc1 $f0, 0x7c($t5)
|
||||
/* 0CF158 7F09A628 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF15C 7F09A62C E7200080 */ swc1 $f0, 0x80($t9)
|
||||
/* 0CF160 7F09A630 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF164 7F09A634 E7000084 */ swc1 $f0, 0x84($t8)
|
||||
/* 0CF168 7F09A638 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF16C 7F09A63C E5600088 */ swc1 $f0, 0x88($t3)
|
||||
/* 0CF170 7F09A640 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF174 7F09A644 ADE0008C */ sw $zero, 0x8c($t7)
|
||||
/* 0CF178 7F09A648 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF17C 7F09A64C E5C00090 */ swc1 $f0, 0x90($t6)
|
||||
/* 0CF180 7F09A650 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF184 7F09A654 AD800094 */ sw $zero, 0x94($t4)
|
||||
/* 0CF188 7F09A658 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF18C 7F09A65C E5A00098 */ swc1 $f0, 0x98($t5)
|
||||
/* 0CF190 7F09A660 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF194 7F09A664 E7201274 */ swc1 $f0, 0x1274($t9)
|
||||
/* 0CF198 7F09A668 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF19C 7F09A66C E7001278 */ swc1 $f0, 0x1278($t8)
|
||||
/* 0CF1A0 7F09A670 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF1A4 7F09A674 E560127C */ swc1 $f0, 0x127c($t3)
|
||||
/* 0CF1A8 7F09A678 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF1AC 7F09A67C ADE4009C */ sw $a0, 0x9c($t7)
|
||||
/* 0CF1B0 7F09A680 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF1B4 7F09A684 ADC429FC */ sw $a0, 0x29fc($t6)
|
||||
/* 0CF1B8 7F09A688 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF1BC 7F09A68C E58000A0 */ swc1 $f0, 0xa0($t4)
|
||||
/* 0CF1C0 7F09A690 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF1C4 7F09A694 E5A000A4 */ swc1 $f0, 0xa4($t5)
|
||||
/* 0CF1C8 7F09A698 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF1CC 7F09A69C AF2000A8 */ sw $zero, 0xa8($t9)
|
||||
/* 0CF1D0 7F09A6A0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF1D4 7F09A6A4 AF0800AC */ sw $t0, 0xac($t8)
|
||||
/* 0CF1D8 7F09A6A8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF1DC 7F09A6AC AD6000D0 */ sw $zero, 0xd0($t3)
|
||||
/* 0CF1E0 7F09A6B0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF1E4 7F09A6B4 ADE000D4 */ sw $zero, 0xd4($t7)
|
||||
/* 0CF1E8 7F09A6B8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF1EC 7F09A6BC ADC000D8 */ sw $zero, 0xd8($t6)
|
||||
/* 0CF1F0 7F09A6C0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF1F4 7F09A6C4 E58200DC */ swc1 $f2, 0xdc($t4)
|
||||
/* 0CF1F8 7F09A6C8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF1FC 7F09A6CC E5A000E0 */ swc1 $f0, 0xe0($t5)
|
||||
/* 0CF200 7F09A6D0 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF204 7F09A6D4 E72200E4 */ swc1 $f2, 0xe4($t9)
|
||||
/* 0CF208 7F09A6D8 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF20C 7F09A6DC E70000E8 */ swc1 $f0, 0xe8($t8)
|
||||
/* 0CF210 7F09A6E0 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF214 7F09A6E4 E56200EC */ swc1 $f2, 0xec($t3)
|
||||
/* 0CF218 7F09A6E8 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF21C 7F09A6EC E5E000F0 */ swc1 $f0, 0xf0($t7)
|
||||
/* 0CF220 7F09A6F0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF224 7F09A6F4 ADC900F4 */ sw $t1, 0xf4($t6)
|
||||
/* 0CF228 7F09A6F8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF22C 7F09A6FC AD8900F8 */ sw $t1, 0xf8($t4)
|
||||
/* 0CF230 7F09A700 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF234 7F09A704 ADA00104 */ sw $zero, 0x104($t5)
|
||||
/* 0CF238 7F09A708 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF23C 7F09A70C AF200108 */ sw $zero, 0x108($t9)
|
||||
/* 0CF240 7F09A710 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF244 7F09A714 AF00010C */ sw $zero, 0x10c($t8)
|
||||
/* 0CF248 7F09A718 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF24C 7F09A71C AD600110 */ sw $zero, 0x110($t3)
|
||||
/* 0CF250 7F09A720 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF254 7F09A724 ADE80114 */ sw $t0, 0x114($t7)
|
||||
/* 0CF258 7F09A728 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF25C 7F09A72C ADC80118 */ sw $t0, 0x118($t6)
|
||||
/* 0CF260 7F09A730 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF264 7F09A734 AD80011C */ sw $zero, 0x11c($t4)
|
||||
/* 0CF268 7F09A738 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF26C 7F09A73C ADA80120 */ sw $t0, 0x120($t5)
|
||||
/* 0CF270 7F09A740 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF274 7F09A744 AF200124 */ sw $zero, 0x124($t9)
|
||||
/* 0CF278 7F09A748 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF27C 7F09A74C AF080128 */ sw $t0, 0x128($t8)
|
||||
/* 0CF280 7F09A750 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF284 7F09A754 E560012C */ swc1 $f0, 0x12c($t3)
|
||||
/* 0CF288 7F09A758 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF28C 7F09A75C ADE00130 */ sw $zero, 0x130($t7)
|
||||
/* 0CF290 7F09A760 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF294 7F09A764 ADC90134 */ sw $t1, 0x134($t6)
|
||||
/* 0CF298 7F09A768 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF29C 7F09A76C AD880138 */ sw $t0, 0x138($t4)
|
||||
/* 0CF2A0 7F09A770 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF2A4 7F09A774 E5A0013C */ swc1 $f0, 0x13c($t5)
|
||||
/* 0CF2A8 7F09A778 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF2AC 7F09A77C AF200140 */ sw $zero, 0x140($t9)
|
||||
/* 0CF2B0 7F09A780 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF2B4 7F09A784 AF090144 */ sw $t1, 0x144($t8)
|
||||
/* 0CF2B8 7F09A788 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF2BC 7F09A78C E5600148 */ swc1 $f0, 0x148($t3)
|
||||
/* 0CF2C0 7F09A790 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF2C4 7F09A794 E5E0014C */ swc1 $f0, 0x14c($t7)
|
||||
/* 0CF2C8 7F09A798 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF2CC 7F09A79C E5C20150 */ swc1 $f2, 0x150($t6)
|
||||
/* 0CF2D0 7F09A7A0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF2D4 7F09A7A4 E5800154 */ swc1 $f0, 0x154($t4)
|
||||
/* 0CF2D8 7F09A7A8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF2DC 7F09A7AC E5A40158 */ swc1 $f4, 0x158($t5)
|
||||
/* 0CF2E0 7F09A7B0 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF2E4 7F09A7B4 C4267610 */ lwc1 $f6, %lo(D_80057610)($at)
|
||||
/* 0CF2E8 7F09A7B8 3C01BF80 */ li $at, 0xBF800000 # -1.000000
|
||||
/* 0CF2EC 7F09A7BC 44816000 */ mtc1 $at, $f12
|
||||
/* 0CF2F0 7F09A7C0 E726015C */ swc1 $f6, 0x15c($t9)
|
||||
/* 0CF2F4 7F09A7C4 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF2F8 7F09A7C8 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000
|
||||
/* 0CF2FC 7F09A7CC 44814000 */ mtc1 $at, $f8
|
||||
/* 0CF300 7F09A7D0 E7000160 */ swc1 $f0, 0x160($t8)
|
||||
/* 0CF304 7F09A7D4 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF308 7F09A7D8 3C018005 */ lui $at, %hi(D_80057614)
|
||||
/* 0CF30C 7F09A7DC E5620164 */ swc1 $f2, 0x164($t3)
|
||||
/* 0CF310 7F09A7E0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF314 7F09A7E4 E5E00168 */ swc1 $f0, 0x168($t7)
|
||||
/* 0CF318 7F09A7E8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF31C 7F09A7EC E5C0016C */ swc1 $f0, 0x16c($t6)
|
||||
/* 0CF320 7F09A7F0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF324 7F09A7F4 E5800170 */ swc1 $f0, 0x170($t4)
|
||||
/* 0CF328 7F09A7F8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF32C 7F09A7FC E5A00174 */ swc1 $f0, 0x174($t5)
|
||||
/* 0CF330 7F09A800 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF334 7F09A804 E7202A4C */ swc1 $f0, 0x2a4c($t9)
|
||||
/* 0CF338 7F09A808 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF33C 7F09A80C E7020178 */ swc1 $f2, 0x178($t8)
|
||||
/* 0CF340 7F09A810 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF344 7F09A814 E5600180 */ swc1 $f0, 0x180($t3)
|
||||
/* 0CF348 7F09A818 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF34C 7F09A81C E5E00184 */ swc1 $f0, 0x184($t7)
|
||||
/* 0CF350 7F09A820 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF354 7F09A824 E5C00188 */ swc1 $f0, 0x188($t6)
|
||||
/* 0CF358 7F09A828 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF35C 7F09A82C E58C018C */ swc1 $f12, 0x18c($t4)
|
||||
/* 0CF360 7F09A830 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF364 7F09A834 E5AC0190 */ swc1 $f12, 0x190($t5)
|
||||
/* 0CF368 7F09A838 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF36C 7F09A83C E7200194 */ swc1 $f0, 0x194($t9)
|
||||
/* 0CF370 7F09A840 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF374 7F09A844 E7000198 */ swc1 $f0, 0x198($t8)
|
||||
/* 0CF378 7F09A848 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF37C 7F09A84C E560019C */ swc1 $f0, 0x19c($t3)
|
||||
/* 0CF380 7F09A850 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF384 7F09A854 ADE001A0 */ sw $zero, 0x1a0($t7)
|
||||
/* 0CF388 7F09A858 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF38C 7F09A85C ADC001C0 */ sw $zero, 0x1c0($t6)
|
||||
/* 0CF390 7F09A860 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF394 7F09A864 AD8001C4 */ sw $zero, 0x1c4($t4)
|
||||
/* 0CF398 7F09A868 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF39C 7F09A86C ADA001C8 */ sw $zero, 0x1c8($t5)
|
||||
/* 0CF3A0 7F09A870 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF3A4 7F09A874 AF2801CC */ sw $t0, 0x1cc($t9)
|
||||
/* 0CF3A8 7F09A878 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF3AC 7F09A87C AF0001D0 */ sw $zero, 0x1d0($t8)
|
||||
/* 0CF3B0 7F09A880 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF3B4 7F09A884 E56001D4 */ swc1 $f0, 0x1d4($t3)
|
||||
/* 0CF3B8 7F09A888 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF3BC 7F09A88C E5E001D8 */ swc1 $f0, 0x1d8($t7)
|
||||
/* 0CF3C0 7F09A890 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF3C4 7F09A894 E5C801DC */ swc1 $f8, 0x1dc($t6)
|
||||
/* 0CF3C8 7F09A898 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF3CC 7F09A89C E58001E0 */ swc1 $f0, 0x1e0($t4)
|
||||
/* 0CF3D0 7F09A8A0 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF3D4 7F09A8A4 E5A201E4 */ swc1 $f2, 0x1e4($t5)
|
||||
/* 0CF3D8 7F09A8A8 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF3DC 7F09A8AC E72001E8 */ swc1 $f0, 0x1e8($t9)
|
||||
/* 0CF3E0 7F09A8B0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF3E4 7F09A8B4 E70001EC */ swc1 $f0, 0x1ec($t8)
|
||||
/* 0CF3E8 7F09A8B8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF3EC 7F09A8BC E56001F0 */ swc1 $f0, 0x1f0($t3)
|
||||
/* 0CF3F0 7F09A8C0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF3F4 7F09A8C4 E5E201F4 */ swc1 $f2, 0x1f4($t7)
|
||||
/* 0CF3F8 7F09A8C8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF3FC 7F09A8CC ADC00200 */ sw $zero, 0x200($t6)
|
||||
/* 0CF400 7F09A8D0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF404 7F09A8D4 E5800204 */ swc1 $f0, 0x204($t4)
|
||||
/* 0CF408 7F09A8D8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF40C 7F09A8DC E5A00208 */ swc1 $f0, 0x208($t5)
|
||||
/* 0CF410 7F09A8E0 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF414 7F09A8E4 E720020C */ swc1 $f0, 0x20c($t9)
|
||||
/* 0CF418 7F09A8E8 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF41C 7F09A8EC E7000210 */ swc1 $f0, 0x210($t8)
|
||||
/* 0CF420 7F09A8F0 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF424 7F09A8F4 E5600214 */ swc1 $f0, 0x214($t3)
|
||||
/* 0CF428 7F09A8F8 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF42C 7F09A8FC ADE00218 */ sw $zero, 0x218($t7)
|
||||
/* 0CF430 7F09A900 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF434 7F09A904 ADC8021C */ sw $t0, 0x21c($t6)
|
||||
/* 0CF438 7F09A908 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF43C 7F09A90C AD800220 */ sw $zero, 0x220($t4)
|
||||
/* 0CF440 7F09A910 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF444 7F09A914 E5A00224 */ swc1 $f0, 0x224($t5)
|
||||
/* 0CF448 7F09A918 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF44C 7F09A91C A72003B4 */ sh $zero, 0x3b4($t9)
|
||||
/* 0CF450 7F09A920 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF454 7F09A924 A70003B6 */ sh $zero, 0x3b6($t8)
|
||||
/* 0CF458 7F09A928 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF45C 7F09A92C E56003B8 */ swc1 $f0, 0x3b8($t3)
|
||||
/* 0CF460 7F09A930 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF464 7F09A934 E5E003BC */ swc1 $f0, 0x3bc($t7)
|
||||
/* 0CF468 7F09A938 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF46C 7F09A93C C42A7614 */ lwc1 $f10, %lo(D_80057614)($at)
|
||||
/* 0CF470 7F09A940 E5CA03C0 */ swc1 $f10, 0x3c0($t6)
|
||||
/* 0CF474 7F09A944 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF478 7F09A948 E58003C4 */ swc1 $f0, 0x3c4($t4)
|
||||
/* 0CF47C 7F09A94C 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF480 7F09A950 E5A003C8 */ swc1 $f0, 0x3c8($t5)
|
||||
/* 0CF484 7F09A954 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF488 7F09A958 E72203CC */ swc1 $f2, 0x3cc($t9)
|
||||
/* 0CF48C 7F09A95C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF490 7F09A960 AF0203D0 */ sw $v0, 0x3d0($t8)
|
||||
/* 0CF494 7F09A964 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF498 7F09A968 AD6203D4 */ sw $v0, 0x3d4($t3)
|
||||
/* 0CF49C 7F09A96C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF4A0 7F09A970 3C018005 */ lui $at, %hi(D_80057618)
|
||||
/* 0CF4A4 7F09A974 24070020 */ li $a3, 32
|
||||
/* 0CF4A8 7F09A978 ADE203D8 */ sw $v0, 0x3d8($t7)
|
||||
/* 0CF4AC 7F09A97C 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF4B0 7F09A980 240601FF */ li $a2, 511
|
||||
/* 0CF4B4 7F09A984 240501E0 */ li $a1, 480
|
||||
/* 0CF4B8 7F09A988 E5C003DC */ swc1 $f0, 0x3dc($t6)
|
||||
/* 0CF4BC 7F09A98C 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF4C0 7F09A990 E58C03E0 */ swc1 $f12, 0x3e0($t4)
|
||||
/* 0CF4C4 7F09A994 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF4C8 7F09A998 E5AC03E4 */ swc1 $f12, 0x3e4($t5)
|
||||
/* 0CF4CC 7F09A99C 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF4D0 7F09A9A0 AF2203E8 */ sw $v0, 0x3e8($t9)
|
||||
/* 0CF4D4 7F09A9A4 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF4D8 7F09A9A8 AF0203EC */ sw $v0, 0x3ec($t8)
|
||||
/* 0CF4DC 7F09A9AC 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF4E0 7F09A9B0 AD6203F0 */ sw $v0, 0x3f0($t3)
|
||||
/* 0CF4E4 7F09A9B4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF4E8 7F09A9B8 ADE203F4 */ sw $v0, 0x3f4($t7)
|
||||
/* 0CF4EC 7F09A9BC 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF4F0 7F09A9C0 ADC203F8 */ sw $v0, 0x3f8($t6)
|
||||
/* 0CF4F4 7F09A9C4 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF4F8 7F09A9C8 AD8203FC */ sw $v0, 0x3fc($t4)
|
||||
/* 0CF4FC 7F09A9CC 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF500 7F09A9D0 00001025 */ move $v0, $zero
|
||||
/* 0CF504 7F09A9D4 E5A00400 */ swc1 $f0, 0x400($t5)
|
||||
/* 0CF508 7F09A9D8 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF50C 7F09A9DC E7200404 */ swc1 $f0, 0x404($t9)
|
||||
/* 0CF510 7F09A9E0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF514 7F09A9E4 AF00041C */ sw $zero, 0x41c($t8)
|
||||
/* 0CF518 7F09A9E8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF51C 7F09A9EC AD680420 */ sw $t0, 0x420($t3)
|
||||
/* 0CF520 7F09A9F0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF524 7F09A9F4 ADE00424 */ sw $zero, 0x424($t7)
|
||||
/* 0CF528 7F09A9F8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF52C 7F09A9FC ADC00428 */ sw $zero, 0x428($t6)
|
||||
/* 0CF530 7F09AA00 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF534 7F09AA04 AD84042C */ sw $a0, 0x42c($t4)
|
||||
/* 0CF538 7F09AA08 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF53C 7F09AA0C 24040280 */ li $a0, 640
|
||||
/* 0CF540 7F09AA10 ADA00430 */ sw $zero, 0x430($t5)
|
||||
/* 0CF544 7F09AA14 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF548 7F09AA18 AF2804DC */ sw $t0, 0x4dc($t9)
|
||||
/* 0CF54C 7F09AA1C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF550 7F09AA20 AF0804E0 */ sw $t0, 0x4e0($t8)
|
||||
/* 0CF554 7F09AA24 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF558 7F09AA28 AD6804E4 */ sw $t0, 0x4e4($t3)
|
||||
/* 0CF55C 7F09AA2C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF560 7F09AA30 ADE004E8 */ sw $zero, 0x4e8($t7)
|
||||
/* 0CF564 7F09AA34 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF568 7F09AA38 C4327618 */ lwc1 $f18, %lo(D_80057618)($at)
|
||||
/* 0CF56C 7F09AA3C 3C018005 */ lui $at, %hi(D_8005761C)
|
||||
/* 0CF570 7F09AA40 E5D204EC */ swc1 $f18, 0x4ec($t6)
|
||||
/* 0CF574 7F09AA44 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF578 7F09AA48 AD8004F0 */ sw $zero, 0x4f0($t4)
|
||||
/* 0CF57C 7F09AA4C 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF580 7F09AA50 E5A204F4 */ swc1 $f2, 0x4f4($t5)
|
||||
/* 0CF584 7F09AA54 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF588 7F09AA58 E72204F8 */ swc1 $f2, 0x4f8($t9)
|
||||
/* 0CF58C 7F09AA5C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF590 7F09AA60 E70004FC */ swc1 $f0, 0x4fc($t8)
|
||||
/* 0CF594 7F09AA64 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF598 7F09AA68 E5600500 */ swc1 $f0, 0x500($t3)
|
||||
/* 0CF59C 7F09AA6C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF5A0 7F09AA70 E5E00504 */ swc1 $f0, 0x504($t7)
|
||||
/* 0CF5A4 7F09AA74 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF5A8 7F09AA78 C42C761C */ lwc1 $f12, %lo(D_8005761C)($at)
|
||||
/* 0CF5AC 7F09AA7C E5C00508 */ swc1 $f0, 0x508($t6)
|
||||
/* 0CF5B0 7F09AA80 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF5B4 7F09AA84 E580050C */ swc1 $f0, 0x50c($t4)
|
||||
/* 0CF5B8 7F09AA88 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF5BC 7F09AA8C E5A20510 */ swc1 $f2, 0x510($t5)
|
||||
/* 0CF5C0 7F09AA90 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF5C4 7F09AA94 E7200514 */ swc1 $f0, 0x514($t9)
|
||||
/* 0CF5C8 7F09AA98 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF5CC 7F09AA9C E7020518 */ swc1 $f2, 0x518($t8)
|
||||
/* 0CF5D0 7F09AAA0 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF5D4 7F09AAA4 E560051C */ swc1 $f0, 0x51c($t3)
|
||||
/* 0CF5D8 7F09AAA8 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF5DC 7F09AAAC E5E00520 */ swc1 $f0, 0x520($t7)
|
||||
/* 0CF5E0 7F09AAB0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF5E4 7F09AAB4 E5C00524 */ swc1 $f0, 0x524($t6)
|
||||
/* 0CF5E8 7F09AAB8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF5EC 7F09AABC E5800528 */ swc1 $f0, 0x528($t4)
|
||||
/* 0CF5F0 7F09AAC0 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF5F4 7F09AAC4 E5A0052C */ swc1 $f0, 0x52c($t5)
|
||||
/* 0CF5F8 7F09AAC8 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF5FC 7F09AACC E7200530 */ swc1 $f0, 0x530($t9)
|
||||
/* 0CF600 7F09AAD0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF604 7F09AAD4 E70C0534 */ swc1 $f12, 0x534($t8)
|
||||
/* 0CF608 7F09AAD8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF60C 7F09AADC E5600538 */ swc1 $f0, 0x538($t3)
|
||||
/* 0CF610 7F09AAE0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF614 7F09AAE4 E5EC053C */ swc1 $f12, 0x53c($t7)
|
||||
/* 0CF618 7F09AAE8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF61C 7F09AAEC E5C00540 */ swc1 $f0, 0x540($t6)
|
||||
/* 0CF620 7F09AAF0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF624 7F09AAF4 E5800544 */ swc1 $f0, 0x544($t4)
|
||||
/* 0CF628 7F09AAF8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF62C 7F09AAFC E5A00548 */ swc1 $f0, 0x548($t5)
|
||||
/* 0CF630 7F09AB00 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF634 7F09AB04 E720054C */ swc1 $f0, 0x54c($t9)
|
||||
/* 0CF638 7F09AB08 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF63C 7F09AB0C E7000550 */ swc1 $f0, 0x550($t8)
|
||||
/* 0CF640 7F09AB10 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF644 7F09AB14 E5600554 */ swc1 $f0, 0x554($t3)
|
||||
/* 0CF648 7F09AB18 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF64C 7F09AB1C E5E00558 */ swc1 $f0, 0x558($t7)
|
||||
/* 0CF650 7F09AB20 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF654 7F09AB24 E5C0055C */ swc1 $f0, 0x55c($t6)
|
||||
/* 0CF658 7F09AB28 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF65C 7F09AB2C E5800560 */ swc1 $f0, 0x560($t4)
|
||||
/* 0CF660 7F09AB30 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF664 7F09AB34 E5A00564 */ swc1 $f0, 0x564($t5)
|
||||
/* 0CF668 7F09AB38 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF66C 7F09AB3C E7200568 */ swc1 $f0, 0x568($t9)
|
||||
/* 0CF670 7F09AB40 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF674 7F09AB44 E702056C */ swc1 $f2, 0x56c($t8)
|
||||
/* 0CF678 7F09AB48 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF67C 7F09AB4C E5600570 */ swc1 $f0, 0x570($t3)
|
||||
/* 0CF680 7F09AB50 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF684 7F09AB54 E5E00574 */ swc1 $f0, 0x574($t7)
|
||||
/* 0CF688 7F09AB58 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF68C 7F09AB5C E5C20578 */ swc1 $f2, 0x578($t6)
|
||||
/* 0CF690 7F09AB60 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF694 7F09AB64 E580057C */ swc1 $f0, 0x57c($t4)
|
||||
/* 0CF698 7F09AB68 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF69C 7F09AB6C E5A20580 */ swc1 $f2, 0x580($t5)
|
||||
/* 0CF6A0 7F09AB70 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF6A4 7F09AB74 E7200584 */ swc1 $f0, 0x584($t9)
|
||||
/* 0CF6A8 7F09AB78 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF6AC 7F09AB7C E7000588 */ swc1 $f0, 0x588($t8)
|
||||
/* 0CF6B0 7F09AB80 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF6B4 7F09AB84 E562058C */ swc1 $f2, 0x58c($t3)
|
||||
/* 0CF6B8 7F09AB88 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF6BC 7F09AB8C E5E00590 */ swc1 $f0, 0x590($t7)
|
||||
/* 0CF6C0 7F09AB90 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF6C4 7F09AB94 ADC00594 */ sw $zero, 0x594($t6)
|
||||
.L7F09AB98:
|
||||
/* 0CF6C8 7F09AB98 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF6CC 7F09AB9C 01826821 */ addu $t5, $t4, $v0
|
||||
/* 0CF6D0 7F09ABA0 A5A407D0 */ sh $a0, 0x7d0($t5)
|
||||
/* 0CF6D4 7F09ABA4 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF6D8 7F09ABA8 0322C021 */ addu $t8, $t9, $v0
|
||||
/* 0CF6DC 7F09ABAC A70507D2 */ sh $a1, 0x7d2($t8)
|
||||
/* 0CF6E0 7F09ABB0 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF6E4 7F09ABB4 01627821 */ addu $t7, $t3, $v0
|
||||
/* 0CF6E8 7F09ABB8 A5E607D4 */ sh $a2, 0x7d4($t7)
|
||||
/* 0CF6EC 7F09ABBC 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF6F0 7F09ABC0 01C26021 */ addu $t4, $t6, $v0
|
||||
/* 0CF6F4 7F09ABC4 A58007D6 */ sh $zero, 0x7d6($t4)
|
||||
/* 0CF6F8 7F09ABC8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF6FC 7F09ABCC 01A2C821 */ addu $t9, $t5, $v0
|
||||
/* 0CF700 7F09ABD0 A72407D8 */ sh $a0, 0x7d8($t9)
|
||||
/* 0CF704 7F09ABD4 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF708 7F09ABD8 03025821 */ addu $t3, $t8, $v0
|
||||
/* 0CF70C 7F09ABDC A56507DA */ sh $a1, 0x7da($t3)
|
||||
/* 0CF710 7F09ABE0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF714 7F09ABE4 01E27021 */ addu $t6, $t7, $v0
|
||||
/* 0CF718 7F09ABE8 A5C607DC */ sh $a2, 0x7dc($t6)
|
||||
/* 0CF71C 7F09ABEC 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF720 7F09ABF0 01826821 */ addu $t5, $t4, $v0
|
||||
/* 0CF724 7F09ABF4 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* 0CF728 7F09ABF8 1447FFE7 */ bne $v0, $a3, .L7F09AB98
|
||||
/* 0CF72C 7F09ABFC A5A007DE */ sh $zero, 0x7de($t5)
|
||||
/* 0CF730 7F09AC00 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF734 7F09AC04 24020064 */ li $v0, 100
|
||||
/* 0CF738 7F09AC08 A72207F0 */ sh $v0, 0x7f0($t9)
|
||||
/* 0CF73C 7F09AC0C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF740 7F09AC10 A70207F2 */ sh $v0, 0x7f2($t8)
|
||||
/* 0CF744 7F09AC14 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF748 7F09AC18 A56007F4 */ sh $zero, 0x7f4($t3)
|
||||
/* 0CF74C 7F09AC1C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF750 7F09AC20 A5E007F6 */ sh $zero, 0x7f6($t7)
|
||||
/* 0CF754 7F09AC24 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF758 7F09AC28 ADC007F8 */ sw $zero, 0x7f8($t6)
|
||||
/* 0CF75C 7F09AC2C 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF760 7F09AC30 AD8007FC */ sw $zero, 0x7fc($t4)
|
||||
/* 0CF764 7F09AC34 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF768 7F09AC38 ADA00800 */ sw $zero, 0x800($t5)
|
||||
/* 0CF76C 7F09AC3C 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF770 7F09AC40 AF200804 */ sw $zero, 0x804($t9)
|
||||
/* 0CF774 7F09AC44 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF778 7F09AC48 AF092A44 */ sw $t1, 0x2a44($t8)
|
||||
/* 0CF77C 7F09AC4C 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF780 7F09AC50 0140C025 */ move $t8, $t2
|
||||
/* 0CF784 7F09AC54 AD692A48 */ sw $t1, 0x2a48($t3)
|
||||
/* 0CF788 7F09AC58 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF78C 7F09AC5C 254B03A8 */ addiu $t3, $t2, 0x3a8
|
||||
/* 0CF790 7F09AC60 ADE02A50 */ sw $zero, 0x2a50($t7)
|
||||
/* 0CF794 7F09AC64 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF798 7F09AC68 01407825 */ move $t7, $t2
|
||||
/* 0CF79C 7F09AC6C ADC02A54 */ sw $zero, 0x2a54($t6)
|
||||
/* 0CF7A0 7F09AC70 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF7A4 7F09AC74 AD800808 */ sw $zero, 0x808($t4)
|
||||
/* 0CF7A8 7F09AC78 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF7AC 7F09AC7C ADA0080C */ sw $zero, 0x80c($t5)
|
||||
/* 0CF7B0 7F09AC80 8C790000 */ lw $t9, ($v1)
|
||||
.L7F09AC84:
|
||||
/* 0CF7B4 7F09AC84 8DE10000 */ lw $at, ($t7)
|
||||
/* 0CF7B8 7F09AC88 25EF000C */ addiu $t7, $t7, 0xc
|
||||
/* 0CF7BC 7F09AC8C 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 0CF7C0 7F09AC90 AF210864 */ sw $at, 0x864($t9)
|
||||
/* 0CF7C4 7F09AC94 8DE1FFF8 */ lw $at, -8($t7)
|
||||
/* 0CF7C8 7F09AC98 AF210868 */ sw $at, 0x868($t9)
|
||||
/* 0CF7CC 7F09AC9C 8DE1FFFC */ lw $at, -4($t7)
|
||||
/* 0CF7D0 7F09ACA0 15EBFFF8 */ bne $t7, $t3, .L7F09AC84
|
||||
/* 0CF7D4 7F09ACA4 AF21086C */ sw $at, 0x86c($t9)
|
||||
/* 0CF7D8 7F09ACA8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF7DC 7F09ACAC 254D03A8 */ addiu $t5, $t2, 0x3a8
|
||||
.L7F09ACB0:
|
||||
/* 0CF7E0 7F09ACB0 8F010000 */ lw $at, ($t8)
|
||||
/* 0CF7E4 7F09ACB4 2718000C */ addiu $t8, $t8, 0xc
|
||||
/* 0CF7E8 7F09ACB8 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 0CF7EC 7F09ACBC ADC10C0C */ sw $at, 0xc0c($t6)
|
||||
/* 0CF7F0 7F09ACC0 8F01FFF8 */ lw $at, -8($t8)
|
||||
/* 0CF7F4 7F09ACC4 ADC10C10 */ sw $at, 0xc10($t6)
|
||||
/* 0CF7F8 7F09ACC8 8F01FFFC */ lw $at, -4($t8)
|
||||
/* 0CF7FC 7F09ACCC 170DFFF8 */ bne $t8, $t5, .L7F09ACB0
|
||||
/* 0CF800 7F09ACD0 ADC10C14 */ sw $at, 0xc14($t6)
|
||||
/* 0CF804 7F09ACD4 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF808 7F09ACD8 3C018005 */ lui $at, %hi(D_80057620)
|
||||
/* 0CF80C 7F09ACDC 240200FF */ li $v0, 255
|
||||
/* 0CF810 7F09ACE0 E5620FC0 */ swc1 $f2, 0xfc0($t3)
|
||||
/* 0CF814 7F09ACE4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF818 7F09ACE8 24040007 */ li $a0, 7
|
||||
/* 0CF81C 7F09ACEC E5E20FC4 */ swc1 $f2, 0xfc4($t7)
|
||||
/* 0CF820 7F09ACF0 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF824 7F09ACF4 AF200FC8 */ sw $zero, 0xfc8($t9)
|
||||
/* 0CF828 7F09ACF8 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF82C 7F09ACFC AD800FCC */ sw $zero, 0xfcc($t4)
|
||||
/* 0CF830 7F09AD00 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF834 7F09AD04 C42C7620 */ lwc1 $f12, %lo(D_80057620)($at)
|
||||
/* 0CF838 7F09AD08 3C014270 */ li $at, 0x42700000 # 60.000000
|
||||
/* 0CF83C 7F09AD0C ADA00FD0 */ sw $zero, 0xfd0($t5)
|
||||
/* 0CF840 7F09AD10 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF844 7F09AD14 AF000FD4 */ sw $zero, 0xfd4($t8)
|
||||
/* 0CF848 7F09AD18 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF84C 7F09AD1C ADC00FD8 */ sw $zero, 0xfd8($t6)
|
||||
/* 0CF850 7F09AD20 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF854 7F09AD24 A1620FDC */ sb $v0, 0xfdc($t3)
|
||||
/* 0CF858 7F09AD28 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF85C 7F09AD2C A1E20FDD */ sb $v0, 0xfdd($t7)
|
||||
/* 0CF860 7F09AD30 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF864 7F09AD34 A3220FDE */ sb $v0, 0xfde($t9)
|
||||
/* 0CF868 7F09AD38 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF86C 7F09AD3C 3C028008 */ lui $v0, %hi(random_byte)
|
||||
/* 0CF870 7F09AD40 2442A0BC */ addiu $v0, %lo(random_byte) # addiu $v0, $v0, -0x5f44
|
||||
/* 0CF874 7F09AD44 A1800FDF */ sb $zero, 0xfdf($t4)
|
||||
/* 0CF878 7F09AD48 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF87C 7F09AD4C ADA80FE0 */ sw $t0, 0xfe0($t5)
|
||||
/* 0CF880 7F09AD50 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF884 7F09AD54 AF000FE4 */ sw $zero, 0xfe4($t8)
|
||||
/* 0CF888 7F09AD58 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF88C 7F09AD5C E5C00FE8 */ swc1 $f0, 0xfe8($t6)
|
||||
/* 0CF890 7F09AD60 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF894 7F09AD64 E5600FEC */ swc1 $f0, 0xfec($t3)
|
||||
/* 0CF898 7F09AD68 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF89C 7F09AD6C E5E00FF0 */ swc1 $f0, 0xff0($t7)
|
||||
/* 0CF8A0 7F09AD70 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF8A4 7F09AD74 E7200FF4 */ swc1 $f0, 0xff4($t9)
|
||||
/* 0CF8A8 7F09AD78 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF8AC 7F09AD7C E58C0FF8 */ swc1 $f12, 0xff8($t4)
|
||||
/* 0CF8B0 7F09AD80 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF8B4 7F09AD84 E5A00FFC */ swc1 $f0, 0xffc($t5)
|
||||
/* 0CF8B8 7F09AD88 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF8BC 7F09AD8C E7001000 */ swc1 $f0, 0x1000($t8)
|
||||
/* 0CF8C0 7F09AD90 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF8C4 7F09AD94 E5C01004 */ swc1 $f0, 0x1004($t6)
|
||||
/* 0CF8C8 7F09AD98 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF8CC 7F09AD9C E5601008 */ swc1 $f0, 0x1008($t3)
|
||||
/* 0CF8D0 7F09ADA0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF8D4 7F09ADA4 E5EC100C */ swc1 $f12, 0x100c($t7)
|
||||
/* 0CF8D8 7F09ADA8 44816000 */ mtc1 $at, $f12
|
||||
/* 0CF8DC 7F09ADAC 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF8E0 7F09ADB0 3C0143A0 */ li $at, 0x43A00000 # 320.000000
|
||||
/* 0CF8E4 7F09ADB4 44817000 */ mtc1 $at, $f14
|
||||
/* 0CF8E8 7F09ADB8 3C014370 */ li $at, 0x43700000 # 240.000000
|
||||
/* 0CF8EC 7F09ADBC 44818000 */ mtc1 $at, $f16
|
||||
/* 0CF8F0 7F09ADC0 E7201010 */ swc1 $f0, 0x1010($t9)
|
||||
/* 0CF8F4 7F09ADC4 3C018005 */ lui $at, %hi(D_80057624)
|
||||
/* 0CF8F8 7F09ADC8 C4247624 */ lwc1 $f4, %lo(D_80057624)($at)
|
||||
/* 0CF8FC 7F09ADCC 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF900 7F09ADD0 3C014120 */ li $at, 0x41200000 # 10.000000
|
||||
/* 0CF904 7F09ADD4 44813000 */ mtc1 $at, $f6
|
||||
/* 0CF908 7F09ADD8 E5841014 */ swc1 $f4, 0x1014($t4)
|
||||
/* 0CF90C 7F09ADDC 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF910 7F09ADE0 3C014238 */ li $at, 0x42380000 # 46.000000
|
||||
/* 0CF914 7F09ADE4 44814000 */ mtc1 $at, $f8
|
||||
/* 0CF918 7F09ADE8 E5A01018 */ swc1 $f0, 0x1018($t5)
|
||||
/* 0CF91C 7F09ADEC 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF920 7F09ADF0 3C014320 */ li $at, 0x43200000 # 160.000000
|
||||
/* 0CF924 7F09ADF4 44815000 */ mtc1 $at, $f10
|
||||
/* 0CF928 7F09ADF8 AF00105C */ sw $zero, 0x105c($t8)
|
||||
/* 0CF92C 7F09ADFC 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF930 7F09AE00 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0CF934 7F09AE04 44819000 */ mtc1 $at, $f18
|
||||
/* 0CF938 7F09AE08 ADC01060 */ sw $zero, 0x1060($t6)
|
||||
/* 0CF93C 7F09AE0C 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF940 7F09AE10 3C018005 */ lui $at, %hi(D_80057628)
|
||||
/* 0CF944 7F09AE14 AD601064 */ sw $zero, 0x1064($t3)
|
||||
/* 0CF948 7F09AE18 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF94C 7F09AE1C E5E0106C */ swc1 $f0, 0x106c($t7)
|
||||
/* 0CF950 7F09AE20 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF954 7F09AE24 E7201070 */ swc1 $f0, 0x1070($t9)
|
||||
/* 0CF958 7F09AE28 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF95C 7F09AE2C E5801074 */ swc1 $f0, 0x1074($t4)
|
||||
/* 0CF960 7F09AE30 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF964 7F09AE34 ADA01078 */ sw $zero, 0x1078($t5)
|
||||
/* 0CF968 7F09AE38 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF96C 7F09AE3C E700107C */ swc1 $f0, 0x107c($t8)
|
||||
/* 0CF970 7F09AE40 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF974 7F09AE44 E5C01080 */ swc1 $f0, 0x1080($t6)
|
||||
/* 0CF978 7F09AE48 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF97C 7F09AE4C E56C1084 */ swc1 $f12, 0x1084($t3)
|
||||
/* 0CF980 7F09AE50 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF984 7F09AE54 E5EC1088 */ swc1 $f12, 0x1088($t7)
|
||||
/* 0CF988 7F09AE58 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF98C 7F09AE5C AF29108C */ sw $t1, 0x108c($t9)
|
||||
/* 0CF990 7F09AE60 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF994 7F09AE64 E58E1090 */ swc1 $f14, 0x1090($t4)
|
||||
/* 0CF998 7F09AE68 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF99C 7F09AE6C E5B01094 */ swc1 $f16, 0x1094($t5)
|
||||
/* 0CF9A0 7F09AE70 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF9A4 7F09AE74 E7001098 */ swc1 $f0, 0x1098($t8)
|
||||
/* 0CF9A8 7F09AE78 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF9AC 7F09AE7C E5C0109C */ swc1 $f0, 0x109c($t6)
|
||||
/* 0CF9B0 7F09AE80 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF9B4 7F09AE84 E56610A0 */ swc1 $f6, 0x10a0($t3)
|
||||
/* 0CF9B8 7F09AE88 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF9BC 7F09AE8C E5E810A4 */ swc1 $f8, 0x10a4($t7)
|
||||
/* 0CF9C0 7F09AE90 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF9C4 7F09AE94 E72210A8 */ swc1 $f2, 0x10a8($t9)
|
||||
/* 0CF9C8 7F09AE98 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CF9CC 7F09AE9C E58A10AC */ swc1 $f10, 0x10ac($t4)
|
||||
/* 0CF9D0 7F09AEA0 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CF9D4 7F09AEA4 E5B210B0 */ swc1 $f18, 0x10b0($t5)
|
||||
/* 0CF9D8 7F09AEA8 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CF9DC 7F09AEAC E70210B4 */ swc1 $f2, 0x10b4($t8)
|
||||
/* 0CF9E0 7F09AEB0 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CF9E4 7F09AEB4 E5C210B8 */ swc1 $f2, 0x10b8($t6)
|
||||
/* 0CF9E8 7F09AEB8 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CF9EC 7F09AEBC E56210BC */ swc1 $f2, 0x10bc($t3)
|
||||
/* 0CF9F0 7F09AEC0 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CF9F4 7F09AEC4 E5E210C0 */ swc1 $f2, 0x10c0($t7)
|
||||
/* 0CF9F8 7F09AEC8 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CF9FC 7F09AECC AF2010C4 */ sw $zero, 0x10c4($t9)
|
||||
/* 0CFA00 7F09AED0 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFA04 7F09AED4 AD8010C8 */ sw $zero, 0x10c8($t4)
|
||||
/* 0CFA08 7F09AED8 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFA0C 7F09AEDC ADA010CC */ sw $zero, 0x10cc($t5)
|
||||
/* 0CFA10 7F09AEE0 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFA14 7F09AEE4 AF0010D0 */ sw $zero, 0x10d0($t8)
|
||||
/* 0CFA18 7F09AEE8 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFA1C 7F09AEEC ADC010D4 */ sw $zero, 0x10d4($t6)
|
||||
/* 0CFA20 7F09AEF0 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFA24 7F09AEF4 AD6010D8 */ sw $zero, 0x10d8($t3)
|
||||
/* 0CFA28 7F09AEF8 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFA2C 7F09AEFC ADE010DC */ sw $zero, 0x10dc($t7)
|
||||
/* 0CFA30 7F09AF00 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFA34 7F09AF04 AF2010E0 */ sw $zero, 0x10e0($t9)
|
||||
/* 0CFA38 7F09AF08 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFA3C 7F09AF0C 3C190001 */ lui $t9, 1
|
||||
/* 0CFA40 7F09AF10 AD8010E4 */ sw $zero, 0x10e4($t4)
|
||||
/* 0CFA44 7F09AF14 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFA48 7F09AF18 ADA010E8 */ sw $zero, 0x10e8($t5)
|
||||
/* 0CFA4C 7F09AF1C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFA50 7F09AF20 AF0010EC */ sw $zero, 0x10ec($t8)
|
||||
/* 0CFA54 7F09AF24 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFA58 7F09AF28 E5C210F0 */ swc1 $f2, 0x10f0($t6)
|
||||
/* 0CFA5C 7F09AF2C 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFA60 7F09AF30 E56210F4 */ swc1 $f2, 0x10f4($t3)
|
||||
/* 0CFA64 7F09AF34 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFA68 7F09AF38 E5E210F8 */ swc1 $f2, 0x10f8($t7)
|
||||
/* 0CFA6C 7F09AF3C 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFA70 7F09AF40 AD9910FC */ sw $t9, 0x10fc($t4)
|
||||
/* 0CFA74 7F09AF44 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFA78 7F09AF48 E5A01118 */ swc1 $f0, 0x1118($t5)
|
||||
/* 0CFA7C 7F09AF4C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFA80 7F09AF50 E700111C */ swc1 $f0, 0x111c($t8)
|
||||
/* 0CFA84 7F09AF54 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFA88 7F09AF58 E5CE1120 */ swc1 $f14, 0x1120($t6)
|
||||
/* 0CFA8C 7F09AF5C 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFA90 7F09AF60 E5701124 */ swc1 $f16, 0x1124($t3)
|
||||
/* 0CFA94 7F09AF64 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFA98 7F09AF68 ADE01128 */ sw $zero, 0x1128($t7)
|
||||
/* 0CFA9C 7F09AF6C 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFAA0 7F09AF70 AF2011B0 */ sw $zero, 0x11b0($t9)
|
||||
/* 0CFAA4 7F09AF74 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFAA8 7F09AF78 AD8011B4 */ sw $zero, 0x11b4($t4)
|
||||
/* 0CFAAC 7F09AF7C 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFAB0 7F09AF80 ADA011B8 */ sw $zero, 0x11b8($t5)
|
||||
/* 0CFAB4 7F09AF84 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFAB8 7F09AF88 E70011BC */ swc1 $f0, 0x11bc($t8)
|
||||
/* 0CFABC 7F09AF8C 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFAC0 7F09AF90 E5C011C0 */ swc1 $f0, 0x11c0($t6)
|
||||
/* 0CFAC4 7F09AF94 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFAC8 7F09AF98 E56C11C4 */ swc1 $f12, 0x11c4($t3)
|
||||
/* 0CFACC 7F09AF9C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFAD0 7F09AFA0 E5EC11C8 */ swc1 $f12, 0x11c8($t7)
|
||||
/* 0CFAD4 7F09AFA4 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFAD8 7F09AFA8 E72C11CC */ swc1 $f12, 0x11cc($t9)
|
||||
/* 0CFADC 7F09AFAC 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFAE0 7F09AFB0 E58C11D0 */ swc1 $f12, 0x11d0($t4)
|
||||
/* 0CFAE4 7F09AFB4 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFAE8 7F09AFB8 C4247628 */ lwc1 $f4, %lo(D_80057628)($at)
|
||||
/* 0CFAEC 7F09AFBC 3C018003 */ lui $at, %hi(invisible_to_guards_flag)
|
||||
/* 0CFAF0 7F09AFC0 E5A411D4 */ swc1 $f4, 0x11d4($t5)
|
||||
/* 0CFAF4 7F09AFC4 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFAF8 7F09AFC8 AF0011D8 */ sw $zero, 0x11d8($t8)
|
||||
/* 0CFAFC 7F09AFCC 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFB00 7F09AFD0 ADC911DC */ sw $t1, 0x11dc($t6)
|
||||
/* 0CFB04 7F09AFD4 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFB08 7F09AFD8 AD6011E0 */ sw $zero, 0x11e0($t3)
|
||||
/* 0CFB0C 7F09AFDC 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFB10 7F09AFE0 ADE011E4 */ sw $zero, 0x11e4($t7)
|
||||
/* 0CFB14 7F09AFE4 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFB18 7F09AFE8 AF2011E8 */ sw $zero, 0x11e8($t9)
|
||||
/* 0CFB1C 7F09AFEC 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFB20 7F09AFF0 AD8011EC */ sw $zero, 0x11ec($t4)
|
||||
/* 0CFB24 7F09AFF4 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFB28 7F09AFF8 ADA011F0 */ sw $zero, 0x11f0($t5)
|
||||
/* 0CFB2C 7F09AFFC 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFB30 7F09B000 AF0011F4 */ sw $zero, 0x11f4($t8)
|
||||
/* 0CFB34 7F09B004 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFB38 7F09B008 E5C01280 */ swc1 $f0, 0x1280($t6)
|
||||
/* 0CFB3C 7F09B00C 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFB40 7F09B010 AD601284 */ sw $zero, 0x1284($t3)
|
||||
/* 0CFB44 7F09B014 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFB48 7F09B018 E5E01288 */ swc1 $f0, 0x1288($t7)
|
||||
/* 0CFB4C 7F09B01C 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFB50 7F09B020 A32012B6 */ sb $zero, 0x12b6($t9)
|
||||
/* 0CFB54 7F09B024 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFB58 7F09B028 AD8429B8 */ sw $a0, 0x29b8($t4)
|
||||
/* 0CFB5C 7F09B02C 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFB60 7F09B030 E5A229BC */ swc1 $f2, 0x29bc($t5)
|
||||
/* 0CFB64 7F09B034 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFB68 7F09B038 E70029C0 */ swc1 $f0, 0x29c0($t8)
|
||||
/* 0CFB6C 7F09B03C 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFB70 7F09B040 ADC029C4 */ sw $zero, 0x29c4($t6)
|
||||
/* 0CFB74 7F09B044 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFB78 7F09B048 AD6429D4 */ sw $a0, 0x29d4($t3)
|
||||
/* 0CFB7C 7F09B04C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFB80 7F09B050 ADE029D8 */ sw $zero, 0x29d8($t7)
|
||||
/* 0CFB84 7F09B054 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFB88 7F09B058 8C590000 */ lw $t9, ($v0)
|
||||
/* 0CFB8C 7F09B05C AD9929E0 */ sw $t9, 0x29e0($t4)
|
||||
/* 0CFB90 7F09B060 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 0CFB94 7F09B064 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFB98 7F09B068 25B80001 */ addiu $t8, $t5, 1
|
||||
/* 0CFB9C 7F09B06C AC580000 */ sw $t8, ($v0)
|
||||
/* 0CFBA0 7F09B070 ADC929E4 */ sw $t1, 0x29e4($t6)
|
||||
/* 0CFBA4 7F09B074 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFBA8 7F09B078 AD6929E8 */ sw $t1, 0x29e8($t3)
|
||||
/* 0CFBAC 7F09B07C 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFBB0 7F09B080 ADE929EC */ sw $t1, 0x29ec($t7)
|
||||
/* 0CFBB4 7F09B084 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFBB8 7F09B088 AF2929F0 */ sw $t1, 0x29f0($t9)
|
||||
/* 0CFBBC 7F09B08C 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFBC0 7F09B090 AD802A00 */ sw $zero, 0x2a00($t4)
|
||||
/* 0CFBC4 7F09B094 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFBC8 7F09B098 ADA02A30 */ sw $zero, 0x2a30($t5)
|
||||
/* 0CFBCC 7F09B09C 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFBD0 7F09B0A0 AF002A34 */ sw $zero, 0x2a34($t8)
|
||||
/* 0CFBD4 7F09B0A4 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFBD8 7F09B0A8 ADC82A38 */ sw $t0, 0x2a38($t6)
|
||||
/* 0CFBDC 7F09B0AC 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFBE0 7F09B0B0 E5622A3C */ swc1 $f2, 0x2a3c($t3)
|
||||
/* 0CFBE4 7F09B0B4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFBE8 7F09B0B8 E5E22A40 */ swc1 $f2, 0x2a40($t7)
|
||||
/* 0CFBEC 7F09B0BC 8C790000 */ lw $t9, ($v1)
|
||||
/* 0CFBF0 7F09B0C0 AF202A58 */ sw $zero, 0x2a58($t9)
|
||||
/* 0CFBF4 7F09B0C4 8C6C0000 */ lw $t4, ($v1)
|
||||
/* 0CFBF8 7F09B0C8 AD802A5C */ sw $zero, 0x2a5c($t4)
|
||||
/* 0CFBFC 7F09B0CC 8C6D0000 */ lw $t5, ($v1)
|
||||
/* 0CFC00 7F09B0D0 E5A02A60 */ swc1 $f0, 0x2a60($t5)
|
||||
/* 0CFC04 7F09B0D4 8C780000 */ lw $t8, ($v1)
|
||||
/* 0CFC08 7F09B0D8 AF002A64 */ sw $zero, 0x2a64($t8)
|
||||
/* 0CFC0C 7F09B0DC 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 0CFC10 7F09B0E0 ADC82A68 */ sw $t0, 0x2a68($t6)
|
||||
/* 0CFC14 7F09B0E4 8C6B0000 */ lw $t3, ($v1)
|
||||
/* 0CFC18 7F09B0E8 AD602A6C */ sw $zero, 0x2a6c($t3)
|
||||
/* 0CFC1C 7F09B0EC 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 0CFC20 7F09B0F0 ADE02A70 */ sw $zero, 0x2a70($t7)
|
||||
/* 0CFC24 7F09B0F4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CFC28 7F09B0F8 AC2864C4 */ sw $t0, %lo(invisible_to_guards_flag)($at)
|
||||
/* 0CFC2C 7F09B0FC 3C018003 */ lui $at, %hi(obj_collision_flag)
|
||||
/* 0CFC30 7F09B100 AC2864C8 */ sw $t0, %lo(obj_collision_flag)($at)
|
||||
/* 0CFC34 7F09B104 03E00008 */ jr $ra
|
||||
/* 0CFC38 7F09B108 27BD03D0 */ addiu $sp, $sp, 0x3d0
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void set_cur_player(PLAYER_ID playernum)
|
||||
void set_cur_player(s32 playernum)
|
||||
{
|
||||
pPlayer = players[playernum];
|
||||
pPlayersPerm = player1_playerdata[playernum];
|
||||
@@ -10180,7 +10995,7 @@ glabel sub_GAME_7F09B41C
|
||||
/* 0CFF98 7F09B468 24140003 */ li $s4, 3
|
||||
/* 0CFF9C 7F09B46C 24130004 */ li $s3, 4
|
||||
.L7F09B470:
|
||||
/* 0CFFA0 7F09B470 0C002914 */ jal get_random_value
|
||||
/* 0CFFA0 7F09B470 0C002914 */ jal randomGetNext
|
||||
/* 0CFFA4 7F09B474 00000000 */ nop
|
||||
/* 0CFFA8 7F09B478 02707823 */ subu $t7, $s3, $s0
|
||||
/* 0CFFAC 7F09B47C 004F001B */ divu $zero, $v0, $t7
|
||||
@@ -10287,7 +11102,7 @@ glabel sub_GAME_7F09B4D8
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
int proc_7F09B528(int param_1)
|
||||
s32 sub_GAME_7F09B528(s32 param_1)
|
||||
{
|
||||
if (players[dword_CODE_bss_8007A0C0] != NULL) {
|
||||
if (param_1 == 0) {
|
||||
|
||||
@@ -46,4 +46,12 @@ extern struct player_data player4_player_data;
|
||||
|
||||
extern struct player *pPlayer;
|
||||
extern struct player_data *pPlayersPerm;
|
||||
|
||||
void reset_play_data_ptrs(void);
|
||||
void init_player_data_ptrs_construct_viewports(int playercount);
|
||||
void sub_GAME_7F09B41C(void);
|
||||
s32 sub_GAME_7F09B528(s32 param_1);
|
||||
void set_cur_player(s32 playernum);
|
||||
s32 getPlayerCount(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,7 +51,7 @@ glabel sub_GAME_7F09B600
|
||||
/* 0D01B8 7F09B688 01CC7021 */ addu $t6, $t6, $t4
|
||||
/* 0D01BC 7F09B68C AFAE0048 */ sw $t6, 0x48($sp)
|
||||
/* 0D01C0 7F09B690 AFAF004C */ sw $t7, 0x4c($sp)
|
||||
/* 0D01C4 7F09B694 0C00292B */ jal lotsa_shifting_randomizer_related
|
||||
/* 0D01C4 7F09B694 0C00292B */ jal randomGetNextFrom
|
||||
/* 0D01C8 7F09B698 02402025 */ move $a0, $s2
|
||||
/* 0D01CC 7F09B69C 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0D01D0 7F09B6A0 26310007 */ addiu $s1, $s1, 7
|
||||
@@ -77,7 +77,7 @@ glabel sub_GAME_7F09B600
|
||||
/* 0D0218 7F09B6E8 018A6021 */ addu $t4, $t4, $t2
|
||||
/* 0D021C 7F09B6EC AFAC0048 */ sw $t4, 0x48($sp)
|
||||
/* 0D0220 7F09B6F0 AFAD004C */ sw $t5, 0x4c($sp)
|
||||
/* 0D0224 7F09B6F4 0C00292B */ jal lotsa_shifting_randomizer_related
|
||||
/* 0D0224 7F09B6F4 0C00292B */ jal randomGetNextFrom
|
||||
/* 0D0228 7F09B6F8 02402025 */ move $a0, $s2
|
||||
/* 0D022C 7F09B6FC 2610FFFF */ addiu $s0, $s0, -1
|
||||
/* 0D0230 7F09B700 26310003 */ addiu $s1, $s1, 3
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
// data
|
||||
//D:80040160
|
||||
u64 random_val = 0xAB8D9F7781280783;
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F09B740(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F09B740
|
||||
/* 0D0270 7F09B740 3C048004 */ lui $a0, %hi(random_val)
|
||||
/* 0D0274 7F09B744 DC840160 */ ld $a0, %lo(random_val)($a0)
|
||||
/* 0D0278 7F09B748 3C018004 */ lui $at, %hi(random_val)
|
||||
/* 0D027C 7F09B74C 000437FC */ dsll32 $a2, $a0, 0x1f
|
||||
/* 0D0280 7F09B750 00042FF8 */ dsll $a1, $a0, 0x1f
|
||||
/* 0D0284 7F09B754 000637FA */ dsrl $a2, $a2, 0x1f
|
||||
/* 0D0288 7F09B758 0005283E */ dsrl32 $a1, $a1, 0
|
||||
/* 0D028C 7F09B75C 0004233C */ dsll32 $a0, $a0, 0xc
|
||||
/* 0D0290 7F09B760 00C53025 */ or $a2, $a2, $a1
|
||||
/* 0D0294 7F09B764 0004203E */ dsrl32 $a0, $a0, 0
|
||||
/* 0D0298 7F09B768 00C43026 */ xor $a2, $a2, $a0
|
||||
/* 0D029C 7F09B76C 0006253A */ dsrl $a0, $a2, 0x14
|
||||
/* 0D02A0 7F09B770 30840FFF */ andi $a0, $a0, 0xfff
|
||||
/* 0D02A4 7F09B774 00862026 */ xor $a0, $a0, $a2
|
||||
/* 0D02A8 7F09B778 0004103C */ dsll32 $v0, $a0, 0
|
||||
/* 0D02AC 7F09B77C FC240160 */ sd $a0, %lo(random_val)($at)
|
||||
/* 0D02B0 7F09B780 03E00008 */ jr $ra
|
||||
/* 0D02B4 7F09B784 0002103F */ dsra32 $v0, $v0, 0
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F09B788(u64 param_1)
|
||||
{
|
||||
random_val = param_1 + 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F09B788
|
||||
/* 0D02B8 7F09B788 64840001 */ daddiu $a0, $a0, 1
|
||||
/* 0D02BC 7F09B78C 3C018004 */ lui $at, %hi(random_val)
|
||||
/* 0D02C0 7F09B790 FC240160 */ sd $a0, %lo(random_val)($at)
|
||||
/* 0D02C4 7F09B794 03E00008 */ jr $ra
|
||||
/* 0D02C8 7F09B798 24040000 */ li $a0, 0
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
+605
-75
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,10 @@
|
||||
#define _UNK_09C250_H_
|
||||
#include "ultra64.h"
|
||||
|
||||
extern struct prop *ptr_smoke_buf;
|
||||
extern struct prop *ptr_explosion_buf;
|
||||
extern s32 D_80040170;
|
||||
|
||||
extern char dword_CODE_bss_8007A100[];
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user