NMM2CSV - Edit tables with Excel instead of Nightmare [UPDATED TO V1.0]

New Update! Now you can use EA Definitions files to make your tables 100x more readable!

1 Like

Updated: thanks to the new features in EA v10.0, you can now put your tables inline in free space!

#include TableInstaller.event in some free space, and in the first cell of the CSV, put “INLINE Label_name” to show that the table is to be included inline. This makes expanding and repointing a table much easier as you can now update the pointer to wherever Label_name is located, as well as add entries to the end of the table without issue.

4 Likes

I almost fully understand this but from what I do understand, damn this is really awesome! This is going to make the hacking process much faster~ Circles, you are awesome.

Here’s some pre-ripped CSVs for vanilla FE8, so you only have to edit and run C2EA without worrying about N2C:

1 Like

This is really cool! I might use it for my FF1 hacking.

Is any particular version of EA required or is V9.10 still good?

V10.0 or beyond (newest is preferred)

1 Like

UPDATE: Fixed a glitch where N2C.exe searches for nightmare modules in the ROM’s directory instead of the N2C directory.

1 Like

UPDATE:
Repointing is easier than ever with C2EA now able to automatically repoint files. Also you no longer need to drag and drop, if you do not drop a file it will open a file select dialog instead.

3 Likes

I’m new to hacking and don’t know what I’m doing, but I got this to work for FE8 roms but can’t get it to work with FE7. I have my nightmare modules and make the spreadsheets with n2c fine, but when I try c2ea I immediately get something like this:

  File "C:\Fe7 Hack Test\Tables\c2ea.py", line 124, in <module>
    main()
  File "C:\Fe7 Hack Test\Tables\c2ea.py", line 118, in main
    rom = process(csvfile, index, rom)
  File "C:\Fe7 Hack Test\Tables\c2ea.py", line 65, in process
    for row in table:
_csv.Error: field larger than field limit (131072)

So, does this mean there’s something wrong with my modules? Or FE7 has too many modules? Or is there something with c2ea that I’m missing here?

It’s an error in one of your modules, yeah. IIRC it’s one of the animation ones?

1 Like

Thanks man. Deleting the animation modules did the trick. I’ll just have to find ones that work.

Hey there an aspiring hacker here :smiley: wanted to mention I keep getting an error when using the programs, I’m attempting to hack FE8 and everytime I go to use the program at the it goes

My apologies if I’m missing something obvious.

are you sure you’re using Unicode 8

Change your system from Japanese to English.

:wave:

I made a custom alternative build of c2ea. The differences are a bit technical (see below), but basically if you’ve been using the “conventional” MAKE HACK_full.cmd/MAKE HACK_quick.cmd method it makes:

  • MAKE HACK_full.cmd slightly faster overall in theory (may or may not be insignificant).
  • MAKE HACK_quick.cmd significantly faster.

The reason for that is that this version, when repointing tables, instead of putting #inctext PFinder ... into the generated event files, it puts the repointing code directly. This basically means that Event Assembler won’t have to call PFinder itself for each repointed table. This does make c2ea itself take a bit more time, but the full build will be overall faster as it removes the overhead of calling the PFinder executable for each table.

Here are some numbers to prove my point (ran on some VBA-BT develop state from yesterday, using ColorzCore):

time ./Core A FE8 -output:"../VBA-BT.gba" -input:"../ROM Buildfile.event"

With old c2ea:
real    0m33.459s
user    0m0.000s
sys     0m0.031s

With new c2ea:
real    0m14.132s
user    0m0.015s
sys     0m0.000s

I don’t know either about those user/sys time values but I assume it’s just msys being msys, or maybe VM shenanigans. Just look at real time. So yeah, EA takes about half the time it took before.

All of this was done because PFinder is hella slow.

5 Likes

:wave: again!

It seems that me messing with this has made @Crazycolorz5 also take an interest in optimizing this, and thanks to his efforts c2ea itself is now also lightning fast.

So here’s a link to the release download.

Basically what Colorz did is some caching shenanigans: when c2ea needs to do pointer finding, instead of starting to look into the ROM immediately it will check if it didn’t already do that search during a previous invocation, and if it did it will just load the cached results instead of doing the search again (because searching through 16MB worth of data is kind of slow).

n2c remains unchanged.

5 Likes

Edited the new links into the OP.

So can we just simply replace c2ea with this newer version and it’ll work better? We don’t have to do anything else like change our MAKE HACK files, do we?

Yes, just a simple replace should work.

Yo, I’m fairly new to the community and just decided to learn this whole hacking thing. I stumbled upon this creation coz of the ultimate tutorial on feuniverse. So I followed the instructions on how to use it and something came up:

I tried to assemble the edited table or whatever you call it to the ROM, waited awhile and when it finished it found over 600 errors where it says that PUSH/POP can not be found and/or something is not divisible by 4… I thought that there’s a problem with the modules I downloaded so I tried redownloading it and redoing the whole thing and the same thing happen.

I would really appreciate it if you can help me :smile: