Decompile func0000bfd0

This commit is contained in:
Ryan Dwyer 2020-09-30 17:09:54 +10:00
parent b8b03285db
commit dd4713bb68
7 changed files with 180 additions and 187 deletions

View File

@ -6,7 +6,7 @@
#include "game/game_0dcdb0.h"
#include "game/data/data_000000.h"
#include "game/data/data_00e460.h"
#include "lib/lib_0bfb0.h"
#include "lib/lib_0c000.h"
#include "lib/lib_0d520.h"
#include "lib/lib_3e730.h"
#include "gvars/gvars.h"

View File

@ -3,90 +3,7 @@
#include <ultra64.h>
#include "types.h"
extern const char var70052700[];
extern const char var70052704[];
extern const char var70052708[];
extern const char var7005270c[];
extern const char var70052710[];
extern const char var70052714[];
extern const char var70052718[];
extern const char var7005271c[];
extern const char var70052720[];
extern const char var70052724[];
extern const char var70052728[];
extern const char var70052730[];
extern const char var70052738[];
extern const char var70052744[];
extern const char var70052770[];
extern const char var70052788[];
extern const char var700527b4[];
extern const char var700527dc[];
extern const char var700527e4[];
extern const char var700527e8[];
extern const char var70052800[];
extern const char var70052810[];
extern const char var7005281c[];
extern const char var70052824[];
extern const char var70052854[];
extern const char var70052864[];
extern const char var70052870[];
extern const char var700528a0[];
extern const char var700528a4[];
extern const char var700528a8[];
extern const char var700528ac[];
extern const char var700528b0[];
extern const char var700528b4[];
extern const char var700528b8[];
extern const char var700528bc[];
extern const char var700528c0[];
extern const char var700528c4[];
extern const char var700528c8[];
extern const char var700528cc[];
extern const char var700528d0[];
extern const char var700528d4[];
extern const char var700528d8[];
extern const char var700528dc[];
extern const char var700528e0[];
extern const char var700528e4[];
extern const char var700528e8[];
extern const char var700528ec[];
extern const char var700528f0[];
extern const char var700528f4[];
extern const char var700528f8[];
extern const char var700528fc[];
extern const char var70052900[];
extern const char var70052904[];
extern const char var70052908[];
extern const char var7005290c[];
extern const char var70052910[];
extern const char var70052914[];
extern const char var70052918[];
extern const char var7005291c[];
extern const char var70052920[];
extern const char var70052924[];
extern const char var70052928[];
extern const char var70052938[];
extern const char var70052944[];
extern const char var70052950[];
extern const char var7005295c[];
extern const char var70052968[];
extern const char var70052974[];
extern const char var70052978[];
extern const char var7005297c[];
extern const char var70052980[];
extern const char var70052984[];
extern const char var70052988[];
extern const char var7005298c[];
extern const char var70052990[];
extern const char var70052994[];
extern const char var70052998[];
extern const char var7005299c[];
extern const char var700529a0[];
extern const char var700529a4[];
extern const char var700529a8[];
extern const char var700529ac[];
u32 func0000bfb0(void);
u32 func0000bfd0(void);
void func0000bfd0(char *arg0, char *arg1, s32 arg2);
#endif

View File

@ -3,6 +3,89 @@
#include <ultra64.h>
#include "types.h"
extern const char var70052700[];
extern const char var70052704[];
extern const char var70052708[];
extern const char var7005270c[];
extern const char var70052710[];
extern const char var70052714[];
extern const char var70052718[];
extern const char var7005271c[];
extern const char var70052720[];
extern const char var70052724[];
extern const char var70052728[];
extern const char var70052730[];
extern const char var70052738[];
extern const char var70052744[];
extern const char var70052770[];
extern const char var70052788[];
extern const char var700527b4[];
extern const char var700527dc[];
extern const char var700527e4[];
extern const char var700527e8[];
extern const char var70052800[];
extern const char var70052810[];
extern const char var7005281c[];
extern const char var70052824[];
extern const char var70052854[];
extern const char var70052864[];
extern const char var70052870[];
extern const char var700528a0[];
extern const char var700528a4[];
extern const char var700528a8[];
extern const char var700528ac[];
extern const char var700528b0[];
extern const char var700528b4[];
extern const char var700528b8[];
extern const char var700528bc[];
extern const char var700528c0[];
extern const char var700528c4[];
extern const char var700528c8[];
extern const char var700528cc[];
extern const char var700528d0[];
extern const char var700528d4[];
extern const char var700528d8[];
extern const char var700528dc[];
extern const char var700528e0[];
extern const char var700528e4[];
extern const char var700528e8[];
extern const char var700528ec[];
extern const char var700528f0[];
extern const char var700528f4[];
extern const char var700528f8[];
extern const char var700528fc[];
extern const char var70052900[];
extern const char var70052904[];
extern const char var70052908[];
extern const char var7005290c[];
extern const char var70052910[];
extern const char var70052914[];
extern const char var70052918[];
extern const char var7005291c[];
extern const char var70052920[];
extern const char var70052924[];
extern const char var70052928[];
extern const char var70052938[];
extern const char var70052944[];
extern const char var70052950[];
extern const char var7005295c[];
extern const char var70052968[];
extern const char var70052974[];
extern const char var70052978[];
extern const char var7005297c[];
extern const char var70052980[];
extern const char var70052984[];
extern const char var70052988[];
extern const char var7005298c[];
extern const char var70052990[];
extern const char var70052994[];
extern const char var70052998[];
extern const char var7005299c[];
extern const char var700529a0[];
extern const char var700529a4[];
extern const char var700529a8[];
extern const char var700529ac[];
u32 func0000c000(void);
u32 func0000c118(void);
u32 func0000c240(void);

