Miscellaneous Forums > Scripting and Reverse Engineering

FF7 World/Field Map Scripts and Encounters

(1/12) > >>

codemann8:
This was meant to be a PM to DLPB, but it seems he has PMs disabled.

I noticed a couple forums he was involved in (ha, I know that narrows it down, right?) involving world map data, so I'm guessing he the's the right person to ask.

So, I'm working on a project that will take a walkthrough and split it into small sections (as it's kinda already done, by different parts of the story) but will basically attach all the field map IDs associated with that part of the walkthru and then display all the enemies that can be encountered during that specific portion.  All that is great, but things get a bit trickier when involving the world map.  Basically for field maps, I have a "map of maps", linking all the maps to the ones that can be accessed from (by walking off the screen to another).  I want to extend this to how field maps will transfer you to the world map (and vice-versa) and also how areas of the world map lead to other areas (ie. walking from Midgar Area Dirt to Midgar Area Grass) and continue my map of maps so it includes world map areas.  Another complication is the restrictive nature of some areas, like areas only the buggy can penetrate, but I want to consider those scenarios as my walkthru project will consider GameMoment to determine things like if you have the Buggy or Highwind (can jump from Grass to Grass areas) or Gold Chocobo is possible (after you have Tifa as your main party member, then can jump from any world encounter area to any other, although to cut down on the verbose-ness of the possible enemies you can encounter, it will only show the new ones you couldn't encounter prior).  Hopefully you're catching my drift.

A foreword tho: I know that there's a world_us.lgp file for PC, but I do not have this file.  I'm working with original PSX files, so if you know where to look there, that would help.

In a nutshell, I'm missing 2 things:
1) Where world map encounter rates/battle IDs are stored on PSX (I'm surprised none of this is on the Wiki, not even the world_us.lgp structure)
2) Where the scripting is located for world map areas, similar to how field maps have scripts to jump to another map when crossing a walkmesh threshold, I assume the world map has similar scripts to change the encounter rates at the point of crossing a threshold.

Hopefully someone can help point me in the right direction. As long as I know I should be working with a specific file, I should be good to get started, I am quite good as analyzing binary data structures.  Problem is, I'm spending so much time deciphering files just to realize it's not the right file.

DLPB_:
I'm not actually well up on the world map module and definitely not on PSX.

I can answer your second question - but only for PC.  On PC, the scripting is in world_us in the .ev files.  There are 3.  One for snowfield, one for overworld, one for underworld (submarine).

The calls to create the windows are there - but the text is in a file called "mes"

As to where the PSX files are - I haven't a clue.  Your best bet is Green_Goblin, who ported my translation project to the PSX.

The world map module is by far the least understood... and you're right that it's strange.

codemann8:
I did read that wm0 is the overworld, wm1 is underworld, wm2 is the snowfield, however, in the FIELD folder, there are 64 WMx.DAT files (where x is replaced by a number 0-63) and all 64 files have identical contents, seems wasteful to me but also serves to stump me as to what's actually in there. But it's also not the same structure as the other field maps, so it still remains a mystery to me. There's also a WORLD folder which probably is where I'm supposed to be looking.

I do know that the lgp files made for the PC are simply repackaged archives that contain what would show up as multiple files under PSX. Perhaps if I knew more about all the things that CAN be found and what's still a mystery within world_us.lgp, perhaps that could help.

I will also definitely reach out to green_goblin as well.

DynamixDJ:
If you do manage to discover where the WM formation data is stored in the PSX file, then try also to find the Yuffie Encounters. They've always alluded me, and I've had to resort to TFerguson's FAQS for that info.

Anyway, field map IDs 1 ~ 64 are all shortcut-jumps to various places on the World Map. Using a placeholder ID for the World Maps as a Field Map means that the devs could easily assign a Field Map ID as the jump, without having to input the x,y,&z coordinates for the WM each time.

