ROM Hack Pokemon Legends: Arceus - remapping input

falcorr

Well-Known Member
OP
Member
Joined
Sep 26, 2019
Messages
133
Trophies
0
XP
670
Country
Australia
Two simple changes attached, for TitleID 01001F5010DFA000 and v1.1.1 (but I imagine they work widely):
bin\misc\key_assignment\key_assignment.bin
  • run moved from L3 to R3
  • run moved from L3 to L1 with the side effect of cycling items and pokemon limited to R



I've been able to make some limited changes but very quickly bork it. I think due to alignment with the format or memory allocation.

keyassignment.png

Don't know what's going on in the blue region, nor the short following one.

Orange (30) is a reference to the (consistent) number of binds.

The red region has 2-byte blocks that count up from the end, by 12 or 16. The final value can vary, there's no obvious limit to the series. They correspond to the number of bytes in each map, i.e. a jump of 12 for a 1-byte map (1-2 characters) and a jump of 16 for a 2-byte (4-6 characters).

The teal region has the actual mapping. Number of characters in the map's string in the first 4 bytes then 4 or 8 bytes for the button. The final, purple region of 8 bytes seems to just be a description or comment, perhaps only "default" having meaning in that it's applied.

There are 30 button maps, I think they'll end up corresponding to the Controls screen, the 17 "General" and 13 "Battle", with the optional R3 to toggle the HUD not included. I assume only the top-most, "default" mapping is used. There are 6 sets of maps in the file that I think go back in time with development. The description with each set goes "default", "202102", "202101", "202007", "202006", "20200731". The game was announced in late February, 2021, so I'm guessing the two close binds near that date are due to some fuss getting things ready to show. You can see development went back at least to June, 2020. As you go down the number of maps decreases, and going up you see changes settle. One map is never assigned - I didn't notice anything obvious by assigning it.

Controls beyond what you see in the settings menu don't seem to be defined in this file.

Counting maps 1 to 30: 3 is the Pokedex, 14 is run, 16 is ride, 19 opens the map, 25-26 cycle items/pokemon. Forgot to note a few others.

Assigning the same button to multiple actions can fire them all off at once. There's one instance of a single map getting multiple buttons from an old set, "ZL,ZR", and I haven't tested whether it still works and means both buttons can activate or is a combo.

I've tried unsuccessfully to accommodate changed string/byte lengths in the preceding memory-related (?) region. I've tried simply letting 1-byte / 1-2 character buttons sit in original, roomy 2-byte positions generally without success (I think I had it work occasionally, before killing the following maps). I've tried substituting an older set with more 2-byte maps ready to go without any better luck. And a few other permutations I forget.

If the game doesn't crash on load, you're halfway there. If there's still an error with the file it'll load binds up until the failure point.

Feel free to report what the different maps do, or better yet let me know what I'm missing so I might finish a stalled, simple remapping tool.




There's a lot of exposed stuff in the files. There's heaps of room to mod Arceus. Even without doing anything fancy, you could go to town with a hex editor and parameters alone. If you're interested in the game and vaguely useful at stuffing around with its insides, I'd recommend having a look. Fun files include:
  • character_blink_config.bin
  • field_anime_framerate_config.bin
  • field_my_poke_ball_hit_none_target_config.bin :(
  • player_face_config.bin
  • pokemon_size_category_adjust_scale_config.bin
  • env_poke_voice_config.bin
 

Attachments

  • Pokemon Legends Arceus v1.1.1 RunL 01001F5010DFA000.zip
    1.6 KB · Views: 17
  • Pokemon Legends Arceus v1.1.1 RunR3 01001F5010DFA000.zip
    1.6 KB · Views: 17
Last edited by falcorr,
General chit-chat
Help Users
  • No one is chatting at the moment.
    suslu22 @ suslu22: i opened