View File

@ -5,6 +5,6 @@
u32 func0002fa00(void);
u32 func0002fa08(void);
u32 func0002faa4(void);
void func0002faa4(char *format, ...);
#endif

View File

@ -12,91 +12,6 @@
#include "lib/lib_2fa00.h"
#include "types.h"
const char var700526e0[] = "ASSERTION : %s, %d: (\"%s\")\n";
const char var700526fc[] = "";
const char var70052700[] = "BD";
const char var70052704[] = "IP8";
const char var70052708[] = "IP7";
const char var7005270c[] = "IP6";
const char var70052710[] = "IP5";
const char var70052714[] = "IP4";
const char var70052718[] = "IP3";
const char var7005271c[] = "IP2";
const char var70052720[] = "IP1";
const char var70052724[] = "Int";
const char var70052728[] = "TLBmod";
const char var70052730[] = "TLBload";
const char var70052738[] = "TLBstore";
const char var70052744[] = "Address error on load or instruction fetch";
const char var70052770[] = "Address error on store";
const char var70052788[] = "Bus error exception on instruction fetch";
const char var700527b4[] = "Bus error exception on data reference";
const char var700527dc[] = "Syscall";
const char var700527e4[] = "Brk";
const char var700527e8[] = "Reserved instruction";
const char var70052800[] = "Cop unusable";
const char var70052810[] = "Overflow";
const char var7005281c[] = "Trap";
const char var70052824[] = "Virtual coherency exception on intruction fetch";
const char var70052854[] = "Fp exception";
const char var70052864[] = "Watchpoint";
const char var70052870[] = "Virtual coherency exception on data reference";
const char var700528a0[] = "";
const char var700528a4[] = "CU3";
const char var700528a8[] = "CU2";
const char var700528ac[] = "CU1";
const char var700528b0[] = "CU0";
const char var700528b4[] = "RP";
const char var700528b8[] = "FR";
const char var700528bc[] = "RE";
const char var700528c0[] = "BEV";
const char var700528c4[] = "TS";
const char var700528c8[] = "SR";
const char var700528cc[] = "CH";
const char var700528d0[] = "CE";
const char var700528d4[] = "DE";
const char var700528d8[] = "IM8";
const char var700528dc[] = "IM7";
const char var700528e0[] = "IM6";
const char var700528e4[] = "IM5";
const char var700528e8[] = "IM4";
const char var700528ec[] = "IM3";
const char var700528f0[] = "IM2";
const char var700528f4[] = "IM1";
const char var700528f8[] = "KX";
const char var700528fc[] = "SX";
const char var70052900[] = "UX";
const char var70052904[] = "USR";
const char var70052908[] = "SUP";
const char var7005290c[] = "KER";
const char var70052910[] = "ERL";
const char var70052914[] = "EXL";
const char var70052918[] = "IE";
const char var7005291c[] = "";
const char var70052920[] = "FS";
const char var70052924[] = "C";
const char var70052928[] = "Unimplemented";
const char var70052938[] = "Invalid op";
const char var70052944[] = "/ by 0.0";
const char var70052950[] = "Overflow";
const char var7005295c[] = "Underflow";
const char var70052968[] = "Inexact op";
const char var70052974[] = "EV";
const char var70052978[] = "EZ";
const char var7005297c[] = "EO";
const char var70052980[] = "EU";
const char var70052984[] = "EI";
const char var70052988[] = "FV";
const char var7005298c[] = "FZ";
const char var70052990[] = "FO";
const char var70052994[] = "FU";
const char var70052998[] = "FI";
const char var7005299c[] = "RN";
const char var700529a0[] = "RZ";
const char var700529a4[] = "RP";
const char var700529a8[] = "RM";
const char var700529ac[] = "";
GLOBAL_ASM(
glabel func0000bfb0
/* bfb0: 27bdffe8 */ addiu $sp,$sp,-24
@ -109,18 +24,7 @@ glabel func0000bfb0
/* bfcc: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0000bfd0
/* bfd0: 27bdffe8 */ addiu $sp,$sp,-24
/* bfd4: 00803825 */ or $a3,$a0,$zero
/* bfd8: afbf0014 */ sw $ra,0x14($sp)
/* bfdc: 3c047005 */ lui $a0,%hi(var700526e0)
/* bfe0: 0c00bea9 */ jal func0002faa4
/* bfe4: 248426e0 */ addiu $a0,$a0,%lo(var700526e0)
/* bfe8: 8fbf0014 */ lw $ra,0x14($sp)
/* bfec: 27bd0018 */ addiu $sp,$sp,0x18
/* bff0: 03e00008 */ jr $ra
/* bff4: 00000000 */ nop
/* bff8: 00000000 */ nop
/* bffc: 00000000 */ nop
);
void func0000bfd0(char *arg0, char *arg1, s32 arg2)
{
func0002faa4("ASSERTION : %s, %d: (\"%s\")\n", arg1, arg2, arg0);
}

