I believe i successfully made the switch to abcde!
Some cool things which i can now do:
1. Bitbucket for god knows why only encodes its files in UTF-8. You have no option to change it, anywhere.
Now i can dump all of the repository scripts into one folder and bulk insert them into the game files! So much time saved copy and pasting everything!
Still have to manually create a batch file that has the file names in it, and i have to change those whenever i changed them on the repository, but this is a lot less work than before.
2. I don't have to copy and paste the original script under the commented one anymore because abcde supports the function of "both", wish i had made the switch to abcde earlier hahaha
3. I don't have to maintain 2 shift jis tables anymore, one table file can work on both Atlas and Cartographer scripts!
Only downside i see is that i had to download perl in order to use abcde, it was easier to have a ready-to-work exe that you could use without any prerequisites. But i guess that is a first world problem, it works like a charm.
That should already be working - setting an upper bound on the insert address with the second #JMP command parameter will will display an error message and prevent insertion beyond the given address if that section of your insert script takes up too much space, so e.g. with #JMP($2790, $5624) it won't insert script beyond $5624, which when you're working with a monolithic ROM like on the NES/SNES allows for even finer control than just checking file size; on platforms with a filesystem, if you're inserting into a specific file, you could set the upper insert bound to the size of the file.
I see, i will test out some stuff after porting my scripts to abcde. Thanks for letting me know about it!
April 06, 2020, 12:07:54 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I would also recommend updating the ReadMe, because this reads it like you can't do the things that are currently broken with the Both command:
# Since newlines are reserved for delimiting table entries from each other, you can't make a multi-line table entry, but you can use "\n" anywhere in the right-hand side of a table entry to represent a newline:
# 0xFE would then be translated to text as:
# Newlines are ignored when translating text into binary, so in the absence of any other usable table entries, each of these texts would be translated to 0xFE:
# 5) etc., etc.
In this example you didn't include an example where different pointers are further apart ( 1) 2)...)