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

Post Reply 
Threaded Mode | Linear Mode
[ERA 3] HoMM3 ERA HD Rus/Eng Clear
» HoMM3 ERA 3.9.4 + HD-мод 5.4 R26 (12 мая 2023)
Author Message
Panda Away
Moderators

Posts: 1005
Post: #96

Обновление сборки:


* Обновлена Era до версии 3.9.3 v2 (09.2022):

* Обновлено ядро Эра:
- Загрузка из боя (функция HD мода) больше не ломает события OnGameEnter/OnGameLeave.

[+] Rewrote game random number generator (RNG) engine.

    Main changes:
    - All RNGs are not thread safe now. They should be used in the main thread only.
    - There are two main RNGs: the global one (rand/srand/VR:R) and the unique one (VR:T).
    - ERA uses 3 different engines for the global RNG and switches them dynamically to provide qualitative outputs, the same battle obstacles, as they are in original Heroes 3, and network PvP battles stability.
    - VR:T generator cannot be seeded anymore. It serves as the source of unpredictable randomness.
    - At the start of game process, all generators are seeded with cryptographically safe random seeds.
    - Most of the time Xoroshiro128** engine is used for global RNG. It has both excellent speed and qualitative output.
    - The global generator engine is switched to native C rand implementation only for the phase of placing battle obstacles.
    - In network PvP battles the global generator is switched to deterministic one. Deterministic generator uses only the following information: unique battle ID, combat round ID, combat action ID, minimum and maximum value to generate. Thus any attempt to generate a sequence of numbers in the same range will produce the same result for each generation. It's recommended to replace dwarf-style resistence mechanics with golem-style resistence mechanics.
    - Global RNG is seeded with unique value at battle start/replay, thus the first action and autocasted spells are not deterministic anymore.
    - Using random functions in before battle and before battlefield visible phases does not influence battle obstacles placing anymore.
    - Extended "Debug.Rng" setting in "heroes 3.ini". 0 means no debugging, 1 is for seeding, 2 is for seeding and random_range, 3 enables debugging of all rand/srand/random_range calls.
    - rand() is guaranteed to return 0..32767 value, as it does in original Heroes 3. But random_range (VR:R/VR:T) call can return any value in int32 range (-2147483648..2147483647).
    - ERA intercepts all rand/srand calls. Previously a few functions were not tracked.
    - Deterministic RNG for network PvP battles is enabled for the whole battle (excluding obstacles placing stage). Bad morale probability and magic resistence additionaly depend on stack ID, thus producing different results for different stacks. Stack damage calculation additionally depends on iteration counter (game generates up to 10 random values for each stack damage event).

[+] Added new event: "OnBeforePlaceBattleObstacles", occuring after "OnBeforeBattlefieldVisible" event. Global RNG is switched to the native one before calling ERM event and the generator is seeded with the following value: (110291 * map_tile_x + 167801 * map_tile_y + 81569). Thus the same obstacle types and positions are guaranteed for each particular map tile. Using RNG functions in this event will influence obstacles generation. Modder may implement unique obstacles for each battle at this phase or use custom deterministic seed formula.

[+] Added new event "OnAfterPlaceBattleObstacles", occuring after all obstacles are placed on battlefield. Random number generated is switched back to the qualitative one. New custom obstacles may be added in this phase.

[+] Implemented easy-to-use means to generate remote Era events with arbitrary data. The whole process of data compressing/decompressing/splitting/joining is hidden from clients. Support for progress callbacks is implemented. The following exported function was added to era.dll:

    (* Generates remote Era event. Returns 1 if at least an attempt to call remote event was done. False for invalid/empty/too long event name *)
    function FireRemoteNetworkEvent (
    DestPlayerId: integer; // Destination player ID or -1 for all players
    EventName: pchar; // Event name like "OnSomethingHappened"
    {n} Data: pointer; // Pointer to buffer with data to send
    DataSize: integer; // Size of the buffer with data
    {n} ProgressHandler: TNetworkStreamProgressHandler; // Progress handler function or null
    {n} ProgressHandlerCustomParam: pointer // Custom parameter for progress handler function
    ): TDwordBool; stdcall;

    Big amounts of data are divided into smaller packets and sent one by one. In this case ProgressHandler function is called after successful packet sending, allowing to abort the stream or update interface. Small packets will be joined automatically on remote side and single event will be generated. Moreover, the data is sent in compressed form, increasing transferring speed. HD Mod Lobby is fully supported.

    TNetworkStreamProgressHandler = function (BytesSent, TotalBytes: integer; {n} CustomParam: pointer): TDwordBool; stdcall;

[+] Erm "FU:D" command was fully rewritten. Fixed bug: HD mod used to disable FU:D on adventure map. From now FU:D supports arbitrary string parameters and d-modifiers.
[+] Map editor uses "*.msk" files instead of "*.msg" files now.
[+] ERA will retrieve final addresses to monster, spell, artifact and skill structures in OnAfterStructRelocations event using native pointers to those structures. Credits: Xeromant.

[-] Fixed issues with HD-mod way of loading game from battle. OnGameEnter/OnGameLeave counter will
    not be corrupted if HD mod generates "$OnGameLeave" event for ERA before quitting game loop.

* Обновлена "Era Erm Framework":
- Добавлена ф-ция "!?FU(BattleStack_MakeActive);" - делает любой отряд активным.


