/* * Static Display lists to make drawing related settings * * Usage within dynamic glist: gSPDisplayList(glistp++, SmokeOnly_dl); * * Remember, glists are arrays of type Gfx where each element is a command * Differnece between Static (gs) and Dynamic (g) * Static: * Defined at compile-time * Exact Fixed legnth * Cannot be altered * Faster than Dynamic (Render time equal) * Dynamic: * Defined at run-time * Points to Pre-Defined Reserved Memory * Written to Reserved Memory 1 cmd at a time, each can be changed before writing. * Must be executed before Reserved Memory filled. * * Arrays could be part of a 2D array rather than seperate but they could also be in a pointer array * where pointer[0] = SmokeOnly_DL; * pointert[1] = SmokeFire1_dl; etc * then called within each explosion as such * * DrawExplosion() * { * Gfx *Setup_SmokeFire[] = {SmokeFire1_dl[], smokefire2_dl[], ... SmokeOnly_dl[],}; * for ( i = 0; i < 16; i++ ) * { * gSPDisplayList(glistp++, Setup_SmokeFire[i]); * //Load vertices * //draw triangles with transforms * } * } */ static Gfx SmokeOnly_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*BA 00 14 02 00 00 00 00*/ gsDPSetCycleType(G_CYC_1CYCLE), /*B9 00 03 1D 00 50 4B 50*/ gsDPSetRenderMode(G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 12 18 24 FF 33 FF FF*/ gsDPSetCombineMode(MODULATERGBA), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /* [AB CD 08 3A] A = mirror of 0 therefor 0BCD 0xxx = CartDomain2/SRAM. Actually we know GE uses a list of ID's that point to textures 083A points to ROM B30970 According to Zoinkity though, ABCD is handled specially by some code - could be the same thing. */ /*FD 70 00 00 AB CD 08 3A*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 83a"), //83A B30970 (00), 38 38 Size 05ED [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(),//load texture as 16bits /* * Remember that ult uls lrs lrt are all 10.2 bit, that is 11 1111 1111.11 (1023.75) * ult and ulr are usually 0 for texture load while lrs and lrt are used for clamp only to indicate the "end" of texture * * Couldnt reconcile 10.2 equaling -1024 to 123.99, however, Texture load is 10.2 (0 to 1023.75) and Vertex Co-Ord is s10.5 (-1024 to 1023.99) * now it makes sence * * Dxt is the inverse (1/n) of the number of 64-bit words in a line of * the texture being loaded using the load_block command. * In other words, dxt is how much fraction of 1 line each word occupies * Since 56 x8bit is 7 words, 1/7 = 0.143 * If there are any 1's to the right of the 11th fractional bit, * dxt should be rounded up. The following macros accomplish * this. The 4b macros are a special case since 4-bit textures * are loaded as 8-bit textures. Dxt is fixed point 1.11. RJM * * Update TMEM doc on GEForever forum G_TX_DXT_FRAC = 11 #define TXL2WORDS(txls, b_txl) MAX(1, ((txls)*(b_txl)/8)) #define CALC_DXT(width, b_txl) \ (((1 << G_TX_DXT_FRAC) + TXL2WORDS(width, b_txl) - 1) / TXL2WORDS(width, b_txl)) gDPLoadBlock(pkt, G_TX_LOADTILE, 0, 0, \ (((width)*(height) + siz##_INCR) >> siz##_SHIFT) -1,\ //INCR = 3,1,0,0 and SHIFT = 2,1,0,0 at 4,8,16,32 bit CALC_DXT(width, siz##_BYTES)); //_BYTES = 0,1,2 or 4 at 4,8,16 and 32bit respectivly * * 61F = 0110000111.11 = 391.75 ? doesnt matter, using calc above works * 125 = 0.00100100101 = 0.14306640625 = 7 words per line * Handy calculator of dxt is (float)dxt / (float) (1 << 11) * 125 = 293 / 2048 = 0.14306640625 * * Original dxt Number was (2048 + ((64*1)/8) - 1) / ((64*1)/8) = 293 * Aha! this function creats an integer, bit-shift again and we get 0.143 as expected * Also, lets update the definition of dxt, dxt is how much fraction of 1 line each word occupies * Since 56 is 7 words, 1/7 = 0.143 * what an awfull system, no wonder they expected people to use LoadTextureBlock() instead. */ /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), //now set correct values, 8bit IA 56x56 (mask=64x64), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), //"Re-square" the loadblock command also If tile is clamp, then clamp at 55. /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire1_dl[] = { //blend tile 7 and 0 (smoke + fire), Fire MUST be 16b since cannot use TLUT /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), //used to blend tiles /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 24*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 824"), //824 B2D815 (00), 38 38 Size 0007 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 25*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 825"), //825 B2D81C (00), 10 0E Size 0008 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire2_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 28*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 0828"), //828 B2DE24 (00), 38 38 Size 03AF [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 29*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 829"), //829 B2E1D3 (00), 10 0E Size 00D1 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire3_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 32*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 832"),//832 B2F18D (00), 38 38 Size 03CB [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 33*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 833"), //833 B2F558 (00), 10 0E Size 0100 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire4_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 34*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 834"), // 834 B2F658 (00), 38 38 Size 04AC [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 35*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 835"),//835 B2FB04 (00), 10 0E Size 0112 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire5_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 36*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 836"),//836 B2FC16 (00), 38 38 Size 0555 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 37*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 837"),//837 B3016B (00), 10 0E Size 0120 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire6_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 38*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 838"),//838 B3028B(00), 38 38 Size 05B3 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 39*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 839"),//839 B3083E (00), 10 0E Size 0132 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire7_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 3A*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 83a"),//83A B30970 (00), 38 38 Size 05ED [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 3B*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 83b"),//83B B30F5D (00), 10 0E Size 0142 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire8_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 3C*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 83c"),//83C B3109F (00), 38 38 Size 05AB [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 3D*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 83d"),//83D B3164A (00), 10 0E Size 0137 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire9_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 3E*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 83e"),//83E B31781 (00), 38 38 Size 0580 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 3F*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 83f"),//83F B31D01 (00), 10 0E Size 0135 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire10_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 40*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 840"),//840 B31E36 (00), 38 38 Size 0526 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 41*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 841"),//841 B3235C (00), 10 0E Size 012D [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire11_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 26*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 826"),//826 B2D824 (00), 38 38 Size 04DD [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 27*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 827"),//827 B2DD01 (00), 10 0E Size 0123 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire12_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 2A*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 82a"),//82A B2E2A4 (00), 38 38 Size 0485 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 2B*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 82b"),//82B B2E729 (00), 10 0E Size 00FE [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire13_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 2C*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 82c"),//82C B2E827 (00), 38 38 Size 0425 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 2D*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 82d"),//82D B2EC4C (00), 10 0E Size 00DA [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire14_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 2E*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 82e"),//82E B2ED26 (00), 38 38 Size 0313 [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 2F*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 82f"),//82F B2F039 (00), 10 0E Size 0078 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; static Gfx SmokeFire15_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsDPSetCycleType(G_CYC_2CYCLE), /*B9 00 03 1D 0C 18 4B 50*/ gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_XLU_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 11 14 04 FF 13 FF FF*/ gsDPSetCombineMode(INTERFERENCE, MODULATERGBA2), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 08 30*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 830"),//830 B2F0B1 (00), 38 38 Size 00AA [Smoke 56x56x8IA] /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 61 F1 25*/ gsDPLoadBlock(7, 0, 0, ((((56*56)+1)>>1)-1), (1/7)), /*F5 68 0E 00 00 01 80 60*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 7, 0, 0, 0, G_TX_WRAP, 6, 0, G_TX_WRAP, 6, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=64tx /*F2 00 00 00 00 0D C0 DC*/ gsDPSetTileSize(0, 0, 0, 55.0, 55.0), /*FD 10 00 00 AB CD 08 31*/ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, "ABCD 831"),//831 B2F15B (00), 10 0E Size 0032 [fire 16x14x16b] /*F5 10 01 88 07 00 00 00*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 392, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 0D F2 00*/ gsDPLoadBlock(7, 0, 0, ((((14*16)+0)>>0)-1), (1/4)),// tile, uls, ult, lrs, dxt /*F5 10 09 88 01 09 0A 42*/ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 392, 1, 0, G_TX_CLAMP, 4, 2, G_TX_CLAMP, 4, 2), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=16tx /*F2 00 00 00 01 0D C0 DC*/ gsDPSetTileSize(1, 0, 0, 55.0, 55.0),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), }; //Archives Chart? Aha!, this must be the "bits" from the explosion. static Gfx Archives_Chart_dl[] = { /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*BA 00 14 02 00 00 00 00*/ gsDPSetCycleType(G_CYC_1CYCLE), /*B9 00 03 1D 00 55 20 78*/ gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF), /*BA 00 10 01 00 00 00 00*/ gsDPSetTextureLOD(G_TL_TILE), /*FC 12 18 24 FF 33 FF FF*/ gsDPSetCombineMode(MODULATERGBA), /*BB 00 00 01 FF FF FF FF*/ gsSPTexture(0, 0, 1, 0, G_ON), /*FD 70 00 00 AB CD 03 F7*/ gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 0, "ABCD 37f"), //37F 9DA98C (46), 20 20 Size 05D2 cType 7 Type 09 Colors FF [Pin-Up Chart - Archives] ? cant find it /*F5 70 00 00 07 00 00 00*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss /*E6 00 00 00 00 00 00 00*/ gsDPLoadSync(), /*F3 00 00 00 07 1F F2 00*/ gsDPLoadBlock(7, 0, 0, ((((32*32)+1)>>1)-1, (1/4)),// tile, uls, ult, lrs, dxt /*E7 00 00 00 00 00 00 00*/ gsDPPipeSync(), /*F5 68 08 00 00 01 40 50*/ gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP, 5, 0, G_TX_WRAP, 5, 0), // fmt, sz, line, tmem, tile, pal, cmt, mt, st, cms, ms, ss //mask=32tx /*F2 00 00 00 00 07 C0 7C*/ gsDPSetTileSize(0, 0, 0, 124, 124),// tile, uls, ult, lrs, lrt /*BA 00 0E 02 00 00 00 00*/ gsDPSetTextureLUT(G_TT_NONE), /*B8 00 00 00 00 00 00 00*/ gsSPEndDisplayList(), };