summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Game.cc (renamed from src/Main.cpp)6
-rw-r--r--src/Game.h4
-rw-r--r--src/GameDraw.cpp20
-rw-r--r--src/main.zig5
4 files changed, 11 insertions, 24 deletions
diff --git a/src/Main.cpp b/src/Game.cc
index 5873425..be16a7a 100644
--- a/src/Main.cpp
+++ b/src/Game.cc
@@ -19,11 +19,9 @@
 
 #include "Game.h"
 
-// Globals are zero-initialized.
-Game game;
-
-int main(int argc, char *argv[])
+void run()
 {
+	Game game {};
 	game.InitGL();
 	game.InitGame();
 	game.EventLoop();
diff --git a/src/Game.h b/src/Game.h
index cdc05c8..a1fc4ae 100644
--- a/src/Game.h
+++ b/src/Game.h
@@ -201,4 +201,8 @@ public:
 	void InitGame();
 	~Game();
 };
+
+extern "C" {
+	void run();
+}
 #endif // BLACKSHADES_GAME_H
diff --git a/src/GameDraw.cpp b/src/GameDraw.cpp
index 6ddfed8..925cf38 100644
--- a/src/GameDraw.cpp
+++ b/src/GameDraw.cpp
@@ -1,46 +1,26 @@
 #include "Game.h"
 
 extern int thirdperson;
-
 extern double multiplier;
-
 extern int nocolors;
-
 extern int visions;
-
 extern unsigned int gSourceID[100];
-
 extern unsigned int gSampleSet[100];
-
 extern Camera camera;
-
 extern Sprites sprites;
-
 extern float camerashake;
-
 extern Fog fog;
-
 extern float fogcolorr;
-
 extern float fogcolorg;
-
 extern float fogcolorb;
-
 extern float sinefluct;
-
 extern float sinefluctprog;
-
 extern int environment;
-
 extern Decals decals;
 
-/*********************> DrawGLScene() <*****/
-
 int Game::DrawGLScene(void)
-
 {
 	//Main menu
-
 	if(mainmenu==1){
 
 		//Setup fast sine fluctuation
diff --git a/src/main.zig b/src/main.zig
new file mode 100644
index 0000000..10f6b75
--- /dev/null
+++ b/src/main.zig
@@ -0,0 +1,5 @@
+extern fn run() void;
+
+pub fn main() void {
+    run();
+}