mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Endianness fix for Splits
Discovered while reading over diff for `encouraging-splits`
This commit is contained in:
parent
bd753a9b59
commit
846042be93
1 changed files with 14 additions and 8 deletions
|
|
@ -2292,12 +2292,12 @@ void G_SetDemoCheckpointTiming(player_t *player, tic_t time, UINT8 checkpoint)
|
||||||
{
|
{
|
||||||
tic_t lowestend = UINT32_MAX;
|
tic_t lowestend = UINT32_MAX;
|
||||||
|
|
||||||
|
UINT32 points = K_GetNumGradingPoints();
|
||||||
|
|
||||||
for (g = ghosts; g; g = g->next)
|
for (g = ghosts; g; g = g->next)
|
||||||
{
|
{
|
||||||
boolean newtargetghost = false;
|
boolean newtargetghost = false;
|
||||||
|
|
||||||
UINT32 points = K_GetNumGradingPoints();
|
|
||||||
|
|
||||||
tic_t endtime = UINT32_MAX;
|
tic_t endtime = UINT32_MAX;
|
||||||
if (points <= MAXSPLITS)
|
if (points <= MAXSPLITS)
|
||||||
endtime = g->splits[points-1];
|
endtime = g->splits[points-1];
|
||||||
|
|
@ -2734,7 +2734,9 @@ void G_LoadDemoInfo(menudemo_t *pdemo, boolean allownonmultiplayer)
|
||||||
extrainfo_p = info.buffer + READUINT32(info.p); // The extra UINT32 read is for a blank 4 bytes?
|
extrainfo_p = info.buffer + READUINT32(info.p); // The extra UINT32 read is for a blank 4 bytes?
|
||||||
info.p += 4; // attack start
|
info.p += 4; // attack start
|
||||||
for (i = 0; i < MAXSPLITS; i++)
|
for (i = 0; i < MAXSPLITS; i++)
|
||||||
|
{
|
||||||
info.p += 4; // splits
|
info.p += 4; // splits
|
||||||
|
}
|
||||||
|
|
||||||
// Pared down version of CV_LoadNetVars to find the kart speed
|
// Pared down version of CV_LoadNetVars to find the kart speed
|
||||||
pdemo->kartspeed = KARTSPEED_NORMAL; // Default to normal speed
|
pdemo->kartspeed = KARTSPEED_NORMAL; // Default to normal speed
|
||||||
|
|
@ -3599,10 +3601,10 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname)
|
||||||
p += 4; // Extra data location reference
|
p += 4; // Extra data location reference
|
||||||
tic_t attackstart = READUINT32(p);
|
tic_t attackstart = READUINT32(p);
|
||||||
|
|
||||||
UINT8 *splits = p;
|
UINT32 splits[MAXSPLITS];
|
||||||
for (i = 0; i < MAXSPLITS; i++)
|
for (i = 0; i < MAXSPLITS; i++)
|
||||||
{
|
{
|
||||||
p += 4;
|
splits[i] = READUINT32(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
// net var data
|
// net var data
|
||||||
|
|
@ -3688,21 +3690,25 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname)
|
||||||
|
|
||||||
|
|
||||||
gh = static_cast<demoghost*>(Z_Calloc(sizeof(demoghost), PU_LEVEL, NULL));
|
gh = static_cast<demoghost*>(Z_Calloc(sizeof(demoghost), PU_LEVEL, NULL));
|
||||||
gh->sizes = ghostsizes;
|
|
||||||
gh->next = ghosts;
|
// buffer
|
||||||
gh->buffer = buffer->buffer;
|
gh->buffer = buffer->buffer;
|
||||||
M_Memcpy(gh->checksum, md5, 16);
|
M_Memcpy(gh->checksum, md5, 16);
|
||||||
gh->p = p;
|
gh->p = p;
|
||||||
|
|
||||||
|
// meta
|
||||||
gh->numskins = worknumskins;
|
gh->numskins = worknumskins;
|
||||||
gh->skinlist = skinlist;
|
gh->skinlist = skinlist;
|
||||||
|
|
||||||
gh->attackstart = attackstart;
|
gh->attackstart = attackstart;
|
||||||
std::memcpy(gh->splits, splits, sizeof(tic_t) * MAXSPLITS);
|
std::memcpy(gh->splits, splits, sizeof(tic_t) * MAXSPLITS);
|
||||||
|
|
||||||
|
// versioning
|
||||||
|
gh->version = ghostversion;
|
||||||
|
gh->sizes = ghostsizes;
|
||||||
|
|
||||||
|
gh->next = ghosts;
|
||||||
ghosts = gh;
|
ghosts = gh;
|
||||||
|
|
||||||
gh->version = ghostversion;
|
|
||||||
mthing = playerstarts[0] ? playerstarts[0] : deathmatchstarts[0]; // todo not correct but out of scope
|
mthing = playerstarts[0] ? playerstarts[0] : deathmatchstarts[0]; // todo not correct but out of scope
|
||||||
I_Assert(mthing);
|
I_Assert(mthing);
|
||||||
{ // A bit more complex than P_SpawnPlayer because ghosts aren't solid and won't just push themselves out of the ceiling.
|
{ // A bit more complex than P_SpawnPlayer because ghosts aren't solid and won't just push themselves out of the ceiling.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue