øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=printpage;topic=1286.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexe965.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1286.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexe965.html.z x ´qg^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ´ OK text/html ISO-8859-1 gzip 8:Ö ´ ÿÿÿÿÿÿÿÿ Tue, 10 Mar 2020 11:10:03 GMT 0ó° °® 0® P® €§² ð® ³qg^ ÿÿÿÿÿÿÿÿl7 ´
77400-77573 Battle Dialogue Pointers (2 bytes each, reverse and add 0x68200)
77574-781FF Battle Dialogue (separated by 0x00s, max of 24 characters, non-DTE)
7B200-7B275 Battle Message Pointers (2 bytes, reverse and add 0x70200)
7B276-7B5FF Battle Message Text (separated by 0x00s, max of 24 characters, non-DTE)
7B600-7B63F Abnormal Status Text Pointers (2 bytes, reverse and add 0x70200)
7B640-7B6FF Abnormal Status Text Data (separated by 0x00s, max of 8 characters, non-DTE)
80200-805FF Dialogue Bank 1 Pointers (2 bytes, reverse and add 0x80600)
80600-881FF Dialogue Bank 1 Data (each window is terminated by 0x00 and is 26 characters wide)
88200-884FF Dialogue Bank 2 Pointers (2 bytes, reverse and add 0x88500)
88500-901FF Dialogue Bank 2 Data (each window is terminated by 0x00 and is 26 characters wide)
9A700-9A8FF Dialogue Bank 3 Pointers (2 bytes, reverse and add 0x9A900)
9A900-9D3FF Dialogue Bank 3 Data (each window is terminated by 0x00 and is 26 characters wide)
Offset: 9918B
1D 8F 15 BA
01 93 0E 7B
02 84 17 F8
03 8C 05 39
04 9B 17 39
05 9C 16 BA
00================================================
Location Properties (A9E84-AB203) 13 bytes each
================================================
00: Battle/Spell Properties
bits 0-3: Battle Background
0: Grass 8: Magnes/Sealed Cave
1: Forest 9: Desert
2: Mountain A: Beach
3: Castle B: Land of Monsters/Sylphs
4: Cave C: Tower of Zot
5: Moon D: Lunar Subterrane
6: Ship E: Crystal Room
7: Water F: Underground
bit 4: Warp can be cast
bit 5: Exit can be cast
bit 6: Use alternate palette if available (backgrounds 0, 4, 7, 8, B, C)
bit 7: Battles have magnetic effect if event flag E1 is set
01: Map Index
02: Tileset Index
00: Airship 08: Big Whale
01: Lunar Core 09: Land of Monsters/Sylphs
02: Magnes/Sealed Cave 0A: Tower
03: Castle Exterior 0B: Giant
04: Town 0C: Lunar Subterrane
05: House 0D: Mountain
06: Castle Interior 0E: Cave
07: Crystal Room 0F: Ship
03: NPC Placement Index
04: Border Tile Index
bits 0-6: Border Tile Index
bit 7: ?
05: Map Palette Index
06: NPC Palette Index
bits 0-3: NPC Palette Indices 1 & 2
0000: Palettes 01 & 02
0001: Palettes 03 & 04
etc.
bits 4-7: NPC Palette Indices 3 & 4
same as above
07: Music Index
08: Background Index
09: Background Movement
bit 0: Background is transparent when walking under (such as lakes)
bit 1: Vertical Background Relative Movement
bit 2: Horizontal Background Relative Movement
bit 3: ?
bits 4-5: Direction
00: Up
01: Right
10: Down
11: Left
bit 6-7: Speed (Absolute Movement / Relative Movement)
00: None / None
01: Slow / Moves slowly in character's direction
10: Medium / Moves in character's direction
11: Fast / Moves opposite to character's direction
0A: Map Set From Which to Load
01: Load map from Underground/Moon set
80: Load NPCs from Underground/Moon set
0B: Map Name Index
0C: Treasure Contents Index
74500-74741 Probability of Enemy Encounter (byte/FF % chance)
74500-7453F For the Overworld (1 byte per 32x32 tile region)
74540 For the Underground (1 byte for the entire map)
74541 For the Moon (1 byte for the entire map)
74542-74741 For Locations (1 byte per location)
74742-74995 Enemy Encounter Indexes (reference the Enemy Encounter Tables)
74742-74781 For the Overworld (1 byte per 32x32 tile region)
74782-74791 For the Underground (1 byte per 32x32 tile region)
74792-74795 For the Moon (1 byte per 32x32 tile region)
74796-74995 For Locations (1 byte per location)
74996-74A15 Enemy Encounter Table for World Maps (1 byte per enemy set, 8 possible enemy sets per entry)
74A16-74C95 Enemy Encounter Table for Locations (1 byte per enemy set, 8 possible enemy sets per entry)
Location Map Tile Properties are located from A1000 to A1FFF.
Tiles are 2 bytes each, using the following format:
Byte 0:
bit 0: Layer 1
bit 1: Layer 2
bit 2: Same layer on opposite side (Transition or Bridge Layer)
bit 3: ?
bit 4: Closed door tile
bits 5-7: ?
Byte 1:
bits 0-2: ?
bit 3: Bottom half is in front of the character
bit 4: Load previous map at previous location (Location Trigger)
bit 5: ?
bit 6: Enemy encounters possible
bit 7: Check tile’s location in [Location Trigger Data]
data
can i steal that info(and the info posted above), phoenix, along with those text documents you posted a few days ago? i'm going to sit down for a couple hours next weekend and add all the new info i can find to the archive site. i finally got some decent hosting(read: loads of space and bandwidth), too, so it's at rb.thundaga.com (http://rb.thundaga.com) now.Feel free. Once I finish my hack I'm going to clean up all my documentation and make more sense of it. But for now, you can take whatever I post and use it for whatever you want.
Hmm... I noticed in Zyrthofar's beta editor, that in those four bytes there's quite a bit controlled. The location of course, I'm guessing it looks at that other list for Sprite Number, but here it has Walking Event, Event turns when spoken to, Walking Animation, Can Walk Through (1), Can Walk Through (2) and 3 unknown bits. You pointed me towards the NPC Palette, so I don't think that's very important and direction, now I am to guess this is readily available info. if a viewer has it, only problem is, I'm not sure where that info is.Did you check out the NPC Placement document? That has all the information on what the bits of those 4 bytes mean. I'll put it here again (in case anyone doesn't want to download the zip file):
Byte 0: NPC
Byte 1:
bits 0-4: Starting X position
bit 5: ? (permanently deactivates NPC)
bit 6: ?
bit 7: The NPC walks
Byte 2:
bits 0-4: Starting Y position
bit 5: ? (permanently deactivates NPC)
bits 6/7: Characters can walk through the NPC
Byte 3:
bits 0-1: Direction the NPC faces
00: up
01: right
10: down
11: left
bits 2-3: Palette
bit 4: NPC turns when spoken to
bit 5: NPC moves in place even if not walking
bits 6-7: Movement speed
EE034894064A4894034AEE024894014A6E2FEE054814158906131589030B6E4814158901131507134AEE024815090A9106080A9103131415090A9101080A7208134AEE010D0A11120C78A1030110120C7E810108090A11120C78080A178801134A6E0D0A0C810122F501A9012081051011120C8101221012371088010B6E0D12202122768101299C01202122752081012181022E652021012188010B6E0D0C747576017E2E1D9E01607576017420227520A10133767475337510080B6E16057E810321389E0138810374767E747561347E8101350C7E100BEE010D8102212275399E013A20017E81042E61347E81037E010BEE010D2037227576365A9E02602D81027E81012261353381050BEE010D743376367E364F9E021B202181027E2E65757C35207E377E21033FEE01160535B6034F9E0159696A292081022E327C0136747502F5010BEE030DB60421B8010178747564202101221E20A101221E021E18134AEE020DB603661C3A3963362166E4017533291E309C01321801557E080BEE014815367E367D765A9E016433757674642D350C1A9E02188103080B4814150AB602660C015A1E3035810122642081022C1E267C81017E01080B0D098A01B6017D768102551A20012265E401332081011A262081017E01080B0D098A01B60256015456013C1B9C0132306435642081012C30208102100B0D098A0163B6017D017C7D81011A9E03302D742920011A1E302D8101780B0D098A0174633666016336575601551AED01258101746420012C598102033F0D090A12017433760174337C7D0C014F2C1E18810274642D5581030B6E0D11127E0121350C8101356336568101B801810474202181030B6E0D81017E222920810222647C7D0C01393A01547856012264292D8101033F6E1605012265756463216665647C3656012C5901783778226564290304333FEE020D2265760174F502767463B601D7015654362166657674750B6E34EE030D657681076463B60466E5017681020B6E34EE030D768108E40163A10266E5020C8102940135EE030D810974E401A902E502768106EE030D010384040581027464A90265768103038403EE030D730BEE04160405810174F50276810203043FEE0716273FEE0616058107033FEE141684073FEE09009A089507800E242555D604579513800230006B1091036B9A1215800230006B1091036B01800B55D6035715800230006B504C4B4C526B01800B6BE8036B1580023000585669706A5659B10B266BE8036B158002300066CD015ACD0201800A305FB6036B158002300015E8015AE8016701800A305DB6036B1580022C3115B1010DB1090DB1033AB6046B15800415B60255D604570180060EB6046B15800415B6026B3EC1023F6B018006305EB6036B15800415B6026B44ED02456B018006306BB6036B15800415B6026B48D3024A6B018006306BB6036B15800415310D316B50CB02526BB1073A58D6035915800415695A6AD60169706AD60433D6025533D60657800315675A66E8016736CD0533E8026B33E8066B800315675A66E801673666E80433E8026B33E80170E8036B80031580053624A50434A501266B34A50107A502266B018002158005362CAD072E6B39B2053A6B01800215800536800255D6045758D607590180021580053680026BB60137B6016B66E803C30268670180021580053680026B37B602376B66E80615670180021580053680026BB6046B018006158004158005368002585669366A565901800615800415800536800266686736664367018006158004158005B612158004950CB601950B80049A0CB6019A0B80119501801D9A01804D08 10 FF 0C 00That sounds like a really good idea JCE3000GT, I guess I'll start with Misty Cave Redux and "Illusor",
(http://img138.imageshack.us/img138/9608/ff4mistcave.png)
Misty Cave Redux 0x33B BytesCode: [Select]EE034894064A4894034AEE024894014A6E2FEE054814158906131589030B6E4814158901131507134AEE024815090A9106080A9103131415090A9101080A7208134AEE010D0A11120C78A1030110120C7E810108090A11120C78080A178801134A6E0D0A0C810122F501A9012081051011120C8101221012371088010B6E0D12202122768101299C01202122752081012181022E652021012188010B6E0D0C747576017E2E1D9E01607576017420227520A10133767475337510080B6E16057E810321389E0138810374767E747561347E8101350C7E100BEE010D8102212275399E013A20017E81042E61347E81037E010BEE010D2037227576365A9E02602D81027E81012261353381050BEE010D743376367E364F9E021B202181027E2E65757C35207E377E21033FEE01160535B6034F9E0159696A292081022E327C0136747502F5010BEE030DB60421B8010178747564202101221E20A101221E021E18134AEE020DB603661C3A3963362166E4017533291E309C01321801557E080BEE014815367E367D765A9E016433757674642D350C1A9E02188103080B4814150AB602660C015A1E3035810122642081022C1E267C81017E01080B0D098A01B6017D768102551A20012265E401332081011A262081017E01080B0D098A01B60256015456013C1B9C0132306435642081012C30208102100B0D098A0163B6017D017C7D81011A9E03302D742920011A1E302D8101780B0D098A0174633666016336575601551AED01258101746420012C598102033F0D090A12017433760174337C7D0C014F2C1E18810274642D5581030B6E0D11127E0121350C8101356336568101B801810474202181030B6E0D81017E222920810222647C7D0C01393A01547856012264292D8101033F6E1605012265756463216665647C3656012C5901783778226564290304333FEE020D2265760174F502767463B601D7015654362166657674750B6E34EE030D657681076463B60466E5017681020B6E34EE030D768108E40163A10266E5020C8102940135EE030D810974E401A902E502768106EE030D010384040581027464A90265768103038403EE030D730BEE04160405810174F50276810203043FEE0716273FEE0616058107033FEE141684073FEE09
"Illusor" (Tomra) 0x1E9 Bytes
(http://img682.imageshack.us/img682/1020/illusor2.png) (http://img682.imageshack.us/i/illusor2.png/)Code: [Select]009A089507800E242555D604579513800230006B1091036B9A1215800230006B1091036B01800B55D6035715800230006B504C4B4C526B01800B6BE8036B1580023000585669706A5659B10B266BE8036B158002300066CD015ACD0201800A305FB6036B158002300015E8015AE8016701800A305DB6036B1580022C3115B1010DB1090DB1033AB6046B15800415B60255D604570180060EB6046B15800415B6026B3EC1023F6B018006305EB6036B15800415B6026B44ED02456B018006306BB6036B15800415B6026B48D3024A6B018006306BB6036B15800415310D316B50CB02526BB1073A58D6035915800415695A6AD60169706AD60433D6025533D60657800315675A66E8016736CD0533E8026B33E8066B800315675A66E801673666E80433E8026B33E80170E8036B80031580053624A50434A501266B34A50107A502266B018002158005362CAD072E6B39B2053A6B01800215800536800255D6045758D607590180021580053680026BB60137B6016B66E803C30268670180021580053680026B37B602376B66E80615670180021580053680026BB6046B018006158004158005368002585669366A565901800615800415800536800266686736664367018006158004158005B612158004950CB601950B80049A0CB6019A0B80119501801D9A01804D
Definitely more to come.
For the location triggers, there's something I don't understand about the way they call events.
From what I understand from the doc posted by Phoenix, there are five bytes to each location trigger. The first two are the (x, y) co-ordinates of the trigger on the corresponding map. That much is easy enough to understand. Then, if the third byte is FF, it means the trigger is an event call (as opposed to being a chest or a teleporter), and the next byte is the event that will be executed. However, looking at the actual data, it must be more complicated than that.
What I mean is, if for example you look at the trigger in the Mist Village that is supposed to execute the event where the bombring activates, the code is:Code: [Select]08 10 FF 0C 00
I took that to mean "When the player steps on the tile at (8, 16), execute event number 12." However, event number 12 [0C] is the message "Empty."; the bombring event should be event 48 [30].
So I guess what I'm asking is, is there some table somewhere that the "0C" is indexing? And if so where?
Thanks
97460-9765F Event Trigger Pointers (tells which event each FF Location Trigger invokes, reverse and add 0x97660)
97660-9785F Event Trigger Data
======================================================================================
Event Triggers Phoenix Hacks
12/22/09
======================================================================================
Map tile triggers reference event triggers. The pointers for these triggers are
located from 97460 to 9765F. To find where these point, reverse the bytes and
add 0x97660. The event trigger data is located from 97660 to 9785F.
======================================================================================
FFxx = Load event xx
FEaa = If event flag aa is set...
aa = If event flag aa is clear...
Examples:
aaFFxxFFyy = If event flag aa is clear, then load event xx, else load event yy
FEaabbFFxxFEccFFyyFFzz = If event flag aa is set and bb is clear, then load event xx,
else if event flag cc is set, load event yy, else load event zz
The event trigger data, like the NPC speech data, utilizes events numbers 01-03,
which are EE message calls: "Show message [hex data xx following event call] (from bank 2)"
For example, the Old Man wandering in the town of Baron has the following data (at 99EDE-99EEA):
FE 06 FF 03 FE 0B FF 02 FF 01 03 04 05
This translates to:
Data Meaning
-------- ------------------------
FE 06 If event flag 06 is set,
FF 03 load event 03 (i.e. message call EE 02 = message 05 of bank 2)
FE 0B (else) if event flag 0B is set,
FF 02 load event 02 (i.e. message call EE 01 = message 04 of bank 2)
FF 01 (else) load event 01 (i.e. message call EE 00 = message 03 of bank 2)
03 04 05 [Hex data following event call]
======================================================================================
## Offset Pntr Data
-- ------ ---- -----
00 97660 0000 FF 0B
01 97660 0000 FF 0B
02 97662 0200 FF 00
03 97664 0400 FE 0B 09 FF 1A FF 00
04 9766B 0B00 22 FF 14 FF 00
05 97670 1000 04 FF 15 FF 68
06 97675 1500 0B FF 1C FF 1E
07 9767A 1A00 FE 06 FF 00 FF 17
08 97680 2000 08 FE 3F FF 19 28 FF 18 FF 00
09 9768A 2A00 0D FF 27 FF 00
0A 9768F 2F00 0D FF 28 FF 00
0B 97694 3400 0D FF 2F FF 00
0C 97699 3900 0E FF 30 FF 00
0D 9769E 3E00 0F FF 39 FF 00
0E 976A3 4300 13 FF 3C FF 3E
0F 976A8 4800 13 FF 3D FF 00
10 976AD 4D00 14 FF 42 FF 00
11 976B2 5200 27 FF 43 FF 00
12 976B7 5700 12 FF 45 FF 00
13 976BC 5C00 FE 11 15 FF 46 FF 00
14 976C3 6300 16 FF 47 FF 00
15 976C8 6800 1B FF 48 FF 00
16 976CD 6D00 FE 03 FF 00 FF 11
17 976D3 7300 17 FF 31 FF 00
18 976D8 7800 FF 0B
19 976DA 7A00 FE 1B 2C FF 52 FF 00
1A 976E1 8100 FE 1C 1D FF 5F FF 00
1B 976E8 8800 1E FF 60 FF 00
1C 976ED 8D00 1F FF 27 FF 00
1D 976F2 9200 1F FF 28 FF 00
1E 976F7 9700 1F FF 61 FF 00
1F 976FC 9C00 0B FF 62 FF 00
20 97701 A100 FF 65
21 97703 A300 20 FF 63 FF 00
22 97708 A800 FE 06 FF 6B FF 69
23 9770E AE00 FE 06 FF 6C FF 6A
24 97714 B400 24 25 FF 71 FE 23 25 2F FF 72 FF 00
25 97720 C000 57 FF F2 FF 00
26 97725 C500 2A FF 79 FF 00
27 9772A CA00 2F FF 7A FF 00
28 9772F CF00 FE 0C FF 7C FF 00
29 97735 D500 02 FF 51 FF 00
2A 9773A DA00 2D FF 7F FF 00
2B 9773F DF00 FE 2C 18 FF 83 FF 00
2C 97746 E600 31 FE 23 FF 4A FF 00
2D 9774D ED00 0C 26 FE 31 FF 66 0C FE 26 FE 31 FF 8D FF 00
2E 9775C FC00 FE 05 FF 93 FF 00
2F 97762 0201 07 32 FF 8B FF 00
30 97768 0801 FE 3B 3D FF C5 FE 38 3A FF A6 07 FF 8C FF 00
31 97777 1701 FF 8E
32 97779 1901 FF 67
33 9777B 1B01 33 FF 94 FF 00
34 97780 2001 19 FF 95 FF 00
35 97785 2501 FE 19 0A FF 96 FF 00
36 9778C 2C01 0A FF FE FF 00
37 97791 3101 34 FF 9A FF 00
38 97796 3601 FF 9B
39 97798 3801 FF A0
3A 9779A 3A01 53 FF A1 FF 00
3B 9779F 3F01 FF A2
3C 977A1 4101 FE 48 FF F5 FF F4
3D 977A7 4701 FF F6
3E 977A9 4901 FF A5
3F 977AB 4B01 FE 38 39 FF A7 FF 00
40 977B2 5201 3F FF A9 FF 00
41 977B7 5701 FF B0
42 977B9 5901 FF B1
43 977BB 5B01 FF B5
44 977BD 5D01 FF B3
45 977BF 5F01 FF B4
46 977C1 6101 FF B5
47 977C3 6301 FE 40 41 FF AA FF 00
48 977CA 6A01 FE 40 3B FF B6 FF 00
49 977D1 7101 FE 3D 43 FF 9E FF 00
4A 977D8 7801 47 FF D0 FF 00
4B 977DD 7D01 FF 7D
4C 977DF 7F01 FF 7E
4D 977E1 8101 FE 48 FF DD FF DC
4E 977E7 8701 FE 47 48 FF 9D FF 00
4F 977EE 8E01 49 FF ED FF 00
50 977F3 9301 55 FF FC FF 00
51 977F8 9801 FF E6
52 977FA 9A01 FF E4
53 977FC 9C01 FF EB
54 977FE 9E01 FF E8
55 97800 A001 FF E7
56 97802 A201 51 FF 04 FF 00
57 97807 A701 52 FF 05 FF 00
58 9780C AC01 FE 3B FF 00 FF 06
59 97812 B201 50 FF F3 FF 00
5A on 97817 B701 FF