diff --git a/.changes/unreleased/Added-20230723-223347.yaml b/.changes/unreleased/Added-20230723-223347.yaml
new file mode 100644
index 000000000..bb9c489c9
--- /dev/null
+++ b/.changes/unreleased/Added-20230723-223347.yaml
@@ -0,0 +1,4 @@
+kind: Added
+body: 'Pixel Wheels got a new vehicle: the BRGP42, an old F1 inspired from the Lola
+ Mk4.'
+time: 2023-07-23T22:33:47.129344816+02:00
diff --git a/android/assets/po/bn.po b/android/assets/po/bn.po
index b8c2dd4ad..7809bbd98 100644
--- a/android/assets/po/bn.po
+++ b/android/assets/po/bn.po
@@ -578,6 +578,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr ""
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/de.po b/android/assets/po/de.po
index 01f58a66f..c330f2574 100644
--- a/android/assets/po/de.po
+++ b/android/assets/po/de.po
@@ -569,6 +569,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/eo.po b/android/assets/po/eo.po
index cff1cfa6d..220b69732 100644
--- a/android/assets/po/eo.po
+++ b/android/assets/po/eo.po
@@ -574,6 +574,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/es.po b/android/assets/po/es.po
index da1436a4d..a16b10ace 100644
--- a/android/assets/po/es.po
+++ b/android/assets/po/es.po
@@ -575,6 +575,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/eu.po b/android/assets/po/eu.po
index c3a7f1507..b5c6c0bb3 100644
--- a/android/assets/po/eu.po
+++ b/android/assets/po/eu.po
@@ -576,6 +576,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/fr.po b/android/assets/po/fr.po
index 52a0e20bb..9257c2a99 100644
--- a/android/assets/po/fr.po
+++ b/android/assets/po/fr.po
@@ -570,6 +570,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/hu.po b/android/assets/po/hu.po
index 4cf9f9f3d..30834d493 100644
--- a/android/assets/po/hu.po
+++ b/android/assets/po/hu.po
@@ -573,6 +573,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/it_IT.po b/android/assets/po/it_IT.po
index 11e7bad1f..412f79199 100644
--- a/android/assets/po/it_IT.po
+++ b/android/assets/po/it_IT.po
@@ -569,6 +569,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/messages.pot b/android/assets/po/messages.pot
index 2d35ee193..c52774c6b 100644
--- a/android/assets/po/messages.pot
+++ b/android/assets/po/messages.pot
@@ -563,6 +563,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr ""
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/nl.po b/android/assets/po/nl.po
index 421c936d4..55af588c1 100644
--- a/android/assets/po/nl.po
+++ b/android/assets/po/nl.po
@@ -574,6 +574,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/pl.po b/android/assets/po/pl.po
index 994635808..90f48ef55 100644
--- a/android/assets/po/pl.po
+++ b/android/assets/po/pl.po
@@ -577,6 +577,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/ru.po b/android/assets/po/ru.po
index e600b8fc0..f93349c65 100644
--- a/android/assets/po/ru.po
+++ b/android/assets/po/ru.po
@@ -573,6 +573,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Мирамар"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/sv.po b/android/assets/po/sv.po
index 33d6f5bd6..9413f3c64 100644
--- a/android/assets/po/sv.po
+++ b/android/assets/po/sv.po
@@ -574,6 +574,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/tr.po b/android/assets/po/tr.po
index 4ef50f92e..8c6456fe5 100644
--- a/android/assets/po/tr.po
+++ b/android/assets/po/tr.po
@@ -567,6 +567,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr "Miramar"
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/po/zh_CN.po b/android/assets/po/zh_CN.po
index 1b7d76aba..d65283336 100644
--- a/android/assets/po/zh_CN.po
+++ b/android/assets/po/zh_CN.po
@@ -572,6 +572,11 @@ msgctxt "vehicle"
msgid "Miramar"
msgstr ""
+#: android/assets/vehicles/old-f1.xml:1
+msgctxt "vehicle"
+msgid "BRGP42"
+msgstr ""
+
#: android/assets/vehicles/pickup.xml:1
msgctxt "vehicle"
msgid "Pickup"
diff --git a/android/assets/vehicles/old-f1.xml b/android/assets/vehicles/old-f1.xml
new file mode 100644
index 000000000..9e605c58b
--- /dev/null
+++ b/android/assets/vehicles/old-f1.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/core/assets-src/sprites/tires/THIN-splash.anim.ase b/core/assets-src/sprites/tires/THIN-splash.anim.ase
new file mode 100644
index 000000000..ed38a2d7c
Binary files /dev/null and b/core/assets-src/sprites/tires/THIN-splash.anim.ase differ
diff --git a/core/assets-src/sprites/tires/THIN.still.ase b/core/assets-src/sprites/tires/THIN.still.ase
new file mode 100644
index 000000000..8dc33b23c
Binary files /dev/null and b/core/assets-src/sprites/tires/THIN.still.ase differ
diff --git a/core/assets-src/sprites/vehicles/old-f1.ase b/core/assets-src/sprites/vehicles/old-f1.ase
new file mode 100644
index 000000000..56d682be7
Binary files /dev/null and b/core/assets-src/sprites/vehicles/old-f1.ase differ
diff --git a/core/src/com/agateau/pixelwheels/Assets.java b/core/src/com/agateau/pixelwheels/Assets.java
index cc8180c57..9f0fb4048 100644
--- a/core/src/com/agateau/pixelwheels/Assets.java
+++ b/core/src/com/agateau/pixelwheels/Assets.java
@@ -68,6 +68,7 @@ public class Assets implements TextureRegionProvider {
"jeep",
"miramar",
"bigfoot",
+ "old-f1",
};
public static final String MENU_MUSIC_ID = "menu";
diff --git a/core/src/com/agateau/pixelwheels/RewardManagerSetup.java b/core/src/com/agateau/pixelwheels/RewardManagerSetup.java
index 694f6f1cd..fc6ed2edf 100644
--- a/core/src/com/agateau/pixelwheels/RewardManagerSetup.java
+++ b/core/src/com/agateau/pixelwheels/RewardManagerSetup.java
@@ -144,6 +144,10 @@ static void createVehicleRules(RewardManager rewardManager, Assets assets) {
Reward.get(assets.findVehicleDefById("miramar")),
new ChampionshipRankRewardRule(assets.findChampionshipById("city"), 1));
+ rewardManager.addRule(
+ Reward.get(assets.findVehicleDefById("old-f1")),
+ new ChampionshipRankRewardRule(assets.findChampionshipById("city"), 0));
+
// Unlock all remaining vehicles
for (VehicleDef vehicleDef : assets.vehicleDefs) {
Reward reward = Reward.get(vehicleDef);
diff --git a/core/src/com/agateau/pixelwheels/utils/BodyRegionDrawer.java b/core/src/com/agateau/pixelwheels/utils/BodyRegionDrawer.java
index 6822839de..e4d3d7186 100644
--- a/core/src/com/agateau/pixelwheels/utils/BodyRegionDrawer.java
+++ b/core/src/com/agateau/pixelwheels/utils/BodyRegionDrawer.java
@@ -28,7 +28,7 @@
/** Helper class to draw a TextureRegion for a Box2D Body */
public class BodyRegionDrawer {
public static final float SHADOW_ALPHA = 0.35f;
- public static final float SHADOW_OFFSET_PX = 6;
+ public static final float SHADOW_OFFSET_PX = 3;
private static final int Z_MAX_SHADOW_OFFSET_PX = 30;
private static final int SCALE_MAX_SHADOW_OFFSET_PX = 30;
private Batch mBatch;
diff --git a/core/src/com/agateau/pixelwheels/vehicledef/AxleDef.java b/core/src/com/agateau/pixelwheels/vehicledef/AxleDef.java
index 85d9663fc..12e57e4fa 100644
--- a/core/src/com/agateau/pixelwheels/vehicledef/AxleDef.java
+++ b/core/src/com/agateau/pixelwheels/vehicledef/AxleDef.java
@@ -29,6 +29,7 @@ public class AxleDef {
private static final float SPLASH_FRAME_DURATION = 0.04f;
public enum TireSize {
+ THIN(0.2f),
NORMAL(0.2f),
LARGE(0.2f),
HUGE(0.05f);
diff --git a/docs/vehicles.md b/docs/vehicles.md
index 0f4f45c01..020c86e88 100644
--- a/docs/vehicles.md
+++ b/docs/vehicles.md
@@ -26,6 +26,6 @@
- `x`, `y`: the shape bottom-left corner. Defaults to centered if not set.
- ``: An axle linking two wheels. Can (should!) appear multiple times.
- `y`: y position.
- - `width`: width.
+ - `width`: width from wheel center to wheel center.
- `steer`: a float indicating if the wheels can be used to steer. 0 means no steering. 1 means steering in the selected direction, -1 means steering in the opposite direction (useful for steering rear wheels). Defaults to 0.
- `tireSize`: the size of the tires on this axle. Must be one of the values of the `AxleDef.TireSize` enum. Defaults to NORMAL.