Copy Link
Add to Bookmark
Report

Doom Editing Digest Vol. 01 Nr. 476

eZine's profile picture
Published in 
Doom editing
 · 24 Apr 2024

From:      owner-doom-editing-digest 
To: doom-editing-digest@nvg.unit.no
Subject: doom-editing-digest V1 #476
Reply-To: doom-editing
Errors-To: owner-doom-editing-digest
Precedence: bulk


doom-editing-digest Saturday, 11 November 1995 Volume 01 : Number 476

Re: doom-editing-digest V1 #475
Thing height/width
Re: Re: Blimey, old message ahoy.
script decoding.
Re: Thing height/width
Scripting in Hexen vs Quake
Re: Re: Blimey, old message ahoy.
Re: doom-editing-digest V1 ?475
Re: OFFSUB: legal question
hexen specs omissions (was: doom-editing-digest V1 #473)
Re: doom-editing-digest V1 #473
Re: script decoding.
Re: doom-editing-digest V1 ?475
Re: hexen specs omissions (was: doom-editing-digest V1 #473)
Re: doom-editing-digest V1 ?475
Re: Scripting in Hexen vs Quake
Re: Scripting in Hexen vs Quake
Re: Re: doom-editing-digest V1 ?475
Stand Alone Node builder
Re: Thing height/width
Re: Saving Hexen wad
Stand Alone Node builder

----------------------------------------------------------------------

From: Romero <johnr@idtokay.idsoftware.com>
Date: Thu, 9 Nov 95 19:46:27 -0600
Subject: Re: doom-editing-digest V1 #475

> Wouldn't id have acess to Ravens development tools anyway?

Heh heh. Of course, since i wrote them.

- ---
+-----------------------------+
| John Romero |
| id Software, inc. |
| johnr@idsoftware.com |
| 214.613.3589.11 |
+-----------------------------+

------------------------------

From: Greg Lewis <gregl@umich.edu>
Date: Thu, 9 Nov 1995 21:36:09 -0500 (EST)
Subject: Thing height/width

> > hm .. what's missing from the specs right now regarding scripts?
>
> Also Thing heights and radius.

Sigh. Is this a hint that I should keep working on HxHE (the Hexen
version of DHE) and post the Thing results to everyone? I've already got
part of it done, I know there are over 2000 Frames in this sucker. Over
twice as big as Doom 2 in that respect...

Greg

------------------------------

From: stevet3@ix.netcom.com (Steven Towle )
Date: Thu, 9 Nov 1995 18:21:01 -0800
Subject: Re: Re: Blimey, old message ahoy.

You wrote:
>
>In your message dated Thursday 9, November 1995 you wrote :
>> Jim Wraith <jim@kildare.demon.co.uk> ,in message
<695@kildare.demon.co.uk>,
>wro
>> te:
>>
>> > Okay, nice one. Now, I've got another question (aaaaarrrgghh!!).. How the
>s
>> >> meg
>> > do I make smashing windows???
>>
>> tsk tsk tsk. RTFW (read the fucking WAD :)
>>
>
>I've tried! My best guess is that the textures are setup like they are (lower
>as the whole window, normal as the 'remains'), and that it is an instant floor
>lower. Somehow the sound and graphics have to go off as this happens.

Its more than just the WAD itself. It deals with a script. It is number 01. Type
PUKE01 and see what happens. However, no Hexen level editors as of now (at least
the ones that I know of) supports scripts. (I hope everyone is listening!) As
with the actual setup of the window in the WAD, I have no damn idea.


------------------------------

From: Robert Forsman <thoth@cis.ufl.edu>
Date: Fri, 10 Nov 1995 00:11:44 EST
Subject: script decoding.

Well, I'm doing that blackboxing that I talked about earlier. I do have a
question. What's the restart keyword do?

One thing I've noticed from my disassembly. They are not generating great
"assembly language" (consider the case statement). It looks like they were
content to get it working. Very much what my attitude would be. However,
given that, I'm surprised they spent any effort adding special operators for
op=, I'd have "compiled" it into an add, store sequence and removed 15
operators from the interpreting engine.

It seems that precedence for +- and */% exist.

it really helps to have one machine running Linux with PERL and another
running DOS and ACC.EXE

The following script is VERY raw. I doubt it decompiles a single one of
Raven's scripts (only has primitive opcodes).

Usage:
behaviordump.perl < script.o


#!/usr/bin/perl

@opeqnames = ("addto", "subfrom", "multwith", "divinto", "modof");
@vartypes = ("lvar", "mvar", "gvar");
@opnames = ("add", "sub", "mult", "div", "mod");

sub int_at
{
local ($offset) = @_;
return unpack("I", substr($behavior, $offset, 4));
}

sub decode
{
local ($idx, $base) = @_;
local ($offset) = $idx + $base;
local ($opcode) = &int_at($offset);
local ($arg1) = &int_at($offset + 4);
local ($arg2) = &int_at($offset + 8);
local ($advance, $str); # multiply $advance by 4 before returning
if ($opcode == 1) {
$advance = 1;
$str = "ret";
} elsif ($opcode == 3) {
$advance = 2;
$str = "literal $arg1";
} elsif ($opcode >= 14 && $opcode < 19) {
$advance = 1;
$str = $opnames[$opcode-14];
} elsif ($opcode >24 && $opcode<=27) {
$advance = 2;
$vartype = $vartypes[$opcode-25];
$str = "store $vartype[$arg1]\n";
} elsif ($opcode > 27 && $opcode<=30) {
$advance = 2;
$vartype = $vartypes[$opcode-28];
$str = "load $vartype[$arg1]";
} elsif ($opcode>30 && $opcode <46) {
$advance = 2;
$op = $opeqnames[($opcode-31)/3];
$vartype = $vartypes[($opcode-31)%3];
$str = "$op $vartype[$arg1]\n";
} elsif ($opcode == 52) {
$advance = 2;
$str = "br $arg1\n";
} elsif ($opcode == 54) {
$advance = 1;
$str = "endcase (pop)\n";
} elsif ($opcode == 69) {
$advance = 1;
$str = "restart";
} elsif ($opcode == 79) {
$advance = 2;
$str = "bz $arg1\n";
} elsif ($opcode == 84) {
$advance = 3;
$str = "case ==$arg1 br $arg2";
} else {
$advance = 0;
$str = "unknown";
}
return ($advance*4, sprintf("%04d\t%s", $offset, $str));
}

undef $/;
$behavior = <>;

$diroff = &int_at(4);

$dirlen = &int_at($diroff);
for ($i=0; $i<$dirlen; $i++) {
local ($idx) = ($i*3+1)*4+$diroff;
print "#", &int_at($idx), "\t";
local ($offset) = &int_at($idx+4);
local ($len);
if ($i+1<$dirlen) {
$len = &int_at($idx+16) - $offset;
} else {
$len = $diroff - $offset;
}
$j = 0;
while ($j<$len) {
local ($advance, $str) = &decode($j,$offset);
if ($advance > 0 && $advance+$j <= $len) {
print "$str\n\t";
$j += $advance;
} else {
last;
}
}
while ($j<$len) {
printf "%5d ", &int_at($j+$offset);
if (($j/4+1)%10 == 0) {
print "\n\t";
} else {
# print "\t";
}
$j+=4;
}
print "\n";
}

$stroff = $diroff + ($dirlen*12 + 4);

$nstrs = &int_at($stroff);

for ($i=0; $i<$nstrs; $i++) {
local ($offset) = &int_at($stroff+($i+1)*4);
local ($tmp) = substr($behavior, $offset);
if ($tmp =~ /^([^\0]*)/) {
print "String $i: $1\n";
} else {
warn "problem extracting string #$i from offset $offset\n";
}
}

------------------------------

From: Queue <queue@aros.net>
Date: Thu, 9 Nov 1995 23:28:43 -0700 (MST)
Subject: Re: Thing height/width

>
> > > hm .. what's missing from the specs right now regarding scripts?
> >
> > Also Thing heights and radius.
>
> Sigh. Is this a hint that I should keep working on HxHE (the Hexen
> version of DHE) and post the Thing results to everyone? I've already got
> part of it done, I know there are over 2000 Frames in this sucker. Over
> twice as big as Doom 2 in that respect...
>
> Greg
>

------------------------------

From: DTeeter@AOL.COM
Date: Fri, 10 Nov 1995 01:34:53 -0500
Subject: Scripting in Hexen vs Quake

Hi,

I may be going out on a limb a bit, but I am guessing that a lot of people
out there are wondering wether they should go to the trouble of learning
Hexen's scripting language or just wait for Quake to come out. (This is
doubly complicated by the rumors of a mid 96 release for Quake)