View File

@ -18,6 +18,89 @@
#include "lib/lib_4e530.h"
#include "types.h"
const char var70052700[] = "BD";
const char var70052704[] = "IP8";
const char var70052708[] = "IP7";
const char var7005270c[] = "IP6";
const char var70052710[] = "IP5";
const char var70052714[] = "IP4";
const char var70052718[] = "IP3";
const char var7005271c[] = "IP2";
const char var70052720[] = "IP1";
const char var70052724[] = "Int";
const char var70052728[] = "TLBmod";
const char var70052730[] = "TLBload";
const char var70052738[] = "TLBstore";
const char var70052744[] = "Address error on load or instruction fetch";
const char var70052770[] = "Address error on store";
const char var70052788[] = "Bus error exception on instruction fetch";
const char var700527b4[] = "Bus error exception on data reference";
const char var700527dc[] = "Syscall";
const char var700527e4[] = "Brk";
const char var700527e8[] = "Reserved instruction";
const char var70052800[] = "Cop unusable";
const char var70052810[] = "Overflow";
const char var7005281c[] = "Trap";
const char var70052824[] = "Virtual coherency exception on intruction fetch";
const char var70052854[] = "Fp exception";
const char var70052864[] = "Watchpoint";
const char var70052870[] = "Virtual coherency exception on data reference";
const char var700528a0[] = "";
const char var700528a4[] = "CU3";
const char var700528a8[] = "CU2";
const char var700528ac[] = "CU1";
const char var700528b0[] = "CU0";
const char var700528b4[] = "RP";
const char var700528b8[] = "FR";
const char var700528bc[] = "RE";
const char var700528c0[] = "BEV";
const char var700528c4[] = "TS";
const char var700528c8[] = "SR";
const char var700528cc[] = "CH";
const char var700528d0[] = "CE";
const char var700528d4[] = "DE";
const char var700528d8[] = "IM8";
const char var700528dc[] = "IM7";
const char var700528e0[] = "IM6";
const char var700528e4[] = "IM5";
const char var700528e8[] = "IM4";
const char var700528ec[] = "IM3";
const char var700528f0[] = "IM2";
const char var700528f4[] = "IM1";
const char var700528f8[] = "KX";
const char var700528fc[] = "SX";
const char var70052900[] = "UX";
const char var70052904[] = "USR";
const char var70052908[] = "SUP";
const char var7005290c[] = "KER";
const char var70052910[] = "ERL";
const char var70052914[] = "EXL";
const char var70052918[] = "IE";
const char var7005291c[] = "";
const char var70052920[] = "FS";
const char var70052924[] = "C";
const char var70052928[] = "Unimplemented";
const char var70052938[] = "Invalid op";
const char var70052944[] = "/ by 0.0";
const char var70052950[] = "Overflow";
const char var7005295c[] = "Underflow";
const char var70052968[] = "Inexact op";
const char var70052974[] = "EV";
const char var70052978[] = "EZ";
const char var7005297c[] = "EO";
const char var70052980[] = "EU";
const char var70052984[] = "EI";
const char var70052988[] = "FV";
const char var7005298c[] = "FZ";
const char var70052990[] = "FO";
const char var70052994[] = "FU";
const char var70052998[] = "FI";
const char var7005299c[] = "RN";
const char var700529a0[] = "RZ";
const char var700529a4[] = "RP";
const char var700529a8[] = "RM";
const char var700529ac[] = "";
const char var700529b0[] = "Bad tid\n";
const char var700529bc[] = "Bad tid\n";
const char var700529c8[] = "%s%s%02d: % .7e ";
@ -463,6 +546,10 @@ glabel func0000c4d4
/* c53c: 27bd0018 */ addiu $sp,$sp,0x18
/* c540: 03e00008 */ jr $ra
/* c544: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0000c548
/* c548: 27bdff10 */ addiu $sp,$sp,-240
/* c54c: afa400f0 */ sw $a0,0xf0($sp)
/* c550: afbf003c */ sw $ra,0x3c($sp)

View File

@ -132,12 +132,14 @@ def main():
fd = open(sys.argv[1], 'rb+')
if os.environ['MATCHING'] == '1':
write_garbage(fd, locations)
pack_lib(fd, locations)
pack_data(fd, locations)
pack_game(fd, locations)
if os.environ['MATCHING'] == '1':
write_garbage(fd, locations)
fill_tail(fd)
# Truncate to 32MB