No Mutants Allowed
We were here before the fall...

NMA Home - NMA Forum - NMA Files




Q. What tools are available for making Fallout mods?


Q. Is it legal to distribute fallout mods?

    Yes, it is legal. But it is not legal to distribute the fallout engine or any other original files with your mod.
    Answer by de dood. (more details)

    Note: Technically is not legal, but accepted unofficially by Interplay. See responses from Interplay on this issue here. You can find the same "official word" in the Fallout Bible. The Fallout Bible says this: Basically, you can use Fallout if you're willing to take the intellectual property risks. This isn't a "no" or an official "yes", just a "if you want to do this, you'll be proceeding at your own risk". I wish we could just come out and say, "sure," but we don't have the time for contracts. In my opinion, as long as you hold true to the Fallout license, make sure there's no money involved, and don't claim its an Interplay-sponsored or official thing, you should be fine.
    Answer by dude_obj.


Q. How do I use modrunner?

    1) Copy modrunner and mod to main fallout2 directory (wherever fallout2.exe resides)
    2) Run modrunner
    3) Select mod.dat file and click run

    Patch 1.02 must be in main fallout dir.


    Answer by jargo. (more details)


Q. How do I use the Fallout Virtual Patcher (fvp)?

    Put FVP.EXE and FVP.INI in main Fallout 2 directory and run FVP.EXE
    How to add new patch? Edit FVP.INI file. This is normal ini file with 3 standard sections:

      [US] - Pathes for US version 1.02d
      [UK] - Patches for UK version 1.02e
      [GR] - Patches for GR/FR version

    FVP will check size of Fallout.exe file and red patching data from coresponding section. You can add new section for another version. New section name should be Fallou2.exe file size in bytes (Dec) like this: [1119213]

    Patching data syntax:

      name=address:length:data
      name - just a name for you patch
      address - Vitrual address (Hex)
      length - Length of data in bytes(Dec)
      data - patch data(Hex)

    Example: pipboy= 4971C1:1: EB With this patch one(1) byte at offset 4971C1 wil have value EB (235)
    Answer by Jargo. (more details)


Q. What file specifies item names and descriptions?


