Home - BluRosie/hg-engine GitHub Wiki
hg-engine is an engine overhaul for English Pokémon HeartGold with a focus on bringing battles up to par with recent mainline Pokémon games and their mechanics.
The primary focus of this is a sort of step-by-step process:
- Make sure everything (moves, abilities, items, Pokémon, mechanics) is implemented in some capacity
- Make sure everything is implemented accurately using in-game tests, Smogon, and the rh-hideout Emerald battle expansion
- Revamp the battle AI to properly use new moves and make a much more difficult trainer battle experience
There is no timeline for this. I have been working with a small team on this since the beginning of 2022, largely spearheading it myself. This is a massive undertaking that is only done in our free time in addition to other projects and real life. We have jobs, friends, family, everything. There is no expectation that anything be done on any given timeline, and this has been a driving philosophy behind this project so far. This is to prevent burnout on the project and eventual satisfaction with the work being done.
A rough list of what all comes in this repository and the status:
- All Pokémon through Gen 9 Teal Mask DLC have data defined. All of the data is built from files in this repository. For editing, see Editing Pokémon Data. We are working on getting sprites done for all of the Pokémon in the style of HeartGold. Reach out to me if you would like to help!
- A total of 30 PC Boxes*
- Ability Expansion
- Move Expansion
- Item Expansion (see Item System Documentation)
- Mega Evolution and Primal Reversion*
- Completely customizable trainers, including specifying IV's, EV's, shininess, and even specifying specific stat values (see Trainer Pokémon Structure Documentation)
- Fairy type*
- Hidden Abilities* (detailed in Hidden Ability Documentation)
- Updated Effects for Existing Moves and Abilities
- Level-influence experience system* (as in gens 5, 7, and 8, detailed in Experience Overhaul Documentation)
- Brand new forms (current support detailed in Form System Documentation)
- Wild and Gift Pokémon can have their form specified (see Wild Pokémon Table Documentation)
- 60 FPS battles*
- Always set battles*
- Transparent textboxes*
- Mikelan's BDHCam routine*
- Completely new evolution methods up to generation 8 (see New Evolution Methods Documentation)
- Wild Double Battles*
- Capture Experience*
- Critical Captures*
- EV/IV Viewer in the Summary Screen*
- Support for Level Caps*
* - configurable at compile time, can be completely disabled, see CONFIG.md
- Tutorials/Documentation
- Editing Pokémon Data
- Move Scripting Systems Documentation
- Trainer Pokémon Structure Documentation
- Wild Pokémon Table Documentation
- New Evolution Methods Documentation
- Hidden Ability System
- Dex Flag Expansion
- Experience Overhaul
- Form System
- Item System Documentation
- Move Data Structure
- Overworld System Documentation
- Adding New Trainer Classes
How do I use this?
Read the README from the repository. This goes through how to install it from a fresh install of Windows, Debian Linux, and MacOS. If you are capable of building the CFRU, you are capable of building this.
I encountered a glitch! How can it be fixed?
Please create an issue on the Github Issues page. This should detail reproduction steps and, if you're the best bug reporter ever, include a save file or a save state so that we can easily reproduce it.
What can I use this for?
You are free to use this for your own hacks as you please with slight restriction.
The only restriction that I have is similar to the CFRU's only restriction:
ROM Hacking is a hobby. Without my express permission, please do not use this repository or the code within it as part of a project that results in any sort of financial gain that isn't completely avoidable by the people that want to play the game in its most recent form.
That is to say, if you want to have Ko-Fi donations for your work or whatever, then feel free to do so. However, a reward for donation can not be a version of the game that is not publicly accessible without the donation having occurred. I think it is reasonable to ask for truly optional donations that are for your work and not the code from this repository. A publicly accessible patch should be available for the ROM Hack in question that does not require the donation to unlock anything.
This includes optional donations, streamer-tailored hacks, whatever. There is a drastic increase lately in streamers essentially paying modding figures to make mods for content and it has debilitated XY, Breath of the Wild, BDSP, and Super Mario Odyssey to be limited to a small team of workers that would rather be exclusive with their findings to ensure that they have a continuous stream of revenue from streamers looking to make content.
My TM learnsets are still in armips/data/tmlearnset.s (and I am looking to update to beyond 28 September 2023)
Before updating via git pull [hg-engine] main
, make sure that your repository can build in its existing format.
Then run git pull [hg-engine] main
, where [hg-engine]
is the remote name that you have given the main repository.
Finally, to update, make sure there are files in build/a002
(normally mondata_*
). Run python3 scripts/tm_learnset.py --dump armips/data/tmlearnset.txt
. This will dump the TM data in the new format for insertion. It automatically handles everything, including dumping the moves from the include/constants/moves.h
/species from include/constants/species.h
and correlating them with what is in the ROM.
From there, delete all your tmdata
entries in armips/data/mondata.s
and then the armips/data/tmlearnset.s
.
Where can I get help for this?
First, check Troubleshooting and see if your problem is there and the directions there help you out.
From there, join the Kingdom of DS Hacking Discord server. Read the rules there and make sure you're comfortable in the 11-minute anti-spam probationary period that every new join goes through in that server. Once you get access, head over to #hg-feature-expansions
and ask there. Please do not reask your question. It will be addressed if possible.