Current time: 25.11.2024, 11:21 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16657
Post: #286

pac, исправил Rolleyes

Quote:И я так и не понял, чем это так необходимо. Ведь все подгружаемые по-умолчанию lod'ы известны поимённо.
Неизвестны. Какое-нибудь золотое, серебрянное или просто пользовательское собрание вполне может иметь незагружаемый Содом, но вредоносный лод. Это может быть локализация или какой-нибудь урезанный вариант, но с расширением lod. Понять, в чём ошибка, как доказал кастрированный файл клинка армагеддона, весьма сложно.

Quote:Сортировка в алфавитном порядке - такой же рандом при lod'ах разных модов, ибо никто не знает, как назовёт другой.
Во-первых, не рандом. Можно даже батником переименовать имеющиеся лоды в циферные варианты. Во-вторых, операции с файловой системой - самое простое, что доступно пользователю: удалить, скопировать, переименовать.

Можно сделать консольную прогу в инсталляторе, которая построет список паков и сгенерирует автоматический префикс выше/ниже приоритетом. Это то, что распространяется на всех и может быть автоматизированно. Батники же нужно стандартизировать (ты с командной строки запускаешь? Я с run.bat, а он с go.bat...) и вручную редактировать даже если нет конфликта между архивами. Такой подход напоминает мне установку порядка для заплаток и модулей: тоже через списки и тоже вручную. Бррр...

Quote:Просто иногда...
То иногда, а то для всех )

Все большое спасибо за помощь, Саву в том числе и за плагин.


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

Posts: 2180
Post: #287

Berserker Wrote:То иногда, а то для всех )
Я понимаю. Я просто пытаюсь показать, что мой плагин может быть полезен не только своим исходником. Sm
21.08.2011 16:37
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #288

Давно хотел написать еще..в SDK лучше избегать имен переменных типа x и y - вместо них юзать что-то типа xvar и yvar.
26.08.2011 05:01
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16657
Post: #289

Для СИ++ только. Ок.


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

Posts: 16657
Post: #290

Вышел русский релиз версии 1.9. Подробности в первом сообщении.


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

Posts: 16657
Post: #291

XXL PO Fix
Модуль позволяет играть со скриптами, использующими ERM команду PO.


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

Posts: 16657
Post: #292

Вдруг кто захочет оптимизировать, вот исходник:
Code:
LIBRARY Po;
USES Windows, SysUtils, Era;

CONST
  SECOND_DIM_SIZE   = 256 * 2 * 4;
  SECOND_DIM_SIZE2  = 256 * 2 * 16;
  SQUARES_SIZE      = 256 * 256 * 2 * 4;
  SQUARES2_SIZE     = 256 * 256 * 2 * 16;

TYPE
  PSquare = ^TSquare;
  TSquare = INTEGER;
  
  PSquare2  = ^TSquare2;
  TSquare2  = PACKED ARRAY [0..3] OF INTEGER;
  
  PPOINTER  = ^POINTER;


CONST
  ErmSquare:  ^PSquare  = Ptr($27C9678);
  ErmSquare2: ^PSquare2 = Ptr($9A48A0);


VAR
  Squares:  PACKED ARRAY [0..255, 0..255, 0..1] OF TSquare;
  Squares2: PACKED ARRAY [0..255, 0..255, 0..1] OF TSquare2;


