sm64/data/Basic/alphabet.sou
2022-12-04 22:27:02 -05:00

433 lines
23 KiB
Plaintext

/********************************************************************************
Ultra 64 MARIO Brothers
alphabet shape data module
Copyright 1995 Nintendo co., ltd. All rights reserved
December 12, 1995
********************************************************************************/
#if ENGLISH
#include "Font/alphabet16b_ENG.h"
#include "Font/alphabet88.h"
#include "Font/alphabet4b.h"
#include "Font/cam_icon.h"
#elif CHINA
#include "Font/alphabet16b_zh.h"
#include "Font/alphabet88.h"
#include "Font/alphabet4b_zh.h"
#include "Font/cam_icon.h"
#else
#include "Font/alphabet16b.h"
#include "Font/alphabet88.h"
#include "Font/english.h"
#include "Font/hiragana.h"
#include "Font/katakana.h"
#include "Font/cam_icon.h"
#endif
#define G_CC_MODULATECOL TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0
#define G_CC_SHADECOL SHADE, 0, ENVIRONMENT, 0, SHADE, 0, ENVIRONMENT, 0
/********************************************************************************/
/* Alphabet Pointer for dprintf */
/********************************************************************************/
#if ENGLISH
unsigned short *texDataPtr[] = {
a0n_txt, a1n_txt, a2n_txt, a3n_txt, a4n_txt, a5n_txt, a6n_txt, a7n_txt, a8n_txt, a9n_txt, A_txt , B_txt , C_txt , D_txt , E_txt , F_txt ,
G_txt , H_txt , I_txt , NULL, K_txt , L_txt , M_txt , N_txt , O_txt , P_txt , NULL, R_txt , S_txt , T_txt , U_txt , NULL,
W_txt , NULL , Y_txt , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, batu_txt, coin_icon_txt, mario_icon_txt, star_coin_icon_txt, NULL, NULL, l_ten1_txt , l_ten2_txt,
};
#elif CHINA
unsigned short *texDataPtr[] = {
a0n_txt, a1n_txt, a2n_txt, a3n_txt, a4n_txt, a5n_txt, a6n_txt, a7n_txt, a8n_txt, a9n_txt, A_txt , B_txt , C_txt , D_txt , E_txt , F_txt ,
G_txt , H_txt , I_txt , NULL, K_txt , L_txt , M_txt , N_txt , O_txt , P_txt , NULL, R_txt , S_txt , T_txt , U_txt , NULL,
W_txt , NULL , Y_txt , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, batu_txt, coin_icon_txt, mario_icon_txt, star_coin_icon_txt, NULL, NULL, l_ten1_txt , l_ten2_txt,
c_0_0_txt, c_0_1_txt, c_0_2_txt, c_0_3_txt,
c_1_0_txt, c_1_1_txt, c_1_2_txt, c_1_3_txt,
c_2_0_txt, c_2_1_txt, c_2_2_txt, c_2_3_txt,
c_3_0_txt, c_3_1_txt, c_3_2_txt, c_3_3_txt,
c_4_0_txt, c_4_1_txt, c_4_2_txt, c_4_3_txt,
c_5_0_txt, c_5_1_txt, c_5_2_txt, c_5_3_txt,
c_6_0_txt, c_6_1_txt, c_6_2_txt, c_6_3_txt,
c_7_0_txt, c_7_1_txt, c_7_2_txt, c_7_3_txt,
c_8_0_txt, c_8_1_txt, c_8_2_txt, c_8_3_txt,
c_9_0_txt, c_9_1_txt, c_9_2_txt, c_9_3_txt,
c_10_0_txt, c_10_1_txt, c_10_2_txt, c_10_3_txt,
c_11_0_txt, c_11_1_txt, c_11_2_txt, c_11_3_txt,
c_12_0_txt, c_12_1_txt, c_12_2_txt, c_12_3_txt,
c_13_0_txt, c_13_1_txt, c_13_2_txt, c_13_3_txt,
c_14_0_txt, c_14_1_txt, c_14_2_txt, c_14_3_txt,
c_15_0_txt, c_15_1_txt, c_15_2_txt, c_15_3_txt,
c_16_0_txt, c_16_1_txt, c_16_2_txt, c_16_3_txt,
c_17_0_txt, c_17_1_txt, c_17_2_txt, c_17_3_txt,
c_18_0_txt, c_18_1_txt, c_18_2_txt, c_18_3_txt,
c_19_0_txt, c_19_1_txt, c_19_2_txt, c_19_3_txt,
c_20_0_txt, c_20_1_txt, c_20_2_txt, c_20_3_txt,
c_21_0_txt, c_21_1_txt, c_21_2_txt, c_21_3_txt,
c_22_0_txt, c_22_1_txt, c_22_2_txt, c_22_3_txt,
c_23_0_txt, c_23_1_txt, c_23_2_txt, c_23_3_txt,
c_24_0_txt, c_24_1_txt, c_24_2_txt, c_24_3_txt,
c_25_0_txt, c_25_1_txt, c_25_2_txt, c_25_3_txt,
c_26_0_txt, c_26_1_txt, c_26_2_txt, c_26_3_txt,
c_27_0_txt, c_27_1_txt, c_27_2_txt, c_27_3_txt,
c_28_0_txt, c_28_1_txt, c_28_2_txt, c_28_3_txt,
c_29_0_txt, c_29_1_txt, c_29_2_txt, c_29_3_txt,
c_30_0_txt, c_30_1_txt, c_30_2_txt, c_30_3_txt,
/*
c_31_0_txt, c_31_1_txt, c_31_2_txt, c_31_3_txt,
c_32_0_txt, c_32_1_txt, c_32_2_txt, c_32_3_txt,
c_33_0_txt, c_33_1_txt, c_33_2_txt, c_33_3_txt,
c_34_0_txt, c_34_1_txt, c_34_2_txt, c_34_3_txt,
c_35_0_txt, c_35_1_txt, c_35_2_txt, c_35_3_txt,
c_36_0_txt, c_36_1_txt, c_36_2_txt, c_36_3_txt,
c_37_0_txt, c_37_1_txt, c_37_2_txt, c_37_3_txt,
c_38_0_txt, c_38_1_txt, c_38_2_txt, c_38_3_txt,
c_39_0_txt, c_39_1_txt, c_39_2_txt, c_39_3_txt,
c_40_0_txt, c_40_1_txt, c_40_2_txt, c_40_3_txt,
c_41_0_txt, c_41_1_txt, c_41_2_txt, c_41_3_txt,
c_42_0_txt, c_42_1_txt, c_42_2_txt, c_42_3_txt,
c_43_0_txt, c_43_1_txt, c_43_2_txt, c_43_3_txt,
*/
};
#else
unsigned short *texDataPtr[] = {
a0n_txt, a1n_txt, a2n_txt, a3n_txt, a4n_txt, a5n_txt, a6n_txt, a7n_txt, a8n_txt, a9n_txt, A_txt , B_txt , C_txt , D_txt , E_txt , F_txt ,
G_txt , H_txt , I_txt , J_txt , K_txt , L_txt , M_txt , N_txt , O_txt , P_txt , Q_txt , R_txt , S_txt , T_txt , U_txt , V_txt ,
W_txt , X_txt , Y_txt , Z_txt , bikuri_txt, Wbikuri_txt, question_txt , and_txt, per_cent_txt , NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, batu_txt, coin_icon_txt, mario_icon_txt, star_coin_icon_txt, coin_shadow_icon_txt, key_icon_txt, l_ten1_txt , l_ten2_txt,
};
#endif
/********************************************************************************/
/* Font Pointer for Message */
/********************************************************************************/
#if ENGLISH
unsigned char* MessTexDataPtr[] = {
m_0_txt, m_1_txt, m_2_txt, m_3_txt, m_4_txt, m_5_txt, m_6_txt, m_7_txt, m_8_txt, m_9_txt, m_A_txt, m_B_txt, m_C_txt, m_D_txt, m_E_txt, m_F_txt,
m_G_txt, m_H_txt, m_I_txt, m_J_txt, m_K_txt, m_L_txt, m_M_txt, m_N_txt, m_O_txt, m_P_txt, m_Q_txt, m_R_txt, m_S_txt, m_T_txt, m_U_txt, m_V_txt,
m_W_txt, m_X_txt, m_Y_txt, m_Z_txt, ms_a_txt, ms_b_txt, ms_c_txt, ms_d_txt, ms_e_txt, ms_f_txt, ms_g_txt, ms_h_txt, ms_i_txt, ms_j_txt, ms_k_txt, ms_l_txt,
ms_m_txt, ms_n_txt, ms_o_txt, ms_p_txt, ms_q_txt, ms_r_txt, ms_s_txt, ms_t_txt, ms_u_txt, ms_v_txt, ms_w_txt, ms_x_txt, ms_y_txt, ms_z_txt, m_pyon2_txt,m_period_txt,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
m_up_txt, m_down_txt, m_left_txt, m_right_txt, m_A2_txt, m_B2_txt, m_C2_txt, m_Z2_txt, m_R2_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, m_pyon_txt,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, m_bar_txt,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL,m_kakko_l_txt, m_kakko_lr_txt, m_kakko_r_txt, m_LR_txt, m_and_txt, m_tenten3_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, m_bikuri_txt, m_persent_txt, m_question_txt, m_tenten1_txt, m_tenten2_txt, m_mimizu_txt, NULL, m_coin_txt, m_star_txt,m_kakeru_txt, m_point_txt,m_star2_txt, NULL, NULL,
};
#elif CHINA
#include "../../i10n/assets/zh/zh_msg.idx"
#else
unsigned short* MessTexDataPtr[] = {
zero_txt, one_txt, two_txt, three_txt, four_txt, five_txt, six_txt, seven_txt, eight_txt, nine_txt, aA_txt, aB_txt, aC_txt, aD_txt, aE_txt, aF_txt,
aG_txt, aH_txt, aI_txt, aJ_txt, aK_txt, aL_txt, aM_txt, aN_txt, aO_txt, aP_txt, aQ_txt, aR_txt, aS_txt, aT_txt, aU_txt, aV_txt,
aW_txt, aX_txt, aY_txt, aZ_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
a_txt, i_txt, u_txt, e_txt, o_txt, ka_txt, ki_txt, ku_txt, ke_txt, ko_txt, sa_txt, si_txt, su_txt, se_txt, so_txt, ta_txt,
ti_txt, tu_txt, te_txt, to_txt, na_txt, ni_txt, nu_txt, ne_txt, no_txt, ha_txt, hi_txt, hu_txt, he_txt, ho_txt, ma_txt, mi_txt,
mu_txt, me_txt, mo_txt, ya_txt, yu_txt, yo_txt, ra_txt, ri_txt, ru_txt, re_txt, ro_txt, wa_txt, wo_txt, n_txt, NULL, toten_txt,
k_a_txt, k_i_txt, k_u_txt, k_e_txt, k_o_txt, k_ka_txt, k_ki_txt, k_ku_txt, k_ke_txt, k_ko_txt, k_sa_txt, k_si_txt, k_su_txt, k_se_txt, k_so_txt, k_ta_txt,
k_ti_txt, k_tu_txt, k_te_txt, k_to_txt, k_na_txt, k_ni_txt, k_nu_txt, k_ne_txt, k_no_txt, k_ha_txt, k_hi_txt, k_hu_txt, k_he_txt, k_ho_txt, k_ma_txt, k_mi_txt,
k_mu_txt, k_me_txt, k_mo_txt, k_ya_txt, k_yu_txt, k_yo_txt, k_ra_txt, k_ri_txt, k_ru_txt, k_re_txt, k_ro_txt, k_wa_txt, NULL, k_n_txt, NULL, k_bar_txt,
s_e_txt, s_tu_txt, s_ya_txt, s_yu_txt, s_yo_txt, s_a_txt, s_i_txt, s_u_txt, s_o_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
k_s_e_txt, k_s_tu_txt, k_s_ya_txt, k_s_yu_txt, k_s_yo_txt, k_s_a_txt, k_s_i_txt, k_s_u_txt, k_s_o_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL,kakko_l_txt, kakko_lr_txt, kakko_r_txt, LR_txt, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
daku_txt, maru_txt, mes_bikuri_txt,mes_percent_txt, mes_question_txt, kakkoA_txt, kakkoB_txt, kara_txt, tenten_txt, mes_coin_txt, mes_star_txt,mes_kake_txt, point_txt,m_shstar_txt, NULL, NULL,
};
#endif
/********************************************************************************/
/* small Color Font Pointer for Ending */
/********************************************************************************/
unsigned short* s88ColfontPtr[] = {
NULL, NULL, NULL, sg_3_txt, sg_4_txt, NULL, sg_6_txt, NULL, NULL, NULL, sag_A_txt, sag_B_txt, sag_C_txt, sag_D_txt, sag_E_txt, sag_F_txt,
sag_G_txt, sag_H_txt, sag_I_txt, sag_J_txt, sag_K_txt, sag_L_txt, sag_M_txt, sag_N_txt, sag_O_txt, sag_P_txt, sag_Q_txt, sag_R_txt, sag_S_txt, sag_T_txt, sag_U_txt, sag_V_txt,
sag_W_txt, sag_X_txt, sag_Y_txt, sag_Z_txt, sag_ten_txt,
};
/********************************************************************************/
/* Camera Icon ImageData List */
/********************************************************************************/
unsigned short* camIconPtr[] = {
camera_txt,mario_icon_txt,jugem_icon_txt,stop_icon_txt,sankaku_up_txt,sankaku_down_txt
};
/********************************************************************************/
/* Message Data List */
/********************************************************************************/
#if ENGLISH
#include "Font/semess_data.h"
#include "Font/mess_data_ENG.h"
#include "Font/coursename_ENG.h"
#include "Font/star_name_ENG.h"
#elif CHINA
#include "Font/semess_data.h"
#include "Font/mess_data_zh.h"
#include "Font/coursename_zh.h"
#include "Font/star_name_zh.h"
#else
#include "Font/semess_data.h"
#include "Font/mess_data.h"
#include "Font/coursename.h"
#include "Font/star_name.h"
#endif
/********************************************************************************/
/********************************************************************************/
/* Texture Font Gfx List. (Iwamoto) */
/********************************************************************************/
static long long alphabet_patch_0 = 0;
/*============================ CopyMode Copy===========================================*/
extern Gfx RCP_tfont_on[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_COPY), // <--- This is copy mode !!
gsDPSetTexturePersp(G_TP_NONE), // <--- Necessary G_TP_NONE !!
gsDPSetAlphaCompare(G_AC_THRESHOLD), // <--- Necessary in Alpha for CopyMode
gsDPSetBlendColor(255,255,255,255),
// gsDPSetRenderMode(G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2), // Must not use ZB !!
gsDPSetRenderMode(G_RM_NOOP,G_RM_NOOP2), //All NONE!!
gsSPEndDisplayList()
};
extern Gfx RCP_tfont_main[] = {
gsxDPLoadTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR,
4,4, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList()
};
extern Gfx RCP_tfont_off[] = {
gsDPPipeSync(),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetCycleType(G_CYC_1CYCLE),
gsSPEndDisplayList()
};
/*======================================================================================*/
/*============================ 1cycle Mode===========================================*/
extern Gfx RCP_tfont2_on[] = {
gsDPPipeSync(),
gsDPSetTexturePersp(G_TP_NONE), // <--- Necessary G_TP_NONE !!
gsDPSetCombineMode(G_CC_MODULATECOL, G_CC_MODULATECOL),
gsDPSetEnvColor(255,255,255,255),
gsDPSetRenderMode(G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2), // Must not use ZB !!
gsDPSetTextureFilter(G_TF_POINT),
gsSPEndDisplayList()
};
extern Gfx RCP_tfont2_main[] = {
gsxDPLoadTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR,
4,4, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList()
};
extern Gfx RCP_tfont2_off[] = {
gsDPPipeSync(),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetEnvColor(255,255,255,255),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsSPEndDisplayList()
};
/*======================================================================================*/
/******************************************************************************************
Message Window
******************************************************************************************/
static Vtx vtx_mess[] = {
{ 0 , -80 , 0, 0 , 0 , 0, 255, 255, 255, 255},
{ 130 , -80 , 0, 0 , 0 , 0, 255, 255, 255, 255},
{ 130 , 0 , 0, 0 , 0 , 0, 255, 255, 255, 255},
{ 0 , 0 , 0, 0 , 0 , 0, 255, 255, 255, 255},
};
extern Gfx RCP_Mess_window[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_SHADECOL, G_CC_SHADECOL),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsSPVertex(&vtx_mess[0], 4, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSPEndDisplayList()
};
/******************************************************************************************
Message Font
******************************************************************************************/
#if ENGLISH || CHINA
#define gsxDPLoadTextureImage_4b(fmt, siz, width, height, pal, \
cms, cmt, masks, maskt, shifts, shiftt) \
\
gsDPSetTile(fmt, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0 , cmt, \
maskt, shiftt, cms, masks, shifts), \
gsDPLoadSync(), \
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (((width)*(height)+3)>>2)-1, \
CALC_DXT_4b(width)), \
gsDPSetTile(fmt, G_IM_SIZ_4b, ((((width)>>1)+7)>>3), 0, \
G_TX_RENDERTILE, pal, cmt, maskt, shiftt, cms, masks, \
shifts), \
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, \
((width)-1) << G_TEXTURE_IMAGE_FRAC, \
((height)-1) << G_TEXTURE_IMAGE_FRAC)
static Vtx vtx_mess_font[] = {
{ 0 , 0 , 0, 0 , 0, (8 << 5), 255,255,255,255},
{ 8 , 0 , 0, 0 , 0, 0, 255,255,255,255},
{ 8 , 16 , 0, 0 , (16 << 5), 0, 255,255,255,255},
{ 0 , 16 , 0, 0 , (16 << 5), (8 << 5), 255,255,255,255},
};
extern Gfx RCP_mess_font_on[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_MODULATECOL, G_CC_MODULATECOL),
gsDPSetEnvColor(255,255,255,255),
gsDPSetRenderMode(G_RM_XLU_SURF,G_RM_XLU_SURF2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPTexture(0xffff, 0xffff, 0, G_TX_RENDERTILE, G_ON),
gsSPEndDisplayList()
};
extern Gfx RCP_mess_font_main[] = {
gsxDPLoadTextureImage_4b(G_IM_FMT_IA, G_IM_SIZ_16b, 16, 8, 0,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR,
4,3, G_TX_NOLOD, G_TX_NOLOD),
gsSPVertex(&vtx_mess_font[0], 4, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSPEndDisplayList()
};
extern Gfx RCP_mess_font_off[] = {
gsDPPipeSync(),
gsSPTexture(0xffff, 0xffff, 0, 0, 0),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetEnvColor(255,255,255,255),
gsSPSetGeometryMode(G_SHADING_SMOOTH|G_LIGHTING),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList()
};
#else
static Vtx vtx_mess_font[] = {
{ 0 , 0 , 0, 0 , 0, (16 << 6), 255,255,255,255},
{ 8 , 0 , 0, 0 , (8 << 6), (16 << 6), 255,255,255,255},
{ 8 , 16 , 0, 0 , (8 << 6), 0, 255,255,255,255},
{ 0 , 16 , 0, 0 , 0, 0, 255,255,255,255},
};
extern Gfx RCP_mess_font_on[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_MODULATECOL, G_CC_MODULATECOL),
gsDPSetEnvColor(255,255,255,255),
gsDPSetRenderMode(G_RM_XLU_SURF,G_RM_XLU_SURF2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
gsSPEndDisplayList()
};
extern Gfx RCP_mess_font_main[] = {
gsxDPLoadTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, 8, 16, 0,
G_TX_CLAMP | G_TX_NOMIRROR, G_TX_CLAMP | G_TX_NOMIRROR,
3,4, G_TX_NOLOD, G_TX_NOLOD),
gsSPVertex(&vtx_mess_font[0], 4, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSPEndDisplayList()
};
extern Gfx RCP_mess_font_off[] = {
gsDPPipeSync(),
gsSPTexture(0xffff, 0xffff, 0, 0, 0),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetEnvColor(255,255,255,255),
gsSPSetGeometryMode(G_SHADING_SMOOTH|G_LIGHTING),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList()
};
#endif
/******************************************************************************************
Message cursor
******************************************************************************************/
static Vtx vtx_mess_cursor[] = {
{ 0 , 0 , 0, 0 , 0 , 0 , 255,255,255,255},
{ 8 , 8 , 0, 0 , 0 , 0 , 255,255,255,255},
{ 0 , 16 , 0, 0 , 0 , 0 , 255,255,255,255},
};
extern Gfx RCP_mess_cursor[] = {
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_SHADECOL, G_CC_SHADECOL),
gsDPSetRenderMode(G_RM_XLU_SURF,G_RM_XLU_SURF2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPVertex(&vtx_mess_cursor[0], 3, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSPSetGeometryMode(G_LIGHTING),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList()
};