Agro Posted March 9, 2014 Share Posted March 9, 2014 (edited) Hey guys! Just some quick macros I put together for doing your death quotes and specified battle quotes by events. The idea is to completely abandon the Nightmare modules but you can use both if you like. Doing these by events have several particular advantages over using Nightmare, including being able to set specific battle music for character 1 fighting character 2 (e.g. songs with an introduction, like Tearing Shadows from FE12), the ability to set special death music for certain characters, bigger control over event IDs when characters die e.g. setting their death quote to trigger both 0x23 and 0x02, which changes the map music and allows you to use 0x23 for something else. Sometimes NPC characters won't have their death quote IDs properly register or won't have the "death" theme play when they die, which can be easily rectified by instead using events. Simply put, if you know how to do events, there's no reason to not use them in these instances. Anyway, without further ado, here they are: Death quotes: #include EAstdlib.event #define DQTableOffset 0xC9F2EC #define DeathQuoteTable(index,Character,Chapter,TextPointer,EventPointer,TriggerID) "ORG DQTableOffset+(16*index); BYTE Character; BYTE Chapter; ALIGN 4; SHORT TextPointer; ALIGN 4; POIN EventPointer; BYTE TriggerID; ALIGN 4" A sample: //obviously set this to include your own definitions files, too #include EAstdlib.event //Death quote events #define DQTableOffset 0xC9F2EC #define DeathQuoteTable(index,CharacterID,ChapterID,TextPointer,EventPointer,TriggerID) "ORG DQTableOffset+(16*index); BYTE CharacterID; BYTE ChapterID; ALIGN 4; SHORT TextPointer; ALIGN 4; POIN EventPointer; BYTE TriggerID; ALIGN 4" //The List DeathQuoteTable(0x00,Henrick,0x43,0x00,HenrickDies,0x65)//TextPointer MUST be 0x00 if you want to use events //Death Quote Events ORG 0x71ED5C//you should only need to do this once HenrickDies: MUS1 HeroHasFallen TEX1 0x7A8 ENUT 0x45 ENUT 0x02 ENDASpecified Battle Quotes (note that Unspecified Battle Quotes do not seem to support event-hackery) #define BQListOffset 0xC9EDA0 #define BattleQuoteTable(index,Character1,Character2,Chapter,TextPointer,EventPointer,ID) "ORG BQListOffset+(16*index); BYTE Character1; BYTE Character2; BYTE Chapter; ALIGN 4; SHORT TextPointer; ALIGN 4; POIN EventPointer; BYTE ID; ALIGN 4" These of course assume that each table is in its default address--obviously you can adjust that as needed. Edited March 9, 2014 by Agro Quote Link to comment Share on other sites More sharing options...
blyegg Posted March 9, 2014 Share Posted March 9, 2014 Oh, this will come in handy. Being able to set of multiple ID's will make m life easier. Thanks! Quote Link to comment Share on other sites More sharing options...
Brendor Posted March 9, 2014 Share Posted March 9, 2014 didn't Blazer already do this? Quote Link to comment Share on other sites More sharing options...
Agro Posted March 9, 2014 Author Share Posted March 9, 2014 If he did, I never saw it Quote Link to comment Share on other sites More sharing options...
Brendor Posted March 9, 2014 Share Posted March 9, 2014 http://serenesforest.net/forums/index.php?showtopic=36311 ^right there Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 9, 2014 Share Posted March 9, 2014 Why are we using EA for this? This looks like something you could do with GCC or any other compiler. hell you could probably write an assembly macro to do this EA itself could probably be squeezed into a Fire Emblem SDK with a bunch of header files and stuff. Quote Link to comment Share on other sites More sharing options...
Agro Posted March 9, 2014 Author Share Posted March 9, 2014 (edited) Why are we using EA for this? This looks like something you could do with GCC or any other compiler. hell you could probably write an assembly macro to do this EA itself could probably be squeezed into a Fire Emblem SDK with a bunch of header files and stuff. Aye, there are indeed many ways to skin a cat, but only so much time and effort to learn how to use particular programs. It's one less thing that people have to learn and/or open up. http://serenesforest.net/forums/index.php?showtopic=36311 ^right there Well, fuck me. Guess I just wasted 15 minutes treading trodden ground. Well, if anything, I managed to make one for battle quotes. Edited March 9, 2014 by Agro 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.