Skip to content
This repository has been archived by the owner. It is now read-only.

WaterLevel #130

Merged
merged 7 commits into from Jul 11, 2019
Merged

WaterLevel #130

Changes from 1 commit
Commits
File filter
Filter file types
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.

Always

Just for now

WaterLevel done
  • Loading branch information
Fire-Head committed Jul 11, 2019
commit aed8218ef16679b36e5d869e79128315d9140794
@@ -138,6 +138,7 @@ inline float sq(float x) { return x*x; }
#define SQR(x) ((x) * (x))

#define PI M_PI
#define TWOPI PI*2
#define DEGTORAD(x) ((x) * PI / 180.0f)
#define RADTODEG(x) ((x) * 180.0f / PI)

@@ -6,13 +6,13 @@ class CEntity;

class CParticle
{
public:
enum
{
RAND_TABLE_SIZE = 20,
SIN_COS_TABLE_SIZE = 1024
};

public:

CVector m_vecPosition;
CVector m_vecVelocity;
CVector m_vecScreenPosition;
@@ -5,7 +5,7 @@
int32 &TempBufferVerticesStored = *(int32*)0x8F5F78;
int32 &TempBufferIndicesStored = *(int32*)0x8F1A4C;

RwIm3DVertex *TempVertexBuffer = (RwIm3DVertex*)0x862330;
RwIm3DVertex *TempBufferRenderVertices = (RwIm3DVertex*)0x862330;
RwImVertexIndex *TempBufferRenderIndexList = (RwImVertexIndex*)0x846288;

int RenderBuffer::VerticesToBeStored;
@@ -21,12 +21,12 @@ RenderBuffer::ClearRenderBuffer(void)
void
RenderBuffer::StartStoring(int numIndices, int numVertices, RwImVertexIndex **indexStart, RwIm3DVertex **vertexStart)
{
if(TempBufferIndicesStored + numIndices >= 1024)
if(TempBufferIndicesStored + numIndices >= TEMPBUFFERINDEXSIZE)
RenderStuffInBuffer();
if(TempBufferVerticesStored + numVertices >= 256)
if(TempBufferVerticesStored + numVertices >= TEMPBUFFERVERTSIZE)
RenderStuffInBuffer();
*indexStart = &TempBufferRenderIndexList[TempBufferIndicesStored];
*vertexStart = &TempVertexBuffer[TempBufferVerticesStored];
*vertexStart = &TempBufferRenderVertices[TempBufferVerticesStored];
IndicesToBeStored = numIndices;
VerticesToBeStored = numVertices;
}
@@ -44,7 +44,7 @@ RenderBuffer::StopStoring(void)
void
RenderBuffer::RenderStuffInBuffer(void)
{
if(TempBufferVerticesStored && RwIm3DTransform(TempVertexBuffer, TempBufferVerticesStored, nil, rwIM3D_VERTEXUV)){
if(TempBufferVerticesStored && RwIm3DTransform(TempBufferRenderVertices, TempBufferVerticesStored, nil, rwIM3D_VERTEXUV)){
RwIm3DRenderIndexedPrimitive(rwPRIMTYPETRILIST, TempBufferRenderIndexList, TempBufferIndicesStored);
RwIm3DEnd();
}
@@ -8,3 +8,11 @@ class RenderBuffer
static void StopStoring(void);
static void RenderStuffInBuffer(void);
};

#define TEMPBUFFERVERTSIZE 256
#define TEMPBUFFERINDEXSIZE 1024

extern int32 &TempBufferVerticesStored;
extern int32 &TempBufferIndicesStored;
extern RwIm3DVertex *TempBufferRenderVertices;
extern RwImVertexIndex *TempBufferRenderIndexList;