Newbie City Question

8-Ball

First time out of the vault
Hey guys. Long time fan of the Fallout series here, but I've only been poking around and trying to learn to mod F2 for a week or so. I've got many questions, but I'll start with the most pressing:

So I made a test map in the Map Editor. Simple, just a little square area with a house. I then followed Col. Jack's tutorial on adding a map to the game. When I load up a game and go to the worldmap, it has the circle for my map, but it says "Unknown" instead of "Test Town" (which is what I called it in all the files). When I go to the circle and click the triangle, it shows me the vault suit movie, then drops me in my test map, telling me I'm in Arroyo and giving me XP for passing the Temple Of Trials. :shock: And worse than all that, now when I try to open the Map Editor, it gives me the error message "wmAreaInit::Error loading Cities!" :cry: Any help?



EDIT: Should this have gone in the Editor/Map forum? Sorry about that.... :oops:
 
Did you add the town to the worldmap.txt file?

Also the first map has to be Arroyo (it is hard coded in the Fallout2.exe), you could use an exe patcher to overide this or you could just rename your new town to 'Arroyo'
 
Wild_qwerty said:
Did you add the town to the worldmap.txt file?

Also the first map has to be Arroyo (it is hard coded in the Fallout2.exe), you could use an exe patcher to overide this or you could just rename your new town to 'Arroyo'

I wondered if you had to add something to that file, but the tutorial didn't mention it, so I didn't know what to do.

And I loaded a save in which I had already beaten the game, so I'm not starting in Arroyo or anything...
 
8-Ball said:
poking around and trying to learn to mod F2
The FAQ and Topic Index are good places to poke around.

8-Ball said:
So I made a test map <snip> says "Unknown" instead of "Test Town" (which is what I called it in all the files).
Isn't this normal? If nobody has told you about the Den, and you arrive at the green circle, it's labeled as "Unknown" on the worldmap until you visit the town. You can make a town known in a script:

http://modguide.nma-fallout.com/#Scripting023

8-Ball said:
shows me the vault suit movie, then drops me in my test map, telling me I'm in Arroyo and giving me XP for passing the Temple Of Trials. :shock:
The easiest way around this to use FO2LC. It makes a loader that patches the game engine in RAM and then runs it. It allows you to disable movies, enable city limit patch, start with the pipboy, change the player appearance, change the patch dat file, etc. Basically everything you're having trouble with or will probably run into soon. Search for FO2LC here.

8-Ball said:
wmAreaInit::Error loading Cities!
http://modguide.nma-fallout.com/#AreaMap025

The above mentioned patch fixes this, but its easier to use FO2LC and get the other stuff (pipboy, movie disable, etc).
 
dude_obj said:
The FAQ and Topic Index are good places to poke around.

Ah, I have that FAQ bookmarked,as well as a few others. I ought to have checked it before posting. Sorry again.

dude_obj said:
Isn't this normal? If nobody has told you about the Den, and you arrive at the green circle, it's labeled as "Unknown" on the worldmap until you visit the town. You can make a town known in a script:

http://modguide.nma-fallout.com/#Scripting023

I hadn't thought about it that way. I'd just assumed I'd messed up somewhere. But the FAQ answer confuses me a bit, is there any way to make you "just know" where it is, like you would with Arroyo and (I believe) Klamath? I've had some troubles with getting conversations to work properly, but that's a whole other topic...

dude_obj said:
The easiest way around this to use FO2LC. It makes a loader that patches the game engine in RAM and then runs it. It allows you to disable movies, start with the pipboy, change the player appearance, change the patch dat file, etc. Basically everything you're having trouble with. Search for FO2LC here.

Thanks, that fixed it!
 
8-Ball said:
is there any way to make you "just know" where it is, like you would with Arroyo and (I believe) Klamath?

There is this in city.txt for an area configuration:
start_state=On

I think that sets whether the town will be visible, but I'm not sure.
Corpse probably knows.
 
dude_obj said:
There is this in city.txt for an area configuration:
start_state=On

I think that sets whether the town will be visible, but I'm not sure.
Corpse probably knows.

Ack, I meant to say "know what it's called", not "where it is". In any case, the map seems to work fine, but it still shows me the movie and gives me 300 XP when I first visit...
 
8-Ball said:
still shows me the movie and gives me 300 XP when I first visit
As I said: FO2LC is just the ticket:

FO2LC.jpg


Note the handy checkboxes. You probably want all three. And you can start in the vault suit instead of the primitive look. Also note this: map scripts do things like playing movies, example: you walk into arvilliage.map and the map script does: play_gmovie(VSUIT_MOVIE); and give_xp(EXP_ARROYO_TEMPLE);

So in the mapper, open your map and select Scripts -> Show Map Script from the menu. Note the name of the script attached to the map. Find the source code for that script in \mapper2\scripts\maps. You might want to change some of that :wink:
 