Q. How can I change the name that is displayed when examining a critter?

    To edit the name that appears when you hover/examine, you have to edit the approriate line in the proper .MSG file in /text/*/dialog/ (for example, ccdrill.msg). To alter the name field (As displayed in the Edit window in the Editor), alter the appropriate line in \text\english\game\scrname.msg corresponding to the script file for that critter. (for example {818} for the Drill Seargant [CCDrill.int]).
    Answer by Temaperacl. (more details)


Q. How do I add new dialog?


Q. How can I give the player a pipboy at the start of the game?

    There is an executable mod that will:

    • Give the player a pipboy at the start of the game
    • Change the character's appearance to the vault13 suit
    • Enable the city patch (allows you to have more, or less, than 49 cities in the game)

    To use the mod, just run the executable in the FO2 directory, it will launch and patch the game in memory (the original fallout2.exe will not be changed). Answer by Wild_qwerty. (more details)


Q. How do I make new quests show up in the pipboy?

    The quests are in quests.txt, and set the global variable to check, the value needed to be in that variable for the quest to be listed in the pip-boy, and the value in that variable for that quest to be listed as done in that variable. Example:

      # Kill the Evil Plants
      # Arroyo, GVAR_KILL_EVIL_PLANTS, Quest_Accepted, Quest_Completed
      1500, 100, 9, 2, 6

    1500 is the line number from map.msg that describes the town.
    100 is the line number in quest.msg for the description of the quest.
    9 is the global variable to look for which can be found in the global.h file (in this case GVAR_KILL_EVIL_PLANTS).
    2 is the value the global variable needs to be for the quest to show up in the pip-boy.
    6 is the value the global variable needs to be for the he quest to show up as DONE in the pip-boy.

    It ignores anything after the # (these are comment lines). The display and done numbers are actually thresholds (the value must be at least that) so you could set a quest to kill 10 mutants in an area, then increase the global variable by 1 every time you kill one and after you kill 10 the quest would register as done.
    Answer by ColJack. (more details)


Q. How can I change the frequency of random encounters?

    Edit worldmap.txt and increase the percentage for each instance of the type of encounter you want to increase in each of the encounter tables.
    Answer by ColJack. (more details)


Q. How I can I add new random encounters?


Q. How can experience points for killing critters be changed?

    Edit the points in the header file and then re-compile ALL of the scripts to include this change. Basically, each critter or object has a script, and the points are awarded from those individual scripts, so you have to change all of the relevent scripts.
    Answer by ColJack. (more details)


Q. Where is the code for NPCs leveling up?

    You can edit leveling in party.txt
      level_minimum=6
      level_up_every=4
      level_pids=16777541,16777542,16777543,16777544

    The last line show prototypes for this character in all levels:
      1) 16777541
      2) 16777542
      3) 16777543
      4) 16777544

    Answer by jargo. (more details)

    You can find a list of these PID numbers in CRITRPID.H in the scripts\headers directory of the official mapper.
    Answer by red. (more details)


Q. Is there a way to remove the limit on maximum number of party members?

    The limit is programmed in the NPC scripts, look for a line like this:

      if (((((metarule(16, 0) - 1) >= (floor(get_critter_stat(dude_obj(), 3) / 2) + has_trait(0, dude_obj(), 98))) or
      ((metarule(16, 0) - 1) >= 5)) == 0) and ((party_member_obj(16777313) != 0) == 0)) then

    And remove the if from the statement (and tweak other stuff so the dialgos work out).
    Answer by red.

    Thanks Red, that did it. I tried removing the entire statement as you suggested but it gave me problems with some scripts when I tried to recompile them, then instead of removing the statement I shortened it to:

      if (((op_metarule(16, 0) - 1) >= 12)) then

    And now I am able to take every recruitable NPC (with the exception of Davin) in my party at once.
    Answer by Corpse. (more details)


Q. Can Frank Horrigan be made into an NPC party member?

    You do not need to and cannot make horrigan into an NPC. He has a number and the scripts refference him by that number. You CAN however, make one of the existing NPCs LOOK like horrigan, for example Vic. You need to edit all 4-6 versions of that NPC (there is a different critter for each "level" of an NPC, with improved stats and skills for when they go up a level with the player).
    Answer by ColJack. (more details)


Q. How do I make the pla character start with the vault suit?


Q. How can I change the appearance of the player character?

    You can change the appearance of the player character as follows:

    • Backup your fallout2.exe
    • Get youself a hex editor
    • Find the text string "hmwarr" in fallout2.exe
    • Change the text string to some other critter
    • Save and run the fallout2

    And now the bad news: Some critters doesn't have run or secondary attack, and wielding weapons didn't work.
    Answer by platon. (more details)

    Note: Although you can change tthe player character to look like any critter, the player is then limited by the critter chosen. For example, dogs cannot use guns, and and the frank horrigan model can only use large guns and knives. There are limitations in the sprites that display various weapons and actions. This is why there is no "proper" way to show party members in their armor, there are no sprites of "Vic wearing combat armor" for example.
    Answer by dude_obj.


Q. How do I create traders that barter items?

    You put a container off the screen and fill it with items, then assign a script to replenish the stock over a period of time. Then you give the "trader" a script that deals with the dialog, and when you pick the trading option, it swaps out the items in the character's personal inventory and replaces them with the items from the off screen container. The trader should have its "can trade with" flag set to yes.
    Answer by ColJack. (more details)


Q. How can I use the animated monitor from the fallout 1 cathedral?

    There is a blank "unused art" space next to the existing monitor that is where the other monitor is supposed to go (in fact there is a .frm file named the same as the original monitor which contains the "unused art" art). Replace the file with the original. It should work, if not you will need to edit the prototype (I think it needs its script changed to animfvr to make it cycle through the images). Also, the FRMs need to be in the fallout2\data\art\scenery folder, and you must remove or rename the patch000.dat (or put the artwork in the data\art\scenery folder in the patch000.dat file).
    Answer by ColJack. (more details)


    Existing Mods


Q. Are there any completed Fallout 2 mods?

    If you mean a TC (total conversion) mod, then no.
    Answer by PsychoSniper. (more details)

    Note: There are a number of small mods that change minor details of the game, and several large projects have been started to add new cities, quests, and plots. Unfortunately none of the large mods is complete, and some have been in development for quite a long time.
    Answer by dude_obj.


Q. Is there a mod to make party member's armor show?

    Party members change the look when wearing armor with unofficial patch 1.05. Just install the patch on a clean Fallout2 installation and everything should work. There's also a separate B-Team Mod that shows the armor change if you don't like the unofficial patch. Answer by Celestial. Note: They don't actually show the armor they wear, they just change their sprites to "generic wearing NPC". This is because sprites don't exist for each of the different NPCs wearing each of the different armors.
    Answer by Ashmo. (more details)


Q. Does the vertibird mod work?

    I've never had luck with the damn vertibird mod.
    Answer by GroovyNinjaPhil. (more details)

    After flying the Vertibird to Vault City several times, your character will get "stuck" and unable to move at all the next time you fly into Vault City, thereby forcing you to load another saved game.
    Answer by I Must Be Crazy 2. (more details)


    Game Engine


Q. How do I get debugging information for Fallout 2?

    Fallout 2 contains debugging code in the executable, but it is not enabled by default. This debugging information is likely to be valuable to those who are writing mods, or who are just plain curious as to the internals of the game. There is a patch that enables the debugging code.
    Answer by noid. (more details)


Q. How does the FO2 engine find its data?

    The game engine looks for data files in the following order:
      1) patchXXX.dat
      2) critter_patch
      3) critter.dat
      4) master_patch
      5) master.dat
      6) Current directory

    Note: The game engine can read from a compressed DAT file or a directory of the same name. You can, for example, extract the contents of MASTER.DAT into a directory called MASTER.DAT, and the engine will still work, reading extracted files directly. This is convenient for testing changes to extracted files.
    Answer by red. (more details).


Q. In what order are multiple patch files be loaded?

    These are the three rules that fallout2.exe uses to search for data files.
    
    If patch000.dat is found.
    Search order:
    - patch000.dat
    - critter_dat and master_dat (from fallout2.cfg)
    
    If patch000.dat does not exist but patch001.dat, patch002.dat, ... patchNNN.dat exist.
    (Must be at least two patch dats, and order must be consecutive).
    Search order:
    - patch003.dat (highest NNN found)
    - patch002.dat
    - patch001.dat
    - critter_dat and master_dat (from fallout2.cfg)
    
    Default searching rule (same as Fallout1).
    Search order:
    - critter_patches and master_patches (from fallout2.cfg)
    - critter_dat and master_dat (from fallout2.cfg)
    
    So to create a mod:
    
    Rename patch000.dat (from fallout 1.02d patch) to patch001.dat
    Create your mod and archive it as patch002.dat
    
    This should allow us to create and distribute mods without having to include all
    files from patch000.dat. It will also make it easier to play fallout with more
    than one mod active.
    
    Note: The directory listing in the dat file *must* be in lexicographical (sorted)
    order. If you create your own dat files, ensure that this holds true.
    

    Answer by noid. (more details)


Q. The game won't read my custom mods, how do I fix this?

    If you're having trouble getting the game to read any of your modded files, the following steps always worked for me,
    This assumes you have Fallout 2 v1.02 installed:

    1) In the main Fallout 2 install directory, create a directory named "Temp" (or whatever other name that suits your fancy).
    2) Use a DAT extractor utility to extract all the Patch000.dat files to the "Temp" directory.
    3) Rename Patch000.dat to Patch000.bak, or move it to some other place.
    4) Rename "Temp" to "Patch000.dat".
    5) Place all your modded files under the proper subdirectory in the Patch000.dat directory. If Windows asks you whether you want to overwrite the file, then the file you're replacing has been patched, so you better make sure your changes and the patch's change are all accounted for.

    For example, if you want to add your modded dcTyler.int script, place it under \fallout2\Patch000.dat\scripts\, overwriting the existing file there. If you need to restore a file you overwrote, just get it back from the Patch000.bak file again.
    Answer by Haenlomal. (more details)


Q. Can Fallout 1 be played using the Fallout 2 engine?

    FO2 is hardcoded to start the game in a map with a specific name (temple of trials). The FO1 talking heads and speech would need to be put back in, they were taken out of FO2 to save space. Some files like city.txt (city info) and maps.txt (maps info) and worldmap.txt (encounters etc) are not present in FO1, so they would have to be written from scratch. NPCs need updating (combat controls and other considerations). The critter pro format from FO1 is not quite the same FO2, 4 bytes need to be added to the end of every *.pro to make it FO2 size.
    Answers by Various. (more details)

    If you look at how tightly integrated all of the configuration files are, and note how they are all numbered differently between FO1 and FO2, and consider that FO2 was sort of "overlayed" onto the FO1 configuration, you will see that although it may be techincally possible to make FO1 run on the FO2 engine, it would be a lot of work. Bottom line: realistically its not going to happen.
    Answer by dude_obj.


Q. What Can and Cannot be Modified in Fallout?

    What can be modified:

    • Edit and create FRMs
    • Write and edit scripts
    • Edit and create maps
    • Edit items (maybe create)
    • Edit and create critters
    • Edit and create scenery
    • Edit and create walls
    • Edit and create tiles
    • Edit and create talking heads (long and painstaking, but possible)
    • Probably more

    What cannot be modified:

    • Adding or changing perks

    Answers by Mialdor900 and alex957. (more details)

    Note: There are many things that are hardcoded in the Fallout2 executable.
    Some of them can be changed (using a virtual patcher/loader tool), but others cannot (perks for example).


Q. What is hardcoded in Fallout2.exe?

    The following are harcoded in Fallout2.exe but can be changed using a virtual patcher/loader:

    • Set starting year
    • Set starting time
    • Set starting date
    • Overcome 13 year limit (not very clean..)
    • Remove city limit
    • Version number in main menu
    • Debug info to screen or to logfile
    • Have the jumpsuit in the beginning
    • Have the pipboy in the beginning
    • Choose starting map
    • Choose patch-file (e.g. patch123.dat instead of patch000.dat)
    • Disable videos
    • Load and jump to any map you want during the game
      (a.k.a MapLoaderPatch. it might crash.. but it's useful when stuck behind a stupid npc)
    • Save the current map to .map -file (opposite to MapLoader). Any use?
    • PC to look like any critter you want

    Answer by platon. (more details)
    Also see this thread and this list of offets.


Q. What are the memory offsets for changeable things in Fallout2.exe?

    Following are memory addresses and file offsets in the Fallout2.exe

      [US 1.02]
      Feature Memory
      Offset
      Fallout2.exe
      File Offset
      Number
      Of Bytes
      Original
      Value
      Enable Pipboy $497011 $085611 1 0x7E
      Remove City Limit $4BF3BB $0AD9BB 1 0x24
      Disable Movies $44E690 $03CC90 1 0x89
      Male Start Appearance $5002E8 $0EE8E8 6 hmwarr
      Female Start Appearance $5002F0 $0EE8F0 6 hfprim
      Male Default Appearance $5002D8 $0EE8E0 6 hfjmps
      Female Default Appearance $5002E0 $0EE8E0 6 hfjmps
      Starting Map $5194C8 $107AC8 12 artemple.map
      DAT Name $5023C8 $0F09C8 13 patch%03d.dat
      Mod Name (Main Menu) $50EA18 $0FD018 19 FALLOUT II %d. %02d
      Start Year $4A336C $09196C 2 0x84A8
      Start Month $4A3382 $091982 1 0x00
      Start day $4A3356 $091956 1 0xF8
      World Viewport X $10C42C $091956 2 0x0000
      World Viewport Y $51DE30 $10C430 2 0x0000

      [UK Version 1.02]

      Feature Memory
      Offset
      Enable Pipboy $4971C1
      Remove City Limit $4BF56B
      Disable Movies $44E840
      Male Start Appearance $5002E8
      Female Start Appearance $5002F0
      Male Default Appearance $5002D8
      Female Default Appearance $5002E0
      Starting Map $519518
      DAT Name $502424
      Mod Name (Main Menu) $50EA74
      Start Year $4A351C
      (2 bytes)
      Start Month $4A3532
      Start day $4A3506
      World Viewport X $51DE7C
      World Viewport Y $51DE80


    Answer by Andy-Spacetrain. (more details)
    Also see this thread and this list of Fallout2 executable file offets.


Q. What is known about perks and traits in the game engine?

    I believe I've figured out where Perks and Traits are stored (though I haven't tested these in-game, so it might all be an elaborate mistake):

      Traits: 0x10c184 (Just the location- I haven't looked at them any yet)
      Perks: 0x1083cc (15A3A0 in mapper2.exe I believe)

    Perks seem to have the following format (Up to Mutate! at least, after that it changes, and then seems to fall apart).
    Each perk appears to have the following format:

      [00] - ? (Always 0000 0000)
      [04] - ? (Always 0000 0000)
      [08] - ID (Appears to be ID in PERK.MSG -29)
      [0C] - Number of Ranks available
      [10] - Required Level
      [14] - Stat Modified (entry in STAT.msg - 100) (FFFF FFFF = None)
      [18] - Amount Stat Modified
      [1C] - Skill 1 (SKILL.MSG - 100) (FFFF FFFF = None)
      [20] - Amount for (in % points) Skill 1
      [24] - Type*
      [28] - Skill 2 (SKILL.MSG - 100) (FFFF FFFF = None)
      [2C] - Amount (in % points) for Skill 2
      [30] - Req. STR
      [34] - Req. PER
      [38] - Req. END
      [3C] - Req. CHA
      [40] - Req. INT
      [44] - Req. AGI
      [48] - Req. LUC

    *- is 0000 0000 unless there are two skill entries (In these cases, it is a requirement I think) , in which case it looks like the entry is 0200 0000 if they are requirements and 0100 0000 if they are bonus (points the character gains). (For the addiction perks, Ranks looks like it is always FFFF FFFF, and the Stat Req. Fields look like they are rather the change applied FEFF FFFF for -2 to the stat, for example.)

    There are some problems- some perks are supposed to due more than can be encoded here, for example (Ignoring things that should be purely script based). For example, the Mr. Fixit should have requirements for 2 skills AND add points to 2 skills. In addition once we get past Mutate! / The Addiction entries, then the system appears to stop working as well- there are entries with the same ID's as earlier entries, and I'm not 100% sure all perks are accounted for. I'd guess (But it is just a guess with absolutely no backing yet) that multiple entries for a perk allow for the perk to do more than would be allowed with one entry. (Like the Mr. Fixit). In addition, I'm not sure about the ID- it works perfectly up through the addiction stuff, but it just seems odd to have it to be ID-29.
    Answer by Temaperacl. (more details)
    Also see this thread.


Q. Is it possible to add new skills, are are they hardcoded?


Q. What is known about elevators in the game engine?

    This information is for Fallout2.exe version 1.02 US.
    Everything is just a list, that is, everything is just [Data for elevator1][DataForElevator2], etc.

    Buttons Count: 2ee1C (Fallout2.exe) 37ccc (mapper2.exe)
    [00-03] # of buttons for each elevator

    Elevator Image: 2ed5c (fallout2.exe) 37c0c (mapper2.exe)
    [00-03] Base image to use (In \art\intrface\INTRFACE.LST)
    [04-07] Button panel image overlay (In \art\intrface\INTRFACE.LST)
    (FFFF FFFF if none- that is, to use just the base image button panel)

    Everything below has 4 entries per elevator- one for each possible button the elevator can have.
    The description is per button

    Button Keys- 2f2fc (fallout2.exe) 381ac (mapper2.exe)
    [00-00] Character to use for keyboard input for that button (00 if N/A)

    Button Destinations:
    Dest: 2ee7c (fallout2.exe) 37d2c (mapper2.exe)
    Format:
    [00-03] Target Map ID (0000 0000 if N/A)
    [04-07] Target Elevation (0000 0000 if N/A)
    [08-0B] Target Tile (FFFF FFFF if N/A)

    Everything has been tested with two elevators (0 and 5), and all changes have produced the expected results.
    Answer by jargo. (more details)


Q. How can I change the starting map by modifying fallout2.exe?

    The starting map is hardcoded to artemple.map in fallout2.exe. In hexadecimal that is:

      61 72 74 65 6D 70 6C 65 2E 6D 61 70

    If, for example, you want to change the starting map to base.map, then:

      00 00 00 00 62 61 73 65 2E 6D 61 70

    Note that the new value of the map name must have the same number of "letters", so if the name is shorter than artemple, it must be padded with zeroes.
    Answer by ColJack. (more details)

    Additional Note: There are ways to change the starting map without mofiying fallout2.exe:

    • Name your starting map to artemple.map
    • Use a virtual patcher/loader to change the starting map name in memory


Q. What can I do about gamma problems where everything is dark?

    Are you saying that '+' and '-' buttons aren't working? (press F1 for more help) There are also brightness settings in config files (fallout2.cfg and mapper2.cfg). If those don't work, a program called PowerStrip might.
    Answer by platon. (more details)


Q. Can Fallout be modified to run at higher resolution?

    No it's not possible and it would entail a heck of a lot of problems even if you did put it in another resolution. The game was made for 640x480, and everything was designed to work that way. Imagine swithing to 1024x768, the bottom part would need to be centered horizontally (and moved down). All the mouse pointers might be in relation to upper left instead of the bottom left, so clicking might be fucked. Then you have the UIs which wouldn't look right either, and if centered would probably have the same problem as the UI.
    Answer by red. (more details)


Q. How does the recording mode work?

    Step 1: Start Recording (Ctrl-R from main menu)
    Step 2: End Record (Ctrl-R in the map you selected)
    Step 3: Wait (in the main menu)

    Now every two movies, instead of seeing the movie, you'll see (one of) the recording(s).
    Note that it records everything you do (mouse moves and key strokes).
    Answer by red. (more details)


    File System


Q. What do the different file extensions mean?

    DAT Compressed file archive contains most game files
      \fallout\master.dat, critter.dat, patch000.dat
    CFG Configuration files
      \fallout
      \fallout\master.dat\art\cuts
      \fallout\master.dat\maps
    TXT
    Raw
    Indexed
    1) Configuration files (\fallout\master.data\data)
    2) Talking head subtitle text (\fallout\master.dat\sound\speech)
    LST Configuration files (list of images, protos, scripts, sounds)
      \fallout\critter.dat\art
      \fallout\master.dat\art
      \fallout\master.dat\maps
      \fallout\master.dat\proto
      \fallout\master.dat\script
      \fallout\master.dat\sounds\sfx
    MSG Message data used in scripts (dialog, floating text, examine)
      \fallout\master.dat\text\english\dialog
    INT Script Files (compiled executable)
      \fallout\master.dat\scripts
    SSL Script Files (source code)
      \mapper\scripts
    GCD Gurps Character Data files (defines premade characters)
      \fallout\master.dat\premade
    BIO Character biography files (for premade characters)
      \fallout\master.dat\premade
    SAV Save Games
      \fallout\data\savegame
    PRO Object Prototypes (define properties of critters, items, scenery, walls, tiles)
      \fallout\master.dat\proto
    FRM Image files
      \fallout\critter.dat\art
      \fallout\master.dat\art
    FR#
    (0-5)
    Image files (multi-frame animations)
      \fallout\critter.dat\art
      \fallout\master.dat\art
    PAL Color Palette (used by FRM files)
      \fallout\master.dat
      \fallout\master.dat\art
    RIX Graphics file for splash screens
      \fallout\master.data\art\splash
    LIP Lip synchronization for talking heads (synchronize ACM with FRM)
      \fallout\master.dat\sound\speech
    ACM Compressed audio files
      \fallout\data\sound\music
      \fallout\master.dat\data\sound
    MVE Movie files
      \fallout\master.dat\art\cuts
    MAP Area map files
      \fallout\master.dat\maps
    GAM Area map global variable files
      \fallout\master.dat\maps
    LBM Mapper GUI interface
      \fallout\master.dat\data
    MSK World map masks (define areas where player cannot travel, example: ocean)
      \fallout\master.dat\data
    FON Font files
      \fallout\master.dat
    AAF Font files
      \fallout\master.dat

    Answer by dude_obj.
    File definitions by Noid, MatuX, Serge, Jaundice, Borg Locutus, Madsurfer.


Q. Do I have to add files to DAT one at a time?


Q. Do DATs created by DAT Explorer not work correctly?

    Unpacking of DATs works fine with Dat Explorer, however creating new DATs sometimes causes corruption problems. You can use DatRepairer by KIA (from teamx.ru) to fix this problem. It reconstructs DAT files created by DatExplorer and makes them runnable.
    Answer by Perceptron. (more details)


Q. Datman gives me the error: activex component can't create object, what is wrong?

    Unpack the ZlibTool.zip file and run the patch file inside, it associates the Active-X DLLs.
    Answer by wild_qwerty. (more details)


    Graphics


Q. How are critters aligned in FRM files?


    1) Individual frames (BMPs) are centered in the middle of the bottom edge of the image.
    2) Critters feet are well above this center point; you will need to adjust the "Frames Offset" to fix this.
    3) The individual frames within an orientation can be adjusted by editing the X and Y offsets for them. You should probably line up all individual frames and make sure each orientation is centered correctly is reference to the other orientations (use Frame Animator for this).
    4) Each orientation can have its X and Y position 'shifted' by adjusting the Frames Orientation. This will move the whole orientation rather than just the indivual Frame (use Frame Animator for this).
    Answer by Wild_qwerty. (more details)


Q. How are critter PIDs associated with image files?

    The ID of the PROs are their line numbers from the critter.lst. You can't leave empty spaces (though you could make some usless PROs which fill the gap). Check the mapper keys reference on how to edit the PRO files properly. You need the contained ID to match their real critter.lst ID or the editor won't edit the real ID but the contained reference. To associate a PID with an image file, install the mapper and look at critters.h. For critters, take it's line number and add 16777216 (which happens to be 0x1000000 in hexadecimal).
    Answer by red. (more details)


Q. How can I put serveral bitmaps into one FRM file?

    The gif2frm converter works fine with multiple frames. A normal gif is pretty easy, pretty much anything can handle that, just make a pic and save it in your favorite editor. Animated GIFs are more complicated though. I recommend Paint Shop Pro and its counterpart Animation Shop wich supports animated gifs pretty well. A note about animated gifs: try to eliminate all possible "otpimisations" the program supplies since they're useless for the gif2frm converter and risk screwing up the palette.
    Answer by red. (more details)

    If you get the error "Can't translate color table" You need use -d=Value or -n options. It occurs because the program cannot find nearest colors from Fallout palette.
    Answer by Anchorite. (more details)


Q. What Palette do I use for frm2gif?

    Use a color.pal or any other *.pal-file from the game. The color.pal file is in the top (root) level of master.dat.
    Answer by Jochua. (more details)


Q. How can I make an image use the fallout palette?

    I posted a little while back about my woes with the palette being limited to a single default palette defined by Fallout 2. I thought this was the end as I'd never be able to take pictures from the web and use them properly in Fallout 2. I'm happy to report that I was completely wrong and there is a very easy way to solve this problem (provided you have Photoshop). You need the Fallout 2 palette in ACT format. Take your picture and set the color in Photoshop to RGB color. This effectively removes the palette. Set the palette to Indexed Color, and for the palette option chose Custom, and load the ACT file. This automatically performs best match to the colors in the picture to the colors in the default palette.
    Answer by DarkwingGT. (more details)

    Also see this thread.


Q. How can I specify a palette file to be used in FRM conversion?

    Use frm2bmp with the following command line option:

      frm2bmp.exe -p EG_V1301.pal EG_V1301.frm

    It converts using the pallete file. It also creates a .inf file for the bmp, which is used when converting back the other way.
    Answer by ColJack. (more details)


Q. What settings should I use for bitmaps for conversion to FRM?

    Hue:160
    Sat:0
    Lum:240
    R:255
    B:255
    G:255

    Make sure you don't have the image set to millions of colors, use 8-bit (256) color instead.
    Answer by Smackrazor. (more details)


Q. Can I convert Fallout Tactics .TIL files to FRM?

    To understand why there is no TIL->FRM conversion mechanism, simply look at both in Red! Viewer. Basically, the "cutout" isn't the same in both games and simply "skewing" and/or "rotating" the image won't solve the problem. It would be possible to create some weird converter that takes each pixels and map the to a proper place, but that'd be a lot of work. Another solution would be to render them in 3D and apply the rotation to the polygon. Both solutions are rather complicated to code for rather little reward.
    Answer by red. (more details)


Q. How do I make critters move using Frame Animator?


Q. Is there an index of FRM files somewhere?


Q. What are the naming conventions of FRMs?

    Here is a list of all of the appearances in critter.dat:

      HA NPWR = Adv. Power Armor
      HA POWR = Power Armor
      HA ROBE = Purple Robes

      HF CMBT = Fem Combat Armor
      HF JMPS = Fem Vault13 Jump suit
      HF LTHR = Fem Leather Armor
      HF MAXX = Fem Leather Jacket
      HF METL = Fem Metal Armor
      HF PRIM = Fem Primitive

      HM BJMP = Black Male Vault13 Jump suit
      HM BMET = Black Male Metal Armor
      HM CMBT = Male Combat Armor
      HM JMPS = Male Vault13 Jump suit
      HM LTHR = Male Leather Armor
      HM MAXX = Male Leather Jacket
      HM METL = Male Metal Armor
      HM WARR = Male Primitive

      MA ANTT = Ant
      MA BOS2 = Franky Torso half
      MA BOSS = Franky
      MA BRAN = King rat
      MA BROM = Brahmin
      MA CLAW = Adult Deathclaw
      MA CLW2 = Baby DeathClaw
      MA CYBR = Robo Dog
      MA DDOG = Dog
      MA DEGG = Egg
      MA DETH = Grey Deathclaw
      MA FEYE = Eye Robot
      MA FIRE = Fire Gecko
      MA GCKO = Golden Gecko
      MA GUN2 = Plasma Turret
      MA GUNN = Mini Turret
      MA HAND = Mr. Handy
      MA LIEN = Alien/Wanamingo
      MA MANT = Mantis
      MA MRAT = Mole Rat
      MA MTN2 = Super Mutant Leather
      MA MTNT = Super Mutant
      MA MURT = Pig Rat
      MA PLNT = Mutant Plant
      MA QUEN = Queen Wanamingo
      MA ROBE = Goris
      MA ROBO = Brain bot
      MA ROBT = Assault bot
      MA SCP2 = Baby Radscorpion
      MA SCRP = Radscorpion
      MA SPHN = Floater
      MA SRAT = Rat
      MA THNG = Centaur

      NA BLUE = Blue Robe
      NA BRWN = Brown Robe
      NA CHLD = Child
      NA GHUL = Ghoul
      NA GLOW = Glow Ghoul
      NA POWR = Power Armor w/o Helmet
      NA ROBE = Rag robes
      NA VGUL = Vault Ghoul
      NA WHIT = Black Robe

      NF ASIA = Asian Fem
      NF BRLP = Fem Blonde Peasant
      NF LYNN = Lynette
      NF MAXX = Fem Leather Punkette
      NF METL = Fem Redhead Metal Armor
      NF NICE = Fem Blonde Renogirl
      NF PEAS = Fem Redhead Peasant
      NF PRIM = Fem Ponytail Primitive
      NF TRMP = Fem Tramp
      NF VALT = Fem Vaultsuit
      NF VRED = Fem Vaultsuit Redhead

      NM ASIA = Asian Male Peasant
      NM BONC = Bouncer Bluesuit
      NM BOXX = Boxer
      NM BPEA = Black Male Peasant
      NM BRLP = Male Peasant
      NM BRSR = Bouncer Blacksuit
      NM BSNP = Male Peasant Balding
      NM COPP = Police Officer
      NM DOCC = Doctor
      NM FATT = Vic
      NM GANG = Asian Blue Guard
      NM GRCH = Midget
      NM LABB = Labcoat
      NM LOSR = Male Junkie
      NM LTHR = Male Bald Leather Armor
      NM MAXX = Male Longhair Leather Jacket
      NM MEXI = Mordino Guard
      NM MYRN = Myron
      NM NICE = Male Tuxedo
      NM OLDD = Old man McGee
      NM PEAS = Male Hat Peasant
      NM RGNG = Asian Red Guard
      NM VALT = Male Vaultsuit
      NM WARR = Male Primitve
      RESERV = Funny flame guy

    Answer by Ruin. (more details)

    The meaning of the last two letters in frm names:

      (A_) MOVEMENTS:
      AA - IDLE
      AB - WALK
      AE - CLIMB
      AG - WEARING/TAKING OFF ROBE (Goris ONLY)
      AK - PICK UP
      AL - USE
      AN - DODGE
      AO - HIT_FRONT
      AP - HIT_BACK
      AQ - PUNCH
      AR - KICK
      AS - THROW
      AT - RUN
      AU - UNKNOWN (???, check hmlthrau.frm, probably obsolete/redundant OR used in in-game NEW RENO cutscenes)

      (B_) DEATH/UNCONSCIUOS:
      BA - FALLING_BACK
      BB - FALLING_FRONT
      BC - FALLING_BACK (???, check hfcmbtbc.fr0-5, it's half-missing "ba - FALLING_BACK" animation)
      BD - HOLE_IN_BODY
      BE - FALLING_BACK_BURNED
      BF - RIPPING_APART
      BG - PERFORATED_DEATH
      BH - FALLING_BACK_ELECTRIC_BURNED
      BI - SLICE_IN_TWO
      BJ - FALLING_FRONT_FIRE_BURNED
      BK - ELECTRIC_BURNED_TO_ASHES
      BL - BLOW_EXPLOSION
      BM - MELTDOWN
      BN - BURNING_DANCE
      BO - BLEEDING_BACK
      BP - BLEEDING_FRONT

      (c_) MOVEMENTS:
      CH - GET_UP_FRONT
      CJ - GET_UP_BACK

      (d_) KNIFE ANIMATIONS:
      DA - KNIFE_IDLE
      DB - KNIFE_WALK
      DC - KNIFE_PULL_OUT
      DD - KNIFE_PUT_IN
      DE - KNIFE_DODGE
      DF - KNIFE_ATTACK_THRUST
      DG - KNIFE_ATTACK_SWING
      DM - KNIFE_ATTACK_THROW

      (E_) MELEE WEAPONS ANIMATIONS:
      EA - MELEE_IDLE
      EB - MELEE_WALK
      EC - MELEE_PULL_OUT
      ED - MELEE_PUT_IN
      EE - MELEE_DODGE
      EF - MELEE_THRUST
      EG - MELEE_SWING

      (F_) HAMMER WEAPONS ANIMATIONS:
      FA - HAMMER_IDLE
      FB - HAMMER_WALK
      FC - HAMMER_PULL_OUT
      FD - HAMMER_PUT_IN
      FE - HAMMER_DODGE
      FF - HAMMER_THRUST
      FG - HAMMER_SWING

      (G_) SPEAR ANIMATIONS:
      GA - SPEAR_IDLE
      GB - SPEAR_WALK
      GC - SPEAR_PULL_OUT
      GD - SPEAR_PUT_IN
      GE - SPEAR_DODGE
      GF - SPEAR_ATTACK_THRUST
      GG - SPEAR_ATTACK_SWING (???, check it in hfjmpsgg.frm)
      GM - SPEAR_ATTACK_THROW

      (H_) PISTOL WEAPONS ANIMATIONS:
      HA - PISTOL_IDLE/RELOAD
      HB - PISTOL_WALK
      HC - PISTOL_PULL_OUT
      HD - PISTOL_PUT_IN
      HE - PISTOL_DODGE
      HH - PISTOL_AIM
      HI - PISTOL_PULL_DOWN
      HJ - PISTOL_SHOT

      (I_) SMG WEAPONS ANIMATIONS:
      IA - SMG_IDLE/RELOAD
      IB - SMG_WALK
      IC - SMG_PULL_OUT
      ID - SMG_PUT_IN
      IE - SMG_DODGE
      IH - SMG_AIM
      II - SMG_PULL_DOWN
      IJ - SMG_SHOT
      IK - SMG_BURST

      (J_) RIFLE WEAPONS ANIMATIONS:
      JA - RIFLE_IDLE/RELOAD
      JB - RIFLE_WALK
      JC - RIFLE_PULL_OUT
      JD - RIFLE_PUT_IN
      JE - RIFLE_DODGE
      JH - RIFLE_AIM
      JI - RIFLE_PULL_DOWN
      JJ - RIFLE_SHOT
      JK - RIFLE_BURST

      (K_) HEAVY_WEAPON WEAPONS ANIMATIONS:
      KA - HEAVY_WEAPON_IDLE/RELOAD
      KB - HEAVY_WEAPON_WALK
      KC - HEAVY_WEAPON_PULL_OUT
      KD - HEAVY_WEAPON_PUT_IN
      KE - HEAVY_WEAPON_DODGE
      KH - HEAVY_WEAPON_AIM
      KI - HEAVY_WEAPON_PULL_DOWN
      KJ - HEAVY_WEAPON_SHOT
      KK - HEAVY_WEAPON_BURST
      KL - FLAMER_SHOT

      (L_) MINIGUN/GATTLING_LASER WEAPONS ANIMATIONS:
      LA - MINIGUN/GATTLING_LASER_IDLE/RELOAD
      LB - MINIGUN/GATTLING_LASER_WALK
      LC - MINIGUN/GATTLING_LASER_PULL_OUT
      LD - MINIGUN/GATTLING_LASER_PUT_IN
      LE - MINIGUN/GATTLING_LASER_DODGE
      LH - MINIGUN/GATTLING_LASER_AIM
      LI - MINIGUN/GATTLING_LASER_PULL_DOWN
      LK - MINIGUN/GATTLING_LASER_BURST

      (M_) ROCKET_LAUNCHER WEAPONS ANIMATIONS:
      MA - ROCKET_LAUNCHER_IDLE/RELOAD
      MB - ROCKET_LAUNCHER_WALK
      MC - ROCKET_LAUNCHER_PULL_OUT
      MD - ROCKET_LAUNCHER_PUT_IN
      ME - ROCKET_LAUNCHER_DODGE
      MH - ROCKET_LAUNCHER_AIM
      MI - ROCKET_LAUNCHER_PULL_DOWN
      MJ - ROCKET_LAUNCHER_SHOT

      (N_) TARGET_PICTURE:
      na - TARGET PICTURE

      (R_) DEAD_BODIES ANIMATIONS:
      RA - DEAD_LYING_BACK
      RB - DEAD_LYING_FRONT
      RC - DEAD_LYING_BACK (???, it looks the same as ******ra.frm, check hfcmbtrc.frm, probably unused)
      RD - DEAD_LYING_HOLE
      RE - DEAD_LYING_BURNED
      RF - DEAD_LYING_PERFORATED_FRONT
      RG - DEAD_LYING_PERFORATED_BACK
      RH - DEAD_LYING_BURNED (???, the same as ******re.frm, this was probably intended to be ELECTRIC_BURNED)
      RI - DEAD_LYING_SLICE_IN_TWO
      RJ - DEAD_LYING_ASHES
      RK - ASHES (!!!literaly)
      RL - DEAD_LYING_BLOW_EXPLOSION
      RM - DEAD_LYING_MELTDOWN
      RO - DEAD_LYING_BLEED_BACK
      RP - DEAD_LYING_BLEED_FRONT

    Answer by lisac2k.

    The meaning of the first two letters in frm names:

      HA = Hero Androgneus
      HF = Hero Female
      HM = Hero Male
      NA = NPC Androgneus
      NF = NPC Female
      NM = NPC Male
      MA = Monster Androgynous

    Answer by Wild_qwerty and requiem_for_a_starfury (more details)

    Talking Head FRM Index:

      B = Bad mood
      G = Good Mood
      N = Nuetral Mood
      f1 = Blink
      f2 = Nod
      f3 = Shake
      (B,G,N)P = Talk
      (B,G,N)(B,G,N) = Mood transistion from (B,G,N) to (B,G,N)

    Talking Head Example:

      Lynetbf1.frm = Bad Blink
      Lynetbf2.frm = Bad Nod
      Lynetbf3.frm = Bad Head shake - speak
      Lynetbn.frm = Transition - Bad to nuetral
      Lynetbp.frm = Bad Speak

      Lynetgf1.frm = Good Blink
      Lynetgf2.frm = Good Nod - speak
      Lynetgf3.frm = Good Shake - smile
      Lynetgn.frm = Transition - Good to nuetral
      Lynetgp.frm = Good Talk

      Lynetnf1.frm = nuetral Blink
      Lynetnf2.frm = nuetral nod
      Lynetnf3.frm = nuetral shake
      Lynetnb.frm = Transition - nuetral to Bad
      Lynetng.frm = Transition - nuetral to Good
      Lynetnp.frm = nuetral talk

    Also see this thread.
    Answer by Wild_qwerty (more details)


Q. How can I do batch conversion of image files?


Q. How can I make my own MVE intro movies?


Q. How do I create RIX format files for splash screens?


    Audio


Q. Extracted sounds playback too fast, what can I do?

    If you want to play ACMs normally, you have to specify -m option in the command line of acm2wav. You can convert multiple files like this:

    for %i in (*.acm) do acm2wav %i -m

    Another way is to use version 1.2 of ACM plugin for Winamp. To make your own sound effects or speech files all you need to do is make mono WAV file. snd2acm will make normal ACM suitable for Fallout.
    Answer by ABel. (more details)


Q. How do I put my own sounds into the game?

    16-bit WAVs are preferrable. You can use the the following snd2acm syntax to create the ACM files:

      snd2acm file.wav file.acm

    The data\sound\sfx\sndlist.lst list file contains information about all sound effects in Fallout2. If you modify some of the ACMs, or add new sounds, you need to modify this list file, otherwise the game can refuse to play some of the ACMs. The simplest way to modify this list-file is to use regsnd utility, it finds all changes in ACMs and records them into sndlist.lst.
    Answer by ABel. (more details)


Q. What bitrate should I use for creating new background music?

    If you make new background music, it must be a 22050 Hz, 16bit, stereo source file, and the sfx-files should be mono.
    Answer by ABel. (more details)


Q. How are gun sound effects encoded in the acm files?

    The sound ID on the left is the sound ID when you use the item.
    The sound ID on the right (in the special "weapon type" box) is the sound used when you shoot.
    Answer by red.

    It works fine. I just added a complete new set of sound for the M60 machine gun. The alphabetic order must be respected in sndlist.lst and the number is very important too. Here is an example, in the soundfile name -> WR`1XXX1.ACM ` is the sound id ascii letter (`ascii code = 96.. so 96 is the sound ID to use):

      WA for attack sound
      WH for impact sound
      WR for reload sound
      WO for fire attempt sound when the weapon is empty (click sound)
      1 = sound for the first fire mode
      And the last 1 is for alternate sound

    Answer by DarkGiver. (more details)


Q. How do I use the LIP Editor?

    1. The WAV file must be 22KHz and 16bit

    2. Mark the WAV file with SoundForge or CoolEdit. You need to position markers where head starts to speak a sound and pauses.

    3. Make a text file with position of markers like this (one marker position per line):

      0
      1231768
      7987989

    3. Convert WAV into ACM using snd2acm coverter.

    4. Start LIP Editor and create new file with converted ACM.

    5. Import file with marker's positions (File->Import).

    6. Change frames of head for markers.

    Answer by Anchorite. (more details)


    Scripting


Q. Where can I find a tutorial on scripting?


Q. How do I set up my system for script compiling?

    The official mapper from Interplay includes the script compiler, source code for the game scripts, and batch files to do script compiling. Download the official mapper and install it. The mapper does not include a pre-processor, which is used to expand header files into the source code before compilation. Interplay used the pre-processing feature of the watcom C compiler. Download the watcom C compiler and install it. In the directory where the mapper is installed, you'll see a file called p.bat, edit this file to point to the watcom C compiler:

      c:\watcom\binnt\wcc temp.c /pc /fo=temp.i /w4

    In the mapper's \scripts directory, you'll see subdirectories containing script source code for various locations in the game. You'll notice a batch file in each subdirectory (for example arroyo.bat). The batch file will compile all of the scripts for that location (all *.SSL files in that directory). Note that it calls the p.bat file to do the compiling (if p.bat doesn't point to the watcom compiler it will not work). You can compile an individual script by typing:

      p scriptname [Enter] (don't include the .SSL extension)

    The compiled scripts (.int files) will be placed in a \data directory at the same level in the directory heierarchy where the mapper is installed (which is normally the Fallout2 directory). You can change the target place where compiled scripts land by editing these lines in p.bat:

      @rem The path in the following two lines should point to the Fallout 2 folder:
      @md ..\..\..\data\scripts
      @copy temp.int ..\..\..\data\scripts\%1.int

    Answer by dude_obj.
    Also see ColJack's tutorial on compiler setup.


Q. How do I make the watcom compiler work with WinXP or Win2000?

    For xp (which is considered by most old games as NT) I use the following batch file to compile with:

      @echo off
      copy %1.ssl temp.c
      c:\watcom\binnt\wcc temp.c /p /fo=temp.i
      copy temp.i temp.ssl
      ..\dos4gw ..\compile temp.ssl
      rem The path in the following two lines should point to the Fallout 2 folder:
      md "c:\Program Files\BlackIsle\Fallout2\data\scripts"
      copy temp.int "c:\Program Files\BlackIsle\Fallout2\data\scripts\%1.int"
      del temp.c
      del temp.i
      del temp.ssl
      del temp.int

    Save the batch file as p.bat. Install watcom to it's default folder c:\watcom. Use the batch file from a dos window within the folder that the script is located in (ie arroyo folder etc), using the command:

      p scriptname

    Note that there is no .ssl extension.
    Answer by ColJack. (more details)
    Also see ColJack's tutorial on compiler setup.

    Additional Notes: Notice how the batch file above refers to \watcom\binnt, this is the NT version. As mentioned above, for watcom, XP is considered to be NT. This is also the case with Windows 2000.


Q. Can gcc be used for compiling fallout scripts?

    If you wish not to use (Open) Watcom for prepocessing Fallout2 ssl-files you can simply use gcc. I've tested Bloodshed's Dev-C++ (version 4, using mingw) and it works just fine. All you need can be found here. (those new v5 betas seem to cause problems for someones so I recommend version 4) size ~7.5Mb. Command line usage example:

      gcc -E -x c -P -C script.ssl >script.abc
      (and then compile it with fallout2 compiler)

    More info: here.
    Answer by platon. (more details)

    Note: The above is only referring to the pre-processing stage of script compiling (expanding headers into the source before actual compilation). Most people are using the Watcom C compiler as pre-processor for Fallout script compiling (this is what Interplay used).


Q. What is the syntax for using the IPP compiler?

    ipp scriptname.ipp [Enter]

    Answer by jargo. (more details)

    Note: The IPP compiler was written before Interplay released their mapper, which includes their script compiler, source code of the scripts used in Fallout 2, and batch files to compile the scripts. Most people are now using the compiler from Interplay instead of IPP.


Q. What are the bwand and bwor commands for in noid's compiler?

    Bitwise "and" and "or".
    Answer by de dood. (more details)

    Note: Noid's Compiler was written before Interplay released their mapper, which includes their script compiler, source code of the scripts used in Fallout 2, and batch files to compile the scripts. Most people are now using the compiler from Interplay instead of noid's compiler.
    Answer by dude_obj.


Q. I get the error: 'Unable to initialize DAO/Jet db engine' when using decompiler


Q. Where can I get the source code for the Klingon Academy compiler?

    There was a game called Klingon Academy made by Interplay which used same engine as Fallout. The compiler source code contains some opcode and constant definitions for the system part of the game engine, which are also valid for Fallout 2.

    Red! sent in this correction: I mention it uses the same "engine", but it should say that it uses the same "scripting engine" (Among other things like the same file managment, and other stuff too but we don't care much about those).
    Answer by red. (more details)


Q. Where can I find the mapper scripts that have been updated to version 1.02d?

    Many of the scripts that shipped with the Official Fallout 2 mapper actually compiled to v1.0 scripts. That means that any changes and fixes made for v1.02D are missing. I've corrected that oversight and updated the scripts as necessary so that they'll now compile to v1.02D version.
    Answer by Haenlomal. (more details)


Q. Where is the list of outdated version 1.0 scripts?

    The source files shipped with the Fallout 2 mapper are from version 1.0 of Fallout 2. So, if you blindly compile any .ssl file that came with the editor and stick it into the game - be ready for the full spectre of glitches from the 1.0 version of the game. (missing car and so on). Check first: if the script that you want to modify is present amongst the files in Patch000.dat, bad luck. You will need to learn how to use the Noid compiler/decompiler (not too difficult). If not, the altered and compiled script will probably work with the patched version of Fallout 2. If your script is not amongst the files in Patch000.dat AND not on the following list - you can alter and compile it without fear of adding any bugs (except the bugs of your own modifications!).

    Outdated scripts:

      AHELDER.ssl
      AHHAKUN.ssl
      COWBOMB.ssl
      DCADDICT.ssl
      DCBILLY.ssl
      DCCUSTMR.ssl
      DCFRED.ssl
      DCORPHAN.ssl
      DCREBECC.ssl
      DCSLAVE.ssl
      DCSLVRUN.ssl
      DCSTORY1.ssl
      DCSTORY2.ssl
      DCVIC.ssl
      DEPOLV1.ssl
      DIBONES.ssl
      DIDIARY.ssl
      DIFLKBOX.ssl
      DISLVCRT.ssl
      DIVICTBL.ssl
      GCLENNY.ssl
      HCMARCUS.ssl
      HSCELLDR.ssl
      KCSULIK.ssl
      NHMYRON.ssl
      QCSECBOT.ssl
      SHTANDI.ssl
      ZCSLAVE.ssl

    Answer by Stevie D. (more details)


Q. How can I use scripts from Fallout1 in Fallout2?

    If you have compiled scripts (int format) then put them in data/scripts folder and add them to scripts.lst file (extract this file from master.dat and put in same folder). You will need all the text files for scripts, they have the same name with .msg extension (put them in text/english/dialog folder).
    Answer by jargo.

    I don't think the fallout 1 scripts can be simply imported, since most of the script numbers have been used for the new fallout 2 scripts (the number that used to be the old computer script now points to the new old man script etc). You can do it by de-compiling the .int files and then re-compiling them after editing, and also editing the scripts.h file to include the name of the old script, which would then give the script a new number. Also, the prototype numbers are different, so the prototype number that used to be a door is now a guy in robes for example. So if a script uses PID numbers in it, then they would also need to be changed to the right numbers during the editing stage.
    Answer by ColJack. (more details)


Q. Where can I find some generic party member scripts?

    The Cheatboy mod for fallout 1 had some generic party member scripts included. You could use them on fallout 2, though you will have to modify any global variable references in the scripts. You will also have to allocate new global variables in fallout 2 for the scripts to work properly. Global variables are used to control various elements in the game, such as the status of a quest, npc, town reputations, etc. Altering a global variable is not advisable unless you know what it is used for; if you want to find out what they do, you can find a list of all global variables under data/data/Vault13.gam on the Master.dat, and a more complete list including definitions under scripts/headers/global.h on your mapper folder.
    Answer by Corpse. (more details)


Q. Why do I get #define NAME SCRIPT_SCRIPTNAME error when adding new script?

    You must define your script in an include file called scripts.h and then include that file in your script. Scripts.h can be found in the headers directory of your mapper installation.
    Answer by de dood.

    You also have to add your script name to the scripts.lst file. Keep them in the same order in that file as they are defined in the scripts.h, or else your .msg files will be all out of whack. The #define NAME MY_SCRIPT bit works out to a number as defined in the scripts.h file, which coresponds to a line number in the scripts.lst file, which in turn is used to look up the name of the script to find the same named .msg file.
    Answer by ColJack. (more details)


Q. How do I get a script to use a .msg file?

    Add an entry to the scripts.h file which defines your script name (#define NAME SCRIPT_ATest <- this bit would become this bit -> #define SCRIPT_ATest (1304), at the end of the file.) Next make an entry into the scripts.lst in the scripts folder. Note: your .msg file should have the same name as the script name (ie. ATest.msg). Then re-compile your script and it should work. Alternatively, I HIGHLY recomend using Jargo's FSE script editor, it has tons of useful features, not the least of which is a "register script" button that put the needed entries into the scripts.h, scripts.lst and wherever else it needs to be, as well as a built in dialogue editor and "show message file references" option that puts the lines of the .msg file into the script as notes so you can easily see if the lines are in the right place).
    Answer by ColJack. (more details)


Q. What does PID stand for?

    PID stand for Prototype ID. This is the number of a prototype (*.pro file). Every object has a prototype.
    Answer by Jargo. (more details)


Q. How do I determine Object PID Numbers?

    Global variables can be found in global.h in the scripts\headers folder that comes with the official mapper.
    Item numbers are stored in itempid.h
    Critter numbers are stored in critrpid.h
    Scenery numbers are stored in scenepid.h

    Please note that these numbers are by no means complete. To find a PID of an object, edit its proto and change something (like make it transparent or something easy like that) and if you have your proto editing set up like it says in my tutorial then it will save a text file in the relavent category directory under C:\fallout2\dev\proto\ In that text file it will list various details of the proto, one of which is it's PID number. The PID number is the first number after pid. Remember to put in preceeding zeros to make it an 8 digit number (example: 533 becomes 00000533).
    Answer by ColJack. (more details)


Q. How do I determine the critter pro number for random encounters?

    Take the PID (example 16777252), subtract 16777216 and you get the critter pro number, in this case 36 (16777216 is actually 0x1000000). So you modify the proto\critters\00000032.pro. Apart from the PID, everything is pretty well documented in the worldmap.txt.
    Answer by red. (more details)


Q. How can I determine the script number associated with a .pro file?

    With a hex editor you can figure out which script is associated with which item. Look at the proper number in script.lst in data/scripts for the proper script (found in data/scripts - all in master.dat).
    Answer by red. (more details)


Q. Where are the global variables listed?

    All the global variables are listed in the vault13.gam file. The names of the variables should give a pretty good idea about what they do in the game.
    Answer by de dood. (more details)


Q. Can New Global Variables be added?


Q. How do I use timer events in scripts?

    Use add_timer_event as a trigger and put the action in timed_event_p_proc, example:
      procedure start
      begin
        float_msg(self_obj,"test1", FLOAT_MSG_BLUE);
        add_timer_event(self_obj, game_ticks(13), 3);
      end
      
      procedure timed_event_p_proc
      begin
        if (fixed_param == 3) then
          begin
            float_msg(self_obj,"test2", FLOAT_MSG_BLUE);
          end
      end
      
    Answer by Temaperacl. (more details)


Q. What is the purpose of target_object in scripts?

    target_object is used in standard event-handlers pickup_p_proc, use_obj_on_p_proc and others.
    It indicates the object being affected by an action. For example, if your item-script contains:
      function use_obj_on_p_proc;
      begin
        write ('The item is used on '+GetName(target_object));
      end;
      
    Then it can be used on other items or creatures and will display the name of that object.
    Answer by ABel. (more details)


Q. How can I make a town become visible on the world map using a script?

    Put the map into the maps.txt and city.txt as described in the tutorial, but set the startstate in city.txt to off (this stops it from showing on the map). Make note of the area number of the "town" in the city.txt list, you'll need this for the script. Make the script that you want the town to be revealed in, and add the following lines to reveal the town:
      if (town_known(your_town_number) == MARK_STATE_UNKNOWN) then begin
        debug_msg("  mark_on_map("+your_town_number+")");
        mark_area_known(MARK_TYPE_TOWN, your_town_number, MARK_STATE_KNOWN);
      end
      
    Replacing "your_town_number" with the area number from the city.txt file.
    Answer by ColJack. (more details)


Q. Where can I find information about Map script ID?

    There is so-called "script descriptors" section in map file right after the tile arrays. Each object in the map has link to its ScriptDescriptor (DWORD in its properties right after its ScriptID) if object has attached script. ScriptDescriptor has same ScriptID as in Object and same ScriptDescriptorID in its fields. You can find some beginning info on "script descriptors" section on this page.

    What you need to change Script M to Script N for Object X:

      1) Find needed ScriptDescriptor in "script descriptors" section
      2) Change M to N in both object's ScriptID and in its ScriptDescriptor
      3) After that your changed script should work fine

    ScriptID is a number of string in Scripts\scripts.lst file (ScriptID=Number-1) in hexadecimal presentation. For scripts attached to the whole map (Location-script) ScriptID=Number of string in Scripts\scripts.lst file. Description for process of adding new or deleting not needed descriptors not found by me on the Net but fully understood now. Maybe Dims in his mapper realizes editing of the "script descriptors" section in upcoming updates.
    Answer by seawolf. (more details)


Q. How do I set barter modifiers in a script?

    Here is the command for setting barter modifier:

      gdialog_set_barter_mod (mod (int))

    This sets the current modifier for barter to a specific percentage (mod). It is used to make barter easier/harder, even if the player initiates barter (as opposed to the script starting it).
    Answer by ColJack. (more details)


Q. How can I make a critter change appearance in a script?

    The only place in the code I saw a "change in graphics" was in the Den where Fred wins gambling and gives you money, however the trick the scripters used was change the critter's ID to another (take a look at the script).
    Answer by red. (more details)


Q. How can I make a critter wield a weapon in a script?

    Use the wield_obj function, like this:
      
      procedure start begin
         wield_obj(self_item(PID_DESERT_EAGLE));
      end
      
    The weapon PID names are listed in the \mapper\scripts\headers\itempid.h.
    These are the weapon PID names:

    • PID_KNIFE
    • PID_CLUB
    • PID_SLEDGEHAMMER
    • PID_SPEAR
    • PID_10MM_PISTOL
    • PID_10MM_SMG
    • PID_HUNTING_RIFLE
    • PID_FLAMER
    • PID_MINIGUN
    • PID_ROCKET_LAUNCHER
    • PID_PLASMA_RIFLE
    • PID_LASER_PISTOL
    • PID_DESERT_EAGLE
    • PID_ROCK
    • PID_CROWBAR
    • PID_BRASS_KNUCKLES
    • PID_14MM_PISTOL
    • PID_ASSAULT_RIFLE
    • PID_PLASMA_PISTOL
    • PID_FRAG_GRENADE
    • PID_PLASMA_GRENADE
    • PID_PULSE_GRENADE
    • PID_GATLING_LASER
    • PID_THROWING_KNIFE
    • PID_SHOTGUN
    • PID_SUPER_SLEDGE
    • PID_RIPPER
    • PID_LASER_RIFLE
    • PID_ALIEN_LASER_PISTOL
    • PID_9MM_MAUSER
    • PID_SNIPER_RIFLE
    • PID_MOLOTOV_COCKTAIL
    • PID_CATTLE_PROD
    • PID_RED_RYDER_BB_GUN
    • PID_RED_RYDER_LE_BB_GUN
    • PID_TURBO_PLASMA_RIFLE
    • PID_SPIKED_KNUCKLES
    • PID_POWER_FIST
    • PID_COMBAT_KNIFE
    • PID_223_PISTOL
    • PID_COMBAT_SHOTGUN
    • PID_JONNY_BB_GUN
    • PID_HK_CAWS
    • PID_ROBO_ROCKET_LAUNCHER
    • PID_SHARP_SPEAR
    • PID_SCOPED_HUNTING_RIFLE
    • PID_EYEBALL_FIST_1
    • PID_EYEBALL_FIST_2
    • PID_BOXING_GLOVES
    • PID_PLATED_BOXING_GLOVES
    • PID_HK_P90C
    • PID_SPRINGER_RIFLE
    • PID_ZIP_GUN
    • PID_44_MAGNUM_REVOLVER
    • PID_SWITCHBLADE
    • PID_SHARPENED_POLE
    • PID_PLANT_SPIKE
    • PID_DEATHCLAW_CLAW_1
    • PID_DEATHCLAW_CLAW_2
    • PID_TOMMY_GUN
    • PID_GREASE_GUN
    • PID_BOZAR
    • PID_LIGHT_SUPPORT_WEAPON
    • PID_FN_FAL
    • PID_HK_G11
    • PID_INDEPENDENT
    • PID_PANCOR_JACKHAMMER
    • PID_SHIV
    • PID_WRENCH
    • PID_LOUISVILLE_SLUGGER
    • PID_SOLAR_SCORCHER
    • PID_SAWED_OFF_SHOTGUN
    • PID_M60
    • PID_NEEDLER_PISTOL
    • PID_AVENGER_MINIGUN
    • PID_HK_G11E
    • PID_M72_GAUSS_RIFLE
    • PID_PHAZER
    • PID_PK12_GAUSS_PISTOL
    • PID_VINDICATOR_MINIGUN
    • PID_YK32_PULSE_PISTOL
    • PID_YK42B_PULSE_RIFLE
    • PID_44_MAGNUM_SPEEDLOADER
    • PID_SUPER_CATTLE_PROD
    • PID_IMPROVED_FLAMETHROWER
    • PID_LASER_RIFLE_EXT_CAP
    • PID_MAGNETO_LASER_PISTOL
    • PID_FN_FAL_NIGHT_SCOPE
    • PID_DESERT_EAGLE_EXT_MAG
    • PID_ASSAULT_RIFLE_EXT_MAG
    • PID_PLASMA_PISTOL_EXT_CART
    • PID_MEGA_POWER_FIST
    • PID_FLAME_BREATH
    • PID_RING_BOXING_GLOVES
    • PID_RING_PLATED_BOXING_GLOVES
    • PID_FN_FAL_HPFA

    Answer by dude_obj.


Q. Is there a way to script new animations?


Q. How do I make scripts for NPCs that wander around and have floating text?

    For an example, look at the scripts for the junkies in the den.
    Answer by ColJack. (more details)


Q. How do I make a critter wander randomly?

    Use animate_move_to_tile in a timer event like this:
      procedure timed_event_p_proc begin
         if (((critter_state(self_obj) bwand DAM_KNOCKED_DOWN) == FALSE)
          and (not(combat_is_initialized))) then begin
            reg_anim_clear(self_obj);
            reg_anim_begin();
               animate_move_to_tile(tile_num_in_direction(tile_num(self_obj),random(0,5),3));
            reg_anim_end();
         end
         add_timer_event(self_obj,game_ticks(random(3,5)),1);
      end
      
    The if statement makes sure the critter isn't knocked down or in combat (don't wander in these cases). The last number in the tile_num_in_direction (random(0,5),3) is the distance to move, in this case 3 hexes. You can tweak this or make it random also. You may want to also tweak the game_ticks random parameters to change the timing of the wandering. This example makes the critter wander every 3-5 seconds.

    Answer by dude_obj.


Q. How do I make a critter move between hex A and hex B continuously?

    Use a call to tile_num in the critter_p_proc procedure to check if the critter is in one of the tiles. If it is at A, move it to B, else if at B move to A etc. Use animate_move_obj_to_tile to move the critter. You could also put the above in a timed procedure to avoid calling tile_num so often.
    Answer by de dood. (more details)


Q. How is radiation programmed in the game?

    Radiation is done with spatial scripts on the map that do damage to the player when they trigger tham by stepping into the trigger range. Look at the script source code to find examples. I found this line in the gecko pewer plant map script that radiates the player if the reactor is blown up:

      radiation_inc(dude_obj,10);

    which presumably increases the rad count by 10. The toxic goo in the klamath caves does plasma damage when you step in it without boots on.
    Answer by ColJack. (more details)


Q. Why won't NPCs talk even though I've assigned a script for talking?


Q. How can I add items to inventory using a script?

    add_mult_objs_to_inven(WHO,ITEM_PID,NUMBER_OF_ITEMS);
    Example: add_mult_objs_to_inven(self_obj,8,1); //this will add 10 mm pistol to self

    Answer by Jargo. (more details)


    Area Maps


Q. Where can I find a tutorial on mapping?


Q. Can I use the fallout 1 maps and scripts with the fallout 2 mapper?

    It is possible, but you have to realise that some things used in fallout 1 are no longer used in fallout 2 (for example the "roof" tiles for the masters cathedral), so the slots they took up have either been re-used or have been replaced with "unused art". Same thing goes for the scripts, since script numbers have to be sequential, they kept the common ones and replaced the unused ones, but that means the script for opening a door and playing the sound is now the conversation script for someone you meet etc. You need to delete all of the scripts on the old maps and replace them with new ones. As for the missing art, you can extract the art from the fallout 1 dat to the relavent folders in the fallout 2 data directory, overwriting the existing ones, this will put lots of the "unused art" back into the editor.
    Answer by ColJack.

    You can get the fallout1 scripts to work as follows:

      1. Open fallout1 master.dat and copy all the scripts to c:\f1scripts\scripts\ (or another path).
      2. Edit mapper2.cfg and change:
        critter_patches=C:\Fallout2\data to critter_patches=C:\f1scripts
        master_patches=C:\Fallout2\data to master_patches=C:\f1scripts

      3. Save changes and launch the mapper, now it should work.

    Make a backup of mapper2.cfg before editing. I haven't tested, but critters and tiles should also start to work, when you copy them also.
    Answer by Skynet. (more details)


Q. Why do critters not attack in the mapper?

    There is an option in mapper.cfg

      run_mapper_as_game=1

    The default installation of mapper sets this to 0, and no critter will attack player.
    Answer by jargo. (more details)


Q. Why do critter proto changes not show up in the game?

    The critter *.pro information is stored in map files, so that when you save a game, the critter HP is saved (maps are included in savegame). I think only Dims mapper can edit this value. So if you change an existing critter proto, you are not changing critters that have already been placed on maps. Note: It is possible to use a script that will restore critter HP on start.
    Answer by jargo. (more details)


Q. Why won't my critter protos save?

    The mapper won't edit the prototypes if the read-only attribute is set on any .pro file in the fallout2/data/proto/ folder. Disable it on all the prototypes in all subfolders (critters, items, scenery, etc); when you are finished editing, don't forget to set them back to read-only or the files will be deleted when you run the game.
    Answer by Corpse. (more details)


Q. I get an "error saving prototypes" when using the mapper, what is wrong?

    1) Go into mapper2.cfg, and change librarian=0 to librarian=1.

    2) Create /Fallout2/dev/proto directories like this:

      C:\
         \---fallout2
             \---dev
                 \---proto
                     +---critters
                     +---items
                     +---scenery
                     +---tiles
                     +---walls
                     \---misc
      

    Answer by red. (more details)


Q. Why are my critter protos disappearing?

    The critter protos in /data/protos must be set to read-only or the files will be deleted when you run the game.
    Answer by Corpse. (more details)


Q. Why don't my critter name changes show up in the game?

    If you use the official mapper to edit a critter (using the edit function), you need to first extract the pro_crit.msg file from master.dat (text\english\game) and place it in your \fallout2\data\text\english\game, or wherever your master patches are located (whatever master_patches= refers to in mapper2.cfg). The pro_crit.msg file will be modified by the mapper when you change the critter Name or Description using the mapper's edit function. But if the pro_crit.msg has not been extracted from master.dat, the game will read the unmodified pro_crit.msg (your name changes won't show up in the game).

    Answer by dude_obj.


Q. How do I place deads critters on the map?

    Pressing k kills a selected critter. shift + k kills a critter and lets you choose the method of death. Pressing k on a dead critter resurects it.
    Answer by ColJack

    To prevent dead bodies from disappearing, you can edit the proto, you can set them to "dead bodies cant age".
    Answer by Kahgan

    There is a flag on map.txt that prevents bodies from dissapearing as well; if you are thinking of placing the bodies in one map, this would be easier to do than editing the profiles for each body you place.
    Answer by Corpse. (more details)


Q. How do I make critters transparent like the nightkin?

    Edit the instance of the critter and set one of the transparent flags to yes. You can make it transparent glass, wall, red, energy and so on. Each flag makes it more or less transparent, and the energy and red ones make it yellow or red. Good for ghosts and nightkin.
    Answer by ColJack. (more details)


Q. How do I get a source of lighting in the room?

    Lighting is done by putting light scource objects into the map, and adjusting their settings (scenery tile 140). Look at arcaves map for an example. Turn on "toggle block obj view" from the tools menu.
    Answer by ColJack. (more details)


Q. What is the size of a hex in Fallout?

    This is the size of the hex in FO2:

    The hexes are measured in "offsets". The offeset being either the horizontal or vertical movement of the image with the FRM. These measurements are useful when making new pieces of scenery, and when spliting a large object up into serval smaller parts (such as a bridge).
    Answer by Wild_qwerty. (more details)


Q. My floor tiles are at roof level, how do I change this?

    Page 5 of the mapper guide says the Roof button (in the art object toggle panel) should be off (in) for laying floors, on (out) when laying roofs.
    Answer by requiem_for_a_starfury. (more details)


Q. Why are there holes in walls that I can walk through?

    You need invisible blockers. To be able to see them, you need to turn "Toggle Block Obj View" on in the Tools menu. You can then place wall 620 (wall) or 621 (wall s.t.), they look blank, but are invisible wall blockers. The 621 (wall s.t.) object is a "shoot through" wall (allows shooting), the 620 (wall) doesn't allow shoot through. There are other types of blockers for scenery, scrolling, and so on. Open one of the existing maps and turn on view blockers and have a look at them. If you select one, and press p, it will show on the selector bar, make a note of the number for future use. Different types are in different categories, like scenery, walls and misc, so if you can't select a blocker, try a different selector category.
    Answer by ColJack. (more details)
    Also see ColJack's tutorial on Floors and Walls (Basics Part 1).


Q. How do I remove blockers in the official mapper?

    Go to "tools" menu and select "Toggle Block Obj View" to turn the red hexes into visible hexes. You can then just delete them like any other object, but to select or move them you need to be on the right selector bar (wall, scenery, misc).
    Answer by ColJack. (more details)
    Also see ColJack's tutorial on Floors and Walls (Basics Part 1).


Q. What is the scenery item number for hex blockers?

    They are scenery item number 66 and don't show up on the map unless you turn "tools -> toggle block obj view" on.
    Answer by ColJack. (more details)



Q. Why do my blockers turn into a red boxes with questions marks inside?

    The blockers are turning into red squares because the "group" they are from was "turned off" when you turned the "toggle block obj view" on (ie you had "turned off" the walls and the wall blockers don't show up) and then ran the map (ie F8). Turn off the "toggle block obj view", then turn on the missing group, then turn the block obj view back on. Never save a map with any groups turned off (except the roof) because it sometimes causes problems.
    Answer by ColJack. (more details)


Q. How can I find scenery numbers for objects in existing maps?

    Open an existing map and select your desired peice of scenery, then press p and the mapper takes you to it in the scenery list. Make note of the number and load your map, go to the desired number. If you are going to use many of the same scenery pieces, you can set bookmarks.
    Answer by ColJack. (more details)


Q. How do I create exit grids?


Q. How do I take screenshots in the fallout mapper?


Q. How can I get screenshots of my entire map?

    Pressing ALT-F7 takes sceentshots of the entire map, one screen at a time.
    Answer by ColJack. (more details)


Q. How do I rotate critters in official mapper?

    In the official mapper, you need to be in the critter selector bar, then select the critter on the map, and use the up and down arrows next to the little hex thing with the 6 arrows around it.
    Answer by ColJack. (more details)


Q. How do I rotate critters in Dims mapper?


Q. Why does the car disappear from my new map?

    You'll have to deal with the car in your map script. Look at ARBRIDGE.ssl for an example. Basically, you destroy and create the car each time the map is entered and exited.
    Answer by de dood. (more details)


Q. The mapper gives error 'wmAreaInit: Error Loading Cities!', what is wrong?

    I had the exact same problem. What causes it is the mapper naving a different number of cities than is hardcoded. To fix the problem, install this patch on the mapper.
    Answer by Foot Soldier. (more details)


Q. Is there any information about pattern files?

    The patterns are stored in \fallout2\master\proto\TILES\PATTERNS
    There are 26 files called 00000001 through 00000026 and one file called patterns.lst.
    Every pattern-file is 5771 bytes long. The files are dividet in two parts.

    The first and major part stored from #0000 to #167F contains information about which tiles should appear where.
    The second, much smaller part, from #1680 to #168B contains information about the size and the number of the pattern.
    The second part is stuctured like this:

    #1680 | XX00 0000 YY00 0000 ZZ00 0000

    XX determins the number of tiles for the x-axis of the matrix.
    YY determins the number of tiles for the y-axis of the matrix.
    ZZ determins the number of the pattern.

    Answer by Roi de Janeiro. (more details)


    World Map


Q. How can I modify the world map?

    Worldmaps are made up of "tiles" that are 7x6 squares each. A worldmap has to have a number of tiles that is a A x B number (ie 4x5 = 20 tiles or 3x3 = 9 tiles etc). The number of "tiles" across is set in the /fallout2/data/data/worldmap.txt file near the end by the line:

      [Tile Data]
      num_horizontal_tiles=4

    This imediately preceeds the encounter chance tables for each square on a "tile". The FRMs should be placed in the /fallout2/data/art/interface directory. Note that any patchxxx.dat you have overrides the content of the /fallout2/data directory so if the patchxxx.dat contains worldmap.txt, city.txt, or maps.txt files as well as maybe improved worldmap frm's then that might be your problem.

    To add or change a city or map, see my site for a tutorial. The blue lables for the buttons on the world map are just frm files. The city names on the map itself are stored in /fallout2/data/text/english/game/map.msg and start at 1500 (change the name there). Water areas are done with .msk files that dictate where you can't go (I've been told they are just black and white pictures converted into .msk files).
    Answer by ColJack. (more details)


Q. How do I remove towns from the worldmap?

    Extract the city.txt file from master.dat and place it in \data. Edit the city.txt so that entries that read "start_state=on" are changed to "start_state=off". Towns will then not show up on the worldmap. Note: some towns get put on the map as part of a quest (example: quest to get the vertibird plans), you have to edit the scripts to remove these.
    Answer by ColJack. (more details)


Q. What file defines what names appear on the world map beneath the green circles?

    text/*/game/MAP.MSG
    Entries 1500+ are for the world map text (others are for the pipboy mini-map).
    Answer by Temaperacl. (more details)


Q. How do I convert Worldmap MSK files?

    There is a utility called pak that converts between MSK and BMP files. Usage:

      pak [FileToCovert]

    It should automatically determine which way to convert for you (based on first letter of the file's extension). You can also drag the file to convert onto the app's icon and it should do it for you. You still have to remember to do the vertical flipping yourself, but this should stop you from having to insert and remove the header yourself.
    Answer by Temaperacl. (more details)


Q. What determines the change of speed on the world map when moving over mountains?

    It's specified in worldmap.txt. The first part describes the possible types of terrains:
    terrain_types=Name:Speed, Name:Speed [...]

    The second part is their short names:
    terrain_short_names=SN1,SN2,SN3

    Obviously the count of short names and the count of types need to match (I think it crashes the game otherwise).
    Finally, under the [Tile XX] section at the end of the file, each square area uses the Name, and this specifies at what speed you can travel in said square.
    Answer by red.


Q. Where can I find map images suitable for a new world map?


    Credits