patch 1.04 all save games gone

Ask questions, share hints or chat in general about Eschalon: Book I.
dak
Marshall
Posts: 100
Joined: November 20th, 2007, 10:49 am

patch 1.04 all save games gone

Post by dak »

I installed the patch 1.04 now all my save slots says EMPTY! *cry*
kxc
Initiate
Posts: 11
Joined: December 5th, 2007, 6:24 am

Re: patch 1.04 all save games gone

Post by kxc »

dak wrote:I installed the patch 1.04 now all my save slots says EMPTY! *cry*
From the Patch 1.04 BETA topic:
Please be aware:
The "My Document" fix may actually cause some problems for people whose Documents are not actually called "My Documents". If the game doesn't see "My Documents", it will attempt to save the game inside the installation directory. You may need to do some manual copying of your saved games to the new directory if this happens.
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

Your saved games are not lost, they are just now being saved in a new location.

Check the installation directory (probably c:/Program Files/Eschalon Book I/) and see if the "Eschalon Book I Saved Games" is in there. If you don't find it there, do a search for it...

Start the game, quick start with a new character, then save the game right away and exit. Now, if you do a system wide search for "35.map" you should find 3 locations of it: the original file in your installation/data folder, the original saved game location of it, and the new saved game location of it. Copy all the slots from your original saved game location to the new saved game location.
kxc
Initiate
Posts: 11
Joined: December 5th, 2007, 6:24 am

Post by kxc »

Actually, official patch has the same problem too. Although the solution is easy and fast, this issue might be a big problem for newcomers. Moreover, I think it hurts the Vista compatibility.

Is there a feasible way to fix this issue completely?
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

kxc wrote:I think it hurts the Vista compatibility...
Actually, it may only effect Vista compatibility on non-English Vista, and this would be solved by giving the game administrative rights. This seemed like a simpler solution than forcing users to create new directories and try to "trick" the game to save to a specific location.
Necromis
Officer [Bronze Rank]
Officer [Bronze Rank]
Posts: 293
Joined: November 30th, 2007, 10:58 am

Post by Necromis »

BW why don't you just have on install a directory created in the games install directory for saves and forget about the My Docs route? Personally I hate when a program wants to store things in my My Docs as I only want things there that I put there. It would solve all the language issues, too.
The Quickest way to a man's heart is thru his back.
gnozal
Initiate
Posts: 6
Joined: December 8th, 2007, 6:34 am

Post by gnozal »

About the language issue : why is "My Documents" hard coded ?
Why not use SHGetSpecialFolderLocation() with CSIDL_PERSONAL ?
JOG
Fellowcraft Apprentice
Posts: 57
Joined: November 19th, 2007, 1:37 pm

Post by JOG »

BasiliskWrangler wrote:
kxc wrote:I think it hurts the Vista compatibility...
Actually, it may only effect Vista compatibility on non-English Vista, and this would be solved by giving the game administrative rights. This seemed like a simpler solution than forcing users to create new directories and try to "trick" the game to save to a specific location.
But pre-1.04 the game may have worked fine on every Windows, and only those languages not using latin letters (russian, greek, hebrew, arabic, chinese etc.) actually had problems.

"My Documents" is a virtual folder that links to a different physical path for every user. Only when this physical path contained non-ANSI chars (e.g. cyrillic letters) Eschalon had problems. If you create a folder with such letters on your english Windows you'll have the same problems, because SHGetSpecialFolderLocation() returns the physical path in unicode instead of ASCII.

Now the game isn't Vista-compatible at all. Non-english Windows simply doesn't have a physical folder with the name "My Documents", and some users of english Windows may link to a different folder just like I do.


My virtual "My Documents" folder is called "Eigene Dateien" on my german Windows. By default it links to "C:\Dokumente und Einstellungen\<user>\Eigene Dateien." For the user-account I use for gaming I set this folder to E:\Savegames.

Eschalon 1.00 - 1.03 worked fine:

