øAslickproductions.org/forum/index.php?PHPSESSID=a93jpvqe9jutne9agvqo8ht1r1&topic=1980.90e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index43dc-2.htmlslickproductions.org/forum/index.php?board=17.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index43dc-2.html.zxÂ8h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ P,{;OKtext/htmlISO-8859-1gzip8:Ö{;ÿÿÿÿÿÿÿÿWed, 11 Mar 2020 01:19:22 GMT0ó°° ®0®P®€§²ð®Á8h^ÿÿÿÿÿÿÿÿÇ9{; FF5 Bugs & Glitches

Author Topic: FF5 Bugs & Glitches  (Read 23831 times)

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: FF5 Bugs & Glitches
« Reply #90 on: May 24, 2016, 06:24:42 AM »
It is configured that way because you can see an event with the Chocobo (where Butz mentions that is too dangerous to enter the cave, so he should stay back). The problem is that because of that, all vehicles are allowed to land on that spot, so is not like you can just change it to any other cave.

Mmm, can't remember how the Pirate's Cave is handled now that I think of it. (Can't remember how it goes once you permanently get the Chocobo...)
I'm the best in the universe! Just remember! [F-zero X]

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #91 on: May 24, 2016, 10:36:55 AM »
It is configured that way because you can see an event with the Chocobo (where Butz mentions that is too dangerous to enter the cave, so he should stay back). The problem is that because of that, all vehicles are allowed to land on that spot, so is not like you can just change it to any other cave.

Correct me if I am wrong but I think the event you mention happens in one "location" map and not in the world map.
The location id is 0x0012. I think the world map and the locations have a different behaviour so maybe it would be possible to block all vehicles excepting yellow chocobo to cross/land on that tile, right?

By the way, what we do know about "events"?

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: FF5 Bugs & Glitches
« Reply #92 on: May 24, 2016, 04:16:03 PM »
Events are triggered when you walk into an specific tile, be it in the world map or dungeons/rooms. They are placed in choke-points (or simply place several of them to create the same effect) in order for you to step on them.

There are several tiles in the world map, like when you start a game and enter a narrow path to fight Goblins x2. The tile remains, but the event flag gets marked, hence why it only triggers the first time you walk into. This make what is called "Danger Steps counter" not to advance on that particular tile, which throws off-guard many speedrunners when they want to avoid enemy encounters...
I'm the best in the universe! Just remember! [F-zero X]

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #93 on: May 25, 2016, 05:08:31 AM »
Sure. My question is, how are these events stored on the rom? Do we know how to read into or hack them?

Also, how the edges and the passable/impassable properties are managed?
When I researched about that, I was only able to get to what I wrote in the wiki.
Have anybody more information about this topic?

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #94 on: May 25, 2016, 02:49:44 PM »
I did a bit of research into it for the GBA version when I was looking up how to give the Gladiator job early. I haven't had time to organize them into something easily understandable but here's the notes:

Code: [Select]
080DA9A0 - updates bitflags for jobs
080DF4F8 - calls above
08144c98 - job IDs?
080dc3b0
080dccb8 - eventer?
083d6065 - add job event? (starts at 012f21/083d5a79, ID 4ec)
080dfd2c - event updater
08144b70 - size of event data
08708508 - event table?

083c08d4 - pointer to event array?
083c2b58 - start of event data?
0x8a0 events

083C78AE - first event of the game

080DFCC0 - get event pointer
080DFA9C - raise event flag?
080DA330 - talk events?
08142C58 - talk event table
associates events with NPC event data
080B1A10 - NPC identification?
080B1280 - start of function
0200EE2C - NPC data?
0200ED80 - saves NPC event data here
080B1C6A - loads npc data?
0200EACC - room ID
0200e2ae - also room ID
0200E3AD - NPC count

0200e3a2 - writes event ID to this location

08024f46 - updates room data?
08136760 - room data table? (28 bytes per entry)
0811DC34 - ??? (1 byte per room ID)
0811de64 - ??? (1 byte per room ID) affects room layering

080AC366 - locates room transition data
080AC2EA - searches through room transition data.
080AC35A - updates room data through transition data here.
0813CA84 - room door list index
0813CECC - room door table (12 bytes per entry)
@0x0 - X position of exit
@0x1 - Y position of exit
@0x2 - room of exit
@0x3 - ?
@0x4 - ?
@0x5 - ?
@0x6 - direction to face when exiting
@0x7 - X position of room
@0x8 - Y position of room
@0xa - ?
@0xb - ?

ffva npc setup
NPC data is stored at:
083B6514 - table starting points (NPCs/room)
values are relative to this pointer
083B695C - data points
7 bytes per NPC
@ 0x0 (2) - identifier
@ 0x2 (1) - sprite ID
@ 0x3 (1) - X position
@ 0x4 (1) - Y position
@ 0x5 (1) - Walking parameter (affects how the NPC moves)
@ 0x6 (1) - extra parameters (1-3 affect palette, 0x10 determines layer, 0x20, 0x40, 0x60 determines direction)

when the player interacts with an NPC, the game looks up the reaction data in:
083BE268 - table starting points
values are relative to this pointer
083BEB68 - table data
format: 0xf1-0xff is a control code
0xf0 is the generic text ID
0813C901 - amount of data to advance for each code
0xf1 - 00
0xf2 - 03
0xf3 - 02
0xf4 - 02
0xf5 - 04
0xf6 - 01
0xf7 - 02
0xf3 - 04
0xf9 - 05
0xfa - 04
0xfb - 02
run the next event if event ID wasn't raised
0xfc - 02
0xfd - 02
0xfe - 02
0xff - 03
events to run?

if an event is called, the game looks up the event ID using the 0xfb ID in:
08142C58 - talk event table

I also used this to rip some of the data from the game, for example this giant block of data is used in the game when the player gets the Wind Shrine jobs; each line is a specific command with parameters, and at the end I made a small comment on the event code that unlocks jobs:
Code: [Select]
.byte 0x31,0xfe
.byte 0x13
.byte 0x13
.byte 0x13
.byte 0x40,0x00
.byte 0xb8,0x83
.byte 0xb8,0x85
.byte 0xb8,0x8e
.byte 0xb8,0x84
.byte 0x1a
.byte 0x13
.byte 0x64,0x16,0x00,0x1c,0x00
.byte 0xa9,0x84
.byte 0xaa,0x8e
.byte 0xa8,0x83
.byte 0xab,0x84
.byte 0xab,0x8e
.byte 0xab,0x83
.byte 0x1e
.byte 0x5c,0xf1,0x80
.byte 0x21
.byte 0x48,0x02
.byte 0x5a,0xe0
.byte 0xb2,0x8e
.byte 0xae,0x83
.byte 0xae,0x85
.byte 0xb2,0x84
.byte 0x20
.byte 0x48,0x02
.byte 0x5a,0xe0
.byte 0x1e
.byte 0x48,0x02
.byte 0x5a,0xe0
.byte 0xb0,0x8e
.byte 0xb0,0x83
.byte 0xb0,0x85
.byte 0xb0,0x84
.byte 0x20
.byte 0x5c,0xf2,0x80
.byte 0x20
.byte 0x59,0x06
.byte 0x21
.byte 0x6a,0x00,0x20,0x00,0x68,0x4d,0xd8
.byte 0x25
.byte 0x58,0x06
.byte 0x62,0x14,0x5d,0x00,0x5e,0x00
.byte 0x16
.byte 0x1e
.byte 0x59,0x06
.byte 0x20
.byte 0x23
.byte 0x6a,0x91,0x00,0x00,0x15,0x14,0x00
.byte 0x61,0xee,0x04
.byte 0xb6,0x95
.byte 0xb7,0x95
.byte 0x4d,0xc0,0x03,0x01
.byte 0x9d,0x95,0x15,0x14,0x00
.byte 0x58,0x06
.byte 0x22
.byte 0xb8,0x95
.byte 0x20
.byte 0xc3,0x95
.byte 0x62,0x09,0x88,0x00,0x8a,0x00
.byte 0xa7,0x95
.byte 0x59,0x06
.byte 0x20
.byte 0x6a,0x1f,0x00,0x00,0x2d,0x15,0x00
.byte 0x2a
.byte 0x61,0xef,0x04
.byte 0x9d,0x80,0x2d,0x1d,0x00
.byte 0x9d,0x81,0x2d,0x1c,0x00
.byte 0x9d,0x82,0x2d,0x1d,0x00
.byte 0x58,0x06
.byte 0x20
.byte 0xb8,0x80
.byte 0xa7,0x80
.byte 0xb8,0x81
.byte 0xb8,0x82
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2d,0x1b,0x00
.byte 0x9d,0x82,0x2d,0x1c,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2d,0x1a,0x00
.byte 0x9d,0x82,0x2d,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2d,0x19,0x00
.byte 0x9d,0x82,0x2d,0x1a,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2d,0x18,0x00
.byte 0x9d,0x82,0x2d,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2d,0x17,0x00
.byte 0x9d,0x82,0x2d,0x18,0x00
.byte 0xb9,0x80
.byte 0x1d
.byte 0x9d,0x82,0x2d,0x17,0x00
.byte 0xb9,0x81
.byte 0x1d
.byte 0xb9,0x82
.byte 0xea,0x84
.byte 0x1e
.byte 0x5a,0x20
.byte 0x1d
.byte 0x5a,0x20
.byte 0x1d
.byte 0x5a,0x20
.byte 0x1e
.byte 0x5c,0xf3,0x00
.byte 0xb0,0x84
.byte 0x59,0x06
.byte 0x20
.byte 0x6a,0x00,0x20,0x00,0xb0,0x58,0xd8
.byte 0x25
.byte 0x58,0x06
.byte 0x62,0x14,0x1f,0x01,0x20,0x01
.byte 0x14
.byte 0x1e
.byte 0x59,0x06
.byte 0x20
.byte 0x23
.byte 0x6a,0x73,0x00,0x00,0x08,0x07,0x00
.byte 0x61,0xee,0x04
.byte 0xb6,0x90
.byte 0xb7,0x90
.byte 0x4d,0x60,0x03,0x01
.byte 0x9d,0x90,0x08,0x07,0x00
.byte 0xb9,0x84
.byte 0xb9,0x85
.byte 0x58,0x06
.byte 0x22
.byte 0xb8,0x90
.byte 0x20
.byte 0xc3,0x90
.byte 0x62,0x09,0x4e,0x01,0x50,0x01
.byte 0xa7,0x90
.byte 0x59,0x06
.byte 0x20
.byte 0x6a,0x1f,0x00,0x00,0x2d,0x15,0x00
.byte 0x2a
.byte 0x61,0xef,0x04
.byte 0x9d,0x80,0x2e,0x1d,0x00
.byte 0x9d,0x81,0x2e,0x1c,0x00
.byte 0x9d,0x82,0x2e,0x1d,0x00
.byte 0x58,0x06
.byte 0x20
.byte 0xb8,0x80
.byte 0xa7,0x80
.byte 0xb8,0x81
.byte 0xb8,0x82
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x1b,0x00
.byte 0x9d,0x82,0x2e,0x1c,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x1a,0x00
.byte 0x9d,0x82,0x2e,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x19,0x00
.byte 0x9d,0x82,0x2e,0x1a,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x18,0x00
.byte 0x9d,0x82,0x2e,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x17,0x00
.byte 0x9d,0x82,0x2e,0x18,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2e,0x16,0x00
.byte 0x9d,0x82,0x2e,0x17,0x00
.byte 0xb9,0x80
.byte 0x1d
.byte 0x9d,0x82,0x2e,0x16,0x00
.byte 0xb9,0x81
.byte 0x1d
.byte 0xb9,0x82
.byte 0xea,0x83
.byte 0x1e
.byte 0x5a,0x80
.byte 0x1d
.byte 0x5a,0x80
.byte 0x1d
.byte 0x5a,0x80
.byte 0x1e
.byte 0x5c,0xf4,0x00
.byte 0xb0,0x83
.byte 0x59,0x06
.byte 0x20
.byte 0x6a,0x00,0x20,0x00,0x40,0x8e,0xd8
.byte 0x25
.byte 0x58,0x06
.byte 0x62,0x14,0xf1,0x01,0xf2,0x01
.byte 0x15
.byte 0x1e
.byte 0x59,0x06
.byte 0x20
.byte 0x23
.byte 0x6a,0xdc,0x00,0x00,0x2f,0x28,0x00
.byte 0x61,0xee,0x04
.byte 0xb6,0x88
.byte 0xb7,0x88
.byte 0x4d,0x80,0x03,0x01
.byte 0x9d,0x88,0x2f,0x28,0x00
.byte 0x58,0x06
.byte 0x22
.byte 0xb8,0x88
.byte 0x20
.byte 0xc3,0x88
.byte 0x62,0x09,0x1c,0x02,0x1e,0x02
.byte 0xa7,0x88
.byte 0x59,0x06
.byte 0x20
.byte 0x6a,0x1f,0x00,0x00,0x2d,0x15,0x00
.byte 0x2a
.byte 0x61,0xef,0x04
.byte 0x9d,0x80,0x2c,0x1d,0x00
.byte 0x9d,0x81,0x2c,0x1c,0x00
.byte 0x9d,0x82,0x2c,0x1d,0x00
.byte 0x58,0x06
.byte 0x20
.byte 0xb8,0x80
.byte 0xa7,0x80
.byte 0xb8,0x81
.byte 0xb8,0x82
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x1b,0x00
.byte 0x9d,0x82,0x2c,0x1c,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x1a,0x00
.byte 0x9d,0x82,0x2c,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x19,0x00
.byte 0x9d,0x82,0x2c,0x1a,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x18,0x00
.byte 0x9d,0x82,0x2c,0x19,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x17,0x00
.byte 0x9d,0x82,0x2c,0x18,0x00
.byte 0xa7,0x80
.byte 0x9d,0x81,0x2c,0x16,0x00
.byte 0x9d,0x82,0x2c,0x17,0x00
.byte 0xb9,0x80
.byte 0x1d
.byte 0x9d,0x82,0x2c,0x16,0x00
.byte 0xb9,0x81
.byte 0x1d
.byte 0xb9,0x82
.byte 0xea,0x8e
.byte 0x1e
.byte 0x5a,0x60
.byte 0x1d
.byte 0x5a,0x60
.byte 0x1d
.byte 0x5a,0x60
.byte 0x1e
.byte 0x5c,0xf5,0x00
.byte 0xb0,0x8e
.byte 0x21
.byte 0x9d,0x80,0x2d,0x11,0x00
.byte 0x9d,0x81,0x2d,0x12,0x00
.byte 0x9d,0x82,0x2d,0x11,0x00
.byte 0xb8,0x80
.byte 0x5a,0xe0
.byte 0x20
.byte 0xab,0x85
.byte 0xab,0x83
.byte 0xab,0x8e
.byte 0xab,0x84
.byte 0x20
.byte 0xa9,0x80
.byte 0xb8,0x81
.byte 0xb8,0x82
.byte 0xa9,0x80
.byte 0x9d,0x81,0x2d,0x13,0x00
.byte 0x9d,0x82,0x2d,0x12,0x00
.byte 0xa9,0x80
.byte 0x9d,0x81,0x2d,0x14,0x00
.byte 0x9d,0x82,0x2d,0x13,0x00
.byte 0xa9,0x80
.byte 0x9d,0x81,0x2d,0x15,0x00
.byte 0x9d,0x82,0x2d,0x14,0x00
.byte 0xa9,0x80
.byte 0x9d,0x81,0x2d,0x16,0x00
.byte 0x9d,0x82,0x2d,0x15,0x00
.byte 0xb9,0x80
.byte 0x1d
.byte 0x9d,0x82,0x2d,0x16,0x00
.byte 0xb9,0x81
.byte 0x1d
.byte 0xb9,0x82
.byte 0x61,0x78,0x07
.byte 0x5c,0xf6,0x00
.byte 0x1d
.byte 0xb2,0x83
.byte 0xae,0x8e
.byte 0x1f
.byte 0xb0,0x85
.byte 0x20
.byte 0x5c,0xf7,0x00
.byte 0x42,0x10
.byte 0x5c,0xf8,0x00
.byte 0x1e
.byte 0xab,0x83
.byte 0xab,0x85
.byte 0xab,0x84
.byte 0xab,0x8e
.byte 0x20
.byte 0xc8,0x87
.byte 0x62,0x1e,0x36,0x03,0x3e,0x03
.byte 0xb9,0x87
.byte 0x41,0x03
.byte 0xb8,0x87
.byte 0x41,0x03
.byte 0x1e
.byte 0x5c,0xf9,0x80
.byte 0xa8,0x84
.byte 0xa8,0x84
.byte 0xa7,0x84
.byte 0x21
.byte 0xb0,0x87
.byte 0x1e
.byte 0x5c,0xfa,0x80
.byte 0x64,0x54,0x03,0x57,0x03
.byte 0xa7,0x83
.byte 0x13
.byte 0xaa,0x83
.byte 0xab,0x83
.byte 0x1e
.byte 0x5c,0xfb,0x80
.byte 0x5,0x80,0xe0
.byte 0x1e
.byte 0xc8,0x87
.byte 0x20
.byte 0xbb,0x87
.byte 0xa7,0x87
.byte 0x20
.byte 0x48,0x93
.byte 0x62,0x1e,0x73,0x03,0x7b,0x03
.byte 0xb9,0x86
.byte 0x41,0x03
.byte 0xb8,0x86
.byte 0x41,0x03
.byte 0x64,0x80,0x03,0x85,0x03
.byte 0x13
.byte 0xa7,0x83
.byte 0xa7,0x84
.byte 0x64,0x8a,0x03,0x8f,0x03
.byte 0x13
.byte 0xa7,0x83
.byte 0xaa,0x84
.byte 0xaa,0x84
.byte 0xab,0x84
.byte 0x5c,0xfc,0x80
.byte 0x1e
.byte 0xb0,0x87
.byte 0x48,0x2d
.byte 0x9d,0x87,0x2d,0x10,0x00
.byte 0x9d,0x86,0x2d,0x10,0x00
.byte 0x41,0x04
.byte 0x9d,0x87,0x2d,0x11,0x00
.byte 0x9d,0x86,0x2d,0x11,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x10,0x00
.byte 0x9d,0x86,0x2d,0x10,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0f,0x00
.byte 0x9d,0x86,0x2d,0x0f,0x00
.byte 0x41,0x04
.byte 0x9d,0x87,0x2d,0x10,0x00
.byte 0x9d,0x86,0x2d,0x10,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0f,0x00
.byte 0x9d,0x86,0x2d,0x0f,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0e,0x00
.byte 0x9d,0x86,0x2d,0x0e,0x00
.byte 0x41,0x04
.byte 0x9d,0x87,0x2d,0x0f,0x00
.byte 0x9d,0x86,0x2d,0x0f,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0e,0x00
.byte 0x9d,0x86,0x2d,0x0e,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0d,0x00
.byte 0x9d,0x86,0x2d,0x0d,0x00
.byte 0x41,0x04
.byte 0x9d,0x87,0x2d,0x0e,0x00
.byte 0x9d,0x86,0x2d,0x0e,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0d,0x00
.byte 0x9d,0x86,0x2d,0x0d,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0c,0x00
.byte 0x9d,0x86,0x2d,0x0c,0x00
.byte 0x41,0x04
.byte 0x9d,0x87,0x2d,0x0d,0x00
.byte 0x9d,0x86,0x2d,0x0d,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0c,0x00
.byte 0x9d,0x86,0x2d,0x0c,0x00
.byte 0x41,0x01
.byte 0x9d,0x87,0x2d,0x0b,0x00
.byte 0x9d,0x86,0x2d,0x0b,0x00
.byte 0xb9,0x87
.byte 0xb9,0x86
.byte 0x1e
.byte 0x5c,0xfd,0x00
.byte 0x1e
.byte 0xed,0x83
.byte 0x1e
.byte 0x5c,0xfe,0x00
.byte 0x20
.byte 0xd9,0x83
.byte 0x20
.byte 0xe0,0x83
.byte 0x42,0x10
.byte 0x9d,0x88,0x2a,0x11,0x00
.byte 0x9d,0x89,0x29,0x13,0x00
.byte 0x9d,0x8a,0x29,0x15,0x00
.byte 0x9d,0x8b,0x30,0x16,0x00
.byte 0x9d,0x8c,0x31,0x14,0x00
.byte 0x9d,0x8d,0x30,0x11,0x00
.byte 0x41,0x04
.byte 0x9d,0x88,0x2a,0x12,0x00
.byte 0x9d,0x89,0x29,0x14,0x00
.byte 0x9d,0x8a,0x2a,0x16,0x00
.byte 0x9d,0x8b,0x2f,0x17,0x00
.byte 0x9d,0x8c,0x31,0x15,0x00
.byte 0x9d,0x8d,0x30,0x12,0x00
.byte 0x41,0x04
.byte 0x9d,0x88,0x2a,0x13,0x00
.byte 0x9d,0x89,0x29,0x15,0x00
.byte 0x9d,0x8a,0x2b,0x17,0x00
.byte 0x9d,0x8c,0x30,0x16,0x00
.byte 0x9d,0x8d,0x30,0x13,0x00
.byte 0x41,0x04
.byte 0x9d,0x88,0x2a,0x14,0x00
.byte 0x9d,0x89,0x2a,0x16,0x00
.byte 0x9d,0x8d,0x30,0x14,0x00
.byte 0x41,0x04
.byte 0x9d,0x88,0x2b,0x15,0x00
.byte 0x9d,0x8d,0x2f,0x15,0x00
.byte 0x1e
.byte 0x48,0x02
.byte 0x5a,0xe0
.byte 0x1e
.byte 0x64,0xf1,0x04,0xf6,0x04
.byte 0x15
.byte 0xa8,0x85
.byte 0xa9,0x84
.byte 0xb2,0x8e
.byte 0x1e
.byte 0xb0,0x83
.byte 0x1e
.byte 0xa9,0x83
.byte 0xa9,0x83
.byte 0x1d
.byte 0xae,0x83
.byte 0x1e
.byte 0x5c,0xff,0x00
.byte 0x1e
.byte 0x64,0x0d,0x05,0x19,0x05
.byte 0xa8,0x88
.byte 0xa8,0x89
.byte 0xa8,0x8a
.byte 0xaa,0x8b
.byte 0xaa,0x8c
.byte 0xaa,0x8d
.byte 0x1e
.byte 0x64,0x1f,0x05,0x2b,0x05
.byte 0xa8,0x88
.byte 0xa8,0x89
.byte 0xa7,0x8a
.byte 0xa7,0x8b
.byte 0xaa,0x8c
.byte 0xaa,0x8d
.byte 0x5a,0xe0
.byte 0xb9,0x88
.byte 0xb9,0x89
.byte 0xb9,0x8a
.byte 0xb9,0x8b
.byte 0xb9,0x8c
.byte 0xb9,0x8d
.byte 0xb0,0x85
.byte 0xb0,0x83
.byte 0xb0,0x8e
.byte 0xb0,0x84
.byte 0x1e
.byte 0x61,0x78,0x07
.byte 0x5c,0x00,0x01
.byte 0x43,0x29
.byte 0x6c
.byte 0x1e
.byte 0xab,0x84
.byte 0xb2,0x85
.byte 0xae,0x8e
.byte 0x20
.byte 0x5c,0x01,0x01
.byte 0x1e
.byte 0xa9,0x8e
.byte 0xa8,0x8e
.byte 0xa8,0x8e
.byte 0xab,0x8e
.byte 0xb0,0x85
.byte 0xb0,0x84
.byte 0x1e
.byte 0x5c,0x02,0x01
.byte 0x1e
.byte 0xdf,0x85
.byte 0xdf,0x84
.byte 0x1d
.byte 0xb0,0x84
.byte 0xb0,0x85
.byte 0x20
.byte 0xae,0x83
.byte 0x41,0x04
.byte 0xab,0x83
.byte 0x1f
.byte 0xa7,0x83
.byte 0xa7,0x83
.byte 0x1f
.byte 0xab,0x84
.byte 0xab,0x85
.byte 0x1e
.byte 0xe0,0x83
.byte 0x22
.byte 0xa7,0x84
.byte 0xa7,0x84
.byte 0x1e
.byte 0x5c,0x03,0x01
.byte 0x20
.byte 0xab,0x83
.byte 0x1e
.byte 0xb0,0x83
.byte 0x20
.byte 0xdf,0x83
.byte 0x1d
.byte 0xb0,0x83
.byte 0x1f
.byte 0x63,0x02,0xa1,0x05,0xa6,0x05
.byte 0x15
.byte 0xa9,0x84
.byte 0xa9,0x83
.byte 0x64,0xab,0x05,0xaf,0x05
.byte 0xa9,0x84
.byte 0xa9,0x83
.byte 0xab,0x84
.byte 0xae,0x83
.byte 0xb2,0x8e
.byte 0xb2,0x85
.byte 0x1e
.byte 0x5c,0x04,0x01
.byte 0x1e
.byte 0xe0,0x84
.byte 0xe1,0x85
.byte 0xe1,0x8e
.byte 0x1d
.byte 0xab,0x84
.byte 0xb2,0x8e
.byte 0xb2,0x85
.byte 0x1e
.byte 0x64,0xcf,0x05,0xd6,0x05
.byte 0x15
.byte 0xa7,0x84
.byte 0xaa,0x85
.byte 0xa7,0x8e
.byte 0xab,0x85
.byte 0xb9,0x84
.byte 0xb9,0x83
.byte 0xaa,0x8e
.byte 0xb9,0x8e
.byte 0xb9,0x85
.byte 0x67
.byte 0x19
.byte 0xe
.byte 0x43,0x08
.byte 0x5b,0x05 ; sets job flag
.byte 0x5b,0x06
.byte 0x5b,0x07
.byte 0x5b,0x0a
.byte 0x5b,0x0d
.byte 0x5b,0x0e
.byte 0x5b,0x18 ; unlocks gladiator early
.byte 0x60,0x4b,0x00
.byte 0x60,0x4c,0x00
.byte 0x60,0x4d,0x00
.byte 0x60,0x4e,0x00
.byte 0x60,0x4f,0x00
.byte 0x60,0x50,0x00
.byte 0x2f,0x17
.byte 0x5f,0x7e,0x00
.byte 0x32,0xfe
.byte 0x57,0x06
.byte 0x77

I was also able to deduce what some event codes do from that event:
Code: [Select]
0x13, 1 - move player up
0x14, 1 - move player right
0x15, 1 - move player down
0x16, 1 - move player left

0x31, 1 - set temporary event flag

0x5c, halfword - show text (byte 1 = text ID, byte 2 = up/down?)

0x72, 3 halfwords - yes/no prompt (text to show(?), yes event ID, no event ID)

0xa7, 1 - move character down
0xa8, 1 - move character right
0xa9, 1 - move character down
0xaa, 1 - move character left
0xab, 1 - face upwards
0xae, 1 - face left
0xb0, 1 - face down
0xb2, 1 - face right

0xb8, 1 - spawn character?
0x83 = lenna
0x85 = bartz
0x8e = galuf
0x84 = faris
0x81 = ?
0x80 = ?
0x82 = ?
0x87 = ?

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Damage overflow glitch
« Reply #95 on: June 11, 2016, 12:35:01 PM »
I just heard about this in the 4JF, so I haven't tried it out. It seems that if you are able to do over 2 Bytes of damage (+65,535) then you overflow the damage check and do whatever the reminder is (so damage have to range between 65536-75534 in order to deal less that the expected 9,999).

This can be possible if your levels are too high (Hero Song or Mix will help) and also deal a ridiculous amount of damage via Sword Dance (Sword Magic may help too). Guess weakening the enemy helps too.
I'm the best in the universe! Just remember! [F-zero X]

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #96 on: June 11, 2016, 10:43:23 PM »
If you buff both your levels and your stats you can easily overflow with the chicken knife because of its multiplier calculations, I've done it during a FJF on the GBA version.

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #97 on: June 12, 2016, 03:58:04 AM »
Quote
then you overflow the damage check and do whatever the reminder is
Does that mean you 'skip' the sanity check of 9999 and you can actually do bigger number like 10000?

I'm asking because in FF7 if you overflow the damage, you kill the mob:
Hers is my 1 hit kills vs Emerald :D
« Last Edit: June 12, 2016, 05:41:37 AM by Squall »

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #98 on: June 12, 2016, 04:41:29 AM »
Quote
Does that mean you 'skip' the sanity check of 9999 and you can actually do bigger number like 10000?
No. If I understand it correctly, it will overflow and start back at 0x0000 plus remainder before the 9999 check. The issue is that it might end up being less than 9999.

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #99 on: June 12, 2016, 10:38:58 AM »
If it works that way then it sux - most of times you will get less dmg :D

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: FF5 Bugs & Glitches
« Reply #100 on: June 12, 2016, 11:02:58 AM »
As Jorgur says, you will end up dealing less than 9999, so you can do anything from 0 to 9998 if damage rolls between 65536 and 75534 (0x10000 to 0x1270E) because the MSB gets ignored as it only uses 2 Bytes.
I'm the best in the universe! Just remember! [F-zero X]

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #101 on: July 18, 2016, 12:16:44 PM »
We have some news here.

It seems this edition fixes the Guido's cave thing:
Code: [Select]
CF/EBFC 2F => EF
If I am understanding well, the tables in CF/EA00-CF/F0BF stores the properties of the tiles in the world map tilesets.
Every tile have 3 bytes of properties. This are the results of my research so far:

Code: [Select]
| Forest    C.Green   Green     L.Mnt     H.mnt     Waterfal  River     Desert    Void      Sea      | Floor UW |
| 4F CF A1  4F 2F 80  4F 2F 80  44 EF 10  40 EF 10  45 EF 20  4E FF 40  4F EF 82  40 F0 83  7C 70 83 | 91 60 00 |
| ---------------------------------------------------------------------------------------------------|----------|
| 0         0         0         0         0         0         0         0         0         0        | 1        | Submarine can emerge ????
| 1         1         1         1         1         1         1         1         1         1        | 0        | Airship can fly over ????
| 0         0         0         0         0         0         0         0         0         1        | 0        | Boat can navigate ????
| 0         0         0         0         0         0         0         0         0         1        | 1        | Submarine can navigate ????
| 1         1         1         0         0         0         1         1         0         1        | 0        | Hiryuu can fly over ????
| 1         1         1         1         0         1         1         1         0         1        | 0        | Black chocobo can fly over ????
| 1         1         1         0         0         0         1         1         0         0        | 0        | Yellow chocobo can walk ????
| 1         1         1         0         0         1         0         1         0         0        | 1        | Main character can walk ????
|                                                                                                    |          |
| 1         0         0         1         1         1         1         1         1         0        | 0        | Airship cannot land
| 1         0         0         1         1         1         1         1         1         1        | 1        | Hiryuu cannot land
| 0         1         1         1         1         1         1         1         1         1        | 1        | Black chocobo cannot land
| 0         0         0         0         0         0         1         0         1         1        | 0        | ????
| 1111      1111      1111      1111      1111      1111      1111      1111      0000      0000     | 0000     | ????
|                                                                                                    |          |
| 1         1         1         0         0         0         0         1         1         1        | 0        | ????
| 0         0         0         0         0         0         1         0         0         0        | 0        | ????
| 1         0         0         0         0         1         0         0         0         0        | 0        | ????
| 0         0         0         1         1         0         0         0         0         0        | 0        | ????
|                                                                                                    |          |
| 0001      0000      0000      0000      0000      0000      0000      0010      0011      0011     | 0000     | Enemy encounter
| ---------------------------------------------------------------------------------------------------|----------|
« Last Edit: July 18, 2016, 12:43:22 PM by noisecross »

LightPhoenix

  • FF5 Hacker
  • *
  • Posts: 130
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #102 on: July 23, 2016, 04:54:10 PM »
Sure. My question is, how are these events stored on the rom? Do we know how to read into or hack them?

I'm a bit late to the party, but I have a little bit of data regarding event scripting (doing basically the same thing as x0_000).  I will have to look through my notes and find them.

noisecross

  • FF5 Hacker
  • *
  • Posts: 146
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #103 on: July 25, 2016, 06:24:30 AM »
I'm a bit late to the party, but I have a little bit of data regarding event scripting (doing basically the same thing as x0_000).  I will have to look through my notes and find them.

Great! Sure it will helps.

LightPhoenix

  • FF5 Hacker
  • *
  • Posts: 130
    • View Profile
Re: FF5 Bugs & Glitches
« Reply #104 on: August 06, 2016, 06:48:12 PM »
I just wanted to post and let you know I haven't forgotten about this.  I know I have some information on this stuff, but I'm struggling to find it.  The only thing I've found thus far is where event parsing is (C0/A248).  I also saw this website (in JP) a while back.  However, I know I've looked into this more, because I know some of the stuff on that website is incorrect or incomplete.  I'm looking for that information, and I'll post on it once I find it.

[EDIT]And in true fashion, right after I posted this I found it.  I zipped everything in the folder, but it's five years old so I'm vouching for anything.  Also enjoy some of the titles for events.
« Last Edit: August 06, 2016, 06:56:58 PM by LightPhoenix »