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 ]
New Server | HOMM1: info forum | HOMM2: info forum | HOMM3: info forum | HOMM4: info forum | HOMM5: info forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: How to edit HotA?
Thread: How to edit HotA? This thread is 48 pages long: 1 10 20 30 ... 37 38 39 40 41 ... 48 · «PREV / NEXT»
AGiantPie
AGiantPie

Tavern Dweller
posted January 25, 2018 11:05 PM

App can definitely open the data file, but amusingly the only editable creature stats is a copy of the base vanilla crtraits file. The HOTA unit monster files only include the name of the unit and the name of the sprite file. Unfortunately, it doesn't look like there's anything else regarding units bar those unhelpful monst### files, unless I'm missing some export file feature in the app or something.

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


Adventuring Hero
posted January 28, 2018 04:29 PM

Hello,

As far as I know, I read these datas are stored in other way. They look to be in .dll files (with some other). So you can hex edit some things are stored in .exe but will need something else to work on datas are stored in .dll. Sorry to not be able to give solution for now. If I find things about creatures of HotA, I'll tell. For now I'm not able to.
Have a good day,
____________
FfuzzyLogik.

If I'm crazy ? Sure, because its madness to be normal...

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

Tavern Dweller
posted January 29, 2018 06:18 AM

Thanks. I'm still doing some digging to see if I can't find it myself but since halving the costs of like 90% of the units in the game has the same basic effect as halving the costs of ALL the units I'm satisfied with just editing the base vanilla creatures.

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


Famous Hero
The efreet
posted January 29, 2018 07:32 PM
Edited by hellburn at 07:53, 30 Jan 2018.

Does anyone know where can I find this line of text?:
Town portal on Basic Level

@Down:
Thank you!

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


Honorable
Famous Hero
posted January 29, 2018 09:03 PM

That's text added by HDmod, check Heroes3/_HD3_Data/Lang/.
____________
My Let's Plays: Metataxer's Revenge - The Empire of The World 2

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


Hired Hero
posted February 01, 2018 10:25 PM
Edited by peter1985 at 22:29, 01 Feb 2018.

Hello FfuzzyLogik and RoseKavalier!

"I think Peter is talking about" random map editor "who usually places each faction on his own land, no? So when the map is randomly done it will place the faction on his" old "native terrain."

I guessed something! I want the "necropolis" town to be placed underground, the "dungeon" town and the dirt above the earth. If I change the two towns so I do not have to change the map editor exe. You have changed it, but the "dungeon" town is still underground.

002408D8
002436a8
002824A0

Is not something I'm doing well?

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


Honorable
Famous Hero
posted February 01, 2018 11:43 PM

If it works, it works
____________
My Let's Plays: Metataxer's Revenge - The Empire of The World 2

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


Supreme Hero
Heroes is love, Heroes is life
posted February 09, 2018 11:58 PM

Now that HD Mod does'nt support plug-ins anymore, would it be possible to make Eagle Eye learn level 5 spells or perhaps spells from creatures or adventure spells? And would it be possible to learn spells immediately after they are cast and not after combat?
Anything to improve Eagle Eye really.

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


Hired Hero
posted February 11, 2018 01:03 PM

FfuzzyLogik said:
heroes3wog said:
Hello.Anybody knows who can i play all the campaigns on impossible in this mod?
Sorry but your english looks hard to understand... This thread is made to question "how to mod HotA". Standard campaign are not allowed but they made new ones for the new race. I don't know how to make the old campagn works on this mod but I don't understand why you won't play to them in launching the standard game ?


Okay i try to write it again.I couldnt play the first campaign of horn of the abyss on impossible.My question is is it possible play it on that difficulty like the others?
____________

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


Honorable
Famous Hero
posted February 11, 2018 05:51 PM

phoenix4ever said:
Now that HD Mod does'nt support plug-ins anymore, would it be possible to make Eagle Eye learn level 5 spells or perhaps spells from creatures or adventure spells? And would it be possible to learn spells immediately after they are cast and not after combat?
Anything to improve Eagle Eye really.

