Current time: 22.11.2024, 14:39 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA II
» WoG Era 2: Русская и Английская версии
Author Message
hippocamus Offline

Posts: 517
Post: #31

(03.07.2011 01:20)Berserker Wrote:  r5g6b5.

Я думал, этот формат уже канул в небытие...


-= подпись Гиппокамуса =-
03.07.2011 01:50
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #32

Да нет. Если цвет 16-битный, то возникает вопрос, каким цветам дать биты. Можну поровну, тогда один из битов пропадает. А можно зелёному на 1 больше, ведь зелёный глаз человека воспринимает сильнее.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
03.07.2011 03:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #33

   Упс. Просто подмена масок ничего не даёт. Поэтому сделал оперативную проверку режима и соответственно динамический выбор функции преобразования цвета. Заодно и событие "OnNameColors" родилось.
   Задумался о предложении Феанора. Ведь написать скрипт чисто в dll действительно удобно. Так что буду копать в область вещания событий в стиле: "!?CM2".
   Ну и по ходу пишу утилиту для работы с бинарными патчами. Перегон туда-обратно, оптимизация (после того, как увидел бинарники мора Sm ) и редактирование тегов.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
03.07.2011 18:55
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #34

В таком случае придётся ради сохранения скорости перейти к регистрации обработчиков событий. RegisterEventHandler(Name, Handler);


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
03.07.2011 19:06
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #35

Пример скрипта, реализованного полностью через DLL:
Code:
BEGIN
  GameExt.RegisterHandler(TestScript, 'OnHeroScreenMouseClick');
END.

Image: original.png


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
05.07.2011 17:57
Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 844
Post: #36

Berserker, по-моему, довольно таки будет проще разобраться со скриптами в таком плане. Правда пока ничего не говорю про ерм функции/процедуры и конечно же про остатки старого скриптинга. Мда, в моем посте теперь нет никакого смысла...
06.07.2011 09:52
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #37

Да даже в плане того, что условный синтаксис нагляднее и понятнее в Делфи, циклы нагляднее и понятнее - если скрипты писать в таком виде, то можно избежать многих ошибок-недосмотров.


-= подпись Гиппокамуса =-
06.07.2011 12:02
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #38

   Можно обернуть многие ЕРМ команды в высокоуровневые функции, чтобы работать без прямого доступа к ЕРМ-переменным.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
06.07.2011 15:16
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #39

Хорошо..теперь можно уменьшить количество костылей.
Заодно будет забава: нечего делать - пиши хедер к героям (:
07.07.2011 19:16
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #40

-) Известно, что если хотя бы один плагин пишет свои данные в сохранёнку, то меняется формат файла, появляется несовместимость с другими плагинами, разными версиями одного плагина, разными версиями тех. платформ и т.д. А писать данные хочется, ведь вести учёт ЕРМ переменным универсально невозможно.

Решение:
Эра больше не пишет ничего сырыми данными (ранее - опции), а также предоставляет АПИ для записи/чтения в сохранение в раздел с определённым именем/ключом:
Code:
PROCEDURE WriteSavegameSection (DataSize: INTEGER; {n} Data: POINTER; CONST SectionName: STRING); STDCALL;
FUNCTION ReadSavegameSection (DataSize: INTEGER; {n} Dest: POINTER; CONST SectionName: STRING): INTEGER; STDCALL;
Соответственно поддерживается запись и чтение кусками. Так что авторы разных модов/плагинов должны лишь обеспокоиться уникальными именами для своих разделов. Совпадения маловероятны и несложно правятся.

Статус: готово.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
08.07.2011 02:40
Find all posts by this user Quote this message in a reply
NoldI-LoRdEs Offline

Posts: 13
Post: #41

Просто отличные улучшения!А разработка сей замечательной вещи на финишной прямой или будут еще добавляться функции?
10.07.2011 16:48
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #42

Уже закончена предварительно. Дело за 1-2 утилитами, инсталлятором, справочником и тестированием.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
10.07.2011 16:54
Find all posts by this user Quote this message in a reply
etoprostoya Offline

Posts: 1809
Post: #43

Без справочника и пары туториалов по утилитам и новым возможностям будет не гуд. А за тестированием дело не станет.
10.07.2011 18:39
Find all posts by this user Quote this message in a reply
MaGoth Offline

Posts: 218
Post: #44

Думаю что смог бы помочь с версткой справочника, главное чтобы было что верстать... 118
10.07.2011 18:58
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #45

Спасибо, возможно воспользуюсь предложением.
etoprostoya, понял 118


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
10.07.2011 19:17
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group