Kyra/Savegames (Kyrandia 1)

From ScummVM :: Wiki
< Kyra
Revision as of 12:24, 11 June 2005 by Clem (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Savegames in Kyrandia 1 are called _kyra???.sav (_kyra000.sav is the first savegame). Each file is between 1.5kbyte and 2kbyte in size. (What happens if there are more than 1000 savegames?)

 (hex)   (dec)
 offset  length  meaning
 
 00-1D   30	name (rest filled with 0x00), may contain junk from older savegame name after first 0x00 though
 
 1E-21   4	'MBL1'
 
 22      1	version? values:
 	          0x00 (mac?)
 	          0x01 (1.0 game?)
 	          0x0D (1.3 game?)
 	          0x11 (1.7 game?)
 	          0x12 (1.8 games?)
 	          todo: 3.7 games (talkie), Amiga, FM Towns
 
 23-2B   8	unknown (always 0x00?)
 
 2C-2D   2	music
 		  0x0000=off
 		  0x0001=on (in fact everything >0 is on, but original saves 01 as on) (means offset 2C=0x01, 2D=0x00)
 
 2E-2F   2	sound
 		  0x0000=off
 		  0x0001=on (in fact everything >0 is on, but original saves 01 as on)
 
 30      1	walk speed:
 		  00=slowest
 		  01=slow

02=normal 03=fast 04=fastest

 31      1	talk speed:
 		  00=slowest
 		  01=normal
 		  02=fast
 		  03=clickable
 
 32	  1
 		..X.....		is Brandon invisible				(0=false, 1=true)
 		......X.         is Brandon Will-o-Wisp (floating pink thing)	(0=false, 1=true)
 		.......X         is Brandon poisoned				(0=false, 1=true)
 
 52	1
 		..X.....         amulet visible (after altar)			(0=false, 1=true)

.....X.. unknown (disabled at start, enabled by the time you are in locked in cave)

53 1

              ..X.....         talk scene when leaving gemcut already done?	(0=false, 1=true)

55 1 .....XX. unknown - Merith subgame enabled? (Merith in trunk.emc)

56 1

              X.......         pinecone placed in hole				(0=false, 1=true)
              .X......         Hugiflora is out of ground			(0=false, 1=true)

57 1

              X.......         red amulet part enabled				(0=false, 1=true)
              .X......         yellow amulet part enabled			(0=false, 1=true)

...X.... unknown (disabled at start, enabled by the time you are in swamp)

              ......X.         walnut placed in hole				(0=false, 1=true)
              .......X         acorn placed in hole				(0=false, 1=true)

58 1

              ......X.         blue amulet part enabled			(0=false, 1=true)
              .......X         pink amulet part enabled			(0=false, 1=true)

5D 1

              ......X.         Kallak's note decrypted				(0=false, 1=true)

60 1

              ......X.         protection screen, if 0, Brendan says a line 	(0=false, 1=true)
 6B	1
                ....X...         copy protection already passed?		 	(0=false, 1=true)
 
 80-81	2	room ID; stuff like 0x0100 works, but weird results (see Room list)
 88-91   10	inventory slots (0xFF = empty) (see Item list) (see also offset 0x0636)
 
 92-93	2	Brandon's position: x-coord (left-right) (smaller=left, bigger=right) (0x00FF: about 3/4 to the right)
 94-95	2	Brandon's position: y-coord (top-down) (smaller=top, bigger=down)     (0x0086 is the bottom-most possible)
 		(note: coords from top-left of the screen? (not from playfield but including border?)
 
 022E		sth to do with current room/current script?
 0636		mouse pointer item (if you picked up item when saving, then the index for item is saved here)

0xFF = standard pointer/no item picked up

 ????-EOF	variable stuff, changes even if nothing else changes between saves (stack? stack pointer? code pointer?)