Crazycolorz5 Posted May 19, 2016 Share Posted May 19, 2016 (edited) Event Assembler originally by Nintenlord! FEU Thread Future Planned Features Since I'm editing EA and incorporating new changes, as well as USING the new features, I thought I'd make a thread specifically dedicated to its maintenance and download. This is that thread. It did seem awkward to me that our most useful/powerful tool gets buried in the forums, and the latest version isn't in the OP of the thread it is on. With me developing for it as well as posting this thread, I can keep this post updated. Download Tools at FEU's EA Formatting Suite. Latest Version Download: Event Assembler V11.1 (Thanks @Stanツ_) Latest Changes: Spoiler - Added `-symOutput:<filename>` Core option, which outputs global labels to `<filename>` following the format `<name>=$<offset(hex)><newline>` - "Added" symbol Assignment logic (`<symName> = <value>`) ("Added" because most of the logic was already present, I basically just made it parse) - Tools invoked through directives (`#incext`, `#inctevent` & `#runext`) can now report errors via stderr (before they needed to print "ERROR: <err string>" to stdout) - `#runext` passes Tool's stdout to EA's - Added warning when redefining a symbol/label (within the same scope) - Various Fixes: - Fixed `#inctext`/`#inctevent` not handling parameters with spaces properly - Fixed IsDefined macro not working - Fixed curly brackets crashing EA when directly after a label/statement - Fixed repeatable codes without parameters crashing EA - Fixed various crashes related to the expression/parameter parser (Also some minor additions to raws & the stdlib (See [th](https://github.com/FireEmblemUniverse/Event-Assembler/commit/dd8f4b54a298a33da59147f84069caa207593c8d)[ese](https://github.com/FireEmblemUniverse/Event-Assembler/commit/f7fb5e68b1becfdefb5c5a4a4350c39c2473d8c3) github commits for details)) This may or may not be the last (feature) release before Colorz's rewrite is complete. Please do notify us about any bug you may find, either through here or the [Discord](http://feuniverse.us/t/feu-discord-server/1480?u=stanh). README2.txt: V 11.0 -Changed #inctext to #inctevent. I recommnend the use of this name in the future because it's more intuitive. -Fixed bug where Core would hang if it got an invalid input file. -Added PROTECT (start) (end) to make a region write-protected. -Made Event assembler.exe look for .event files by default (over .txt) -Changed lexing/parsing. -String literals now work (with MESSAGE and such) -Labels/Definitions come into scope for parameters properly. -Added ability for use of definitions in preprocessor calls. -Made disassembly work again; changed auto-adding of _0x codes to not mess up disassembly. -Changed disassemblies to use ASSERT for stronger protection over just MESSAGE-ing the currentOffset. -Changed scripts to take/output .event files by default. V11.0.1 -Aliased #inctevent as #inctext for backwards compatability with V10.1.1 EAstdlib.event: V3.3 -FE6,FE7: Added old definitions (spears, etc) through BACKWARDS_COMPATIBILITY. Previous Version Downloads And Short Description: Spoiler Event Assembler V11.0.1 - Aliased `inctevent` as `inctext`. Event Assembler V11.0 - Added `inctevent` requested by @circleseverywhere and his tools. - Added `ASSERT num` (issues error if its parameter evaluates to a negative) and `PROTECT start end` (once passed the specified range will become read only). - Fixed disassembly (for good). - Definitions/Labels now work correctly as parameters. Event Assembler V10.1 - incext bugfix - runext, `\`-escaping in parsing - MNTS in FE8, fixed `Fe8Code` assembling. - Tools definitions improvements. Event Assembler V10.0 - PUSH/POP allows you to repoint something without having to reallocate to free space. - Tools folder/#incext Event Assembler V9.12 - Added backwards support for CODE, and by extension, #incbin. - Added the Extensions folder, packing the first extensions of Hack Installation.txt and AI Assembly.txt. - Changed several old event codes' names to be more sensible. For old definitions, #include BACKWARDS_COMPATIBILITY. Event Assembler V9.11 - Added lots of FE8 support. - Added new form for AI ([AI1, AI2] AI3 AI4). For old form/definitions, #define OLD_AI before you include EAstdlib.event. To see what AI is available, read this thread and EA Standard library/AI Helpers.txt Event Assembler V9.10 - Nintenlord's last release. Edited November 20, 2017 by Crazycolorz5 Added V11.1 Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted July 15, 2016 Author Share Posted July 15, 2016 (edited) Version 10.0 Released! Spoiler On 5/19/2016 at 1:42 PM, Crazycolorz5 said: Download Tools at FEU's EA Formatting Suite. Latest Version Download: Event Assembler V10.0 This dug into the code for Core.exe a lot. A few bugs were squashed, such as resources failing to close from #include. All of the changes are detailed in README2.txt. This sets up EA to be able to process a wider variety of data, and PUSH/POP allows you to repoint something without having to reallocate to free space. This update also adds the Tools folder. The README.txt file tells how to use all tools that have been developed for EA. However, since the tools are much larger than the size of EA itself, the download is separate. In future releases, we might offer a full .zip containing both EA and tools, but for now, download them from the EA Formatting Suite thread. README2.txt: V 10.0 -FE6: Added THE_END code in raws, replacing _0x3E (credit to Onmi) -FE8: Changed old FE8!IFET to CHECK_EVENTID -Updated EA Standard Library to 9.2. -Made capitalization in includes and folder structure more consistent. -Fixed bug where resources inconsistently closed when included. -Fixed #incbin to use BYTE instead of CODE. -Fixed bug where ifndef didn't properly recognize automatic definitions. -Made >> always do 32-bit logical shifts; Added >>> to do 32-bit arithmetic shifts. -Fixed operator precedence to match that of C's. -Loading a raw code will also load _0xXXXX where XXXX is its ID; If the code is <= 0xFF, it also loads _0xXX. -Redefinitions are now only warnings, rather than errors. -Added #incext; Searches Tools folder for the name of the tool provided, then calls the tool by command line with the rest of the parameters as commandline parameters, then inlines with BYTE any output written to stdout. An error is logged if the first bytes of the output are "ERROR: ". -Added the Tools ParseFolder, Png2Dmp, and PortraitFormatter. -Added PUSH/POP to store and load CURRENTOFFSET. -Added #easteregg. Try to find them all! EAstdlib.event: V3.2 -FE8: Added "Slots Helpers.txt". -FE8: Added ClearBackgroundSmooth -- just does a FADI before the call. -FE8: Fixed ReinforcementEvent macro (was incorrect before). -ALL: Updated all macros that used ORG to now take advantage of PUSH/POP. Edited April 12, 2017 by Crazycolorz5 Spoiler tagging changelog Quote Link to comment Share on other sites More sharing options...
Deltre Posted July 19, 2016 Share Posted July 19, 2016 (edited) Not entirely sure if this is the right place to post it, but there seems to be a bug with the current verson of EA starting at v9.10 (possibly earlier) for CH 7 of FE8. On a clean ROM, I can't assemble anything from CH 7 without an error message. The exact steps I took were Open Clean ROM -> Disassemble CH 7 to text -> Re-Assemble CH 7 (No changes to events), and of course it doesn't work with my modified events either. Spoiler Finished. 1 errors encountered: Exception: System.NotImplementedException: The method or operation is not implemented. at Nintenlord.Event_Assembler.Core.Code.Templates.GenericFE8Template.Matches(Type[] code) at System.Linq.Enumerable.WhereListIterator`1.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at Nintenlord.Event_Assembler.Core.Code.Templates.CodeTemplateStorer.GetTemplateFrom(String codeName, Type[] parameterTypes, List`1 templates) at Nintenlord.Event_Assembler.Core.Code.Templates.CodeTemplateStorer.FindTemplate(String codeName, Type[] parameterTypes) at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.d__0.MoveNext() at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.d__0.MoveNext() at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.Assemble(IPositionableInputStream input, BinaryWriter output, ILog log) at Nintenlord.Event_Assembler.Core.Program.Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log) at Nintenlord.Event_Assembler.Core.Program.Assemble(String inputFile, String outputFile, String languageName, ILog messageLog) at Nintenlord.Event_Assembler.UserInterface.MainForm.<.ctor>b__1(Object sender, DoWorkEventArgs args) No data written to output. Spoiler //////////////////////////////////////////////////////////////////// // // // Disassembled with Nintenlord's Event Assembler // // Version: 9.10.4713.28131 // // Game: FE8 // // File: 1997 - Fire Emblem - The Sacred Stones (U)(TrashMan).gba // // Offset: $9E8E70 // // // //////////////////////////////////////////////////////////////////// ORG $591F64 label15: EVBIT_MODIFY 0x1 EVBIT_F 0x2 CHECK_EVBIT 0x8 BNE 0x0 0xC 0x0 FADI 16 LABEL 0x0 EVBIT_MODIFY 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $591F88 and the new ending offset is CURRENTOFFSET ORG $591FD8 label23: CALL label15 CLEAN PREP CLEAN ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $591FF0 and the new ending offset is CURRENTOFFSET ORG $592104 label19: EVBIT_MODIFY 0x4 ASMC 0x85375 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $592114 and the new ending offset is CURRENTOFFSET ORG $8B6E78 Units1: UNIT 0x1 0x2 0x0 0x38 [0,17] 0b 0x0 0x1 0x8B6E28 [0x9,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x3 0x9 0x0 0x28 [0,16] 0b 0x0 0x1 0x8B6E30 [0x14,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x8 0x1A 0x0 0x8 [0,17] 0b 0x0 0x1 0x8B6E38 [0x2D,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x5 0x45 0x0 0x18 [0,16] 0b 0x0 0x1 0x8B6E40 [0x4B,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0xA 0x3F 0x0 0x20 [0,18] 0b 0x0 0x1 0x8B6E48 [0x1F,0x28,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [0,16] 0b 0x0 0x1 0x8B6E50 [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x9 0xD 0x0 0x10 [0,19] 0b 0x0 0x1 0x8B6E58 [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x6 0x48 0x0 0x10 [0,18] 0b 0x0 0x1 0x8B6E60 [0x15,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x4 0x5 0x0 0x8 [0,17] 0b 0x0 0x0 0x0 [0x1,0x14,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x13 0x44 0x0 0x8 [0,19] 0b 0x0 0x0 0x0 [0x3F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label22: UNIT 0x80 0x3F 0x0 0x3D [17,6] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [8,11] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [9,11] 0b 0x0 0x0 0x0 [0x15,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [10,17] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [16,19] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [1,8] 0b 0x0 0x0 0x0 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0xF 0x0 0x45 [13,13] 0b 0x0 0x0 0x0 [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [15,14] 0b 0x0 0x0 0x0 [0x38,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [19,8] 0b 0x0 0x0 0x0 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [18,19] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0xF 0x0 0x3D [12,14] 0b 0x0 0x0 0x0 [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [11,13] 0b 0x0 0x0 0x0 [0x39,0x5C,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x2D [17,8] 0b 0x0 0x0 0x0 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x3D [17,20] 0b 0x0 0x0 0x0 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x45 [12,18] 0b 0x0 0x0 0x0 [0x16,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [1,7] 10b 0x0 0x0 0x0 [0x39,0x6E,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x4C 0x5 0x0 0x64 [9,4] 10b 0x0 0x0 0x0 [0x3,0x1C,0x65,0x0] [0x3,0x3,0x9,0x20] UNIT 0x80 0x19 0x0 0x3D [9,4] 0b 0x0 0x1 0x8B6E68 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x3D [9,4] 0b 0x0 0x1 0x8B6E70 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B70E4 and the new ending offset is CURRENTOFFSET ORG $8B710C label25: UNIT 0x1 0x2 0x0 0x8 [3,9] 0b 0x0 0x2 0x8B70E4 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [3,9] 0b 0x0 0x2 0x8B70F4 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label26: UNIT 0x42 0x7 0x0 0x8 [10,0] 0b 0x0 0x1 0x8B7104 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B7170 and the new ending offset is CURRENTOFFSET ORG $9E8E14 TurnBasedEvents: TURN 0x0 label16 [1,0] 0x8 END_MAIN CharacterBasedEvents: END_MAIN LocationBasedEvents: LOCA 0x3 [9,4] 0x11 LOCA 0x0 label17 [1,15] 0x10 LOCA 0x0 label18 [17,21] 0x10 END_MAIN MiscBasedEvents: AFEV 0x0 label19 0x65 END_MAIN Dunno1: END_MAIN Dunno2: END_MAIN Dunno3: END_MAIN Tutorial: END_MAIN PointerList: POIN TurnBasedEvents POIN CharacterBasedEvents POIN LocationBasedEvents POIN MiscBasedEvents POIN Dunno1 Dunno2 Dunno3 Tutorial POIN Traps1 Traps2 POIN Units1 Units1 POIN $0 $0 $0 POIN $0 $0 $0 POIN BeginningScene EndingScene //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9E8EC0 and the new ending offset is CURRENTOFFSET ORG $9ED9B7 Traps1: BLST [17,8] 0x35 BLST [2,10] 0x35 ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9ED9C4 and the new ending offset is CURRENTOFFSET ORG $9EDEA8 Traps2: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EDEA9 and the new ending offset is CURRENTOFFSET ORG $9EE0C0 label24: CHECK_TUTORIAL BEQ 0x0 0xC 0x0 TUTORIAL_CALL LABEL 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE0DC and the new ending offset is CURRENTOFFSET ORG $9EE2C4 label21: CHECK_EVBIT 0x8 BNE 0x80BD 0xC 0x0 FADI 16 LABEL 0x80BD TEXTSTART CLEAN FADU 16 ENDA label20: CHECK_EVBIT 0x8 BNE 0x80D2 0xC 0x0 FADI 16 LABEL 0x80D2 REMOVEPORTRAITS BACG 0xFFFF FADU 16 ENDA label27: CALL label20 SADD 0x32 TEXTSHOW 0xFFFF TEXTEND CALL label21 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE330 and the new ending offset is CURRENTOFFSET ORG $9F2B8C BeginningScene: MUSC 0x25 LOAD1 0x1 label22 ENUN FADU 16 LOAD3 0x0 Units1 ENUN STAL 15 CAM1 [9,4] CUMO [9,4] STAL 60 CURE _0x2620 0x1500 CUMO 0x1 STAL 60 CURE SVAL 0x2 0x21 CALL label20 TEXTSHOW 0x9F6 TEXTEND CHECK_ALIVE 0x4 BEQ 0x0 0xC 0x0 FE8Code 0x1B21 0x09F7 TEXTEND LABEL 0x0 CHECK_ALIVE 0x3 BEQ 0x1 0xC 0x0 CHECK_ALIVE 0x5 BEQ 0x1 0xC 0x0 CHECK_ALIVE 0x6 BEQ 0x1 0xC 0x0 FE8Code 0x1B21 0x09F8 TEXTEND LABEL 0x1 CHECK_ALIVE 0x7 BEQ 0x2 0xC 0x0 CHECK_ALIVE 0xA BEQ 0x2 0xC 0x0 FE8Code 0x1B21 0x09F9 TEXTEND LABEL 0x2 CHECK_ALIVE 0x9 BEQ 0x3 0xC 0x0 CHECK_ALIVE 0x8 BEQ 0x3 0xC 0x0 FE8Code 0x1B21 0x09FA TEXTEND LABEL 0x3 CHECK_ALIVE 0xC BEQ 0x4 0xC 0x0 CHECK_ALIVE 0x13 BEQ 0x4 0xC 0x0 FE8Code 0x1B21 0x09FB TEXTEND LABEL 0x4 CHECK_ALIVE 0x20 BEQ 0x5 0xC 0x0 FE8Code 0x1B21 0x09FC TEXTEND LABEL 0x5 CHECK_ALIVE 0xD BEQ 0x6 0xC 0x0 FE8Code 0x1B21 0x09FD TEXTEND LABEL 0x6 FE8Code 0x1B21 0x09FE TEXTEND CALL label23 MUSC 0x9 FADU 16 SVAL 0x2 0x89F2EBC CALL label24 EVBIT_T 0x7 ENDA label16: _0x2629 0x4C MUSC 0x13 CUMO 0x4C STAL 60 CURE TEXTSTART TEXTSHOW 0x9FF TEXTEND REMA EVBIT_T 0x7 ENDA EndingScene: FADI 16 SVAL 0xB 0x0 LOMA 0x44 CLEA 0x0 CLEE 0x0 CLEN 0x0 FADU 16 MUSC 0x53 LOAD2 0x1 label25 ENUN CUMO 0x1 STAL 60 CURE TEXTSTART TEXTSHOW 0xA04 TEXTEND REMA MOVE_1STEP 0x0 0x2 0x1 MOVE_1STEP 0x0 0x1 0x0 LOAD2 0x1 label26 ENUN ENUN CUMO 0x42 STAL 60 CURE MUNO SVAL 0x2 0x10 SVAL 0x3 0xA05 CALL label27 MUSI MOVE_1STEP 0x0 0x42 0x0 ENUN MOVE 0x0 0x42 [9,0] SVAL 0xD 0x0 SVAL 0x1 0x109 SAVETOQUEUE SVAL 0x1 0x0 SAVETOQUEUE SVAL 0x1 0x9 SAVETOQUEUE SVAL 0x1 0x0 SAVETOQUEUE MOVEFORCED 0x0 0x1 0x0 SVAL 0xD 0x0 SVAL 0x1 0x10A SAVETOQUEUE SVAL 0x1 0x0 SAVETOQUEUE SVAL 0x1 0xA SAVETOQUEUE SVAL 0x1 0x0 SAVETOQUEUE MOVEFORCED 0x0 0x2 0x0 STAL2 0x8 FADI 16 ENUN ENUT 0xD5 MNCH 0x9 ENDA label17: MUNO SVAL 0x2 0x0 SVAL 0x3 0xA06 CALL label27 MUSI EVBIT_T 0x7 ENDA label18: MUNO SVAL 0x2 0x0 SVAL 0x3 0xA07 CALL label27 MUSI EVBIT_T 0x7 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9F2EBC and the new ending offset is CURRENTOFFSET And yet when I use an older verson (V7.XX) everything turns out fine.Here's the corresponding event file Spoiler //////////////////////////////////////////////////////////////////// // // // Disassembled with Nintenlord's Event Assembler // // Version: 9.10.4713.28131 // // Game: FE8 // // File: 1997 - Fire Emblem - The Sacred Stones (U)(TrashMan).gba // // Offset: $9E8E70 // // // //////////////////////////////////////////////////////////////////// ORG $591F64 label15: _0x1020 0x1 _0x0220 0x2 _0x0320 0x8 _SETCONDITION2 0x0 0xC 0x0 FADI 16 ENIF 0x0 _0x1020 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $591F88 and the new ending offset is CURRENTOFFSET ORG $591FD8 label23: CALL label15 _0x2220 _0x3E20 _0x2220 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $591FF0 and the new ending offset is CURRENTOFFSET ORG $592104 label19: _0x1020 0x4 ASMC 0x85375 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $592114 and the new ending offset is CURRENTOFFSET ORG $8B6E78 Units1: UNIT 0x1 0x2 0x0 0x38 [0,17] 0b 0x0 0x1 0x8B6E28 [0x9,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x3 0x9 0x0 0x28 [0,16] 0b 0x0 0x1 0x8B6E30 [0x14,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x8 0x1A 0x0 0x8 [0,17] 0b 0x0 0x1 0x8B6E38 [0x2D,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x5 0x45 0x0 0x18 [0,16] 0b 0x0 0x1 0x8B6E40 [0x4B,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0xA 0x3F 0x0 0x20 [0,18] 0b 0x0 0x1 0x8B6E48 [0x1F,0x28,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [0,16] 0b 0x0 0x1 0x8B6E50 [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x9 0xD 0x0 0x10 [0,19] 0b 0x0 0x1 0x8B6E58 [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x6 0x48 0x0 0x10 [0,18] 0b 0x0 0x1 0x8B6E60 [0x15,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x4 0x5 0x0 0x8 [0,17] 0b 0x0 0x0 0x0 [0x1,0x14,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x13 0x44 0x0 0x8 [0,19] 0b 0x0 0x0 0x0 [0x3F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label22: UNIT 0x80 0x3F 0x0 0x3D [17,6] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [8,11] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [9,11] 0b 0x0 0x0 0x0 [0x15,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x3D [10,17] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [16,19] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [1,8] 0b 0x0 0x0 0x0 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0xF 0x0 0x45 [13,13] 0b 0x0 0x0 0x0 [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [15,14] 0b 0x0 0x0 0x0 [0x38,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [19,8] 0b 0x0 0x0 0x0 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x80 0x3F 0x0 0x3D [18,19] 0b 0x0 0x0 0x0 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0xF 0x0 0x3D [12,14] 0b 0x0 0x0 0x0 [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [11,13] 0b 0x0 0x0 0x0 [0x39,0x5C,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x2D [17,8] 0b 0x0 0x0 0x0 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x3D [17,20] 0b 0x0 0x0 0x0 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x45 [12,18] 0b 0x0 0x0 0x0 [0x16,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x25 0x0 0x3D [1,7] 10b 0x0 0x0 0x0 [0x39,0x6E,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x4C 0x5 0x0 0x64 [9,4] 10b 0x0 0x0 0x0 [0x3,0x1C,0x65,0x0] [0x3,0x3,0x9,0x20] UNIT 0x80 0x19 0x0 0x3D [9,4] 0b 0x0 0x1 0x8B6E68 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x19 0x0 0x3D [9,4] 0b 0x0 0x1 0x8B6E70 [0x2D,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B70E4 and the new ending offset is CURRENTOFFSET ORG $8B710C label25: UNIT 0x1 0x2 0x0 0x8 [3,9] 0b 0x0 0x2 0x8B70E4 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [3,9] 0b 0x0 0x2 0x8B70F4 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label26: UNIT 0x42 0x7 0x0 0x8 [10,0] 0b 0x0 0x1 0x8B7104 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B7170 and the new ending offset is CURRENTOFFSET ORG $9E8E14 TurnBasedEvents: TURN 0x0 label16 [1,0] 0x8 END_MAIN CharacterBasedEvents: END_MAIN LocationBasedEvents: LOCA 0x3 [9,4] 0x11 LOCA 0x0 label17 [1,15] 0x10 LOCA 0x0 label18 [17,21] 0x10 END_MAIN MiscBasedEvents: AFEV 0x0 label19 0x65 END_MAIN Dunno1: END_MAIN Dunno2: END_MAIN Dunno3: END_MAIN Tutorial: END_MAIN PointerList: POIN TurnBasedEvents POIN CharacterBasedEvents POIN LocationBasedEvents POIN MiscBasedEvents POIN Dunno1 Dunno2 Dunno3 Tutorial POIN Traps1 Traps2 POIN Units1 Units1 POIN $0 $0 $0 POIN $0 $0 $0 POIN BeginningScene EndingScene //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9E8EC0 and the new ending offset is CURRENTOFFSET ORG $9ED9B7 Traps1: BLST [17,8] 0x35 BLST [2,10] 0x35 ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9ED9C4 and the new ending offset is CURRENTOFFSET ORG $9EDEA8 Traps2: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EDEA9 and the new ending offset is CURRENTOFFSET ORG $9EE0C0 label24: _0x1927 _SETCONDITION 0x0 0xC 0x0 _CALL_HELL ENIF 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE0DC and the new ending offset is CURRENTOFFSET ORG $9EE2C4 label21: _0x0320 0x8 _SETCONDITION2 0x80BD 0xC 0x0 FADI 16 ENIF 0x80BD TEXTSTART _0x2220 FADU 16 ENDA label20: _0x0320 0x8 _SETCONDITION2 0x80D2 0xC 0x0 FADI 16 ENIF 0x80D2 _0x1A21 _0x2140 0xFFFF 0x0 0x0 FADU 16 ENDA label27: CALL label20 _0x0620 0x32 TEXTSHOW 0xFFFF TEXTEND CALL label21 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE330 and the new ending offset is CURRENTOFFSET ORG $9F2B8C BeginningScene: MUS1 0x25 _LOAD1 0x1 label22 ENUN FADU 16 _LOAD3 0x0 Units1 ENUN STAL 15 CAM1 [9,4] CUMO [9,4] STAL 60 CURE _0x2620 0x1500 CUMO 0x1 STAL 60 CURE _SETVAL 0x2 0x21 CALL label20 TEXTSHOW 0x9F6 TEXTEND _0x3322 0x4 _SETCONDITION 0x0 0xC 0x0 _0x1B21 0x9F7 TEXTEND ENIF 0x0 _0x3322 0x3 _SETCONDITION 0x1 0xC 0x0 _0x3322 0x5 _SETCONDITION 0x1 0xC 0x0 _0x3322 0x6 _SETCONDITION 0x1 0xC 0x0 _0x1B21 0x9F8 TEXTEND ENIF 0x1 _0x3322 0x7 _SETCONDITION 0x2 0xC 0x0 _0x3322 0xA _SETCONDITION 0x2 0xC 0x0 _0x1B21 0x9F9 TEXTEND ENIF 0x2 _0x3322 0x9 _SETCONDITION 0x3 0xC 0x0 _0x3322 0x8 _SETCONDITION 0x3 0xC 0x0 _0x1B21 0x9FA TEXTEND ENIF 0x3 _0x3322 0xC _SETCONDITION 0x4 0xC 0x0 _0x3322 0x13 _SETCONDITION 0x4 0xC 0x0 _0x1B21 0x9FB TEXTEND ENIF 0x4 _0x3322 0x20 _SETCONDITION 0x5 0xC 0x0 _0x1B21 0x9FC TEXTEND ENIF 0x5 _0x3322 0xD _SETCONDITION 0x6 0xC 0x0 _0x1B21 0x9FD TEXTEND ENIF 0x6 _0x1B21 0x9FE TEXTEND CALL label23 MUS1 0x9 FADU 16 _SETVAL 0x2 0x89F2EBC CALL label24 _0x0228 0x7 ENDA label16: _0x2629 0x4C MUS1 0x13 CUMO 0x4C STAL 60 CURE TEXTSTART TEXTSHOW 0x9FF TEXTEND REMA _0x0228 0x7 ENDA EndingScene: FADI 16 _SETVAL 0xB 0x0 LOMA 0x44 _0x342A 0x0 _0x342C 0x0 _0x342B 0x0 FADU 16 MUS1 0x53 _LOAD2 0x1 label25 ENUN CUMO 0x1 STAL 60 CURE TEXTSTART TEXTSHOW 0xA04 TEXTEND REMA _MOVE2 0x0 0x2 0x1 _MOVE2 0x0 0x1 0x0 _LOAD2 0x1 label26 ENUN ENUN CUMO 0x42 STAL 60 CURE MUNO _SETVAL 0x2 0x10 _SETVAL 0x3 0xA05 CALL label27 MUSI _MOVE2 0x0 0x42 0x0 ENUN MOVE 0x42 [9,0] _SETVAL 0xD 0x0 _SETVAL 0x1 0x109 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x9 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _MOVE3 0x0 0x1 0x0 _SETVAL 0xD 0x0 _SETVAL 0x1 0x10A _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0xA _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _MOVE3 0x0 0x2 0x0 _0x0E22 0x8 FADI 16 ENUN _0x0229 0xD5 MNCH 0x9 ENDA label17: MUNO _SETVAL 0x2 0x0 _SETVAL 0x3 0xA06 CALL label27 MUSI _0x0228 0x7 ENDA label18: MUNO _SETVAL 0x2 0x0 _SETVAL 0x3 0xA07 CALL label27 MUSI _0x0228 0x7 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9F2EBC and the new ending offset is CURRENTOFFSET I have no idea what the problem would be, I'm really unfamiliar with pre 9.12 definitions, but it seems to be a problem exclusive to handling this chapter. All my definitions files should be up to date (reinstalled before testing on both 9.12 and 10.0) so I'm thinking this may be a bug? EDIT: FE8Code 0x1B21 0x09F9 Seems like the error is caused by that line right there. Changing the FE8 produces a playable chapter, the problem is that it seems to be tied to the bit where each character says a line in game if they are alive. Altering this code (at least from what I've tested) prevents the rest of the opening scene from playing out correctly. TEXTSHOW seems to work in place of FE8code, but I can't be certain the conditions work properly as I have every character alive. Using FE8code -> SHORT seems to work without breaking anything, if that's of any use to you. I suspect there may be similar compatibility issues in later chapters as well. Edited July 26, 2017 by Integrity Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted July 21, 2016 Author Share Posted July 21, 2016 (edited) Okay, I'm on it. Edit: I've fixed the issue. It seems to be something Nintenlord never rewrote when he rewrote a large section of the parser. Basically, I think it means that the code isn't known in the RAWs. So we actually should investigate this. Edit2: I found some commented out lines in the Text RAWs file. #Same as TEXTSHOW TEXTSHOW2, 0x1B21, 4, -game:FE8 -indexMode:8 Text ID, 2, 2 So I uncommented those lines. I don't know why they were commented. In any case, I've fixed the underlying issue if there were any other unknown codes. Edited July 21, 2016 by Crazycolorz5 Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted April 11, 2017 Author Share Posted April 11, 2017 (edited) New release. Disassembly works properly again. Version 11.0, new major update! Spoiler On 5/19/2016 at 1:42 PM, Crazycolorz5 said: Latest Version Download: Event Assembler V11.0 Latest Changes: - Added `inctext` requested by @circleseverywhere and his tools. - Added `ASSERT num` (issues error if its parameter evaluates to a negative) and `PROTECT start end` (once passed the specified range will become read only). - Fixed disassembly (for good). - Definitions/Labels now work correctly as parameters. README2.txt: V 11.0 -Added POIN2; it's just POIN but doesn't require word-alignment. -Fixed Hack Installation/setPointerTableEntry -Added #inctext for programs that output event code, rather than just binary. -Fixed bug where Core would hang if it got an invalid input file. -Added PROTECT (start) (end) to make a region write-protected. -Made Event assembler.exe look for .event files by default (over .txt) -Changed lexing/parsing. -String literals now work (with MESSAGE and such) -Labels/Definitions come into scope for parameters properly. -Added ability for use of definitions in preprocessor calls. -Made disassembly work again; changed auto-adding of _0x codes to not mess up disassembly. -Changed disassemblies to use ASSERT for stronger protection over just MESSAGE-ing the currentOffset. -Changed scripts to take/output .event files by default. EAstdlib.event: V3.3 -FE6,FE7: Added old definitions (spears, etc) through BACKWARDS_COMPATIBILITY. Edited April 12, 2017 by Crazycolorz5 Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted April 11, 2017 Author Share Posted April 11, 2017 (edited) Preprocessor commands are broken. Will fix very shortly. Edit: Fixed. Download is now back up. If you downloaded it in those brief few minutes, please redownload. Edited April 12, 2017 by Crazycolorz5 Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted April 12, 2017 Author Share Posted April 12, 2017 Quick fix (V11.0.1) aliasing inctevent as inctext for reverse compatibility with V10.1.1 (needed for some of circles's tools) Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted November 20, 2017 Author Share Posted November 20, 2017 Added V11.1 thanks to @Stanツ_ Quote Link to comment Share on other sites More sharing options...
Crazycolorz5 Posted July 5, 2018 Author Share Posted July 5, 2018 Small update to V11.1.1, just changing some standard library things and syncing some raws. It might break some event scripts, but the new definitions are pretty close. It's mainly in preparation for phasing in ColorzCore I don't have time to update this thread rn but it's on the feu thread. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.