generic default user:
"C:\Dokumente und Einstellungen\Test\Eigene Dateien\Eschalon Book 1 Saved Games"

standard gaming user:
"E:\Savegames\Eschalon Book 1 Saved Games"

Regardless of my feelings about having savegames separated from the game itself, this is how it has to be for Vista compatibility, and Eschalon did it fine as long as the path was returned in ANSI.

The problem starts with:

"C:\Dokumente und Einstellungen\Попытка\Eigene Dateien\Eschalon Book 1 Saved Games"

The cyrillic letters don't work.
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

gnozal wrote:About the language issue : why is "My Documents" hard coded ?
Why not use SHGetSpecialFolderLocation() with CSIDL_PERSONAL ?
"My Documents" is not hard coded in 1.0 - 1.03; the function to get a users Documents folder just appears to fail when Cyrillic letters are encountered.

In 1.04, I put a clause that said if user docs <> "My Documents" to use AppDir() instead, hoping to avoid crashing when oddly named "My Documents" folders are encountered. I can do some more experiments if people with non-English my documents want to email me and try some stuff out.

As of right now, is there anyone having critical problems with 1.04? I need to know what is more of a pain in the ass- 1.03's workarounds or 1.04 giving Eschalon administrative rights?
JOG
Fellowcraft Apprentice
Posts: 57
Joined: November 19th, 2007, 1:37 pm

Post by JOG »

BasiliskWrangler wrote:About the language issue :
As of right now, is there anyone having critical problems with 1.04? I need to know what is more of a pain in the ass- 1.03's workarounds or 1.04 giving Eschalon administrative rights?
Decide for yourself:

1.00 - 1.03:
Maybe 20% of foreign user having problems.

1.04:
100% of foreign user and maybe 5% of english users are forced to trick Windows into giving the game permanent admin rights.

The problem could be solved when you use SHGetPathFromIDList to handle the path returned by SHGetSpecialFolderLocation instead of just truncating at the first "0" (i.e. the first unicode-char)
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

Okay, everyone who is following this thread, especially those with an odd or non-English "My Documents" run this program and see what you get.

http://basiliskgames.com/misc/docs.exe

Thanks.
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

Okay, I just got some confirmation on a few things: the language system I use, in order to remain cross-platform compatible as well as 98/ME compatible does not nor will ever support non-ASCII paths.

So, in regards to the sample program I posted, it probably won't work any better for people.
Necromis
Officer [Bronze Rank]
Officer [Bronze Rank]
Posts: 293
Joined: November 30th, 2007, 10:58 am

Post by Necromis »

@BW I will ask again. Why not just have the save directory be part of the the Appdir for all installs? This eliminates the issue all together. Just have it create a save directory under the app directory.
The Quickest way to a man's heart is thru his back.
JOG
Fellowcraft Apprentice
Posts: 57
Joined: November 19th, 2007, 1:37 pm

Post by JOG »

BasiliskWrangler wrote:Okay, everyone who is following this thread, especially those with an odd or non-English "My Documents" run this program and see what you get.

http://basiliskgames.com/misc/docs.exe

Thanks.
My Standard Gaming User:
E:\Savegames\

Latin Test-User
C:\Dokumente und Einstellungen\Test\Eigene Dateien

Russian-Test-User
C:\Dokumente und Einstellungen\???????\Neuer Ordner

With ??????? being junk letters instead of Попытка, the russian word for "Test"
Last edited by JOG on December 14th, 2007, 12:17 pm, edited 1 time in total.
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Post by BasiliskWrangler »

Necromis wrote:@BW I will ask again. Why not just have the save directory be part of the the Appdir for all installs? This eliminates the issue all together. Just have it create a save directory under the app directory.
Because that is not "Vista Compatible". Normally, unless you give admin rights to a program, Vista will deny a program permission to write to anything but a user's Documents folder. However, in 1.04 I have done just that- if "My Documents" is unreachable, the game tries to save in the App directory. This may require users to give it permission to do so.
Post Reply