If HDmod doesn't support HotA plugins and you are updating HDmod, you are stuck with hex editing. That means very limited changes like this one:
Eagle Eye will let you learn spells the same level as Wisdom would:
Starting at 0x5A028A (1A028Ah)
83 C2 02 3B 50 18 7C 47 8B 4D C4 E8 F6 43 F4 FF D8 0D 68 AC 63 00 E8 EF 7C 07 00 6A 64 5A

Notice the length of edit for such a "minor" change... now imagine anything more complicated without plugin.
____________
My Let's Plays: Metataxer's Revenge - The Empire of The World 2

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

Tavern Dweller
posted February 12, 2018 08:14 AM

RoseKavalier said:
phoenix4ever said:
Now that HD Mod does'nt support plug-ins anymore, would it be possible to make Eagle Eye learn level 5 spells or perhaps spells from creatures or adventure spells? And would it be possible to learn spells immediately after they are cast and not after combat?
Anything to improve Eagle Eye really.

If HDmod doesn't support HotA plugins and you are updating HDmod, you are stuck with hex editing. That means very limited changes like this one:
Eagle Eye will let you learn spells the same level as Wisdom would:
Starting at 0x5A028A (1A028Ah)
83 C2 02 3B 50 18 7C 47 8B 4D C4 E8 F6 43 F4 FF D8 0D 68 AC 63 00 E8 EF 7C 07 00 6A 64 5A

Notice the length of edit for such a "minor" change... now imagine anything more complicated without plugin.

My guess is, that HotA will not support HDmod plugins. Every time they release a new version, the complier will rearrange the instructions a little bit differently, which means the addresses in the plugins should be adjusted accordingly. If you load your plugin into a different version of the game, the best case scenario is: the game throws an exception, and exits.
The reason this plugin system works with SoD is that nobody has the source code anymore (except Ubi, but they never upgrade the GoG version), so everybody has the same binary exe file.

Btw, I took a peek inside your CastleLighthouse plugin, and checked the address inside Heroes3.exe. It looks like you selected an address range, between 0x4E4D40 and 0x4E4D6C, and the patcher is replacing that part of the subroutine with a function call to your custom function. (I guess it saves and restores the registers before and after, and it copies the original instructions elsewhere in case they must be executed).

What I'm trying to figure out is what if I want to call a whole function with different arguments? In the binary nothing marks the start and end of a subroutine, so I can not just replace the first instruction (which is "push ebp" most of the time) with another function call, because that function would have the same first instruction, and the stack would be completely messed up after.
For example, I want to call the function at 00465E70, which needs a _BattleMgr_ struct pointer parameter. Let's suppose I created this struct, how should I call this function?

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


Supreme Hero
Heroes is love, Heroes is life
posted February 12, 2018 08:29 AM
Edited by phoenix4ever at 14:51, 12 Feb 2018.

RoseKavalier said:

If HDmod doesn't support HotA plugins and you are updating HDmod, you are stuck with hex editing. That means very limited changes like this one:
Eagle Eye will let you learn spells the same level as Wisdom would:
Starting at 0x5A028A (1A028Ah)
83 C2 02 3B 50 18 7C 47 8B 4D C4 E8 F6 43 F4 FF D8 0D 68 AC 63 00 E8 EF 7C 07 00 6A 64 5A

Notice the length of edit for such a "minor" change... now imagine anything more complicated without plugin.

So the above change would allow learning of level 5 combat spells?, if that is the case that would be the only thing EE have over Scholar, which I consider a much better skill, still better than before though.
Thank you RK.

Edit: Just tested it and yup the edit above will in fact make it possible to learn level 5 spells, that's pretty cool.

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


Honorable
Famous Hero
posted February 12, 2018 03:49 PM

kazmer said:

My guess is, that HotA will not support HDmod plugins. Every time they release a new version, the complier will rearrange the instructions a little bit differently, which means the addresses in the plugins should be adjusted accordingly. If you load your plugin into a different version of the game, the best case scenario is: the game throws an exception, and exits.
The reason this plugin system works with SoD is that nobody has the source code anymore (except Ubi, but they never upgrade the GoG version), so everybody has the same binary exe file.

