Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: ERA III
Thread: ERA III This thread is 8 pages long: 1 2 3 4 5 6 7 8 · «PREV
fred79
fred79


Undefeatable Hero
My BS sensor is tingling again
posted April 05, 2021 07:29 PM

that makes sense, as i think the madeditorpatch stuff was all worked into era. i just don't know where to put everything, i guess. i saw there was a mod for era 3 installed that included alternate battle background defs, but it didn't look like it added as much as the morn mod did; so i left it in during transfer.

looks like i'll just have to keep tweaking until i no longer have that crash. i hate being behind on work.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
RerryR
RerryR


Promising
Supreme Hero
Researching Magic
posted April 05, 2021 09:06 PM

fred79 said:
[
all of this from the old heroes data folder:





I'm not disappointed, I expected nothing less from your modding folder . Remember you had trouble migrating to the newer ERA version already years ago? It never worked. I still remember, now it is clear.

But I have been there too, you start modding and you keep adding more and more into your folder, somehow it works, but after some time you forgot what each of these files is doing or if you really need them.

Now it the time to cut clean, probably you don't need half of the files anymore, sort the files, merge the .pac archives and give proper names to everything. Structure it. If everything works you will feel relieved and you can build on it.

For the text files, you can use a compare tool to see if you have any important changes that are worth keeping.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fred79
fred79


Undefeatable Hero
My BS sensor is tingling again
posted April 05, 2021 10:02 PM

almost all of the files you see there are were just extracted from lods so i could change stats/names/etc at will(the extracted files overwrite whatever's in the lods). nearly all of that wouldn't lead to a crash, as they are files the game uses itself. it may look like a hot mess, but it's all very efficient this way. 99.9% of what i mod, is all right there; no need to hunt for anything.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Salamandre
Salamandre


Admirable
Omnipresent Hero
Wog refugee
posted April 05, 2021 10:33 PM

If you want to be able to share your content then you need to rebuild it from scratch and be compatible with minimum 2.47F version. Which means mod packing and no data replacing at all.

As it is now, I see no solution.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fred79
fred79


Undefeatable Hero
My BS sensor is tingling again
posted April 05, 2021 10:42 PM

i'll figure it out, then post what i did to fix it. and if not, then i'll live-stream me setting my computer on fire.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bersy
Bersy


Honorable
Supreme Hero
posted April 06, 2021 01:53 PM

I'd start with moving all Data*.* files (not directories) to Databackup, except h3bitmap.lod/h3sprite.lod, probably. Files outside of lod/pac have the highest priority and thus break mods system. They are loaded instead of the same name files from mods.
____________
Heroes 3 Era and everything for it. Releases folder for releases.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fred79
fred79


Undefeatable Hero
My BS sensor is tingling again
posted April 06, 2021 11:15 PM

i want what i'm transferring to have the highest priority, though. that's entirely the point. i just have to find whatever's conflicting in the era 3 package, and either replace or remove what's needed for my changes to function how they did initially.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bersy
Bersy


Honorable
Supreme Hero
posted April 07, 2021 10:41 PM

Your mod will have the highest priority. It's resources will be used in the first place. Game will automatically lod mod lod/pac archives.
____________
Heroes 3 Era and everything for it. Releases folder for releases.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fred79
fred79


Undefeatable Hero
My BS sensor is tingling again
posted April 07, 2021 11:05 PM

i'll try that, thanks. question, though: why wouldn't a conflict still exist if i were only moving loose files to a lod/pac? i don't see the reasoning of how that might fix the issue.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bersy
Bersy


Honorable
Supreme Hero
posted April 08, 2021 12:43 PM

You'd better move only changed files and delete files from original lods. For instance, you have file from SoD, while Era mods override it.
____________
Heroes 3 Era and everything for it. Releases folder for releases.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bersy
Bersy


Honorable
Supreme Hero
posted April 11, 2021 01:29 AM



A new HoMM 3 ERA version was released
Current version: 3.4.0

Support for animation and selection of a group of def frames in user dialogs;
Support for horizontal text alignment and embedded block images;
Support for pcx images with 16-bit color depth in custom dialogs;
Support for accessing ERM arrays by dynamic indexes;
Ability to handle keyboard, scroll wheel, and click events outside the main area for custom dialogs;
New events of victory, defeat, transfer of the hero between campaigns, selection of skills on level up. Local map events.
New exported functions for working with files and folders.
Fixed the transfer of commanders in companies through transit zones.
Support for 32-bit colors in custom dialog backgrounds.
Support for keyboard shortcuts and clicks with ALT held down.
Updated EPM editor, bug fixes.

Download

Version 3.4.0 (04/2020)
------------------------
[+] Added possibility to use animated defs in DL-dialogs. Just append " animated" to dialog item name to make it animated. Example: "Def" => "Def animated".
   Up to 10 animated defs are supported for each dialog. Animation speed is 10 frames per second. One single DEF group of frames is used.

[+] Added possibility to specify frames group index for defs in DL-dialogs. Write frame index as GROUP_INDEX * 100000 + FRAME_INDEX. Group indexes are counted from 0.

[+] Implemented horizontal text alignment support in Era Markup Language (EML).

 To specify alignment use either regular color tags with new align=xxx attribute or new tag "text".
 Possible alignment values: "left", "center", "right".

 Examples:

 {~RosyBrown align=right}Some text with(out) images{~}
 {~text align=center}Some text with(out) images{~}
 {~RosyBrown align="left"}Some text with(out) images{~}
 {~text color="RosyBrown" align="left"}Some text with(out) images{~}

 Attribute values without spaces and special chars may be written without double quotes.

[+] Implemented block-style images support for Era Markup Language (EML).

 Use "block" attribute to mark image in text as block-style. New line before and after image will be forced automatically.
 Vertical space in text is also automatically reserved for block images. Moreover, they can be partially scrolled without vanishing effect, occuring for inline images.

 Examples:

 !!IF:M^{~text align=center}{~Orange}Fire camping{~}

 ----
 {~>CDEVIL.def:0:0 valign="middle" block}
 ----

 {~>cndrgn.def:12:2 block}{~}^;

[+] Added support for 65536-color pcx images (pcx16) in DL-dialogs. Default loading mode is 256 colors (pcx8). To load image as pcx16 change its name in dialogs editor to '****.pcx.pcx16'. Real file name in lod/pac archive should be left as is. The engine will recognise new extension, transform it into '.pcx' and load image as pcx16.

[+] Improved ERM 2 compiler. It became possible to use named local variables and quick variables (f..t) as arrays subscripts.
 Syntax: (array[index]) or (array).
 Index value is evaluated BEFORE current receiver, thus do not change it in receiver itself like "!!MO998:G?i G(array)".

 A new magic constant 'SIZE' was added to return array size. Usage: (array[SIZE]). It's compiled into count of array items.
 Thus looping through all array items became easy:

 !!re i/0/(array[SIZE])/1/-1; Note the last -1, meaning loop from index 0 to SIZE - 1
   !!IF:M^%(array)^;
 !!en;

 Note, that regular constants are also supported:
 !!IF:M^%(array[PLAYER_TEAL])^;

[+] Implemented automatical static and dynamical index checking for ERM 2.0 arrays. Invalid indexes are reported and forced to valid range.

 Example:

 !#VA(msgType[7]:y) (msgColor[7]:y);

 !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
   !!VR(msgType):S(PIC_TYPE_FLAG); Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
   !!VR(msgColor):Si;              Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
 !!en;

 Let's rewrite the example without bugs:

 !#VA(msgType[NUM_PLAYERS]:y) (msgColor[NUM_PLAYERS]:y);

 !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
   !!VR(msgType):S(PIC_TYPE_FLAG);
   !!VR(msgColor):Si;
 !!en;

[+] Event DL/(OnCustomDialogEvent) now receive all mouse/keyboard parameters, accessible via !!CM and tracks clicks outside dialogs main area.
   Check CM:T or i^dlg_action^ value for:
     (DLG_ACTION_INDLG_CLICK)
     (DLG_ACTION_OUTDLG_CLICK)
     (DLG_ACTION_MOUSE_WHEEL)
     (DLG_ACTION_KEY_PRESSED)

   Example:

     !?DL&i^dlg_action^=(DLG_ACTION_OUTDLG_CLICK);
     !!IF:M^You clicked outside dialog!^;

   For (DLG_ACTION_MOUSE_WHEEL) action CM:S or i^mouse_action^ can be one of:
     (MOUSE_WHEEL_UP)
     (MOUSE_WHEEL_DOWN)

   Example:

     !?DL&i^dlg_action^=(DLG_ACTION_MOUSE_WHEEL);
     !!IF:M^Wheel: %i(mouse_action)^; display 1/-1 for wheel up/down

   Keyboard presses in dialog can be handled now using Era Erm Framework:

     !?DL&i^dlg_action^=(DLG_ACTION_KEY_PRESSED)/i^key^=(KEY_Q);
     !!IF:M^Good buy any dialog!^;
     !!DLi^dlg_id^:C(TRUE);

   Added two global variables to Era Erm Framework:
   - i^dlg_action^ with CM:T value (action type). Specially useful for DL-dialog events. See DLG_ACTION_XXX constants.
   - i^dlg_id^ with active DL-dialog ID.

[+] !!VR:F command can be called with 3 parameters now: !!VR(var):F(minValue)/(maxValue)/(showErrors);
   If the third parameter is specified and not (FALSE), values outside specified range are reported using regular ERM error reporting dialog.

[+] Added new ERM events:
 - "OnWinGame"  occurs when human player wins scenario.
 - "OnLoseGame" occurs when human player loses scenario.

 - "OnTransferHero" occurs when hero data from the previous campaign scenario is transferred to the next zone.
                    The events occurs after instructions but before PI (OnAfterErmInstructions).
                    The only argument is ID of hero, which is transferred from the previous scenario.

 - "OnAfterHeroGainLevel" occurs after AI/Human hero level-up. Dialog is already closed. Use (ERM_FLAG_IS_HUMAN) and (CURRENT_HERO) constants.
                          The only argument is Hero ID.

[+] Added extra parameter to "OnKeyPressed" event. "OnKeyPressed" occurs multiple times, when you hold the key, while it's sometimes necessary to catch only the first time, when key state changes to DOWN and ignore other events until key state changes to UP. The third event argument serves this purpose and is TRUE only when the key changes its state to DOWN.

!?FU(OnKeyPressed);
!#VA(key:x) (preventDefault:x) (isDown:x);

[+] Implemented two universal events for handling human local events: "OnBeforeLocalEvent" and "OnAfterLocalEvent". They occur before any !?LE/!$LE trigger respecively
   and receive 3 parameters: x, y and z coordinates.

   Example:

   !?FU(OnBeforeLocalEvent);
   !#VA(x:x) (y:x) (z:x);
   !!IF:M^OnBeforeLocalEvent %(x) %(y) %(z)^;

   !?FU(OnAfterLocalEvent);
   !#VA(x:x) (y:x) (z:x);
   !!IF:M^OnAfterLocalEvent %(x) %(y) %(z)^;

[+] Added the following new functions to Era Erm Framework:

 !?FU(IsDllLoaded);
 ; Returns (TRUE) is specified DLL is loaded. The check is fast and does not lead to loading dll.
 !#VA(dllFileNamePtr:x); DLL file name with extension (*.dll, *.era, *.ani, etc).
 !#VA(result:x);         Boolean. (TRUE) if DLL is loaded.

 !?FU(FileExists);
 ; Returns true if file (not directory) exists.
 !#VA(filePathPtr:x); Absolute or relative path to file
 !#VA(result:x);      Boolean. (TRUE) if file exists and is not a directory

 !?FU(DirExists);
 ; Returns true if a directory (not a file) exists.
 !#VA(dirPathPtr:x); Absolute or relative path to directory
 !#VA(result:x);     Boolean. (TRUE) if directory exists and is not a directory

 !?FU(DeleteFile);
 ; Deletes specified file and returns success flag.
 !#VA(filePathPtr:x); Absolute or relative path to directory
 !#VA(result:x);      Boolean. (TRUE) if file existed and was deleted.

 !?FU(ClearIniCache);
 ; Erases all cached ini file data from memory. You can safely delete ini file afterwards.
 !#VA(filePathPtr:x); Absolute or relative path to ini file

 !?FU(CreateDir);
 ; Creates new directory if it does not exist.
 !#VA(dirPathPtr:x); Absolute or relative path to directory

[+] The following improvements were introduced in "Era Erm Framework" mod:

 - Added new globally saved parameters for "OnKeyPressed" event:
 i^key_down^: boolean. TRUE only when the key changes its state from UP to DOWN the first time until being released.

[+] Added the following exported functions to era.dll:

 - function IsCampaign: TDwordBool;

 !!SN:F^IsCampaign^; v1 = (TRUE) or (FALSE)

 - procedure GetCampaignFileName (Buf: pchar);

 !!SN:F^GetCampaignFileName^/?(campaignFileName:z); will crash if it's not campaign

 - procedure GetMapFileName (Buf: pchar);

 !!SN:F^GetMapFileName^/?(mapFileName:z);

 - function GetCampaignMapInd: integer;
   Returns campaign map zone index (index in original zone maps list, starting from 0).

 !!SN:F^GetCampaignMapInd^;  will crash if it's not campaign
 !!IF:M^%v1^;

[+] Fixed transferring of WoG commanders with heroes in campaigns. Previously transferring didn't work if hero was inactive in transition zone.
   "OnTransferHero" is called for all transferred heroes, even for inactive ones, which will be used in other zones.

[+] Added support for 32-bit colors in backgrounds of text items (rewritten Pcx16_FillRect).
[+] Disabled ALT + KEY system menu triggering in windowed mode. ALT key combinations can be freely used by scripts.
[+] Updated ERM editor.

[*] Fixed non-working "OnBeforeBattleReplay" and "OnAfterBattleReplay events". Newest "BattleReplay" plugin by igrik is required.
   After battle end when user clicks "Cancel" button, "OnBeforeBattleReplay" is generated. Battle state is reset and "OnBattleReplay" event
   is generated, where you can revert global variables to pre-battle state, because OnBeforeBattleUniversal will not be called twice.

[*] Renamed "OnTownHallMouseClick" to more accurate "OnTownFortMouseClick".

[!] SN:Q is deprecated and shoudn't be used for new scripts because it may break any ERM library/mod/script functionality.
   ERM interpreter and Era Erm Framework were updated to support SN:Q in old scripts.
   If an event has at least single Lua/Erm/plugin handler, whenever it ends or SN:Q is called, an "OriginalEventName_Quit" trigger is called with the same x-arguments.
   In quit triggers SN:Q works as FU:E.

   Example:

   !?FU(OnAfterErmInstructions);
   !!FU(ex_OnSomeCustomEvent):P;

   !?FU(ex_OnSomeCustomEvent);
   !!IF:M^Trigger 1^;
   !!SN:Q; skip Trigger 2, trigger "ex_OnSomeCustomEvent_Quit" event

   !?FU(ex_OnSomeCustomEvent);
   !!IF:M^Trigger 2^;

   !?FU(ex_OnSomeCustomEvent_Quit);
   !!IF:M^Quit Trigger Handler^;
   !!SN:Q; works as FU:E here

   !?FU(ex_OnSomeCustomEvent_Quit);
   !!IF:M^Another Quit Trigger Handler^;

[-] Fixed bug with random input delay in text input controls.
[-] Fixed bug in Era Erm Framework: NewIntArray and NewStrArray function were ignoring (storageType) argument.
[-] Fixed bug in Era Erm Framework: mouse/keyboard event data was not restored on trigger end.
[-] Fixed invalid spells count for Thunder Lord in zcrtrait.txt. Credits: Archer30.
____________
Heroes 3 Era and everything for it. Releases folder for releases.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
wuxiangjinxing
wuxiangjinxing


Hired Hero
posted April 11, 2021 01:38 AM

I have some questions not very related to ERA but Bersy you are an expert in the engine so I might want try my luck:

1) Is the movement points of a hero saved as an integer or float in game?

2) Is there any data for 'movement points of a hero on adventure map' other than the hero's movement points?  (I somewhat feel that those two might be different)

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Bersy
Bersy


Honorable
Supreme Hero
posted April 11, 2021 07:27 PM
Edited by Bersy at 19:29, 11 Apr 2021.

Movement points are integers. Two fields in Hero structure:

+49 dd MP at day start
+4D dd MP current

2) I don't know about any other MP fields.
____________
Heroes 3 Era and everything for it. Releases folder for releases.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 8 pages long: 1 2 3 4 5 6 7 8 · «PREV
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0802 seconds