|
Thread: [Mod TotE] PEST (Permanent and Endless Simultaneous Turns) | This thread is pages long: 1 2 3 4 · NEXT» |
|
Deflaktor
Responsible
Known Hero
|
posted December 09, 2013 06:03 AM |
bonus applied by VokialBG on 15 Jul 2015. |
|
[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
|
|
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
|
|
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??
|
|
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
|
|
Storm-Giant
Responsible
Undefeatable Hero
On the Other Side!
|
posted December 09, 2013 07:20 PM |
|
|
Wow, that's a great discovery!
____________
|
|
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?
|
|
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.
|
|
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.
|
|
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!
|
|
Deflaktor
Responsible
Known Hero
|
posted December 11, 2013 07:54 PM |
|
|
|
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!).
|
|
Deflaktor
Responsible
Known Hero
|
posted December 12, 2013 12:04 AM |
|
|
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
|
|
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.
|
|
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!
|
|
Deflaktor
Responsible
Known Hero
|
posted December 13, 2013 09:16 PM |
|
|
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
|
|
Deflaktor
Responsible
Known Hero
|
posted December 16, 2013 08:12 AM |
|
|
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
|
|
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
____________
|
|
Deflaktor
Responsible
Known Hero
|
posted January 17, 2014 02:52 PM |
|
|
Thanks for your report. At least now I know that people use it
|
|
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?
____________
|
|
Deflaktor
Responsible
Known Hero
|
posted January 19, 2014 11:47 PM |
|
|
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
|
|
|