Aslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&topic=2043.30e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9bee.htmlslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&board=17.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9bee.html.zxEg^`a OKtext/htmlISO-8859-1gzip0|Tue, 10 Mar 2020 20:31:24 GMT0 0PDg^" FFVA research notes and projects

Author Topic: FFVA research notes and projects  (Read 6047 times)

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FFVA research notes and projects
« Reply #30 on: December 17, 2017, 04:41:34 PM »
x0_000, you are probably the only person that I know with extended knowledge on GBA version, and one of the few that know really a lot about it. Please let your work don't sunk as many before us - all their finding, knowledge has been burred with them (after they stop to be active). That's why PLEASE, take some time and write tutorials, or simply write down what you have found addresses, tables, constant,.. with short explanation!

You never know how a tiny bit of info could lead to something bigger. When I started your paragraph of how text is organized helped me so much, that almost everything I show in my Viewer as a text is based on your tiny paragraph ... and that is like hundreds line of code in the Viewer concerning the GBA.

BTW I got crack on fonts for GBA. If you are interested I can share what I have found!

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FFVA research notes and projects
« Reply #31 on: December 21, 2017, 01:49:16 AM »
Well, the problem is that actually converting my notes into something that isn't completely confusing takes some time, especially since a lot of my research deals with actual assembly which requires a lot of notes to explain to someone that's unfamiliar with how FFVA's code works, and a lot of my research is partial so even if I wanted to write documentation there would be a lot of missing holes. So, in the meantime I'm just going to upload my notes in raw format (note that they are very scribbly) and if anyone has questions I'll try to answer them. Also .asm files are just text files, the extension just lets certain text editors like Notepad++ add flourishes that makes the text easier to parse.

https://www.dropbox.com/sh/7rg03umyeilivuf/AAAaQr-aFw-bQqnK6-mdUtMKa?dl=0

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FFVA research notes and projects
« Reply #32 on: December 21, 2017, 03:23:17 PM »
Wooah x0_000, there is so much ... I feel like a boy in a candy shop :D

 :edit:
do you know where this table is (from ffva text - abilities.txt):
Code: [Select]
1 byte per character
00 - space
01 - e
02 - t
03 - a
04 - o
05 - n
06 - s
07 - r
08 - i
09 - h
0a - l
0b - .
0c - d
0d - . (terminator?)
0e - u
0f - m
10 - g
11 - y
12 - c
13 - w
14 - f
15 - p
16 - !
17 - b
18 - :
19 - k
1a - '
1b - ,
1c - v
1d - T
1e - I
1f - S
20 - C
21 - G
22 - W
23 - ?
24 - F
25 - L
26 - -
27 - B
28 - P
29 - M
2a - K
2b - H
2C - A
2D - D
2e - E
2f - R
30 - x
31 - O
32 - Y
33 - N
34 - z
35 - j
36 - q
37 - 1
38 - V
39 - U
3a - 2
3b - X
3c - J
3d - * (?)
3e - "
3f - 0
40 - 3
41 - Z
42 - 4
43 - 5
44 - Q
45 - 6
46 - 8
47 - 7
48 - %
49 - 9
4a - +
4b - ;
4c - /
4e - space
4f - &
50 - (
51 - )
52 - =
53 - .
54 - ..
55 - japanese period
56 - -
57 -
58 -
59 -
5a -
5b -
5c -
5d -
5e -
5f -
60 -
61 -
62 -
63 -
64 -
65 -
66 -
67 -
68 -
69 -
6a -
6b -
6c -
6d -
6e -
6f -
« Last Edit: December 21, 2017, 08:38:32 PM by Squall »

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FFVA research notes and projects
« Reply #33 on: December 22, 2017, 09:25:19 PM »
I didn't get that from a table, when I was figuring out how to edit text I just took a specific text string and changed the characters to get the list.

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FFVA research notes and projects
« Reply #34 on: December 31, 2017, 09:31:45 PM »
I just did some work on !Release related stuff and found a really funny bug so here's a post summarizing it:

So first of all I just added support for weapons to proc !Release; the game already allows !Release (and pretty much every !Action command) but unlike the normal behaviour for release, my added coded doesn't remove the monster from the player. It turns out there is a bug related to implementing this!!!

If you've never used the Necromancer job in FF5A (which makes sense, since you can only use it after beating literally everything the game has) then what you need to know is that it has an ability called !Oath which summons a monster and casts a spell. If this sounds suspiciously like !Release, that's because !Oath is a carbon copy of !Release: It pulls from four possible monsters, and those monsters use their !Release spell. But when I say !Oath is a carbon copy of !Release, what I really mean is...



!Oath has code that tells the game to replace the !Release command with !Catch after it's used, which is copied verbatim from !Release's code.



The only impact this has is that if you have both !Release and !Oath available, and you use !Oath, you will no longer be able to !Release whatever monster you have caught; instead you'll have to catch a new monster if you want to use !Release in the same fight. If you catch a new monster, it will just overwrite the previous monster and then allow you to !Release the new monster. If you finish the fight without catching a new monster, you'll have access to !Release again in the next fight.

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FFVA research notes and projects
« Reply #35 on: January 01, 2018, 04:29:44 AM »
Very interesting, so that mean you will have unlimited !Release (without a need to catch). I wonder is it the same monster or it is different?

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FFVA research notes and projects
« Reply #36 on: January 01, 2018, 10:48:22 PM »
I coded it so that if you don't have a caught monster then !Release can't proc, otherwise you always !Release the caught monster.

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: FFVA research notes and projects
« Reply #37 on: January 15, 2018, 03:45:20 AM »
x0_000, looking trough your notes I hoped to see how the new Damage Formula (for GBA, index >= $80) works, but I found this:
Code: [Select]
0805ce94 - attack type 80 (unused?)
0805b850 - attack type 81 (unused?)
0805ce30 - attack type 82 (unused?)
0805b8dc - attack type 83 (unused?)
0805ba1c - attack type 84 (unused?)
0805bb50 - attack type 85 (unused?)
0805ce2c - attack type 86 (unused?)
0805bf14 - attack type 87 (unused?)
0805bfac - attack type 88 (unused?)
0805c044 - attack type 89 (unused?)
0805c0dc - attack type 8a (unused?)
0805c190 - attack type 8b (unused?)
0805c228 - attack type 8c (unused?)
0805c398 - attack type 8d (unused?)
0805c4ac - attack type 8e (unused?)
0805ce28 - attack type 8f (unused?)

Actually they are used. Only 1 weapon Demon's Rod use $8E, the rest are used by skills. If you open my Viewer on Action tab you might see them all. If you ever decide to delve in this code, please tell me what params they use and their meaning.

Demon's Rod uses 3 params: Param 1 - % hit; Param 2 - % for action (FX); Param 3 - Action index

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: FFVA research notes and projects
« Reply #38 on: January 25, 2018, 11:28:05 PM »
I know what some of the new skills use for Attack Formula:

0x81 = Finisher
0x82 = Predict
0x83 = Condemn
0x84 = Cannoneer: Open Fire
0x85 = Cannoneer: Combine
0x86 = ?
0x87 = Dark Arts: Drain Touch
0x88 = Dark Arts: Evil Mist, Hellwind
0x89 = Dark Arts: Chaos Drive
0x8A = Dark Arts: Deep Freeze
0x8B = Dark Arts: Meltdown
0x8C = Dark Arts: Curse
0x8D = Dark Arts: Doomsday
I'm the best in the universe! Just remember! [F-zero X]

x0_000

  • Siren
  • *
  • Posts: 72
    • View Profile
Re: FFVA research notes and projects
« Reply #39 on: February 23, 2018, 11:33:38 PM »
0x80 is definitely unused (i.e. it's an empty function), dunno about the rest. 0x8f is similarly unused and you can tell by the offsets because it's 4 bytes before 0x86, which would be 2 assembly instructions (and 0x86 is similarly unused.)