Conversation
|
KNOWN_ROM itn6my is the standalone Super_Tilt_Bro_(E).nes version 2.5 ROM from the downloads page. It is the first download option and it is not bundled with the enhanced fceux, so the Online game mode is disabled. Offline only mods use a different offset for the mod banks. |
benoitryder
left a comment
There was a problem hiding this comment.
Updating your proposal will probably take some time. I'll continue working on it in later days.
Cosmetic changes in code aside, I want to make some changes to avoid harcoding the character names, define a dedicated component for character preview, few cosmetic/UI changes, ...
I have left few questions for things that I don't understand in your proposal.
| this.patcher.constructor.patchCharacterData(patchedData, this.characterSlot, this.tree); | ||
| for(i=0; i<this.characterSlots.length; i++) { | ||
| if(this.characterSlots[i] && this.characterSlots[i].data) { | ||
| const slot = isOnline ? i : i-4; |
There was a problem hiding this comment.
Can you explain the -4? Where it comes from and why it's needed?
There was a problem hiding this comment.
In the RomPatcher class, there is a static property:
static FIRST_MOD_BANK = 0x4 + 0x11;
This property is used to when patching a ROM, but it only matches Online Enabled ROMs. Offline only ROMs would have the value:
static FIRST_MOD_BANK = 0x0 + 0x11;
The -4 corrects for the Offline only ROM, otherwise you would get a corrupted ROM as output.
| <span v-if="romError" style="color: red">{{ romError }}</span> | ||
| <span v-else-if="romData">A ROM is loaded ({{ romName }})</span> | ||
| <span v-else-if="romData">A ROM is loaded ({{ romName }}) | ||
| [<input type="checkbox" v-model="this.romIsOnlineEnabled" style="width: 11px; height: 11px"/> Online Enabled?] |
There was a problem hiding this comment.
Is the "online enabled" information relevant here? It seems needed internally, but does it change something for the user who wants to patch a ROM?
There was a problem hiding this comment.
Yes it is relevant. There are only two KNOWN_ROMS listed from the version 2.5 release, so you could disable the checkbox or hide for those since you already know how to patch them correctly.
If the user uploads a ROM not in that list, it assumes it is Online Enabled. If that is not the case, the user needs to be able to swap to correct the patching process to get a proper ROM output.
Other logic to Identify the type of ROM automatically would be preferable.
There was a problem hiding this comment.
Disabling or hiding the checkbox if the type is known seems a good idea. This could avoid errors/mistakes will still allowing to patch a custom ROM for users who know what they are doing.
…Files from array to object hash.

Allows the user to patch any or all character slots at the same time, generate mod.json to build a ROM, and/or patch a loaded ROM (supporting both offline and online ROM versions).
It no longer goes by the currently loaded character and a slot number input, which required the user to guess the slot that will be compatible. The user selects which characters they want to patch based on defaults loaded from the config.json, or any they have imported or saved.