FAQ Contribution thread (Serious contributions only please)

Discuss the creation and scripting of new fan-made games and mods for the Fallout series of games.
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

Can we clarify the Proto editing bit in Reds key list please...?

I thought Red ment that the \Fallout2\dev directory should go in the fallout2 game directory.. ( ie C:\Program Files\BlackIsle\Fallout2 directory..)
I've since found out ( in a thread on the NMA forum contributed to by Red ) that what he actually means is that the \Fallout\dev directory should go into the root directory on the drive the game is on...
ie. C:\Fallout\dev.. and it's sub directories..

Also, the line that reads \---misc should be +---misc since it's a sub directory of proto and not walls, which is what it reads as at the moment..
User avatar
TryKos
Scarf-wearing n00b
Scarf-wearing n00b
Posts: 28
Joined: Sun Apr 27, 2003 8:14 pm
Location: Russia
Contact:

How to make work (compile) scripts from official BIS editor.

Post by TryKos »

Q: What I should do to compile any script from scripts, shipped with official editor?

A: Here is step-by-step explanation
(Should work on any Windows avialable, tested on XP and 98):

Step 1. Get OpenWatcom preprocessor from OpenWatcom site. URL is: http://www.openwatcom.com/ftp/zips/c_nt.zip (850 Kb only, and no need for megatonn MSVC installations at all! Thanks to ABel, who pointed this out).

Step 2. Unzip contents of downloaded archive into any temp directory, then cut/paste all files from "temp/binnt" to your "Fallout 2 Mapper/scripts" folder. There must be wcc.exe, wcc386.exe and 2 dll's with same names.

Step 3. Open file "P.bat" from "Fallout 2 Mapper/scripts" in Notepad, find string "@rem Watcom 11 users uncomment the following line:" and make next string look like that: "@..\wcc386.exe temp.c /pc /fo=temp.i /w4".
Find string "@rem The path in the following two lines should point to the Fallout 2 folder:" and edit next two strings to point on your Fallout2 folder 8) This is actually path to folder, where your compiled scripts will be placed.
(I'm personally don't wanted to immediately replace existed scripts with compiled ones, so I'm created folder "CompiledBIS", and edited this strings to
"@md D:\FalloutStuff\CompiledBIS
@copy temp.int D:\FalloutStuff\CompiledBIS\%1.int")
(If you already created this folder manually, you can delete first of these strings - it will make compilation process a little faster.)

Step 4. Edit any script (See BIG WARNING below) from "scripts\something" folder and save it there.

Step 5. Run file with extension .bat from within folder, where your edited script lies. (If you want to compile only one script - look in this file and make your own, its quite easy). It will compile all scripts from this folder, place results in folder, which you choose in Step 3, and output any errors in "err.log" file.

Step 6. If you already set output directory in Step 3 to point to "Fallout2\data\scripts" folder, you can skip Step 6, else copy your compiled scripts to "Fallout2\data\scripts" directory.

Step 7. Run the game and look, how your modified script screw it 8)

BE WARNED! Source files, shipped with editor, are almost all from version 1.0 of Fallout 2, and some of them (see list below) are outdated. So, if you blindly compile any file from editor and stuck it into game - be ready for full spectre of 1.0 glitches (missing car and so on) or worse game behavior.
Solution: check first, if script, that you want to modify, present in patch000.dat. If it there - bad luck, you must learn&use Noid compiler/decompiler (its not so hard thing to do 8) ).
If script is not in patch - check, if it in list of outdated scripts below. If it in this list - bad luck again, you must extract this script from master.dat and use Noid decompiler.
And if your script not in patch000.dat AND not in list - you can compile it without fear of adding any bugs (except of bugs of your own modifications 8) ).

List of outdated scripts:
------------------
AHELDER.int
AHHAKUN.int
COWBOMB.int
DCADDICT.int
DCBILLY.int
DCCUSTMR.int
DCFRED.int
DCORPHAN.int
DCREBECC.int
DCSLAVE.int
DCSLVRUN.int
DCSTORY1.int
DCSTORY2.int
DCVIC.int
DEPOLV1.int
DIBONES.int
DIDIARY.int
DIFLKBOX.int
DISLVCRT.int
DIVICTBL.int
GCLENNY.int
HCMARCUS.int
HSCELLDR.int
KCSULIK.int
NHMYRON.int
QCSECBOT.int
SHTANDI.int
ZCSLAVE.int
------------------------------
End list.

Hope this explains some things. If you'll see grammar or other errors in this text, or difficult things that can be written by more easy words - feel free to fix them, English is not my native language.
In this world there are two kinds of people, my friend...those with Power of Moon Prism, and those who dig. You dig.
User avatar
Red
Hero of the Glowing Lands
Hero of the Glowing Lands
Posts: 2085
Joined: Wed May 15, 2002 11:58 am
Location: Nowhere (important anyway)
Contact:

Post by Red »

Actually coljack the problem is that he didn't format the whole thing prporly. It should be a \--- since the \ represents the end of the list, not a subdirectory.

If he'd just put a code block around the list it'd be fine.

In any case though the HTMLized version Killzig made looks much better :P

DU made another version here: http://www.knightcommand.net/fmf/index. ... apper_keys
which is actually version 1.3 with even more keys defined. I'm still working on version 1.3 though. It's actually already "late" as my local version has corrections/additions. Maybe I'll call that version 1.4 then, depends on wether the newsies post about it.
...
User avatar
Stevie D
Wanderer
Wanderer
Posts: 427
Joined: Mon Aug 05, 2002 3:31 am
Location: Devon, UK
Contact:

Post by Stevie D »

Red wrote:Actually coljack the problem is that he didn't format the whole thing prporly. It should be a \--- since the \ represents the end of the list, not a subdirectory.

If he'd just put a code block around the list it'd be fine.
Sorted.

Please call me 'Steve', too. It's my name, after all.
User avatar
Stevie D
Wanderer
Wanderer
Posts: 427
Joined: Mon Aug 05, 2002 3:31 am
Location: Devon, UK
Contact:

Post by Stevie D »

*Phew*...

OK, I've put up a jazzed-up version of TryKos' compiling tutorial in the FAQ thread. I've proof-read it and proof-read it and proof-read it, but can I get a second opinion, please, since I've added several comments of my own and I don't want them to be wrong.

I'll make a fresh FAQ thread sometime next week, since the current one is beginning to look chronologically 'odd'.

Thanks once again to TryKos for his material! :)
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

2 things.. and i know they are piddly things, but thats just the kind of person i am.. so sorry...

1. might i sugest that you change the drive letter in the bit i talked about earlier to c:\ as this is the most common drive letter for most peoples set up.. with e:\ normally being the cd drive... ( normally it goes a:\ = floppy 1 b:\ = floppy 2 c:\ = HDD 1 d:\ = HDD 2 e:\ = cd/dvd rom f:\ = cd/dvd writer g:\ = removable storage.. and so on.. ).

2. the scripts supplied with the editor are not decompiled from the .int files.. they are the scource files for them..

again i know they are just niggly little points..
User avatar
TryKos
Scarf-wearing n00b
Scarf-wearing n00b
Posts: 28
Joined: Sun Apr 27, 2003 8:14 pm
Location: Russia
Contact:

Post by TryKos »

Nothing is ideal... 8) I got one litte thing myself - extension of the scripts in "Outdated scripts" list must be "SSL". It become "INT" because Im copied filenames manually from *.int binaries - results of comparison. It's not a big deal, but can confuse newbies. So, Stevie, please fix it.

To ColJack
1. If you talking about "D:\FalloutStuff\Compiled" string in my explanation - this is an example, taken from me personal setting. I dont think, that somebody dont understand this.

2. I re-read my post and don't saw, where I wrote that "scripts supplied with the editor are decompiled from the .int files" or something like that. Maybe I just dont see my errors...
In this world there are two kinds of people, my friend...those with Power of Moon Prism, and those who dig. You dig.
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

not aimed at you Trykos..

1. I'm refering to Reds keys in the FAQ.. He used E:\ as his example because that is how his pc is set up.. and he explains this in the post.. but Stevie D has missed that part out when he put the info into the FAQ.. so if you didn't read Reds original post, you wouldn't know that E:\ is his hard-drive.
I was just sugesting the change because most people's hard drive is C:\


2. Again, not aimed at you.. it's a line added by Stevie D to your info when he put it in the FAQ...
User avatar
Red
Hero of the Glowing Lands
Hero of the Glowing Lands
Posts: 2085
Joined: Wed May 15, 2002 11:58 am
Location: Nowhere (important anyway)
Contact:

Post by Red »

ColJack wrote:I was just sugesting the change because most people's hard drive is C:\
Pfft, damn weirdos :D.

I originally ahd put it as "/Fallout2/dev/proto" but I figured that'd confuse everyone even more since not many understand the principal of root :P
...
User avatar
Stevie D
Wanderer
Wanderer
Posts: 427
Joined: Mon Aug 05, 2002 3:31 am
Location: Devon, UK
Contact:

Post by Stevie D »

