AoE3 UnHardcode Patch
- musketeer925
- Retired Contributor
- Posts: 2484
- Joined: Mar 28, 2015
- ESO: musketeer925
Re: AoE3 UnHardcode Patch
So the "syscall" plugins are not plugins overriding operating system syscalls, but rather AoE3 commands?
I might contribute to the plugin system for overriding operating system syscalls, which is useful for a project I'm working on, and I imagine other projects.
I might contribute to the plugin system for overriding operating system syscalls, which is useful for a project I'm working on, and I imagine other projects.
- danielpereira
- Crossbow
- Posts: 12
- Joined: May 11, 2015
Re: AoE3 UnHardcode Patch
@musketeer925 Yes, basically. Although, the plugin system of UHC Patch v1.5 actually allows you to add new game commands (or syscalls, if you will). ^^
Concerning your idea, that would be pretty interesting! We are open to any contributions
Concerning your idea, that would be pretty interesting! We are open to any contributions
Re: AoE3 UnHardcode Patch
@danielpereira can it actually override existing ones?
- danielpereira
- Crossbow
- Posts: 12
- Joined: May 11, 2015
Re: AoE3 UnHardcode Patch
@EAGLEMUT Not natively, but, since the patch itself provides the offsets for all of the syscalls and the plugin can call other functions and procedures, as long as they are called from the UHCPluginMain function, if you have ASM and C/C++ knowledge, it would be possible for you to override original game syscalls/commands through a UHC plugin.
Re: AoE3 UnHardcode Patch
Would be cool to play a 2v2v2 game some time. Thanks for your effort!
My AoE3 YouTube channel: https://www.youtube.com/c/MCJimAgeofEmpiresIII
My AoE3 Twitch channel: https://www.twitch.tv/MCJim_
Age of Streaming YouTube channel: https://www.youtube.com/c/AgeOfStreaming
My AoE3 Twitch channel: https://www.twitch.tv/MCJim_
Age of Streaming YouTube channel: https://www.youtube.com/c/AgeOfStreaming
Re: AoE3 UnHardcode Patch
danielpereira wrote:@EAGLEMUT Thanks for the kind words, I'm glad you liked it!
Regarding the Team Limit patch, unfortunately, we have not found yet what was causing the bug, so the code is basically the same.
Hey, I see that you got another version out very swiftly!
This note from 1.6 suggests to me the bug might be fixed, or was that a different issue?
The bug that caused the "Team ?" and "Team 4" team options to not work properly in Multiplayer, after applying the Team Limit patch, has been fixed.
- JakeyBoyTH
- Howdah
- Posts: 1744
- Joined: Oct 15, 2016
- ESO: Ex-Contributor
- Location: New Zealand
Re: AoE3 UnHardcode Patch
fix ftj?
not a troll post it would be wonderful if something could be done about it
not a troll post it would be wonderful if something could be done about it
Advanced Wonders suck
- Aizamk
Ugh Advanced Wonders suck
- Aizamk
- Aizamk
Ugh Advanced Wonders suck
- Aizamk
- danielpereira
- Crossbow
- Posts: 12
- Joined: May 11, 2015
Re: AoE3 UnHardcode Patch
EAGLEMUT wrote:Hey, I see that you got another version out very swiftly!
This note from 1.6 suggests to me the bug might be fixed, or was that a different issue?The bug that caused the "Team ?" and "Team 4" team options to not work properly in Multiplayer, after applying the Team Limit patch, has been fixed.
Hello!
First of all, sorry for taking way too long to answer you, I have not visited the ESOC forums for quite a while!
Well, unfortunately, this fixes another issue that only affected AoE3H version and that made the game not recognize Team 4 option properly. There is no need to worry, since it does not affect the ESOC patch.
Re: AoE3 UnHardcode Patch
danielpereira wrote:@EAGLEMUT Not natively, but, since the patch itself provides the offsets for all of the syscalls and the plugin can call other functions and procedures, as long as they are called from the UHCPluginMain function, if you have ASM and C/C++ knowledge, it would be possible for you to override original game syscalls/commands through a UHC plugin.
I don't follow at all. The documentation makes little sense.
Question1. If I write a simple function in c++ such as a trigonometric function such as tangent, how do I use your Patch to add it to Age3y.exe to appear as a useable in-game as a function such as "xsTan( double x )" or trTan() or similar? Does it need a .dll file or is it added to the ,exe?
Question2. If that isn't possible, then is it possible to take an existing function such as doAbilityInType( protoPowerName) and turn it into an xs function e.g. xsdoAbilityInType( protoPowerName) ?
TAD AI Reference Guide
"Better to remain silent and be thought a fool than to speak out and remove all doubt." - Abraham Lincoln
"Better to remain silent and be thought a fool than to speak out and remove all doubt." - Abraham Lincoln
- danielpereira
- Crossbow
- Posts: 12
- Joined: May 11, 2015
Re: AoE3 UnHardcode Patch
Panmaster wrote:I don't follow at all. The documentation makes little sense.
Question1. If I write a simple function in c++ such as a trigonometric function such as tangent, how do I use your Patch to add it to Age3y.exe to appear as a useable in-game as a function such as "xsTan( double x )" or trTan() or similar? Does it need a .dll file or is it added to the ,exe?
Question2. If that isn't possible, then is it possible to take an existing function such as doAbilityInType( protoPowerName) and turn it into an xs function e.g. xsdoAbilityInType( protoPowerName) ?
Hello!
First of all, sorry for taking way too long to answer: I have been busy lately, and so I couldn't check the forums!
Regarding your questions:
Q1) In order to do that, you need to create a .dll file, following the steps present in the "UHC Plugin System" document and follow the steps in the "Custom Syscalls" section of that same document to register your function(s). You can find such document among the files included with the UHC patch release, or in the official github repository of the patch:
https://github.com/danielpereira/AoE3Un ... System.pdf
If any of the instructions there aren't clear, please let me know!
Example plugin source codes can be found at UHC Patch release and in the repository:
https://github.com/danielpereira/AoE3Un ... n/Examples
Q2) Technically, you could create a new function that wraps the call to doAbilityInType and add this new function to the XS scope, although, I'm not sure that this would work in all cases...
If you have any other questions, don't hesitate in asking!
Who is online
Users browsing this forum: No registered users and 9 guests