Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
surface_load.h
Go to the documentation of this file.
1 #ifndef _SURFACE_LOAD_H
2 #define _SURFACE_LOAD_H
3 
4 #include "types.h"
5 
6 struct SurfaceNode
7 {
8  struct SurfaceNode *next;
9  struct Surface *surface;
10 };
11 
12 enum
13 {
17 };
18 
20 
21 // Needed for bs bss reordering memes.
22 extern s32 unused8038BE90;
23 
26 extern struct SurfaceNode *sSurfaceNodePool;
27 extern struct Surface *sSurfacePool;
28 extern s16 sSurfacePoolSize;
29 
30 void alloc_surface_pools(void);
31 void load_area_terrain(s16 index, s16 *data, s8 *surfaceRooms, s16 *macroObjects);
32 void clear_dynamic_surfaces(void);
34 
35 #endif
struct Surface * sSurfacePool
Definition: surface_load.c:32
Definition: surface_load.h:16
signed char s8
Definition: ultratypes.h:11
s16 sSurfacePoolSize
The size of the surface pool (2300).
Definition: surface_load.c:37
signed short int s16
Definition: ultratypes.h:13
void load_area_terrain(s16 index, s16 *data, s8 *surfaceRooms, s16 *macroObjects)
Process the level file, loading in vertices, surfaces, some objects, and environmental boxes (water...
Definition: surface_load.c:528
struct SurfaceNode * next
Definition: surface_load.h:8
data
Definition: seq_decoder.py:292
Definition: surface_load.h:15
struct SurfaceNode * sSurfaceNodePool
Pools of data to contain either surface nodes or surfaces.
Definition: surface_load.c:31
Definition: types.h:188
SpatialPartitionCell gStaticSurfacePartition[16][16]
Partitions for course and object surfaces.
Definition: surface_load.c:25
s32 unused8038BE90
Definition: surface_load.c:19
struct Surface * surface
Definition: surface_load.h:9
void clear_dynamic_surfaces(void)
If not in time stop, clear the surface partitions.
Definition: surface_load.c:585
signed int s32
Definition: ultratypes.h:15
Definition: surface_load.h:14
struct SurfaceNode SpatialPartitionCell[3]
Definition: surface_load.h:19
void alloc_surface_pools(void)
Allocate some of the main pool for surfaces (2300 surf) and for surface nodes (7000 nodes)...
Definition: surface_load.c:515
Definition: surface_load.h:6
SpatialPartitionCell gDynamicSurfacePartition[16][16]
Definition: surface_load.c:26
void load_object_collision_model(void)
Transform an object's vertices, reload them, and render the object.
Definition: surface_load.c:701