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 5 - Modders Workshop > Thread: [Mod TotE] PEST (Permanent and Endless Simultaneous Turns)
Thread: [Mod TotE] PEST (Permanent and Endless Simultaneous Turns) This thread is 4 pages long: 1 2 3 4 · NEXT»
Deflaktor
Deflaktor


Responsible
Known Hero
posted December 09, 2013 06:03 AM bonus applied by VokialBG on 15 Jul 2015.
Edited by Deflaktor at 11:45, 24 Apr 2014.

[Mod TotE] PEST (Permanent and Endless Simultaneous Turns) v1.3

I present to you PEST (Permanent and Endless Simultaneous Turns)!

After hours and days of tracing and debugging I finally found the location of the algorithm which calculates whether to disable simultanous turns during a network game! After making the game skip that algorithm, permanent simultaneous turns have been enabled, even though two opposing heroes were standing right next to each other! I was quite surprised how well the game handles this circumstance! There has been only little bug testing so I am asking the community to try it out and see what breaks this mod and/or crashes the game. Please report any bugs in this thread

The patcher wont affect the original file and generates a H5_Game_pest.exe which you need to start.

Features:
- Players can interact dynamically. It can even turn into a game of tag when chasing opposing heroes.
- If one of the players doesn't have the patch, simultaneous turns will be disabled for all players, as soon as the player without the patch meets another player. Those with the patch won't see a message box stating that simultanous turns have ended though.
- If a player attacks another player who is currently not in adventure screen (e.g. in town or taking a look at hero) the game will wait a certain amount of time until the player returns to adventure screen and only then combat will start. The action is cancelled if the wait time is too long.
- Trying to initate a three-way-combat is safe. The last player to attack will have to wait for the other two to finish their combat. Again the action is cancelled after a short wait time so you will have to click again.

Limitations:
- There is a possibility that some trigger which I have not found yet will still disable simultaneous turns
- Ghost Mode still in experimental state

Known Bugs:
- No known bugs yet

Steam Users:
Download an EXE from the retail version and patch it with this patcher. It needs to be version 3.1 Tribes of the East. You can get an EXE file at:
- Reasonable Experience Destribution Hack (Makes the later levels more accessible. Recommended!)
- New Creatures Framework (Wont alter gameplay)
- Google

Thanks to the reports of the community I would regard this version as stable. (except for Ghost Mode)

Download Mirrors:
v1.3 (stable except Ghost Mode)
Dropbox
MediaFire (Mediafire turns the jar file into a zip file. Either use Dropbox mirror or remove .zip appendix)

v1.2 (obsolete)
Dropbox
Mediafire (Mediafire turns the jar file into a zip file. Either use Dropbox mirror or remove .zip appendix)

v1.1 (obsolete)
Dropbox
Mediafire

v1.0 (obsolete)
Dropbox
Mediafire

Changelog said:

v1.3 (25th March 2014):
- Angel Wings fix
- Levitation Boots fix
- Ghost Mode fix
- Little GUI polishing

v1.2 (20th January 2014):
- Computer player end of turn fix
- Dimensional door fix

v1.1 (14th December 2013):
- Fixed the end of simultaneous turns after combat
- Various GUI fixes of the patcher

v1.0 (9th December 2013):
- Initial Release



Thanks for finding bugs and testing:
- ZX_Lost_Soul
- Palingenese
- SimonaK
- Mahnthor
____________
My Heroes5 Dump /// My Heroes5 Patcher

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


Admirable
Omnipresent Hero
Endless Revival
posted December 09, 2013 02:22 PM

Damn, I wish you'd found that back when I played in ToH Good job!
____________
H5 is still alive and kicking, join us in the Duel Map discord server!
Map also hosted on Moddb

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


Supreme Hero
posted December 09, 2013 04:33 PM

Oh, this will be of a great use for me.

Are you planning to make version for AI as well, so that it performs actions simultaneously most preferably in their own "AI" turn??

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


Responsible
Known Hero
posted December 09, 2013 06:05 PM

No, this is not possible without the source code of the game.
To do this, I would need to create another Thread which runs the AI handling. This is out of scope of simple assembly hacking.

All this patch does is change a single byte in the executable to skip the algorithm. That is all.
____________
My Heroes5 Dump /// My Heroes5 Patcher

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


Responsible
Undefeatable Hero
On the Other Side!
posted December 09, 2013 07:20 PM

Wow, that's a great discovery!
____________

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


Hired Hero
posted December 10, 2013 12:46 AM

Wow, this is amazing.

I have been wrestling with the exe in olly for a while now with the goal to change some of the more useless hero specializations.

I've worked out it runs the same general loop of code no matter what command is given in game, but I am struggling to zero in on hero-related code from there.

Any hints/tips Deflaktor? Can you point me to any interesting sections of code?

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


Supreme Hero
posted December 11, 2013 09:51 AM

You open the data file with winrar or 7zip, go to MapObjects->Heroes, do the changes, save changed files somewhere, and create a zip archive in which you put modified files. After you make sure directory inside the mod archive file matches the data file (only this way your mod can overwrite data), you put it into UserMODs. folder.

Actually, I did change many heroes models and starting skills this way.

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


Responsible
Known Hero
posted December 11, 2013 03:23 PM

funked15 said:

Any hints/tips Deflaktor? Can you point me to any interesting sections of code?

I haven't created a single mod. I am neither a modder nor do I know anything about the structure of the game or its code places. Sorry, I can't help you.


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


Adventuring Hero
posted December 11, 2013 06:15 PM

Holy Crap!

You're a genius! THANKS SO MUCH, HOPE THIS WORKS!!!

you deserve a red star for this!

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


Responsible
Known Hero
posted December 11, 2013 07:54 PM

Thanks

