Sync characters
This commit is contained in:
@@ -0,0 +1,282 @@
|
||||
#ifndef GUARD_CHARACTERS_H
|
||||
#define GUARD_CHARACTERS_H
|
||||
|
||||
#define CHAR_SPACE 0x00
|
||||
#define CHAR_A_GRAVE 0x01
|
||||
#define CHAR_A_ACUTE 0x02
|
||||
#define CHAR_A_CIRCUMFLEX 0x03
|
||||
#define CHAR_C_CEDILLA 0x04
|
||||
#define CHAR_E_GRAVE 0x05
|
||||
#define CHAR_E_ACUTE 0x06
|
||||
#define CHAR_E_CIRCUMFLEX 0x07
|
||||
#define CHAR_E_DIAERESIS 0x08
|
||||
#define CHAR_I_GRAVE 0x09
|
||||
//#define CHAR_I_ACUTE 0x0A // Is 0x5A instead
|
||||
#define CHAR_I_CIRCUMFLEX 0x0B
|
||||
#define CHAR_I_DIAERESIS 0x0C
|
||||
#define CHAR_O_GRAVE 0x0D
|
||||
#define CHAR_O_ACUTE 0x0E
|
||||
#define CHAR_O_CIRCUMFLEX 0x0F
|
||||
#define CHAR_OE 0x10
|
||||
#define CHAR_U_GRAVE 0x11
|
||||
#define CHAR_U_ACUTE 0x12
|
||||
#define CHAR_U_CIRCUMFLEX 0x13
|
||||
#define CHAR_N_TILDE 0x14
|
||||
#define CHAR_ESZETT 0x15
|
||||
#define CHAR_a_GRAVE 0x16
|
||||
#define CHAR_a_ACUTE 0x17
|
||||
//#define CHAR_a_CIRCUMFLEX 0x18 // Is 0x68 instead
|
||||
#define CHAR_c_CEDILLA 0x19
|
||||
#define CHAR_e_GRAVE 0x1A
|
||||
#define CHAR_e_ACUTE 0x1B
|
||||
#define CHAR_e_CIRCUMFLEX 0x1C
|
||||
#define CHAR_e_DIAERESIS 0x1D
|
||||
#define CHAR_i_GRAVE 0x1E
|
||||
//#define CHAR_i_ACUTE 0x1F // Is 0x6F instead
|
||||
#define CHAR_i_CIRCUMFLEX 0x20
|
||||
#define CHAR_i_DIAERESIS 0x21
|
||||
#define CHAR_o_GRAVE 0x22
|
||||
#define CHAR_o_ACUTE 0x23
|
||||
#define CHAR_o_CIRCUMFLEX 0x24
|
||||
#define CHAR_oe 0x25
|
||||
#define CHAR_u_GRAVE 0x26
|
||||
#define CHAR_u_ACUTE 0x27
|
||||
#define CHAR_u_CIRCUMFLEX 0x28
|
||||
#define CHAR_n_TILDE 0x29
|
||||
#define CHAR_MASCULINE_ORDINAL 0x2A
|
||||
#define CHAR_FEMININE_ORDINAL 0x2B
|
||||
#define CHAR_SUPER_ER 0x2C
|
||||
#define CHAR_AMPERSAND 0x2D
|
||||
#define CHAR_PLUS 0x2E
|
||||
//
|
||||
#define CHAR_LV 0x34
|
||||
#define CHAR_EQUALS 0x35
|
||||
#define CHAR_SEMICOLON 0x36
|
||||
#define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song
|
||||
//
|
||||
#define CHAR_EMPTY_RECT 0x50
|
||||
#define CHAR_INV_QUESTION_MARK 0x51
|
||||
#define CHAR_INV_EXCL_MARK 0x52
|
||||
#define CHAR_PK 0x53
|
||||
#define CHAR_MN 0x54
|
||||
#define CHAR_PO 0x55
|
||||
#define CHAR_KE 0x56
|
||||
#define CHAR_BLOCK_1 0x57 // Each of these 3
|
||||
#define CHAR_BLOCK_2 0x58 // chars contains 1/3
|
||||
#define CHAR_BLOCK_3 0x59 // of the word BLOCK
|
||||
#define CHAR_I_ACUTE 0x5A
|
||||
#define CHAR_PERCENT 0x5B
|
||||
#define CHAR_LEFT_PAREN 0x5C
|
||||
#define CHAR_RIGHT_PAREN 0x5D
|
||||
//
|
||||
#define CHAR_a_CIRCUMFLEX 0x68
|
||||
//
|
||||
#define CHAR_i_ACUTE 0x6F
|
||||
//
|
||||
#define CHAR_SPACER 0x77 // Empty space
|
||||
//
|
||||
#define CHAR_UP_ARROW 0x79
|
||||
#define CHAR_DOWN_ARROW 0x7A
|
||||
#define CHAR_LEFT_ARROW 0x7B
|
||||
#define CHAR_RIGHT_ARROW 0x7C
|
||||
//
|
||||
#define CHAR_SUPER_E 0x84
|
||||
#define CHAR_LESS_THAN 0x85
|
||||
#define CHAR_GREATER_THAN 0x86
|
||||
//
|
||||
#define CHAR_SUPER_RE 0xA0
|
||||
#define CHAR_0 0xA1
|
||||
#define CHAR_1 0xA2
|
||||
#define CHAR_2 0xA3
|
||||
#define CHAR_3 0xA4
|
||||
#define CHAR_4 0xA5
|
||||
#define CHAR_5 0xA6
|
||||
#define CHAR_6 0xA7
|
||||
#define CHAR_7 0xA8
|
||||
#define CHAR_8 0xA9
|
||||
#define CHAR_9 0xAA
|
||||
#define CHAR_EXCL_MARK 0xAB
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#define CHAR_BULLET 0xAF
|
||||
#define CHAR_ELLIPSIS 0xB0
|
||||
#define CHAR_DBL_QUOTE_LEFT 0xB1
|
||||
#define CHAR_DBL_QUOTE_RIGHT 0xB2
|
||||
#define CHAR_SGL_QUOTE_LEFT 0xB3
|
||||
#define CHAR_SGL_QUOTE_RIGHT 0xB4
|
||||
#define CHAR_MALE 0xB5
|
||||
#define CHAR_FEMALE 0xB6
|
||||
#define CHAR_CURRENCY 0xB7
|
||||
#define CHAR_COMMA 0xB8
|
||||
#define CHAR_MULT_SIGN 0xB9
|
||||
#define CHAR_SLASH 0xBA
|
||||
#define CHAR_A 0xBB
|
||||
#define CHAR_B 0xBC
|
||||
#define CHAR_C 0xBD
|
||||
#define CHAR_D 0xBE
|
||||
#define CHAR_E 0xBF
|
||||
#define CHAR_F 0xC0
|
||||
#define CHAR_G 0xC1
|
||||
#define CHAR_H 0xC2
|
||||
#define CHAR_I 0xC3
|
||||
#define CHAR_J 0xC4
|
||||
#define CHAR_K 0xC5
|
||||
#define CHAR_L 0xC6
|
||||
#define CHAR_M 0xC7
|
||||
#define CHAR_N 0xC8
|
||||
#define CHAR_O 0xC9
|
||||
#define CHAR_P 0xCA
|
||||
#define CHAR_Q 0xCB
|
||||
#define CHAR_R 0xCC
|
||||
#define CHAR_S 0xCD
|
||||
#define CHAR_T 0xCE
|
||||
#define CHAR_U 0xCF
|
||||
#define CHAR_V 0xD0
|
||||
#define CHAR_W 0xD1
|
||||
#define CHAR_X 0xD2
|
||||
#define CHAR_Y 0xD3
|
||||
#define CHAR_Z 0xD4
|
||||
#define CHAR_a 0xD5
|
||||
#define CHAR_b 0xD6
|
||||
#define CHAR_c 0xD7
|
||||
#define CHAR_d 0xD8
|
||||
#define CHAR_e 0xD9
|
||||
#define CHAR_f 0xDA
|
||||
#define CHAR_g 0xDB
|
||||
#define CHAR_h 0xDC
|
||||
#define CHAR_i 0xDD
|
||||
#define CHAR_j 0xDE
|
||||
#define CHAR_k 0xDF
|
||||
#define CHAR_l 0xE0
|
||||
#define CHAR_m 0xE1
|
||||
#define CHAR_n 0xE2
|
||||
#define CHAR_o 0xE3
|
||||
#define CHAR_p 0xE4
|
||||
#define CHAR_q 0xE5
|
||||
#define CHAR_r 0xE6
|
||||
#define CHAR_s 0xE7
|
||||
#define CHAR_t 0xE8
|
||||
#define CHAR_u 0xE9
|
||||
#define CHAR_v 0xEA
|
||||
#define CHAR_w 0xEB
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_BLACK_TRIANGLE 0xEF
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_A_DIAERESIS 0xF1
|
||||
#define CHAR_O_DIAERESIS 0xF2
|
||||
#define CHAR_U_DIAERESIS 0xF3
|
||||
#define CHAR_a_DIAERESIS 0xF4
|
||||
#define CHAR_o_DIAERESIS 0xF5
|
||||
#define CHAR_u_DIAERESIS 0xF6
|
||||
#define CHAR_DYNAMIC 0xF7
|
||||
#define CHAR_KEYPAD_ICON 0xF8
|
||||
#define CHAR_EXTRA_SYMBOL 0xF9
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
|
||||
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
|
||||
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
|
||||
#define CHAR_NEWLINE 0xFE
|
||||
#define EOS 0xFF // end of string
|
||||
|
||||
// CHAR_KEYPAD_ICON chars
|
||||
#define CHAR_A_BUTTON 0x00
|
||||
#define CHAR_B_BUTTON 0x01
|
||||
#define CHAR_L_BUTTON 0x02
|
||||
#define CHAR_R_BUTTON 0x03
|
||||
#define CHAR_START_BUTTON 0x04
|
||||
#define CHAR_SELECT_BUTTON 0x05
|
||||
#define CHAR_DPAD_UP 0x06
|
||||
#define CHAR_DPAD_DOWN 0x07
|
||||
#define CHAR_DPAD_LEFT 0x08
|
||||
#define CHAR_DPAD_RIGHT 0x09
|
||||
#define CHAR_DPAD_UPDOWN 0x0A
|
||||
#define CHAR_DPAD_LEFTRIGHT 0x0B
|
||||
#define CHAR_DPAD_NONE 0x0C
|
||||
|
||||
// CHAR_EXTRA_SYMBOL chars
|
||||
#define CHAR_UP_ARROW_2 0x00
|
||||
#define CHAR_DOWN_ARROW_2 0x01
|
||||
#define CHAR_LEFT_ARROW_2 0x02
|
||||
#define CHAR_RIGHT_ARROW_2 0x03
|
||||
#define CHAR_PLUS_2 0x04
|
||||
#define CHAR_LV_2 0x05
|
||||
#define CHAR_PP 0x06
|
||||
#define CHAR_ID 0x07
|
||||
#define CHAR_NO 0x08
|
||||
#define CHAR_UNDERSCORE 0x09
|
||||
#define CHAR_CIRCLED_1 0x0A
|
||||
#define CHAR_CIRCLED_2 0x0B
|
||||
#define CHAR_CIRCLED_3 0x0C
|
||||
#define CHAR_CIRCLED_4 0x0D
|
||||
#define CHAR_CIRCLED_5 0x0E
|
||||
#define CHAR_CIRCLED_6 0x0F
|
||||
#define CHAR_CIRCLED_7 0x10
|
||||
#define CHAR_CIRCLED_8 0x11
|
||||
#define CHAR_CIRCLED_9 0x12
|
||||
#define CHAR_LEFT_PAREN_SMALL 0x13
|
||||
#define CHAR_RIGHT_PAREN_SMALL 0x14
|
||||
#define CHAR_BULLSEYE 0x15
|
||||
#define CHAR_TRIANGLE 0x16
|
||||
#define CHAR_CROSS_X 0x17
|
||||
|
||||
#define EXT_CTRL_CODE_COLOR 0x01
|
||||
#define EXT_CTRL_CODE_HIGHLIGHT 0x02
|
||||
#define EXT_CTRL_CODE_SHADOW 0x03
|
||||
#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04
|
||||
#define EXT_CTRL_CODE_PALETTE 0x05
|
||||
#define EXT_CTRL_CODE_FONT 0x06
|
||||
#define EXT_CTRL_CODE_RESET_FONT 0x07
|
||||
#define EXT_CTRL_CODE_PAUSE 0x08
|
||||
#define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09
|
||||
#define EXT_CTRL_CODE_WAIT_SE 0x0A
|
||||
#define EXT_CTRL_CODE_PLAY_BGM 0x0B
|
||||
#define EXT_CTRL_CODE_ESCAPE 0x0C
|
||||
#define EXT_CTRL_CODE_SHIFT_RIGHT 0x0D
|
||||
#define EXT_CTRL_CODE_SHIFT_DOWN 0x0E
|
||||
#define EXT_CTRL_CODE_FILL_WINDOW 0x0F
|
||||
#define EXT_CTRL_CODE_PLAY_SE 0x10
|
||||
#define EXT_CTRL_CODE_CLEAR 0x11
|
||||
#define EXT_CTRL_CODE_SKIP 0x12
|
||||
#define EXT_CTRL_CODE_CLEAR_TO 0x13
|
||||
#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
|
||||
#define EXT_CTRL_CODE_JPN 0x15
|
||||
#define EXT_CTRL_CODE_ENG 0x16
|
||||
#define EXT_CTRL_CODE_PAUSE_MUSIC 0x17
|
||||
#define EXT_CTRL_CODE_RESUME_MUSIC 0x18
|
||||
|
||||
#define TEXT_COLOR_TRANSPARENT 0x0
|
||||
#define TEXT_COLOR_WHITE 0x1
|
||||
#define TEXT_COLOR_DARK_GRAY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GRAY 0x3
|
||||
#define TEXT_COLOR_RED 0x4
|
||||
#define TEXT_COLOR_LIGHT_RED 0x5
|
||||
#define TEXT_COLOR_GREEN 0x6
|
||||
#define TEXT_COLOR_LIGHT_GREEN 0x7
|
||||
#define TEXT_COLOR_BLUE 0x8
|
||||
#define TEXT_COLOR_LIGHT_BLUE 0x9
|
||||
#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
|
||||
#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
|
||||
#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
|
||||
#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
|
||||
|
||||
#define PLACEHOLDER_ID_UNKNOWN 0x0
|
||||
#define PLACEHOLDER_ID_PLAYER 0x1
|
||||
#define PLACEHOLDER_ID_STRING_VAR_1 0x2
|
||||
#define PLACEHOLDER_ID_STRING_VAR_2 0x3
|
||||
#define PLACEHOLDER_ID_STRING_VAR_3 0x4
|
||||
#define PLACEHOLDER_ID_KUN 0x5
|
||||
#define PLACEHOLDER_ID_RIVAL 0x6
|
||||
#define PLACEHOLDER_ID_VERSION 0x7
|
||||
#define PLACEHOLDER_ID_MAGMA 0x8
|
||||
#define PLACEHOLDER_ID_AQUA 0x9
|
||||
#define PLACEHOLDER_ID_MAXIE 0xA
|
||||
#define PLACEHOLDER_ID_ARCHIE 0xB
|
||||
#define PLACEHOLDER_ID_GROUDON 0xC
|
||||
#define PLACEHOLDER_ID_KYOGRE 0xD
|
||||
|
||||
#endif // GUARD_CHARACTERS_H
|
||||
+21
-158
@@ -2,157 +2,7 @@
|
||||
#define GUARD_TEXT_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define CHAR_SPACE 0x00
|
||||
#define CHAR_0 0xA1
|
||||
#define CHAR_1 0xA2
|
||||
#define CHAR_2 0xA3
|
||||
#define CHAR_3 0xA4
|
||||
#define CHAR_4 0xA5
|
||||
#define CHAR_5 0xA6
|
||||
#define CHAR_6 0xA7
|
||||
#define CHAR_7 0xA8
|
||||
#define CHAR_8 0xA9
|
||||
#define CHAR_9 0xAA
|
||||
#define CHAR_EXCL_MARK 0xAB
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#define CHAR_ELLIPSIS 0xB0
|
||||
#define CHAR_DBL_QUOT_LEFT 0xB1
|
||||
#define CHAR_DBL_QUOT_RIGHT 0xB2
|
||||
#define CHAR_SGL_QUOT_LEFT 0xB3
|
||||
#define CHAR_SGL_QUOT_RIGHT 0xB4
|
||||
#define CHAR_MALE 0xB5
|
||||
#define CHAR_FEMALE 0xB6
|
||||
#define CHAR_CURRENCY 0xB7
|
||||
#define CHAR_COMMA 0xB8
|
||||
#define CHAR_MULT_SIGN 0xB9
|
||||
#define CHAR_SLASH 0xBA
|
||||
#define CHAR_A 0xBB
|
||||
#define CHAR_B 0xBC
|
||||
#define CHAR_C 0xBD
|
||||
#define CHAR_D 0xBE
|
||||
#define CHAR_E 0xBF
|
||||
#define CHAR_F 0xC0
|
||||
#define CHAR_G 0xC1
|
||||
#define CHAR_H 0xC2
|
||||
#define CHAR_I 0xC3
|
||||
#define CHAR_J 0xC4
|
||||
#define CHAR_K 0xC5
|
||||
#define CHAR_L 0xC6
|
||||
#define CHAR_M 0xC7
|
||||
#define CHAR_N 0xC8
|
||||
#define CHAR_O 0xC9
|
||||
#define CHAR_P 0xCA
|
||||
#define CHAR_Q 0xCB
|
||||
#define CHAR_R 0xCC
|
||||
#define CHAR_S 0xCD
|
||||
#define CHAR_T 0xCE
|
||||
#define CHAR_U 0xCF
|
||||
#define CHAR_V 0xD0
|
||||
#define CHAR_W 0xD1
|
||||
#define CHAR_X 0xD2
|
||||
#define CHAR_Y 0xD3
|
||||
#define CHAR_Z 0xD4
|
||||
#define CHAR_a 0xD5
|
||||
#define CHAR_b 0xD6
|
||||
#define CHAR_c 0xD7
|
||||
#define CHAR_d 0xD8
|
||||
#define CHAR_e 0xD9
|
||||
#define CHAR_f 0xDA
|
||||
#define CHAR_g 0xDB
|
||||
#define CHAR_h 0xDC
|
||||
#define CHAR_i 0xDD
|
||||
#define CHAR_j 0xDE
|
||||
#define CHAR_k 0xDF
|
||||
#define CHAR_l 0xE0
|
||||
#define CHAR_m 0xE1
|
||||
#define CHAR_n 0xE2
|
||||
#define CHAR_o 0xE3
|
||||
#define CHAR_p 0xE4
|
||||
#define CHAR_q 0xE5
|
||||
#define CHAR_r 0xE6
|
||||
#define CHAR_s 0xE7
|
||||
#define CHAR_t 0xE8
|
||||
#define CHAR_u 0xE9
|
||||
#define CHAR_v 0xEA
|
||||
#define CHAR_w 0xEB
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_COLON 0xF0
|
||||
|
||||
#define CHAR_DYNAMIC_PLACEHOLDER 0xF7
|
||||
#define CHAR_KEYPAD_ICON 0xF8
|
||||
#define CHAR_EXTRA_SYMBOL 0xF9
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
|
||||
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
|
||||
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
|
||||
#define CHAR_NEWLINE 0xFE
|
||||
#define EOS 0xFF // end of string
|
||||
|
||||
// CHAR_EXTRA_SYMBOL chars
|
||||
#define CHAR_LV_2 0x05
|
||||
|
||||
#define TEXT_COLOR_TRANSPARENT 0x0
|
||||
#define TEXT_COLOR_WHITE 0x1
|
||||
#define TEXT_COLOR_DARK_GRAY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GRAY 0x3
|
||||
#define TEXT_COLOR_RED 0x4
|
||||
#define TEXT_COLOR_LIGHT_RED 0x5
|
||||
#define TEXT_COLOR_GREEN 0x6
|
||||
#define TEXT_COLOR_LIGHT_GREEN 0x7
|
||||
#define TEXT_COLOR_BLUE 0x8
|
||||
#define TEXT_COLOR_LIGHT_BLUE 0x9
|
||||
#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
|
||||
#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
|
||||
#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
|
||||
#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
|
||||
|
||||
#define PLACEHOLDER_ID_UNKNOWN 0x0
|
||||
#define PLACEHOLDER_ID_PLAYER 0x1
|
||||
#define PLACEHOLDER_ID_STRING_VAR_1 0x2
|
||||
#define PLACEHOLDER_ID_STRING_VAR_2 0x3
|
||||
#define PLACEHOLDER_ID_STRING_VAR_3 0x4
|
||||
#define PLACEHOLDER_ID_KUN 0x5
|
||||
#define PLACEHOLDER_ID_RIVAL 0x6
|
||||
#define PLACEHOLDER_ID_VERSION 0x7
|
||||
#define PLACEHOLDER_ID_MAGMA 0x8
|
||||
#define PLACEHOLDER_ID_AQUA 0x9
|
||||
#define PLACEHOLDER_ID_MAXIE 0xA
|
||||
#define PLACEHOLDER_ID_ARCHIE 0xB
|
||||
#define PLACEHOLDER_ID_GROUDON 0xC
|
||||
#define PLACEHOLDER_ID_KYOGRE 0xD
|
||||
|
||||
// battle placeholders are located in battle_message.h
|
||||
#define EXT_CTRL_CODE_COLOR 0x1
|
||||
#define EXT_CTRL_CODE_HIGHLIGHT 0x2
|
||||
#define EXT_CTRL_CODE_SHADOW 0x3
|
||||
#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x4
|
||||
#define EXT_CTRL_CODE_PALETTE 0x5
|
||||
#define EXT_CTRL_CODE_FONT 0x6
|
||||
#define EXT_CTRL_CODE_RESET_FONT 0x7
|
||||
#define EXT_CTRL_CODE_PAUSE 0x8
|
||||
#define EXT_CTRL_CODE_WAIT_BUTTON 0x9
|
||||
#define EXT_CTRL_CODE_WAIT_SE 0xA
|
||||
#define EXT_CTRL_CODE_PLAY_BGM 0xB
|
||||
#define EXT_CTRL_CODE_ESCAPE 0xC
|
||||
#define EXT_CTRL_CODE_SHIFT_RIGHT 0xD
|
||||
#define EXT_CTRL_CODE_SHIFT_DOWN 0xE
|
||||
#define EXT_CTRL_CODE_FILL_WINDOW 0xF
|
||||
#define EXT_CTRL_CODE_PLAY_SE 0x10
|
||||
#define EXT_CTRL_CODE_CLEAR 0x11
|
||||
#define EXT_CTRL_CODE_SKIP 0x12
|
||||
#define EXT_CTRL_CODE_CLEAR_TO 0x13
|
||||
#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
|
||||
#define EXT_CTRL_CODE_JPN 0x15
|
||||
#define EXT_CTRL_CODE_ENG 0x16
|
||||
#define EXT_CTRL_CODE_STOP_BGM 0x17
|
||||
#define EXT_CTRL_CODE_RESUME_BGM 0x18
|
||||
#include "characters.h"
|
||||
|
||||
#define NUM_TEXT_PRINTERS 32
|
||||
|
||||
@@ -170,6 +20,26 @@ enum {
|
||||
FONT_4,
|
||||
FONT_5,
|
||||
FONT_BRAILLE,
|
||||
FONT_7,
|
||||
};
|
||||
|
||||
// Return values for font functions
|
||||
enum {
|
||||
RENDER_PRINT,
|
||||
RENDER_FINISH,
|
||||
RENDER_REPEAT, // Run render function again, if e.g. a control code is encountered.
|
||||
RENDER_UPDATE,
|
||||
};
|
||||
|
||||
// Text printer states read by RenderText / FontFunc_Braille
|
||||
enum {
|
||||
RENDER_STATE_HANDLE_CHAR,
|
||||
RENDER_STATE_WAIT,
|
||||
RENDER_STATE_CLEAR,
|
||||
RENDER_STATE_SCROLL_START,
|
||||
RENDER_STATE_SCROLL,
|
||||
RENDER_STATE_WAIT_SE,
|
||||
RENDER_STATE_PAUSE,
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -259,13 +129,6 @@ struct GlyphWidthFunc
|
||||
s32 (*func)(u16 glyphId, bool32 isJapanese);
|
||||
};
|
||||
|
||||
struct KeypadIcon
|
||||
{
|
||||
u16 tileOffset;
|
||||
u8 width;
|
||||
u8 height;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
u8 canABSpeedUpPrint:1;
|
||||
u8 useAlternateDownArrow:1;
|
||||
|
||||
@@ -2195,7 +2195,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
|| *src == B_TXT_TRAINER2_LOSE_TEXT || *src == B_TXT_TRAINER2_WIN_TEXT)
|
||||
{
|
||||
dst[dstId++] = EXT_CTRL_CODE_BEGIN;
|
||||
dst[dstId++] = EXT_CTRL_CODE_WAIT_BUTTON;
|
||||
dst[dstId++] = EXT_CTRL_CODE_PAUSE_UNTIL_PRESS;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -110,7 +110,7 @@ u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src)
|
||||
{
|
||||
while (*src != EOS)
|
||||
{
|
||||
if (*src != CHAR_DYNAMIC_PLACEHOLDER)
|
||||
if (*src != CHAR_DYNAMIC)
|
||||
{
|
||||
*dest++ = *src++;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1454,7 +1454,7 @@ static void PrintECFields(void)
|
||||
for (k = 0; k < 7; k++)
|
||||
{
|
||||
*str++ = CHAR_EXTRA_SYMBOL;
|
||||
*str++ = 9;
|
||||
*str++ = CHAR_UNDERSCORE;
|
||||
}
|
||||
|
||||
str = WriteColorChangeControlCode(str, 0, TEXT_COLOR_DARK_GRAY);
|
||||
|
||||
@@ -479,7 +479,7 @@ void HelpSystemRenderText(u8 fontId, u8 * dest, const u8 * src, u8 x, u8 y, u8 w
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
src++;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
break;
|
||||
|
||||
+1
-1
@@ -220,7 +220,7 @@ static const u8 sWireless_RSEtoASCIITable[] = {
|
||||
[CHAR_y] = 'y',
|
||||
[CHAR_z] = 'z',
|
||||
0x20, 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
|
||||
[CHAR_DYNAMIC_PLACEHOLDER] = ' ',
|
||||
[CHAR_DYNAMIC] = ' ',
|
||||
[CHAR_KEYPAD_ICON] = ' ',
|
||||
[CHAR_EXTRA_SYMBOL] = ' ',
|
||||
[CHAR_PROMPT_SCROLL] = ' ',
|
||||
|
||||
@@ -355,7 +355,7 @@ static void BufferCardText(void)
|
||||
// Copy stat texts
|
||||
for (i = 0, charsUntilStat = 0; i < WONDER_CARD_TEXT_LENGTH; i++)
|
||||
{
|
||||
if (sWonderCardData->card.footerLine2Text[i] != CHAR_DYNAMIC_PLACEHOLDER)
|
||||
if (sWonderCardData->card.footerLine2Text[i] != CHAR_DYNAMIC)
|
||||
{
|
||||
// Regular text, just copy as is
|
||||
sWonderCardData->statTextData[sWonderCardData->recordIdx].statText[charsUntilStat] = sWonderCardData->card.footerLine2Text[i];
|
||||
|
||||
+72
-80
@@ -58,106 +58,98 @@ static const struct WindowTemplate sYesNo_WindowTemplate =
|
||||
|
||||
static const struct FontInfo gFontInfos[] =
|
||||
{
|
||||
{
|
||||
[FONT_0] = {
|
||||
.fontFunction = Font0Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0xD,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 13,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_1] = {
|
||||
.fontFunction = Font1Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_2] = {
|
||||
.fontFunction = Font2Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x1,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 1,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_3] = {
|
||||
.fontFunction = Font3Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x1,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 1,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_4] = {
|
||||
.fontFunction = Font4Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_5] = {
|
||||
.fontFunction = Font5Func,
|
||||
.maxLetterWidth = 0xA,
|
||||
.maxLetterHeight = 0xE,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 10,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_BRAILLE] = {
|
||||
.fontFunction = Font6Func,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0x10,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x2,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x2,
|
||||
.bgColor = 0x1,
|
||||
.shadowColor = 0x3,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 16,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 2,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
[FONT_7] = {
|
||||
.fontFunction = NULL,
|
||||
.maxLetterWidth = 0x8,
|
||||
.maxLetterHeight = 0x8,
|
||||
.letterSpacing = 0x0,
|
||||
.lineSpacing = 0x0,
|
||||
.unk = 0x0,
|
||||
.fgColor = 0x1,
|
||||
.bgColor = 0x2,
|
||||
.shadowColor = 0xF,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 8,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 1,
|
||||
.bgColor = 2,
|
||||
.shadowColor = 15,
|
||||
}
|
||||
};
|
||||
|
||||
static const u8 gMenuCursorDimensions[][2] =
|
||||
{
|
||||
{ 0x8, 0xD },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0x10 },
|
||||
{ 0x0, 0x0 }
|
||||
[FONT_0] = { 8, 13 },
|
||||
[FONT_1] = { 8, 14 },
|
||||
[FONT_2] = { 8, 14 },
|
||||
[FONT_3] = { 8, 14 },
|
||||
[FONT_4] = { 8, 14 },
|
||||
[FONT_5] = { 8, 14 },
|
||||
[FONT_BRAILLE] = { 8, 16 },
|
||||
[FONT_7] = {}
|
||||
};
|
||||
|
||||
static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
|
||||
|
||||
@@ -2735,20 +2735,20 @@ void DexScreen_PrintMonHeight(u8 windowId, u16 species, u8 x, u8 y)
|
||||
buffer[i++] = feet / 10 + CHAR_0;
|
||||
buffer[i++] = feet % 10 + CHAR_0;
|
||||
}
|
||||
buffer[i++] = CHAR_SGL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_SGL_QUOTE_RIGHT;
|
||||
buffer[i++] = inches / 10 + CHAR_0;
|
||||
buffer[i++] = inches % 10 + CHAR_0;
|
||||
buffer[i++] = CHAR_DBL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_DBL_QUOTE_RIGHT;
|
||||
buffer[i++] = EOS;
|
||||
}
|
||||
else
|
||||
{
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_SGL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_SGL_QUOTE_RIGHT;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_QUESTION_MARK;
|
||||
buffer[i++] = CHAR_DBL_QUOT_RIGHT;
|
||||
buffer[i++] = CHAR_DBL_QUOTE_RIGHT;
|
||||
}
|
||||
|
||||
buffer[i++] = EOS;
|
||||
|
||||
+42
-32
@@ -20,17 +20,21 @@ static const u8 sTinyDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow
|
||||
static const u8 sDoubleArrowTiles1[] = INCBIN_U8("graphics/fonts/down_arrow_3.4bpp");
|
||||
static const u8 sDoubleArrowTiles2[] = INCBIN_U8("graphics/fonts/down_arrow_4.4bpp");
|
||||
|
||||
static const u8 sDownArrowYCoords[] = { 0x0, 0x10, 0x20, 0x10 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = { 0x1, 0x2 , 0x4 , 0x0 };
|
||||
static const u8 sDownArrowYCoords[] = { 0, 16, 32, 16 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = {
|
||||
[OPTIONS_TEXT_SPEED_SLOW] = 1,
|
||||
[OPTIONS_TEXT_SPEED_MID] = 2,
|
||||
[OPTIONS_TEXT_SPEED_FAST] = 4,
|
||||
};
|
||||
|
||||
static const struct GlyphWidthFunc sGlyphWidthFuncs[] = {
|
||||
{ 0x0, GetGlyphWidthFont0 },
|
||||
{ 0x1, GetGlyphWidthFont1 },
|
||||
{ 0x2, GetGlyphWidthFont2 },
|
||||
{ 0x3, GetGlyphWidthFont3 },
|
||||
{ 0x4, GetGlyphWidthFont4 },
|
||||
{ 0x5, GetGlyphWidthFont5 },
|
||||
{ 0x6, GetGlyphWidthFont6 }
|
||||
{ FONT_0, GetGlyphWidthFont0 },
|
||||
{ FONT_1, GetGlyphWidthFont1 },
|
||||
{ FONT_2, GetGlyphWidthFont2 },
|
||||
{ FONT_3, GetGlyphWidthFont3 },
|
||||
{ FONT_4, GetGlyphWidthFont4 },
|
||||
{ FONT_5, GetGlyphWidthFont5 },
|
||||
{ FONT_BRAILLE, GetGlyphWidthFont6 }
|
||||
};
|
||||
|
||||
static const struct SpriteSheet sUnknown_81EA68C[] =
|
||||
@@ -57,20 +61,26 @@ static const struct SpriteTemplate sUnknown_81EA6B4 =
|
||||
.callback = sub_80062B0,
|
||||
};
|
||||
|
||||
static const struct KeypadIcon sKeypadIcons[] = {
|
||||
{ 0x0, 0x8, 0xC },
|
||||
{ 0x1, 0x8, 0xC },
|
||||
{ 0x2, 0x10, 0xC },
|
||||
{ 0x4, 0x10, 0xC },
|
||||
{ 0x6, 0x18, 0xC },
|
||||
{ 0x9, 0x18, 0xC },
|
||||
{ 0xC, 0x8, 0xC },
|
||||
{ 0xD, 0x8, 0xC },
|
||||
{ 0xE, 0x8, 0xC },
|
||||
{ 0xF, 0x8, 0xC },
|
||||
{ 0x20, 0x8, 0xC },
|
||||
{ 0x21, 0x8, 0xC },
|
||||
{ 0x22, 0x8, 0xC },
|
||||
struct
|
||||
{
|
||||
u16 tileOffset;
|
||||
u8 width;
|
||||
u8 height;
|
||||
} static const sKeypadIcons[] =
|
||||
{
|
||||
[CHAR_A_BUTTON] = { 0x0, 8, 12 },
|
||||
[CHAR_B_BUTTON] = { 0x1, 8, 12 },
|
||||
[CHAR_L_BUTTON] = { 0x2, 16, 12 },
|
||||
[CHAR_R_BUTTON] = { 0x4, 16, 12 },
|
||||
[CHAR_START_BUTTON] = { 0x6, 24, 12 },
|
||||
[CHAR_SELECT_BUTTON] = { 0x9, 24, 12 },
|
||||
[CHAR_DPAD_UP] = { 0xC, 8, 12 },
|
||||
[CHAR_DPAD_DOWN] = { 0xD, 8, 12 },
|
||||
[CHAR_DPAD_LEFT] = { 0xE, 8, 12 },
|
||||
[CHAR_DPAD_RIGHT] = { 0xF, 8, 12 },
|
||||
[CHAR_DPAD_UPDOWN] = { 0x20, 8, 12 },
|
||||
[CHAR_DPAD_LEFTRIGHT] = { 0x21, 8, 12 },
|
||||
[CHAR_DPAD_NONE] = { 0x22, 8, 12 },
|
||||
};
|
||||
|
||||
const u8 gKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
|
||||
@@ -694,7 +704,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
textPrinter->state = 6;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
textPrinter->state = 1;
|
||||
if (gTextFlags.autoScroll)
|
||||
subStruct->autoScrollDelay = 0;
|
||||
@@ -732,10 +742,10 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_STOP_BGM:
|
||||
case EXT_CTRL_CODE_PAUSE_MUSIC:
|
||||
m4aMPlayStop(&gMPlayInfo_BGM);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_RESUME_BGM:
|
||||
case EXT_CTRL_CODE_RESUME_MUSIC:
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_CLEAR:
|
||||
@@ -955,7 +965,7 @@ static s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci
|
||||
++strPos;
|
||||
break;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
case EXT_CTRL_CODE_JPN:
|
||||
@@ -964,7 +974,7 @@ static s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
++strPos;
|
||||
break;
|
||||
@@ -1053,7 +1063,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
if (bufferPointer == NULL)
|
||||
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
|
||||
while (*bufferPointer != EOS)
|
||||
@@ -1087,7 +1097,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
++str;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
break;
|
||||
@@ -1231,7 +1241,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str, int a3, int a4, int a5, int a
|
||||
++strPos;
|
||||
break;
|
||||
case EXT_CTRL_CODE_RESET_FONT:
|
||||
case EXT_CTRL_CODE_WAIT_BUTTON:
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
case EXT_CTRL_CODE_JPN:
|
||||
@@ -1240,7 +1250,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str, int a3, int a4, int a5, int a
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case CHAR_DYNAMIC_PLACEHOLDER:
|
||||
case CHAR_DYNAMIC:
|
||||
case CHAR_KEYPAD_ICON:
|
||||
case CHAR_EXTRA_SYMBOL:
|
||||
case PLACEHOLDER_BEGIN:
|
||||
|
||||
+23
-22
@@ -73,16 +73,14 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
if (!gFonts)
|
||||
return FALSE;
|
||||
|
||||
sTempTextPrinter.active = 1;
|
||||
sTempTextPrinter.state = 0;
|
||||
sTempTextPrinter.active = TRUE;
|
||||
sTempTextPrinter.state = RENDER_STATE_HANDLE_CHAR;
|
||||
sTempTextPrinter.textSpeed = speed;
|
||||
sTempTextPrinter.delayCounter = 0;
|
||||
sTempTextPrinter.scrollDistance = 0;
|
||||
|
||||
for (i = 0; i < 7; ++i)
|
||||
{
|
||||
for (i = 0; i < (int)ARRAY_COUNT(sTempTextPrinter.subUnion.fields); ++i)
|
||||
sTempTextPrinter.subUnion.fields[i] = 0;
|
||||
}
|
||||
|
||||
sTempTextPrinter.printerTemplate = *textSubPrinter;
|
||||
sTempTextPrinter.callback = callback;
|
||||
@@ -90,7 +88,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
sTempTextPrinter.japanese = 0;
|
||||
|
||||
GenerateFontHalfRowLookupTable(textSubPrinter->fgColor, textSubPrinter->bgColor, textSubPrinter->shadowColor);
|
||||
if (speed != TEXT_SKIP_DRAW && speed != 0x0)
|
||||
if (speed != TEXT_SKIP_DRAW && speed != 0)
|
||||
{
|
||||
--sTempTextPrinter.textSpeed;
|
||||
sTextPrinters[textSubPrinter->windowId] = sTempTextPrinter;
|
||||
@@ -98,15 +96,18 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
else
|
||||
{
|
||||
sTempTextPrinter.textSpeed = 0;
|
||||
|
||||
// Render all text (up to limit) at once
|
||||
for (j = 0; j < 0x400; ++j)
|
||||
{
|
||||
if ((u32)RenderFont(&sTempTextPrinter) == 1)
|
||||
if (RenderFont(&sTempTextPrinter) == RENDER_FINISH)
|
||||
break;
|
||||
}
|
||||
|
||||
// All the text is rendered to the window but don't draw it yet.
|
||||
if (speed != TEXT_SKIP_DRAW)
|
||||
CopyWindowToVram(sTempTextPrinter.printerTemplate.windowId, COPYWIN_GFX);
|
||||
sTextPrinters[textSubPrinter->windowId].active = 0;
|
||||
sTextPrinters[textSubPrinter->windowId].active = FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -114,23 +115,23 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *textSubPrinter, u8 speed, void
|
||||
void RunTextPrinters(void)
|
||||
{
|
||||
int i;
|
||||
u16 temp;
|
||||
|
||||
for (i = 0; i < 0x20; ++i)
|
||||
for (i = 0; i < NUM_TEXT_PRINTERS; ++i)
|
||||
{
|
||||
if (sTextPrinters[i].active != 0)
|
||||
if (sTextPrinters[i].active)
|
||||
{
|
||||
temp = RenderFont(&sTextPrinters[i]);
|
||||
switch (temp) {
|
||||
case 0:
|
||||
CopyWindowToVram(sTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
case 3:
|
||||
if (sTextPrinters[i].callback != 0)
|
||||
sTextPrinters[i].callback(&sTextPrinters[i].printerTemplate, temp);
|
||||
break;
|
||||
case 1:
|
||||
sTextPrinters[i].active = 0;
|
||||
break;
|
||||
u16 renderCmd = RenderFont(&sTextPrinters[i]);
|
||||
switch (renderCmd)
|
||||
{
|
||||
case RENDER_PRINT:
|
||||
CopyWindowToVram(sTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
case RENDER_UPDATE:
|
||||
if (sTextPrinters[i].callback != NULL)
|
||||
sTextPrinters[i].callback(&sTextPrinters[i].printerTemplate, renderCmd);
|
||||
break;
|
||||
case RENDER_FINISH:
|
||||
sTextPrinters[i].active = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+145
-33
@@ -128,39 +128,151 @@ static const u8 sKeyboardPageMaxRow[] =
|
||||
9
|
||||
};
|
||||
|
||||
static const u8 sCaseToggleTable[] = {
|
||||
0x00, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C,
|
||||
0x1D, 0x1E, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24,
|
||||
0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02,
|
||||
0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00,
|
||||
0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12,
|
||||
0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00,
|
||||
0x00, 0x00, 0x6F, 0x5B, 0x5C, 0x5D, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
|
||||
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
|
||||
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
|
||||
0xB8, 0xB9, 0xBA, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9,
|
||||
0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1,
|
||||
0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
|
||||
0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xBB, 0xBC, 0xBD,
|
||||
0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5,
|
||||
0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD,
|
||||
0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xEF,
|
||||
0xF0, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
static const u8 sCaseToggleTable[256] = {
|
||||
[CHAR_A] = CHAR_a,
|
||||
[CHAR_B] = CHAR_b,
|
||||
[CHAR_C] = CHAR_c,
|
||||
[CHAR_D] = CHAR_d,
|
||||
[CHAR_E] = CHAR_e,
|
||||
[CHAR_F] = CHAR_f,
|
||||
[CHAR_G] = CHAR_g,
|
||||
[CHAR_H] = CHAR_h,
|
||||
[CHAR_I] = CHAR_i,
|
||||
[CHAR_J] = CHAR_j,
|
||||
[CHAR_K] = CHAR_k,
|
||||
[CHAR_L] = CHAR_l,
|
||||
[CHAR_M] = CHAR_m,
|
||||
[CHAR_N] = CHAR_n,
|
||||
[CHAR_O] = CHAR_o,
|
||||
[CHAR_P] = CHAR_p,
|
||||
[CHAR_Q] = CHAR_q,
|
||||
[CHAR_R] = CHAR_r,
|
||||
[CHAR_S] = CHAR_s,
|
||||
[CHAR_T] = CHAR_t,
|
||||
[CHAR_U] = CHAR_u,
|
||||
[CHAR_V] = CHAR_v,
|
||||
[CHAR_W] = CHAR_w,
|
||||
[CHAR_X] = CHAR_x,
|
||||
[CHAR_Y] = CHAR_y,
|
||||
[CHAR_Z] = CHAR_z,
|
||||
[CHAR_a] = CHAR_A,
|
||||
[CHAR_b] = CHAR_B,
|
||||
[CHAR_c] = CHAR_C,
|
||||
[CHAR_d] = CHAR_D,
|
||||
[CHAR_e] = CHAR_E,
|
||||
[CHAR_f] = CHAR_F,
|
||||
[CHAR_g] = CHAR_G,
|
||||
[CHAR_h] = CHAR_H,
|
||||
[CHAR_i] = CHAR_I,
|
||||
[CHAR_j] = CHAR_J,
|
||||
[CHAR_k] = CHAR_K,
|
||||
[CHAR_l] = CHAR_L,
|
||||
[CHAR_m] = CHAR_M,
|
||||
[CHAR_n] = CHAR_N,
|
||||
[CHAR_o] = CHAR_O,
|
||||
[CHAR_p] = CHAR_P,
|
||||
[CHAR_q] = CHAR_Q,
|
||||
[CHAR_r] = CHAR_R,
|
||||
[CHAR_s] = CHAR_S,
|
||||
[CHAR_t] = CHAR_T,
|
||||
[CHAR_u] = CHAR_U,
|
||||
[CHAR_v] = CHAR_V,
|
||||
[CHAR_w] = CHAR_W,
|
||||
[CHAR_x] = CHAR_X,
|
||||
[CHAR_y] = CHAR_Y,
|
||||
[CHAR_z] = CHAR_Z,
|
||||
[CHAR_A_GRAVE] = CHAR_a_GRAVE,
|
||||
[CHAR_A_ACUTE] = CHAR_a_ACUTE,
|
||||
[CHAR_A_CIRCUMFLEX] = CHAR_a_CIRCUMFLEX,
|
||||
[CHAR_A_DIAERESIS] = CHAR_a_DIAERESIS,
|
||||
[CHAR_C_CEDILLA] = CHAR_c_CEDILLA,
|
||||
[CHAR_E_GRAVE] = CHAR_e_GRAVE,
|
||||
[CHAR_E_ACUTE] = CHAR_e_ACUTE,
|
||||
[CHAR_E_CIRCUMFLEX] = CHAR_e_CIRCUMFLEX,
|
||||
[CHAR_E_DIAERESIS] = CHAR_e_DIAERESIS,
|
||||
[CHAR_I_GRAVE] = CHAR_i_GRAVE,
|
||||
[CHAR_I_ACUTE] = CHAR_i_ACUTE,
|
||||
[CHAR_I_CIRCUMFLEX] = CHAR_i_CIRCUMFLEX,
|
||||
[CHAR_I_DIAERESIS] = CHAR_i_DIAERESIS,
|
||||
[CHAR_O_GRAVE] = CHAR_o_GRAVE,
|
||||
[CHAR_O_ACUTE] = CHAR_o_ACUTE,
|
||||
[CHAR_O_CIRCUMFLEX] = CHAR_o_CIRCUMFLEX,
|
||||
[CHAR_O_DIAERESIS] = CHAR_o_DIAERESIS,
|
||||
[CHAR_OE] = CHAR_oe,
|
||||
[CHAR_U_GRAVE] = CHAR_u_GRAVE,
|
||||
[CHAR_U_ACUTE] = CHAR_u_ACUTE,
|
||||
[CHAR_U_CIRCUMFLEX] = CHAR_u_CIRCUMFLEX,
|
||||
[CHAR_U_DIAERESIS] = CHAR_u_DIAERESIS,
|
||||
[CHAR_N_TILDE] = CHAR_n_TILDE,
|
||||
[CHAR_ESZETT] = CHAR_ESZETT,
|
||||
[CHAR_a_GRAVE] = CHAR_A_GRAVE,
|
||||
[CHAR_a_ACUTE] = CHAR_A_ACUTE,
|
||||
[CHAR_a_CIRCUMFLEX] = CHAR_A_CIRCUMFLEX,
|
||||
[CHAR_a_DIAERESIS] = CHAR_A_DIAERESIS,
|
||||
[CHAR_c_CEDILLA] = CHAR_C_CEDILLA,
|
||||
[CHAR_e_GRAVE] = CHAR_E_GRAVE,
|
||||
[CHAR_e_ACUTE] = CHAR_E_ACUTE,
|
||||
[CHAR_e_CIRCUMFLEX] = CHAR_E_CIRCUMFLEX,
|
||||
[CHAR_e_DIAERESIS] = CHAR_E_DIAERESIS,
|
||||
[CHAR_i_GRAVE] = CHAR_I_GRAVE,
|
||||
[CHAR_i_ACUTE] = CHAR_I_ACUTE,
|
||||
[CHAR_i_CIRCUMFLEX] = CHAR_I_CIRCUMFLEX,
|
||||
[CHAR_i_DIAERESIS] = CHAR_I_DIAERESIS,
|
||||
[CHAR_o_GRAVE] = CHAR_O_GRAVE,
|
||||
[CHAR_o_ACUTE] = CHAR_O_ACUTE,
|
||||
[CHAR_o_CIRCUMFLEX] = CHAR_O_CIRCUMFLEX,
|
||||
[CHAR_o_DIAERESIS] = CHAR_O_DIAERESIS,
|
||||
[CHAR_oe] = CHAR_OE,
|
||||
[CHAR_u_GRAVE] = CHAR_U_GRAVE,
|
||||
[CHAR_u_ACUTE] = CHAR_U_ACUTE,
|
||||
[CHAR_u_CIRCUMFLEX] = CHAR_U_CIRCUMFLEX,
|
||||
[CHAR_u_DIAERESIS] = CHAR_U_DIAERESIS,
|
||||
[CHAR_n_TILDE] = CHAR_N_TILDE,
|
||||
[CHAR_0] = CHAR_0,
|
||||
[CHAR_1] = CHAR_1,
|
||||
[CHAR_2] = CHAR_2,
|
||||
[CHAR_3] = CHAR_3,
|
||||
[CHAR_4] = CHAR_4,
|
||||
[CHAR_5] = CHAR_5,
|
||||
[CHAR_6] = CHAR_6,
|
||||
[CHAR_7] = CHAR_7,
|
||||
[CHAR_8] = CHAR_8,
|
||||
[CHAR_9] = CHAR_9,
|
||||
[CHAR_PK] = CHAR_PK,
|
||||
[CHAR_MN] = CHAR_MN,
|
||||
[CHAR_PO] = CHAR_PO,
|
||||
[CHAR_KE] = CHAR_KE,
|
||||
[CHAR_SUPER_E] = CHAR_SUPER_E,
|
||||
[CHAR_SUPER_ER] = CHAR_SUPER_ER,
|
||||
[CHAR_SUPER_RE] = CHAR_SUPER_RE,
|
||||
[CHAR_PERIOD] = CHAR_PERIOD,
|
||||
[CHAR_COMMA] = CHAR_COMMA,
|
||||
[CHAR_COLON] = CHAR_COLON,
|
||||
[CHAR_SEMICOLON] = CHAR_SEMICOLON,
|
||||
[CHAR_EXCL_MARK] = CHAR_EXCL_MARK,
|
||||
[CHAR_QUESTION_MARK] = CHAR_QUESTION_MARK,
|
||||
[CHAR_HYPHEN] = CHAR_HYPHEN,
|
||||
[CHAR_SLASH] = CHAR_SLASH,
|
||||
[CHAR_ELLIPSIS] = CHAR_ELLIPSIS,
|
||||
[CHAR_LEFT_PAREN] = CHAR_LEFT_PAREN,
|
||||
[CHAR_RIGHT_PAREN] = CHAR_RIGHT_PAREN,
|
||||
[CHAR_AMPERSAND] = CHAR_AMPERSAND,
|
||||
[CHAR_DBL_QUOTE_LEFT] = CHAR_DBL_QUOTE_LEFT,
|
||||
[CHAR_DBL_QUOTE_RIGHT] = CHAR_DBL_QUOTE_RIGHT,
|
||||
[CHAR_SGL_QUOTE_LEFT] = CHAR_SGL_QUOTE_LEFT,
|
||||
[CHAR_SGL_QUOTE_RIGHT] = CHAR_SGL_QUOTE_RIGHT,
|
||||
[CHAR_MASCULINE_ORDINAL] = CHAR_MASCULINE_ORDINAL,
|
||||
[CHAR_FEMININE_ORDINAL] = CHAR_FEMININE_ORDINAL,
|
||||
[CHAR_BULLET] = CHAR_BULLET,
|
||||
[CHAR_EQUALS] = CHAR_EQUALS,
|
||||
[CHAR_MULT_SIGN] = CHAR_MULT_SIGN,
|
||||
[CHAR_PERCENT] = CHAR_PERCENT,
|
||||
[CHAR_LESS_THAN] = CHAR_LESS_THAN,
|
||||
[CHAR_GREATER_THAN] = CHAR_GREATER_THAN,
|
||||
[CHAR_MALE] = CHAR_MALE,
|
||||
[CHAR_FEMALE] = CHAR_FEMALE,
|
||||
[CHAR_CURRENCY] = CHAR_CURRENCY,
|
||||
[CHAR_BLACK_TRIANGLE] = CHAR_BLACK_TRIANGLE,
|
||||
};
|
||||
|
||||
const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = {
|
||||
|
||||
Reference in New Issue
Block a user