The changing addresses part is definitely not it imho, it's not part of their official release like language translations for example. The HotA crew made a choice (and although were not completely clear as to why exactly other than "the modding community is small"), if you want to keep modding HotA through plugins, you either need to keep an old HDmod version or build your equivalent of HDmod.

According to Ubisoft, they do not have the source code to the expansions - they only received RoE and some incomplete parts from the expansions.

kazmer said:

Btw, I took a peek inside your CastleLighthouse plugin, and checked the address inside Heroes3.exe. It looks like you selected an address range, between 0x4E4D40 and 0x4E4D6C, and the patcher is replacing that part of the subroutine with a function call to your custom function. (I guess it saves and restores the registers before and after, and it copies the original instructions elsewhere in case they must be executed).

That's how hooking/detours work, yup.
In this case it's a LoHook which is best used for adding code in between lines or changing simple behaviour.

kazmer said:

What I'm trying to figure out is what if I want to call a whole function with different arguments? In the binary nothing marks the start and end of a subroutine, so I can not just replace the first instruction (which is "push ebp" most of the time) with another function call, because that function would have the same first instruction, and the stack would be completely messed up after.
For example, I want to call the function at 00465E70, which needs a _BattleMgr_ struct pointer parameter. Let's suppose I created this struct, how should I call this function?


patcher_x86 also provides the HiHook class which can be applied in a few ways, but generally you will see either of these hooktypes:
*at start of subroutine (SPLICE_) (over PUSH EBP)
*at function call (CALL_)

SPLICE_ is especially nice if you want to change the way a function works no matter which part of the code is using it. You can change the arguments, change the result, change the function entirely...
A few examples from Feanor.

CALL_ can be used to replace a function, the same way SPLICE_ does, except it is placed over the CALL 0x123456 instruction. For example, HDmod uses this to send the MessageBox confirmations when you visit Adventure Map Objects to lower right of some items, but not others. Obviously you can also do this with SPLICE_, the difference is you have to check for where the code came from and do a comparative check.
An example from Sav.

Alternatively, you can use a LoHook and change the function arguments - either at function call, before it, or at function start, or later... possibilities are endless.
____________
My Let's Plays: Metataxer's Revenge - The Empire of The World 2

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


Hired Hero
posted February 13, 2018 01:01 PM

Is there a solution for trying to edit the first 2 campaigns of horn of the abyss?(i want to play them on impossible difficulty )I get invalid file error or sth.
____________

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


Honorable
Famous Hero
posted February 13, 2018 10:44 PM

It can probably be done through h3hota.exe but I can't look right now... did you ask the HotA crew? That'd probably be easiest since they have the necessary tools to simply edit the campaign.
____________
My Let's Plays: Metataxer's Revenge - The Empire of The World 2

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


Hired Hero
posted February 15, 2018 09:43 PM

Where can i reach them?
____________

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


Supreme Hero
Heroes is love, Heroes is life
posted February 16, 2018 08:14 AM

@heroes3wog Try asking in the main HotA-thread.

Would it be possible to create an exception, where fire immune creatures can be affected by Bloodlust or would they need to lose the fire immunity? I am thinking of Fire/Energy Elementals, Phoenixes and Efreeti/Efreet Sultans.

And would it be possible to have for example Gold Dragons be affected by Cure, Fortune and Slayer or would they need to lose all their resistance to level 1, 2 or 4 spells?

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


Famous Hero
posted February 16, 2018 11:41 PM

Do HD plugins not work with HotA anymore? I downloaded two plugins from handbookhmm.ru but I can't figure out how to activate them.

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


Promising
Famous Hero
posted February 16, 2018 11:49 PM

Yes. Even in this page there's discussion about it.
____________

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


Famous Hero
posted February 17, 2018 02:17 AM

avatar said:
Yes. Even in this page there's discussion about it.

Sorry, managed to miss that completely. Shame!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 48 pages long: 1 10 20 30 ... 37 38 39 40 41 ... 48 · «PREV / NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0697 seconds