dude_obj said:
8-Ball said:
still shows me the movie and gives me 300 XP when I first visit
As I said: FO2LC is just the ticket:

Note the handy checkboxes. You probably want all three. And you can start in the vault suit instead of the primitive look. Also note this: map scripts do things like playing movies, example: you walk into arvilliage.map and the map script does: play_gmovie(VSUIT_MOVIE); and give_xp(EXP_ARROYO_TEMPLE);

So in the mapper, open your map and select Scripts -> Show Map Script from the menu. Note the name of the script attached to the map. Find the source code for that script in \mapper2\scripts\maps. You might want to change some of that :wink:

Yeah, I didn't get FO2LC, I just patched the mapper. I quoted wrong, my bad. Anyway, it turns out my test map was using arvillag.int, which would explain the movie and everything, but shouldn't it NOT run that stuff, since I ran the map once already at the beginning of the game?

I really don't get the INT files, in any case. I don't know anything about hex editing and all the tutorials I've found all just say "edit what you want and then..." rather than explaining how to actually edit the file. What do the SSL files have to do with the INT files?
 
8-Ball said:
Yeah, I didn't get FO2LC
Each of these thing take time to figure out. Patience and persistence is required to mod this game. FO2LC solves several problems at once and is definitely worth figuring out. There is instructions.

8-Ball said:
I quoted wrong, my bad. Anyway, it turns out my test map was using arvillag.int, which would explain the movie and everything, but shouldn't it NOT run that stuff, since I ran the map once already at the beginning of the game?

This was discussed with someone else a few days ago: when you run the mapper and press F8 its always like a new game. No state is saved, so the answer is yes it will run that stuff every time. Only some things work identically to the real game engine.

8-Ball said:
What do the SSL files have to do with the INT files?
SSL is source code, when compiled the script becomes an INT, which is an executable. You can learn a lot in those archives.
 
OK, so I managed to avoid the whole Arroyo problem by having the map use rnddsrt.int., the script for Random Encounters in the desert. Will this cause any unforseen problems, at least for now? At some point I'd like to create a custom script like any town has, of course, but I'm only just learning the basics...
 
8-Ball said:
rnddsrt.int ... Will this cause any unforseen problems

This script does create car on map enter (if player has it), runs the generic lighting, and there is a chance for creation of mysterious stranger if the player has this perk.
 
dude_obj said:
This script does create car on map enter (if player has it), runs the generic lighting, and there is a chance for creation of mysterious stranger if the player has this perk.

Well, yes, but none of that should cause any problems, right? I mean, it doesn't place the car in the same place every time you visit, but it's never placed the car more than a few hexes away from the PC, which is far away from the building.
 
8-Ball said:
it doesn't place the car in the same place every time you visit, but it's never placed the car more than a few hexes away from the PC

The hex that the car will land on is in the script.

if (cur_map_index == MAP_RND_DESERT_1) then begin
Create_Car(CAR_RND_DESERT1_HEX,CAR_RANDOM_DESERT_ELEV)

Note how it checks which map you are on. Those names are defined in \mapper2\scripts\headers.

The maps.h header defines the map numbers, example:
#define MAP_RND_DESERT_1 (0)

The updatmap.h defines the hex where the car will be placed:
#define CAR_RND_DESERT1_HEX (19096)
#define CAR_RANDOM_DESERT_ELEV (0)

This script checks for 13 different maps, desert 1 thriugh 13, and they are all different hexes:

#define CAR_RND_DESERT1_HEX (19096)
#define CAR_RND_DESERT2_HEX (19094)
#define CAR_RND_DESERT3_HEX (18894)
#define CAR_RND_DESERT4_HEX (19718)
#define CAR_RND_DESERT5_HEX (24112)
#define CAR_RND_DESERT6_HEX (18914)
#define CAR_RND_DESERT7_HEX (24525)
#define CAR_RND_DESERT8_HEX (17890)
#define CAR_RND_DESERT9_HEX (22880)
#define CAR_RND_DESERT10_HEX (22880)
#define CAR_RND_DESERT11_HEX (21695)
#define CAR_RND_DESERT12_HEX (21308)
#define CAR_RND_DESERT13_HEX (17896)

It also works for 8 city maps.

So the proper way to do this is decide where the car should be placed, add your own new name like above (defining the hex number), also new map number, and compile the map script.

I think it will work as is as long as your map number is right.
And if you don't care about the car all of this code can just be left out.
 
dude_obj said:
The hex that the car will land on is in the script.

if (cur_map_index == MAP_RND_DESERT_1) then begin
Create_Car(CAR_RND_DESERT1_HEX,CAR_RANDOM_DESERT_ELEV)

Note how it checks which map you are on. Those names are defined in \mapper2\scripts\headers.

The maps.h header defines the map numbers, example:
#define MAP_RND_DESERT_1 (0)

