øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1220.0;prev_next=nexte:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index839c.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1220.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index839c.html.zxqg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ…¬ÔYOKtext/htmlISO-8859-1gzip@øÕÔYÿÿÿÿÿÿÿÿTue, 10 Mar 2020 11:07:06 GMT0ó°° ®0®P®€§²ð®qg^ÿÿÿÿÿÿÿÿã2ÔY Custom Map Making (Courtesy of FF4 Tools v1.1)

Author Topic: Custom Map Making (Courtesy of FF4 Tools v1.1)  (Read 13562 times)

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #15 on: December 20, 2009, 07:58:07 PM »
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 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):

Code: [Select]
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

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #16 on: December 20, 2009, 09:02:34 PM »
Oh curse my blind eyes...! Sorry about that, I had thought only two files came with the zip, which were NPCs and Triggers, I didn't notice the NPC Placement document until just now... sorry about that Thank you for putting up with this, heh, it must be quite frustrating when you give the information yet people still ask about it, I should have been more observant.

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #17 on: December 20, 2009, 11:04:29 PM »
Suggestion.  Someone should archive (maybe me) custom map codes for FF4tools.  So we all can combine our editing talents and custom maps. 

I'd be happy to host a section on www.jce3000gt.com

bond697

  • FF4 Archivist
  • *
  • Posts: 624
  • Gender: Male
  • is NOT a spoony bard!
    • View Profile
    • The FF4 Reference Book
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #18 on: December 20, 2009, 11:14:27 PM »
sorry, custom map codes?

i'll gladly add those in to what i already have, but what are they?


:edit:

oh, you mean the sets of hex data from ff4 tools when you create a map?

:edit: 2
once i add all the new data, the reference book really needs a design overhaul.   just saying.  the only thing that looks good is the favicon and ff4 final battle "theme" that dkk made. 
« Last Edit: December 20, 2009, 11:28:04 PM by bond697 »
The FF4 Reference Book - Now with new hosting!

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #19 on: December 21, 2009, 12:20:08 AM »
Yes, the hex dumps is what I was referring to.  I need the hex dump, offset address and a full picture of the map so I can make sure the archive is detailed as possible. 

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #20 on: December 21, 2009, 12:24:11 AM »
That sounds like a really good idea JCE3000GT, I guess I'll start with Misty Cave Redux and "Illusor",


Misty Cave Redux 0x33B Bytes
Code: [Select]
EE034894064A4894034AEE024894014A6E2FEE054814158906131589030B6E4814158901131507134AEE024815090A9106080A9103131415090A9101080A7208134AEE010D0A11120C78A1030110120C7E810108090A11120C78080A178801134A6E0D0A0C810122F501A9012081051011120C8101221012371088010B6E0D12202122768101299C01202122752081012181022E652021012188010B6E0D0C747576017E2E1D9E01607576017420227520A10133767475337510080B6E16057E810321389E0138810374767E747561347E8101350C7E100BEE010D8102212275399E013A20017E81042E61347E81037E010BEE010D2037227576365A9E02602D81027E81012261353381050BEE010D743376367E364F9E021B202181027E2E65757C35207E377E21033FEE01160535B6034F9E0159696A292081022E327C0136747502F5010BEE030DB60421B8010178747564202101221E20A101221E021E18134AEE020DB603661C3A3963362166E4017533291E309C01321801557E080BEE014815367E367D765A9E016433757674642D350C1A9E02188103080B4814150AB602660C015A1E3035810122642081022C1E267C81017E01080B0D098A01B6017D768102551A20012265E401332081011A262081017E01080B0D098A01B60256015456013C1B9C0132306435642081012C30208102100B0D098A0163B6017D017C7D81011A9E03302D742920011A1E302D8101780B0D098A0174633666016336575601551AED01258101746420012C598102033F0D090A12017433760174337C7D0C014F2C1E18810274642D5581030B6E0D11127E0121350C8101356336568101B801810474202181030B6E0D81017E222920810222647C7D0C01393A01547856012264292D8101033F6E1605012265756463216665647C3656012C5901783778226564290304333FEE020D2265760174F502767463B601D7015654362166657674750B6E34EE030D657681076463B60466E5017681020B6E34EE030D768108E40163A10266E5020C8102940135EE030D810974E401A902E502768106EE030D010384040581027464A90265768103038403EE030D730BEE04160405810174F50276810203043FEE0716273FEE0616058107033FEE141684073FEE09

"Illusor" (Tomra) 0x1E9 Bytes



Code: [Select]
009A089507800E242555D604579513800230006B1091036B9A1215800230006B1091036B01800B55D6035715800230006B504C4B4C526B01800B6BE8036B1580023000585669706A5659B10B266BE8036B158002300066CD015ACD0201800A305FB6036B158002300015E8015AE8016701800A305DB6036B1580022C3115B1010DB1090DB1033AB6046B15800415B60255D604570180060EB6046B15800415B6026B3EC1023F6B018006305EB6036B15800415B6026B44ED02456B018006306BB6036B15800415B6026B48D3024A6B018006306BB6036B15800415310D316B50CB02526BB1073A58D6035915800415695A6AD60169706AD60433D6025533D60657800315675A66E8016736CD0533E8026B33E8066B800315675A66E801673666E80433E8026B33E80170E8036B80031580053624A50434A501266B34A50107A502266B018002158005362CAD072E6B39B2053A6B01800215800536800255D6045758D607590180021580053680026BB60137B6016B66E803C30268670180021580053680026B37B602376B66E80615670180021580053680026BB6046B018006158004158005368002585669366A565901800615800415800536800266686736664367018006158004158005B612158004950CB601950B80049A0CB6019A0B80119501801D9A01804D
Definitely more to come.
« Last Edit: December 21, 2009, 12:41:33 AM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #21 on: December 21, 2009, 05:08:45 PM »
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
Let's dance!

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #22 on: December 21, 2009, 06:23:44 PM »
That sounds like a really good idea JCE3000GT, I guess I'll start with Misty Cave Redux and "Illusor",