01 - WM0 - Midgar Southern Entrance
02 - WM1 - Kalm Entrance
03 - WM2 - Chocobo Ranch Entrance
04 - WM3 - Mythril Mine Entrance Swamp Side
05 - WM4 - Mythril Mine Entrance Junon Side
06 - WM5 - Fort Condor Entrance
07 - WM6 - Junon Entrance
08 - WM7 - Temple of The Ancients Entrance
09 - WM8 - Sleeping Man's Cave Entrance
10 - WM9 - Blacksmith's House Entrance
11 - WM10 - Mideel Entrance
12 - WM11 - Mideel Materia Cave Entrance
13 - WM12 - Costa Del Sol Entrance
14 - WM13 - Mt. Corel Entrance
15 - WM14 - North Corel Entrance
16 - WM15 - Corel Prison Entrance
17 - WM16 - Gongaga Entrance
18 - WM17 - Cosmo Canyon Entrance
19 - WM18 - Nibelheim Southern Entrance
20 - WM19 - Rocket Town Entrance
21 - WM20 - Lucrecia's Waterfall Entrance
22 - WM21 - North Corel Materia Cave Entrance
23 - WM22 - Wutai Entrance
24 - WM23 - Wutai Materia Cave Entrance
25 - WM24 - Bone Village Entrance
26 - WM25 - Corral Valley Entrance Snow Side
27 - WM26 - Icicle Inn Entrance Southern Side
28 - WM27 - Chocobo Sage's House Entrance
29 - WM28 - Round Island Materia Cave Entrance
30 - WM29 - Underwater (Last Coordinates)
31 - WM30 - Underwater Gelnika Entrance
32 - WM31 - Last World Map Coordinates
33 - WM32 - Last World Map Coordinates
34 - WM33 - Last World Map Coordinates
35 - WM34 - Last World Map Coordinates
36 - WM35 - Junon Ship Leaving Junon (Main Event)
37 - WM36 - Junon Ship Arriving at Costa Del Sol
38 - WM37 - Junon Ship Leaving Junon
39 - WM38 - Junon Ship Leaving Costa Del Sol
40 - WM39 - Wutai Shores
41 - WM40 - Highwind Outside Junon (After Escape)
42 - WM41 - Underwater By Junon's Reactor (After Mission)
43 - WM42 - Nibelheim Northern Entrance
44 - WM43 - Mt. Nibel Entrance Nibelheim Side
45 - WM44 - Last World Map Coordinates
46 - WM45 - Mt. Nibel Entrance Rocket Town Side
47 - WM46 - Icicle Inn Entrance Northern Side
48 - WM47 - Great Glacier Entrance
49 - WM48 - Rocket Town North of Entrance
50 - WM49 - Last World Map Coordinates
51 - WM50 - Diamond Weapon Surfaces (Event)
52 - WM51 - Last World Map Coordinates
53 - WM52 - Last World Map Coordinates
54 - WM53 - Highwind Outside Junon
55 - WM54 - Ancient Forest Entrance
56 - WM55 - Underwater (Last Coordinates)
57 - WM56 - Corral Valley Entrance Ravine Side
58 - WM57 - Forgotten Capitol Entrance
59 - WM58 - Highwind Over North Crater
60 - WM59 - Icicle Area Snowstorm Northern Entrance
61 - WM60 - Icicle Area Snowstorm Eastern Entrance
62 - WM61 - Icicle Area Snowstorm Southern Entrance
63 - WM62 - Icicle Area Snowstorm Western Entrance
64 - WM63 - Icicle Area Snowstorm Cavern Entrance

codemann8:
I believe all Yuffie encounters are hardcoded into scripts, versus defined in all the other fixed encounter data, but I have yet to find it, this is among the things I'm definitely looking for.

Very interesting about the WM fields, that makes perfect sense, and thank you, that info will help me reverse engineer this.  I do still wonder why they needed to have all 64 DAT files in the directory, when they are all the same, probably just a lazy approach.  But now it makes me all that more curious as to what's actually in those DATs.

You wouldn't happen to know where those corresponding x,y,z values are stored, do you? My first guess is within those DATS and then the scripts also in the DAT to transport you to the xyz location.

Navigation

[0] Message Index

[#] Next page

Go to full version