The updatmap.h defines the hex where the car will be placed:
#define CAR_RND_DESERT1_HEX (19096)
#define CAR_RANDOM_DESERT_ELEV (0)

This script checks for 13 different maps, desert 1 thriugh 13, and they are all different hexes:

#define CAR_RND_DESERT1_HEX (19096)
#define CAR_RND_DESERT2_HEX (19094)
#define CAR_RND_DESERT3_HEX (18894)
#define CAR_RND_DESERT4_HEX (19718)
#define CAR_RND_DESERT5_HEX (24112)
#define CAR_RND_DESERT6_HEX (18914)
#define CAR_RND_DESERT7_HEX (24525)
#define CAR_RND_DESERT8_HEX (17890)
#define CAR_RND_DESERT9_HEX (22880)
#define CAR_RND_DESERT10_HEX (22880)
#define CAR_RND_DESERT11_HEX (21695)
#define CAR_RND_DESERT12_HEX (21308)
#define CAR_RND_DESERT13_HEX (17896)

It also works for 8 city maps.

So the proper way to do this is decide where the car should be placed, add your own new name like above (defining the hex number), also new map number, and compile the map script.

I think it will work as is as long as your map number is right. If you don't care about the car all of this code can just be left out.

Well, I've been having trouble compiling scripts. I'm using FSE, and under "Compiler Files Folder", when I point it to Fallout 2 Mapper\scripts, it gives me an error about, "The file system is not suitable for running MS-DOS and Microsoft Windows applications." When I point it to anywhere BUT that folder, it claims "Script compiled successfully!", but I can't seem to find it anywhere. :(
 
First check if you have latest version of FSE (1.5)(link in my post)

This error message looks weird, what OS(operating system) do you use?
 
jargo said:
First check if you have latest version of FSE (1.5)(link in my post)

This error message looks weird, what OS(operating system) do you use?

Yup, I've got the latest version, and I'm running Windows XP.
 
8-Ball said:
I'm using FSE, and under "Compiler Files Folder", when I point it to Fallout 2 Mapper\scripts, it gives me an error about, "The file system is not suitable for running MS-DOS and Microsoft Windows applications."

Wait .... The "Compiler Files Folder" configuration should point to the \FSE\binary directory (browse to your FSE install location and select the binary subdirectory). This tells FSE where the compiler (dos4gw.exe/compile.exe) files are.

Example FSE Configuration:

Fallout config file
C:\Fallout2\Fallout2.cfg

Header Files Folder
C:\Mapper2\Scripts\Headers

Compiler Files Folder
C:\FSE\binary

Precompiler Binary File
C:\FSE\binary\wcc386.exe

Substitute the directory names for where you have Fallout2, Mapper, and FSE Installed.

Question for Jargo: Isn't there a different version of the Precompiler (watcom) for NT/Win2k/WinXP versus Win95/98? How does FSE know which version to use? Or am I wrong about this?
 
dude_obj said:
Wait .... The "Compiler Files Folder" configuration should point to the \FSE\binary directory (browse to your FSE install location and select the binary subdirectory). This tells FSE where the compiler (dos4gw.exe/compile.exe) files are.

Example FSE Configuration:

Fallout config file
C:\Fallout2\Fallout2.cfg

Header Files Folder
C:\Mapper2\Scripts\Headers

Compiler Files Folder
C:\FSE\binary

Precompiler Binary File
C:\FSE\binary\wcc386.exe

Substitute the directory names for where you have Fallout2, Mapper, and FSE Installed.

FSE doesn't have a "\binary" folder. And dos4gw.exe and compiler.exe are in Fallout 2 Mapper\scripts, which I suppose is why, when I pushed Auto-Detect for Compiler Files Folder, it pointed to that.
 
8-Ball said:
FSE doesn't have a "\binary" folder.

The new version does. I don't think you're using the latest.

8-Ball said:
dos4gw.exe and compiler.exe are in Fallout 2 Mapper\scripts

The latest version (1.5a) of FSE includes those files plus the watcom preprocessor. Are you sure you have the latest?

http://fmc.prv.pl/tools/FSE 1.5a setup.exe

I just uninstalled and reinstalled the version above to be sure. It defaults to using the \FSE\binary directory for compiler. It includes the compile.exe and dos4gw.exe (which also comes with the mapper). It also includes the watcom preprocessor (the wcc* files).

BTW if you were using an older version of FSE and did not have watcom installed, then it's no wonder the compiling didn't work. This is needed to merge the script header files into the source before compiling. But now with FSE 1.5a you don't need to worry about watcom or the mapper compiler files.

I suggest that you uninstall FSE, reinstall 1.5a, don't choose the autodetect folder. Leave the two bottom configurations as the default value (compiler and precompiler files). Browse to your fallout2.cfg and to \mapper2\scripts\headers for the top two configurations.
 
Back
Top