Code Monkey home page Code Monkey logo

aoe3unhardcoded's Introduction

AoE3 Community UnHardcode Project

Summary

The main purpose of this project is to investigate and research on the hardcoded features of Age of Empires III that pose a limitation to modding.

Some examples of such features, which we are or will be investigating, include:

  • 14 AI/civilization limit
  • Revolutionary Banners
  • Export UI for Asian civs and Fire Pit UI for Native civs
  • Trickle of Fame resource
  • et al.

Most of the code used for this project is programmed in Assembly and C++.

Who?

This project is driven by members of the AoE3 community.

Progress

The development progress can be checked in the TODO file in root directory of this repository.

How to use

In order to use the code provided by this project, you'll need to download the latest stable Patcher in the /Release directory and open your Age of Empires 3 TAD .exe with it.

For more information about the Patcher, check the README.md file at the /Patcher directory.

Contributing

TBD

Contact

TBD

aoe3unhardcoded's People

Contributors

danielpereira avatar janrossler avatar kangcliff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

aoe3unhardcoded's Issues

Custom native civs crash

Adding a native civ through the UHC config file leads to immediate crashes when trying to age up. Even if implemented correctly in the politiciandata.XML and techtreey.XML, the council-style age up does not work for the custom civ.
Other native civ features work flawlessly.

Unhardcode the check to eso.com

Hi,
First, a big big thanks for the wonderful job you're doing there.
Now, as you may know, the eso.com link is no more redirecting to agecommunity.com, causing some issues.
Right now the solution is to edit the .exe through an Hex editor and replace the eso.com string by a one of the same lenght. It would be cleaner to be able to put the real link or ip (so agecommunity.com) in a cfg file.
I don't know if it's hard to do that, but compared to your whole work it was looking easier. Anyway, I had to ask, and thanks again for your job.

Suddenly uhc.dll disappeared and the whole game crashed

I don't know if this issue happened before and I'm not sure how much it is related to uhc, however, I'll tell you. I was making a series of scenarios, when I noticed something unusual. The scenario files appeared in-game, but not in the scenario folder in my documents. I just passed on that. One day, suddenly the game didn't want to run because uhc.dll was missing. I don't know how and when it disappeared, so I opened my other computer, where I have the game with the same patch installed, and copied from there the missing file. After that, the game started, but it's configuration was very different, corresponding to a past ones, and all of those scenarios disappeared. So I decided to go back to an older configuration of windows through the system, to revert the changes the dll made. Now I'm at the same point: no dll AND no running the game, but at least I think those scenarios are still there somewhere. Do you think you can help me in rescuing them?

dojo and summerpalace for all civ

It's interesting. There is a worker always dancing at the firepit for asian civs. The asian civs can always get 1 worker benefit buff from firepit, if they can build a firepit. Dojo and summerpalace are considered as a firepit. If you use the factory to produce banner army, it will fail. But the firepit can, because they truly train a unit.

Setting export visible makes Politicians not work

Setting the key "asianCivs" as a multiValueProperty with civ values makes civs with that tag stop using politicians.

Considering this is suppossed to "unhardcode" things I would class this as unintended and avoidable behaviour. Plus, wonder age-up already works without the tag (I have tested it), which makes this only disable the use of politicians.

If not, different tags should be added, one to display export, and another for (unknown to me, since it already worked when I tried) extra "wonder" functionality (that supresses politicians?); or else, allow wonders without disabling politicians.

My custom civ "wokouciv" was altered to age of with politicians; add the tag, and it stops working. Remove the tag, and it works again. However, Export resource doesn't display in the UI without the tag.

Making a civ that ages up with politicians and displays export, as things stand now, is impossible, requiring a fix.

Thanks for any attention.

Screenshots: Showing extra politician codes and how they worked.

The issue presents itself as "you click in the age up button on the town center, but nothing pops up" after the setting. Removing the setting reverts the functionality to normal.

2019-12-10 00_56_10-D__LocalProxy(x86)_Age of Empires III - Complete Collection_data_techtreey xml -
2019-12-10 00_56_21-D__LocalProxy(x86)_Age of Empires III - Complete Collection_data_techtreey xml -
2019-12-10 00_56_50-_D__LocalProxy(x86)_Age of Empires III - Complete Collection_data_protoy xml - N
2019-12-10 00_56_57-_D__LocalProxy(x86)_Age of Empires III - Complete Collection_data_protoy xml - N
2019-11-23 03_58_43-Age of Empires 3

UHC and ESOC Patch for AOE3 TAD

Apologies for this, but I was hoping to get some help on this matter.

I recently downloaded and installed the ESO Community Patch from their website, and was hoping to use the UHC patch in tandem with the ESOC one. I'm told that both can be used together without a hitch. When I selected the ESOC patch's executable (agef.exe) to be patched, I naturally get the message that it's not a "valid AoE3 TAD executable", but I proceed with it. Once I load the game and try to set up a Skirmish match after pressing Play, the game immediately crashes back to the desktop with the generic "X has has encountered an error" message.

Am I doing this correctly, or am I missing a crucial step or two to get it to work?

Would like your thoughts/advice on this. Thanks!

Odd behaviour whilst playing

Hi, I wanted to thank you for all the hard work you have put into this project and to say that it is appreciated how much you have helped spur on the modding community and even help the modding community. But I have a problem with my game currently that I'm at a complete loss on what it is that is causing it or even how to solve it, the issue is that with the patch installed there is a certain limit that is reached as to what can be done and once it is reached buttons appear in the wrong place and units don't appear in the right buildings. For example if I modded the barracks to train a new unit and play with the civ that can train it instead of that unit appearing another unit entirely appears in it's place in the build list. I know that the team at WOL(Wars of Liberty) were also having this issue and I assume that like me they are using your patch but I'm unsure if it is something to do with how the code is injected via your patch in terms of the new civs or something else entirely. I am writing this to see if I can get help and answers potentially. Hope this isn't too much of a bother. Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.