* Обновлен HD-Mod до версии 5.3 R9:
[*] Библиотека patcher_x86.dll обновлена до версии 4.15.1.
[+] Отрисовка карты приключений оптимизирована и выполняется теперь в несколько потоков (Фича управляется твиком Graphics.AdvMap.Threads).
[+] Оптимизация отрисовки всей графики (вне зависимости от выбранного графического режима).
[] Незначительные изменения и исправления.


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
10.09.2022 00:55
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Messages In This Thread
[ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 05.05.2021, 02:28
RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng Clear - Berserker - 05.05.2021, 03:40
RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng Clear - Ivor - 05.05.2021, 15:04
RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng Clear - Panda - 06.05.2021, 00:52
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Algor - 10.05.2021, 15:41
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - SergOz - 10.05.2021, 15:59
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Algor - 10.05.2021, 17:47
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - SergOz - 10.05.2021, 18:01
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 10.05.2021, 22:23
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 11.05.2021, 08:31
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - SergOz - 11.05.2021, 12:18
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.06.2021, 12:37
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - igrik - 18.06.2021, 13:11
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.06.2021, 13:19
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 18.06.2021, 14:14
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.06.2021, 07:49
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 04.07.2021, 20:04
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 06.07.2021, 14:08
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 07.07.2021, 06:24
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Grossmaster - 07.07.2021, 07:31
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 08.07.2021, 01:59
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 09.07.2021, 10:06
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 09.07.2021, 15:06
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 09.07.2021, 15:31
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 09.07.2021, 15:46
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 09.07.2021, 17:50
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 09.07.2021, 18:32
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 17.07.2021, 22:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 21.07.2021, 21:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 23.07.2021, 10:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 23.07.2021, 15:54
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 14.08.2021, 19:14
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 21.08.2021, 22:23
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 22.08.2021, 00:22
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Bes - 22.08.2021, 00:28
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 22.08.2021, 00:30
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Bes - 22.08.2021, 01:28
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 26.12.2021, 06:52
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 26.12.2021, 11:52
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 26.12.2021, 14:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 28.12.2021, 15:36
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 30.12.2021, 19:04
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 01.01.2022, 21:12
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 02.01.2022, 01:48
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 02.01.2022, 05:48
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 02.01.2022, 06:21
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 04.01.2022, 18:38
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Stas1988 - 04.01.2022, 23:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 05.01.2022, 05:58
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Orc - 24.05.2023, 03:59
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 05.01.2022, 06:15
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - komrad.kazackoff - 05.01.2022, 11:02
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 05.01.2022, 11:33
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - komrad.kazackoff - 05.01.2022, 12:41
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Bes - 05.01.2022, 15:22
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - komrad.kazackoff - 05.01.2022, 16:15
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 06.01.2022, 20:56
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 10.01.2022, 23:24
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 12.01.2022, 20:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 14.02.2022, 03:45
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.02.2022, 01:21
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 01.04.2022, 17:15
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 09.04.2022, 10:25
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 09.04.2022, 14:57
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 04.07.2022, 10:35
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 04.07.2022, 17:43
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - vadimg - 19.07.2022, 05:01
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.07.2022, 05:06
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - vadimg - 19.07.2022, 05:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Sandris - 19.07.2022, 07:02
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.07.2022, 05:26
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 06.08.2022, 07:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 06.08.2022, 12:20
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 11.08.2022, 09:04
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 16.08.2022, 18:48
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 17.08.2022, 15:15
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.08.2022, 01:01
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 05:49
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.08.2022, 06:38
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 06:49
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.08.2022, 07:00
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 18.08.2022, 07:00
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 07:09
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 18.08.2022, 10:29
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 11:40
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - XEPOMAHT - 18.08.2022, 12:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 12:21
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - XEPOMAHT - 18.08.2022, 12:52
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 18.08.2022, 13:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 19.08.2022, 14:21
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.08.2022, 15:00
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Suft - 19.08.2022, 15:26
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.08.2022, 16:07
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - XEPOMAHT - 19.08.2022, 17:35
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - wessonsm - 19.08.2022, 16:26
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 19.08.2022, 23:27
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 10.09.2022 00:55
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 10.09.2022, 07:10
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 11.09.2022, 05:34
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - XEPOMAHT - 12.09.2022, 15:35
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Elmore - 12.09.2022, 15:43
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - XEPOMAHT - 12.09.2022, 16:14
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 11.09.2022, 07:27
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 11.09.2022, 23:54
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 08.10.2022, 06:59
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 24.03.2023, 18:16
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 25.03.2023, 00:30
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Leonion - 15.04.2023, 10:46
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Orc - 23.04.2023, 16:47
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 23.04.2023, 23:43
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Orc - 03.05.2023, 17:56
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Berserker - 03.05.2023, 20:01
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Orc - 03.05.2023, 21:26
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - daemon_n - 03.05.2023, 21:44
ОТЧЕТ ОБ ОШИБКЕ!!!!!!! - Orc - 05.05.2023, 08:17
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 09.05.2023, 05:21
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Panda - 11.05.2023, 18:58
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Ell - 02.09.2023, 15:01
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - Ell - 02.09.2023, 15:19
RE: [ERA 3] HoMM3 ERA HD Rus/Eng Clear - cookiemo - 26.03.2024, 22:14

Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group