Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,441,605
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-20-24 11:22 AM
Guest: Register | Login

0 users currently in ROM Hacking | 4 guests | 1 bot

Main - ROM Hacking - Question about Fire Emblem: Blazing Sword hacking New thread | New reply


IOS
Posted on 07-22-07 06:37 PM Link | Quote | ID: 56820

Newcomer
Level: 5

Posts: 2/3
EXP: 409
Next: 120

Since: 04-22-07

Last post: 6115 days
Last view: 6064 days
[citation needed]

Zeld
Posted on 07-23-07 12:17 AM Link | Quote | ID: 56899


Paragoomba
Level: 21

Posts: 63/73
EXP: 49380
Next: 563

Since: 02-21-07

Last post: 6092 days
Last view: 6005 days
The scene with Valter and Seth that I hacked and posted a video of on YouTube:

3000570 - Allocated stack for event code branch returns

89eeef8 - dialogue loading command of Seth's last words to Eirika before Valter shows up

40 05 03 00 08 09 00 00 - Dialogue 0x908

40 0A 00 00 10 E3 9E 08 - Go to 89ee310

40 0A 00 00 E8 E2 9E 08 - Go to 89ee2e8

20 03 08 00 41 0C D2 80 0C 00 00 00- Undocumented

21 17 10 00 - Fade out at speed 16; goes into the dialogue loaded (0x908)

20 08 D2 80 - Undocumented

21 1A 00 00 - Undocumented

40 21 FF FF 00 00 00 00- Has something to do with the background used for dialogue between Valter and Seth

20 17 10 00 - Fade in for conversation between Seth and Eirika

20 01 00 00 - End of section; return to 89ee318

20 06 32 00 - Undocumented

20 1B FF FF 20 1D 00 00 - Initiate dialogue text 0xFFFF; Seth/Eirika + Valter

40 0A 00 00 C4 E2 9E 08 - Go to 89ee2c4

20 03 08 00 41 0C BD 80 0C 00 00 00 - Undocumented

21 17 10 00 - Fade out at speed 16

20 08 BD 80 - Undocumented

20 1A 00 00 - Undocumented

20 22 00 00 - Undocumented

20 17 10 00 - Fade out at speed 16

20 01 00 00 - End of section; return to 89ee32c

20 01 00 00 - End of section; return to 89eef08

40 2C 01 00 B8 3F 8B 08 - Some form of unit loading from 88b3fb8

20 30 00 00 - Set units to stand position

42 2F 00 00 02 00 01 00 - Move unit 0x2 1 space right; this moves Seth onto Eirika

20 30 00 00 - Make Seth stand

42 2F 00 00 01 00 00 00 - Move unit 0x1 1 space left; this moves Eirika out from under Seth

20 30 00 00 - Make Eirika stand

21 3B 45 00 - Place cursor on character 0x45

20 0E 3C 00 - Undocumented

22 3B 00 00 - Remove cursor

40 05 02 00 1D 00 00 00 - Set dialogue background to 0x1D

40 05 03 00 09 09 00 00 - Loads dialogue 0x909

40 0A 00 00 10 E3 9E 08 - Go to 89ee310

{Skipped for convenience}

Return to 89eef50:

42 2F 00 00 45 00 00 00 - Move unit 0x45 one space left; this moves Valter

20 30 00 00 - Stand

40 05 0D 00 00 00 00 00 - Command series start

40 05 01 00 00 00 02 00 - Sets Seth to miss on his first attack

Command solved! This command type alters the display of battle with the format 40 05 01 00 [00 for unit on right, 01 for unit on left] 00 [00 for normal attack, 01 for critical, 02 for miss] 00. Setting the latter four bytes to 0xFFFFFFFF ends the battle input, and 21 07 00 00 apparently signals that the next 40 05 01 command should write to the next open animation slot, as opposed to overwriting one that was just recently written to.

21 07 00 00 - Separator

40 05 01 00 01 00 00 00 - Makes it Valter's turn; fights normally

21 07 00 00 - Separator

40 05 01 00 FF FF FF FF - Ends the battle

21 07 00 00 - Separator

40 3F 02 00 45 00 00 00 - Initiate battle between units 0x2 and 0x45; the battle between Seth and Valter has begun

21 3B 02 00 - Place cursor on Seth

20 0E 3C 00 - Undocumented

22 3B 00 00 - Remove cursor

20 1A 00 00 - Undocumented

20 1B 0B 09 - Loads text 0x90B

20 1D 00 00 - Always follows text load (probably makes it display)

22 1B 00 00 - Close dialogue; so yes, 20 1D probably displays it

