Squeegee Posted August 4, 2015 Share Posted August 4, 2015 How come LOU1 doesn't work in FE8? What is the replacement? I'm using _LOAD1 now, but its experimental so... well... ya... Quote Link to comment Share on other sites More sharing options...
Avril Lavigne Posted August 5, 2015 Share Posted August 5, 2015 (edited) I'm trying to figure out conditions now. At Part2, I'm trying to get a unit to load once character 0x25 is dead. It's not activating. How do I it? #define DISABLE_TUTORIALS#include EAstdlib.eventEventPointerTable(0x15,Pointers)ORG 0xD80000Pointers:POIN Turn_eventsPOIN Character_eventsPOIN Location_eventsPOIN Misc_eventsPOIN TrapData TrapDataPOIN Bad Bad Bad BadPOIN Good Good Good GoodPOIN Opening_event Ending_eventGood:UNIT 0x01 0x01 0x00 Level(1, Ally, 0) [13,9] [13,8] [0x01, 0x69, 0x6B] NoAIUNIT 0x03 0x02 0x00 Level(1, Ally, 0) [12,9] [12,8] [0x01, 0x69, 0x6B] NoAIUNIT 0x11 0x21 0x00 Level(1, Enemy, 0) [14,3] [13,3] [0x37] NoAIUNITBad:UNIT 0x25 0x40 0x00 Level(1, Enemy, 0) [14,3] [12,3] [0x00] NoAIUNITTurn_events:TurnEventPlayer(0x0,Opening_event,1)End_MAINCharacter_events:End_MAINLocation_events:End_MAINMisc_events:CauseGameOverIfLordDiesAREA 0x5 Part1 [12,5] [12,5]End_MAINTrapData:End_MAINOpening_event:OOBBLOU1 GoodENUNENDAEnding_event:ENDA// EventsPart1:IFAF 0x01 0x7A2F1LOU1 BadENIF 0x01ENUNENDAPart2:IFCD 0x06 0x25LOU1 New1ENUNELSE 0x07ENIF 0x06ENIF 0x07ENDA// Manual Movement// Scripted Fights// UnitsNew1:UNIT 0x19 0x28 0x00 Level(1, Enemy, 0) [0,9] [2,9] [0x14] AttackInRangeUNIT// Shop DataMESSAGE Events end at offset currentOffset AND I have another question. Say I have two units that I want to join my team. And I have two units that can talk to either one of them For example: 0x01(Ally) can talk to 0x03 and/or 0x04(Non-Allies) and both will join the team 0x02(Ally) can talk to 0x03 and/or 0x04(Non-Allies) and both will join the team But I don't want the option to "Talk" be available once the first unit has recruited them. So say unit 0x01 talked to unit 0x03 first, then I don't need unit 0x01 to talk to unit 0x04 and 0x02 to talk to them either, so I don't have multiple events still active that give me the same result. Help? Thanks Edited August 5, 2015 by Avril Lavigne Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 5, 2015 Share Posted August 5, 2015 You're not calling the scene at all. Part2 is just sitting there with nothing attached to it. It's akin to a room in a house, but the room has no doors leading into it. Since you want this to trigger when someone dies, just give their death quote an ID. Then, have an AFEV that triggers when the death ID activates. The AFEV would call Part2. For 'Pick Your Poison' style scenes, just have them share the same event ID. Quote Link to comment Share on other sites More sharing options...
Avril Lavigne Posted August 5, 2015 Share Posted August 5, 2015 (edited) You're not calling the scene at all. Part2 is just sitting there with nothing attached to it. It's akin to a room in a house, but the room has no doors leading into it. Since you want this to trigger when someone dies, just give their death quote an ID. Then, have an AFEV that triggers when the death ID activates. The AFEV would call Part2. For 'Pick Your Poison' style scenes, just have them share the same event ID. Misc_events: CauseGameOverIfLordDies AREA 0x5 Part1 [12,5] [12,5] AFEV 0x09 Part2 0x06 End_MAIN Part2: LOU1 New1 ENUN ENDA And made the Character's Death Quote ID 0x06 which triggered event Part2! It worked. Thanks. Character_events: CharacterEvent(0x0A,PartTalk1,0x01,0x11) CharacterEvent(0x0A,PartTalk2,0x03,0x11) End_MAIN PartTalk1: TEX1 0x815 REMA TurnAlly(0x11) ENDA PartTalk2: TEX1 0x816 REMA TurnAlly(0x11) ENDA And this is what I did as far as "[Picking My] Poison" goes. If anyone wants to see how for future reference. Just use the same ID and it won't be able to be used again for any event. In this case I used 0x0A in my Character_events. Edited August 5, 2015 by Avril Lavigne Quote Link to comment Share on other sites More sharing options...
supnaplamQW Posted August 5, 2015 Share Posted August 5, 2015 OK, I think i'm close to figuring this out : org 0xC9C9C8+(4*0x55) POIN TileChanges org 0xCB1F00 TileChanges: TileMap(0x00,0x15,0x1A,0x01,0x01,FirstDoorOpened) TileMap(0x01,0x15,0x1C,0x01,0x01,ChestOpened) TileMapEnd FirstDoorOpened: CODE 0x44 0x05 0x68 0x0D CODE $FF CODE $00 CODE $00 All on another file.But it says it stops at Line 8 Column 13.Why? Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) http://pastebin.com/UXmztxM2 It shows a completely black screen, and then makes weird stereotypical computer noises. Then an error shows up on my computer. Something about an unsupported BIOS 8c. I know for a fact that my map and text are working, so the only thing left is the EA code I wrote. What did I screw up on? Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Bliz Posted August 11, 2015 Share Posted August 11, 2015 Hello, with FE7 I seem to be having some problem with the event assembler itself. I can get the offset for a chapter's events and disassemble it successfully into an empty txt, it all looks good in there, but then i assemble it and i get errors such as missing labels. It seems like certain chapters are being disassembled incorrectly? Does anyone else have this problem and/or know of a fix? Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) Hello, with FE7 I seem to be having some problem with the event assembler itself. I can get the offset for a chapter's events and disassemble it successfully into an empty txt, it all looks good in there, but then i assemble it and i get errors such as missing labels. It seems like certain chapters are being disassembled incorrectly? Does anyone else have this problem and/or know of a fix? Don't reassemble it like that. Chances are that you are gonna overwrite something. It probably stopped at a certain line because your thing was about to overwrite something else. Use an empty space and repoint it there with: EventPointerTable(ChapterHex,ThisChapter) Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 11, 2015 Share Posted August 11, 2015 (edited) Morva, There is no call to the opening event anywhere in your events. Make sure you've got a turn event that calls the opening on turn 1. Also, you really should have ENUN after every LOU1. ENUN makes the game wait until all units have been loaded properly. Not sure why you've got these pointers here: POIN BadReinforcements BadReinforcements BadReinforcements BadReinforcements POIN GoodReinforcements GoodReinforcements GoodReinforcements GoodReinforcements The game likely doesn't know what to do with these, and they aren't in the template. I would remove them. Edited August 11, 2015 by Primefusion Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) Morva, There is no call to the opening event anywhere in your events. Make sure you've got a turn event that calls the opening on turn 1. Also, you really should have ENUN after every LOU1. ENUN makes the game wait until all units have been loaded properly. Not sure why you've got these pointers here: POIN BadReinforcements BadReinforcements BadReinforcements BadReinforcements POIN GoodReinforcements GoodReinforcements GoodReinforcements GoodReinforcements The game likely doesn't know what to do with these, and they aren't in the template. I would remove them. Ok I'll trying removing those POINS. Also, the one I posted was an old version. I made a call to an opening event, but still no luck. Edit: Deleted the POINs and added the ENUNs. Still not working. New file: http://pastebin.com/PC2HPQ1W Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Bliz Posted August 11, 2015 Share Posted August 11, 2015 Don't reassemble it like that. Chances are that you are gonna overwrite something. It probably stopped at a certain line because your thing was about to overwrite something else. Use an empty space and repoint it there with: EventPointerTable(ChapterHex,ThisChapter) I make sure to select 'whole chapter' and have the offset right, is there more I should be doing when disassembling? It isn't that the labels aren't being recognized when i try to assemble them back in, they just aren't in the .txt at all after i've disassembled it from a fresh ROM. Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 I make sure to select 'whole chapter' and have the offset right, is there more I should be doing when disassembling? It isn't that the labels aren't being recognized when i try to assemble them back in, they just aren't in the .txt at all after i've disassembled it from a fresh ROM. I mean don't reassemble it back in. Take what you need, and then make your own EA file. Otherwise, if your file happens to be longer, it won't work because it will be overwriting another offset. Feel free to disassemble, but from what I know, reassembling it back in isn't the best option because it will either overwrite something or cause a ton of errors (to prevent overwriting). So repoint it to an entirely new offset with a different file. I hope I'm making sense. Quote Link to comment Share on other sites More sharing options...
Bliz Posted August 11, 2015 Share Posted August 11, 2015 I mean don't reassemble it back in. Take what you need, and then make your own EA file. Otherwise, if your file happens to be longer, it won't work because it will be overwriting another offset. Feel free to disassemble, but from what I know, reassembling it back in isn't the best option because it will either overwrite something or cause a ton of errors (to prevent overwriting). So repoint it to an entirely new offset with a different file. I hope I'm making sense. I'm not making fully custom levels yet, currently i'm just replacing classes/items with other ones. Even so, I get these errors if I don't change a thing. I appreciate the advice too, but it's also overlooking my original problem - I'm having issues with disassembling, not assembling. The file it outputs seems to just be missing things, or has things like labels that don't point anywhere. Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 11, 2015 Share Posted August 11, 2015 Ok I'll trying removing those POINS. Also, the one I posted was an old version. I made a call to an opening event, but still no luck. Edit: Deleted the POINs and added the ENUNs. Still not working. New file: http://pastebin.com/PC2HPQ1W I'm able to assemble this on a fresh ROM and have it run just fine. Are you sure you're not accidentally overwriting something on your end? Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) I'm able to assemble this on a fresh ROM and have it run just fine. Are you sure you're not accidentally overwriting something on your end? Wait, really? That's very strange... I guess I should use my backup and then put the new code back in and see what happens. Edit: Huh, it worked. Guess I'm really bad at not overwriting stuff. Good thing I keep backups (learned from my last black screen experience). Thanks for all the help Primefusion :D. Edit 2: Figured out why I keep failing. Whenever I overwrite my old Event Assembler file, I leave some of the hex code there and then they mix (I probably don't make sense, but basically my two files are mixing). I'm able to fix that by deleting the offsets where my EA file is before I put in a new one. That was able to fix it. Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) Also, apparently changing the Event Assembler doesn't delete the tutorials. I've seen the tutorial killer patch, but my ROM isn't clean so I can't patch it. Is there a simple way to disable the tutorials or do I have to start all over again and patch back the stuff I made? Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) I'm not making fully custom levels yet, currently i'm just replacing classes/items with other ones. Even so, I get these errors if I don't change a thing. I appreciate the advice too, but it's also overlooking my original problem - I'm having issues with disassembling, not assembling. The file it outputs seems to just be missing things, or has things like labels that don't point anywhere. The reason it has dumb names like "label28" and such is because the EA doesn't know what else to call it. So it just assigns it a number and adds label to it. The labels are stuff like the units, events, etc. For example: LOU1 label28 label28: UNIT Batta Brigand 0x00 Level(10,Enemy,False) [12,09] [12,09] [IronAxe,0x00,0x00,0x00] [0x00,0x03,0x00,0x20] UNIT So yea, these labels point to the stuff in the program. If you know programming, I guess you could think of it as a method (sort of). Its because the AI doesn't know what you would want to call Batta and pals (its basically just reading hex), so it just spews "labelX". Hope that answered your question. You can name it whatever you want, just remember to change all the references. Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 11, 2015 Share Posted August 11, 2015 Also, apparently changing the Event Assembler doesn't delete the tutorials. I've seen the tutorial killer patch, but my ROM isn't clean so I can't patch it. Is there a simple way to disable the tutorials or do I have to start all over again and patch back the stuff I made? Just put #define DISABLE_TUTORIALS in your events and assemble. Only need to do it once, and it'll wipe out the tutorial pointers and such. Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 11, 2015 Share Posted August 11, 2015 (edited) Just put #define DISABLE_TUTORIALS in your events and assemble. Only need to do it once, and it'll wipe out the tutorial pointers and such. I have that in my event file, but for some reason every now and then it still shows up. I think I'll just clear them out in FEditor Adv (the text is the only one that keeps going, but fortunately it doesn't still force cursor or anything). Edited August 11, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Bliz Posted August 11, 2015 Share Posted August 11, 2015 (edited) The reason it has dumb names like "label28" and such is because the EA doesn't know what else to call it. So it just assigns it a number and adds label to it. The labels are stuff like the units, events, etc. For example: LOU1 label28 label28: UNIT Batta Brigand 0x00 Level(10,Enemy,False) [12,09] [12,09] [IronAxe,0x00,0x00,0x00] [0x00,0x03,0x00,0x20] UNIT So yea, these labels point to the stuff in the program. If you know programming, I guess you could think of it as a method (sort of). Its because the AI doesn't know what you would want to call Batta and pals (its basically just reading hex), so it just spews "labelX". Hope that answered your question. You can name it whatever you want, just remember to change all the references. I'm not complaining about the name. I understand what the label is and does. The problem is that the labels (and possibly other lines i'm just not seeing) aren't outputting properly. I deassemble a chapter's code and there will be lines like "LOU1 label24" but then there is no label24 in the txt file and the EA points this out if I try to assemble it. Let me go step-by-step to make my problem clear: 1. I choose a chapter in FE7 and find the offset for its events using nightmare. 2. I open EA, choose my rom, choose an empty text file, type in the offset, select 'whole chapter' and disassemble. No errors. 3. I read the txt file and notice that there are lines that try to call labels that don't exist, such as a line "LOU1 label24" when there is no label24. 4. I try to assemble the txt, without modifying it, back into the game. I get an error saying that label24 is called but doesn't exist. This happens regardless of the offset I assemble it at. That's my problem. Are the dissassembled txts of chapters inherently bugged or something? EDIT: I should note this doesn't happen for every chapter. An example of a chapter it happens in is Pirate Ship (Eliwood ch17). Edited August 11, 2015 by Bliz Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 11, 2015 Share Posted August 11, 2015 I'm not complaining about the name. I understand what the label is and does. The problem is that the labels (and possibly other lines i'm just not seeing) aren't outputting properly. I deassemble a chapter's code and there will be lines like "LOU1 label24" but then there is no label24 in the txt file and the EA points this out if I try to assemble it. Let me go step-by-step to make my problem clear: 1. I choose a chapter in FE7 and find the offset for its events using nightmare. 2. I open EA, choose my rom, choose an empty text file, type in the offset, select 'whole chapter' and disassemble. No errors. 3. I read the txt file and notice that there are lines that try to call labels that don't exist, such as a line "LOU1 label24" when there is no label24. 4. I try to assemble the txt, without modifying it, back into the game. I get an error saying that label24 is called but doesn't exist. This happens regardless of the offset I assemble it at. Which module are you using to get the event offset? I used the Event Table References module, disassembled the pirates ship events, and then re-assembled them with no issues. Are you using an up-to-date version of EA? There's a new version on FEU, though v9.10 is probably still in common use (It's what I use). Quote Link to comment Share on other sites More sharing options...
CT075 Posted August 11, 2015 Author Share Posted August 11, 2015 (edited) for what it's worth labels (both the EA-generated ones and the ones you put in your own code) and the sections they denote are absolutely not the same thing as methods/functions they are essentially the same thing as writing "line 24" or whatever instead; neither EA nor the game itself make any special notice of what labels you put into your code Edited August 11, 2015 by CT075 Quote Link to comment Share on other sites More sharing options...
Squeegee Posted August 12, 2015 Share Posted August 12, 2015 (edited) One more question and I think I'll be set for the next few chapters (hopefully). Is there by any chance an event that gets triggered once a village gets destroyed? My guess if there is any is that its a Misc event or a Location event.​ Edit: Perhaps I could use an area event (like in the desert), but I'm not sure how I can check if its a bandit who stepped on it or not. AREA 0x00 VillageBreak 12 02 Edited August 12, 2015 by Morva Quote Link to comment Share on other sites More sharing options...
Bliz Posted August 12, 2015 Share Posted August 12, 2015 Which module are you using to get the event offset? I used the Event Table References module, disassembled the pirates ship events, and then re-assembled them with no issues. Are you using an up-to-date version of EA? There's a new version on FEU, though v9.10 is probably still in common use (It's what I use). I wasn't using the most up-to-date version, and updating solved my problem. Silly me, thanks very much. Quote Link to comment Share on other sites More sharing options...
Primefusion Posted August 12, 2015 Share Posted August 12, 2015 One more question and I think I'll be set for the next few chapters (hopefully). Is there by any chance an event that gets triggered once a village gets destroyed? My guess if there is any is that its a Misc event or a Location event.​ Edit: Perhaps I could use an area event (like in the desert), but I'm not sure how I can check if its a bandit who stepped on it or not. AREA 0x00 VillageBreak 12 02 I don't recall there being any way to trigger a scene after a village is destroyed. If you want to use the AREA idea, you could have a conditional check for whether or not it's the player's phase. If it's not the player's phase then an enemy or npc triggered the event. IFAF 0x1 0x7A2F1 // Not the player's phase, do something ELSE id ENIF id ENUF someID // you'll want to reset the event if a player triggered it ENIF id 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.