Merge pull request #533 from erorcun/master

Linux build support
This commit is contained in:
erorcun
2020-05-12 00:33:13 +03:00
committed by GitHub
55 changed files with 1392 additions and 371 deletions

View File

@ -17,7 +17,7 @@ CConsole::AddLine(char *s, uint8 r, uint8 g, uint8 b)
char tempstr[MAX_STR_LEN+1];
while (strlen(s) > MAX_STR_LEN) {
strncpy_s(tempstr, s, MAX_STR_LEN);
strncpy(tempstr, s, MAX_STR_LEN);
tempstr[MAX_STR_LEN-1] = '\0';
s += MAX_STR_LEN - 1;
AddOneLine(tempstr, r, g, b);

View File

@ -4,7 +4,7 @@
class CParticle;
enum
enum
{
ZCHECK_FIRST = BIT(0),
ZCHECK_STEP = BIT(1),
@ -60,14 +60,12 @@ struct tParticleSystemData
uint8 m_InitialColorVariation;
RwRGBA m_FadeDestinationColor;
uint32 m_ColorFadeTime;
RwRaster **m_ppRaster;
CParticle *m_pParticles;
};
#ifdef CHECK_STRUCT_SIZES
VALIDATE_SIZE(tParticleSystemData, 0x88);
#endif
class cParticleSystemMgr
{
@ -121,14 +119,12 @@ public:
tParticleSystemData m_aParticles[MAX_PARTICLES];
cParticleSystemMgr();
void Initialise();
void LoadParticleData();
void RangeCheck(tParticleSystemData *pData) { }
};
#ifdef CHECK_STRUCT_SIZES
VALIDATE_SIZE(cParticleSystemMgr, 0x2420);
#endif
extern cParticleSystemMgr mod_ParticleSystemManager;
extern cParticleSystemMgr mod_ParticleSystemManager;

View File

@ -123,7 +123,7 @@ void
CPlayerSkin::BeginFrontendSkinEdit(void)
{
LoadPlayerDff();
RpClumpForAllAtomics(gpPlayerClump, CClumpModelInfo::SetAtomicRendererCB, CVisibilityPlugins::RenderPlayerCB);
RpClumpForAllAtomics(gpPlayerClump, CClumpModelInfo::SetAtomicRendererCB, (void*)CVisibilityPlugins::RenderPlayerCB);
CWorld::Players[0].LoadPlayerSkin();
gOldFov = CDraw::GetFOV();
CDraw::SetFOV(30.0f);

View File

@ -645,7 +645,7 @@ CShadows::StoreShadowForPole(CEntity *pPole, float fOffsetX, float fOffsetY, flo
PolePos.x += -CTimeCycle::GetSunPosition().x * (fPoleHeight / 2);
PolePos.y += -CTimeCycle::GetSunPosition().y * (fPoleHeight / 2);
StoreStaticShadow((uint32)pPole + nID + _TODOCONST(51), SHADOWTYPE_DARK, gpPostShadowTex, &PolePos,
StoreStaticShadow((uintptr)pPole + nID + _TODOCONST(51), SHADOWTYPE_DARK, gpPostShadowTex, &PolePos,
-CTimeCycle::GetSunPosition().x * (fPoleHeight / 2),
-CTimeCycle::GetSunPosition().y * (fPoleHeight / 2),
CTimeCycle::GetShadowSideX() * fPoleWidth,
@ -1516,7 +1516,7 @@ CShadows::UpdatePermanentShadows(void)
// timePassed == aPermanentShadows[i].m_nLifeTime -> 0
float fMult = 1.0f - float(timePassed - (aPermanentShadows[i].m_nLifeTime * 3 / 4)) / (aPermanentShadows[i].m_nLifeTime / 4);
StoreStaticShadow((uint32)&aPermanentShadows[i],
StoreStaticShadow((uintptr)&aPermanentShadows[i],
aPermanentShadows[i].m_nType,
aPermanentShadows[i].m_pTexture,
&aPermanentShadows[i].m_vecPos,
@ -1533,7 +1533,7 @@ CShadows::UpdatePermanentShadows(void)
}
else
{
StoreStaticShadow((uint32)&aPermanentShadows[i],
StoreStaticShadow((uintptr)&aPermanentShadows[i],
aPermanentShadows[i].m_nType,
aPermanentShadows[i].m_pTexture,
&aPermanentShadows[i].m_vecPos,

View File

@ -52,9 +52,7 @@ public:
{ }
};
#ifdef CHECK_STRUCT_SIZES
VALIDATE_SIZE(CStoredShadow, 0x30);
#endif
class CPolyBunch
{
@ -69,9 +67,7 @@ public:
{ }
};
#ifdef CHECK_STRUCT_SIZES
VALIDATE_SIZE(CPolyBunch, 0x6C);
#endif
class CStaticShadow
{
@ -93,16 +89,14 @@ public:
bool m_bRendered;
bool m_bTemp;
RwTexture *m_pTexture;
CStaticShadow()
{ }
void Free();
};
#ifdef CHECK_STRUCT_SIZES
VALIDATE_SIZE(CStaticShadow, 0x40);
#endif
class CPermanentShadow
{
@ -120,7 +114,7 @@ public:
uint32 m_nTimeCreated;
uint32 m_nLifeTime;
RwTexture *m_pTexture;
CPermanentShadow()
{ }
};
@ -168,7 +162,7 @@ public:
static void GeneratePolysForStaticShadow (int16 nStaticShadowID);
static void CastShadowSectorList (CPtrList &PtrList, float fStartX, float fStartY, float fEndX, float fEndY,
CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch);
static void CastShadowEntity (CEntity *pEntity, float fStartX, float fStartY, float fEndX, float fEndY,
static void CastShadowEntity (CEntity *pEntity, float fStartX, float fStartY, float fEndX, float fEndY,
CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity, uint8 nRed, uint8 nGreen, uint8 nBlue, float fZDistance, float fScale, CPolyBunch **ppPolyBunch);
static void UpdateStaticShadows (void);
static void UpdatePermanentShadows (void);