42 2F 08 00 02 00 00 00 - Undocumented; probably a battle command

20 30 00 00 - Stand

2F 34 01 00 - Make unit 0x1 disappear

40 05 0D 00 00 00 00 00 - String of commands start

40 05 01 00 04 81 01 00 - Undocumented

21 07 00 00 - Separator

40 05 01 00 00 00 00 00 - Undocumented

21 07 00 00 - Separator

40 05 01 00 84 80 01 00 - Undocumented

21 07 00 00 - Separator

40 05 01 00 00 00 00 00 - Undocumented

21 07 00 00 - Separator

40 05 01 00 80 80 01 00 - Undocumented

21 07 00 00 - Separator

40 05 01 00 00 00 00 00 - Undocumented

21 07 00 00 - Separator

43 2F 00 00 02 00 00 00 - Move Seth (for great justice?)

20 30 00 00 - Stand

2F 34 02 00 - Make Seth disappear

21 3B 45 00 - Place cursor on Valter

20 0E 3C 00 - Undocumented; probably makes cursor flash

22 3B 00 00 - Remove cursor

20 1A 00 00 - Undocumented

20 1B 0C 09 - Load text 0x90C

20 1D 00 00 - Display text

22 1B 00 00 - Close dialogue

21 17 10 00 - Fade out at speed 16

20 02 02 00 - Undocumented; seems to be associated with clearing units

2A 34 00 00 - Clear all player units

2C 34 00 00 - Clear all enemy units

2B 34 00 00 - Clear all neutral units

40 05 0B 00 00 00 00 00 - Select coordinates 0, 0

20 25 00 00 - Undocumented

20 17 10 00 - Fade out at speed 16

20 01 00 00 - End of section; scene with Valter has ended and the playable map is loaded





Lute's Notes:

