IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> HD-SDK, Разработка под HD-мод
Shurup
сообщение 11 May 2013, 00:13
Сообщение #1

Щирий українець
Сообщений: 1 456
Спасибо сказали: 3023 раза




Перенес из общей темы.

Цитата(baratorch @ 06 May 2013, 07:26) *

загружаем библиотеку _hd3_.dll
если не загрузилась - значит нет ХД
получаем 2 экспортируемые из нее функции.
Функции имеют имена и вид:
DWORD __stdcall HdCommon_Get(char* name, DWORD default_value);
BOOL __stdcall HdCommon_Set(char* name, DWORD value);
если адреса функций получены, идем дальше.

теперь можем получать значения следующих "переменных":
DWORD "HD.Version.Dword" - версия хд в числовом выражении
char* "HD.Version.CStr" - версия хд в текстовом виде (си-строка)
DWORD "HD.ExeVersion" - флаги версии экзешника игры:
Код
#define SOD        0x01
#define WOG        0x02
#define TE        0x04
#define HOTA    0x08
#define WT        0x10
#define ERA        0x20
#define MOP        0x40

и т.д.


вот все без описания, если кого-то что то заинтересует, спрОсите:
char*, "HD.Dir.Game"
char*, "HD.Dir"
char*, "HD.Dir.Common"
char*, "HD.Dir.Lang"
char*, "HD.File.RMG"
_Ini_*, "HD.Ini.Main"
char*, "HD.Compability"
int, "HD.PackDirs.Count"
char**, "HD.PackDirs"
int, "HD.Option.RezX"
int, "HD.Option.RezY"

int, "HD.Option.RezX"
int, "HD.Option.RezY


int, "HD.Option.ColorMode"
int, "HD.Option.StretchFilter"
int, "HD.Option.SysCursors"
int, "HD.Option.NoCD"
int, "HD.Option.CpuPatch"
int, "HD.Option.NewSoundLibs"
int, "HD.Option.MusicPatch"
int, "HD.Option.AsyncSounds"
int, "HD.Option.UIExt"
int, "HD.Option.ArmyMngMode"
int, "HD.Option.ClipCursor"
_Ini_*, "HD.Ini.Txt"
int, "HD.Option.TExt"
int, "HD.Option.AutofixMap"
int, "HD+.On"
int, "HD.Option.ExtSpellBook"
int, "HD.Option.CheckForUpdates"

int, "HD.Rez.X"
int, "HD.Rez.Y"

int, "HD.MapView.Width"
int, "HD.MapView.Height"
int, "HD.MapView.CX"
int, "HD.Stretch.X"
int, "HD.Stretch.Y"

int, "HD.Center.X"
int, "HD.Center.Y"

int, "HD.PuzzDlg.X"
int, "HD.PuzzDlg.Y"

int, "HD.TpRank.SY"
int, "HD.TpRank.SX"

int, "HD.CampInfo.X"
nt, "HD.CampInfo.Y"

int, "HD.DimDoor.CX0"
int, "HD.DimDoor.CX1"
nt, "HD.DimDoor.CY0"
int, "HD.DimDoor.CY1"
_bool_, "HD.DimDoor.ShowRect"


int, "HD.Rez.Scanline"

int, "HD.Battle.X"
int, "HD.Battle.Y"

int, "HD.AdvMgr.ID15"
int, "HD.AdvMgr.ID39"
int, "HD.AdvMgr.ID20"
int, "HD.AdvMgr.ID25"
int, "HD.AdvMgr.ID32"
int, "HD.AdvMgr.HeroList.L"
int, "HD.AdvMgr.TownList.L"

int, "HD.ClipCursor"
RECT*, "HD.ClipRect"

int, "HD.Option.AskQB"
_bool_, "HD+.ReplayableQB"
int, "HD+.TimerWaitOk"

Хота экспортирует через HdCommon свои значения, которыми пользуется ХД

Если запрашиваемого имени не существует в HdCommon, т.е оно не задано HdCommon_Set,
то функция HdCommon_Get вернет default value.

например все "переменные" ХД кроме "HD.Version.Dword", "HD.Version.CStr" не будут существовать, если библиотека будет загружена не с игрой в ХД.


В будущем, будем надеяться функционал СДК будет расширяться.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 05 Aug 2013, 05:58 (Сообщение отредактировал baratorch - 05 Aug 2013, 06:01)
Сообщение #2

Immortal
Сообщений: 2 412
Спасибо сказали: 4617 раз




В связи с появлением 32-bit True цветовых режимов, добавилась новая экспортируемая переменная int "HD.BPP"
которая может иметь значение либо 16 либо 32.
Если "HD.BPP" равно 32, то все экземпляры структуры PCX16 являются по сути PCX32, т.е каждый пиксель представлен 32-битным значением формата X8R8G8B8 (в перспективе A8R8G8B8 с возможностью альфаблендинга).
(кроме zBuffer'a предназначенного для обозначния границ зданий в городе для мыши, он единственный - 16-битный)
И все стандартные функции отрисовки Def, Pcx8, Fnt получая указатель на PCX16, или на ее пиксельный буфер, работают со структурой как с PCX32.
(здесь похоже не будут работать цветные шрифты ЭРЫ, т.к. функция отрисовки символа текста полностью заменена)

При этом 16-битные палитры в игре и функции по их преобразованию остаются пока 16-битными.


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20 April 2024 - 04:03
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика