Hi Landon, I wonder if you know where the data of treasures in the game (chest, “!” “?”, hot and cold) are allocated, or if you can give me some tip where to search, because i cannot find it.
I tried to find for example the first chocograph treasure that contains:
Potion x5 (EC)
Hi-Potion x5 (ED)
Tent x2 (FD)
Cotton Robe x2 (A8)
So I tried searchs like:
(EC-ED-FD-A8) (EC 05 ED 05 FD 02 A8 02)
But no luck, searched in my ISO of FF9 US, because don’t know the directory where the data is stored.
Sorry my bad english and thanks in advance.
Treasures data question
Page 1 of 1
#2
04 May 2013 - 01:22 PM
Hi.
I don't know about the US version but there are 6 different offsets where they are defined :
Those are figures from my french version and I didn't investigate it for a long time (they surely are not very accurate).
The data is stored like that for what I know :
StructureA :
StructureB :
So you have a gap between each your objects ID of 16 bytes.
Now that I think about it, "Action Type" may be an opcode (as well as other unknown bytes). The structure is surely not the same for the treasures with the sleeping smoke.
Hope it helped
EDIT : I got myself into that stuff since I posted. The "Action Type" is definitely an opcode ("0x05", which seems to assign values to variables in the memory but has other uses). The "Treasure Position" is absolutely not that but "0x01" is the JUMP opcode so it goes to the next part of the script.
I'm trying to make a list of the opcodes. If you know a place where there are already somes documented, please let me know ^^.
Anyway, you can locate the datas by searching for the sequence "05C8B87D01003F7F" which will return the starting position of the first treasure (which is not the one you talked about : those are the datas of the 2nd treasure). There are 6 points where they are defined but the one relevant (for me) was the 4th one.
I don't know about the US version but there are 6 different offsets where they are defined :
0xA262F2 0xA7B920 0xAAAB4D 0xAE5A04 0xB0C6E0 0x0B33B3A
Those are figures from my french version and I didn't investigate it for a long time (they surely are not very accurate).
The data is stored like that for what I know :
StructureA :
Action Type [1 byte] (give items or sleep choco) Unknown [3 bytes] (usually C8,B8,7D) Chocograph ID [2 bytes] (goes by powers of 2, like a flag) Unknown [2 bytes] (usually 3F,7F) 4*StructureB [16 bytes each] (the items given) Unknown [1 byte] (usually 01) Treasure Position [2 bytes] (not sure about these ones)
StructureB :
Unknown [4 bytes] Object ID [1 byte] Unknown [3 bytes] Action Type? [1 byte] Unknown [3 bytes] Object Quantity [1 byte] Unknown [3 bytes]
So you have a gap between each your objects ID of 16 bytes.
Now that I think about it, "Action Type" may be an opcode (as well as other unknown bytes). The structure is surely not the same for the treasures with the sleeping smoke.
Hope it helped
EDIT : I got myself into that stuff since I posted. The "Action Type" is definitely an opcode ("0x05", which seems to assign values to variables in the memory but has other uses). The "Treasure Position" is absolutely not that but "0x01" is the JUMP opcode so it goes to the next part of the script.
I'm trying to make a list of the opcodes. If you know a place where there are already somes documented, please let me know ^^.
Anyway, you can locate the datas by searching for the sequence "05C8B87D01003F7F" which will return the starting position of the first treasure (which is not the one you talked about : those are the datas of the 2nd treasure). There are 6 points where they are defined but the one relevant (for me) was the 4th one.
#3
13 April 2014 - 06:52 PM
Tirlititi, on 04 May 2013 - 01:22 PM, said:
Hi.
I don't know about the US version but there are 6 different offsets where they are defined :
Those are figures from my french version and I didn't investigate it for a long time (they surely are not very accurate).
The data is stored like that for what I know :
StructureA :
StructureB :
So you have a gap between each your objects ID of 16 bytes.
Now that I think about it, "Action Type" may be an opcode (as well as other unknown bytes). The structure is surely not the same for the treasures with the sleeping smoke.
Hope it helped
EDIT : I got myself into that stuff since I posted. The "Action Type" is definitely an opcode ("0x05", which seems to assign values to variables in the memory but has other uses). The "Treasure Position" is absolutely not that but "0x01" is the JUMP opcode so it goes to the next part of the script.
I'm trying to make a list of the opcodes. If you know a place where there are already somes documented, please let me know ^^.
Anyway, you can locate the datas by searching for the sequence "05C8B87D01003F7F" which will return the starting position of the first treasure (which is not the one you talked about : those are the datas of the 2nd treasure). There are 6 points where they are defined but the one relevant (for me) was the 4th one.
I don't know about the US version but there are 6 different offsets where they are defined :
0xA262F2 0xA7B920 0xAAAB4D 0xAE5A04 0xB0C6E0 0x0B33B3A
Those are figures from my french version and I didn't investigate it for a long time (they surely are not very accurate).
The data is stored like that for what I know :
StructureA :
Action Type [1 byte] (give items or sleep choco) Unknown [3 bytes] (usually C8,B8,7D) Chocograph ID [2 bytes] (goes by powers of 2, like a flag) Unknown [2 bytes] (usually 3F,7F) 4*StructureB [16 bytes each] (the items given) Unknown [1 byte] (usually 01) Treasure Position [2 bytes] (not sure about these ones)
StructureB :
Unknown [4 bytes] Object ID [1 byte] Unknown [3 bytes] Action Type? [1 byte] Unknown [3 bytes] Object Quantity [1 byte] Unknown [3 bytes]
So you have a gap between each your objects ID of 16 bytes.
Now that I think about it, "Action Type" may be an opcode (as well as other unknown bytes). The structure is surely not the same for the treasures with the sleeping smoke.
Hope it helped
EDIT : I got myself into that stuff since I posted. The "Action Type" is definitely an opcode ("0x05", which seems to assign values to variables in the memory but has other uses). The "Treasure Position" is absolutely not that but "0x01" is the JUMP opcode so it goes to the next part of the script.
I'm trying to make a list of the opcodes. If you know a place where there are already somes documented, please let me know ^^.
Anyway, you can locate the datas by searching for the sequence "05C8B87D01003F7F" which will return the starting position of the first treasure (which is not the one you talked about : those are the datas of the 2nd treasure). There are 6 points where they are defined but the one relevant (for me) was the 4th one.
Oh thanks you very much, this is just what i looking for, sorry the delay but i was taking a break from the game, the offsets in the US version seems a little different
A12A90
A66E50
A96080
AD0F30
AD0F80
AF7330
With this im able to change the items and quantity for mod purpose, now left to figure out for data from the ! ? simbols and treasures scattered trough the game, and the shops like the chocobo forest one, also the tool Hades Workshop you made is great, manual hex edit is a pain, thats all for now, thanks again.
Share this topic:
Page 1 of 1