AoE3 UnHardcode Patch

Here you can post about your scenario's, mods, custom maps and YouTube channels!
User avatar
United States of America musketeer925
Retired Contributor
Donator 01
Posts: 2483
Joined: Mar 28, 2015
ESO: musketeer925

Re: AoE3 UnHardcode Patch

Post by musketeer925 »

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.
User avatar
Brazil danielpereira
Crossbow
Posts: 12
Joined: May 11, 2015

Re: AoE3 UnHardcode Patch

Post by danielpereira »

@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 :D
User avatar
Czech Republic EAGLEMUT
ESOC Dev Team
Donator 05
Posts: 4513
Joined: Mar 31, 2015
ESO: EAGLEMUT
Clan: WPact

Re: AoE3 UnHardcode Patch

Post by EAGLEMUT »

@danielpereira can it actually override existing ones?
Image
momuuu wrote: theres no way eaglemut is truly a top player
User avatar
Brazil danielpereira
Crossbow
Posts: 12
Joined: May 11, 2015

Re: AoE3 UnHardcode Patch

Post by danielpereira »

@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.
User avatar
Netherlands MCJim
Retired Contributor
Posts: 2818
Joined: Mar 7, 2015
ESO: MCJim
Location: The Netherlands

Re: AoE3 UnHardcode Patch

Post by MCJim »

Would be cool to play a 2v2v2 game some time. Thanks for your effort!
:food: My AoE3 YouTube channel: https://www.youtube.com/c/MCJimAgeofEmpiresIII
:wood: My AoE3 Twitch channel: https://www.twitch.tv/MCJim_


:coin: Age of Streaming YouTube channel: https://www.youtube.com/c/AgeOfStreaming
User avatar
Czech Republic EAGLEMUT
ESOC Dev Team
Donator 05
Posts: 4513
Joined: Mar 31, 2015
ESO: EAGLEMUT
Clan: WPact

Re: AoE3 UnHardcode Patch

Post by EAGLEMUT »

danielpereira wrote:@EAGLEMUT Thanks for the kind words, I'm glad you liked it! :D

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.
User avatar
New Zealand JakeyBoyTH
Howdah
Posts: 1744
Joined: Oct 15, 2016
ESO: Ex-Contributor
Location: New Zealand

Re: AoE3 UnHardcode Patch

Post by JakeyBoyTH »

fix ftj?

not a troll post it would be wonderful if something could be done about it
Advanced Wonders suck

- Aizamk

Ugh Advanced Wonders suck

- Aizamk
User avatar
Czech Republic EAGLEMUT
ESOC Dev Team
Donator 05
Posts: 4513
Joined: Mar 31, 2015
ESO: EAGLEMUT
Clan: WPact

Re: AoE3 UnHardcode Patch

Post by EAGLEMUT »

A solid suggestion, maybe it's possible.
Image
momuuu wrote: theres no way eaglemut is truly a top player
User avatar
Brazil danielpereira
Crossbow
Posts: 12
Joined: May 11, 2015

Re: AoE3 UnHardcode Patch

Post by danielpereira »

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.
User avatar
Czech Republic EAGLEMUT
ESOC Dev Team
Donator 05
Posts: 4513
Joined: Mar 31, 2015
ESO: EAGLEMUT
Clan: WPact

Re: AoE3 UnHardcode Patch

Post by EAGLEMUT »

Ahh, okay, thanks for the info.
Image
momuuu wrote: theres no way eaglemut is truly a top player
User avatar
Great Britain Panmaster
Skirmisher
Posts: 166
Joined: Jan 1, 2016

Re: AoE3 UnHardcode Patch

Post by Panmaster »

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
User avatar
Brazil danielpereira
Crossbow
Posts: 12
Joined: May 11, 2015

Re: AoE3 UnHardcode Patch

Post by danielpereira »

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 3 guests

Which top 10 players do you wish to see listed?

All-time

Active last two weeks

Active last month

Supremacy

Treaty

Official

ESOC Patch

Treaty Patch

1v1 Elo

2v2 Elo

3v3 Elo

Power Rating

Which streams do you wish to see listed?

Twitch

Age of Empires III

Age of Empires IV