Misty Cave Redux 0x33B Bytes
Code: [Select]
EE034894064A4894034AEE024894014A6E2FEE054814158906131589030B6E4814158901131507134AEE024815090A9106080A9103131415090A9101080A7208134AEE010D0A11120C78A1030110120C7E810108090A11120C78080A178801134A6E0D0A0C810122F501A9012081051011120C8101221012371088010B6E0D12202122768101299C01202122752081012181022E652021012188010B6E0D0C747576017E2E1D9E01607576017420227520A10133767475337510080B6E16057E810321389E0138810374767E747561347E8101350C7E100BEE010D8102212275399E013A20017E81042E61347E81037E010BEE010D2037227576365A9E02602D81027E81012261353381050BEE010D743376367E364F9E021B202181027E2E65757C35207E377E21033FEE01160535B6034F9E0159696A292081022E327C0136747502F5010BEE030DB60421B8010178747564202101221E20A101221E021E18134AEE020DB603661C3A3963362166E4017533291E309C01321801557E080BEE014815367E367D765A9E016433757674642D350C1A9E02188103080B4814150AB602660C015A1E3035810122642081022C1E267C81017E01080B0D098A01B6017D768102551A20012265E401332081011A262081017E01080B0D098A01B60256015456013C1B9C0132306435642081012C30208102100B0D098A0163B6017D017C7D81011A9E03302D742920011A1E302D8101780B0D098A0174633666016336575601551AED01258101746420012C598102033F0D090A12017433760174337C7D0C014F2C1E18810274642D5581030B6E0D11127E0121350C8101356336568101B801810474202181030B6E0D81017E222920810222647C7D0C01393A01547856012264292D8101033F6E1605012265756463216665647C3656012C5901783778226564290304333FEE020D2265760174F502767463B601D7015654362166657674750B6E34EE030D657681076463B60466E5017681020B6E34EE030D768108E40163A10266E5020C8102940135EE030D810974E401A902E502768106EE030D010384040581027464A90265768103038403EE030D730BEE04160405810174F50276810203043FEE0716273FEE0616058107033FEE141684073FEE09

"Illusor" (Tomra) 0x1E9 Bytes



Code: [Select]
009A089507800E242555D604579513800230006B1091036B9A1215800230006B1091036B01800B55D6035715800230006B504C4B4C526B01800B6BE8036B1580023000585669706A5659B10B266BE8036B158002300066CD015ACD0201800A305FB6036B158002300015E8015AE8016701800A305DB6036B1580022C3115B1010DB1090DB1033AB6046B15800415B60255D604570180060EB6046B15800415B6026B3EC1023F6B018006305EB6036B15800415B6026B44ED02456B018006306BB6036B15800415B6026B48D3024A6B018006306BB6036B15800415310D316B50CB02526BB1073A58D6035915800415695A6AD60169706AD60433D6025533D60657800315675A66E8016736CD0533E8026B33E8066B800315675A66E801673666E80433E8026B33E80170E8036B80031580053624A50434A501266B34A50107A502266B018002158005362CAD072E6B39B2053A6B01800215800536800255D6045758D607590180021580053680026BB60137B6016B66E803C30268670180021580053680026B37B602376B66E80615670180021580053680026BB6046B018006158004158005368002585669366A565901800615800415800536800266686736664367018006158004158005B612158004950CB601950B80049A0CB6019A0B80119501801D9A01804D
Definitely more to come.

Awsome but can you submit the pics of the maps with just the maps and no borders/scrollbars and files sizes less than 100kb per file?  Those PNGs are huge. 

I'm coding the page for it now.  :)

http://www.jce3000gt.com/ff4_maps.php
« Last Edit: December 21, 2009, 06:41:20 PM by JCE3000GT »

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #23 on: December 21, 2009, 10:47:02 PM »
Sorry about not responding until now, I've been busy with less than fruitful pursuits... (I'll post on that momentarily), though yes, I was able to get one to roughly 46kb, but the other I can't seem to get below 102 kb, is that acceptable?

http://img704.imageshack.us/i/mistcave.png/

http://img69.imageshack.us/i/illusor2.png/

Also you might want to copy them for yourself and upload them through that, since Imageshack is hardly a permanant place to store pictures.

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #24 on: December 21, 2009, 11:13:23 PM »
Images fixed.  THX

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #25 on: December 22, 2009, 10:04:17 AM »
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

Sorry, another piece of information I forgot!

Code: [Select]
97460-9765F Event Trigger Pointers (tells which event each FF Location Trigger invokes, reverse and add 0x97660)
97660-9785F Event Trigger Data

The event trigger data is formatted like the NPC speech data. So basically, that "FF 0C" points to event trigger 0C, which has a series of conditionals and event calls (or just one event call, depending). My event trigger document isn't very long, so I'll just post it here (it has all the data broken down by line, which is useful):

Code: [Select]
======================================================================================
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

Now, that should be all the information you need to edit maps! Sorry I keep forgetting things, I do it without thinking now so I forgot all the steps and how involved it was.
 :tongue:

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Custom Map Making (Courtesy of FF4 Tools v1.1)
« Reply #26 on: April 12, 2010, 06:07:02 PM »
Anyone use this in Chrome?