Repository navigation
Freedom: a game module of its own, playable from the launcher - #109
Merged
Merged
Conversation
Monster Hunter Freedom (PSP, European release ULES00318) as games/mhf1, independent of the Freedom Unite module: its own region map, game program, prepare script and documentation (docs/16-mhf1-module.md). The region map holds the entry point, the overlay loader, the static initializers, the draw wait and its flag, found by matching Freedom Unite's mapped code (Freedom runs an earlier version of the same engine), and the disc's and the executable's identification. The program installs the recompiled code (95.0 % of the executable's, 82.8 % of the 105 overlays'), activates each overlay as the game loads it, sleeps through the draw wait, and runs in a window or headless with the test switches (time limit, scripted input, screen dumps). Measured headless: the language screen, the save space check, the logos, the intro movie, the title, the game menu and character creation (the name typed in), at 30 fps. Only one system call is not implemented yet (sceUtility 0x1579A159, answered 0). For now prepare.py uses the build's mhfu_extract_overlays (the same DATA.BIN cipher); it moves to a shared engine library once both games run.
The launcher now builds both games (MHF_GAMES defaults to "mhfu;mhf1"), so its catalog knows Freedom's European disc (ULES00318): "Add my copy" and --install verify it and prepare its executable, the library lists it, and Play and --play start the Freedom program with the player's settings. The copy the launcher works on is no longer looked for among Freedom Unite's copies only: Home, Settings, Play and the texture pack use the chosen copy of any game. Freedom's program reads the launcher's general options (smooth textures, volumes, language, controls, texture pack, mipmaps, anisotropy) and skips Freedom Unite's enhancement options with a line in the game's log. The game settings page shows Freedom Unite's enhancements (frame rate above 30, widescreen, HUD scale, the Game section) only for a Freedom Unite copy. package_release.py takes --game-mhf1 to ship the Freedom program.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Monster Hunter Freedom (PSP, European release ULES00318) as a game module of its own,
games/mhf1, playable from the launcher.The module
docs/16-mhf1-module.md, which also describes the layering planned for every PSP Monster Hunter: PSP platform, engine family, one module per game).prepare.pyuses the build'smhfu_extract_overlaysfor now (same DATA.BIN cipher); it moves to a shared engine library later.The launcher
MHF_GAMESdefaults tomhfu;mhf1: "Add my copy" /--installverify a Freedom disc and prepare its executable, the library lists it, Play /--playstart it.package_release.py --game-mhf1ships the Freedom program.Tested