2024-05-17 06:35:01 -07:00
|
|
|
#ifndef OCCLUSIONPLANES_H
|
|
|
|
|
#define OCCLUSIONPLANES_H
|
|
|
|
|
|
2024-06-16 18:39:25 -07:00
|
|
|
#include "ultra64/gbi.h"
|
|
|
|
|
#include "ultra64/ultratypes.h"
|
2025-02-23 01:22:15 +01:00
|
|
|
#include "config.h"
|
|
|
|
|
|
|
|
|
|
struct PlayState;
|
2024-06-16 18:39:25 -07:00
|
|
|
|
2024-05-17 06:35:01 -07:00
|
|
|
typedef enum F3DEX3OccMode {
|
|
|
|
|
F3DEX3_OCC_MODE_AUTO,
|
|
|
|
|
F3DEX3_OCC_MODE_ALWAYS,
|
|
|
|
|
F3DEX3_OCC_MODE_NEVER,
|
|
|
|
|
F3DEX3_OCC_MODE_COUNT
|
|
|
|
|
} F3DEX3OccMode;
|
|
|
|
|
|
2024-06-16 18:39:25 -07:00
|
|
|
typedef enum OcclusionPlanePhase {
|
|
|
|
|
OCCLUSION_PLANE_PHASE_START,
|
|
|
|
|
OCCLUSION_PLANE_PHASE_POST_SKY,
|
2024-06-21 18:56:50 -07:00
|
|
|
OCCLUSION_PLANE_PHASE_POST_3D,
|
2024-06-16 18:39:25 -07:00
|
|
|
OCCLUSION_PLANE_PHASE_COUNT
|
|
|
|
|
} OcclusionPlanePhase;
|
|
|
|
|
|
2024-06-21 18:56:50 -07:00
|
|
|
typedef enum OcclusionPlaneStoredCmdType {
|
|
|
|
|
OCCLUSION_PLANE_STORED_CMD_SKY_OPA,
|
|
|
|
|
OCCLUSION_PLANE_STORED_CMD_3D_OPA,
|
|
|
|
|
OCCLUSION_PLANE_STORED_CMD_3D_XLU,
|
|
|
|
|
OCCLUSION_PLANE_STORED_CMD_COUNT
|
|
|
|
|
} OcclusionPlaneStoredCmdType;
|
|
|
|
|
|
2025-02-23 01:22:15 +01:00
|
|
|
void OcclusionPlane_Draw_Phase(struct PlayState* play, OcclusionPlanePhase phase);
|
|
|
|
|
void OcclusionPlane_Draw_PostCamUpdate(struct PlayState* play);
|
|
|
|
|
|
2024-06-16 18:39:25 -07:00
|
|
|
#endif // OCCLUSIONPLANES_H
|