fix hud render states; bug in coronas

This commit is contained in:
aap 2019-06-29 17:54:09 +02:00
parent d711af4757
commit 8946a20983
4 changed files with 808 additions and 816 deletions

View file

@ -13,7 +13,7 @@
#include "MBlur.h" #include "MBlur.h"
#include "Camera.h" #include "Camera.h"
const float DefaultFOV = 80.0f; // actually 70.0f const float DefaultFOV = 70.0f; // beta: 80.0f
CCamera &TheCamera = *(CCamera*)0x6FACF8; CCamera &TheCamera = *(CCamera*)0x6FACF8;
bool &CCamera::m_bUseMouse3rdPerson = *(bool *)0x5F03D8; bool &CCamera::m_bUseMouse3rdPerson = *(bool *)0x5F03D8;

View file

@ -342,7 +342,7 @@ patch()
{ {
StaticPatcher::Apply(); StaticPatcher::Apply();
Patch<float>(0x46BC61+6, 1.0f); // car distance // Patch<float>(0x46BC61+6, 1.0f); // car distance
InjectHook(0x59E460, printf, PATCH_JUMP); InjectHook(0x59E460, printf, PATCH_JUMP);
InjectHook(0x475E00, printf, PATCH_JUMP); // _Error InjectHook(0x475E00, printf, PATCH_JUMP); // _Error

View file

@ -388,7 +388,7 @@ CCoronas::Render(void)
// streaks // streaks
for(i = 0; i < NUMCORONAS; i++){ for(i = 0; i < NUMCORONAS; i++){
if(aCoronas[i].id == 0 || !aCoronas[i].drawStreak) if(aCoronas[i].id == 0 || !aCoronas[i].drawStreak)
break; continue;
for(j = 0; j < 5; j++){ for(j = 0; j < 5; j++){
if(!aCoronas[i].hasValue[j] || !aCoronas[i].hasValue[j+1]) if(!aCoronas[i].hasValue[j] || !aCoronas[i].hasValue[j+1])

View file

@ -125,16 +125,9 @@ WRAPPER void CHud::Draw(void) { EAXJMP(0x5052A0); }
#else #else
void CHud::Draw() void CHud::Draw()
{ {
RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)TRUE); if (CReplay::IsPlayingBack())
RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)rwBLENDSRCALPHA); return;
RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDINVSRCALPHA);
RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)TRUE);
RwRenderStateSet(rwRENDERSTATETEXTUREADDRESS, (void*)rwTEXTUREADDRESSMIRROR);
RwRenderStateSet(rwRENDERSTATETEXTURERASTER, (void*)FALSE);
RwRenderStateSet(rwRENDERSTATESHADEMODE, (void*)rwSHADEMODEFLAT);
RwRenderStateSet(rwRENDERSTATETEXTUREFILTER, (void*)rwFILTERLINEAR);
if (!CReplay::IsPlayingBack()) {
if (m_Wants_To_Draw_Hud && !TheCamera.m_WideScreenOn) { if (m_Wants_To_Draw_Hud && !TheCamera.m_WideScreenOn) {
bool Mode_RunAround = 0; bool Mode_RunAround = 0;
bool Mode_FirstPerson = 0; bool Mode_FirstPerson = 0;
@ -996,7 +989,6 @@ void CHud::Draw()
} }
} }
} }
}
#endif #endif