Chocolate Kitty Posted September 19, 2012 Share Posted September 19, 2012 Aah, being in misc would explain it. :| Thanks for the help on word/short management too, I was aware of it filling the rest with zeroes, but must have overlooked good old GBA hex reversal. I miss it just being "CODE". >.< you can just use an older version of EA for tilechanges(That's what I do) Quote Link to comment Share on other sites More sharing options...
CT075 Posted September 19, 2012 Author Share Posted September 19, 2012 (edited) i blame nintenlord SHORT and BYTE shouldn't cause alignment errors because they're basically writing straight hex to the game (this is directed towards nl not you) also looking at that hex it's doing largely what i expected it to although i dunno why there's random data after the changes for the most part though if you use BYTE and combine any one-byte CODEs into a single BYTE (ie CODE 0x1; CODE 0x2 becomes BYTE 0x1 0x2) you can get similar functionality to CODE (that being said i don't remember exactly how CODE did things so you might have to do some bytereversing) Edited September 19, 2012 by CT075 Quote Link to comment Share on other sites More sharing options...
BoxMulder Posted September 19, 2012 Share Posted September 19, 2012 The terminator for tile changes is 0xff as a word, for whatever reason yours is showing up as 0xff00ff00 instead. It looks like SHORT 0xff00 should be SHORT 0xff? Quote Link to comment Share on other sites More sharing options...
LunaSaint Posted September 19, 2012 Share Posted September 19, 2012 (edited) you can just use an older version of EA for tilechanges(That's what I do) ....BRILLIANT. Yeah, I think for someone who can't think more than one or two steps ahead, this is the best plan for me. I had no problem with Map Changes when I did the previous chapter, which was using the old one. EDIT: @Muldur: The double FF is what caused me confusion in the first place. But even if the current method is wrong, why are there two FF00s? Edited September 19, 2012 by LunaSaint Quote Link to comment Share on other sites More sharing options...
CT075 Posted September 19, 2012 Author Share Posted September 19, 2012 (edited) The terminator for tile changes is 0xff as a word, for whatever reason yours is showing up as 0xff00ff00 instead. It looks like SHORT 0xff00 should be SHORT 0xff? that's probably actually my fault WORD 0xFF should do the trick Edited September 19, 2012 by CT075 Quote Link to comment Share on other sites More sharing options...
BoxMulder Posted September 19, 2012 Share Posted September 19, 2012 EDIT: @Muldur: The double FF is what caused me confusion in the first place. But even if the current method is wrong, why are there two FF00s? My guess would be either ALIGN 4 is bugged and making the code duplicate things or EA is writing to the ROM as it parses the file and those are leftovers from previous attempts. Quote Link to comment Share on other sites More sharing options...
LunaSaint Posted September 19, 2012 Share Posted September 19, 2012 (edited) Hmm, you seem to be right. Changing that has removed the double FF, and a few horrible bugs have gone! EDIT: Chests finally work, too! All seems green, thank god. Edited September 19, 2012 by LunaSaint Quote Link to comment Share on other sites More sharing options...
Nintenlord Posted September 19, 2012 Share Posted September 19, 2012 Something Cam missed. // first thing Armor: SHLI IronSword SteelSword IronSpear SteelSpear IronAxe SteelAxe IronBow ALIGN 4 SHORT 0x0 // SHORT will turn one byte into two bytes - 0x0 becomes 00 00 Vendor: SHLI Heal Lightning Vulnerary ALIGN 4 SHORT 0x0 SHORT 0x0 isn't needed here, SHLI inserts the terminator automatically. ORG 0xC9C9C8+(4*0x14) POIN TileChanges Use EventPointerTable(id,offset) instead: EventPointerTable(0x14,TileChanges) you can just use an older version of EA for tilechanges(That's what I do) EA has backwards compatibility for CODE, by defining USING_CODE. It should work for you unless you are doing stupid stuff. And I'd still recommend doing map changes in either Mappy or Tiled, not in EA. I've never liked the idea on doing tile changes in EA. SHORT and BYTE shouldn't cause alignment errors because they're basically writing straight hex to the game (this is directed towards nl not you) Added to To-DO list of things to do 2. My guess would be either ALIGN 4 is bugged and making the code duplicate things or EA is writing to the ROM as it parses the file and those are leftovers from previous attempts. Probably the second one, though the latest version doesn't write to output if EA encounters an error. Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted September 24, 2012 Share Posted September 24, 2012 Hello. I'm quite new to hacking and in one week I managed to make some custom characters and animations. I'm now digging in event assembling but in two days, though I read many times Arch's tutorial and all, I can't still create a working .txt file, err... Maybe I just need some practice, but I really can't understand where I'm mistaking. Here is my simple trial script: #include EAstdlib.event EventPointerTable(0x07,ThisChapter) ORG 0x1000A0 ThisChapter: POIN TurnBasedEvents POIN CharacterBasedEvents POIN LocationBasedEvents POIN MiscBasedEvents POIN Dunno Dunno Dunno POIN Tutorial POIN TrapData TrapData POIN Units Enemies POIN $0 $0 $0 $0 $0 $0 POIN BeginningScene EndingScene TurnBasedEvents: TURN 0x00 BeginningScene [01,00] 0x0 0x00 TURN CharacterBasedEvents: CHAR LocationBasedEvents: LOCA MiscBasedEvents: CauseGameOverIfLordDies DefeatAll (EndingScene) AFEV Dunno: //DO NOT TOUCH WORD $00 Tutorial: //DO NOT TOUCH WORD $00 TrapData: ENDTRAP ALIGN 4 Units: UNIT Eirika 0x02 0x00 Level(1,Ally,False) [11,0] DropItem 0x00 0x01 Eirika_Move [0x09,0x6C] [NoAI] UNIT Seth 0x07 Eirika Level(2,Ally,False) [11,1] DropItem 0x00 0x02 Seth_Move [0x17,0x03,0x00,0x00] [NoAI] UNIT Empty Eirika_Move: REDA [11,4] 0x04 0x00 0x00 Seth_Move: REDA [11,3] 0x03 0x00 0x00 Enemies: UNIT 0x80 0x3F 0x00 Level(2,Enemy,True) [3,9] 0x00 [0x1F] [0x00, 0x03, 0x09, 0x00] UNIT Empty BeginningScene: LOU1 Units TEX1 (0x090D) BACG (0x2A) LOU1 Enemies CAM1 [3,7] STAL 0x20 CAM1 [7,5] ENDA EndingScene: FADI 0x10 MUS1 0x09 FADU 0x10 TEX1 (0x0929) MoveToChapter(0x01) MESSAGE Events end at offset currentOffset And this are the errors reported. Any clue? I'm kinda noob at this atm, eheh... Ah, I'm hacking FE8. Quote Link to comment Share on other sites More sharing options...
Mage Knight 404 Posted September 24, 2012 Share Posted September 24, 2012 Hello. I'm quite new to hacking and in one week I managed to make some custom characters and animations. I'm now digging in event assembling but in two days, though I read many times Arch's tutorial and all, I can't still create a working .txt file, err... Maybe I just need some practice, but I really can't understand where I'm mistaking. Here is my simple trial script: #include EAstdlib.event EventPointerTable(0x07,ThisChapter) ORG 0x1000A0 ThisChapter: POIN TurnBasedEvents POIN CharacterBasedEvents POIN LocationBasedEvents POIN MiscBasedEvents POIN Dunno Dunno Dunno POIN Tutorial POIN TrapData TrapData POIN Units Enemies POIN $0 $0 $0 $0 $0 $0 POIN BeginningScene EndingScene TurnBasedEvents: TURN 0x00 BeginningScene [01,00] 0x0 0x00 TURN CharacterBasedEvents: CHAR LocationBasedEvents: LOCA MiscBasedEvents: CauseGameOverIfLordDies DefeatAll (EndingScene) AFEV Dunno: //DO NOT TOUCH WORD $00 Tutorial: //DO NOT TOUCH WORD $00 TrapData: ENDTRAP ALIGN 4 Units: UNIT Eirika 0x02 0x00 Level(1,Ally,False) [11,0] DropItem 0x00 0x01 Eirika_Move [0x09,0x6C] [NoAI] UNIT Seth 0x07 Eirika Level(2,Ally,False) [11,1] DropItem 0x00 0x02 Seth_Move [0x17,0x03,0x00,0x00] [NoAI] UNIT Empty Eirika_Move: REDA [11,4] 0x04 0x00 0x00 Seth_Move: REDA [11,3] 0x03 0x00 0x00 Enemies: UNIT 0x80 0x3F 0x00 Level(2,Enemy,True) [3,9] 0x00 [0x1F] [0x00, 0x03, 0x09, 0x00] UNIT Empty BeginningScene: LOU1 Units TEX1 (0x090D) BACG (0x2A) LOU1 Enemies CAM1 [3,7] STAL 0x20 CAM1 [7,5] ENDA EndingScene: FADI 0x10 MUS1 0x09 FADU 0x10 TEX1 (0x0929) MoveToChapter(0x01) MESSAGE Events end at offset currentOffset And this are the errors reported. Any clue? I'm kinda noob at this atm, eheh... Ah, I'm hacking FE8. Hey, I can finally field this one! Seems that all of the errors bring returned are due to obsolete or misinterpreted stuff. I should know because I had this happen to me recently. - For TURN, get rid of one of the two 0x00s at the end, you only need one of them - The DefeatAll macro has that space between it and the pointer it's supposed to be pointing to, get rid of that - For UNIT, get rid of the brackets around NoAI, there was a recent change in EA that removed that. Also, make sure that every item slot under a unit's items is filled out, even if they don't have anything(ex. Eirika would have 0x09,0x6C,0x0,0x0) - For REDA, they have to be filled out like this: REDA [xx,yy] 0b 0x0 0x0 0 - LOU1 doesn't work past EA V.9, it's _LOAD1 0x1 now - TEX1 doesn't work on its own like that and especially with spaces next to the pointers; get rid of those and consider the Text(textID) or Text(background,textID) macros instead - For BACG, don't use parenthesis, use brackets or leave them unbracketed instead(this applies to TEX1 as well) This should help, I think. Quote Link to comment Share on other sites More sharing options...
Nintenlord Posted September 24, 2012 Share Posted September 24, 2012 - For UNIT, get rid of the brackets around NoAI, there was a recent change in EA that removed that EA never had NoAI that required the square brackets. Only Arch's own macros and definitions had that. Also, make sure that every item slot under a unit's items is filled out, even if they don't have anything(ex. Eirika would have 0x09,0x6C,0x0,0x0) Not required by EA or raws, you can leave some parameters from inventory parameter. Quote Link to comment Share on other sites More sharing options...
Mage Knight 404 Posted September 24, 2012 Share Posted September 24, 2012 EA never had NoAI that required the square brackets. Only Arch's own macros and definitions had that. Not required by EA or raws, you can leave some parameters from inventory parameter. Is that all? Then whoops, guess it's just the macro at fault then. My bad. Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted September 24, 2012 Share Posted September 24, 2012 (edited) Thank you very much MageKnight, Nintenlord. I managed to fix the .txt file but the map looks horribly dyed in red, the tiles are totally screwed, I can't see the units and the game freezes/resets as soon as turn 1 begins (or even before). I think I still have some work to do.. What could possibly be the problem? Camera settings? Characters positions? The map itself? I noticed that FE8 tilesets have an offset less than other FE's tilesets. To make an example, in FE7 a tileset could be 6C6D6E6A (don't know if it even exists, it's just to point out) and in FE it's just 185A1A(which is the Castle&Plains I want to insert). Why? Anyway, do I simply have to put "18" in Object Type in Nightmare, "5A" in Palette and "1A" in Tile Configuration, or am I mistaking something? 'Cause I can't guess which the actual problem is. What I've done so far is: 1) Inserting a 15x10 map with tileset 185A1A to 0x1000000 (which actually has free-space in shadowofchaos' music instruments patch) 2) Inserting event score at 0x10000B0 3) Changing "Prologue Map 0x04" pointer to 0x1000000. 4) Changing settings of Prologue in Chapter Data to fit 18 5A 1A map's tileset. Update: The code for the tileset was outdated (I guess) since it's "57" and not "5A". Or my nightmare module is outdated, either way. The problem hasn't changed anyway, the game loads a screwed pixeled map and it crashes. I sincerely don't understand why. The map is this: Its size is 15x10. It should be ok, shouldn't it? Edited September 24, 2012 by AlfredKamon Quote Link to comment Share on other sites More sharing options...
PKL Posted September 24, 2012 Share Posted September 24, 2012 So, I was editing enemies in Chapter 8, playtested my patch and: Stumbled upon this. It happens in the cutscene when Tirado leaves and explodes the bridge. Eirika and Seth suddenly turn into that and after a while the game does a weird screeching sound. If I skip the cutscene, It is completely playable. I honestly have no idea what caused this and need you guys help. Here's the events for the chapter (note: I didnt actually mess with events but It must be related to them): [spoiler=Ch8 events] ////////////////////////////////////////////////////// // // // Disassembled with Nintenlord's Event Assembler // // Version: 9.8.4585.20791 // // Game: FE8 // // File: Fire Emblem - the Sacred Stones - Copy.GBA // // Offset: $9E8FE4 // // // ////////////////////////////////////////////////////// ORG $591F40 label27: _0x1020 0x1 _0x0220 0x2 _0x0320 0x8 _SETCONDITION 0x0 0xC 0x0 FADU 16 ENIF 0x0 _0x1020 0x0 ENDA 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 label35: 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 label24: _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 $8B7300 Units1: UNIT 0x1 0x2 0x0 0x40 [19,20] 0b 0x0 0x1 0x8B7170 [0x9,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x5 0x45 0x0 0x18 [20,22] 0b 0x0 0x1 0x8B7178 [0x4B,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x9 0xD 0x0 0x10 [19,22] 0b 0x0 0x1 0x8B7180 [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x6 0x48 0x0 0x10 [19,18] 0b 0x0 0x1 0x8B7188 [0x15,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x3 0x9 0x0 0x28 [20,20] 0b 0x0 0x1 0x8B7190 [0x14,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x4 0x5 0x0 0x8 [20,18] 0b 0x0 0x1 0x8B7198 [0x1,0x14,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x7 0x3D 0x0 0x8 [20,17] 0b 0x0 0x0 0x0 [0x2C,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0xA 0x3F 0x0 0x20 [19,18] 0b 0x0 0x0 0x0 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x13 0x44 0x0 0x8 [19,20] 0b 0x0 0x0 0x0 [0x3F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label33: UNIT 0x4D 0xB 0x0 0x1C [10,2] 0b 0x0 0x1 0x8B71A0 [0x1D,0x1D,0x1D,0x7C] [0x3,0x3,0x9,0x20] UNIT 0x35 0xB 0x0 0xC [19,4] 0b 0x0 0x1 0x8B71A8 [0x21,0x7C,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x35 0xB 0x0 0xC [20,3] 0b 0x0 0x1 0x8B71B0 [0x17,0x7C,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x35 0xB 0x0 0xC [18,3] 0b 0x0 0x1 0x8B71B8 [0x4,0x7C,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x78 0xD 0x0 0x5C [17,21] 0b 0x0 0x1 0x8B71C0 [0xD,0x6B,0x0,0x0] [0x0,0x2,0x9,0x0] UNIT 0x78 0xD 0x0 0x5D [18,5] 0b 0x0 0x1 0x8B71C8 [0xD,0x6B,0x0,0x0] [0x0,0x0,0x9,0x0] UNIT 0x36 0x11 0x0 0xC [1,6] 0b 0x0 0x1 0x8B71D0 [0x21,0x0,0x0,0x0] [0x3,0x3,0x9,0x20] UNIT 0x73 0x4E 0x0 0x5C [9,5] 0b 0x0 0x1 0x8B71D8 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x20] UNIT 0x35 0xB 0x0 0xD [10,5] 0b 0x0 0x1 0x8B71E0 [0x1B,0x0,0x0,0x0] [0x3,0x3,0x9,0x20] UNIT 0x35 0xB 0x0 0xC [20,10] 10b 0x0 0x1 0x8B71E8 [0x28,0x6A,0x0,0x0] [0x3,0x3,0x0,0x20] UNIT 0x38 0x13 0x0 0x5C [19,10] 0b 0x0 0x1 0x8B71F0 [0x4,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x5C [7,17] 0b 0x0 0x1 0x8B71F8 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x2F 0x5 0x0 0x54 [0,10] 0b 0x0 0x1 0x8B7200 [0x4,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x7F 0x5 0x0 0x54 [0,16] 0b 0x0 0x1 0x8B7208 [0x4,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x5C [7,17] 0b 0x0 0x1 0x8B7210 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x31 0x2D 0x0 0x54 [2,9] 0b 0x0 0x1 0x8B7218 [0x46,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x7F 0x5 0x0 0x54 [7,17] 0b 0x0 0x1 0x8B7220 [0x4,0x0,0x0,0x0] [0x0,0x22,0x9,0x0] UNIT 0x31 0x2D 0x0 0x54 [19,10] 0b 0x0 0x1 0x8B7228 [0x45,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x77 0x1B 0x0 0xC [8,16] 0b 0x0 0x1 0x8B7230 [0x2F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x77 0x1B 0x0 0xC [3,7] 0b 0x0 0x1 0x8B7238 [0x2F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x32 0x25 0x0 0x5C [1,8] 0b 0x0 0x1 0x8B7240 [0x3A,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x54 [5,3] 0b 0x0 0x1 0x8B7248 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x7F 0x5 0x0 0x54 [15,2] 0b 0x0 0x1 0x8B7250 [0x4,0x0,0x0,0x0] [0x0,0x22,0x9,0x0] UNIT 0x31 0x2D 0x0 0x3D [16,10] 0b 0x0 0x1 0x8B7258 [0x46,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x45 [11,5] 0b 0x0 0x1 0x8B7260 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x54 [20,11] 0b 0x0 0x1 0x8B7268 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x73 0x4E 0x0 0x54 [19,11] 0b 0x0 0x1 0x8B7270 [0x17,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT label36: UNIT 0xF 0x1 0x0 0x20 [0,21] 0b 0x0 0x1 0x8B7278 [0x78,0x16,0x6D,0x0] [0x0,0x0,0x0,0x0] UNIT 0x10 0x5 0x0 0x30 [0,22] 0b 0x0 0x1 0x8B7280 [0x3,0x1C,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x11 0x5 0x0 0x28 [0,22] 0b 0x0 0x1 0x8B7288 [0x3,0x16,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B7648 and the new ending offset is CURRENTOFFSET ORG $8B76FC label30: UNIT 0x42 0x7 0x0 0x8 [19,22] 0b 0x0 0x1 0x8B72B8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x1 0x2 0x0 0x40 [19,23] 0b 0x0 0x1 0x8B72C0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [20,23] 0b 0x0 0x1 0x8B72C8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label31: UNIT 0x4D 0xB 0x0 0x55 [19,11] 0b 0x0 0x1 0x8B72D0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x4E 0x0 0x45 [19,10] 0b 0x0 0x2 0x8B72D8 [0x0,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT 0x80 0x4E 0x0 0x45 [19,9] 0b 0x0 0x1 0x8B72E8 [0x0,0x0,0x0,0x0] [0x0,0x3,0x9,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B779C and the new ending offset is CURRENTOFFSET ORG $9E8EC0 TurnBasedEvents: TURN 0x0 label16 [2,2] 0x0 TURN 0xC label17 [1,255] 0x0 TURN 0x0 label18 [5,0] 0x0 AFEV CharacterBasedEvents: CHAR 0x7 label19 [0x1,0xF] 0x0 CHAR 0x7 label19 [0xF,0x1] 0x0 CHAR 0x8 label20 [0xF,0x2] 0x0 CHAR 0x8 label20 [0x2,0xF] 0x0 CHAR 0x9 label21 [0x2,0x11] 0x0 CHAR 0x9 label21 [0x11,0x2] 0x0 CHAR 0xA label22 [0x4,0x10] 0x0 CHAR 0xA label22 [0x10,0x4] 0x0 AFEV LocationBasedEvents: DOOR 0x0 [20,7] 0x12 DOOR 0x0 [1,5] 0x12 CHES 0x0 0x4 [1,3] 0x14 CHES 0x0 0x67 [2,3] 0x14 LOCA 0x3 [10,2] 0x11 CHES 0x0 0x5B [19,4] 0x14 AFEV MiscBasedEvents: AREA 0xB label23 [5,0] [15,10] AFEV 0x0 label24 0x65 AFEV Dunno1: AFEV Dunno2: AFEV Dunno3: AFEV Tutorial: AFEV 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 $9E9034 and the new ending offset is CURRENTOFFSET ORG $9ED9C5 Traps1: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9ED9C6 and the new ending offset is CURRENTOFFSET ORG $9EDEAA Traps2: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EDEAB and the new ending offset is CURRENTOFFSET ORG $9EE1B8 label37: _0x3325 0xFFFF _SETCONDITION 0x0 0xC 0x2 CALL label25 ENIF 0x0 ENDA label25: _0x1929 _0x0620 0xC2 _0x0221 0xFFFF _0x0228 0x7 ENDB label26: _SETCONDITION 0x0 0xC 0x0 _LOAD_WHATEVER 0x1 ENUN ELSE 0x1 ENIF 0x0 _LOAD_WHATEVER 0x0 ENUN ENIF 0x1 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE218 and the new ending offset is CURRENTOFFSET ORG $9EE248 label34: _0x1927 _SETCONDITION2 0x0 0xC 0x0 _0x1922 _SETCONDITION 0x0 0xC 0x0 _0x0620 0x3C CALL label26 ENIF 0x0 ENDA label38: _0x1020 0x4 CALL label27 _0x0228 0x9 _LOAD_WHATEVER 0x1 ENUN _0x0220 0x9 _0x1020 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE29C and the new ending offset is CURRENTOFFSET ORG $9EE2C4 label29: _0x0320 0x8 _SETCONDITION2 0x80BD 0xC 0x0 FADI 16 ENIF 0x80BD TEXTSTART _0x2220 FADU 16 ENDA label28: _0x0320 0x8 _SETCONDITION2 0x80D2 0xC 0x0 FADI 16 ENIF 0x80D2 _0x1A21 _0x2140 0xFFFF 0x0 0x0 FADU 16 ENDA label32: CALL label28 _0x0620 0x32 TEXTSHOW 0xFFFF TEXTEND CALL label29 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 $9F2F38 BeginningScene: MUS1 0x25 _LOAD2 0x1 label30 ENUN CUMO 0x42 STAL 60 CURE _SETVAL 0x2 0x10 CALL label28 TEXTSHOW 0xA08 TEXTEND _0x1324 0x7FFF TEXTCONT TEXTEND CALL label29 _LOAD1 0x1 label31 ENUN CUMO 0x4D STAL 60 CURE MUS1 0x26 TEXTSTART TEXTSHOW 0xA09 TEXTEND REMA STAL 30 CUSE 0x42 CUMO 0x42 STAL 60 CURE MOVE 0x42 [20,19] _SETVAL 0xB 0x100014 _MOVE2 0x0 0xFFFE 0x1 ENUN MOVE 0x42 [20,15] ENUN _SETVAL 0xB 0x100015 _MOVE2 0x0 0xFFFE 0x0 MOVE 0x42 [19,10] ENUN DISA 0x42 CUMO 0x4D STAL 60 CURE _SETVAL 0x2 0x10 _SETVAL 0x3 0xA0A CALL label32 _SETVAL 0xB 0x100013 _MOVE2 0x0 0xFFFE 0x0 ENUN MOVE 0x4D [19,14] ENUN _SETVAL 0xB 0x100012 _MOVE2 0x0 0xFFFE 0x1 ENUN MOVE 0x4D [19,14] ENUN CUMO 0x4D STAL 60 CURE TEXTSTART TEXTSHOW 0xA0B TEXTEND REMA _SETVAL 0xB 0x150014 _0x1620 0xAB _0x2720 0xFFFF MOVE 0x4D [19,10] _SETVAL 0xB 0x100013 _MOVE 0x10 0xFFFE [19,11] _SETVAL 0xB 0x100014 _MOVE 0x10 0xFFFE [20,11] ENUN _0x342C 0x0 _LOAD1 0x1 label33 ENUN _SETVAL 0x2 0x88B77C4 _SETVAL 0x3 0x1 CALL label34 CUMO 0x1 STAL 60 CURE _SETVAL 0x2 0x10 CALL label28 TEXTSHOW 0xA0C TEXTEND REMA CALL label35 _0x0229 0xC ENDA label16: _0x2620 0x1700 _LOAD1 0x1 label36 ENUN _0x3421 0xF _0x3421 0x10 _0x3421 0x11 _SETVAL 0x1 0x1 _0x3428 0xF _SETVAL 0x1 0x1 _0x3428 0x10 _SETVAL 0x1 0x1 _0x3428 0x11 CUMO 0xF STAL 60 CURE MUS1 0x25 TEXTSTART TEXTSHOW 0xA0D TEXTEND REMA _0x0228 0x7 ENDA EndingScene: MUS1 0x31 _SETVAL 0x2 0x10 CALL label28 TEXTSHOW 0xA10 TEXTEND REMA _0x0229 0xDF MNCH 0x6 ENDA label19: MUS1 0x27 TEXTSTART TEXTSHOW 0xA11 TEXTEND REMA _0x0228 0x7 ENDA label20: MUNO TEXTSTART TEXTSHOW 0xA12 TEXTEND REMA MUSI _0x0228 0x7 ENDA label21: MUNO TEXTSTART TEXTSHOW 0xA13 TEXTEND REMA MUSI _0x0228 0x7 ENDA label22: MUNO TEXTSTART TEXTSHOW 0xA14 TEXTEND REMA MUSI _0x0228 0x7 ENDA label23: _SETVAL 0x2 0x0 CALL label37 _0x0221 0xC _0x0228 0x7 ENDA label17: _SETVAL 0x2 0x88B7648 CALL label38 _0x0228 0x7 ENDA label18: _SETVAL 0x2 0x88B7698 CALL label38 _0x0228 0x7 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9F3280 and the new ending offset is CURRENTOFFSET Quote Link to comment Share on other sites More sharing options...
Jubby Posted September 24, 2012 Share Posted September 24, 2012 i'd suspect it could be a tile change thing, too (i don't actually know but when the bridge gets destroyed it's either ASM or tile changes so) Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted September 24, 2012 Share Posted September 24, 2012 (edited) I've been working on this for a couple more hours but it seems I'm going nowhere. So frustrating, events are the only aspect I haven't covered of hack roms yet but I'm totally stuck in these problems. Fact is, now Event Assembler says my .txt is ok, but when I try opening the actual game, it crashes suddenly after the chapter name. Here is the script: #include EAstdlib.event EventPointerTable(0x07,ThisChapter) ORG 0x10000E0 ThisChapter: POIN TurnBasedEvents POIN MiscBasedEvents POIN Dunno Dunno Dunno POIN Tutorial POIN Units POIN Enemies POIN $0 $0 $0 $0 $0 $0 POIN BeginningScene EndingScene TurnBasedEvents: TURN 0x00 BeginningScene [01,00] 0x00 TURN MiscBasedEvents: CauseGameOverIfLordDies DefeatAll(EndingScene) AFEV Dunno: //DO NOT TOUCH WORD $00 Tutorial: //DO NOT TOUCH WORD $00 Units: UNIT Eirika 0x02 0x00 Level(1,Ally,False) [10,06] DropItem 0x00 0x01 Eirika_Move [0x09,0x6C,0x00,0x00] NoAI UNIT Seth 0x07 Eirika Level(2,Ally,False) [11,07] DropItem 0x00 0x02 Seth_Move [0x17,0x03,0x00,0x00] NoAI UNIT Empty Eirika_Move: REDA [06,06] 0b 0x1 0x0 0 Seth_Move: REDA [06,07] 0b 0x1 0x0 0 Enemies: UNIT 0x80 0x3F 0x00 Level(2,Enemy,True) [05,13] DropItem 0x00 0x01 Enemy_Move [0x1F,0x00,0x00,0x00] [0x00,0x03,0x09,0x00] UNIT Empty Enemy_Move: REDA [04,09] 0b 0x1 0x0 0 BeginningScene: Text(0x2A,0x090D) _LOAD1 0x1 Units ENUN CAM1 Eirika ENUN STAL 0x20 _LOAD1 0x1 Enemies ENUN ENDA EndingScene: FADI 0x10 MUS1 0x09 FADU 0x10 Text(0x0929) MoveToChapter(0x01) MESSAGE Events end at offset currentOffset Is there something that may cause the game to freeze/crash? Side note: EA should burn the event in the offset I put, in this case 0x1000E0, and this would be associated to 0x07 which is Prologue Events... but when in Nightmare I go to 0x07 Prologue Events after the burning, it still is pointed to the original one and not to 0x1000E0. Is that normal or it's me who hasn't understood at all how this works? *laughs* Any help would be greatly appreciated, thanks for your time.. UPDATE: Actually fixed it alone. Edited September 25, 2012 by AlfredKamon Quote Link to comment Share on other sites More sharing options...
CT075 Posted September 24, 2012 Author Share Posted September 24, 2012 So, I was editing enemies in Chapter 8, playtested my patch and: it means that someone is being loaded or is moving offscreen Quote Link to comment Share on other sites More sharing options...
PKL Posted September 25, 2012 Share Posted September 25, 2012 I just did Chapter 8 in a draft and know what is missing. Basically, in the end of the cutscene, the game spawns enemies and makes them move. By altering the ID of the enemies in the chapter, I also messed with that cutscene. Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted September 26, 2012 Share Posted September 26, 2012 Stupid, noobish question: so basically the characters I put in the event text must be the same in the Chapter Unit Data (or viceversa) or can I add units out of nowhere in events? Because my opening_event is a little messed up (after loading all units it just repeats the TEX1 it has already displayed, even if there isn't another TEX1 in the event) and maybe that's because I try loading units that aren't in the chapter unit data? Or maybe because there are characters in chapter unit data which aren't "covered" in the event text? I'm a bit confused about this. Sorry if it feels ignorant, but I just don't understand clearly yet. Quote Link to comment Share on other sites More sharing options...
Nintenlord Posted September 26, 2012 Share Posted September 26, 2012 If you edit units via events then you don't edit them via Chapter Unit Editor and vice verse. Also, post your events if you edit them. Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted September 27, 2012 Share Posted September 27, 2012 (edited) If you edit units via events then you don't edit them via Chapter Unit Editor and vice verse. Also, post your events if you edit them. Ok, thanks. And sorry if I didn't post the edited events before, but I didn't mention that the major errors I fixed were related to the map. Now at least the map is displayed and the game doesn't freeze anymore. I have two problems: 1) Like I said before, when the OpeningEvent occurs, it's like if it happens twice. I'll try to explain it better. Here is the event, to begin with: #include EAstdlib.event EventPointerTable(0x07,ThisChapter) ORG 0x10000A0 ThisChapter: POIN TurnBasedEvents POIN CharacterBasedEvents POIN LocationBasedEvents POIN MiscBasedEvents POIN Dunno Dunno Dunno POIN Tutorial POIN TrapData TrapData POIN Units Enemies POIN $0 $0 $0 $0 $0 $0 POIN BeginningScene EndingScene TurnBasedEvents: TurnEventPlayer(0x01,BeginningScene,1) TURN CharacterBasedEvents: CHAR LocationBasedEvents: LOCA MiscBasedEvents: CauseGameOverIfLordDies DefeatAll(EndingScene) AFEV Dunno: //DO NOT TOUCH WORD $00 Tutorial: //DO NOT TOUCH WORD $00 TrapData: ENDTRAP ALIGN 4 Units: UNIT Eirika 0x02 0x00 Level(1,Ally,False) [11,00] 0x00 0x00 0x01 Eirika_Move [0x09,0x6C,0x00,0x00] NoAI UNIT Empty Enemies: UNIT 0x80 0x3F 0x00 Level(2,Enemy,True) [03,08] 0x00 0x00 0x01 Enemy_Move [0x1F,0x00,0x00,0x00] [0x00,0x03,0x09,0x00] UNIT Empty BeginningScene: _LOAD1 0x1 Units _LOAD2 0x1 Enemies MUS1 0x09 Text(0x2A,0x090D) REMA ENDA Eirika_Move: REDA [11,00] 0b 0x1 0x0 0 Enemy_Move: REDA [03,08] 0b 0x1 0x0 0 EndingScene: FADI 0x10 MUS1 0x09 FADU 0x10 Text(0x0929) MoveToChapter(0x01) MESSAGE Events end at offset currentOffset So the OpeningEvent should be: _LOAD1 0x1 Units _LOAD2 0x1 Enemies MUS1 0x09 Text(0x2A,0x090D) REMA ENDA But what I effectively see happening is: _LOAD1 0x1 Units _LOAD2 0x1 Enemies MUS1 0x09 Text(0x2A,0x090D) REMA FADI (for a while) FADU _LOAD2 0x1 Enemies (the enemy loads in the same place of the first one and moves to the left) Text(0x2A,0x090D) REMA FADI FADU ENDA It kinda confuses me which the problem could be... that's why I made that question about the units in Events and in Chapter Data, I thought that the game was trying to load both since they didn't match, but if the problem isn't that, then what? UPDATE: I actually solved this problem. In the Prologue, which hasn't PrepScreen, a Turn1 Event with BeginningScene isn't needed. So BeginningScene played twice because of the Event and the Pointer Event. I just erased the Turn1 Event and I was OK. I still haven't solved problem 2 though, I'll try with Tiled instead of Mappy now, even if I don't think it's a problem in the map itself, rather in some options I forgot to input because of the pillars (?). 2) I don't know if this is the proper topic to ask, but I have a problem loading maps. This load perfectly: While this gets partially screwed up: The palette and tilesets should be the same, so... Maybe the problem is with the pillars I inserted? Thank you very much for eventual answers, they would mean a lot to me. Edited September 28, 2012 by AlfredKamon Quote Link to comment Share on other sites More sharing options...
Alfred Kamon Posted October 2, 2012 Share Posted October 2, 2012 Sorry for the double post, but it's passed some time since my last one so I think it's okay..? Sorry if it isn't. Anyway. I had a minor problem. When you finish a chapter, the character who performed the final blow "keeps moving on place" on the map. If, for example, I want to move that character in the EndingScene, the "moving sprite" stays in the position it is, but a copy of the character moves from that position to the one I wanted. Question is: is there a way to "stop" the character moving after he killed the last enemy or to move its moving sprite, without having a copy of the character? Or any other way to fix it? Sorry if I explained badly the problem but I don't seriously know how to explain more properly. Quote Link to comment Share on other sites More sharing options...
Nintenlord Posted October 2, 2012 Share Posted October 2, 2012 There is one in FE7, though I don't know how to do it in FE8. Check a defeat boss chapter with disassembly. Quote Link to comment Share on other sites More sharing options...
Mikado Posted October 6, 2012 Share Posted October 6, 2012 [spoiler=events and stuff] //Made by markyjoe1990 of Youtube //Modified by Nintenlord #define DISABLE_TUTORIALS #include EAstdlib.event #include Definitions.txt EventPointerTable(0x06,Pointers) ORG 0xD00180 Pointers: POIN Turn_events POIN Character_events POIN Location_events POIN Misc_events POIN TrapData TrapData POIN Bad Bad Bad Bad POIN Good Good Good Good POIN Opening_event Ending_event Bad: UNIT Kempf Vanguard 0x00 Level(20,Enemy,False) [2,3] [2,3] [sengenjin] NoAI UNIT Good: Unit Adam Outlaw 0x00 Level(1,Ally,False) [14,4] [2,5] [ironBlade, Vulnerary] NoAI UNIT Turn_events: TURN 0x00 Opening_event [01,00] 0x0 0x00 TURN Character_events: CHAR Location_events: LOCA Misc_events: CauseGameOverIfLordDies AFEV Opening_event: CAM1 [10,4] OOBB CURF [14,4] FADI 10 BACG 0x02 FADU 10 TEX1 0x0803 REMA LOU1 Bad LOU1 Good ENUN CURF [2,3] TEX1 0x0802 REMA MOVE Adam [9,9] ENDA Ending_event: //MoveToChapter(NextChapter) TrapData: ENDTRAP MESSAGE Events end at offset currentOffset //The map for this chapter is at offset: ???????? Soooo, I'm was hacking FE7, assemble the events, no problem, then this happen to the text. Everything worked fine, but the text is funky. Help? Quote Link to comment Share on other sites More sharing options...
CT075 Posted October 6, 2012 Author Share Posted October 6, 2012 where in the events did that happen 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.