Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/levels/intro/geo.c
7858 views
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
#ifdef VERSION_SH
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
#ifdef VERSION_SH
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
143
144