Of course, if Hexen's and Quake's scripting languages are very simular, then
now is a great time to start learning...

My question is (for those in the know) how simular are Hexen's and Quake's
scripting languages?

Also, for those of us who don't know C, can you point the way to some
resources we can use to bone up on this new scripting stuff...

Thanks for any info,


Dan Teeter (DTeeter@aol.com or Dan@inchq.com)



***Fake signature***
Check out Surreal, Surreal2, or Grok-It at the standard FTP sites
**************************************************************************

------------------------------

From: mmathews@genesis.nred.ma.us
Date: Fri, 10 Nov 95 01:19:30 -0500
Subject: Re: Re: Blimey, old message ahoy.

Looking at Hexen map01 with DEU 5.3 PM, the glass pain (linedef) has a
special type #80 ACS Execute script: 1 map: 1
The linedef also requires line flag bit 10 set (Player crosses the line).

So, yes its using a Script.


>
> In your message dated Thursday 9, November 1995 you wrote :
> > Jim Wraith <jim@kildare.demon.co.uk> ,in message <695@kildare.demon.co.uk>,
> wro
> > te:
> >
> > > Okay, nice one. Now, I've got another question (aaaaarrrgghh!!).. How the
> s
> > >> meg
> > > do I make smashing windows???
> >
> > tsk tsk tsk. RTFW (read the fucking WAD :)
> >
>
> I've tried! My best guess is that the textures are setup like they are (lower
> as the whole window, normal as the 'remains'), and that it is an instant floor
> lower. Somehow the sound and graphics have to go off as this happens.
>



Mark Mathews mmathews@genesis.nred.ma.us TEAM OS/2, TEAM DEU, TEAM WOLF3D
Are you using DEU, WARM or DEUTEX for DOOM? WHY NOT??

------------------------------

From: Olivier <montanuy@lsun80.lannion.cnet.fr>
Date: 10 Nov 95 10:51:59+0100
Subject: Re: doom-editing-digest V1 ?475

>> Wouldn't id have acess to Ravens development tools anyway?

>Heh heh. Of course, since i wrote them.
>+-----------------------------+
>| John Romero |
>| id Software, inc. |
>| johnr@idsoftware.com |
>| 214.613.3589.11 |
>+-----------------------------+

Gosh, and I thought John had better things to do. Like writing
QuakeEd. So he can write a quake editor and an hexen editor at
the same time, while playing deathmatch half of the day?

However, that confirms the impression that the hexen script language
may be real close to .QP, and that the intermediary form of .QP might
be that strange 'compiled' form of hexen behavior.

Another reason for Luc to build a hexen script decompiler.




------------------------------

From: jelson@conline.com (Jim Elson)
Date: Fri, 10 Nov 1995 04:13:04 -0600
Subject: Re: OFFSUB: legal question

At 05:35 PM 11/9/95 -0500, doom-editing@nvg.unit.no wrote:
>According to Erwen L. Tang:
>>
>> Sorry for this offsub message:
>>
>> After reading all the legal stuff on this list the past
>> weeks, I want to ask if it's legal for me to take sprites out
>> of the doom2.wad and edit them (cut&paste) and use them in my
>> homepage.
>>
> Yeah that's pretty much ok, since you're not selling
>your home page to anyone (and everybody else seems to do it!).

Well, that's just because id "looks the other way." Any usage of
their copyrighted artwork without written permission is a
copyright infringement. About the only way you can reproduce
any of their artwork without infringement is by it consituting
"fair use." This is something of a gray area, but, for example,
if you were to reproduce a sprite or texture in the context of
an academic paper published in a professional journal, there is
little doubt that that consitutes "fair use." However, most
would still ask permission to use it a curtesy if the copyright
owner(s) can be contacted.

- --H2HMud
============================================================================
H2HMud NorthAmerican DeathMatch Tourney
Promo/Marketing Coordinator for "The New Technology: Evilution"
- ----------------------------------------------------------------------------
jelson@conline.com; WEB page ==> http://www.conline.com/~jelson/index.html


------------------------------

From: "Luc Cluitmans" <L.J.M.Cluitmans@ele.tue.nl>
Date: Fri, 10 Nov 1995 12:08:58 MET-2DST
Subject: hexen specs omissions (was: doom-editing-digest V1 #473)

Ben Morris wrote:

> hm .. what's missing from the specs right now regarding scripts?

Well, having tried to decompile some scripts some things come to my
mind:
- - special code 138 (Floor_Waggle) is missing
- - If you specify 0 to specials that take a MAPxy arguments (like
ACS_EXECUTE) the special refers to the current map.
- - For people wanting to dive deeper in the script workings: notice
that ACC has a debug flag.
- - using the CODE flag adds 1000 to the effective script number. Some
scripts are offset 1200 (or is it 1250): what source statement
makes this happen?

Luc Cluitmans.



------------------------------

From: "Luc Cluitmans" <L.J.M.Cluitmans@ele.tue.nl>
Date: Fri, 10 Nov 1995 13:33:49 MET-2DST
Subject: Re: doom-editing-digest V1 #473

> > hm .. what's missing from the specs right now regarding scripts?
>
> Decompilation info.
>
> If I had more time on my hands I'd test-compile several scripts and use the
> output to figure out the low-level constructs that correspond to higher-level
> programming constructs and write a decompiler (not just a disassembler) that
> emits code suitable for recompilation. A simple recursive-descent parser
> written in PERL would be just fine (and might even be portable to DOS if
> written with a minimum of care).
>
> Now the symbol information would be lost, but oh well. At least it would
> help us figure out their scripts.

I'm already working on that (one of my previous posts had some sample
output of an early stage of the decompiler). You can get a lot of
info on how the scripts are built by using the debug option of ACC
and studying the debug output.

Luc Cluitmans

------------------------------

From: "Luc Cluitmans" <L.J.M.Cluitmans@ele.tue.nl>
Date: Fri, 10 Nov 1995 13:45:49 MET-2DST
Subject: Re: script decoding.

> Well, I'm doing that blackboxing that I talked about earlier. I do have a
> question. What's the restart keyword do?

Well, it restarts the script. I don't know why they didn't use a
while(TRUE) construct though. Probably some kind of remains from
previous versions of the compiler.

Luc.

------------------------------

From: "Luc Cluitmans" <L.J.M.Cluitmans@ele.tue.nl>
Date: Fri, 10 Nov 1995 13:39:25 MET-2DST
Subject: Re: doom-editing-digest V1 ?475

> >Heh heh. Of course, since i wrote them.
> >+-----------------------------+
> >| John Romero |
> >| id Software, inc. |
> >| johnr@idsoftware.com |
> >| 214.613.3589.11 |
> >+-----------------------------+
>
> Gosh, and I thought John had better things to do. Like writing
> QuakeEd. So he can write a quake editor and an hexen editor at
> the same time, while playing deathmatch half of the day?
>
> However, that confirms the impression that the hexen script language
> may be real close to .QP, and that the intermediary form of .QP might
> be that strange 'compiled' form of hexen behavior.
>
> Another reason for Luc to build a hexen script decompiler.

Not exactly an editor, but indeed I'm working on a script decompiler.

I thought about writing an editor from scratch but that is, well,
quite some work. First problem: has anyone a good algorithm to
determine in what sector/line/vertex a mouseclick arrives???
Any pointers to good computational geometry textbooks?

Luc.


------------------------------

From: "Luc Cluitmans" <L.J.M.Cluitmans@ele.tue.nl>
Date: Fri, 10 Nov 1995 14:35:07 MET-2DST
Subject: Re: hexen specs omissions (was: doom-editing-digest V1 #473)

> - using the CODE flag adds 1000 to the effective script number. Some
Oops, I meant ^^^^ OPEN, sorry.

> scripts are offset 1200 (or is it 1250): what source statement
> makes this happen?

Luc.


------------------------------

From: Aragorn! <bsc4074@hades.dcs.napier.ac.uk>
Date: Fri, 10 Nov 1995 14:06:41 +0000 (GMT)
Subject: Re: doom-editing-digest V1 ?475

On 10 Nov 1995, Olivier wrote:

>
> >> Wouldn't id have acess to Ravens development tools anyway?
>
> >Heh heh. Of course, since i wrote them.
> >+-----------------------------+
> >| John Romero |
> >| id Software, inc. |
> >| johnr@idsoftware.com |
> >| 214.613.3589.11 |
> >+-----------------------------+
>
> Gosh, and I thought John had better things to do. Like writing
> QuakeEd. So he can write a quake editor and an hexen editor at
> the same time, while playing deathmatch half of the day?

Maybe he's just a total workaholic.

------------------------------------------------------------------
| So remember when your feeling very small and insecure |
| How amazingly unlikely is your birth |
| And pray that there's intelligent life somewhere up in space |
| Because there's bugger all down here on Earth. |
| |
| Aragorn! ,,, email: bsc4074@dcs.napier.ac.uk |
| (o o) http:/www.dcs.napier.ac.uk/~bsc4074 |
------------------ooO-(_)-Ooo-------------------------------------


------------------------------

From: Robert Forsman <thoth@cis.ufl.edu>
Date: Fri, 10 Nov 1995 11:17:55 EST
Subject: Re: Scripting in Hexen vs Quake

DTeeter@AOL.COM ,in message <951110013452_102878576@emout04.mail.aol.com>, wrot
e:

> Also, for those of us who don't know C, can you point the way to some
> resources we can use to bone up on this new scripting stuff...

Actually, it's not that difficult. I'd like to get permission to post the
source for every script in HeXen so you people can learn from examples, but
that's not going to happen :)

You can guess from my previous message that I am very close to having a
decomiler. This morning I ran strings (a very useful Unix command) on the
ACC.EXE binary. It handed me my last few opcodes on a silver plate.

I have a full disassembler now, and am in the process of adapting it into a
decompiler. I might have a working product by this afternoon.

------------------------------

From: cmacord@fedex.com (Charlie Acord)
Date: Fri, 10 Nov 95 11:07:14 CST
Subject: Re: Scripting in Hexen vs Quake

>...the rumors of a mid 96 release for Quake)

I'll probably get flamed for this, but I just want to get it on record because
I have seen no mention of it by anyone else.

id is buying the TNT WAD to create a new "Doom III-type" product to be released
into the retail channel in January. Isn't it obvious, then, that they are doing
this because Quake is not gonna make Christmas or New Year's? If Quake was on
schedule, why in the world would they want to waste their time on any other
product or detract attention from Quake? Remember, according to Brother Romero,
"Quake will be to Doom as Doom was to Pong" or words to that effect. He's
talking about a game that will cause an order of magnitude more impact on the
gaming world than Doom did. Obviously it is woefully behind schedule and they
jumped on the TNT WAD at the last possible minute as a filler.

Opinions, flames, curses....?


Charlie
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Charlie Acord, "The Green Marine" | "Wow, I just found the BFG-9000!!!"
Telecom Div/FedEx, Memphis, TN | "No kidding?"
(Home of BBQ, the Blues, and Elvis) | "Yeah, turn around and I'll show ya."
Internet: cmacord@fedex.com |
CompuServe: 75143,621 | #include <std_disclaimer.h>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


------------------------------

From: Jim Wraith <jim@kildare.demon.co.uk>
Date: Fri, 10 Nov 1995 18:57:49 GMT
Subject: Re: Re: doom-editing-digest V1 ?475

In your message dated Friday 10, November 1995 you wrote :
> On 10 Nov 1995, Olivier wrote:
>
> >
> > >> Wouldn't id have acess to Ravens development tools anyway?
> >
> > >Heh heh. Of course, since i wrote them.
> >
> > Gosh, and I thought John had better things to do. Like writing
> > QuakeEd. So he can write a quake editor and an hexen editor at
> > the same time, while playing deathmatch half of the day?
>
> Maybe he's just a total workaholic.
>

Sorry, I just can't picture John Romero:

1) Doing work that doesn't involve Quake [1],
2) Wearing a tuxedo/fluffy rabbit suit/bikini etc..

[1] Why would he work on anything else!?!

------------------------------

From: matt.tagliaferri@pcohio.com (Matt Tagliaferri)
Date: Fri, 10 Nov 1995 15:42:00 -0500
Subject: Stand Alone Node builder

Anyone updated their stand-alone Node builder to read Hexen-WADs yet?

matt tag
- ---
þ OLX 2.1 TD þ Stamp out and eradicate superflous redundancies!

_ _ ---------------------------------------------------------------
|_|_| PC-OHIO PCBoard OIS pcohio.com HST 16.8: 216-381-3320
|_|_| The Best BBS in America Cleveland, OH V34+ 33.6: 216-691-3030
---------------------------------------------------------------

------------------------------

From: Jim Wraith <jim@kildare.demon.co.uk>
Date: Fri, 10 Nov 1995 07:53:13 GMT
Subject: Re: Thing height/width

In your message dated Thursday 9, November 1995 you wrote :
> > > hm .. what's missing from the specs right now regarding scripts?
> >
> > Also Thing heights and radius.
>
> Sigh. Is this a hint that I should keep working on HxHE (the Hexen
> version of DHE) and post the Thing results to everyone? I've already got
> part of it done, I know there are over 2000 Frames in this sucker. Over
> twice as big as Doom 2 in that respect...
>

That's because of crap like fragments of glass, and leaves

------------------------------

From: vile@dazed.nol.net
Date: Fri, 10 Nov 1995 17:15:55 -0600
Subject: Re: Saving Hexen wad

>
>I tried Saving a Hexen Wad and running it in Hexen. It crashed with something
>like: numlumps >= xx. Am I missing something? Do I have to save BEHAVIOR and
>and MAPINFO lumps? Anybody know what the Hexen wad directory should look like
>for single WADS? This is not really spelled out in the specs.
>
>
From what I have been able to piece together from looking at doom strings
and stuff with dehack, and from talking to various people is that a wadfile
is just a collection of "lumps". Thats why you can have not only demo lmps
but sprites and stuff as well. And numlumps has to be how many lumps are in
a wad. I dunno why the thing would be able to use only a limited number of
lumps though. Perhaps its because the info over which lumps are in the wad
is stored in memory and if that table gets too large it can make the game
crawl. If Romero wants to he might could help us out here ;-)

- -ArchVile
============================================================================


------------------------------

From: "John W. Anderson" <76132.3415@COMPUSERVE.COM>
Date: 10 Nov 95 18:29:46 EST
Subject: Stand Alone Node builder

Matt --

ZenNode v0.95 has been available for a couple of weeks, and it rebuilds the
nodes for HEXEN PWADs just fine. It is also included with our DETH v2.67
editor (DETH267.ZIP), the latest version of which (update files in HETH-
b13.ZIP) has complete HEXEN edit ability. Inserting scripts is another matter
and being worked on.

You can get ZenNode at ftp.cdrom.com as ZEN095.ZIP. It works in DOS, Win95,
NT, and OS/2.

- - John

- -----------------------
John W. Anderson
dr_sleep@cis.compuserve.com @ 10-Nov-95 18:24:35 EST


------------------------------

End of doom-editing-digest V1 #476
**********************************

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT