mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Ironman: Keep player_t charflags up to date in demos
This commit is contained in:
parent
1410b6c0e0
commit
0353512b05
1 changed files with 9 additions and 1 deletions
10
src/g_demo.c
10
src/g_demo.c
|
|
@ -266,6 +266,7 @@ void G_ReadDemoExtraData(void)
|
||||||
if (extradata & DXD_SKIN)
|
if (extradata & DXD_SKIN)
|
||||||
{
|
{
|
||||||
UINT8 kartspeed, kartweight;
|
UINT8 kartspeed, kartweight;
|
||||||
|
UINT32 charflags;
|
||||||
|
|
||||||
// Skin
|
// Skin
|
||||||
M_Memcpy(name, demo_p, 16);
|
M_Memcpy(name, demo_p, 16);
|
||||||
|
|
@ -274,12 +275,14 @@ void G_ReadDemoExtraData(void)
|
||||||
|
|
||||||
kartspeed = READUINT8(demo_p);
|
kartspeed = READUINT8(demo_p);
|
||||||
kartweight = READUINT8(demo_p);
|
kartweight = READUINT8(demo_p);
|
||||||
|
charflags = READUINT32(demo_p);
|
||||||
|
|
||||||
if (stricmp(skins[players[p].skin].name, name) != 0)
|
if (stricmp(skins[players[p].skin].name, name) != 0)
|
||||||
FindClosestSkinForStats(p, kartspeed, kartweight);
|
FindClosestSkinForStats(p, kartspeed, kartweight);
|
||||||
|
|
||||||
players[p].kartspeed = kartspeed;
|
players[p].kartspeed = kartspeed;
|
||||||
players[p].kartweight = kartweight;
|
players[p].kartweight = kartweight;
|
||||||
|
players[p].charflags = charflags;
|
||||||
}
|
}
|
||||||
if (extradata & DXD_COLOR)
|
if (extradata & DXD_COLOR)
|
||||||
{
|
{
|
||||||
|
|
@ -428,7 +431,7 @@ void G_WriteDemoExtraData(void)
|
||||||
|
|
||||||
WRITEUINT8(demo_p, skins[players[i].skin].kartspeed);
|
WRITEUINT8(demo_p, skins[players[i].skin].kartspeed);
|
||||||
WRITEUINT8(demo_p, skins[players[i].skin].kartweight);
|
WRITEUINT8(demo_p, skins[players[i].skin].kartweight);
|
||||||
|
WRITEUINT32(demo_p, skins[players[i].skin].flags);
|
||||||
}
|
}
|
||||||
if (demo_extradata[i] & DXD_COLOR)
|
if (demo_extradata[i] & DXD_COLOR)
|
||||||
{
|
{
|
||||||
|
|
@ -2111,6 +2114,7 @@ void G_BeginRecording(void)
|
||||||
WRITEUINT8(demo_p, skins[player->skin].kartspeed);
|
WRITEUINT8(demo_p, skins[player->skin].kartspeed);
|
||||||
WRITEUINT8(demo_p, skins[player->skin].kartweight);
|
WRITEUINT8(demo_p, skins[player->skin].kartweight);
|
||||||
WRITEUINT8(demo_p, player->lastfakeskin);
|
WRITEUINT8(demo_p, player->lastfakeskin);
|
||||||
|
WRITEUINT32(demo_p, player->charflags);
|
||||||
|
|
||||||
// And mobjtype_t is best with UINT32 too...
|
// And mobjtype_t is best with UINT32 too...
|
||||||
WRITEUINT32(demo_p, player->followitem);
|
WRITEUINT32(demo_p, player->followitem);
|
||||||
|
|
@ -2711,6 +2715,7 @@ void G_DoPlayDemo(char *defdemoname)
|
||||||
|
|
||||||
boolean spectator;
|
boolean spectator;
|
||||||
UINT8 slots[MAXPLAYERS], kartspeed[MAXPLAYERS], kartweight[MAXPLAYERS], lastfakeskin[MAXPLAYERS], numslots = 0;
|
UINT8 slots[MAXPLAYERS], kartspeed[MAXPLAYERS], kartweight[MAXPLAYERS], lastfakeskin[MAXPLAYERS], numslots = 0;
|
||||||
|
UINT32 charflags[MAXPLAYERS];
|
||||||
|
|
||||||
#if defined(SKIPERRORS) && !defined(DEVELOP)
|
#if defined(SKIPERRORS) && !defined(DEVELOP)
|
||||||
boolean skiperrors = false;
|
boolean skiperrors = false;
|
||||||
|
|
@ -3088,6 +3093,7 @@ void G_DoPlayDemo(char *defdemoname)
|
||||||
kartspeed[p] = READUINT8(demo_p);
|
kartspeed[p] = READUINT8(demo_p);
|
||||||
kartweight[p] = READUINT8(demo_p);
|
kartweight[p] = READUINT8(demo_p);
|
||||||
lastfakeskin[p] = READUINT8(demo_p);
|
lastfakeskin[p] = READUINT8(demo_p);
|
||||||
|
charflags[p] = READUINT32(demo_p);
|
||||||
|
|
||||||
if (stricmp(skins[players[p].skin].name, skin) != 0)
|
if (stricmp(skins[players[p].skin].name, skin) != 0)
|
||||||
FindClosestSkinForStats(p, kartspeed[p], kartweight[p]);
|
FindClosestSkinForStats(p, kartspeed[p], kartweight[p]);
|
||||||
|
|
@ -3146,6 +3152,7 @@ void G_DoPlayDemo(char *defdemoname)
|
||||||
players[i].kartspeed = kartspeed[i];
|
players[i].kartspeed = kartspeed[i];
|
||||||
players[i].kartweight = kartweight[i];
|
players[i].kartweight = kartweight[i];
|
||||||
players[i].lastfakeskin = lastfakeskin[i];
|
players[i].lastfakeskin = lastfakeskin[i];
|
||||||
|
players[i].charflags = charflags[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
demo.deferstart = true;
|
demo.deferstart = true;
|
||||||
|
|
@ -3338,6 +3345,7 @@ void G_AddGhost(char *defdemoname)
|
||||||
kartspeed = READUINT8(p);
|
kartspeed = READUINT8(p);
|
||||||
kartweight = READUINT8(p);
|
kartweight = READUINT8(p);
|
||||||
p += 1; // lastfakeskin
|
p += 1; // lastfakeskin
|
||||||
|
p += 4; // charflags
|
||||||
|
|
||||||
p += 4; // followitem (maybe change later)
|
p += 4; // followitem (maybe change later)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue