Posted: Fri Nov 28, 2014 19:46
My goodness, it's been a busy few months. Well, we just celebrated Thanksgiving here in the United States, and what better things are there to be thankful for than Abiathar updates?
UPDATE
v2.2: the audio update
As always, you can get it from the magical auto-updater or in ZIP form.
Let's see what changed!
Well, you might notice immediately, in the download phase, that the Abiathar executable has gotten a lot smaller. Rather than storing the full EGA files in the executable for use as default graphics, it now gets them from GIF tilesheets. With that and the removal of some old resources, the main EXE went from over 6MB to just 3.7MB.
More interestingly, and the big purpose of this update, the Edit menu has gained four new items! First is Audio, which contains sub-items to link your mod's audio resources or dump the default ones for your Galaxy episode. It also lets you Import or Export the resources, smashing them into individual chunks bound together by the *.asnds file. You can export the full ripped chunks (Type-1) or just the sound data, leaving the authoritative metadata in the ASNDS file (Type-0). Either way, the metadata will appear in the ASNDS file for reference or override (replace the "?" at the beginning of the line with an "!" to overwrite the metadata in a Type-1 chunk with the ASNDS metadata when importing).
If you only need to manage the IMF songs, there is a convenient GUI for that! Look no further than Edit | Song Mappings. Once audio resources are linked to the dependency file, you can assign songs to levels - or to phantom level slots, if you need to do some fancy patching. Simply select the level on the left, the song on the right, and click Set Song. If you need more level slots than you have levels, click Set List Length. (You may also have to do this if you set up audio resources separately from the Song Mappings option.) If you want to include more distinct songs than the original game has slots for, no problem! Click Import IMF, choose your file, give the song a name, and assign it to levels like any other. Extra IMF tracks are highlighted by an italicized chunk ID. You can add or remove these extra tracks without worrying about their offsets - Abiathar handles all the patching for you: the level song mappings, the audio files, and the inclusion of extra tracks. Awesome!
Speaking of patching, since Abiathar's Patch Generator will become increasingly important when using its integrated audio management, it has been further empowered. Under Edit | Patches, you can enter your custom patches. Abiathar will add them to the auto-generated patch file so you don't have to manually sync Abiathar-generated stuff with your main file.
Finally, there is an unusual new option that will not be visible to everyone: VeriMaps Signature. VeriMaps is an asymmetric-key crypto-signing system to prove the authenticity of modded level files. If you have a VeriMaps certificate and enable VeriMaps Signature, Abiathar will add a cryptographic signature to the maps file. It looks for the VeriMaps signing certificate (ASIGN file) named VeriMaps.asign in the current directory, or in the location specified in the editor.aconf config option VeriMapsCertPath.
Once a file is signed, its signer's name and special distinction (this is the secret feature I was talking about with the icon artists!) will appear in the status bar when it is opened with Abiathar. For example, opening a file signed by me will produce the text "Signed by Fleexy, creator of Abiathar (VeriMaps confirmed)". If anybody else saves the file and redistributes it, the signature will be destroyed (or will be signed by them). This system can prove who saved a maps file last and help people check that a mirror host did not modify map files from the state intended by the mod author.
You can also check the VeriMaps signature of a GAMEMAPS file with the small command-line utility VeriMaps. Simply drag the maps file onto VeriMaps.exe or launch the utility and type the name of the file and it will check the public key store to verify the signature. If you want to experiment with VeriMaps, you can download the Anonymous signing certificate. I will issue personalized certificates upon request; the file will be sent to you by PM. Keep this file safe - it is your identity in the Abiathar community.
VeriMaps signing works on all level formats except TED5 MapTemp/MapTHead. The signature does not interfere with normal loading by the game.
Small bugs have been fixed and slight speed improvements have been made. Help | About has been added, a short list of acknowledgements. A documentation update is in the works. If there are any questions, refer to this post or talk to me! I'm also soliciting complaints, even minor ones, in the linked K:M thread.
Happy Thanksgiving everyone!
Fleexy
UPDATE
v2.2: the audio update
As always, you can get it from the magical auto-updater or in ZIP form.
Let's see what changed!
Well, you might notice immediately, in the download phase, that the Abiathar executable has gotten a lot smaller. Rather than storing the full EGA files in the executable for use as default graphics, it now gets them from GIF tilesheets. With that and the removal of some old resources, the main EXE went from over 6MB to just 3.7MB.
More interestingly, and the big purpose of this update, the Edit menu has gained four new items! First is Audio, which contains sub-items to link your mod's audio resources or dump the default ones for your Galaxy episode. It also lets you Import or Export the resources, smashing them into individual chunks bound together by the *.asnds file. You can export the full ripped chunks (Type-1) or just the sound data, leaving the authoritative metadata in the ASNDS file (Type-0). Either way, the metadata will appear in the ASNDS file for reference or override (replace the "?" at the beginning of the line with an "!" to overwrite the metadata in a Type-1 chunk with the ASNDS metadata when importing).
If you only need to manage the IMF songs, there is a convenient GUI for that! Look no further than Edit | Song Mappings. Once audio resources are linked to the dependency file, you can assign songs to levels - or to phantom level slots, if you need to do some fancy patching. Simply select the level on the left, the song on the right, and click Set Song. If you need more level slots than you have levels, click Set List Length. (You may also have to do this if you set up audio resources separately from the Song Mappings option.) If you want to include more distinct songs than the original game has slots for, no problem! Click Import IMF, choose your file, give the song a name, and assign it to levels like any other. Extra IMF tracks are highlighted by an italicized chunk ID. You can add or remove these extra tracks without worrying about their offsets - Abiathar handles all the patching for you: the level song mappings, the audio files, and the inclusion of extra tracks. Awesome!
Speaking of patching, since Abiathar's Patch Generator will become increasingly important when using its integrated audio management, it has been further empowered. Under Edit | Patches, you can enter your custom patches. Abiathar will add them to the auto-generated patch file so you don't have to manually sync Abiathar-generated stuff with your main file.
Finally, there is an unusual new option that will not be visible to everyone: VeriMaps Signature. VeriMaps is an asymmetric-key crypto-signing system to prove the authenticity of modded level files. If you have a VeriMaps certificate and enable VeriMaps Signature, Abiathar will add a cryptographic signature to the maps file. It looks for the VeriMaps signing certificate (ASIGN file) named VeriMaps.asign in the current directory, or in the location specified in the editor.aconf config option VeriMapsCertPath.
Once a file is signed, its signer's name and special distinction (this is the secret feature I was talking about with the icon artists!) will appear in the status bar when it is opened with Abiathar. For example, opening a file signed by me will produce the text "Signed by Fleexy, creator of Abiathar (VeriMaps confirmed)". If anybody else saves the file and redistributes it, the signature will be destroyed (or will be signed by them). This system can prove who saved a maps file last and help people check that a mirror host did not modify map files from the state intended by the mod author.
You can also check the VeriMaps signature of a GAMEMAPS file with the small command-line utility VeriMaps. Simply drag the maps file onto VeriMaps.exe or launch the utility and type the name of the file and it will check the public key store to verify the signature. If you want to experiment with VeriMaps, you can download the Anonymous signing certificate. I will issue personalized certificates upon request; the file will be sent to you by PM. Keep this file safe - it is your identity in the Abiathar community.
VeriMaps signing works on all level formats except TED5 MapTemp/MapTHead. The signature does not interfere with normal loading by the game.
Small bugs have been fixed and slight speed improvements have been made. Help | About has been added, a short list of acknowledgements. A documentation update is in the works. If there are any questions, refer to this post or talk to me! I'm also soliciting complaints, even minor ones, in the linked K:M thread.
Happy Thanksgiving everyone!
Fleexy