diff --git a/src/c/ext.c b/src/c/ext.c index 26b17ae..1cdb115 100644 --- a/src/c/ext.c +++ b/src/c/ext.c @@ -22,7 +22,8 @@ void __attribute__((naked)) m2_sub_d3c50() {} void __attribute__((naked)) m2_sub_d6844() {} byte __attribute__((naked)) m2_sub_daf84(short value) {} byte __attribute__((naked)) m2_battletext_loadstr(char* string) {} -void __attribute__((naked)) m2_set_enemy_name(int val) {} +void __attribute__((naked)) m2_set_user_name(int val) {} +void __attribute__((naked)) m2_set_target_name() {} int __attribute__((naked)) m2_setupwindow(WINDOW* window, short window_x, short window_y, short window_width, short window_height) {} int __attribute__((naked)) m2_clearwindowtiles(WINDOW* window) {} void __attribute__((naked)) m2_printstr(WINDOW* window, byte* str, unsigned short x, unsigned short y, bool highlight) {} diff --git a/src/c/tests/battle_test.c b/src/c/tests/battle_test.c index 6f97747..5241218 100644 --- a/src/c/tests/battle_test.c +++ b/src/c/tests/battle_test.c @@ -7,6 +7,7 @@ bool text_stayed_inside(WINDOW* window); void test_encounter_text() { m2_btl_user_ptr->is_enemy = true; + m2_btl_user_ptr->letter = 1; for(int i = 1; i <= 3; i++) { m2_btl_enemies_size = i; @@ -14,18 +15,49 @@ void test_encounter_text() for(int j = 0; j <= 230; j++) { m2_btl_user_ptr->id = j; - m2_set_enemy_name(1); + m2_btl_user_ptr->enemy_id = j; + m2_set_user_name(1); m2_battletext_loadstr(m2_enemies[j].encounter_text); if(m2_btl_enemies_size == 1) - assert_message(text_stayed_inside(window_pointers[2]), "Enemy %d", j); + assert_message(text_stayed_inside(window_pointers[2]), "Encounter text for Enemy %d", j); else if (m2_btl_enemies_size == 2) - assert_message(text_stayed_inside(window_pointers[2]), "Enemy %d - cohort", j); + assert_message(text_stayed_inside(window_pointers[2]), "Encounter text for Enemy %d - cohort", j); else - assert_message(text_stayed_inside(window_pointers[2]), "Enemy %d - cohorts", j); + assert_message(text_stayed_inside(window_pointers[2]), "Encounter text for Enemy %d - cohorts", j); } } } +void test_death_text() +{ + m2_btl_user_ptr->is_enemy = true; + m2_btl_enemies_size = 1; + m2_btl_user_ptr->letter = 1; + m2_btl_user_ptr->unknown_3[0] = 1; + + for(int j = 0; j <= 230; j++) + { + m2_btl_user_ptr->id = j; + m2_btl_user_ptr->enemy_id = j; + m2_set_target_name(); + m2_battletext_loadstr(m2_enemies[j].death_text); + assert_message(text_stayed_inside(window_pointers[2]), "Death text for Enemy %d", j); + } + + m2_btl_user_ptr->letter = 0x17; + m2_btl_user_ptr->unknown_3[0] = 0; + + for(int j = 0; j <= 230; j++) + { + m2_btl_user_ptr->id = j; + m2_btl_user_ptr->enemy_id = j; + m2_set_target_name(); + m2_battletext_loadstr(m2_enemies[j].death_text); + assert_message(text_stayed_inside(window_pointers[2]), "Death text for Enemy %d - W", j); + } + +} + bool text_stayed_inside(WINDOW* window) { for(int i = 0; i < window->window_height; i++) @@ -74,6 +106,7 @@ void setup_battle_tests() void do_battle_tests() { test_encounter_text(); + test_death_text(); } void start_battle_tests() diff --git a/src/c/tests/battle_test.h b/src/c/tests/battle_test.h index c17dadc..7c6b851 100644 --- a/src/c/tests/battle_test.h +++ b/src/c/tests/battle_test.h @@ -15,4 +15,5 @@ extern short m2_is_battle; extern byte m2_btl_enemies_size; extern BATTLE_DATA* m2_btl_user_ptr; extern BATTLE_DATA* m2_btl_target_ptr; -extern void m2_set_enemy_name(int val); \ No newline at end of file +extern void m2_set_user_name(int val); +extern void m2_set_target_name(); \ No newline at end of file diff --git a/src/m2-hack.asm b/src/m2-hack.asm index 50bb6ea..0b6682d 100644 --- a/src/m2-hack.asm +++ b/src/m2-hack.asm @@ -2407,7 +2407,8 @@ disclaimer_map: .definelabel m2_sub_d6844 ,0x80D6844 .definelabel m2_sub_daf84 ,0x80DAF84 .definelabel m2_battletext_loadstr ,0x80DB168 -.definelabel m2_set_enemy_name ,0x80DB04C +.definelabel m2_set_user_name ,0x80DB04C +.definelabel m2_set_target_name ,0x80DAE00 .definelabel m2_setupbattlename ,0x80DCD00 .definelabel m2_stat_symb_checker ,0x8B0EDA4 .definelabel vblank ,0x80F47E4