mirror of
https://github.com/halpz/re3.git
synced 2025-07-21 17:59:46 +00:00
finished CFileLoader; some COcclusion stubs
This commit is contained in:
@ -2,6 +2,42 @@
|
||||
|
||||
#include "Occlusion.h"
|
||||
|
||||
int32 COcclusion::NumOccludersOnMap;
|
||||
int16 COcclusion::FarAwayList;
|
||||
int16 COcclusion::NearbyList;
|
||||
int16 COcclusion::ListWalkThroughFA;
|
||||
int16 COcclusion::PreviousListWalkThroughFA;
|
||||
COccluder COcclusion::aOccluders[NUMOCCLUSIONVOLUMES];
|
||||
|
||||
void
|
||||
COcclusion::Init(void)
|
||||
{
|
||||
NumOccludersOnMap = 0;
|
||||
FarAwayList = -1;
|
||||
NearbyList = -1;
|
||||
ListWalkThroughFA = -1;
|
||||
PreviousListWalkThroughFA = -1;
|
||||
}
|
||||
|
||||
void
|
||||
COcclusion::AddOne(float x, float y, float z, float width, float length, float height, float angle)
|
||||
{
|
||||
if(NumOccludersOnMap >= NUMOCCLUSIONVOLUMES)
|
||||
return;
|
||||
|
||||
aOccluders[NumOccludersOnMap].x = x;
|
||||
aOccluders[NumOccludersOnMap].y = y;
|
||||
aOccluders[NumOccludersOnMap].z = z;
|
||||
aOccluders[NumOccludersOnMap].width = width;
|
||||
aOccluders[NumOccludersOnMap].length = length;
|
||||
aOccluders[NumOccludersOnMap].height = height;
|
||||
while(angle < 0.0f) angle += 360.0f;
|
||||
while(angle > 360.0f) angle -= 360.0f;
|
||||
aOccluders[NumOccludersOnMap].angle = angle * UINT16_MAX/360.0f;
|
||||
aOccluders[NumOccludersOnMap].listIndex = FarAwayList;
|
||||
FarAwayList = NumOccludersOnMap++;
|
||||
}
|
||||
|
||||
void
|
||||
COcclusion::ProcessBeforeRendering(void)
|
||||
{
|
||||
|
@ -1,7 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
class COccluder
|
||||
{
|
||||
public:
|
||||
int16 width, length, height;
|
||||
int16 x, y, z;
|
||||
uint16 angle;
|
||||
int16 listIndex;
|
||||
};
|
||||
|
||||
class COcclusion
|
||||
{
|
||||
public:
|
||||
static int32 NumOccludersOnMap;
|
||||
static int16 FarAwayList;
|
||||
static int16 NearbyList;
|
||||
static int16 ListWalkThroughFA;
|
||||
static int16 PreviousListWalkThroughFA;
|
||||
|
||||
static COccluder aOccluders[NUMOCCLUSIONVOLUMES];
|
||||
|
||||
static void Init(void);
|
||||
static void AddOne(float x, float y, float z, float width, float length, float height, float angle);
|
||||
static void ProcessBeforeRendering(void);
|
||||
};
|
||||
|
Reference in New Issue
Block a user