Savegame format.

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Chris Schumacher

Savegame format.

Post by Chris Schumacher »

Where are the savegames for Exult stored? I poked around in the Exult
directories and couldn't find anything that looked like a savegame. Is this
implementation-specific?
In any case, in what file would the data concerning the characters attributes and equipment (-not- inventory) be stored?
I assume that Exult has its own format, since orig-U7 savegames can't be
used. Is the structure of the file(s) documented somewhere?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by Dominus »

documentation is sparse...
I'll do some of the whereabouts of the savegames. I'm sure others can fill more of the actual file structures.
1. The quicksave and the game you start up from are stored in the gamedat dir. Here you find the indvidual files that need explaining from others.
- Except scrnshot.shp, this is the screenshot you see in the save/load menu.
- And the newgame.ver, exult.ver. This are just text files, tracking with which version of exult the first savegame of a game was made and with what version it was saved last.

2. When you actually use the save menu and save game, a file called exultXXbg.sav or exultXXsi.sav (XX is a number and bg/si according to the game you play). By default these savegames are just the files from gamedat, zipped. These sav files are normaly found in the game dir specified in
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Chris Schumacher

Re: Savegame format.

Post by Chris Schumacher »

All right, I found the attributes. Now, where is the inventory stored?
Anyone? Anyone?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by Dominus »

May I ask why you need this?
Just for changing attributes or changing equipment, the F2-cheat and Exult Studio are much more userfriendly then poking around hex-codes.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Chris Schumacher

Re: Savegame format.

Post by Chris Schumacher »

No, that's no good. I need the actual offsets within the files.
I'm going to stay mum about what I'm using this information for at the
moment, since I don't want to get anybody's hopes up.
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by SB-X »

A U7 to Exult savegame converter.
What do I win?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by Dominus »

good luck.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by wjp »

You'll want to look at actorio.cc for actor saving/loading. This includes the inventory. Actor::read/write call functions from objs/contain.cc and objs/iregobjs.cc to save the inventory.

The functions calling Actor::read/write are Game_window::read/write_npcs in readnpcs.cc.
Chris Schumacher

Re: Savegame format.

Post by Chris Schumacher »

>A U7 to Exult savegame converter.

Nope, not even close.
Chris Schumacher

Re: Savegame format.

Post by Chris Schumacher »

Hmmm... According to this file, the attributes are located in npc.dat. However, I found them in saveinfo.dat. What is saveinfo.dat then, used for?
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by SB-X »

Damn you Avatar!

I'm not helping am I?
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Savegame format.

Post by wjp »

That's for the 'savegame info' box at the right hand side of the savegame dialog. We probably store more info than we're actually displaying.
Locked