[17:05:16] 009EECBC
[17:58:19] So, here's my chart of commands
[17:58:24] 40 0A 00 00 __ __ __ __ - Go to __ (pointer)
[17:58:30] 40 05 0B 00 XX 00 YY 00 - Sets coordinates to XX,YY
[17:58:37] 20 30 XX XX - Make unit(s) stand (used always after moving a unit or loading enemies)
[17:58:37] When this command is used, all non-standing units will stand.
[17:58:42] 20 31 XX XX - Select unit with ID of third byte (shows movement squares)
[17:58:47] 20 32 XX XX - Make unit with ID of third byte disappear
[17:58:57] Not sure why 20 32 doesn't work all the time
[17:58:57] 20 25 XX 00 - Load map (second and third byte)
[17:59:06] 41 2C XX XX __ __ __ __ - Load units (from pointer in next four bytes)
[17:59:13] 20 17 XX 00 - Fade map in at XX speed (10 is used most commonly)
[17:59:15] * Willfor 's eyes light up like it's christmas time O.O
[17:59:18] 41 3A XX YY WW 00 ZZ 00 - Display text XX from bank YY in a brown text box at (ZZ,WW)
[17:59:21] 40 3A XX YY WW 00 08 00 - Display text XX from bank YY in that "maturity increased" text box and play sound WW
[17:59:24] 28 26 XX YY - Moves screen to XX,YY
[17:59:27] 21 3B XX 00 - Place cursor on character XX
[17:59:34] 22 3B 00 00 - Remove cursor
[17:59:34] 20 3B XX YY - Place cursor on (XX,YY)
[17:59:34] 20 0E XX 00 - Flash cursor for XX frames
[17:59:34] 20 1A 00 00 - Always precedes 20 1B?
[17:59:39] 20 1B XX YY - Initiate dialogue text XX from bank YY
[17:59:39] 20 1D 00 00 - Always follows 20 1B
[17:59:39] 22 1B 00 00 - Close dialogue.
[17:59:48] 40 2F 00 00 XX 00 YY ZZ - Move unit XX to (YY,ZZ)
[17:59:49] 2F 34 XX 00 - Make unit XX disappear
[17:59:49] 41 2F 00 00 XX 00 YY 00 - Move unit XX to unit YY
[17:59:49] 42 2F 00 00 XX 00 YY 00 - Move unit XX one space in the YY direction
[17:59:49] Directions:
[17:59:49] 00 - Left
[17:59:49] 01 - Right
[17:59:49] 02 - Down
[17:59:49] 03 - Up
[17:59:50] 04 - Don't move.
[18:00:05] 43 2F 00 00 XX 00 00 00 - Move unit XX (uses commandS)
[18:00:09] wait
[18:00:16] since when did Twilkitri start coming here
[18:00:28] Since Lute came back
[18:00:29] Since he gave me the text parser
[18:00:36] *** 40 05 0D 00 00 00 00 00 - Starts a series of commands
[18:00:37] *** 40 05 01 00 WW XX YY ZZ 21 07 00 00 - A command
[18:00:37] *** 43 2F 00 00 XX 00 00 00 - Make unit XX using commands
[18:00:43] by make
[18:00:44] I mean move
[18:00:58] It's a bit
[18:01:00] vague
[18:01:05] Yes indeed
[18:01:06] 21 17 XX 00 - Fade out at speed XX
[18:01:06] 20 02 02 00 - ? Used with clear all _ units usually
[18:01:06] 2A 34 00 00 - Clear all player units
[18:01:06] 2C 34 00 00 - Clear all enemy units
[18:01:06] 2B 34 00 00 - Clear all neutral units
[18:01:24] 40 05 02 00 XX 00 00 00 - Set dialogue background to XX
[18:01:24] 40 05 03 00 XX YY 00 00 - Dialogue XX from bank YY (?)
[18:01:30] 40 41 00 00 - Teleport thing 1 (not sure how it works)
[18:01:31] 40 42 00 00 XX 00 00 00 - Earthquake (not sure what XX is)
[18:01:31] 40 43 XX 00 - Teleport thing 2 on unit XX
[18:01:31] 40 44 XX 00 - Sparkle on unit XX
[18:01:44] I don't know how to end an earthquake
[18:01:51] 40 3F XX 00 YY 00 00 00 - Initiate battle between XX and YY with animation (uses the series of commands)
[18:01:52] 41 3F XX 00 YY 00 00 00 - Initiate battle between XX and YY without animation (uses the series of commands)
[18:01:52] 42 3F XX 00 YY 00 00 00 - Initiate battle between XX and YY?
[18:01:57] 40 40 XX 00 YY 00 00 00 - Promote unit XX to class YY
[18:01:59] It stops when the earth stops shaking
[18:02:02] 20 01 00 00 - End of section
[18:02:07] * Willfor is shot
[18:02:07] >
[18:02:13] XX 00 00 00 20 37 YY 00 - Give unit YY item XX (00 or unit must be present)
[18:02:13] XX ZZ WW 00 21 37 YY 00 - Give unit YY gold equal to XX + (ZZ * 255) + (WW * 65535) (00 or unit must be present)
[18:02:13] 20 12 XX 00 - Fade out current music and play XX
[18:02:13] 22 34 XX 00 - Make unit XX player
[18:02:13] 23 34 XX 00 - Make unit XX neutral
[18:02:13] 24 34 XX 00 - Make unit XX enemy
[18:02:13] 21 28 XX 00 - Weather condition XX
[18:02:13] 21 29 XX 00 - Visibility of XX
[18:02:23] Sorry, sorry
[18:02:27] For battle functions
[18:02:27] *** Battles:
[18:02:27] *** 40 05 01 00 WW XX YY ZZ 21 07 00 00
[18:02:27] *** WW - Whose attack (00 = right, 01 = left)
[18:02:27] *** XX - Damage (00 is normal, for anything else, damage will be equal to XX)
[18:02:27] *** YY - Attack type (If XX MOD 4 = 0, attack hits, 1, critical, 2 and 3, miss)
[18:02:27] *** ZZ - Special ability (00 = Normal, 40 = Sure Shot, 80 = Big Shield, C0 = Pierce)
[18:02:31] I'll try not to make any more puns
[18:03:19] *** 40 05 01 00 XX 00 00 00 25 34 02 00
[18:03:31] *** It seems to set unit 02's HP to XX

I want to warn you that this not the only place event data is stored, I don't know where other places they are stored are at, there are far moer commands than the ones Iggy listed to me, and damn if they aren't hard to figure out.

Good luck working with these, and nevermind the asterisks, I was too lazy to take them out, and I was using them for something I can't remember.

Have fun.

IOS
Posted on 07-23-07 04:08 PM Link | Quote | ID: 57171

Newcomer
Level: 5

Posts: 3/3
EXP: 409
Next: 120

Since: 04-22-07

Last post: 6115 days
Last view: 6064 days
I'm fine with Seima event data, its Rekka I don't know a thing about.

Zeld
Posted on 07-23-07 04:19 PM Link | Quote | ID: 57177


Paragoomba
Level: 21

Posts: 64/73
EXP: 49380
Next: 563

Since: 02-21-07

Last post: 6092 days
Last view: 6005 days
[citation needed]

Main - ROM Hacking - Question about Fire Emblem: Blazing Sword hacking New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.020 seconds. (347KB of memory used)
MySQL - queries: 52, rows: 76/76, time: 0.015 seconds.