geo.c (5002B)
1 #include <ultra64.h> 2 #include "sm64.h" 3 #include "geo_commands.h" 4 5 #include "game/level_geo.h" 6 #include "game/geo_misc.h" 7 #include "game/camera.h" 8 #include "game/moving_texture.h" 9 #include "game/screen_transition.h" 10 #include "game/paintings.h" 11 #include "menu/debug_level_select.h" 12 #include "menu/intro_geo.h" 13 14 #include "make_const_nonconst.h" 15 16 #include "levels/intro/header.h" 17 18 // 0x0E0002D0 19 const GeoLayout intro_geo_0002D0[] = { 20 GEO_NODE_SCREEN_AREA(0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2), 21 GEO_OPEN_NODE(), 22 GEO_ZBUFFER(0), 23 GEO_OPEN_NODE(), 24 GEO_NODE_ORTHO(100), 25 GEO_OPEN_NODE(), 26 GEO_BACKGROUND_COLOR(0x0001), 27 GEO_CLOSE_NODE(), 28 GEO_CLOSE_NODE(), 29 GEO_ZBUFFER(1), 30 GEO_OPEN_NODE(), 31 GEO_CAMERA_FRUSTUM(45, 128, 16384), 32 GEO_OPEN_NODE(), 33 GEO_CAMERA(0, 0, 0, 3200, 0, 0, 0, 0x00000000), 34 GEO_OPEN_NODE(), 35 GEO_ASM(0, geo_intro_super_mario_64_logo), 36 GEO_CLOSE_NODE(), 37 GEO_CLOSE_NODE(), 38 GEO_CLOSE_NODE(), 39 GEO_ZBUFFER(0), 40 GEO_OPEN_NODE(), 41 GEO_ASM(0, geo_intro_tm_copyright), 42 GEO_CLOSE_NODE(), 43 GEO_CLOSE_NODE(), 44 GEO_END(), 45 }; 46 47 // 0x0E00035C 48 const GeoLayout intro_geo_mario_head_regular[] = { 49 GEO_NODE_SCREEN_AREA(0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2), 50 GEO_OPEN_NODE(), 51 GEO_ZBUFFER(0), 52 GEO_OPEN_NODE(), 53 GEO_NODE_ORTHO(100), 54 GEO_OPEN_NODE(), 55 GEO_ASM(0, geo_intro_regular_backdrop), 56 #if defined(VERSION_SH) || defined(VERSION_CN) 57 GEO_ASM(0, geo_intro_face_easter_egg), 58 #endif 59 GEO_CLOSE_NODE(), 60 GEO_CLOSE_NODE(), 61 GEO_ZBUFFER(1), 62 GEO_OPEN_NODE(), 63 GEO_CAMERA_FRUSTUM(45, 128, 16384), 64 GEO_OPEN_NODE(), 65 GEO_ASM(2, geo_draw_mario_head_goddard), 66 GEO_CLOSE_NODE(), 67 GEO_CLOSE_NODE(), 68 #ifdef VERSION_SH 69 GEO_ZBUFFER(0), 70 GEO_OPEN_NODE(), 71 GEO_ASM(0, geo_intro_rumble_pak_graphic), 72 GEO_CLOSE_NODE(), 73 #endif 74 GEO_CLOSE_NODE(), 75 GEO_END(), 76 }; 77 78 // 0x0E0003B8 79 const GeoLayout intro_geo_mario_head_dizzy[] = { 80 GEO_NODE_SCREEN_AREA(0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2), 81 GEO_OPEN_NODE(), 82 GEO_ZBUFFER(0), 83 GEO_OPEN_NODE(), 84 GEO_NODE_ORTHO(100), 85 GEO_OPEN_NODE(), 86 GEO_ASM(0, geo_intro_gameover_backdrop), 87 #if defined(VERSION_SH) || defined(VERSION_CN) 88 GEO_ASM(0, geo_intro_face_easter_egg), 89 #endif 90 GEO_CLOSE_NODE(), 91 GEO_CLOSE_NODE(), 92 GEO_ZBUFFER(1), 93 GEO_OPEN_NODE(), 94 GEO_CAMERA_FRUSTUM(45, 128, 16384), 95 GEO_OPEN_NODE(), 96 GEO_ASM(3, geo_draw_mario_head_goddard), 97 GEO_CLOSE_NODE(), 98 GEO_CLOSE_NODE(), 99 #ifdef VERSION_SH 100 GEO_ZBUFFER(0), 101 GEO_OPEN_NODE(), 102 GEO_ASM(1, geo_intro_rumble_pak_graphic), 103 GEO_CLOSE_NODE(), 104 #endif 105 GEO_CLOSE_NODE(), 106 GEO_END(), 107 }; 108 109 // 0x0E000414 110 const GeoLayout intro_geo_000414[] = { 111 GEO_NODE_SCREEN_AREA(0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2), 112 GEO_OPEN_NODE(), 113 GEO_ZBUFFER(0), 114 GEO_OPEN_NODE(), 115 GEO_NODE_ORTHO(100), 116 GEO_OPEN_NODE(), 117 GEO_ASM(0, geo_intro_regular_backdrop), 118 GEO_CLOSE_NODE(), 119 GEO_CLOSE_NODE(), 120 GEO_ZBUFFER(1), 121 GEO_OPEN_NODE(), 122 GEO_CAMERA_FRUSTUM(45, 128, 16384), 123 GEO_OPEN_NODE(), 124 GEO_CAMERA(0, 0, 0, 1200, 0, 0, 0, 0x00000000), 125 GEO_OPEN_NODE(), 126 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, -230, 300, 0, debug_level_select_dl_07000858), 127 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, -120, 300, 0, debug_level_select_dl_07001100), 128 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, -20, 300, 0, debug_level_select_dl_07001BA0), 129 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, 100, 300, 0, debug_level_select_dl_070025F0), 130 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, 250, 300, 0, debug_level_select_dl_07003258), 131 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, -310, 100, 0, debug_level_select_dl_07003DB8), 132 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, -90, 100, 0, debug_level_select_dl_070048C8), 133 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, 60, 100, 0, debug_level_select_dl_07005558), 134 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, 180, 100, 0, debug_level_select_dl_070059F8), 135 GEO_TRANSLATE_NODE_WITH_DL(LAYER_OPAQUE, 300, 100, 0, debug_level_select_dl_070063B0), 136 GEO_CLOSE_NODE(), 137 GEO_CLOSE_NODE(), 138 GEO_CLOSE_NODE(), 139 GEO_CLOSE_NODE(), 140 GEO_END(), 141 }; 142