From 1c1f8a83bb42af7e3a23f1912a0f4b00dca4448b Mon Sep 17 00:00:00 2001 From: Miloslav Ciz Date: Wed, 9 Apr 2025 15:40:25 +0200 Subject: [PATCH] Tune physics again --- TODO.txt | 1 + data | 6 ++++++ racing.h | 12 ++++++------ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/TODO.txt b/TODO.txt index 85e1742..345f03b 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,5 +1,6 @@ =========== GENERAL ============== +- Fix weird reversing. - Try doing the bouncy car body? Just keep a point and its velocity, change its velocity by a proportion of car's velocity change (this minus prev. frame), then offset car body by this. However we'll also have to transform diff --git a/data b/data index de6d188..821aded 100644 --- a/data +++ b/data @@ -53,3 +53,9 @@ details :.B1w1J :f112 :=h0h2 :fl12 :f11o :=B0i2 :f11m :=m0n2 :fb12 :*n1EI :!n1F :+p1r :+y1l :+y3I :+k1l +#RLC1;00LC1;8bd6e314 0000533:0011:02b9:0091:00a9:0041:0089:0031:0059:0021:00d3:0061:0109:0111:00c5:0051:00e9:0181:0043:0081:00d9:0041:0099:0041:0089:0031:0079:0041:0049:0041:0179:0031:00d3:0021:00d5:0031:01a3:0041:0103:00a1:0013:0021:0033:00f1:0083:0041:0179:0021:03f9:0021:0123:0011 +#BLC1; +#RLC4;00LC4;bcf27d79 0000777:0011:0119:0131:0039:00c1:0079:0041:0059:0031:00f9:0031:00a9:0041:00b3:0031:0183:0021:0083:0031:0043:0021:0023:0041:0079:0091:0053:0031:0053:0051:0079:0051:0083:0051:0013:0041:0033:0051:0103:0071:00b9:0021:0093:0031:0069:0011:0089:0051:0059:0011:00b9:0021:0063:0081:00b9:0051:0243:0021:00d3:0041:0073:0031:0013:0011:0033:0051:0073:0061:0043:0031:0079:0031:00f3:0031:0089:0021:0399:0021:0073:0051:0073:0021:00f3:00c1:00f9:0061:0043:00c1:00a3:0041:0089:0051:0093:0051:0049:0041:0069:0031:0029:0021:0133:0041:0049:0031:0083:0021:0069:0041:0043:0031 +#BLC4; +#RLC4;00LC4;bcf27d79 0000737:0011:0149:00d1:0089:0011:00a9:0031:0059:0031:0079:0021:00d9:0021:01f9:0021:0313:0041:01e3:0021:0059:0041:0039:0071:0039:0011:0059:00d1:0159:0011:0399:0021:0093:0041:00a9:0021:0129:0011:0089:0051:0039:0031:0069:0081:0099:0041:0059:0041:0073:0031:0079:0031:00b9:0031:0039:0031:0063:0051:0043:0021:0033:0051:0099:0021:0099:0031:00b9:0031:0049:0031:0059:0071:0149:0041:0039:0041:0039:0041:0033:0051:0049:00c1:0073:0041:0233:0041:00a3:0041:00c3:0031:02a9 +#RLC4;00LC4;bcf27d79 0000746:0011:00f9:0191:0039:0061:0069:00b1:0033:0081:0079:0041:0139:0031:01e3:0041:00f3:0051:0079:0061:00b3:0051:0099:0051:00b9:0021:0013:00c1:0033:00d1:0079:0041:0053:0051:0079:0061:0199:0031:0083:0041:0053:0051:0013:0041:0049:0061:0099:0031:0223:0061:0063:00a1:0083:0091:0063:0011:0089:0031:00d9:0021:00e9:0021:00b3:0021:01a5:0021:00a9:0031:0183:0141:0219:0031:0153:0081:0049:00a1:00a3:0051:0113:0031:00a3:0031:0245 diff --git a/racing.h b/racing.h index 72445ab..f0fd9c6 100644 --- a/racing.h +++ b/racing.h @@ -58,10 +58,10 @@ typedef int32_t LCR_GameUnit; ///< abstract game unit #define LCR_PHYSICS_UNIT 4096 ///< len. of square for phys. engine #define TPE_RESHAPE_TENSION_LIMIT 3 -#define TPE_RESHAPE_ITERATIONS 15 /** a lot, but seems to help with the - bug that happens when driving onto - curved ramp diagonally at high - speed */ +#define TPE_RESHAPE_ITERATIONS 3 /**< Empirically tested, seems to have a + big impact on bugs that happen when + driving onto a curved ramp under + various angles. */ #include "general.h" #include "map.h" #include "tinyphysicsengine.h" @@ -76,9 +76,9 @@ typedef int32_t LCR_GameUnit; ///< abstract game unit #define LCR_CAR_STEER_FRICTION ((3 * TPE_F) / 4) #define LCR_CAR_ELASTICITY (TPE_F / 64) #define LCR_CAR_ACCELERATION (LCR_PHYSICS_UNIT / 9) -#define LCR_CAR_STEER_SPEED 52 ///< 0 to 64, lower is faster -#define LCR_CAR_STEER_SLOWDOWN 128 ///< slows down steering at higher speeds #define LCR_CAR_STEER_MAX (LCR_GAME_UNIT / 2) +#define LCR_CAR_STEER_SPEED 50 ///< 0 to 64, lower is faster +#define LCR_CAR_STEER_SLOWDOWN 64 ///< slows down steering at higher speeds #define LCR_CAR_ACCELERATOR_FACTOR 2 #define LCR_CAR_WHEEL_AIR_ROTATION_SPEED (LCR_GAME_UNIT / 32)