HD-SDK, Разработка под HD-мод |
Здравствуйте, гость ( Вход | Регистрация )
HD-SDK, Разработка под HD-мод |
11 May 2013, 00:13
Сообщение
#1
|
|
Щирий українець Сообщений: 1 456 Спасибо сказали: 3023 раза |
Перенес из общей темы.
загружаем библиотеку _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" не будут существовать, если библиотека будет загружена не с игрой в ХД. В будущем, будем надеяться функционал СДК будет расширяться. |
|
|
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-битными. -------------------- |
|
|
Текстовая версия | Сейчас: 20 April 2024 - 04:03 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |