В виду того, что по данной теме нет практически инфы, и savegame editor отсутствует, на меня напал strange mood, и /me сделал некоторое препарирование файлов сейвов. Что получилось - выразил в виде карты, может пригодится кому.
Замечания:
[~] изначально целью было добавление в отряд животных, но это не было достигнуто (м.б, нужно тщательней варьировать параметры голова портрета, тело портрета, id героя (что изменяет модель), шкурку на модель, но очень это утомительно).
[~] можно добавлять персонажей в отряд "с нуля". Для этого нужно установить счетчик человек в отряде (включая героя), и затем добавить соответствующие блоки-описатели по 100h байт сразу после блока-описателя гл. игрока. Можно добавлять кучу двойников гл. героя (напр., организовать атаку клонов велиславен), можно добавлять других героев в отряд таким же образом. Можно добавлять npc таким же образом. Но назиру добавлять только к изарку, иначе бесконечный глюк с диалогом.
[~] Характеристики спутников (и снаряжение) можно изменять аналогично правкам в блоке-описателе гл. героя - они по структуре такие же, идут следом.
[~] организация save файла отличается от того, что был в князе 2 - где-то добавили, что-то убрали, но немного похоже
[~] коды предметов (по крайней мере большинство) не соответствуют кодам из князя 2
[~] данные расположены в byte big endian
Карта savegame файла:
0x26050 (byte) - тек. локация
0x26064 (byte) - количество бойцов в отряде (вкл. героя)
///////////////////////////////////////////////////////////////////////////////
; 0x4e9d0 - Начало блока-описателя персонажа 1 (героя)
; Размер блока: 256 байт (100h)
; положение героя
0x4e9e2 (2 bytes) - координата на экране (y)
0x4e9e4 (2 bytes) - координата на экране (x)
0x4e9f8 (4 bytes) - золото (signed int, endianess ?)
0x4e9ff (byte) - текстура куклы героя, цвет рубахи, основа портрета
; 0x8a - роз. платье
; 0x8c - красный, рубаха
; 0x8e - зеленый
; 0x90 - синий
; 0x92 - желтый
; 0x94 - бежевый
0x4ea1f (1 byte?) - здоровье героя
; снаряжение героя
0x4ea28 (2 bytes) - оружие в руке
0x4ea2a (2 bytes) - оружие в руке 2 (лук)
0x4ea2c (2 bytes) - броня одетая
0x4ea2e (2 bytes) - шлем одетый
0x4ea30 (2 bytes) - щит одетый
;
0x4ea32 (2 bytes) - начало инвентарных вещей (по 2 байта)
; найденные значения вещей:
; 0x8d 0x02 - парамерион отравленный
; 0x9a 0x0a - белый корень
; 0xba 0x00 - земляной орех
; 0xb3 0x00 - трактат о торговле
; 0xbc 0x0a - свиток кузнеца
;
; 0x3c 0x01 - камень ловкости
; 0x3e 0x02 - камень ловкости
; 0x3c 0x04 - лопата
;
; 0xce 0x01 - сакс меч
; 0xe0 0x01 - двур. меч
; 0xef 0x01 - обоюдоостр. секира
; 0x3e 0x05 - составной лук
;
; 0x3f 0x05 - щит длинный с шипами
; 0xc8 0x01 - щит воина повелителя
; 0xbc 0x01 - щит воина повелителя
;
; 0xe7 0x01 - простая кольчуга
; 0xff 0x01 - желтая кольчуга
; 0xd4 0x01 - желт. кольчуга укрепл.
; 0x3d 0x09 - кливанион
; 0xc6 0x01 - доспех воина повелителя
;
; 0xbc 0x04 - рогатый шлем
; 0xdf 0x01 - датский шлем
; 0x4ea90 (byte) - харизма
; 0x4ea91 (byte) - ловкость
; 0x4ea92 (byte) - интеллект
; 0x4ea93 (byte) - обучаемость
; 0x4ea94 (byte) - сила
; 0x4ea95 (byte) - выносливость
;
; 0x4eaa4 (byte) - смертельный удар
; 0x4eaa5 (byte) - владение мечом
; 0x4eaad (byte) - знахарство
; 0x4eaae (byte) - приготовление смесей
; 0x4eab2 (byte) - волхвование
; 0x4eab3 (byte) - кузнечное дело
; 0x4eab4 (byte) - строит. навыки
; 0x4eab5 (byte) - управление деревней
;
; 0x4eabf (byte) - голова портрета
; 2ch - годная женская (слав)
; 30h - женск тюрк
;
; 0x4eac0 (byte) - имя
;
; 0x4eac1 (byte) - погоняло / фамилия
; 0x1 - косой
; 0x2 - кривой
; 0x4 - слепой
; 0x7 - медведь
; 0x8 - ворон
; 0xe - рыжий
; 0xf - счастливый
; 0x10 - собака
; 0x11 - тюлень
; 0x14 - рваный
;
; 0x4eacc (byte) - кто из героев; кукла
; 0x1 - велиславна
; 0x2 - драгомир
; 0x1h - слав жен
; 0x7h - тюрк жен [x]
; [~] именно "герои" идут с 0 по 0x3. Старшие более номера (не обязательно
; подряд) - различные персонажи