1. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    2020 Update: At this point, I've created new tools that supersede everything from the original post. This includes FEFEditor. So, I've remade this post to feature the new tools instead. If you need the original FEFEditor, you can find the original post in the spoiler marked "Original Post".

    I've created three tools for 3DSFE rom hacking: Paragon, Exalt, and BCSAR View. You can find details on each tool and download links below.

    Paragon: The next iteration of FEFEditor and FEFNightmare. Unlike its predecessors, Paragon operates on an entire ROM instead of individual files so that it can see common data between files, tables, etc. This leads to a more streamlined editing process. You can edit most data in FE13, FE14, and FE15 using Paragon, though FE14 (Fates) has the most features currently. While Paragon is still in an alpha state, it's already more stable than FEFEditor. I'd highly recommend upgrading to Paragon if you are still using FEFEditor.

    Paragon Downloads: https://github.com/thane98/paragon/releases
    Paragon Source and README: https://github.com/thane98/paragon

    You can find an excellent series of tutorials on how to use Paragon here.


    Exalt: A successor to Fates Script. Compared to Fates Script, Exalt produces higher quality scripts that are closer to what you'd expect from a normal programming (or scripting) language. If you had trouble editing scripts in the past due to Fates Scripts's bizarre syntax, I would recommend giving Exalt a try.

    Exalt Downloads: https://github.com/thane98/Exalt/releases
    Exalt Source and Tutorial: https://github.com/thane98/Exalt


    BCSAR View: An editor for 3DS sound archives. It supports dumping and inserting new wave sounds, sound sets, and archives. You can also dump sequences, banks, and groups.

    BCSAR View Downloads: https://github.com/thane98/BCSAR-View/releases
    BCSAR View Source and README: https://github.com/thane98/BCSAR-View


    FEFEditor is a general purpose ROM hacking tool for Fire Emblem Fates. With it, you can edit or create new characters, chapters, or items with ease. You can edit the vast majority of files that a hacker would want to change in Fire Emblem Fates without ever needing to touch a hex editor. As of update 5, FEFEditor also comes with a small set of tools for editing Fire Emblem Awakening.

    Additionally, FEFEditor comes packaged with FEFNightmare and Fates Script. FEFNightmare is a powerful tool for editing the .bin format used in the 3DS Fire Emblem games. It provides a simple, text-based format for mapping out file tables and creating both standing editors and injectors. Fates Script, as its name suggests, allows you to edit script (.cmb) files.

    To get started, simply download the FEFEditor package from the link below and ensure that your version of Java is up to date.

    Download: http://www.mediafire.com/file/mug1w138vzafujh/FEFEditor_Update_5-4.zip/file
    Source: https://github.com/thane98/FEFEditor
    Updated Nightmare Modules: https://github.com/VelouriasMoon/FEFNightmare-Modules


    Credits:
    • SecretiveCactus, SciresM, and Einstein95 - Both FEFEditor and FEFNightmare make use of code for handling lz11 compressed files. The code used for this is derived from Einstein95's DSDecmp and SciresM's FEAT. That code was ported over to Java by SecretiveCactus.
    • Hextator - The developer of Nightmare 2.0, which FEFNightmare uses as a base.
    • RainThunder - Developed the original scripts for injecting data into Fates' bin files and created Fates' Nightmare modules. A huge portion of this program was created using his resources as a reference.
    • DeathChaos25, TildeHat - For their general contributions to the 3DS Fire Emblem hacking scene.
    • Moonling - Provided additional Nightmare modules and made improvements to existing ones.
    Updates
    FEFEditor:
    • Merged all editors into a single window.
    • The GUI is now styled using a modified version of JMetro8, not JFoenix.
    • Most textfields that require Japanese labels now have an autocomplete function. You can enter in the prefix and the english name to get the correct, Japanese version. Ex. Selecting the autocomplete function for IID_Thunder will fill the field with IID_サンダー.
    • Added an editor for text files with lots of entries like GameData and GMap.
    • The IndirectSound Editor is now a part of FEFEditor itself.
    • The map config editor has been replaced with a module that performs the same function.
    • Added a "Make Chapter" option to the main menu for copying all of the files needed to create a new chapter.
    • Removed the game selection menu. Replaced it with a mode menu for Awakening, Fates Base Game, and Fates DLC.
    • Rewrote the code for the dispo, person, and join editors to make exporting files as accurate as possible.
    • Fixed a critical bug with the dialogue editor that caused the first message line in every text file to get cut off when exporting.
    IndirectSound Editor:
    • Added a field for editing a sound's tag bytes.
    • Added an option for batch configuring tag bytes.
    • Adjusted the "Add Character" function to properly assign damage lines.
    • Fixed a bug which caused the "Add Character" function to fail if a cured line was in the voice set.
    Support Editor:
    • Supports.xml is no longer needed. The editor will now connect support tables to character blocks by using support IDs.
    • Characters are now added through the "Add Character" option. You no longer need to know the support ID and character ID beforehand - just select a character from a list of characters without support tables and the editor will take care of the rest.
    Dispo Editor:
    • Fields are now categorized to make finding the field you want easier.
    • Changes made to fields are now immediately written to the block. No saving required.
    • The dispo grid now scales to fill its pane.
    • Added fields for changing spawn coordinates.
    • Replaced all of the bitflag fields with proper HexFields from FEFNightmare.
    • Revised the colors used in the dispo grid.
    Castle Join Editor and Person Editor:
    • Changes made to the fields are now immediately written to the block.
    FEFNightmare:
    • Condensed everything into a single window.
    • The GUI is now styled using a modified version of JMetro8, not JFoenix.
    • Spinners and textfields now automatically write to the block when their values change. No hitting enter required.
    • Added a function for copying data from one block to another. By default, the function will only copy non-text data.
    • Added modules for map config, museum, and GameData's field files.
    • Added an AID injector for unique class models and a normal injector for person files.
    • Modules can now be categorized.
    • Rewrote the module parsing code. Removed lots of unused Nightmare 2 code from the project.
    Fates Script 3:
    • Tweaked the menubar and tab pane to match FEFEditor/FEFNightmare.
    • Events are properly numbered like they were in the original Fates Script.
    • Fixed a bug which prevented .fscript files from appearing in the open file dialog.
    • Added a new editor for IndirectSound.bin
    • Added FaceData modules and injectors for both Awakening and Fates.
    • Added a new AID injector based off of Azama's AID.
    • Added a new module for editing castle_building.bin
    • Added a new control to FEFNightmare for viewing labels in place of pointer values. Here's a demonstration.
    • Added a new rendition of Fates Script with a tweaked script format and support for scripts from both Awakening and Echoes.
    • Added placeholder menus for Awakening and Echoes editors.
    • Added a "Duplicate Block" option to the dispos editor.
    • Added hotkeys for various menu options in the dispos editor.
    • Fixed a bug which would cause blocks to always use their X1/Y1 coordinate on the dispos grid when editing X2/Y2.
    • Reworked FEFNightmare and added in a way to create module-based injectors. Character, Chapter, Item, and AID injection is now handled through this new version of FEFNightmare instead of the old tools.
    • Added a support editor for DLC files.
    • Redid every remaining editor's UI to match the new look.
    • Added injectors for custom classes and skills.
    • Lots of additional changes related to FEFNightmare specifically. There are too many to spend time listing them all out.
    Download: http://www.mediafire.com/file/db10flocaae4796/FEFEditor_Update_1.zip
    • Added a dialogue editor for DLC files.
    • Updated the GUI for the config editor and dialogue editor to use material design libraries. The other editors will receive similar overhauls in the next update.
    • Made some small tweaks to the default window sizes for the main window and dialogue editor.
     
    Last edited by thane98, Apr 23, 2020 - Reason: FEFEditor -> Paragon
  2. DeathChaos25

    DeathChaos25 Unmei wo kaeru!
    Member

    Joined:
    Oct 21, 2015
    Messages:
    1,329
    Country:
    I needed this Nightmare replacement so badly, I'd literally just use HxD 80% of the time just to not deal with Nightmare 2.

    Also, this event editor looks really really nice, might actually be using it a lot, so expect some feedback ;)
     
    Fates-Blade-900 and FlappyFalco like this.
  3. KunoichiZ

    KunoichiZ GBAtemp Guru
    Member

    Joined:
    Mar 16, 2012
    Messages:
    8,830
    Country:
    United States
    Yo, this is pretty amazing. I don't have the time to mess with this stuff but these tools are still cool regardless.
     
    Fates-Blade-900 likes this.
  4. uchiho

    uchiho Newbie
    Newcomer

    Joined:
    Jan 18, 2017
    Messages:
    2
    Country:
    Cote d'Ivoire
    Wow, pretty cool. Thank you a lot! I'm sure I'll use this xd

    I'm also trying to change some stuff on the Decrypted CIA files from the .cia game (I'm using "Decrypt9WIP" and "HackingToolkit3DS" from @Asia81's Tutorial) but when I try to extract the models files, they
    have some ".ctpk.lz" extension, imposible to extract nor open, at least with the tools I have.

    models.JPG

    I wonder if you know a way to open/extract and edit thoose models files (I know there's a way to launch both the .moc and .png files with Live2D viewer editor)

    I was hoping to get something like this:
    Live2d.JPG

    About the attached files:
    First image: What I have on the Decrypted model files
    Second image: What I though I would get (this is a sample from Live2D viewer)
     
    Fates-Blade-900 likes this.
  5. cercity

    cercity Advanced Member
    Newcomer

    Joined:
    Jan 16, 2016
    Messages:
    69
    Country:
    Would it be possible to write a small tutorial on expanding GameData? I'm inexperienced and unsure how to utilise Python 2.7 to this end.
     
    Fates-Blade-900 likes this.
  6. MsMidnight

    MsMidnight part time fe modder
    Member

    Joined:
    Oct 12, 2015
    Messages:
    1,754
    Country:
    Guess I'm getting back into fates rom hacking
     
    Fates-Blade-900 likes this.
  7. king_frost93

    king_frost93 Member
    Newcomer

    Joined:
    Jan 18, 2017
    Messages:
    13
    Country:
    United States
    Hi, I have a question regarding the Expand GameData feature in your updated Nightmare.

    I want to add a new class, so I typed in its name as the label (CHIEF) and set its ID to 129 (81H, as the Outrealm class is 80H). I saved the changes and I saw the GameData.bin file got five bytes added to the end of the file. Unfortunately when I tried to edit the class, it didn't show up in class module at all, and I have no idea why. Was I supposed to edit something in the pointer region first? I'm at a loss here.
     
    Fates-Blade-900 likes this.
  8. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    Confirm that you can run the GameData script from command prompt without receiving errors - the tool I provide really just runs that script using the information you give it, so if nothing shows up its likely due to an error when running the python script.
     
    Fates-Blade-900 likes this.
  9. DeathChaos25

    DeathChaos25 Unmei wo kaeru!
    Member

    Joined:
    Oct 21, 2015
    Messages:
    1,329
    Country:
    Yup, the python script needs to be updated, I let RainThunder know of some output errors that were fixed, which would most likely be the culprit.
     
    Fates-Blade-900 likes this.
  10. cercity

    cercity Advanced Member
    Newcomer

    Joined:
    Jan 16, 2016
    Messages:
    69
    Country:
    Is there a way to realign existing data once a new class/character was been added using the expand GamaData function?
     
    Fates-Blade-900 likes this.
  11. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    You shouldn't need to - the script adjusts every pointer within GameData to match with the new file size.
     
    Fates-Blade-900 likes this.
  12. cercity

    cercity Advanced Member
    Newcomer

    Joined:
    Jan 16, 2016
    Messages:
    69
    Country:
    I figured that would be the case so it must be an error on my end. When adding a new character (Entry ID 255) the character is successfully added and I can edit the pointers of this entry. But everything after that entry (classes, forge, ect) has misplaced data (for example, Nohr Noble has 0 in all bases and 132 in speed growths).
     
    Fates-Blade-900 likes this.
  13. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    It sounds like the modules you're using were not updated to reflect the new locations. If that's the case, the file is set up correctly, but the module thinks that the tables are in a different location.

    That shouldn't happen though - the script also updates modules to look for tables in their new locations. I actually just tested it to be sure. Are your module folders and script in the same location?
     
    Fates-Blade-900 likes this.
  14. DeathChaos25

    DeathChaos25 Unmei wo kaeru!
    Member

    Joined:
    Oct 21, 2015
    Messages:
    1,329
    Country:
    Maybe they need to update the modules? Or rather, they updated them?

    The Skill module used to be named "skll.nmm" which would give errors with gamedata_module.py because it was looking for "skill.nmm" and wasn't finding it, so RainThunder updated it to fix this, that might be the possible culprit maybe?
     
    Fates-Blade-900 and thane98 like this.
  15. cercity

    cercity Advanced Member
    Newcomer

    Joined:
    Jan 16, 2016
    Messages:
    69
    Country:
    I think the folder is set up correctly, the folder is as downloaded (with the newest update, featuring the fixed module) with the only file added is the new Nightmare tool.
     
  16. king_frost93

    king_frost93 Member
    Newcomer

    Joined:
    Jan 18, 2017
    Messages:
    13
    Country:
    United States
    I figured that would likely be the case, so I redownloaded everything, including the updated gamedata and gamedata_module scripts, but I'm still getting the same problem. I tested it out with the new updated python scripts but it didn't seem to work, as no new data seems to be added. Actually, one thing I noticed is that oftentimes, I do get new files like the ones like in the screenshot I'm attaching (all the ones with the configuration setting data type) but they don't seem to be usable or do anything.
    2017-01-23.png
    I wonder if the modules themselves have to be in the exact same folder as the Nightmare or gamedata tool itself or what.
     
  17. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    As I said, try opening up a command window inside the same directory as the python script and running it using something like "python --item 400 ABC" to test (back up your GameData.bin beforehand to avoid adding any junk entries to the table). If there's no issues with the script, it should simply run and give you a message saying that the item was added successfully. Otherwise it will print out an error to the console.
     
  18. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    Updated the main post with a new resources section. I've included a pack of Awakening models I've ported over to Fates as well as a modified BCSAR which adds some slots for custom music.

    The model pack will probably grow a bit over time - I'm still working through some issues with the majority of Awakening's models. The 9 I've included in the release are the only ones I've been able to port over with my current procedure.
     
  19. Dylos

    Dylos GBAtemp Regular
    Member

    Joined:
    May 13, 2016
    Messages:
    285
    Country:
    United States
    Thanks for the awakening ports, though it's a little confusing as to which models they are. Have you tried importing Manakete yet, that's the one I'm looking forward to (mostly since I already have a mostly working manakete class)
     
  20. thane98

    OP thane98 GBAtemp Advanced Fan
    Member

    Joined:
    Apr 23, 2016
    Messages:
    571
    Country:
    United States
    Yeah, I kept the original naming conventions just to make sure the models worked - I ended up with crashes when I tried something different. The screenshots folder includes a picture of every model along with its name, so you can use that to help match models with names.

    The human form for the manakete model is one of the models I'm having problems with, unfortunately. I haven't tried the dragon model yet, so that one might work.
     
Loading...

Hide similar threads Similar threads with keywords - FEFEditor, Emblem, Fates)