diff --git a/game.h b/game.h index 249eb3b..79ec27f 100644 --- a/game.h +++ b/game.h @@ -1256,8 +1256,18 @@ void LCR_gameDraw3DView(void) if (LCR_game.ghost.active && LCR_game.state != LCR_GAME_STATE_RUN_STARTING) { + LCR_GameUnit carTransform2[3]; + LCR_rendererSetGhostVisibility(1); + + LCR_gameGhostGetTransform(LCR_racing.tick + 1,carTransform2, + carTransform + 3); LCR_gameGhostGetTransform(LCR_racing.tick,carTransform,carTransform + 3); + + for (int i = 0; i < 3; ++i) + carTransform[i] += ((carTransform2[i] - carTransform[i]) * + physicsInterpolationParam) / LCR_GAME_UNIT; + LCR_rendererSetGhostTransform(carTransform,carTransform + 3); } else diff --git a/general.h b/general.h index 1bf801f..5046bf2 100644 --- a/general.h +++ b/general.h @@ -14,6 +14,12 @@ #include #include "settings.h" +#define LCR_EFFECTIVE_RESOLUTION_X \ + (LCR_SETTING_RESOLUTION_X / LCR_SETTING_RESOLUTION_SUBDIVIDE) + +#define LCR_EFFECTIVE_RESOLUTION_Y \ + (LCR_SETTING_RESOLUTION_Y / LCR_SETTING_RESOLUTION_SUBDIVIDE) + #ifdef LCR_MODULE_NAME #undef LCR_MODULE_NAME #endif diff --git a/renderer.h b/renderer.h index 19c3041..ff3dd5b 100644 --- a/renderer.h +++ b/renderer.h @@ -26,12 +26,6 @@ rasterized pixel. */ -#define LCR_EFFECTIVE_RESOLUTION_X \ - (LCR_SETTING_RESOLUTION_X / LCR_SETTING_RESOLUTION_SUBDIVIDE) - -#define LCR_EFFECTIVE_RESOLUTION_Y \ - (LCR_SETTING_RESOLUTION_Y / LCR_SETTING_RESOLUTION_SUBDIVIDE) - #define S3L_RESOLUTION_X LCR_EFFECTIVE_RESOLUTION_X #define S3L_RESOLUTION_Y LCR_EFFECTIVE_RESOLUTION_Y #define S3L_PIXEL_FUNCTION _LCR_pixelFunc3D