mirror of
https://github.com/izzy2lost/Ghostship.git
synced 2026-06-19 01:17:03 -07:00
Removed cake and implemented widescreen on intro
This commit is contained in:
@@ -146,20 +146,6 @@ list(FILTER ALL_FILES EXCLUDE REGEX "bin/eu/.*.c")
|
||||
list(FILTER ALL_FILES EXCLUDE REGEX "src/game/main.c")
|
||||
list(FILTER ALL_FILES EXCLUDE REGEX "src/pc/dlmalloc.c")
|
||||
|
||||
file(GLOB_RECURSE SKYBOXES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "textures/skyboxes/*.png")
|
||||
foreach(skybox ${SKYBOXES})
|
||||
get_filename_component(OUTPUT_FILE_WLE ${skybox} NAME_WLE)
|
||||
get_filename_component(OUTPUT_DIR ${skybox} DIRECTORY)
|
||||
set(OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/bin/${OUTPUT_FILE_WLE}_skybox.c)
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTPUT_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
VERBATIM COMMAND $<TARGET_FILE:skyconv> --type sky --split ${CMAKE_CURRENT_SOURCE_DIR}/${skybox} ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
DEPENDS skyconv
|
||||
)
|
||||
list(APPEND ALL_FILES ${OUTPUT_FILE})
|
||||
endforeach(skybox)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/include/level_headers.tmp
|
||||
COMMAND ${CPP} -I${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/levels/level_headers.h.in > ${CMAKE_CURRENT_BINARY_DIR}/include/level_headers.tmp
|
||||
@@ -296,7 +282,6 @@ file(GLOB_RECURSE ORGFILES2 RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "levels/*.png")
|
||||
file(GLOB_RECURSE ORGFILES3 RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "textures/*.png")
|
||||
list (APPEND ORGFILES ${ORGFILES2})
|
||||
list (APPEND ORGFILES ${ORGFILES3})
|
||||
list(REMOVE_ITEM ORGFILES "levels/ending/cake.png")
|
||||
list(FILTER ORGFILES EXCLUDE REGEX "textures/ipl3_raw/.*.png")
|
||||
list(FILTER ORGFILES EXCLUDE REGEX "textures/skyboxes/.*.png")
|
||||
foreach(orgfile ${ORGFILES})
|
||||
@@ -314,14 +299,6 @@ foreach(orgfile ${ORGFILES})
|
||||
list(APPEND INC_C_FILES ${OUTPUT_FILE})
|
||||
endforeach(orgfile)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/levels/ending/cake.inc.c
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/levels/ending
|
||||
COMMAND $<TARGET_FILE:skyconv> --type cake --split ${CMAKE_CURRENT_SOURCE_DIR}/levels/ending/cake.png ${CMAKE_CURRENT_BINARY_DIR}/levels/ending
|
||||
DEPENDS skyconv
|
||||
)
|
||||
list(APPEND INC_C_FILES ${CMAKE_CURRENT_BINARY_DIR}/levels/ending/cake.inc.c)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/text/us/define_text-tmp
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/text/us
|
||||
|
||||
@@ -7,11 +7,10 @@
|
||||
extern const GeoLayout ending_geo_000050[];
|
||||
|
||||
// leveldata
|
||||
extern const Gfx dl_cake_end_screen[];
|
||||
extern const Gfx dl_cake_end_screen_eu_070296F8[];
|
||||
extern const Gfx dl_cake_end_screen_eu_07029768[];
|
||||
extern const Gfx dl_cake_end_screen_eu_070297D8[];
|
||||
extern const Gfx dl_cake_end_screen[];
|
||||
extern const Vtx* cake_end_vertex_positions[];
|
||||
|
||||
// script
|
||||
extern const LevelScript level_ending_entry[];
|
||||
|
||||
+49
-205
@@ -619,210 +619,54 @@ static const Vtx cake_end_vertex_070263C0[] = {
|
||||
{{{ 240, 20, -1}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x07026400 - 0x07027350
|
||||
const Gfx dl_cake_end_screen[] = {
|
||||
gsDPPipeSync(),
|
||||
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),
|
||||
|
||||
gsDPPipeSync(),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
const Vtx* cake_end_vertex_positions[] = {
|
||||
cake_end_vertex_07025800,
|
||||
cake_end_vertex_07025840,
|
||||
cake_end_vertex_07025880,
|
||||
cake_end_vertex_070258C0,
|
||||
cake_end_vertex_07025900,
|
||||
cake_end_vertex_07025940,
|
||||
cake_end_vertex_07025980,
|
||||
cake_end_vertex_070259C0,
|
||||
cake_end_vertex_07025A00,
|
||||
cake_end_vertex_07025A40,
|
||||
cake_end_vertex_07025A80,
|
||||
cake_end_vertex_07025AC0,
|
||||
cake_end_vertex_07025B00,
|
||||
cake_end_vertex_07025B40,
|
||||
cake_end_vertex_07025B80,
|
||||
cake_end_vertex_07025BC0,
|
||||
cake_end_vertex_07025C00,
|
||||
cake_end_vertex_07025C40,
|
||||
cake_end_vertex_07025C80,
|
||||
cake_end_vertex_07025CC0,
|
||||
cake_end_vertex_07025D00,
|
||||
cake_end_vertex_07025D40,
|
||||
cake_end_vertex_07025D80,
|
||||
cake_end_vertex_07025DC0,
|
||||
cake_end_vertex_07025E00,
|
||||
cake_end_vertex_07025E40,
|
||||
cake_end_vertex_07025E80,
|
||||
cake_end_vertex_07025EC0,
|
||||
cake_end_vertex_07025F00,
|
||||
cake_end_vertex_07025F40,
|
||||
cake_end_vertex_07025F80,
|
||||
cake_end_vertex_07025FC0,
|
||||
cake_end_vertex_07026000,
|
||||
cake_end_vertex_07026040,
|
||||
cake_end_vertex_07026080,
|
||||
cake_end_vertex_070260C0,
|
||||
cake_end_vertex_07026100,
|
||||
cake_end_vertex_07026140,
|
||||
cake_end_vertex_07026180,
|
||||
cake_end_vertex_070261C0,
|
||||
cake_end_vertex_07026200,
|
||||
cake_end_vertex_07026240,
|
||||
cake_end_vertex_07026280,
|
||||
cake_end_vertex_070262C0,
|
||||
cake_end_vertex_07026300,
|
||||
cake_end_vertex_07026340,
|
||||
cake_end_vertex_07026380,
|
||||
cake_end_vertex_070263C0
|
||||
};
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -120,8 +120,8 @@ void print_intro_text(void) {
|
||||
#ifdef VERSION_EU
|
||||
print_text(20, 20, "START");
|
||||
#else
|
||||
print_text_centered(60, 38, "PRESS");
|
||||
print_text_centered(60, 20, "START");
|
||||
print_text_centered(GFX_DIMENSIONS_FROM_LEFT_EDGE(60), 38, "PRESS");
|
||||
print_text_centered(GFX_DIMENSIONS_FROM_LEFT_EDGE(60), 20, "START");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
+35
-2
@@ -1,4 +1,5 @@
|
||||
#include <libultra/types.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "sm64.h"
|
||||
#include "geo_misc.h"
|
||||
@@ -190,6 +191,8 @@ Gfx *geo_exec_flying_carpet_create(s32 callContext, struct GraphNode *node, UNUS
|
||||
return displayList;
|
||||
}
|
||||
|
||||
static char** gCakeSlices;
|
||||
|
||||
/**
|
||||
* Create a display list for the end screen with Peach's delicious cake.
|
||||
*/
|
||||
@@ -198,8 +201,12 @@ Gfx *geo_exec_cake_end_screen(s32 callContext, struct GraphNode *node, UNUSED f3
|
||||
Gfx *displayList = NULL;
|
||||
Gfx *displayListHead = NULL;
|
||||
|
||||
if(gCakeSlices == NULL){
|
||||
gCakeSlices = malloc((12 * 4) * sizeof(char*));
|
||||
}
|
||||
|
||||
if (callContext == GEO_CONTEXT_RENDER) {
|
||||
displayList = alloc_display_list(3 * sizeof(*displayList));
|
||||
displayList = alloc_display_list(64 * sizeof(*displayList));
|
||||
displayListHead = displayList;
|
||||
|
||||
generatedNode->fnNode.node.flags = (generatedNode->fnNode.node.flags & 0xFF) | 0x100;
|
||||
@@ -221,7 +228,33 @@ Gfx *geo_exec_cake_end_screen(s32 callContext, struct GraphNode *node, UNUSED f3
|
||||
break;
|
||||
}
|
||||
#else
|
||||
gSPDisplayList(displayListHead++, dl_cake_end_screen);
|
||||
Gfx* cake = alloc_display_list(512 * sizeof(*cake));
|
||||
Gfx *cakeHead = cake;
|
||||
gDPPipeSync(cakeHead++);
|
||||
gDPSetCombineMode(cakeHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
gDPSetRenderMode(cakeHead++, G_RM_AA_OPA_SURF, G_RM_AA_OPA_SURF2);
|
||||
gSPTexture(cakeHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
|
||||
|
||||
void* data = ResourceGetDataByName(gCakeImage);
|
||||
s32 size = 80 * 20 * 2;
|
||||
for (int i = 0; i < 4 * 12; i++) {
|
||||
if (!gCakeSlices[i]) {
|
||||
gCakeSlices[i] = malloc(size);
|
||||
memcpy(gCakeSlices[i], data + i * 3200, size);
|
||||
}
|
||||
gDPLoadTextureBlock(cakeHead++, gCakeSlices[i], 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);
|
||||
gSPVertex(cakeHead++, cake_end_vertex_positions[i], 4, 0);
|
||||
gSP2Triangles(cakeHead++, 0, 1, 2, 0x0, 0, 2, 3, 0x0);
|
||||
}
|
||||
|
||||
gDPPipeSync(cakeHead++);
|
||||
gSPTexture(cakeHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF);
|
||||
gSPSetGeometryMode(cakeHead++, G_LIGHTING);
|
||||
gDPSetCombineMode(cakeHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(cakeHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPEndDisplayList(cakeHead++);
|
||||
|
||||
gSPDisplayList(displayListHead++, cake);
|
||||
#endif
|
||||
gSPEndDisplayList(displayListHead);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GEO_MISC_H
|
||||
#define GEO_MISC_H
|
||||
|
||||
#include "align_asset_macro.h"
|
||||
#include <libultra/types.h>
|
||||
#include <libultra/gbi.h>
|
||||
|
||||
@@ -12,6 +13,9 @@ enum FlyingCarpetState {
|
||||
|
||||
extern s8 gFlyingCarpetState;
|
||||
|
||||
#define dgCakeImage "__OTR__levels/ending/cake"
|
||||
static const ALIGN_ASSET(2) char gCakeImage[] = dgCakeImage;
|
||||
|
||||
#ifndef GBI_FLOATS
|
||||
extern void make_vertex(
|
||||
Vtx *vtx, s32 n, s16 x, s16 y, s16 z, s16 tx, s16 ty, u8 r, u8 g, u8 b, u8 a
|
||||
|
||||
+10
-17
@@ -10,6 +10,7 @@
|
||||
#include "buffers/framebuffers.h"
|
||||
#include "game/game_init.h"
|
||||
#include "audio/external.h"
|
||||
#include "gfx_dimensions.h"
|
||||
|
||||
// frame counts for the zoom in, hold, and zoom out of title model
|
||||
#define INTRO_STEPS_ZOOM_IN 20
|
||||
@@ -141,19 +142,8 @@ static Gfx *intro_backdrop_one_image(s32 index, s8 *backgroundTable) {
|
||||
static const Gfx *introBackgroundDlRows[] = { title_screen_bg_dl_0A000130, title_screen_bg_dl_0A000148,
|
||||
title_screen_bg_dl_0A000160, title_screen_bg_dl_0A000178 };
|
||||
|
||||
// intro screen background texture X offsets
|
||||
static float xCoords[] = {
|
||||
0, 80, 160, 240,
|
||||
0, 80, 160, 240,
|
||||
0, 80, 160, 240,
|
||||
};
|
||||
|
||||
// intro screen background texture Y offsets
|
||||
static float yCoords[] = {
|
||||
160, 160, 160, 160,
|
||||
80, 80, 80, 80,
|
||||
0, 0, 0, 0,
|
||||
};
|
||||
s32 num_tiles_h = (s32)(GFX_DIMENSIONS_ASPECT_RATIO * SCREEN_HEIGHT + 80 ) / 80;
|
||||
float xOffset = ((float) SCREEN_WIDTH / 2) - ( GFX_DIMENSIONS_ASPECT_RATIO * SCREEN_HEIGHT / 2);
|
||||
|
||||
// table that points to either the "Super Mario 64" or "Game Over" tables
|
||||
static const u8 *const *textureTables[] = { mario_title_texture_table, game_over_texture_table };
|
||||
@@ -161,10 +151,11 @@ static Gfx *intro_backdrop_one_image(s32 index, s8 *backgroundTable) {
|
||||
Mtx *mtx = alloc_display_list(sizeof(*mtx));
|
||||
Gfx *displayList = alloc_display_list(36 * sizeof(*displayList));
|
||||
Gfx *displayListIter = displayList;
|
||||
const u8 *const *vIntroBgTable = segmented_to_virtual(textureTables[backgroundTable[index]]);
|
||||
// TODO: Fix this for gameover screen
|
||||
const u8 *const *vIntroBgTable = segmented_to_virtual(textureTables[backgroundTable[0]]);
|
||||
s32 i;
|
||||
|
||||
guTranslate(mtx, xCoords[index], yCoords[index], 0.0f);
|
||||
guTranslate(mtx, ((index % num_tiles_h) * 80) + xOffset, (index/num_tiles_h) * 80, 0.0f);
|
||||
gSPMatrix(displayListIter++, mtx, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_PUSH);
|
||||
gSPDisplayList(displayListIter++, &title_screen_bg_dl_0A000118);
|
||||
for (i = 0; i < 4; ++i) {
|
||||
@@ -198,13 +189,15 @@ Gfx *geo_intro_regular_backdrop(s32 state, struct GraphNode *node, UNUSED void *
|
||||
Gfx *dlIter = NULL;
|
||||
s32 i;
|
||||
|
||||
s32 num_tiles_h = (s32)((GFX_DIMENSIONS_ASPECT_RATIO * SCREEN_HEIGHT + 80 ) / 80) * 3;
|
||||
|
||||
if (state == 1) { // draw
|
||||
dl = alloc_display_list(16 * sizeof(*dl));
|
||||
dl = alloc_display_list((num_tiles_h + 4) * sizeof(*dl));
|
||||
dlIter = dl;
|
||||
graphNode->node.flags = (graphNode->node.flags & 0xFF) | (LAYER_OPAQUE << 8);
|
||||
gSPDisplayList(dlIter++, &dl_proj_mtx_fullscreen);
|
||||
gSPDisplayList(dlIter++, &title_screen_bg_dl_0A000100);
|
||||
for (i = 0; i < 12; ++i) {
|
||||
for (i = 0; i < num_tiles_h; ++i) {
|
||||
gSPDisplayList(dlIter++, intro_backdrop_one_image(i, backgroundTable));
|
||||
}
|
||||
gSPDisplayList(dlIter++, &title_screen_bg_dl_0A000190);
|
||||
|
||||
Reference in New Issue
Block a user