Skip to content
Mango77xPublic

About

Unofficial native PC ports of the classic Monster Hunter games via static recompilation, starting with Freedom Unite. No emulator. Bring your own copy

Topics

Resources

Contributing

Stars

77 stars

Watchers

6 watching

Forks

Repository files navigation

MHForever

CI Release License: GPL-3.0-or-later Website

Monster Hunter Freedom Unite on PC: an unofficial native port through static recompilation.

MHForever turns the PSP version of Monster Hunter Freedom Unite (Monster Hunter Portable 2nd G in Japan, MHFU) into a native PC program: no emulator, any controller, and a launcher that sets everything up from your own disc image.

Supported today: Monster Hunter Freedom Unite (European, North American and Japanese releases), complete, and Monster Hunter Freedom (European release), new in 0.11.0. More games are planned: MHForever is the first step of a wider Monster Hunter recompilation project, and each game is a module of its own.

Not affiliated with, endorsed by or sponsored by Capcom or Sony. Requires your own legitimate copy of the game. No game assets are included or downloaded: no disc image, textures, models, audio, text or saves. "Monster Hunter" is a trademark of its owner and is used here only to describe which games the project works with.

Website

https://mango77x.github.io/MHForever-site/

The project website explains what MHForever is, shows which games are supported, and always links to the latest release. It is built from its own repository, MHForever-site. The downloads, the code and the issues live here.

Community

Questions, bug reports, suggestions and release news: https://discord.gg/6xrxY2buDf. Bring your own copy of the game; there is no piracy talk there. Bugs can also be reported as issues.

Supported games

Game Original platform Release Status
Monster Hunter Freedom Unite PSP Europe (ULES01213, v1.01) Playable
Monster Hunter Freedom Unite PSP North America (ULUS10391, v1.01) Playable
Monster Hunter Portable 2nd G PSP Japan (ULJM05500, v1.01) Playable
Monster Hunter Portable 2nd G + FUComplete PSP Japan, patched with FUComplete v1.4.0 Playable
Monster Hunter Freedom PSP Europe (ULES00318, v1.01) Playable at 30 fps, new
Other Monster Hunter games PSP, later PS2 Planned, see the roadmap

The first five rows work today (online play is experimental). The others are plans, not promises: they are listed so you know where the project is going.

Where the project is today

Playable game Monster Hunter Freedom Unite (PSP), European (ULES01213, v1.01) and North American (ULUS10391, v1.01) releases. Each release has its own video, audio and control settings in the launcher.
Frame rate 30 fps as on the original console, or 60 to 180 fps (any multiple of 30) with frame interpolation, chosen in the game's settings in the launcher (Home → Game settings). Experimental: heavy scenes may not hold the top rates.
Online play Experimental (0.6). Quests together on the PSP ad hoc servers PPSSPP uses, with other copies of MHForever and with PPSSPP players; pick the server in the launcher under Settings → Online. Private rooms with a code and friends (added by code, who is online, invites) shipped in 0.8.0.
Platforms Windows (64-bit) and Linux (64-bit). The launcher needs WebKitGTK 4.1, which SteamOS (Steam Deck) does not include: there use MHForever-cli, the same launcher without a window (--install, --set, --play), which needs nothing besides the C library. The maintainers have no Deck to test on; reports are welcome.
Controllers Gamepads work out of the box. Tested with a PS5 DualSense; other pads recognized by SDL should work too. Keyboard and controller buttons are changed in Game settings (Home) or from the in-game menu.
Saves Kept in Documents\MHForever\saves on Windows and ~/.local/share/MHForever/saves on Linux, one folder per game; settings in %APPDATA%\MHForever or $XDG_DATA_HOME/MHForever. Updating never loses them. Saves use the PSP format: import them from a PSP or PPSSPP in Game settings (your own version of the game: a European save only works with the European release, and a North American one with the North American release), or copy MHForever's into PPSSPP.
Resolution Up to several times the original 480x272, with an optional smoother texture filter.
HUD scale The hunting HUD (health and stamina, clock, minimap, item bar) can be made smaller, down to 50%, each part staying in its corner: Game settings → Video → HUD scale, or the in-game menu. Menus and the village keep their size.
HD textures Texture packs made for PPSSPP (a folder with a textures.ini, PNG or KTX2 images), such as KHD, for the European, North American and Japanese releases: choose one per copy of the game in Game settings → Texture pack. None is included: download a pack yourself.
Text font The game's text in HD by default. Any font of your own (.ttf or .otf) can replace it, per copy of the game: Game settings → Video → Text font.
Widescreen On a wide window or screen (21:9, 32:9) the 3D fills it with a wider view while the HUD and menus keep their shape, the quest HUD at the screen's edges: Game settings → Video → Widescreen, or the in-game menu.
Projected shadows The hunter, monsters and scenery cast shadows from the game's own light, with a quality and a darkness setting: in the in-game menu's Video tab. Optional, off by default.
Other games and regions The Japanese release (Portable 2nd G, ULJM05500) is playable too, with its Japanese text. Monster Hunter Freedom (European release, ULES00318) is playable at its original 30 fps, with the launcher's video, audio, language, controls and texture pack settings; Freedom Unite's enhancements (frame interpolation, widescreen, HUD scale and the rest) are not available for it yet. Other games of the series are planned.
Latest release Latest release Release date See the Releases page.