TryKos wrote:Nothing is ideal... 8) I got one litte thing myself - extension of the scripts in "Outdated scripts" list must be "SSL". It become "INT" because Im copied filenames manually from *.int binaries - results of comparison. It's not a big deal, but can confuse newbies. So, Stevie, please fix it.
Right you are, sir. I'll fix it up good and proper when my usual Sunday hangover wears off. ;)
2. I re-read my post and don't saw, where I wrote that "scripts supplied with the editor are decompiled from the .int files" or something like that. Maybe I just dont see my errors...
Yeah, I put that in; that's why I needed the second opinion - I was making an educated guess there.

So let me get this straight - the .ssl files that come with the editor are source files, and NOT decompiled versions of the .int files? Just out of curiosity, if someone wanted the edit the script files that were updated by Patch000.dat and had to decompile them, would they be decompiled from the .int format to .ssl or something else?

(Note to self: might be an idea to do a decompiling tutorial in case people want to work on those particular files)
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

Red wrote:Pfft, damn weirdos :D.

I originally had put it as "/Fallout2/dev/proto" but I figured that'd confuse everyone even more since not many understand the principal of root :P
all you had to do was put a drive letter in it.. like c:\Fallout2\dev\proto and anyone would understand it.. thats what confused me.. the Fallout/dev/proto looked to me like you ment to put it under the Fallout2 game directory.. ( and why do you use the forward slash ( / )??? aren't paths supposed to be back-slashes ( \ )?? )
User avatar
TryKos
Scarf-wearing n00b
Scarf-wearing n00b
Posts: 28
Joined: Sun Apr 27, 2003 8:14 pm
Location: Russia
Contact:

Post by TryKos »

So let me get this straight - the .ssl files that come with the editor are source files, and NOT decompiled versions of the .int files? Just out of curiosity, if someone wanted the edit the script files that were updated by Patch000.dat and had to decompile them, would they be decompiled from the .int format to .ssl or something else?
(Note to self: might be an idea to do a decompiling tutorial in case people want to work on those particular files)
Yeah, you right. Editor scripts NOT decompiled versions of int. They are sources, they includes macros definitions and so on.

Results of decompiling depends on used decompiler. Two compiler/decompiler tools exist today - one from TeamX (Abel/Burz/Heinz) and one from Noid. First one decompile *.int script to *.ipp file, second - to *.ssl. I recommend use Noid decompiler, because he spits out files very similar to original BIS sources (except "op_" prefix of command names and of course, no macros here).
Team X Dec/IPP tool is a piece of great work, but it was written in times, where very little documentation was avialable, so it's typical "hacker" tool - based mostly on researches of FO2 exe, using own command names (not from BIS sources) and hard to use (you cant decompile script and then compile it again, it must be fixed manually in some places).
Note to self: might be an idea to do a decompiling tutorial in case people want to work on those particular files)
I also thought about it, but there will be another "Where to get Noid decompiler and how to install it" manual first. And I dont know where to get latest verson (I got 1.0 and 1.1 patch from some forum links, and seems that there is no Noid's home page), also I got version 1.0 with already included Ruby interpreter (judging from readme, it must be download separately). So, if you can host compiler (I can mail it to you), then all this problems will be solved, and decompiling manual will be 3 strings long 8)
In this world there are two kinds of people, my friend...those with Power of Moon Prism, and those who dig. You dig.
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

as requested by Stevie D ( to save him some time... )

Elevator Tutorial By ColJack.

WARNING!!! elevators are hard coded by the looks of it, and only go to specific map index's ( see Elevator Type List ). Some go from level to level on the same map, others go from map to map..

You will need to either save your map/s as the corresponding name/s,or edit the maps.txt file to replace the map/s with your map name/s..


First of all, you will need to change the elevstub.frm in your art folder for another .frm in order to be able to select the stub to edit it. I suggest the elevstub.frm in my downloads section but any art will do.. bear in mind that it will be visible in the game, but should be hidden behind a wall if done right..

Build your elevator.

Place a "zselev01" spatial script inside the elevator with a radius of 1 ( so it only triggers when you get in the lift.. ),then place an elevator stub ( scenery tile #1292 ) next to the lift.

Select the stub and edit it's properties to suit your map type and elevation number. ( bear in mind that the game considers mapper level 1 as elevation 0 and so on )

Your lifts will now work, as long as you have either saved your map as the coresponding name or edited the maps.txt file so the entry for the index number points to your map instead..

If you have NOT saved you map as stated above, then the lifts will send you to the coresponding map named in the Elevator Type List
Last edited by ColJack on Sun May 11, 2003 9:37 pm, edited 1 time in total.
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

And just in case he wants this one too...

Exit Grids Tutorial by ColJack.


Exit grids are in the misc list in the editor.

There are 3 different colours in the list, and 8 different blocks for each colour..

IMPORTANT!!!...ONLY USE THE GREEN ONES!!!

The brown and black ones do not work... they are for internal use to the editor only..

The 8 different blocks are in 4 groups.. 2 diagonal top left to bottom right, 2 go straight up and down, 2 straight right to left, and 2 diagonal top right to bottom left.

Each pair has it's "handle" at opposite ends.. ( so the straight up and down pair, one will have it's selection handle at the top, the other at the bottom.. )

You place the blocks so that the "handle" end faces where the player would enter the grid from..

Turn on hexes and you will see that the "handle" is shown as a pale blue outlined hex at one end of the block... these blue hexes need to form a continuous line of hexes around the outside of the exit grid..( the side towards the player ). This is what triggers when the player enters the grid, so there can be no gaps, or the player might slip past and into the grid without triggering it...

Exit grids do not automatically show up on the pip boy minimap, so you need to mark them.

To do this you need to place exit grid markers ( scenery tile #48 ) around the grid. These will be invisible, so turn on the "toggle block obj view" in the tools menu to make the invisible blockers visible.. the exit grid markers show up as blue/grey hexes with the letters "EG" in them

Now that you have your exit grid placed and marked, you need to set it to go somewhere..

If you want it to send the player to the world map, leave it alone as the default setting will do just that.. ( if you press f8 to test the map, and press f8 again to stop the test mode, you will notice the editor has turned your green exit grid to brown. )

To set it to take you to another map then you need to set the exit grid data ( "set exit grid data" in the tool menu )

The exit grid data consists of 4 values.. dest map, dest tile no#, elevation, and rotation..

The first (dest map) is the number of the map you want it to send you to, which can be found in the maps.txt file (-1 sends you to the world map )

The second (dest tile no#) is the number of the tile you want to start on in the new map.. ( i think if you leave it as -1 it uses the hex you set with the "set start hex" option ). This is useful if you have more than 1 entrance to the map as you can put the player next to the right entrance..

The third (elevation) is the elevation you want the player to start on.. ( note.. the game considers what the editor calls level 1 to be elevation 0.. level 2 to be elevation 1... and level 3 to be elevation 2..)

The fourth (rotation) sets the direction the player will be facing on the destination map..

Once the data is set, you need to mark which exit grid you want to use that data with. select "mark exit grid" from the tools menu.. the editor will pop up a box saying "entering mark exit grid mode" ( or something like that ).

Just click on all of the grid pieces you want to set as going to the destination you set in exit grid data..

Press escape to exit "mark exit grid mode".. ( Important!! if you do not, you will be wondering why you can no longer place items and walls and stuff.. )

Repeat from "set exit grid data" for as many exit's as you have on your map...

NOTE!! there is NO way to check what destination a grid is set to..
User avatar
Stevie D
Wanderer
Wanderer
Posts: 427
Joined: Mon Aug 05, 2002 3:31 am
Location: Devon, UK
Contact:

Post by Stevie D »

Thanks, CJ. :)

Well, I was going to dedicate the early week to another topic for the FAQ first, but bollocks to it - if you've gone to all the effort, so can I.

It might still take me an awkward while before it goes up - I'd like to go through all the stages myself as I edit the text. No offence, m8, but sometimes having a n00bs head like mine is the best way to see where areas need clarifying or expanding upon.

So yeah. Tuesday? Wednesday? It'll probably go up around then, although I'll doubtless have to come to you with some simpleton questions before I cross the finish line... ;)
User avatar
ColJack
Vault Scion
Vault Scion
Posts: 175
Joined: Sat Apr 19, 2003 8:01 pm
Contact:

Post by ColJack »

no probs Steve. I prety much just cut and pasted them from our webby..

feel free to pm or icq me mate.. ( although i will need to authorize you first on icq. )
or even ask here.. if i'm not arround i'm sure the others will be.. ( this is the most active forum on the subject at the moment.. )
User avatar
Stevie D
Wanderer
Wanderer
Posts: 427
Joined: Mon Aug 05, 2002 3:31 am
Location: Devon, UK
Contact:

Post by Stevie D »

SMALL UPDATE to the 'Script Compiling' Tutorial

The files on the 'Outdated Scripts' list now have the .ssl extension.

In the introduction, the .ssl files that came with the editor are now referred to as 'source' files - not decompiled versions of the .int files.

Ironed out several sentences to make them more accessable and less cluttered. I doubt the changes would even be noticable, though. EDIT: Which is every bit as much a critique of my English as it is TryKos'!
Our Host!
Post Reply