PROCEDURE OnAfterWoG (Event: Era.PEvent); STDCALL;
BEGIN
  // Patch Squares
  PPOINTER($73644C)^  :=  @Squares;
  PPOINTER($73BB32)^  :=  @Squares;
  PPOINTER($73BE35)^  :=  @Squares;
  PPOINTER($75118F)^  :=  @Squares;
  PPOINTER($751975)^  :=  @Squares;
  PPOINTER($752B68)^  :=  @Squares;
  PPOINTER($752B87)^  :=  @Squares;
  PPOINTER($752BA0)^  :=  @Squares;
  PPOINTER($752BBF)^  :=  @Squares;
  PPOINTER($752BD8)^  :=  @Squares;
  PPOINTER($752BF6)^  :=  @Squares;
  PPOINTER($752C0F)^  :=  @Squares;
  PPOINTER($752C2E)^  :=  @Squares;
  PPOINTER($752C47)^  :=  @Squares;
  PPOINTER($752C66)^  :=  @Squares;
  // Patch Squares2
  PPOINTER($73BB51)^  :=  @Squares2;
  PPOINTER($751582)^  :=  @Squares2;
  PPOINTER($752472)^  :=  @Squares2;
  PPOINTER($752FA4)^  :=  @Squares2;
  // Patch calculating Squares addresses
  PINTEGER($736442)^  :=  SECOND_DIM_SIZE;
  PINTEGER($73BB28)^  :=  SECOND_DIM_SIZE;
  PINTEGER($73BE2B)^  :=  SECOND_DIM_SIZE;
  PINTEGER($75118A)^  :=  SQUARES_SIZE;
  PINTEGER($751970)^  :=  SQUARES_SIZE;
  PINTEGER($752B5E)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752B7D)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752B96)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752BB5)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752BCE)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752BEC)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752C05)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752C24)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752C3D)^  :=  SECOND_DIM_SIZE;
  PINTEGER($752C5C)^  :=  SECOND_DIM_SIZE;
  // Patch calculating Squares2 addresses
  PINTEGER($73BB44)^  :=  SECOND_DIM_SIZE2;
  PINTEGER($75157D)^  :=  SQUARES2_SIZE;
  PINTEGER($75246D)^  :=  SQUARES2_SIZE;
  PINTEGER($752FBD)^  :=  SQUARES2_SIZE;
  // Fix cycles
  PINTEGER($752B14)^  :=  256;
  PINTEGER($752B33)^  :=  256;
END; // .PROCEDURE OnAfterWoG

BEGIN
  Era.RegisterHandler(OnAfterWoG, 'OnAfterWoG');
END.


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

Posts: 2180
Post: #293

FallenAngel Wrote:Sav, ну, по крайней мере у меня эра 1.9 без них не может делать рандомные карты и выбирать конфлюкс.
Berserker Wrote:
Quote:к тому же убранное в ВоГе
Не убранное.
http://dl.dropbox.com/u/21241104/Differe...tfiles.zip Beee
(This post was last modified: 30.08.2011 19:12 by Sav.)
28.08.2011 22:37
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16657
Post: #294

Сав перешёл на си++? )


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

Posts: 2180
Post: #295

Да мне всегда c-подобные языки больше нравились.

Так-то я и паскаль и c знаю одинаково хреново, поэтому писал на том, для чего был пример (плагин MoP'a для палатки).

Теперь вроде как появилась возможность перейти на c++. Правда, с этим дурацким тамошним ассемблером не знаю, стоит ли. Sm
29.08.2011 00:17
Find all posts by this user Quote this message in a reply
AKuHAK Offline

Posts: 116
Post: #296

Кстати вопрос snd и vid архивы пока нельзя подгружать в виде pak'ов?
29.08.2011 00:26
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #297

Пока нет.
29.08.2011 00:38
Find all posts by this user Quote this message in a reply
etoprostoya Offline

Posts: 1809
Post: #298

(29.08.2011 00:17)Sav Wrote:  Теперь вроде как появилась возможность перейти на c++. Правда, с этим дурацким тамошним ассемблером не знаю, стоит ли. Sm

Причём у меня на MSVC твой на код ассемблере, скорее всего, не пойдёт даже переделанный, а нужно будет отдельный асмовский файл создавать.
29.08.2011 00:42
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #299

Юзай MSVS.
Там асм поприличней.
Или директиву .intel_syntax noprefix для гцц-шных асмов.
29.08.2011 06:12
Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #300

Quote: asm("mov $3, %eax");
а че такое $3, и зачем перед еах - % ?
я какбэ и в msvs достаточно с асмом поработал и тут недавно masm32 и fasm скачал, попрактиковался. но процитированный код меня пугает.

Quote:Причём у меня на MSVC твой на код ассемблере, скорее всего, не пойдёт даже переделанный, а нужно будет отдельный асмовский файл создавать.
с помощью __asm _emit и макросов в ms vc++ можно же реализовать любую недоступную инструкцию
29.08.2011 08:59
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