Add alphabet switching and complete letters table

This commit is contained in:
Lorenzooone 2019-08-28 01:51:04 +02:00
parent 699b61ff5e
commit 9efe047bbe
5 changed files with 98 additions and 9 deletions

View File

@ -224,10 +224,11 @@ unsigned short setupCursorAction(int *Pos1, int *Pos2)
return letter; return letter;
} }
void setupCursorMovement_Overworld_Alphabet(WINDOW *window, unsigned short *directionsMantainedTime) byte setupCursorMovement_Overworld_Alphabet(WINDOW *window, unsigned short *directionsMantainedTime)
{ {
int CursorX = window->cursor_x; int CursorX = window->cursor_x;
int CursorY = window->cursor_y; int CursorY = window->cursor_y;
byte returnByte = 0;
int yAxys = 0; int yAxys = 0;
int xAxys = 0; int xAxys = 0;
bool mantainedX = false; bool mantainedX = false;
@ -371,8 +372,19 @@ void setupCursorMovement_Overworld_Alphabet(WINDOW *window, unsigned short *dire
m2_soundeffect(0x1A8); m2_soundeffect(0x1A8);
} }
if(CursorY == 4 && CursorX == 0)
returnByte = 1;
else if(CursorY == 4 && CursorX ==0x7)
returnByte = 2;
else if(CursorY == 5 && CursorX == 0x11)
returnByte = 3;
else if(CursorY == 5)
returnByte = 4;
window->cursor_x = CursorX; window->cursor_x = CursorX;
window->cursor_y = CursorY; window->cursor_y = CursorY;
return returnByte;
} }
void setupCursorMovement() void setupCursorMovement()

View File

@ -1 +1 @@
M鳰鵐鶰鸐麺齅﨧<EFBFBD>MyMMMMMMM颩馦蒑蔒薓蘉蚆蜯螹蠱袽MMMMMMMM騇襇覯訫誐諱譓豈費MMMMMMMMMM鞰MMMMMMMMMMMMMMMMMMMMMMMM鸐鳰郙酠釳鉓銶錗鍹鏜鐼镸MMMM麺<EFBFBD><EFBFBD><EFBFBD> MqMrMsMtMuMvMwMxMyMMMMM]MSMMMzM{M|M}M~MM€M丮侻MMMMWM甅MM僊凪匨哅嘙圡塎奙PMMMMM^M_MMM`MaMbMcMdMeMfMgMhMiMMMQM琈MMMMMMMMMMMMMMMMMMMMMMMMoM疢M<E796A2><4D><EFBFBD><EFBFBD>M慚扢揗擬昅朚桵楳橫MMMM]MSMMM歁汳淢滿濵烳燤<E783B3><E787A4>MMMMWM甅MM<4D><4D><EFBFBD><EFBFBD><EFBFBD>㎝狹PMMMMM^M_MMM`MaMbMcMdMeMfMgMhMiMMMQM琈MMMMMMMMMMMMMMMMMMMMMMMMoM疢M<E796A2><EFBFBD><EFBFBD><EFBFBD>

View File

@ -1327,7 +1327,22 @@ nop
.org 0x80C6CC6 :: bl c6cc6_overworld_naming_top_printing :: b 0x80C6D5E .org 0x80C6CC6 :: bl c6cc6_overworld_naming_top_printing :: b 0x80C6D5E
//Player name alphabet - cursor movement //Player name alphabet - cursor movement
.org 0x80C6F24 :: bl c6f24_overworld_alphabet_movement :: b 0x80C7364 .org 0x80C6F24 :: bl c6f24_overworld_alphabet_movement :: b 0x80C7340
//Alphabet - switching support - removal of unused alphabet
.org 0x80C7380 :: nop :: nop :: nop :: mov r0,r9 :: cmp r0,#0 :: beq 0x80C741A :: nop :: nop :: cmp r0,#1
//Print CAPITAL alphabet only if needed
.org 0x80C7394 :: bl c7394_CAPITAL_overworld_alphabet :: b 0x80C73B8
//Print small alphabet
.org 0x80C73B8 :: nop :: mov r0,r9 :: cmp r0,#2
//Print small alphabet only if needed
.org 0x80C73C0 :: bl c73c0_small_overworld_alphabet :: b 0x80C73E2
//Choose character table based on alphabet loaded in
.org 0x80C7578 :: bl c7578_load_letters
//============================================================================== //==============================================================================
// Data files // Data files
@ -1336,7 +1351,7 @@ nop
.org m2_default_names .org m2_default_names
.incbin "data/m2-default-names.bin" .incbin "data/m2-default-names.bin"
.org 0x8B1BBA0 .org 0x8B1BA88
m2_overworld_alphabet_table: m2_overworld_alphabet_table:
.incbin "data/m2-overworld-alphabet-table.bin" .incbin "data/m2-overworld-alphabet-table.bin"

View File

@ -2469,7 +2469,7 @@ mov r1,#0
pop {pc} pop {pc}
//============================================================================== //==============================================================================
// A Press //A Press
c75b4_overworld_naming_top_printing: c75b4_overworld_naming_top_printing:
push {lr} push {lr}
ldr r0,=#m2_player1 ldr r0,=#m2_player1
@ -2479,7 +2479,7 @@ bl player_name_printing_registration
pop {pc} pop {pc}
//============================================================================== //==============================================================================
// B Press //B Press
c780e_overworld_naming_top_printing: c780e_overworld_naming_top_printing:
push {lr} push {lr}
ldr r1,=#0x3005230 ldr r1,=#0x3005230
@ -2489,7 +2489,7 @@ bl player_name_printing_registration
pop {pc} pop {pc}
//============================================================================== //==============================================================================
// Backspace //Backspace
c74cc_overworld_naming_top_printing: c74cc_overworld_naming_top_printing:
push {lr} push {lr}
ldr r1,=#0x3005230 ldr r1,=#0x3005230
@ -2499,7 +2499,7 @@ bl player_name_printing_registration
pop {pc} pop {pc}
//============================================================================== //==============================================================================
// Re-enter the menu //Re-enter the menu
c6cc6_overworld_naming_top_printing: c6cc6_overworld_naming_top_printing:
push {lr} push {lr}
mov r2,r0 mov r2,r0
@ -2518,6 +2518,68 @@ mov r0,r7
ldr r1,=#0x3002500 ldr r1,=#0x3002500
add r1,#0x18 add r1,#0x18
bl setupCursorMovement_Overworld_Alphabet bl setupCursorMovement_Overworld_Alphabet
mov r9,r0
ldr r2,=#0x3002500
pop {pc}
.pool
//==============================================================================
//Generic alphabet printing routine. Uses the default code. r0 is the alphabet and r1 is the alphabet string to print if need be
print_alphabet_if_needed:
push {lr}
ldr r2,[sp,#0x2C]
cmp r2,r0 //Is the alphabet loaded different from the one we're going in?
beq @@end
str r0,[sp,#0x2C] //If it is, print the new alphabet
ldr r5,=#0x3005230 //Default printing code
ldr r4,[r5,#0x10] //Window
mov r2,r1 //String to load
ldr r0,=#0x8B17EE4 //String
ldr r1,=#0x8B17424
bl m2_strlookup
mov r1,r0
mov r0,r4
mov r2,#0
bl m2_initwindow
ldr r0,[r5,#0x10]
bl 0x80C8FFC //Print alphabet
@@end:
pop {pc}
//==============================================================================
//Loads stuff up for the small alphabet and calls print_alphabet_if_needed
c73c0_small_overworld_alphabet:
push {lr}
mov r0,#1 //Alphabet 1, small
mov r1,#0x62 //String 0x62, small alphabet
bl print_alphabet_if_needed
pop {pc}
//==============================================================================
//Loads stuff up for the CAPITAL alphabet and calls print_alphabet_if_needed
c7394_CAPITAL_overworld_alphabet:
push {lr}
mov r0,#0 //Alphabet 0, CAPITAL
mov r1,#0x63 //String 0x63, CAPITAL alphabet
bl print_alphabet_if_needed
pop {pc}
//==============================================================================
//Loads the proper letter table based on the loaded alphabet
c7578_load_letters:
push {lr}
ldr r2,=#m2_overworld_alphabet_table //Letter table
ldr r0,[sp,#0x28]
cmp r0,#1
bne @@generic_end
mov r0,#0x90 //If this is the small alphabet, go to its alphabet
add r2,r2,r0
@@generic_end:
mov r3,#0x36 //Clobbered code
pop {pc} pop {pc}
.pool .pool

View File

@ -719,7 +719,7 @@
"OffsetLocation": 11632760, "OffsetLocation": 11632760,
"OldPointer": 11631723, "OldPointer": 11631723,
"Old": "ひらがな カタカナ[00 FF]", "Old": "ひらがな カタカナ[00 FF]",
"New": "misc64[00 FF]" "New": "[00 FF]"
}, },
{ {
"Index": 101, "Index": 101,