EP battle names print src
This commit is contained in:
@@ -473,7 +473,7 @@ PageTLoop:
|
|||||||
|
|
||||||
jr ra // Возврат
|
jr ra // Возврат
|
||||||
addiu sp, sp, 0x50 // Восстанавливаем стек
|
addiu sp, sp, 0x50 // Восстанавливаем стек
|
||||||
.ascii "This game was officially cracked by SERGEY SHEMET 2021-2025. WHAT ARE YOU DOING HERE, BOY?"
|
.ascii "This game was officially cracked by SERGEY SHEMET 2021-2026. WHAT ARE YOU DOING HERE, BOY?"
|
||||||
.byte 0x00
|
.byte 0x00
|
||||||
.byte 0x00
|
.byte 0x00
|
||||||
|
|
||||||
|
|||||||
BIN
2_EP/BIN/789_BATTLE_CODE_JAP.bin
Normal file
BIN
2_EP/BIN/789_BATTLE_CODE_JAP.bin
Normal file
Binary file not shown.
Binary file not shown.
@@ -60,4 +60,9 @@
|
|||||||
80090868 retuncharstocitydiv2
|
80090868 retuncharstocitydiv2
|
||||||
80090884 ismy1bytecitydiv2
|
80090884 ismy1bytecitydiv2
|
||||||
800908A0 notand1_2
|
800908A0 notand1_2
|
||||||
|
800908AC customnamerender
|
||||||
|
800908C8 read_chars_jap
|
||||||
|
800908F8 read_chars_rus
|
||||||
|
80090908 read_rus_char
|
||||||
|
80090924 end_of_name_read
|
||||||
|
|
||||||
@@ -1,12 +1,14 @@
|
|||||||
; 4 files included
|
; 6 files included
|
||||||
; 895 lines
|
; 1033 lines
|
||||||
; 79 labels
|
; 84 labels
|
||||||
; 0 equations
|
; 0 equations
|
||||||
|
|
||||||
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm
|
||||||
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm
|
||||||
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm
|
||||||
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm
|
||||||
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm
|
||||||
|
; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm
|
||||||
|
|
||||||
FFFFFFFF .psx ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 9
|
FFFFFFFF .psx ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 9
|
||||||
800578FC setdrawtpage: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 12
|
800578FC setdrawtpage: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 12
|
||||||
@@ -372,7 +374,7 @@ FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\
|
|||||||
80090520 addiu sp,sp,0x50 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 482
|
80090520 addiu sp,sp,0x50 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 482
|
||||||
80090524 make_char_line_in_scratch: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 4
|
80090524 make_char_line_in_scratch: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 4
|
||||||
80090524 addiu sp,sp,-0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 6
|
80090524 addiu sp,sp,-0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 6
|
||||||
80090528 sw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 7
|
80090528 sw s3,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 7
|
||||||
8009052C sw t5,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 8
|
8009052C sw t5,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 8
|
||||||
80090530 move t5,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 9
|
80090530 move t5,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 9
|
||||||
80090534 sll s3,a1,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 11
|
80090534 sll s3,a1,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 11
|
||||||
@@ -537,7 +539,7 @@ FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\
|
|||||||
80090770 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 229
|
80090770 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 229
|
||||||
80090774 notshadow: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 231
|
80090774 notshadow: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 231
|
||||||
80090774 lw t5,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 232
|
80090774 lw t5,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 232
|
||||||
80090778 lw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 233
|
80090778 lw s3,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 233
|
||||||
8009077C move v0,s1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 234
|
8009077C move v0,s1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 234
|
||||||
80090780 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 235
|
80090780 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 235
|
||||||
80090784 addiu sp,sp,0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 236
|
80090784 addiu sp,sp,0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charload_grouped.asm line 236
|
||||||
@@ -627,7 +629,63 @@ FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\
|
|||||||
800908A0 sra v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 101
|
800908A0 sra v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 101
|
||||||
800908A4 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 103
|
800908A4 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 103
|
||||||
800908A8 move v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 104
|
800908A8 move v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_charCalcs.asm line 104
|
||||||
800908AC .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 487
|
800908AC customnamerender: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 7
|
||||||
|
800908AC clear a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 52
|
||||||
|
800908B0 lui v1,-0x7FF7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 55
|
||||||
|
800908B4 lh v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 56
|
||||||
|
800908B8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 57
|
||||||
|
800908BC srl v0,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 58
|
||||||
|
800908C0 bne v0,zero,0x800908F8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 59
|
||||||
|
800908C4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 60
|
||||||
|
800908C8 read_chars_jap: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 62
|
||||||
|
800908C8 lbu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 63
|
||||||
|
800908CC nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 64
|
||||||
|
800908D0 sb v0,-0xC(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 66
|
||||||
|
800908D4 beq v0,zero,0x80090924 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 67
|
||||||
|
800908D8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 68
|
||||||
|
800908DC addiu v1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 69
|
||||||
|
800908E0 addiu a1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 70
|
||||||
|
800908E4 sltiu v0,a1,0x7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 71
|
||||||
|
800908E8 bne v0,zero,0x800908C8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 72
|
||||||
|
800908EC addiu a0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 73
|
||||||
|
800908F0 j 0x80090924 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 75
|
||||||
|
800908F4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 76
|
||||||
|
800908F8 read_chars_rus: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 79
|
||||||
|
800908F8 lh v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 80
|
||||||
|
800908FC nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 81
|
||||||
|
80090900 andi a2,v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 82
|
||||||
|
80090904 addiu a0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 83
|
||||||
|
80090908 read_rus_char: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 84
|
||||||
|
80090908 lbu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 85
|
||||||
|
8009090C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 86
|
||||||
|
80090910 sb v0,-0xC(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 87
|
||||||
|
80090914 addiu v1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 88
|
||||||
|
80090918 addiu a1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 89
|
||||||
|
8009091C bne a1,a2,0x80090908 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 90
|
||||||
|
80090920 addiu a0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 91
|
||||||
|
80090924 end_of_name_read: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 93
|
||||||
|
80090924 lui v0,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 95
|
||||||
|
80090928 ori v0,0x3F0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 96
|
||||||
|
8009092C move a0,a2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 98
|
||||||
|
80090930 addu v0,v0,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 99
|
||||||
|
80090934 addiu v0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 100
|
||||||
|
80090938 lbu a1,0x0(v0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 101
|
||||||
|
8009093C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 102
|
||||||
|
80090940 sll a1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 104
|
||||||
|
80090944 sw a1,0x5E(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 106
|
||||||
|
80090948 sra a1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 107
|
||||||
|
8009094C lui t3,-0x7FF7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 109
|
||||||
|
80090950 ori t3,t3,0x1500 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 110
|
||||||
|
80090954 jal 0x80090524 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 112
|
||||||
|
80090958 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 113
|
||||||
|
8009095C addiu a0,sp,0x58 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 115
|
||||||
|
80090960 jal 0x80054894 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 116
|
||||||
|
80090964 move a1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 117
|
||||||
|
80090968 jal 0x800545E8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 118
|
||||||
|
8009096C clear a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 119
|
||||||
|
80090970 j 0x800D2268 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 121
|
||||||
|
80090974 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_name_render.asm line 122
|
||||||
|
80090978 .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_main_grouped.asm line 488
|
||||||
FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\\2_EP\\BIN\\SLPS_028.25"",0x8000F800; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 7
|
FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\\2_EP\\BIN\\SLPS_028.25"",0x8000F800; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 7
|
||||||
8000F800 .org 0x8001B5B8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 10
|
8000F800 .org 0x8001B5B8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 10
|
||||||
8001B5B8 ori a1,r0,0x0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 11
|
8001B5B8 ori a1,r0,0x0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 11
|
||||||
@@ -650,3 +708,8 @@ FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\
|
|||||||
8001BF08 j 0x800907F0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 56
|
8001BF08 j 0x800907F0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 56
|
||||||
8001BF0C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 57
|
8001BF0C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 57
|
||||||
8001BF10 .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 59
|
8001BF10 .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_txtpatches.asm line 59
|
||||||
|
FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\\2_EP\\BIN\\789_BATTLE_CODE_JAP.bin"",0x800AB000; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm line 2
|
||||||
|
800AB000 .org 0x800D2214 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm line 5
|
||||||
|
800D2214 j 0x800908AC ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm line 11
|
||||||
|
800D2218 move a0,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm line 12
|
||||||
|
800D221C .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\2_EP\EP_battle_code_links_main.asm line 14
|
||||||
|
|||||||
14
2_EP/EP_battle_code_links_main.asm
Normal file
14
2_EP/EP_battle_code_links_main.asm
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
;BATTLE CUSTOM NAME RENDERING REDIRECT
|
||||||
|
.open "2_EP/BIN/789_BATTLE_CODE_JAP.bin", 0x800AB000
|
||||||
|
|
||||||
|
|
||||||
|
.org 0x800d2214
|
||||||
|
|
||||||
|
;ORIGINAL
|
||||||
|
; jal 0x8001bee0 //Оригинальный вызов процедуры подсчёта символов в текущем имени. Мы заменим её вызовом своего кода
|
||||||
|
; move a0, s0 //a0 - адрес имени
|
||||||
|
|
||||||
|
j customNameRender
|
||||||
|
move a0, s0
|
||||||
|
|
||||||
|
.close
|
||||||
122
2_EP/EP_battle_name_render.asm
Normal file
122
2_EP/EP_battle_name_render.asm
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Persona 2 Eternal Punishment (PSX) JAP / Custom Name Render In Battle VRAM
|
||||||
|
// Author: Sergey Shemet 24/01/2026
|
||||||
|
//
|
||||||
|
|
||||||
|
customNameRender:
|
||||||
|
// _4bit_conversion_table2:
|
||||||
|
// lui t8, 0x1f80
|
||||||
|
// ori t8, t8, 0x390
|
||||||
|
// lui t7, 0x8001
|
||||||
|
// ori t7, t7, 0x5fc
|
||||||
|
// lw t5, 0x0(t7)
|
||||||
|
// lw t6, 0x4(t7)
|
||||||
|
// sw t5, 0x0(t8)
|
||||||
|
// sw t6, 0x4(t8)
|
||||||
|
// lw t5, 0x8(t7)
|
||||||
|
// lw t6, 0xC(t7)
|
||||||
|
// sw t5, 0x8(t8)
|
||||||
|
// sw t6, 0xC(t8)
|
||||||
|
// lw t5, 0x10(t7)
|
||||||
|
// lw t6, 0x14(t7) //Удалим этот код, потому что эта таблица в 99.999999% есть в scratchpad
|
||||||
|
// sw t5, 0x10(t8)
|
||||||
|
// sw t6, 0x14(t8)
|
||||||
|
// lw t5, 0x18(t7)
|
||||||
|
// lw t6, 0x1C(t7)
|
||||||
|
// sw t5, 0x18(t8)
|
||||||
|
// sw t6, 0x1C(t8)
|
||||||
|
|
||||||
|
// make_sprite_size_table2:
|
||||||
|
// lui s3, 0x1f80
|
||||||
|
// ori s3, 0x03f0
|
||||||
|
// lui v0, 0x0403
|
||||||
|
// ori v0, 0x0201 //И эта моя кастомная таблица тоже
|
||||||
|
// sw v0, 0x0(s3)
|
||||||
|
// lui v1, 0x0706
|
||||||
|
// ori v1, 0x0504
|
||||||
|
// sw v1, 0x4(s3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Занятые регистры после перехода из процедуры рендеринга
|
||||||
|
// ИХ НЕ ТРОГАТЬ (Если трогать, то сохранять в стеке, либо в вызове make_char_line_in_scratch)
|
||||||
|
// s3 - входящий a0 функции (используется позже в коде)
|
||||||
|
// s4 - адрес параметров перса (смещение 0x54)
|
||||||
|
// s5 - счётчик персов
|
||||||
|
// s6 - глобальный RECT.x VRAM
|
||||||
|
|
||||||
|
//адрес имени в a0
|
||||||
|
|
||||||
|
// заполняем буфер и активируем счётчик в зависимости от типа хранения имени
|
||||||
|
clear a1
|
||||||
|
|
||||||
|
|
||||||
|
lui v1, MyAddr
|
||||||
|
lh v0, 0x0(a0)
|
||||||
|
nop
|
||||||
|
srl v0, v0, 0xD // Проверяем 13-й бит (имя в моём формате)
|
||||||
|
bne v0, zero, read_chars_rus // Если установлен, читаем текст по-другому
|
||||||
|
nop
|
||||||
|
|
||||||
|
read_chars_jap: //читаем японское имя ГГ из IS
|
||||||
|
lbu v0, 0x0(a0)
|
||||||
|
nop
|
||||||
|
|
||||||
|
sb v0, -0x0c(v1) // Запись символа в буфер
|
||||||
|
beq v0, zero, end_of_name_read
|
||||||
|
nop
|
||||||
|
addiu v1, 0x1 //Увеличиваем адрес записи в буфер
|
||||||
|
addiu a1, 0x1 //Счётчик +1
|
||||||
|
sltiu v0, a1, 0x7
|
||||||
|
bne v0, zero, read_chars_jap //Продолжаем 6 символов... TODO: Считывать до управляющего кода! Хотя он и так остановится на 0x00 в следующей функции.
|
||||||
|
addiu a0, 0x2 //адрес чтения + 2
|
||||||
|
|
||||||
|
j end_of_name_read //Пропускаем чтение русского имени
|
||||||
|
nop
|
||||||
|
|
||||||
|
|
||||||
|
read_chars_rus: //Читаем русское имя из EP
|
||||||
|
lh v0, 0x0(a0)
|
||||||
|
nop
|
||||||
|
andi a2, v0, 0xFF //чистим количество символов и превращаем в счётчик
|
||||||
|
addiu a0, 2 //Смещаем адрес чтения текста (пропускаем управляющий код)
|
||||||
|
read_rus_char:
|
||||||
|
lbu v0, 0x0(a0) //грузим символ...
|
||||||
|
nop
|
||||||
|
sb v0, -0x0c(v1)
|
||||||
|
addiu v1, 0x1 //Увеличиваем адрес записи в буфер
|
||||||
|
addiu a1, 0x1 //Счётчик +1
|
||||||
|
bne a1, a2, read_rus_char //Продолжаем, пока не достигнем счётчика символов
|
||||||
|
addiu a0, 0x1 //адрес чтения + 1
|
||||||
|
|
||||||
|
end_of_name_read:
|
||||||
|
|
||||||
|
lui v0, 0x1f80 //Адрес хранения таблицы количества спрайтов на количество символов
|
||||||
|
ori v0, 0x03f0
|
||||||
|
|
||||||
|
move a0, a2 // Перебрасываем cчётчик символов в a0
|
||||||
|
addu v0, v0, a0 // получаем адрес количества спрайтов из таблицы
|
||||||
|
addiu v0, -0x1 // index -1
|
||||||
|
lbu a1, 0x0(v0) // Читаем количество ширину спрайтов в a1
|
||||||
|
nop
|
||||||
|
|
||||||
|
sll a1, 1 //*2 = Ширина в 16 битах
|
||||||
|
|
||||||
|
sw a1, 0x5e(sp) //Сохраняем rect.h в стек
|
||||||
|
sra a1, 1 //Возвращаем ширину блоков спрайта и передаём в функцию
|
||||||
|
|
||||||
|
lui t3, 0x8009
|
||||||
|
ori t3, t3, 0x1500 // Начало данных спрайта в RAM (LoadImage не работает со scratch!)
|
||||||
|
|
||||||
|
jal make_char_line_in_scratch //Формируем символы в RAM
|
||||||
|
nop
|
||||||
|
|
||||||
|
addiu a0, sp, 0x58 //RECT хранится в стеке...
|
||||||
|
jal 0x80054894 //Вызов LoadImage
|
||||||
|
move a1, v0 //Адрес данных символов, которые вернулись из процедуры формирования пикулей
|
||||||
|
jal 0x800545e8 //Тут же вызов DrawSync
|
||||||
|
clear a0 //Обязательно обнуляем аргумент 0
|
||||||
|
|
||||||
|
j 0x800d2268 //Возврат в оригинальную процедуру на команду смещения глобального X
|
||||||
|
nop
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
make_char_line_in_scratch:
|
make_char_line_in_scratch:
|
||||||
|
|
||||||
addiu sp, sp,-0x18
|
addiu sp, sp,-0x18
|
||||||
sw ra, 0x10(sp)
|
sw s3, 0x10(sp)
|
||||||
sw t5, 0x14(sp)
|
sw t5, 0x14(sp)
|
||||||
move t5, a0 //char num
|
move t5, a0 //char num
|
||||||
|
|
||||||
@@ -230,7 +230,7 @@ shadow_row_loop:
|
|||||||
|
|
||||||
NotShadow:
|
NotShadow:
|
||||||
lw t5,0x14(sp)
|
lw t5,0x14(sp)
|
||||||
lw ra,0x10(sp) //Restore stack and exit
|
lw s3,0x10(sp) //Restore stack and exit
|
||||||
move v0, s1
|
move v0, s1
|
||||||
jr ra
|
jr ra
|
||||||
addiu sp, sp, 0x18
|
addiu sp, sp, 0x18
|
||||||
@@ -484,9 +484,11 @@ PageTLoop:
|
|||||||
|
|
||||||
.include "2_EP/EP_charload_grouped.asm"
|
.include "2_EP/EP_charload_grouped.asm"
|
||||||
.include "2_EP/EP_charCalcs.asm"
|
.include "2_EP/EP_charCalcs.asm"
|
||||||
|
.include "2_EP/EP_battle_name_render.asm"
|
||||||
.close
|
.close
|
||||||
|
|
||||||
.include "2_EP/EP_txtpatches.asm" // misc text patches
|
.include "2_EP/EP_txtpatches.asm" // misc text patches
|
||||||
|
.include "2_EP/EP_battle_code_links_main.asm" //links battle calls to main code funcs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user