Current time: 13.04.2024, 23:50 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III. Новые версии
» Только объявления и ссылки
Author Message
Berserker Offline
Administrators

Posts: 16471
Post: #46

Code:
Version 3.9.9 (01/2024)
------------------------
[+] Added the following functions to Era Erm Framework:

  !?FU(Hash32);
  ; Calculates int32 digest (hash sum) of arbitrary sequence of bytes.
  !#VA(data:x);    Pointer to data first byte or string
  !#VA(dataLen:x); Length of data in bytes
  !#VA(result:x);  Result hash

  !?FU(MakeRngSeed);
  ; Generates deterministic int32 seed for pseudo random number generator, consuming up to 15 arbitrary int32 parameters.
  ; Example: FU(MakeRngSeed):P(x)/(y)/(z)/(heroId)/?(seed:y); get prng seed, which will be the same for given coordinates and hero
  !#VA(firstArg:x);

  !?FU(SplitMix32);
  ; Generates new random value using SplitMix32 algorithm and modifies input seed value.
  ; Possible syntaxes:
  ;  FU:P?(seed:y) ?(result:y);             Generate random int32 value (negative or positive)
  ;  FU:P?(seed:y)/(min)/(max) ?(result:y); Generate random int32 value in [min..max] range
  !#VA(seed:x);   OUT. Previous generator seed. Pass by reference (using ?), because this value will change after generation
  !#VA(min:x);    Minimum value.
  !#VA(max:x);    Maximum value.
  !#VA(result:x); OUT. Result number

[+] Added the following exported function to era.dll:
  // Calculates data hash sum of arbitrary length
  function Hash32 (Data: pchar; DataSize: integer): integer; stdcall;

  // Generates new random value using SplitMix32 algorithm and provided Seed value. Seed is passed by reference and modified on return.
  function SplitMix32 (var Seed: integer; MinValue, MaxValue: integer): integer; stdcall;

[*] Era now uses SplitMix32 algorithm for seeding Xoroshiro128 PRNG.


Version 3.9.8 (01/2024)
------------------------
[*] Improved network PvP battles stability. The game will always send original (unmodified) battle stack action info to remote side, thus no desynchronization will occur when any script or plugin alters battle action parameters.


Version 3.9.7 (12/2023)
------------------------
[+] Added support for arrays and primitive types in language json files, because they are often used as config files. Numbers are converted to strings, booleans are converted to "0" and "1", null values are ignored (the same, as key-value pair didn't exist at all). Arrays are treated as objects with monotonically increasing string keys ("0", "1", "2").

  Example json:

  {
    "creatures": [
      {
        "id": 2000
      },

      {
        "id":       150,
        "name":     "SuperRobot",
        "isGod":    true,
        "power":    77.345,
        "copyFrom": null
      }
    ]
  }

  Example script:

  !?FU(OnAfterErmInstructions);
  !!IF:M^%T(creatures.0.id) %T(creatures.1.id) %T(creatures.1.name) %T(creatures.1.isGod) %T(creatures.1.power) %T(creatures.1.copyFrom)^;

[-] Fixed bug: png resources where cached forever, causing visual glitches in mods like Random Wallpaper.
[-] Fixed bug: battle obstacles placement differed from SoD.


Version 3.9.6 (12/2023)
------------------------
[+] Added support for multiple language files in a single mod. Json files from Lang\[Language] directory have priority over files in Lang directory root. Current language is stored in heroes3.ini in "Era" section under "Language" key and defaults to "en".

It's recommended to keep any mod main language data in root "Lang" directory and alternative localizations in appropriate subdirectories (en, pl, ru, fr).

[+] Added new exported function to era.dll:
  // Changes current language code in memory without altering ini files or reloading already loaded data
  SetLanguage (NewLanguage: pchar): TDwordBool; stdcall;

  // Reloads all json files from "Lang" directory and current language subdirectory.
  ReloadLanguageData; stdcall;

[-] Fixed "SN:H" command and "OnAdvMapTileHint" event behavior. No hint is applied and no event is generated if tile is not visible by current player.

Автоперевод (Click to View)


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
30.12.2023 01:10
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