diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e0f3ba4ce..6d13a1462 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,7 +17,7 @@ add_executable(SRB2SDL2 MACOSX_BUNDLE WIN32 f_finale.c f_wipe.cpp g_build_ticcmd.cpp - g_demo.c + g_demo.cpp g_game.c g_gamedata.cpp g_input.c diff --git a/src/g_demo.c b/src/g_demo.cpp similarity index 97% rename from src/g_demo.c rename to src/g_demo.cpp index f3321cc90..2f84953b7 100644 --- a/src/g_demo.c +++ b/src/g_demo.cpp @@ -11,6 +11,8 @@ /// \file g_demo.c /// \brief Demo recording and playback +#include + #include "doomdef.h" #include "console.h" #include "d_main.h" @@ -266,7 +268,7 @@ void G_ReadDemoExtraData(void) break; case DXD_PST_LEFT: - CL_RemovePlayer(p, 0); + CL_RemovePlayer(p, static_cast(0)); break; } @@ -353,9 +355,9 @@ void G_ReadDemoExtraData(void) { rng = READUINT32(demobuf.p); - if (P_GetRandSeed(i) != rng) + if (P_GetRandSeed(static_cast(i)) != rng) { - P_SetRandSeed(i, rng); + P_SetRandSeed(static_cast(i), rng); if (demosynced) CONS_Alert(CONS_WARNING, "Demo playback has desynced (RNG class %d)!\n", i); @@ -494,7 +496,7 @@ void G_WriteDemoExtraData(void) for (i = 0; i < PRNUMSYNCED; i++) { - WRITEUINT32(demobuf.p, P_GetRandSeed(i)); + WRITEUINT32(demobuf.p, P_GetRandSeed(static_cast(i))); } } } @@ -706,7 +708,7 @@ void G_GhostAddHit(INT32 playernum, mobj_t *victim) return; ghostext[playernum].flags |= EZT_HIT; ghostext[playernum].hits++; - ghostext[playernum].hitlist = Z_Realloc(ghostext[playernum].hitlist, ghostext[playernum].hits * sizeof(mobj_t *), PU_LEVEL, NULL); + ghostext[playernum].hitlist = static_cast(Z_Realloc(ghostext[playernum].hitlist, ghostext[playernum].hits * sizeof(mobj_t *), PU_LEVEL, NULL)); P_SetTarget(ghostext[playernum].hitlist + (ghostext[playernum].hits-1), victim); } @@ -1400,7 +1402,7 @@ readghosttic: } } if (xziptic & EZT_SPRITE) - g->mo->sprite = READUINT16(g->p); + g->mo->sprite = static_cast(READUINT16(g->p)); if (xziptic & EZT_ITEMDATA) g->p += 1 + 1 + 4; // itemtype, itemamount, health if (xziptic & EZT_STATDATA) @@ -1467,7 +1469,7 @@ readghosttic: follow->sprite2 = READUINT8(g->p); else follow->sprite2 = 0; - follow->sprite = READUINT16(g->p); + follow->sprite = static_cast(READUINT16(g->p)); follow->frame = (READUINT8(g->p)) | (g->mo->frame & FF_TRANSMASK); follow->angle = g->mo->angle; follow->color = READUINT16(g->p); @@ -1582,7 +1584,7 @@ void G_StoreRewindInfo(void) return; timetolog = 8; - info = Z_Calloc(sizeof(rewindinfo_t), PU_STATIC, NULL); + info = static_cast(Z_Calloc(sizeof(rewindinfo_t), PU_STATIC, NULL)); for (i = 0; i < MAXPLAYERS; i++) { @@ -1907,7 +1909,7 @@ static UINT8 G_CheckDemoExtraFiles(savebuffer_t *info, boolean quick) { if (!toomany) { - strlcpy(filename, (char *)info->p, min(P_SaveBufferRemaining(info) + 1, sizeof filename)); + strlcpy(filename, (char *)info->p, std::min(P_SaveBufferRemaining(info) + 1, sizeof filename)); } SKIPSTRINGN(info->p, P_SaveBufferRemaining(info)); @@ -2011,7 +2013,7 @@ static democharlist_t *G_LoadDemoSkins(savebuffer_t *info, UINT8 *worknumskins, if (!(*worknumskins)) return NULL; - skinlist = Z_Calloc(sizeof(democharlist_t) * (*worknumskins), PU_STATIC, NULL); + skinlist = static_cast(Z_Calloc(sizeof(democharlist_t) * (*worknumskins), PU_STATIC, NULL)); if (!skinlist) { I_Error("G_LoadDemoSkins: Insufficient memory to allocate list"); @@ -2181,7 +2183,7 @@ void G_BeginRecording(void) for (i = 0; i < PRNUMSYNCED; i++) { - WRITEUINT32(demobuf.p, P_GetInitSeed(i)); + WRITEUINT32(demobuf.p, P_GetInitSeed(static_cast(i))); } // Reserved for extrainfo location from start of file @@ -2584,7 +2586,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo) goto badreplay; } info.p += 4; // "PLAY" - READSTRINGN(info.p, mapname, min(P_SaveBufferRemaining(&info), sizeof(mapname))); + READSTRINGN(info.p, mapname, std::min(P_SaveBufferRemaining(&info), sizeof(mapname))); pdemo->map = G_MapNumber(mapname); info.p += 16; // mapmd5 @@ -2602,7 +2604,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo) goto badreplay; } - READSTRINGN(info.p, gtname, min(P_SaveBufferRemaining(&info), sizeof(gtname))); // gametype + READSTRINGN(info.p, gtname, std::min(P_SaveBufferRemaining(&info), sizeof(gtname))); // gametype pdemo->gametype = G_GetGametypeByName(gtname); if (P_SaveBufferRemaining(&info) < 1) @@ -2774,7 +2776,7 @@ void G_DoPlayDemo(const char *defdemoname) if (defdemoname == NULL) { demobuf.p = demobuf.buffer; - pdemoname = ZZ_Alloc(1); // Easier than adding checks for this everywhere it's freed + pdemoname = static_cast(ZZ_Alloc(1)); // Easier than adding checks for this everywhere it's freed } else { @@ -2787,7 +2789,7 @@ void G_DoPlayDemo(const char *defdemoname) n--; if (n != defdemoname) n++; - pdemoname = ZZ_Alloc(strlen(n)+1); + pdemoname = static_cast(ZZ_Alloc(strlen(n)+1)); strcpy(pdemoname,n); M_SetPlaybackMenuPointer(); @@ -3065,7 +3067,7 @@ void G_DoPlayDemo(const char *defdemoname) grandprixinfo.gp = true; grandprixinfo.gamespeed = READUINT8(demobuf.p); grandprixinfo.masterbots = READUINT8(demobuf.p) != 0; - grandprixinfo.eventmode = READUINT8(demobuf.p); + grandprixinfo.eventmode = static_cast(READUINT8(demobuf.p)); } // Sigh ... it's an empty demo. @@ -3236,7 +3238,7 @@ void G_DoPlayDemo(const char *defdemoname) clientpowerlevels[p][gametype == GT_BATTLE ? PWRLV_BATTLE : PWRLV_RACE] = READUINT16(demobuf.p); // Followitem - players[p].followitem = READUINT32(demobuf.p); + players[p].followitem = static_cast(READUINT32(demobuf.p)); // GP players[p].lives = READSINT8(demobuf.p); @@ -3262,7 +3264,7 @@ void G_DoPlayDemo(const char *defdemoname) if (demo.attract == DEMO_ATTRACT_TITLE) { splitscreen = M_RandomKey(6)-1; - splitscreen = min(min(3, numslots-1), splitscreen); // Bias toward 1p and 4p views + splitscreen = std::min(std::min(3, numslots-1), splitscreen); // Bias toward 1p and 4p views for (p = 0; p <= splitscreen; p++) G_ResetView(p+1, slots[M_RandomKey(numslots)], false); @@ -3272,7 +3274,7 @@ void G_DoPlayDemo(const char *defdemoname) for (i = 0; i < PRNUMSYNCED; i++) { - P_SetRandSeed(i, randseed[i]); + P_SetRandSeed(static_cast(i), randseed[i]); } G_InitNew((demoflags & DF_ENCORE) != 0, gamemap, true, true); // Doesn't matter whether you reset or not here, given changes to resetplayer. @@ -3484,7 +3486,7 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname) } - gh = Z_Calloc(sizeof(demoghost), PU_LEVEL, NULL); + gh = static_cast(Z_Calloc(sizeof(demoghost), PU_LEVEL, NULL)); gh->next = ghosts; gh->buffer = buffer->buffer; M_Memcpy(gh->checksum, md5, 16); @@ -3651,7 +3653,7 @@ staffbrief_t *G_GetStaffGhostBrief(UINT8 *buffer) M_Memcpy(temp.name, p, 16); - ret = Z_Malloc(sizeof(staffbrief_t), PU_STATIC, NULL); + ret = static_cast(Z_Malloc(sizeof(staffbrief_t), PU_STATIC, NULL)); if (ret) M_Memcpy(ret, &temp, sizeof(staffbrief_t)); @@ -3732,7 +3734,7 @@ static void G_StopTimingDemo(void) if (timedemo_csv) { FILE *f; - const char *csvpath = va("%s"PATHSEP"%s", srb2home, "timedemo.csv"); + const char *csvpath = va("%s" PATHSEP "%s", srb2home, "timedemo.csv"); const char *header = "id,demoname,seconds,avgfps,leveltime,demotime,framecount,ticrate,rendermode,vidmode,vidwidth,vidheight,procbits\n"; const char *rowformat = "\"%s\",\"%s\",%f,%f,%u,%d,%u,%u,%u,%u,%u,%u,%u\n"; boolean headerrow = !FIL_FileExists(csvpath); @@ -3836,7 +3838,7 @@ boolean G_CheckDemoStatus(void) if (!demo.recording) return false; - if (modeattacking || demo.savemode != DSM_NOTSAVING) + if (modeattacking || demo.savemode != demovars_s::DSM_NOTSAVING) { if (demobuf.p) { @@ -3923,13 +3925,13 @@ void G_SaveDemo(void) #endif if (FIL_WriteFile(demoname, demobuf.buffer, demobuf.p - demobuf.buffer)) // finally output the file. - demo.savemode = DSM_SAVED; + demo.savemode = demovars_s::DSM_SAVED; Z_Free(demobuf.buffer); demo.recording = false; if (!modeattacking) { - if (demo.savemode == DSM_SAVED) + if (demo.savemode == demovars_s::DSM_SAVED) { CONS_Printf(M_GetText("Demo %s recorded\n"), demoname); if (gamedata->eversavedreplay == false) @@ -3957,13 +3959,13 @@ boolean G_DemoTitleResponder(event_t *ev) // Only ESC and non-keyboard keys abort connection if (ch == KEY_ESCAPE) { - demo.savemode = (cv_recordmultiplayerdemos.value == 2) ? DSM_WILLAUTOSAVE : DSM_NOTSAVING; + demo.savemode = (cv_recordmultiplayerdemos.value == 2) ? demovars_s::DSM_WILLAUTOSAVE : demovars_s::DSM_NOTSAVING; return true; } if (ch == KEY_ENTER || ch >= NUMKEYS) { - demo.savemode = DSM_WILLSAVE; + demo.savemode = demovars_s::DSM_WILLSAVE; return true; } @@ -4001,7 +4003,7 @@ boolean G_CheckDemoTitleEntry(void) if (!G_PlayerInputDown(0, gc_b, 0) && !G_PlayerInputDown(0, gc_x, 0)) return false; - demo.savemode = DSM_TITLEENTRY; + demo.savemode = demovars_s::DSM_TITLEENTRY; return true; }