/*
	テクスチャ
*/
#include	<ultra64.h>
#include	"../../ot_header.h"
#include	"../../kn_def.h"

#include  	"../../tex_data/cpack/nos_font.tex"	/* フォント */

#include	"jf_me_1.tex"
#include	"jf_me_2.tex"
#include	"jf_me_3.tex"
#include	"jf_me_4.tex"
#include	"jf_me_5.tex"
#include	"jf_me_6.tex"

#include	"../../tex_data/cpack/jf_0.tex"
#include	"../../tex_data/cpack/jf_1.tex"
#include	"../../tex_data/cpack/jf_2.tex"
#include	"../../tex_data/cpack/jf_3.tex"
#include	"../../tex_data/cpack/jf_4.tex"
#include	"../../tex_data/cpack/jf_5.tex"
#include	"../../tex_data/cpack/jf_6.tex"
#include	"../../tex_data/cpack/jf_7.tex"
#include	"../../tex_data/cpack/jf_8.tex"
#include	"../../tex_data/cpack/jf_9.tex"

#include	"../../tex_data/cpack/pack_5.tex"
#include	"../../tex_data/cpack/pack_4.tex"
#include	"../../tex_data/cpack/pack_3.tex"
#include	"../../tex_data/cpack/pack_2.tex"
#include	"../../tex_data/cpack/pack_1.tex"

static Vp vp = {
	SCREEN_WD_HI*2, SCREEN_HT_HI*2, G_MAXZ/2, 0,	/* scale */
	SCREEN_WD_HI*2, SCREEN_HT_HI*2, G_MAXZ/2, 0,	/* translate */
} ;

/* =========================================================================*/
/*
	フレームバッファのクリア
*/
Gfx dlClearFBufferHi[] = {
	gsSPClearGeometryMode( 0xffffffff ),
	gsSPSetGeometryMode( G_SHADE ),
    gsSPTexture( 0, 0, 0, 0, G_OFF ),
    gsDPPipeSync(),
	gsDPSetCycleType( G_CYC_FILL ),
	gsDPSetCombineMode( G_CC_DECALRGBA, G_CC_DECALRGBA ),
	gsDPSetRenderMode( G_RM_NOOP, G_RM_NOOP2 ),
	gsDPSetAlphaCompare( G_AC_NONE ),
	gsDPSetScissor( G_SC_NON_INTERLACE, 0, 0, SCREEN_WD_HI-1, SCREEN_HT_HI-1 ),

	gsDPSetFillColor( (GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1)) ),
//	gsDPFillRectangle( 0, 0, SCREEN_WD_HI-1, SCREEN_HT_HI-1 ),
	gsDPFillRectangle( 124, 134, 124+192-1, 134+44-1 ),
	gsDPFillRectangle( 322, 134, 322+192-1, 134+44-1 ),
	gsDPFillRectangle( 124, 394, 124+192-1, 394+44-1 ),
	gsDPFillRectangle( 322, 394, 322+192-1, 394+44-1 ),
	gsSPEndDisplayList()
};

/* =========================================================================*/
/*
	BG
*/
Gfx dlCPackBG[] = {
	/***********************************************************************
	 	Setting RSP
	************************************************************************/
	gsSPClearGeometryMode( 0xffffffff ),
	gsSPSetGeometryMode( G_SHADE ),
	gsSPViewport( &vp ),
	gsSPTexture( 0x8000, 0x8000, G_TX_RENDERTILE, 0, G_ON ),
	/***********************************************************************
	 	Setting RDP
	************************************************************************/
	gsDPPipeSync(),
	gsDPSetCycleType( G_CYC_COPY ),
	gsDPSetRenderMode( G_RM_NOOP, G_RM_NOOP2 ),
	gsDPSetCombineMode( G_CC_DECALRGBA, G_CC_DECALRGBA ),
	gsDPSetAlphaCompare( G_AC_NONE ),
	
	gsDPSetTextureLOD( G_TL_TILE ),
	gsDPSetTextureLUT( G_TT_NONE ),
	gsDPSetTextureDetail( G_TD_CLAMP ),
	gsDPSetTexturePersp( G_TP_NONE ),
	gsDPSetTextureFilter( G_TF_POINT ),
	gsDPSetTextureConvert( G_TC_FILT ),

	/* pack 4 */
	#define TEX_PACK4_WD	180
	#define TEX_PACK4_HT	11
	#define SX_PACK4_0		130
	#define SY_PACK4_0		140
	#define SX_PACK4_1		328
	#define SY_PACK4_1		140
	#define SX_PACK4_2		130
	#define SY_PACK4_2		400
	#define SX_PACK4_3		328
	#define SY_PACK4_3		400
	
	gsDPLoadTextureBlock( texPack4 + TEX_PACK4_WD * TEX_PACK4_HT * 0,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK4_WD, TEX_PACK4_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK4_0) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 0) << 2,
		(SX_PACK4_0 + TEX_PACK4_WD-1) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 0 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 0) << 2,
		(SX_PACK4_1 + TEX_PACK4_WD-1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 0 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_2) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 0) << 2,
		(SX_PACK4_2 + TEX_PACK4_WD-1) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 0 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_3) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 0) << 2,
		(SX_PACK4_3 + TEX_PACK4_WD-1) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 0 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),

	gsDPLoadTextureBlock( texPack4 + TEX_PACK4_WD * TEX_PACK4_HT * 1,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK4_WD, TEX_PACK4_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK4_0) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 1) << 2,
		(SX_PACK4_0 + TEX_PACK4_WD-1) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 1 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 1) << 2,
		(SX_PACK4_1 + TEX_PACK4_WD-1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 1 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_2) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 1) << 2,
		(SX_PACK4_2 + TEX_PACK4_WD-1) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 1 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_3) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 1) << 2,
		(SX_PACK4_3 + TEX_PACK4_WD-1) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 1 + TEX_PACK4_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	
	gsDPLoadTextureBlock( texPack4 + TEX_PACK4_WD * TEX_PACK4_HT * 2,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK4_WD, 10,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK4_0) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 2) << 2,
		(SX_PACK4_0 + TEX_PACK4_WD-1) << 2, (SY_PACK4_0 + TEX_PACK4_HT * 2 + 10-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 2) << 2,
		(SX_PACK4_1 + TEX_PACK4_WD-1) << 2, (SY_PACK4_1 + TEX_PACK4_HT * 2 + 10-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_2) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 2) << 2,
		(SX_PACK4_2 + TEX_PACK4_WD-1) << 2, (SY_PACK4_2 + TEX_PACK4_HT * 2 + 10-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsSPTextureRectangle(
		(SX_PACK4_3) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 2) << 2,
		(SX_PACK4_3 + TEX_PACK4_WD-1) << 2, (SY_PACK4_3 + TEX_PACK4_HT * 2 + 10-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	
	/* pack 5 */
	#define TEX_PACK5_WD	512
	#define TEX_PACK5_HT	4
	#define SX_PACK5		64
	#define SY_PACK5			50
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 0,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 0) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 0 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 1,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 1) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 1 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 2,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 2) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 2 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 3,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 3) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 3 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 4,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 4) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 4 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 5,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 5) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 5 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 6,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 6) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 6 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 7,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 7) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 7 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 8,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 8) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 8 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 9,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 9) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 9 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 10,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 10) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 10 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 11,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 11) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 11 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 12,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 12) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 12 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 13,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 13) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 13 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 14,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 14) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 14 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 15,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 15) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 15 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 16,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 16) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 16 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 17,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 17) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 17 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 18,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 18) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 18 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack5 + TEX_PACK5_WD * TEX_PACK5_HT * 19,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK5_WD, TEX_PACK5_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK5) << 2					, (SY_PACK5 + TEX_PACK5_HT * 19) << 2,
		(SX_PACK5 + TEX_PACK5_WD-1) << 2, (SY_PACK5 + TEX_PACK5_HT * 19 + TEX_PACK5_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),

	gsSPEndDisplayList()
};

Gfx dlCPackBG2[] = {
	/* pack 1 */
	#define TEX_PACK1_WD	512
	#define TEX_PACK1_HT	4
	#define SX_PACK1		64
	#define SY_PACK1		182
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 0,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2,
		(SY_PACK1 + TEX_PACK1_HT * 0) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2,
		(SY_PACK1 + TEX_PACK1_HT * 0 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 1,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 1) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 1 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 2,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 2) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 2 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 3,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 3) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 3 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 4,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 4) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 4 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 5,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 5) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 5 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 6,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 6) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 6 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 7,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 7) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 7 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 8,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 8) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 8 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 9,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 9) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 9 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 10,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 10) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 10 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 11,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 11) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 11 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 12,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 12) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 12 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 13,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, TEX_PACK1_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 13) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 13 + TEX_PACK1_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack1 + TEX_PACK1_WD * TEX_PACK1_HT * 14,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK1_WD, 2,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK1) << 2					, (SY_PACK1 + TEX_PACK1_HT * 14) << 2,
		(SX_PACK1 + TEX_PACK1_WD-1) << 2, (SY_PACK1 + TEX_PACK1_HT * 14 + 2-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	
	/* pack 2 */
	#define TEX_PACK2_WD	512
	#define TEX_PACK2_HT	4
	#define SX_PACK2		64
	#define SY_PACK2		360
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 0,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 0) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 0 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 1,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 1) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 1 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 2,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 2) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 2 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 3,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 3) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 3 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 4,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 4) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 4 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 5,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 5) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 5 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 6,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, TEX_PACK2_HT,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 6) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 6 + TEX_PACK2_HT-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	gsDPLoadTextureBlock( texPack2 + TEX_PACK2_WD * TEX_PACK2_HT * 7,
		G_IM_FMT_RGBA, G_IM_SIZ_16b,
		TEX_PACK2_WD, 2,	0,
		G_TX_CLAMP, G_TX_CLAMP,
		G_TX_NOMASK, G_TX_NOMASK,
		G_TX_NOLOD, G_TX_NOLOD ),
	gsSPTextureRectangle(
		(SX_PACK2) << 2					, (SY_PACK2 + TEX_PACK2_HT * 7) << 2,
		(SX_PACK2 + TEX_PACK2_WD-1) << 2, (SY_PACK2 + TEX_PACK2_HT * 7 + 2-1) << 2,
		G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10 ),
	
	gsSPEndDisplayList()
};

/* =========================================================================*/
Gfx	dlCPackInitBG[] = {
	gsDPPipeSync(),
	gsDPSetCycleType( G_CYC_COPY ),
	gsDPSetRenderMode( G_RM_NOOP, G_RM_NOOP2 ),
	gsDPSetCombineMode( G_CC_DECALRGBA, G_CC_DECALRGBA ),
	gsDPSetAlphaCompare( G_AC_NONE ),
	
	gsSPEndDisplayList()
};
Gfx	dlCPackInitLetter[] = {
	gsDPPipeSync(),
	gsDPSetCycleType( G_CYC_1CYCLE ),
	gsDPSetRenderMode( G_RM_XLU_SURF, G_RM_XLU_SURF2 ),
	gsDPSetCombineMode( G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM ),
	
	gsSPEndDisplayList()
};



/* =========================================================================*/
/* =========================================================================*/
