This commit is contained in:
sShemet
2025-10-04 11:53:04 +05:00
commit 8e506a6912
53 changed files with 11261 additions and 0 deletions

102
battle_patch.asm Normal file
View 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