I hope it works, too. I Need the help of the community to find bugs, so I can improve it if necessary.
____________
My Heroes5 Dump /// My Heroes5 Patcher

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


Hired Hero
posted December 11, 2013 11:24 PM

Deflaktor said:

I haven't created a single mod. I am neither a modder nor do I know anything about the structure of the game or its code places. Sorry, I can't help you.



Sorry I would call this a mod, you've modified the game. I hoped you would share some of your assembly language/reverse engineering experience, but it's no probs.

Sligneris said:
You open the data file with winrar or 7zip, go to MapObjects->Heroes, do the changes, save changed files somewhere, and create a zip archive in which you put modified files. After you make sure directory inside the mod archive file matches the data file (only this way your mod can overwrite data), you put it into UserMODs. folder.



Yeh thanks Sligneris, I do understand all this. But some hero's specializations are not editable in the data files. They are hard-coded in the executable (though I'm yet to find them!).

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


Responsible
Known Hero
posted December 12, 2013 12:04 AM
Edited by Deflaktor at 00:08, 12 Dec 2013.

With modding experience I mean the traditional way of adding content to the game. I have no experience with that. I thought what you were trying to do was just that. But if it involves assembly hacking, I can point you to some things that I came along.

My first approach was to find the text key of the message box which pops up saying "simultaneous turns are getting disabled". It turned out to be "T_SIMULTANEOUS_TURNS_FINISHED_HEADER". So I looked within the EXE for that key. Even though this approach failed on me (I traced it back to some network related code. It seems the message box only gets popped up when the game receives a packet to open it. This packet is send to all computers and even to the own host. I was able to disable the message box, but simultaneous turns were still getting disabled.), I would suggest you search for message key of the hero specialization. Then you have to trace what kind of value this hero specialization gets. Judging from your post you probably already tried this.

I used Olly and IDA but I didn't like either of them.
In the end I used Cheat Engine and its Ultimap feature to find the algorithm. It was simple trial and error and luck. So there are no notes or other kind of findings However I also stumbled across some Cheat Engine table including a script which explains the data structure of a hero in general. Even though it is outdated it can still teach you some things.

All in all what you are trying to do involves a lot more work than what I did.
____________
My Heroes5 Dump /// My Heroes5 Patcher

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


Supreme Hero
posted December 12, 2013 01:29 AM

funked15 said:
Yeh thanks Sligneris, I do understand all this. But some hero's specializations are not editable in the data files. They are hard-coded in the executable (though I'm yet to find them!).
Hm, you mean creating your own specializations, instead of changing hero's existing one to another?

Hmm... That's definitely going to be harder to do.

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


Hired Hero
posted December 12, 2013 01:44 AM
Edited by funked15 at 01:45, 12 Dec 2013.

Deflaktor said:
Judging from your post you probably already tried this.


Yep I've tried all sorts of string searches, and found some interesting sections of code, but (cutting a long story short) it didn't lead to much.
So I changed tact and instead tried stepping through the assembly that runs when you load a hero screen in-game.. but as you could guess, that has involved wallowing through a LOT of low level rubbish.

Anyway I appreciate your comments and find it really interesting what you've achieved. Gives me some hope yet!

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


Responsible
Known Hero
posted December 13, 2013 09:16 PM
Edited by Deflaktor at 23:04, 14 Dec 2013.

Had my first real test of this patch today. Needs an improvement. Simultaneous turns will get disabled as soon as you defeat a neutral creature. That is a scenario I did not consider. I always thought the algorithm was only executed at the beginning of each players' turn.

Anyways, I suggest you dont use the patch until there is an update. Proably this weekend.

EDIT: Done! Found another code place which accesses the algorithm. New patcher will be uploaded.

Seeing it now, the algorithm is poorly designed. It will get executed at the beginning of each players' turn. It will also get executed at the end of a combat. Of course, this makes sense, since the game needs to check whether a new path has been created between two players. However the algorithm will not get executed if you dont get into the combat screen (when you attack a neutral creature which does not want to fight and flees or joins you or if you do a quick combat).
So even in the original game you can design a map which seperates two players and the only path is through a very strong creature which will always join you. This way the algorithm wont get executed and thus you can interact with the other player simultaneously for one turn!
____________
My Heroes5 Dump /// My Heroes5 Patcher

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


Responsible
Known Hero
posted December 16, 2013 08:12 AM
Edited by Deflaktor at 08:13, 16 Dec 2013.

Played a full game today. Simultaneous turns held on until the end of the game and I have not noticed any side effects. Looks good so far, but still in desperate need of more tests
____________
My Heroes5 Dump /// My Heroes5 Patcher

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

Tavern Dweller
posted January 16, 2014 03:45 AM

Thank you very much, that's really great mod! Multilayer game is very nice, when players don't need to wait for each other

There was no bugs or crushes, I'm let you know if we found any problem
____________

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


Responsible
Known Hero
posted January 17, 2014 02:52 PM

Thanks for your report. At least now I know that people use it

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

Tavern Dweller
posted January 18, 2014 07:38 PM

"Simultaneous turns" off at the end of turn, when computer player make moves(
2 players, in the dungeon (no connection between players in underground), we kills the guards on the upstairs, but don't go up. Maybe there is a connection between us in the upper world.

Rndom map, generated with RTMG. I can drop the savegame (turn before problem) tomorrow.

There is no way to turn on simultaneous turns in the savegame?
____________

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


Responsible
Known Hero
posted January 19, 2014 11:47 PM
Edited by Deflaktor at 02:45, 20 Jan 2014.

Thanks for the report ^^ The savegame you have would help a lot. Im gonna stark working on it anyway and see if I can reproduce that.
____________
My Heroes5 Dump /// My Heroes5 Patcher

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

Page compiled in 0.0591 seconds