init
This commit is contained in:
102
battle_patch.asm
Normal file
102
battle_patch.asm
Normal file
@@ -0,0 +1,102 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;; BOSSNAMECOPY
|
||||
|
||||
.psx
|
||||
|
||||
.open "0001_BATTLE_CODE.bin", 0x800AB000
|
||||
|
||||
.definelabel SimpleCopyString, 0x800ef150
|
||||
|
||||
.org 0x800f9e60
|
||||
;BOSSNAME COPY
|
||||
lhu r2,0x0(r5)
|
||||
addiu r5,2
|
||||
sh r2,0x0(r4)
|
||||
andi r3,r2,0xFF
|
||||
addiu r4,2
|
||||
nextch:
|
||||
lbu r2,0x0(r5)
|
||||
nop
|
||||
sb r2,0x0(r4)
|
||||
addiu r4,1
|
||||
addiu r5,1
|
||||
addiu r3,-1
|
||||
bne r3,zero,nextch
|
||||
nop
|
||||
jr ra
|
||||
nop
|
||||
|
||||
|
||||
;BATTLE CONTACT RUS SCRIPT BUILDING
|
||||
CheckAndCopyRusInScript:
|
||||
lhu r3,0x0(r5)
|
||||
nop
|
||||
srl r3,r3,0xD ;;;;Check 13th bit (1byte system !!!)
|
||||
bne v1,zero,MyCopy
|
||||
nop
|
||||
j SimpleCopyString
|
||||
nop
|
||||
|
||||
MyCopy:
|
||||
lhu r3,0x0(r5)
|
||||
nop
|
||||
andi r3,r3,0xFF
|
||||
addiu r3,2
|
||||
nx:
|
||||
lbu r2,0x0(r5)
|
||||
nop
|
||||
sb r2,0x0(r4)
|
||||
addiu r4,1
|
||||
addiu r3,-1
|
||||
bne r3,zero,nx
|
||||
addiu r5,1
|
||||
|
||||
;needToCheck And1 ;ODD_OR_EVEN???
|
||||
andi r2,r4,0x1
|
||||
beq r2,zero,notAnd1_3
|
||||
nop
|
||||
addiu r4,r4,0x1
|
||||
|
||||
|
||||
notAnd1_3:
|
||||
jr ra
|
||||
move r2,r4 ;Duplicate for futher script
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ДИНАМИЧЕСКОЕ ОБРУБАНИЕ ТЕКСТА В БОЁВКЕ!
|
||||
|
||||
.org 0x800f9f20
|
||||
lui r2,0x8011 ;;; LUI ---==== LOAD UPPER INTEGER
|
||||
lbu r2,0x0bc8(r2)
|
||||
nop
|
||||
li r3,3
|
||||
bne r2,r3,not3 ;if mode not 3 = limit 30!
|
||||
li r3,0x30 ;ЭТА СРОКА ВЫПОЛНИТСЯ ПРИ ПЕРЕХОДЕ. Если перехода нет, то r3 перезаписывается. Итого экономим 32 байта на дублях команд
|
||||
|
||||
li r3,0x80 ;Эта строка выполнится только если в 80110bc8 будет 03 (режим общения)
|
||||
not3:
|
||||
lui r2,0x8009 ;загружаем адрес 80090000 в r2
|
||||
sb r3,-0x0c(r2) ;Записываем новый лимит в 80090000 - 0c
|
||||
j 0x80016e10 ;вылетаем в программу дальше по плану! (Хз что там за программа, но выполняется каждый цикл)
|
||||
nop
|
||||
|
||||
|
||||
;BOSSNAME COPYЧёт формат
|
||||
.org 0x800ad4e8
|
||||
;jal 0x80016024 - ORIGINAL CALL
|
||||
;custom call
|
||||
; jal 0x8008f600
|
||||
|
||||
;.org 0x800ad508
|
||||
; jal 0x8008f700
|
||||
|
||||
|
||||
;Battlecontact copy
|
||||
.org 0x800f1f60
|
||||
jal CheckAndCopyRusInScript
|
||||
.org 0x800f20bc
|
||||
jal CheckAndCopyRusInScript
|
||||
|
||||
|
||||
|
||||
|
||||
.close
|
||||
Reference in New Issue
Block a user