Update mod

This commit is contained in:
Miloslav Ciz 2025-07-07 08:05:32 +02:00
parent 5fe854373d
commit c049e2f536
2 changed files with 26 additions and 21 deletions

View file

@ -2,18 +2,6 @@ fuck issue trackers :D
=========== GENERAL ==============
- TAS mod:
- rename "view replay" to "load replay"
- add option to main menu to manipulate time speed (step let's say by 20%)
- maybe also the rewind step?
- more stuff in HUD:
- with time also show exact physics ticks
- acceleration
- percentage of triggering a drift
- min/max (or average?) speed during recent N frames?
- exact game coords and rot.?
- wheels touching the ground
=========== BUGS =================
- another TCC bug: tiny map 4 replay fails
@ -85,6 +73,17 @@ fuck issue trackers :D
=========== HANDLED ==============
- use other libs than glibc (musl, ...)
- TAS mod:
- rename "view replay" to "load replay"
- add option to main menu to manipulate time speed (step let's say by 20%)
- maybe also the rewind step?
- more stuff in HUD:
- with time also show exact physics ticks
- acceleration
- percentage of triggering a drift
- min/max (or average?) speed during recent N frames?
- exact game coords and rot.?
- wheels touching the ground
- replay loading BUG! somehow map2 replay was saves with hash 05ef0ab1 instead
of correct 3c5ba5dd once, WTF, check where hash gets modified NEVER HAPPENED
AGAIN THO

View file

@ -2,10 +2,10 @@ Simple mod that will print run stats (such as maximum speed or acceleration) to
the console upon finishing (in normal run or replay).
diff --git a/frontend_helper.h b/frontend_helper.h
index f95b078..3b6bb44 100644
index f95b078..f006fe4 100644
--- a/frontend_helper.h
+++ b/frontend_helper.h
@@ -128,3 +128,60 @@ void closeDataFile(void)
@@ -128,3 +128,63 @@ void closeDataFile(void)
fclose(dataFile);
#endif
}
@ -64,13 +64,16 @@ index f95b078..3b6bb44 100644
+ putchar(' ');
+ _printStatVal(stats[16],100);
+
+ printf("; drift: ");
+ _printStatVal(stats[17],1);
+
+ putchar('\n');
+}
diff --git a/game.h b/game.h
index 1ad5131..c20b103 100644
index 1ad5131..0ec623d 100644
--- a/game.h
+++ b/game.h
@@ -167,6 +167,32 @@ uint8_t LCR_gameMusicOn(void);
@@ -167,6 +167,33 @@ uint8_t LCR_gameMusicOn(void);
*/
uint8_t LCR_gameGetNextAudioSample(void);
@ -91,7 +94,8 @@ index 1ad5131..c20b103 100644
+#define LCR_STATS_KEY_FRAMES_R 14
+#define LCR_STATS_KEY_FRAMES_L 15
+#define LCR_STATS_KEYS_AVG_X100 16
+#define _LCR_STATS_TOTAL 17
+#define LCR_STATS_DRIFT_FRAMES 17
+#define _LCR_STATS_TOTAL 18
+
+/**
+ Will be called to present run stats, implement the presentation however you
@ -103,7 +107,7 @@ index 1ad5131..c20b103 100644
/**
This macro may be redefined by frontend to a command that will be periodically
performed during map loading. This exists to prevent making the program seem
@@ -386,6 +412,9 @@ struct
@@ -386,6 +413,9 @@ struct
uint8_t renderFramesMeasured;
uint8_t physicsFramesMeasured;
#endif
@ -113,7 +117,7 @@ index 1ad5131..c20b103 100644
} LCR_game;
uint8_t LCR_gameMusicOn(void)
@@ -494,6 +523,11 @@ void LCR_gameResetRun(uint8_t replay, uint8_t ghost)
@@ -494,6 +524,11 @@ void LCR_gameResetRun(uint8_t replay, uint8_t ghost)
LCR_racingGetCarTransform(carTransform,carTransform + 3,0);
LCR_rendererSetCarTransform(carTransform,carTransform + 3);
@ -125,7 +129,7 @@ index 1ad5131..c20b103 100644
if (LCR_game.cameraMode != LCR_CAMERA_MODE_FREE)
{
LCR_rendererCameraReset();
@@ -1776,6 +1810,61 @@ uint8_t LCR_gameStep(uint32_t time)
@@ -1776,6 +1811,63 @@ uint8_t LCR_gameStep(uint32_t time)
uint32_t events = paused ? 0 : LCR_racingStep(input);
@ -138,6 +142,8 @@ index 1ad5131..c20b103 100644
+
+ LCR_game.stats[LCR_STATS_SPEED_MH_AVG] += stat;
+
+ LCR_game.stats[LCR_STATS_DRIFT_FRAMES] += LCR_racing.carDrifting;
+
+ if ((LCR_racing.wheelCollisions & 0x0f) == 0)
+ LCR_game.stats[LCR_STATS_SURF_PERC_AIR]++;
+ else if (LCR_racingCurrentGroundMaterial() == LCR_BLOCK_MATERIAL_GRASS)
@ -187,7 +193,7 @@ index 1ad5131..c20b103 100644
#if LCR_SETTING_PARTICLES
LCR_rendererSetParticles(0);
@@ -1816,6 +1905,46 @@ uint8_t LCR_gameStep(uint32_t time)
@@ -1816,6 +1908,46 @@ uint8_t LCR_gameStep(uint32_t time)
LCR_LOG1("finished, time:");
LCR_LOG1_NUM(LCR_game.runTime);