mirror of
https://github.com/notwa/mm
synced 2024-11-05 02:39:02 -08:00
misc asm cleanup
This commit is contained in:
parent
beac40d4c6
commit
c8dbc6dd98
3 changed files with 2 additions and 65 deletions
|
@ -42,32 +42,6 @@ str:
|
||||||
|
|
||||||
.include "simple text.asm"
|
.include "simple text.asm"
|
||||||
|
|
||||||
ObjectSpawnWrap:
|
|
||||||
// keep track of which objects we're spawning
|
|
||||||
// TODO: reset count on scene change
|
|
||||||
push 4, ra, 1
|
|
||||||
|
|
||||||
// stuff for jump-only hook
|
|
||||||
//li a0, 0x802237C4
|
|
||||||
//mov a1, a3
|
|
||||||
|
|
||||||
//beqi a1, 2, + // don't bother loading gameplay_field_keep
|
|
||||||
lwu t0, spawn_count
|
|
||||||
sll t2, t0, 1
|
|
||||||
la t1, spawned
|
|
||||||
addu t1, t1, t2
|
|
||||||
addiu t0, t0, 1
|
|
||||||
sw t0, spawn_count
|
|
||||||
sh a1, 0(t1)
|
|
||||||
jal @ObjectSpawn
|
|
||||||
nop
|
|
||||||
+:
|
|
||||||
jpop 4, ra, 1
|
|
||||||
spawn_count:
|
|
||||||
.word 0
|
|
||||||
spawned:
|
|
||||||
.halfword 0, 0, 0, 0, 0, 0, 0, 0
|
|
||||||
|
|
||||||
// keep track of where we are in the buffer
|
// keep track of where we are in the buffer
|
||||||
buffer_pos:
|
buffer_pos:
|
||||||
.word 0
|
.word 0
|
||||||
|
@ -93,39 +67,3 @@ copy_loop:
|
||||||
sw t0, buffer_pos
|
sw t0, buffer_pos
|
||||||
jr
|
jr
|
||||||
nop
|
nop
|
||||||
|
|
||||||
// force objects to load
|
|
||||||
|
|
||||||
/* jump-only hook
|
|
||||||
.org 0x80098180
|
|
||||||
j ObjectSpawnWrap
|
|
||||||
nop
|
|
||||||
*/
|
|
||||||
|
|
||||||
.org @ObjectIndex
|
|
||||||
// we have space for 22 instructions
|
|
||||||
push 4, ra, 1
|
|
||||||
//sll a1, a1, 0x10
|
|
||||||
//sra a1, a1, 0x10
|
|
||||||
mov t0, a0
|
|
||||||
lbu t1, 8(a0) // remaining items
|
|
||||||
cl v0
|
|
||||||
-:
|
|
||||||
lh t2, 12(t0) // item's object number
|
|
||||||
// t2 = abs(t2)
|
|
||||||
bgez t2, +
|
|
||||||
nop
|
|
||||||
subu t2, r0, t2
|
|
||||||
+:
|
|
||||||
beq a1, t2, +
|
|
||||||
subi t1, t1, 1
|
|
||||||
addiu v0, v0, 1
|
|
||||||
addi t0, t0, 68
|
|
||||||
bnez t1, -
|
|
||||||
nop
|
|
||||||
jal ObjectSpawnWrap
|
|
||||||
nop
|
|
||||||
//subiu v0, r0, -1
|
|
||||||
+:
|
|
||||||
jpop 4, ra, 1
|
|
||||||
// 19 words
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
require "lib.setup"
|
require "lib.setup"
|
||||||
require "boilerplate"
|
require "boilerplate"
|
||||||
|
|
||||||
local buffer = 0x700070
|
local buffer = 0x700180
|
||||||
|
|
||||||
local vfc = A(0x168960, 4)
|
local vfc = A(0x168960, 4)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
; note: we check the first byte here to determine if we've been loaded already
|
.word 0xDEADBEEF
|
||||||
.word 0xDEADBEEF ; so this can't be 0x00xxxxxx
|
|
||||||
whatever: ; debugging stuff
|
whatever: ; debugging stuff
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue