everything8215 / ff6tools

Browser-based editor for Final Fantasy ROMs
GNU General Public License v3.0
33 stars 7 forks source link

Hello! #4

Open Imzogelmo opened 3 years ago

Imzogelmo commented 3 years ago

So I just discovered this project last night...And I literally sat and read the entire json. Yes I have been under a rock. I am extremely impressed with this and am offering to help. I have lots of ideas, from simple adding of minor parameters to full-on expansion and even more, but I think it's best to start off slow. What you've done already is monumental!

So to make this a proper issue: There are a few event commands missing the ability to edit their arguments. I haven't dug deep yet, but a few I saw:

And as a QoL thing, I'd recommend renaming Jump to Subroutine as Call Subroutine, as control will come back.

everything8215 commented 3 years ago

Hey Imzogelmo, thanks for the feedback! I've used a lot of your old docs as references when working on this, thanks for all of your work.

There are a lot of incomplete event commands, unfortunately. FF6 is actually in pretty good shape compared to FF4 and FF5. Thanks for highlighting these ones. I'll try to incorporate all of these in the next update. Let me know if you find anything else. I would appreciate any other feedback/ideas that you might have.

Would you like to be a collaborator on the repo? I believe that would allow you to make changes directly. Let me know if you're interested.

Imzogelmo commented 3 years ago

I really don't know much about javascript, but I can certainly provide more info on ff6 if you want. You already have a lot though.

I am trying to whip up some byte perfect assembly files for the code banks, and it occurs to me each of the scripting languages need a sort of assembly file too for proper flow control and optimization. This could take a while, but fortunately I already have a strong start. With good assembly files and tokenized pointers, moving assets becomes trivial. Of course new code can call new data, so your manifest idea is a great one for more than one reason.

I don't have much on the other games, aside from playing with other editors, which I imagine you've done. I am certainly willing to help, but due to my health issues have both a lot of time and a shortage of energy. I have a lot to say on events, and am hoping to see song and animation editors, which I can test if nothing else. To me, if I can condense them with no loss of function, it'll be a win.

On Sun, Oct 18, 2020, 10:08 PM everything8215 notifications@github.com wrote:

Hey Imzogelmo, thanks for the feedback! I've used a lot of your old docs as references when working on this, thanks for all of your work.

There are a lot of incomplete event commands, unfortunately. FF6 is actually in pretty good shape compared to FF4 and FF5. Thanks for highlighting these ones. I'll try to incorporate all of these in the next update. Let me know if you find anything else. I would appreciate any other feedback/ideas that you might have.

Would you like to be a collaborator on the repo? I believe that would allow you to make changes directly. Let me know if you're interested.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/everything8215/ff6tools/issues/4#issuecomment-711485123, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARQOJDK3PG5G2VJHX4TMZLSLOURDANCNFSM4STKIMXA .

everything8215 commented 3 years ago

I'm sorry to hear about your heath issues.

I tried to make a byte-perfect assembly a while back. It looks like I completed bank C0 and about a third of bank C1. Would that be helpful? I can send them to you if you want. I was using the x816 assembler, which I would not recommend. I think ca65 is much better for something this large.

My guess is that the devs created most of the scripts in the game using text files, a normal assembler, and a whole bunch of macros to define the syntax of each command. It would be cool to try to make something like that from scratch. You would get all of the text parsing and flow control capabilities of the assembler, and you could export labels for use in the code assembly itself. I think it could work well for events and the various battle scripts. It could probably work for songs and sound effects too, but there's already a pretty well-established script syntax that folks use for songs (it looks like "a8 b8 c4, etc.") and I'm not sure if that could be done with assembler macros. I considered incorporating something like this into FF6Tools, but I decided against it because don't think it would fit well with the shiny GUI.

Any testing you can do on FF6Tools would be very helpful! I have sadly been neglecting the script editor for a while, and I just noticed that the menu for adding new commands doesn't seem to be working properly anymore. Hopefully I can get that fixed soon. You can post any issues you find here, or on the ff6hacking discord/forum (I check those more often).

Imzogelmo commented 3 years ago

Thanks for the reply. I certainly am willing to help and I would like those bank assemblies if you don't mind sharing. I used to have some for C0-C3, before my laptop was stolen about 3 years ago, though I found an upoer C2 on my dropbox. I used Asar ro make it. I actually built it such that it relocated to F0, but changing that is trivial. Back before my laptop was stolen, I had several variants on C1 and C2, where I took the vanilla and optimized them, keeping them functionally equivalent. I'd like to try my hand at it again, both as a challenge and to help myself relearn.

Thanks for the well wishes. It tough to type when you can only barely feel your left hand. :(

On Mon, Oct 19, 2020, 9:32 AM everything8215 notifications@github.com wrote:

I'm sorry to hear about your heath issues.

I tried to make a byte-perfect assembly a while back. It looks like I completed bank C0 and about a third of bank C1. Would that be helpful? I can send them to you if you want. I was using the x816 assembler, which I would not recommend. I think ca65 is much better for something this large.

My guess is that the devs created most of the scripts in the game using text files, a normal assembler, and a whole bunch of macros to define the syntax of each command. It would be cool to try to make something like that from scratch. You would get all of the text parsing and flow control capabilities of the assembler, and you could export labels for use in the code assembly itself. I think it could work well for events and the various battle scripts. It could probably work for songs and sound effects too, but there's already a pretty well-established script syntax that folks use for songs (it looks like "a8 b8 c4, etc.") and I'm not sure if that could be done with assembler macros. I considered incorporating something like this into FF6Tools, but I decided against it because don't think it would fit well with the shiny GUI.

Any testing you can do on FF6Tools would be very helpful! I have sadly been neglecting the script editor for a while, and I just noticed that the menu for adding new commands doesn't seem to be working properly anymore. Hopefully I can get that fixed soon. You can post any issues you find here, or on the ff6hacking discord/forum (I check those more often).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/everything8215/ff6tools/issues/4#issuecomment-712203685, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARQOJHNP7UJNPGAD7DMLNTSLREYXANCNFSM4STKIMXA .