;;;;;;;;;;;;;;;;;;;;;;;;; BOSSNAMECOPY

.psx

.open "1_IS/BIN/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