File orbit-1.01-path.patch of Package orbital
--- src/ac3d.c
+++ src/ac3d.c 2001/06/22 10:05:13
@@ -120,7 +120,7 @@
LoadAC3D (name)
char *name;
{
- char buffer[1024], *s, fn[128];
+ char buffer[1024], *s, fn[256];
int firsttime, m;
/* See if it's already loaded */
@@ -144,7 +144,7 @@
model[m].list = glGenLists (1);
/* Construct file name */
- sprintf (fn, "models/%s", name);
+ sprintf (fn, "/usr/share/games/orbital/models/%s", name);
/* Open it */
if (NULL == (acfd = fopen (fn, "rt")))
@@ -241,7 +241,7 @@
Log ("LoadTexture: Loading texture %s", s);
/* Construct file name */
- sprintf (fn, "models/%s", s);
+ sprintf (fn, "/usr/share/games/orbital/models/%s", s);
/* Get a texture id */
glGenTextures (1, &tex[ntex].id);
--- src/log.c
+++ src/log.c 2001/06/22 08:57:58
@@ -21,6 +21,7 @@
#include "orbit.h"
#include <stdarg.h>
+#include <stdlib.h>
/*
* Stuff to maintain the log file
@@ -33,7 +34,14 @@
* Open the log file
*/
{
- if (NULL == (logfd = fopen ("orbit.log", "wt"))) return;
+ const char *homeDir = getenv("HOME");
+ char logFilename[256];
+
+ if(!homeDir) homeDir = "./";
+
+ sprintf(logFilename, "%s/.orbital/orbit.log", homeDir );
+
+ if (NULL == (logfd = fopen ( logFilename , "wt"))) return;
Log ("InitLog()");
--- src/mission.c
+++ src/mission.c 2001/06/22 10:05:41
@@ -41,7 +41,7 @@
* Read a mission file
*/
{
- char fn[128], buf[128];
+ char fn[256], buf[128];
int i;
/* Bye if no file name */
@@ -53,7 +53,7 @@
}
/* Construct file name */
- sprintf (fn, "missions/%s", msn);
+ sprintf (fn, "/usr/share/games/orbital/missions/%s", msn);
Log ("ReadMission: reading %s", fn);
@@ -1076,14 +1076,14 @@
* Open a new include file
*/
{
- char fn[128];
+ char fn[256];
GetRequiredToken();
Log ("Include: Including file %s", token);
/* Construct file name */
- sprintf (fn, "missions/%s", token);
+ sprintf (fn, "/usr/share/games/orbital/missions/%s", token);
if (!PushFD())
{
--- src/model.c
+++ src/model.c 2001/06/22 10:04:21
@@ -103,7 +103,7 @@
* Load a triangle file, make display list, return list ID
*/
{
- char fn[32];
+ char fn[256];
FILE *fd;
int hex, m, len;
double v1[3], v2[3], v3[3], n1[3], n2[3], norm[3];
@@ -145,7 +145,7 @@
glNewList (model[m].list, GL_COMPILE);
/* Construct file name */
- sprintf (fn, "models/%s", name);
+ sprintf (fn, "/usr/share/games/orbital/models/%s", name);
/* Open it */
if (NULL == (fd = fopen (fn, "r")))
--- src/orbit.c
+++ src/orbit.c 2001/06/22 09:29:26
@@ -19,17 +19,31 @@
*/
+#include <sys/stat.h>
+#include <sys/types.h>
+
#define ALLOCATE
#include "orbit.h"
+
int tm, frames, total_frames;
main (argc, argv)
int argc;
char *argv[];
{
+ const char *homeDir = getenv("HOME");
+ char orbitDir[256];
+
+ if(!homeDir) homeDir = "./";
+ sprintf( orbitDir, "%s/.orbital", homeDir );
+
+ /* Create ~/.orbital directory */
+ mkdir( orbitDir , 0755 );
+
/* Kick random number generator */
srand (time(NULL));
+
/* Check for joystick */
InitJoy();
--- src/orbit.h
+++ src/orbit.h 2001/06/22 10:07:44
@@ -506,7 +506,7 @@
int texid; /* Texture id */
GLubyte tex[256][8][4]; /* Texture */
double r1, r2; /* Inner, outer radii */
- char fn[64]; /* Texture file name */
+ char fn[256]; /* Texture file name */
} ring[NRINGS];
EXTERN int rings; /* True to draw rings */
--- src/planet.c
+++ src/planet.c 2001/06/22 10:04:57
@@ -253,7 +253,7 @@
{
FILE *fd;
int x, y, c, i;
- char fn[64];
+ char fn[256];
/* Sun is special */
if (p == 0)
@@ -277,7 +277,7 @@
DrawSplash();
/* Open file */
- sprintf (fn, "maps/%s", planet[p].texfname);
+ sprintf (fn, "/usr/share/games/orbital/maps/%s", planet[p].texfname);
if (NULL == (fd = fopen (fn, "rb")))
{
Log ("ReadPlanetTexture: Can't open %s", planet[p].texfname);
--- src/prefs.c
+++ src/prefs.c 2001/06/22 09:01:00
@@ -28,11 +28,20 @@
WritePrefs()
{
FILE *fd;
+ const char *homeDir = getenv("HOME");
+ char prefsFilename[256];
+
+ if(!homeDir) homeDir = "./";
Log ("WritePrefs: Writing preferences file");
+
+ sprintf(prefsFilename, "%s/.orbital/prefs.txt", homeDir );
+
+
+
/* Open it */
- if (NULL == (fd = fopen ("prefs.txt", "wt")))
+ if (NULL == (fd = fopen ( prefsFilename , "wt")))
{
Log ("WritePrefs: Can't open prefs.txt");
return;
@@ -92,8 +101,17 @@
FILE *fd;
char c1[64], c2[64];
+ const char *homeDir = getenv("HOME");
+ char prefsFilename[256];
+
+ if(!homeDir) homeDir = "./";
+
+
+ sprintf(prefsFilename, "%s/.orbital/prefs.txt", homeDir );
+
+
/* Open it */
- if (NULL == (fd = fopen ("prefs.txt", "rt"))) return;
+ if (NULL == (fd = fopen ( prefsFilename , "rt"))) return;
Log ("ReadPrefs: Reading preferences file");
--- src/rings.c
+++ src/rings.c 2001/06/22 07:56:20
@@ -32,25 +32,25 @@
ring[0].primary = 8;
ring[0].r1 = 102000.0 / KM_TO_UNITS1;
ring[0].r2 = 129130.0 / KM_TO_UNITS1;
- strcpy (ring[0].fn, "maps/jupring.ppm");
+ strcpy (ring[0].fn, "/usr/share/games/orbital/maps/jupring.ppm");
/* Saturn */
ring[1].primary = 13;
ring[1].r1 = 74400.0 / KM_TO_UNITS1;
ring[1].r2 = 140154.0 / KM_TO_UNITS1;
- strcpy (ring[1].fn, "maps/satring.ppm");
+ strcpy (ring[1].fn, "/usr/share/games/orbital/maps/satring.ppm");
/* Uranus */
ring[2].primary = 21;
ring[2].r1 = 38949.0 / KM_TO_UNITS1;
ring[2].r2 = 50271.0 / KM_TO_UNITS1;
- strcpy (ring[2].fn, "maps/uraring.ppm");
+ strcpy (ring[2].fn, "/usr/share/games/orbital/maps/uraring.ppm");
/* Neptune */
ring[3].primary = 27;
ring[3].r1 = 42000.0 / KM_TO_UNITS1;
ring[3].r2 = 63000.0 / KM_TO_UNITS1;
- strcpy (ring[3].fn, "maps/nepring.ppm");
+ strcpy (ring[3].fn, "/usr/share/games/orbital/maps/nepring.ppm");
/* Read the textures, make display lists */
for (r=0; r<NRINGS; r++)
--- src/save.c
+++ src/save.c 2001/06/22 09:09:37
@@ -31,11 +31,18 @@
*/
{
FILE *fd;
+ const char *homeDir = getenv("HOME");
+ char savesFilename[256];
+
+ if(!homeDir) homeDir = "./";
+
+ sprintf(savesFilename, "%s/.orbital/saves.txt", homeDir );
+
nsaves = 0;
/* Open the save file */
- if (NULL == (fd = fopen ("saves.txt", "rt")))
+ if (NULL == (fd = fopen ( savesFilename , "rt")))
{
/* No saves */
return;
@@ -69,8 +76,16 @@
FILE *fd;
int s;
+ const char *homeDir = getenv("HOME");
+ char savesFilename[256];
+
+ if(!homeDir) homeDir = "./";
+
+ sprintf(savesFilename, "%s/.orbital/saves.txt", homeDir );
+
+
/* Open the file */
- if (NULL == (fd = fopen ("saves.txt", "wt")))
+ if (NULL == (fd = fopen ( savesFilename , "wt")))
{
Mprint ("Can't open save file!");
return;
--- src/sound.c
+++ src/sound.c 2001/06/22 07:57:22
@@ -23,9 +23,9 @@
/* Sound file names */
char *sample_names[NSOUNDS] = {
- "sounds/phaser.wav", /* SOUND_FIRE */
- "sounds/explosion1.wav", /* SOUND_BOOM */
- "sounds/communicator.wav" /* SOUND_COMM */
+ "/usr/share/games/orbital/sounds/phaser.wav", /* SOUND_FIRE */
+ "/usr/share/games/orbital/sounds/explosion1.wav", /* SOUND_BOOM */
+ "/usr/share/games/orbital/sounds/communicator.wav" /* SOUND_COMM */
};
/*