Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/src/game/geo_misc.h
7858 views
1
#ifndef GEO_MISC_H
2
#define GEO_MISC_H
3
4
#include <PR/ultratypes.h>
5
#include <PR/gbi.h>
6
7
enum FlyingCarpetState
8
{
9
FLYING_CARPET_IDLE = 0,
10
FLYING_CARPET_MOVING_WITHOUT_MARIO = 1,
11
FLYING_CARPET_MOVING_WITH_MARIO = 2
12
};
13
14
extern s8 gFlyingCarpetState;
15
16
#ifndef GBI_FLOATS
17
extern void make_vertex(
18
Vtx *vtx, s32 n, s16 x, s16 y, s16 z, s16 tx, s16 ty, u8 r, u8 g, u8 b, u8 a
19
);
20
#else
21
extern void make_vertex(
22
Vtx *vtx, s32 n, f32 x, f32 y, f32 z, s16 tx, s16 ty, u8 r, u8 g, u8 b, u8 a
23
);
24
#endif
25
extern s16 round_float(f32);
26
extern Gfx *geo_exec_inside_castle_light(s32 callContext, struct GraphNode *node, UNUSED f32 mtx[4][4]);
27
extern Gfx *geo_exec_flying_carpet_timer_update(s32 callContext, struct GraphNode *node, UNUSED f32 mtx[4][4]);
28
extern Gfx *geo_exec_flying_carpet_create(s32 callContext, struct GraphNode *node, UNUSED f32 mtx[4][4]);
29
extern Gfx *geo_exec_cake_end_screen(s32 callContext, struct GraphNode *node, UNUSED f32 mtx[4][4]);
30
31
#define gLoadBlockTexture(dl, width, height, format, image) \
32
{ \
33
gDPSetTextureImage((dl), (format), G_IM_SIZ_16b, 1, (image)); \
34
gDPTileSync((dl)); \
35
gDPSetTile((dl), (format), G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, \
36
G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD); \
37
gDPLoadSync((dl)); \
38
gDPLoadBlock((dl), G_TX_LOADTILE, 0, 0, (width) * (height) - 1, CALC_DXT((width), G_IM_SIZ_16b_BYTES)) \
39
}
40
41
#endif // GEO_MISC_H
42
43