diff --git a/levels/ending/geo.c b/levels/ending/geo.c index 867bebb..b8e2711 100644 --- a/levels/ending/geo.c +++ b/levels/ending/geo.c @@ -21,9 +21,7 @@ const GeoLayout ending_geo_000050[] = { GEO_OPEN_NODE(), GEO_NODE_ORTHO(100), GEO_OPEN_NODE(), -#ifdef VERSION_EU GEO_BACKGROUND_COLOR(0x0001), -#endif GEO_ASM(0, geo_exec_cake_end_screen), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), diff --git a/levels/ending/leveldata.c b/levels/ending/leveldata.c index 0ea6be6..bba0a94 100644 --- a/levels/ending/leveldata.c +++ b/levels/ending/leveldata.c @@ -250,389 +250,63 @@ const Gfx dl_cake_end_screen_eu_070297D8[] = { #include "levels/ending/cake.inc.c" -// 0x07025800 - 0x07025840 -static const Vtx cake_end_vertex_07025800[] = { - {{{ 0, 220, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 220, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 240, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 240, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025840 - 0x07025880 -static const Vtx cake_end_vertex_07025840[] = { - {{{ 80, 220, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 220, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 240, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 240, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025880 - 0x070258C0 -static const Vtx cake_end_vertex_07025880[] = { - {{{ 160, 220, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 220, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 240, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 240, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070258C0 - 0x07025900 -static const Vtx cake_end_vertex_070258C0[] = { - {{{ 240, 220, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 220, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 240, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 240, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025900 - 0x07025940 -static const Vtx cake_end_vertex_07025900[] = { - {{{ 0, 200, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 200, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 220, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 220, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025940 - 0x07025980 -static const Vtx cake_end_vertex_07025940[] = { - {{{ 80, 200, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 200, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 220, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 220, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025980 - 0x070259C0 -static const Vtx cake_end_vertex_07025980[] = { - {{{ 160, 200, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 200, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 220, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 220, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070259C0 - 0x07025A00 -static const Vtx cake_end_vertex_070259C0[] = { - {{{ 240, 200, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 200, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 220, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 220, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025A00 - 0x07025A40 -static const Vtx cake_end_vertex_07025A00[] = { - {{{ 0, 180, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 180, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 200, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 200, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025A40 - 0x07025A80 -static const Vtx cake_end_vertex_07025A40[] = { - {{{ 80, 180, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 180, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 200, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 200, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025A80 - 0x07025AC0 -static const Vtx cake_end_vertex_07025A80[] = { - {{{ 160, 180, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 180, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 200, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 200, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025AC0 - 0x07025B00 -static const Vtx cake_end_vertex_07025AC0[] = { - {{{ 240, 180, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 180, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 200, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 200, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025B00 - 0x07025B40 -static const Vtx cake_end_vertex_07025B00[] = { - {{{ 0, 160, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 160, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 180, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 180, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025B40 - 0x07025B80 -static const Vtx cake_end_vertex_07025B40[] = { - {{{ 80, 160, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 160, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 180, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 180, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025B80 - 0x07025BC0 -static const Vtx cake_end_vertex_07025B80[] = { - {{{ 160, 160, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 160, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 180, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 180, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025BC0 - 0x07025C00 -static const Vtx cake_end_vertex_07025BC0[] = { - {{{ 240, 160, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 160, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 180, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 180, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025C00 - 0x07025C40 -static const Vtx cake_end_vertex_07025C00[] = { - {{{ 0, 140, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 140, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 160, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 160, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025C40 - 0x07025C80 -static const Vtx cake_end_vertex_07025C40[] = { - {{{ 80, 140, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 140, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 160, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 160, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025C80 - 0x07025CC0 -static const Vtx cake_end_vertex_07025C80[] = { - {{{ 160, 140, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 140, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 160, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 160, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025CC0 - 0x07025D00 -static const Vtx cake_end_vertex_07025CC0[] = { - {{{ 240, 140, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 140, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 160, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 160, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025D00 - 0x07025D40 -static const Vtx cake_end_vertex_07025D00[] = { - {{{ 0, 120, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 120, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 140, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 140, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025D40 - 0x07025D80 -static const Vtx cake_end_vertex_07025D40[] = { - {{{ 80, 120, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 120, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 140, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 140, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025D80 - 0x07025DC0 -static const Vtx cake_end_vertex_07025D80[] = { - {{{ 160, 120, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 120, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 140, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 140, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025DC0 - 0x07025E00 -static const Vtx cake_end_vertex_07025DC0[] = { - {{{ 240, 120, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 120, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 140, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 140, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025E00 - 0x07025E40 -static const Vtx cake_end_vertex_07025E00[] = { - {{{ 0, 100, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 100, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 120, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 120, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025E40 - 0x07025E80 -static const Vtx cake_end_vertex_07025E40[] = { - {{{ 80, 100, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 100, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 120, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 120, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025E80 - 0x07025EC0 -static const Vtx cake_end_vertex_07025E80[] = { - {{{ 160, 100, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 100, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 120, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 120, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025EC0 - 0x07025F00 -static const Vtx cake_end_vertex_07025EC0[] = { - {{{ 240, 100, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 100, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 120, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 120, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025F00 - 0x07025F40 -static const Vtx cake_end_vertex_07025F00[] = { - {{{ 0, 80, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 80, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 100, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 100, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025F40 - 0x07025F80 -static const Vtx cake_end_vertex_07025F40[] = { - {{{ 80, 80, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 80, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 100, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 100, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025F80 - 0x07025FC0 -static const Vtx cake_end_vertex_07025F80[] = { - {{{ 160, 80, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 80, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 100, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 100, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07025FC0 - 0x07026000 -static const Vtx cake_end_vertex_07025FC0[] = { - {{{ 240, 80, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 80, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 100, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 100, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026000 - 0x07026040 -static const Vtx cake_end_vertex_07026000[] = { - {{{ 0, 60, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 60, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 80, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 80, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026040 - 0x07026080 -static const Vtx cake_end_vertex_07026040[] = { - {{{ 80, 60, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 60, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 80, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 80, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026080 - 0x070260C0 -static const Vtx cake_end_vertex_07026080[] = { - {{{ 160, 60, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 60, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 80, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 80, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070260C0 - 0x07026100 -static const Vtx cake_end_vertex_070260C0[] = { - {{{ 240, 60, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 60, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 80, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 80, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026100 - 0x07026140 -static const Vtx cake_end_vertex_07026100[] = { - {{{ 0, 40, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 40, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 60, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 60, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026140 - 0x07026180 -static const Vtx cake_end_vertex_07026140[] = { - {{{ 80, 40, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 40, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 60, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 60, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026180 - 0x070261C0 -static const Vtx cake_end_vertex_07026180[] = { - {{{ 160, 40, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 40, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 60, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 60, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070261C0 - 0x07026200 -static const Vtx cake_end_vertex_070261C0[] = { - {{{ 240, 40, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 40, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 60, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 60, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026200 - 0x07026240 -static const Vtx cake_end_vertex_07026200[] = { - {{{ 0, 20, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 20, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 40, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 40, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026240 - 0x07026280 -static const Vtx cake_end_vertex_07026240[] = { - {{{ 80, 20, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 20, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 40, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 40, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026280 - 0x070262C0 -static const Vtx cake_end_vertex_07026280[] = { - {{{ 160, 20, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 20, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 40, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 40, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070262C0 - 0x07026300 -static const Vtx cake_end_vertex_070262C0[] = { - {{{ 240, 20, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 20, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 40, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 40, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026300 - 0x07026340 -static const Vtx cake_end_vertex_07026300[] = { - {{{ 0, 0, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 0, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 20, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 0, 20, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026340 - 0x07026380 -static const Vtx cake_end_vertex_07026340[] = { - {{{ 80, 0, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 0, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 20, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 80, 20, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x07026380 - 0x070263C0 -static const Vtx cake_end_vertex_07026380[] = { - {{{ 160, 0, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 0, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 20, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 160, 20, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; - -// 0x070263C0 - 0x07026400 -static const Vtx cake_end_vertex_070263C0[] = { - {{{ 240, 0, -1}, 0, { 0, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 0, -1}, 0, { 2528, 608}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 320, 20, -1}, 0, { 2528, 0}, {0xff, 0xff, 0xff, 0xff}}}, - {{{ 240, 20, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}}, -}; +#define NUM_CAKE_TEXTURES 40 +#define NUM_CAKE_TEXTURES_X 5 +#define NUM_CAKE_TEXTURES_Y (NUM_CAKE_TEXTURES / NUM_CAKE_TEXTURES_X) +#define CAKE_TEX_WIDTH (320 / NUM_CAKE_TEXTURES_X) +#define CAKE_TEX_HEIGHT (240 / NUM_CAKE_TEXTURES_Y) + +#define MAKE_RECT_VERTICES(i, startX, startY, dx, dy, starts, startt) \ + {{{2 + (((i) % NUM_CAKE_TEXTURES_X) * (CAKE_TEX_WIDTH - 1) + startX + 0), 240 - 6 - (((i) / NUM_CAKE_TEXTURES_X) * (CAKE_TEX_HEIGHT - 1) + startY + 0), -1}, 0, {(starts + 0) << 5, (startt + 0) << 5}, {0xFF, 0xFF, 0xFF, 0xFF}}},\ + {{{2 + (((i) % NUM_CAKE_TEXTURES_X) * (CAKE_TEX_WIDTH - 1) + startX + dx), 240 - 6 - (((i) / NUM_CAKE_TEXTURES_X) * (CAKE_TEX_HEIGHT - 1) + startY + 0), -1}, 0, {(starts + dx) << 5, (startt + 0) << 5}, {0xFF, 0xFF, 0xFF, 0xFF}}},\ + {{{2 + (((i) % NUM_CAKE_TEXTURES_X) * (CAKE_TEX_WIDTH - 1) + startX + 0), 240 - 6 - (((i) / NUM_CAKE_TEXTURES_X) * (CAKE_TEX_HEIGHT - 1) + startY + dy), -1}, 0, {(starts + 0) << 5, (startt + dy) << 5}, {0xFF, 0xFF, 0xFF, 0xFF}}},\ + {{{2 + (((i) % NUM_CAKE_TEXTURES_X) * (CAKE_TEX_WIDTH - 1) + startX + dx), 240 - 6 - (((i) / NUM_CAKE_TEXTURES_X) * (CAKE_TEX_HEIGHT - 1) + startY + dy), -1}, 0, {(starts + dx) << 5, (startt + dy) << 5}, {0xFF, 0xFF, 0xFF, 0xFF}}} + +#define MAKE_TEXT_VERTICES(i) \ + MAKE_RECT_VERTICES(i, 0, 0, CAKE_TEX_WIDTH - 1, CAKE_TEX_HEIGHT - 1, 0, 0) + +#define MAKE_ROW_VERTICES(row) \ + MAKE_TEXT_VERTICES(row * NUM_CAKE_TEXTURES_X + 0), \ + MAKE_TEXT_VERTICES(row * NUM_CAKE_TEXTURES_X + 1), \ + MAKE_TEXT_VERTICES(row * NUM_CAKE_TEXTURES_X + 2), \ + MAKE_TEXT_VERTICES(row * NUM_CAKE_TEXTURES_X + 3), \ + MAKE_TEXT_VERTICES(row * NUM_CAKE_TEXTURES_X + 4) + +const Vtx cake_verts[] = { + MAKE_ROW_VERTICES(0), + MAKE_ROW_VERTICES(1), + MAKE_ROW_VERTICES(2), + MAKE_ROW_VERTICES(3), + MAKE_ROW_VERTICES(4), + MAKE_ROW_VERTICES(5), + MAKE_ROW_VERTICES(6), + MAKE_ROW_VERTICES(7), +}; + +#define LOAD_CAKE_TEXTURE(i) \ + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, cake_end_texture_data + (CAKE_TEX_WIDTH * CAKE_TEX_HEIGHT * 2 * (i))), \ + gsDPLoadSync(), \ + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, \ + (((CAKE_TEX_WIDTH)*(CAKE_TEX_HEIGHT) + G_IM_SIZ_16b_INCR) >> G_IM_SIZ_16b_SHIFT)-1, \ + CALC_DXT(CAKE_TEX_WIDTH, G_IM_SIZ_16b_BYTES)) + +#define LOAD_CAKE_VERTICES(i) \ + gsSPVertex(cake_verts + 4 * (i), 4, 0) + +#define CAKE_TRIS(i) \ + LOAD_CAKE_TEXTURE(i), \ + gsSP2Triangles(0, 2, 1, 0x0, 1, 2, 3, 0x0) + +#define CAKE_RECT(i) \ + LOAD_CAKE_VERTICES(i), \ + CAKE_TRIS(i) \ + +#define CAKE_ROW(row) \ + CAKE_RECT((row) * NUM_CAKE_TEXTURES_X + 0),\ + CAKE_RECT((row) * NUM_CAKE_TEXTURES_X + 1),\ + CAKE_RECT((row) * NUM_CAKE_TEXTURES_X + 2),\ + CAKE_RECT((row) * NUM_CAKE_TEXTURES_X + 3),\ + CAKE_RECT((row) * NUM_CAKE_TEXTURES_X + 4) // 0x07026400 - 0x07027350 const Gfx dl_cake_end_screen[] = { @@ -640,198 +314,27 @@ const Gfx dl_cake_end_screen[] = { gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB), gsDPSetRenderMode(G_RM_AA_OPA_SURF, G_RM_AA_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - - gsDPLoadTextureBlock(cake_end_texture_0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025800, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_1, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025840, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_2, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025880, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_3, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070258C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_4, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025900, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_5, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025940, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_6, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025980, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_7, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070259C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_8, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025A00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_9, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025A40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_10, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025A80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_11, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025AC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_12, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025B00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_13, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025B40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_14, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025B80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_15, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025BC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_16, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025C00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_17, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025C40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_18, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025C80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_19, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025CC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_20, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025D00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_21, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025D40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_22, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025D80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_23, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025DC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_24, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025E00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_25, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025E40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_26, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025E80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_27, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025EC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_28, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025F00, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_29, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025F40, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_30, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025F80, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_31, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07025FC0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_32, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026000, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_33, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026040, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_34, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026080, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_35, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070260C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_36, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026100, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_37, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026140, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_38, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026180, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_39, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070261C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_40, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026200, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_41, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026240, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_42, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026280, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_43, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070262C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_44, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026300, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_45, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026340, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_46, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_07026380, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), - - gsDPLoadTextureBlock(cake_end_texture_47, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 20, 0, G_TX_CLAMP, G_TX_CLAMP, 7, 6, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(cake_end_vertex_070263C0, 4, 0), - gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), + + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, + G_TX_LOADTILE, 0, + G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, + G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, (((CAKE_TEX_WIDTH * G_IM_SIZ_16b_LINE_BYTES)+7)>>3), 0, + G_TX_RENDERTILE, 0, + G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, + G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, + (CAKE_TEX_WIDTH - 1) << G_TEXTURE_IMAGE_FRAC, + (CAKE_TEX_HEIGHT - 1) << G_TEXTURE_IMAGE_FRAC), + + CAKE_ROW(0), + CAKE_ROW(1), + CAKE_ROW(2), + CAKE_ROW(3), + CAKE_ROW(4), + CAKE_ROW(5), + CAKE_ROW(6), + CAKE_ROW(7), gsDPPipeSync(), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), diff --git a/tools/skyconv.c b/tools/skyconv.c index b515373..1fdf027 100644 --- a/tools/skyconv.c +++ b/tools/skyconv.c @@ -47,8 +47,8 @@ static const ImageProps IMAGE_PROPERTIES[ImageType_MAX][2] = { {256, 256, 32, 32, 8, 8, true, true}, }, [Cake] = { - {316, 228, 79, 19, 4, 12, false, false}, - {320, 240, 80, 20, 4, 12, false, false}, + {316, 228, 63, 29, 5, 8, false, false}, + {320, 240, 64, 30, 5, 8, false, false}, }, [CakeEU] = { {320, 224, 64, 32, 5, 7, false, false}, @@ -62,7 +62,7 @@ typedef struct { static const TableDimension TABLE_DIMENSIONS[ImageType_MAX] = { [Skybox] = {8, 10}, - [Cake] = {4, 12}, + [Cake] = {5, 8}, [CakeEU] = {5, 7}, }; @@ -104,15 +104,26 @@ static void split_tile(int col, int row, rgba *image, bool expanded) { int tileWidth = props.tileWidth; int tileHeight = props.tileHeight; int imageWidth = props.imageWidth; + int imageHeight = props.imageHeight; int numCols = props.numCols; int expandedWidth = IMAGE_PROPERTIES[type][true].tileWidth; + rgba black = {0, 0, 0, 0}; + for (int y = 0; y < tileHeight; y++) { for (int x = 0; x < tileWidth; x++) { int ny = row * tileHeight + y; int nx = col * tileWidth + x; - tiles[row * numCols + col].px[y * expandedWidth + x] = image[(ny * imageWidth + nx)]; + if (nx < imageWidth && ny < imageHeight) + { + tiles[row * numCols + col].px[y * expandedWidth + x] = image[(ny * imageWidth + nx)]; + } + else + { + tiles[row * numCols + col].px[y * expandedWidth + x] = black; + } + } } } @@ -339,11 +350,12 @@ static void write_cake_c() { } int numTiles = TABLE_DIMENSIONS[type].cols * TABLE_DIMENSIONS[type].rows; + fprintf(cFile, "ALIGNED8 static const Texture cake_end_texture_%sdata[] = {\n", euSuffx); for (int i = 0; i < numTiles; ++i) { - fprintf(cFile, "ALIGNED8 static const Texture cake_end_texture_%s%d[] = {\n", euSuffx, i); print_raw_data(cFile, &tiles[i]); - fputs("};\n\n", cFile); + fputc('\n', cFile); } + fputs("};\n\n", cFile); fclose(cFile); }