diff --git a/CMakeLists.txt b/CMakeLists.txt
index 50b73d8..36320a2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,7 @@ set(SOURCES
src/src/drawstuff.cc
src/src/clouds.cc
src/src/cars.cc
+ src/src/menus.cc
)
set(ASSETS_cg
@@ -44,8 +45,13 @@ set(ASSETS_cg
assets-cg/billboard/rightturn.png
assets-cg/billboard/uphill.png
assets-cg/billboard/downhill.png
+ assets-cg/billboard/checkpoint.png
assets-cg/fonts/speedfont.png
+ assets-cg/fonts/auto15.png
+ assets-cg/fonts/auto20.png
+ assets-cg/menus/flag.png
assets-cg/hud/speedhud.png
+ assets-cg/screens/mainscreen.png
)
fxconv_declare_assets(${ASSETS_cg} WITH_METADATA)
diff --git a/CppOutRun.cbp b/CppOutRun.cbp
index 6a04d9f..200dd18 100644
--- a/CppOutRun.cbp
+++ b/CppOutRun.cbp
@@ -26,6 +26,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -43,6 +45,7 @@
+
diff --git a/CppOutRun.layout b/CppOutRun.layout
index e429c85..c79b1f2 100644
--- a/CppOutRun.layout
+++ b/CppOutRun.layout
@@ -2,6 +2,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12,24 +32,54 @@
-
+
-
-
-
-
-
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -37,9 +87,14 @@
-
+
-
+
+
+
+
+
+
@@ -49,7 +104,12 @@
-
+
+
+
+
+
+
@@ -57,39 +117,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/TODO.txt b/TODO.txt
new file mode 100644
index 0000000..f24443e
--- /dev/null
+++ b/TODO.txt
@@ -0,0 +1,22 @@
+
+Add Start line with green/orange/red lights for start
+Add Finish line
+Add Checkpoints
+
+
+Menus and Options
+
+Add Player name (3 letters on car plate)
+
+
+Traffic AI
+
+Circuit editor ?
+
+Various circuit
+
+Additional landscapes / sprites / biomes
+
+
+
+Color Palet transformation for vegetation depending on biomes (plains = greenish / desert = yellowish / ... )
diff --git a/assets-cg/billboard/checkpoint.png b/assets-cg/billboard/checkpoint.png
new file mode 100644
index 0000000..f8f283e
Binary files /dev/null and b/assets-cg/billboard/checkpoint.png differ
diff --git a/assets-cg/billboard/startlights.png b/assets-cg/billboard/startlights.png
new file mode 100644
index 0000000..83fb08c
Binary files /dev/null and b/assets-cg/billboard/startlights.png differ
diff --git a/assets-cg/billboard/stoplights.png b/assets-cg/billboard/stoplights.png
new file mode 100644
index 0000000..a6a74de
Binary files /dev/null and b/assets-cg/billboard/stoplights.png differ
diff --git a/assets-cg/billboard/waitlights.png b/assets-cg/billboard/waitlights.png
new file mode 100644
index 0000000..d80f173
Binary files /dev/null and b/assets-cg/billboard/waitlights.png differ
diff --git a/assets-cg/fonts/auto15.png b/assets-cg/fonts/auto15.png
new file mode 100644
index 0000000..cd55c7a
Binary files /dev/null and b/assets-cg/fonts/auto15.png differ
diff --git a/assets-cg/fonts/auto20.png b/assets-cg/fonts/auto20.png
new file mode 100644
index 0000000..2dc5192
Binary files /dev/null and b/assets-cg/fonts/auto20.png differ
diff --git a/assets-cg/fonts/auto_digital.ttf b/assets-cg/fonts/auto_digital.ttf
new file mode 100644
index 0000000..c778131
Binary files /dev/null and b/assets-cg/fonts/auto_digital.ttf differ
diff --git a/assets-cg/fonts/fxconv-metadata.txt b/assets-cg/fonts/fxconv-metadata.txt
index c2fc03c..7f4df51 100644
--- a/assets-cg/fonts/fxconv-metadata.txt
+++ b/assets-cg/fonts/fxconv-metadata.txt
@@ -7,3 +7,17 @@ speedfont.png:
grid.border: 0
proportional: true
height: 18
+
+auto15.png:
+ name: autofont
+ type: font
+ charset: print
+ grid.size: 21x28
+
+auto20.png:
+ name: autofontsmall
+ type: font
+ charset: print
+ grid.size: 14x20
+
+
diff --git a/assets-cg/fonts/gff b/assets-cg/fonts/gff
new file mode 100644
index 0000000..bce4402
--- /dev/null
+++ b/assets-cg/fonts/gff
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+from math import ceil
+from sys import argv
+from PIL import Image, ImageDraw, ImageFont
+
+if (len(argv) < 4):
+ raise BaseException("At least three arguments expected: " + \
+ "