about summary refs log tree commit diff
path: root/pkgs/games/gog
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2018-03-07 04:01:15 +0100
committeraszlig <aszlig@nix.build>2018-03-07 04:01:15 +0100
commitae58e2433a473ce2fdd32325a8e21329ed0cb63e (patch)
treed4e98ea02a53207f91863d6a4fab1425fc943588 /pkgs/games/gog
parent7eef7720461c338c1c62220b06ef18e594281a06 (diff)
games/albion: Add missing patch files
These are the patches I forgot to add to
77a0f47d06f3d21b78c7f34a129bc3f75d69fbf7.

Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs/games/gog')
-rw-r--r--pkgs/games/gog/albion/cdpath-is-gamedir.patch66
-rw-r--r--pkgs/games/gog/albion/storepaths.patch15
2 files changed, 81 insertions, 0 deletions
diff --git a/pkgs/games/gog/albion/cdpath-is-gamedir.patch b/pkgs/games/gog/albion/cdpath-is-gamedir.patch
new file mode 100644
index 00000000..36728a11
--- /dev/null
+++ b/pkgs/games/gog/albion/cdpath-is-gamedir.patch
@@ -0,0 +1,66 @@
+diff --git a/games/Albion/SR-Main/main.c b/games/Albion/SR-Main/main.c
+index c9c3125..ad4c367 100644
+--- a/games/Albion/SR-Main/main.c
++++ b/games/Albion/SR-Main/main.c
+@@ -529,44 +529,6 @@ static void Game_BuildRTable(void)
+     }
+ }
+ 
+-static void Game_ReadCDPath(void)
+-{
+-    char str[8192];
+-    int len;
+-    FILE *f;
+-
+-    f = Game_fopen("SETUP.INI", "rt");
+-
+-    if (f != NULL)
+-    {
+-        while (!feof(f))
+-        {
+-            str[0] = 0;
+-            fscanf(f, "%8192[^\n]\n", str);
+-            if (strncasecmp(str, "SOURCE_PATH=", 12) == 0)
+-            {
+-                strcpy(Albion_CDPath, &(str[12]));
+-                len = strlen(Albion_CDPath);
+-                if ((len != 0) && (Albion_CDPath[len - 1] == '\r'))
+-                {
+-                    Albion_CDPath[len - 1] = 0;
+-                    len--;
+-                }
+-                if (len != 0)
+-                {
+-                    if (Albion_CDPath[len - 1] != '\\')
+-                    {
+-                        Albion_CDPath[len] = '\\';
+-                        Albion_CDPath[len + 1] = 0;
+-                    }
+-                    break;
+-                }
+-            }
+-        }
+-        fclose(f);
+-    }
+-}
+-
+ static uint32_t calculate_crc(uint8_t *buf, unsigned int size)
+ {
+ #define POLYNOMIAL ((uint32_t)0xEDB88320)
+@@ -730,7 +692,7 @@ static int Game_Initialize(void)
+     }
+ 
+ 
+-    Albion_CDPath[0] = 0;
++    strcpy(Albion_CDPath, Game_Directory);
+     Albion_Font = NULL;
+     Albion_Font_Lang = AL_UNKNOWN;
+     Temp_Font_Data = NULL;
+@@ -1385,7 +1347,6 @@ int main (int argc, char *argv[])
+     }
+ 
+     Game_ReadConfig();
+-    Game_ReadCDPath();
+     Game_ReadFontData();
+ 
+     Game_Initialize2();
diff --git a/pkgs/games/gog/albion/storepaths.patch b/pkgs/games/gog/albion/storepaths.patch
new file mode 100644
index 00000000..c3228cb0
--- /dev/null
+++ b/pkgs/games/gog/albion/storepaths.patch
@@ -0,0 +1,15 @@
+diff --git a/games/Albion/SR-Main/main.c b/games/Albion/SR-Main/main.c
+index c9c3125..b186235 100644
+--- a/games/Albion/SR-Main/main.c
++++ b/games/Albion/SR-Main/main.c
+@@ -1335,8 +1335,8 @@ static void Game_Event_Loop(void)
+ 
+ int main (int argc, char *argv[])
+ {
+-    Game_ConfigFilename[0] = 0;
+-    Game_Directory[0] = 0;
++    strcpy(Game_ConfigFilename, "@GAME_CONFIG_FILE@");
++    strcpy(Game_Directory, "@GAME_DATA_PATH@");
+ 
+     //senquack - can now specify config file on command line
+     // read parameters