It is early software: according to the maintainer's testing, single player can be played from start to finish, but expect rough edges and bugs. Reports are welcome.

How it works for a player

  1. Download MHForever from the Releases page and unzip it anywhere. On Linux the launcher needs WebKitGTK 4.1 and GTK 3 (see BUILDING.md).
  2. Open MHForever.exe on Windows or MHForever on Linux, and add your own .iso of Freedom Unite or Freedom (a plain, uncompressed image of your UMD).
  3. The launcher checks your copy and prepares everything it needs from it on your PC. You can also let it keep a copy of your image in its own folder.
  4. Press Play.

The game's assets (graphics, audio, text, data) are never included in MHForever or sent anywhere: they are read from the image you provide. Your saves live in Documents\MHForever\saves on Windows and ~/.local/share/MHForever/saves on Linux (one folder per game), outside the program folder, so updating never loses them. Any controller recognized by SDL should work (tested with a PS5 DualSense); there are keyboard defaults too.

Keyboard: arrows = D-pad, WASD = analog stick, K/L/J/I = cross/circle/square/triangle, Q/E = L/R, Enter = Start, Backspace = Select. Change them, and the controller's buttons, in Game settings → Controls or from the in-game menu (Esc).

What this is

MHForever is not an emulator. The game's program is statically recompiled into native PC code, and the console's system services are re-implemented. The result is a normal desktop program (Windows or Linux) that runs the game directly, with a modern launcher around it. That is what makes things like higher resolutions, any controller and, later, online play practical.

Developed with AI assistance.

For developers and contributors

Build instructions are in BUILDING.md. Pull requests and bug reports are welcome; every change is reviewed and merged by the maintainer. See CONTRIBUTING.md.

Overview Architecture
PSP platform Recompiler
Runtime / HLE Freedom Unite module
Launcher, controllers, Steam Deck Multiplayer
Roadmap

Special thanks

  • theguyser, author of pokke (a port of the Japanese release of the same game): the PSP save-data cryptography that lets MHForever read and write saves in the PSP and PPSSPP format comes from his project, shared with his permission, along with his time and advice.
  • sodomon2, for the Linux packaging, the desktop integration and the launcher fixes that came with them (pull request #7), the keyboard bindings in the launcher (#9), the movies (#12) and the language choice (#20).
  • ibonplix, for the first texture pack support (pull request #39): the PPSSPP quick hash, the KTX2 decoding and the launcher setting that the HD textures are built on; and for the projected shadows (#90), tuned zone by zone across the maps.
  • Pablo1517, for the hunting horn songs card (pull request #49), the true weapon values (#44), keeping the volumes changed in the in-game menu (#45), the fast supply box (#59), browsing the smithy with its panels open (#60, with the recompiler's instruction patches) and its improved layout (#62), and the analog camera (#68, with the recompiler's call patches), and for the generated region data the game's host reads the region maps through.
  • The FUComplete team (FUComplete/Patch), whose fan patch for the Japanese release (its English translation, events and options) MHForever runs as its own copy of the game: the player patches their own image with FUComplete's tool, and the launcher sets its options.
  • Kaneda, for the HD text MHForever ships (the game's character map at 16 times its size and every character of the font, accents and Japanese included, at 8 times), and for the texture pack ideas.
  • Mobilozor, for proving HD texture packs on MHForever first (on SteamOS), and for the audit and test logs shared with the project.
  • TeamGDB's Yakumo (MIT), whose frame interpolation MHForever's is ported from, and whose texture packs showed how to load them without holding the game up.
  • PSPRecomp, the static recompiler framework this project is built on.
  • PPSSPP, for the executable decryption, the texture pack format, as the reference for how the PSP behaves, and for the ad hoc online play its players keep alive: MHForever plays on the same servers, and the launcher's list of servers comes from the one PPSSPP publishes.
  • FFmpeg, whose libavcodec decodes the movie pictures and sound and the game's music.
  • Kethen, for aemu_postoffice, the client and the protocol that PSP ad hoc servers speak, which MHForever's online play uses (GPL-3.0, included unmodified, with ENet, MIT).
  • The volunteers who run the PSP ad hoc servers for the PPSSPP community, and in particular those MHForever lists: Socom (socom.cc), Madness Gaming Network (psp.mgn.pub), Games Nexus (adhoc.gamesnexus.ovh), Psi-Hate (psi-hate.com) and Neko PSP (cat.wjg.jp).
  • tclamb/mhp2g-decomp, the matching decompilation of Monster Hunter Portable 2nd G, whose documented formats and names helped a great deal.
  • Everyone who tested the releases and reported problems on GitHub, Reddit and Discord.

The full list of third-party code and its licenses is in THIRD_PARTY.md.

License

GPL-3.0-or-later (see LICENSE). Third-party components keep their own licenses (see THIRD_PARTY.md).

About

Unofficial native PC ports of the classic Monster Hunter games via static recompilation, starting with Freedom Unite. No emulator. Bring your own copy

Topics

Resources

Contributing

Stars

77 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages