Small compiler problem

manuati

First time out of the vault
First of all, sorry if this isn't the place to do so, but I really want to get this off from me fast so please look past my noobish attitude and rudeness (or erase the topic, your choice).

Anyway, the problem is simple. I can't compile my .ssl scripts. I'm trying to do so using the WATCOM way (following this small tutorial right here: http://falloutmods.wikia.com/wiki/Scripting_-_Getting_started), but when I try to compile the file, it fails and throws the next things:

1 file copied.
temp.c(28): Error! E1055: Unable to open '..\headers\define.h
temp.c(34): Error! E1055: Unable to open '..\headers\command.h
temp.c(35): Error! E1055: Unable to open '..\headers\ModReact.h
1 file copied.

And then says it can't recognise "..\dos4gw" as an executable thing, command or file.

Can someone help me? I really want to solve this so I can start tinkering with some Fallout 2 scripts. I know it's a basic thing, but i'm really stuck in here. I use Windows XP SP 3, if that helps in something.

Also, my P.bat file (in case you didn't went to the other page):
[spoiler:d027fb04a0]@echo off
@if not exist %1.ssl goto DONE
@copy %1.ssl temp.c
@G:\WATCOM\binnt\wcc386.exe temp.c /pc /fo=temp.i /w4
@rem Microsoft Visual Studio 6 users uncomment the following line:
@rem cl /P temp.c
@copy temp.i temp.ssl
@..\dos4gw ..\compile temp.ssl
@if %errorlevel% neq 0 goto ERROR

@rem The path in the following two lines should point to the Fallout 2 folder:
@copy temp.int G:\FalloutStuff\CompiledBIS\%1.int
@del temp.c
@del temp.i
@del temp.ssl
@del temp.int
@goto DONE
:ERROR
@echo ERROR: %_CWDS%%1.ssl >> ..\err.log
:DONE[/spoiler:d027fb04a0]

Thanks in advance.
 


My suggestion is to forget about all that Watcom stuff; I personally believe the obscurity of those matters set back Fallout and Fallout 2 modding by five or ten years. I looked at the Watcom method once, I don't have the slightest idea what it's all about, and I don't think more than four or five people (most of whom have retired) ever understood any of it. Though I'm sorry therefore to say I don't have a direct answer to your question, I'd like to urge you to consider a different approach.

If you just want to look at or edit scripts from the standard (un-modded) game, get Jargo's Fallout Script Editor program. Note that although as I recall FSE does use some Watcom component, that small component is included in the FSE download. Therefore if you downloaded some 100+ megabyte Watcom thingie, get rid of that as you'll never use it for anything related to Fallout modding.

If you want to look at or edit scripts from mods and such, get Noid's compiler which is based on Ruby.

If you want to work with new developments in sfall scripting for use in conjunction with Timeslip's mods, download the sfall Modder's Pack and use the sfall script compiler/decompiler.

I'm sure you would have preferred a more direct answer to your question, but this really is the best advice. More information about all three of these tools, each of which has a slightly different form of output (in addition to a slightly different purpose as I mentioned), is available at almost every turn in this forum, though if you have questions don't hesitate to ask.


 
I did use it (still do on occasions), though I won't claim I understand it :P
I haven't seen those errors you get, but then I haven't changed my pbat like you did.

Here's what mine looks like:

[spoiler:c5f620a11e]@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\Black Isle\Fallout 2 Mapper\scripts"
copy temp.int "C:\Program Files\Black Isle\Fallout 2 Mapper\scripts\%1.int"

del temp.c
del temp.i
del temp.ssl
del temp.int[/spoiler:c5f620a11e]

I have compile.exe, p.bat etc in C:\Program Files\Black Isle\Fallout 2 Mapper\scripts folder. Then in that folder I made another folder called scripts, so it's C:\Program Files\Black Isle\Fallout 2 Mapper\scripts\scripts. In that last folder I put one copy of p.bat and the .ssl files I want to compile. It works that way.

Also I made a file called compile.bat in there that contains p and the name of the script I want to compile. Then I just change the name in there instead of having to go to the command prompt all the time.

Other than that I would recommend the script compiler from the sfall modder's pack that Endocore mentioned. It's not only for sfall scripting.
 
How I got it to work.
I changed Fallout 2 Mapper to Fallout2Mapper, it makes some things simpler.
First install DosBox and the Watcom C/C++ DOS compiler.
The Watcom installer should be saved into Mapper/scripts as Watcom.exe.
Make link to DosBox in Fallout2Mapper\scripts. Change Target to "C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe" -conf scriptdos.conf and Start in to C:\Fallout\Fallout2Mapper\scripts.

In Start>All Programs>Dosbox-nn>Options choose Dosbox nn Options, nn is whatever version number you have installed. Add the folowing in the Autoexec section at the end of the file.
mount C C:\Fallout\Fallout2Mapper\scripts
mount D C:\Fallout\Fallout2Mapper\scripts\watcom\binw
mount E C:\Fallout\Fallout2Dev\data\scripts
c:
I hope this helps.
Fallout2Dev is where I do my currently feeble attempts at modding.
Save this as scriptdos.conf in Mapper/scripts.
Start DosBox, at this point you will get error messages, don't worry we will fix this shortly. Type watcom at the prompt in the DosBox window to install. If you use the default location it creates the watcom tree in \scripts.

My p.bat is.
@echo off
copy %1.ssl temp.c
D:\wcc386 temp.c /p /fo=temp.i
copy temp.i temp.ssl
C:\dos4gw C:\compile temp.ssl
copy temp.int "E:\%1.int"
del temp.c
del temp.i
del temp.ssl
del temp.int
Obviously you will need to change directory names to match where you have your files.
I hope this helps.
 
Back
Top