1
0
Fork
You've already forked UnderworldArena
0
Exanima Mod to expand Arena Mode using C++ and DLL Injection.
2026年02月28日 03:14:45 +01:00
.gitignore Initial commit 2026年02月28日 02:24:20 +01:00
LICENSE Initial commit 2026年02月28日 02:24:20 +01:00
README.md Update README.md 2026年02月28日 03:14:45 +01:00

Exanima: Underworld Arena [UA]

An Exanima Mod to expand Arena Mode using C++ and DLL Injection.

Contains Spoilers for the Story Mode of the game!

Features

Current:

  • Adds more possible races to NPC Combatants (Human, Ancient, Skeleton, Manipulator)
  • Adds ~200 items from Story Mode into Arena Shops and NPC Combatant Item Pools.
  • Increases the amount of names NPCs may generate with.
  • Adds several New Arenas and new Arena Hub.
  • Adds new season reward weapons.

Future (Maybe):

  • Port to EMTK (Exanima Modding Toolkit)
  • Re-balancing of Certain Tiers/Items.
    • e.g. Implementing Master Rank weapons.
    • Possible additional Tier - Grandmaster.
  • Custom Match Types.
    • e.g. 3 Combatants vs 3 Creatures, "Sir" Battle, etc.
  • Custom Tournament Season Rewards.
    • e.g. Flawless Brass Set, Golem Suit, etc.
  • A short Story Mode experience.
  • Dialogue and Taunts.
  • Whatever contributors feel like.

How It Works

Underworld Arena (UA) uses a combination of DLL Proxying and File Modification.

  • DLL Proxying - Impersonating one of Exanima's .dll files to run our own code alongside the game.
    • UA proxies OpenAl64.dllso custom behavior happens at game start.
    • Original DLL Functions are forwarded to the renamed original DLL (OpenAL64_OG.dll).
    • Without doing this, a separate program would have to be ran for all the custom behaviors.
    • The proxy was originally generated via perfect-dll-proxy.py
  • File Modification - Parsing and modifying Exanima's proprietary data formats.
    • UA comes with a custom installer that handles parsing, adding, and modifying game assets.
    • The game uses a proprietary engine called "Flux" with its own file formats for levels, databases, etc.
    • As it modifies game files, the installer only needs to be ran once.
  1. The installer parses the Flux Resource PacKage (RPK) files of the game and the mod to merge them.
  2. A custom Flux Resource DataBase (RDB) file holds changed/new items, it is merged with the game's.
  3. OpenAL64.dll is renamed to OpenAL64_OG.dll, and uaProxy.dll takes the place of OpenAl64.dll
  4. When the game is ran, the memory is immediately scanned and patched to add custom behaviors. 5. An included item_pools.txt file is read to determine arena item pools.

Building and Contributing

  • Good luck! (TODO)

License and Disclaimers

I guess you could consider the license GPL-3.0, aside from that the repository owner (Yew) reserves the right to do whatever they want with whatever makes use of this repository or its contents.

Exanima is property of Bare Mettle Entertainment; This modification is unaffiliated. It is provided as-is and stuff.