48f5e4e
diff -ur alex4src/src/bullet.c alex4src.nre/src/bullet.c
48f5e4e
--- alex4src/src/bullet.c	2003-07-26 12:53:52.000000000 +0200
48f5e4e
+++ alex4src.nre/src/bullet.c	2020-02-14 16:55:54.227165835 +0100
48f5e4e
@@ -26,6 +26,8 @@
48f5e4e
 #include "timer.h"
48f5e4e
 #include "../data/data.h"
48f5e4e
 
48f5e4e
+// the bullets themselves
48f5e4e
+Tbullet bullet[MAX_BULLETS];
48f5e4e
 
48f5e4e
 // sets values on a bullet
48f5e4e
 void set_bullet(Tbullet *b, int x, int y, double dx, double dy, BITMAP *bmp, int bad) {
48f5e4e
diff -ur alex4src/src/bullet.h alex4src.nre/src/bullet.h
48f5e4e
--- alex4src/src/bullet.h	2020-02-14 20:21:00.557446660 +0100
48f5e4e
+++ alex4src.nre/src/bullet.h	2020-02-14 16:55:54.227165835 +0100
48f5e4e
@@ -42,7 +42,7 @@
48f5e4e
 #define MAX_BULLETS	64
48f5e4e
 
48f5e4e
 // the bullets themselves
48f5e4e
-Tbullet bullet[MAX_BULLETS];
48f5e4e
+extern Tbullet bullet[MAX_BULLETS];
48f5e4e
 
48f5e4e
 // functions
48f5e4e
 void reset_bullets(Tbullet *b, int max);
48f5e4e
diff -ur alex4src/src/edit.c alex4src.nre/src/edit.c
48f5e4e
--- alex4src/src/edit.c	2020-02-14 20:21:00.559446658 +0100
48f5e4e
+++ alex4src.nre/src/edit.c	2020-02-14 20:14:07.160857305 +0100
48f5e4e
@@ -33,8 +33,6 @@
48f5e4e
 int edit_tile = 0;
48f5e4e
 // path to current map
48f5e4e
 char edit_path_and_file[1024];
48f5e4e
-// datafile to use
48f5e4e
-DATAFILE *data;
48f5e4e
 // current edit mode
48f5e4e
 int edit_mode;
48f5e4e
 
48f5e4e
diff -ur alex4src/src/main.h alex4src.nre/src/main.h
48f5e4e
--- alex4src/src/main.h	2020-02-14 20:21:00.556446662 +0100
48f5e4e
+++ alex4src.nre/src/main.h	2020-02-14 20:13:57.681842152 +0100
48f5e4e
@@ -59,6 +59,7 @@
48f5e4e
 #define		SMPL_TALK		24
48f5e4e
 #define		SMPL_BEAM		25
48f5e4e
 
48f5e4e
+extern DATAFILE *data;
48f5e4e
 
48f5e4e
 // functions
48f5e4e
 char *get_init_string();
48f5e4e
diff -ur alex4src/src/particle.c alex4src.nre/src/particle.c
48f5e4e
--- alex4src/src/particle.c	2003-07-26 12:53:52.000000000 +0200
48f5e4e
+++ alex4src.nre/src/particle.c	2020-02-14 20:17:53.166697996 +0100
48f5e4e
@@ -21,16 +21,11 @@
48f5e4e
  
48f5e4e
 
48f5e4e
 
48f5e4e
+#include "main.h"
48f5e4e
 #include "particle.h"
48f5e4e
 
48f5e4e
-// pointer to datafile
48f5e4e
-DATAFILE *data;
48f5e4e
-
48f5e4e
-
48f5e4e
-// set datafile to use
48f5e4e
-void set_datafile(DATAFILE *d) {
48f5e4e
-	data = d;
48f5e4e
-}
48f5e4e
+// the particles themselves
48f5e4e
+Tparticle particle[MAX_PARTICLES];
48f5e4e
 
48f5e4e
 
48f5e4e
 // inits variables in a particle
48f5e4e
diff -ur alex4src/src/particle.h alex4src.nre/src/particle.h
48f5e4e
--- alex4src/src/particle.h	2020-02-14 20:21:00.555446663 +0100
48f5e4e
+++ alex4src.nre/src/particle.h	2020-02-14 20:15:57.210817230 +0100
48f5e4e
@@ -42,10 +42,9 @@
48f5e4e
 
48f5e4e
 
48f5e4e
 // the particles themselves
48f5e4e
-Tparticle particle[MAX_PARTICLES];
48f5e4e
+extern Tparticle particle[MAX_PARTICLES];
48f5e4e
 
48f5e4e
 // functions
48f5e4e
-void set_datafile(DATAFILE *d);
48f5e4e
 void reset_particles(Tparticle *p, int max);
48f5e4e
 Tparticle *get_free_particle(Tparticle *p, int max);
48f5e4e
 void set_particle(Tparticle *p, int x, int y, double dx, double dy, int color, int life, int bmp);
48f5e4e
diff -ur alex4src/src/player.c alex4src.nre/src/player.c
48f5e4e
--- alex4src/src/player.c	2003-07-26 12:53:52.000000000 +0200
48f5e4e
+++ alex4src.nre/src/player.c	2020-02-14 16:55:54.229165835 +0100
48f5e4e
@@ -25,6 +25,9 @@
48f5e4e
 #include "timer.h"
48f5e4e
 #include "../data/data.h"
48f5e4e
 
48f5e4e
+// the player 
48f5e4e
+Tplayer player;
48f5e4e
+
48f5e4e
 // draws the player depending on his state
48f5e4e
 void draw_player(BITMAP *bmp, Tplayer *p, int x, int y) {
48f5e4e
 	BITMAP *head, *body;
48f5e4e
diff -ur alex4src/src/player.h alex4src.nre/src/player.h
48f5e4e
--- alex4src/src/player.h	2020-02-14 20:21:00.554446664 +0100
48f5e4e
+++ alex4src.nre/src/player.h	2020-02-14 16:55:54.229165835 +0100
48f5e4e
@@ -53,7 +53,7 @@
48f5e4e
 
48f5e4e
 
48f5e4e
 // the player 
48f5e4e
-Tplayer player;
48f5e4e
+extern Tplayer player;
48f5e4e
 
48f5e4e
 // functions
48f5e4e
 void draw_player(BITMAP *bmp, Tplayer *p, int x, int y);
48f5e4e
diff -ur alex4src/src/script.c alex4src.nre/src/script.c
48f5e4e
--- alex4src/src/script.c	2020-02-14 20:21:00.560446657 +0100
48f5e4e
+++ alex4src.nre/src/script.c	2020-02-14 20:14:25.441886527 +0100
48f5e4e
@@ -33,9 +33,8 @@
48f5e4e
 // silly value 
48f5e4e
 #define		NO_CHANGE	-3249587
48f5e4e
 
48f5e4e
-
48f5e4e
-// datafile to use
48f5e4e
-DATAFILE *data;
48f5e4e
+// array holding the sounds ids
48f5e4e
+int active_sounds[MAX_SCRIPT_SOUNDS];
48f5e4e
 // internal buffers
48f5e4e
 BITMAP *buffer;
48f5e4e
 BITMAP *swap_buffer;
48f5e4e
diff -ur alex4src/src/script.h alex4src.nre/src/script.h
48f5e4e
--- alex4src/src/script.h	2020-02-14 20:21:00.556446662 +0100
48f5e4e
+++ alex4src.nre/src/script.h	2020-02-14 16:55:54.230165835 +0100
48f5e4e
@@ -42,7 +42,7 @@
48f5e4e
 // max number of sounds played by the script
48f5e4e
 #define MAX_SCRIPT_SOUNDS	16
48f5e4e
 // array holding the sounds ids
48f5e4e
-int active_sounds[MAX_SCRIPT_SOUNDS];
48f5e4e
+extern int active_sounds[MAX_SCRIPT_SOUNDS];
48f5e4e
 
48f5e4e
 
48f5e4e
 // functions
48f5e4e
diff -ur alex4src/src/timer.c alex4src.nre/src/timer.c
48f5e4e
--- alex4src/src/timer.c	2020-02-14 20:21:00.557446660 +0100
48f5e4e
+++ alex4src.nre/src/timer.c	2020-02-14 16:55:54.226165836 +0100
48f5e4e
@@ -23,6 +23,14 @@
48f5e4e
 #include "allegro.h"
48f5e4e
 #include "timer.h"
48f5e4e
 
48f5e4e
+// the variables used by the timers
48f5e4e
+volatile int frame_count;
48f5e4e
+volatile int fps;
48f5e4e
+volatile int logic_count;
48f5e4e
+volatile int lps;
48f5e4e
+volatile int cycle_count;
48f5e4e
+volatile int game_count;
48f5e4e
+
48f5e4e
 // keeps track of frames each second
48f5e4e
 void fps_counter(void) {
48f5e4e
 	fps = frame_count;
48f5e4e
diff -ur alex4src/src/timer.h alex4src.nre/src/timer.h
48f5e4e
--- alex4src/src/timer.h	2020-02-14 20:21:00.556446662 +0100
48f5e4e
+++ alex4src.nre/src/timer.h	2020-02-14 16:55:54.227165835 +0100
48f5e4e
@@ -24,12 +24,12 @@
48f5e4e
 #define _TIMERS_H_
48f5e4e
 
48f5e4e
 // the variables used by the timers
48f5e4e
-volatile int frame_count;
48f5e4e
-volatile int fps;
48f5e4e
-volatile int logic_count;
48f5e4e
-volatile int lps;
48f5e4e
-volatile int cycle_count;
48f5e4e
-volatile int game_count;
48f5e4e
+extern volatile int frame_count;
48f5e4e
+extern volatile int fps;
48f5e4e
+extern volatile int logic_count;
48f5e4e
+extern volatile int lps;
48f5e4e
+extern volatile int cycle_count;
48f5e4e
+extern volatile int game_count;
48f5e4e
 
48f5e4e
 
48f5e4e
 // functions