Extracted f4.

This commit is contained in:
Filipe Rodrigues 2022-11-15 22:40:10 +00:00
parent 80159c586a
commit 4569070b56
4 changed files with 40 additions and 23 deletions

20
asm/dw2003/exe/f4.s Normal file
View File

@ -0,0 +1,20 @@
.include "macros.s"
# Zeroes out `D0x80042b74..`
.section section_f4
.global f4
f4:
arr_len=8
li $v1, arr_len-1
la_ $v0, D0x80042b1c
addiu $v0, (arr_len-1)*2 # D0x80042b2a
.Lloop:
sh $zr, 0x58($v0)
addiu $v1, -1
bgez $v1, .Lloop
addiu $v0, -2
jr $ra
nop

View File

@ -3396,18 +3396,6 @@ D0x80010c06:
.L80013458: addiu $sp, 368
.section "fns1"
.global F0x80013534
F0x80013534:
.L80013534: li $v1, 7
.L80013538: la_ $v0, D0x80042b1c
.L80013540: addiu $v0, 14
.L80013544: sh $zr, 88($v0)
.L80013548: addiu $v1, -1
.L8001354c: bgez $v1, .L80013544
.L80013550: addiu $v0, -2
.L80013554: jr $ra
.L80013558: nop
.global F0x8001355c
F0x8001355c:
.L8001355c: blez $a0, .L8001357c

View File

@ -7,6 +7,7 @@ objs:
- /build/asm/dw2003/exe/f1.o
- /build/asm/dw2003/exe/f2.o
- /build/asm/dw2003/exe/f3.o
- /build/asm/dw2003/exe/f4.o
- /build/asm/dw2003/exe/loading.o
- /build/rust/dw2003_exe_data.a
- /build/rust/dw2003_exe_digimon_profiles.a
@ -17,6 +18,7 @@ sections:
- section_f2
- section_f1
- section_f0
- section_f4
- fns1
- section_f3
- fns2

View File

@ -1285,11 +1285,18 @@ util::decl_static! { "dw2003_exe_data1",
Unknown1 { f0: core::ptr::null(), f1: 0x0000, f2: 0x0000, f3: 0x00001d01 },
] };
//
pub static mut D0x80042b1c: u32 = 0x00000001;
pub static mut D0x80042b20: u32 = 0xffffffff;
pub static mut D0x80042b24: u32 = 0xffffffff;
pub static mut D0x80042b28: u32 = 0x00000000;
// Acts as a "base" for edits to D0x80042b74
pub static mut D0x80042b1c: [u16; 8] = [
0x0001,
0x0000,
0xffff,
0xffff,
0xffff,
0xffff,
0x0000,
0x0000,
];
pub static mut D0x80042b2c: u32 = 0x00000000;
pub static mut D0x80042b30: u32 = 0x00000000;
pub static mut D0x80042b34: u32 = 0x00000000;
@ -1307,11 +1314,11 @@ util::decl_static! { "dw2003_exe_data1",
pub static mut D0x80042b64: u32 = 0x00000000;
pub static mut D0x80042b68: u32 = 0x00000000;
pub static mut D0x80042b6c: u32 = 0x00000000;
pub static mut D0x80042b70: *const u32 = unsafe { &F0x80013534 };
pub static mut D0x80042b74: u32 = 0x00000000;
pub static mut D0x80042b78: u32 = 0x00000000;
pub static mut D0x80042b7c: u32 = 0x00000000;
pub static mut D0x80042b80: u32 = 0x00000000;
pub static mut D0x80042b70: *const u32 = unsafe { &f4 };
// Edited by `f4`
pub static mut D0x80042b74: [u16; 8] = [0x0; 8];
pub static mut D0x80042b84: u32 = 0x00000000;
pub static mut D0x80042b88: u32 = 0x00000000;
pub static mut D0x80042b8c: u32 = 0x00000000;
@ -27887,6 +27894,7 @@ util::decl_static! { "dw2003_exe_data1",
extern "C" {
static mut f0: u32;
static mut f3: u32;
static mut f4: u32;
static mut D0x800102d8: u32;
static mut D0x80010808: u32;
static mut D0x80010814: u32;
@ -27920,7 +27928,6 @@ extern "C" {
static mut D0x80010a00: u32;
static mut D0x80010a88: u32;
static mut D0x80010c06: u32;
static mut F0x80013534: u32;
static mut F0x8001355c: u32;
static mut F0x80013584: u32;
static mut F0x800135b8: u32;