Copy Link
Add to Bookmark
Report
Doom Editing Digest Vol. 01 Nr. 018
From: owner-doom-editing-digest
To: doom-editing-digest@nvg.unit.no
Subject: doom-editing-digest V1 #18
Reply-To: doom-editing
Errors-To: owner-doom-editing-digest
Precedence: bulk
doom-editing-digest Monday, 24 October 1994 Volume 01 : Number 018
(Dis)Appearing parts of a level
Re: DOOM II (aka DOOM v1.7) Info
Re: DOOM II (aka DOOM v1.7) Info
DEU 521 GCC ?bug?
some notes on the mus format (fwd)
Re: DEU 521 GCC ?bug?
What sector is thing #NN in?
Re: Two-sided flag on LINEDEF's (and other things)
----------------------------------------------------------------------
From: Gregory Alan Lewis <gregl@umich.edu>
Date: Sun, 23 Oct 1994 01:15:47 -0400 (EDT)
Subject: (Dis)Appearing parts of a level
I just finished experimenting with a little application of the F_SKY1
texture in Doom, with some semi-interesting results. Basically it's the
ability to make parts of a level disappear or re-appear, by making them
look like empty sky. It requires some tinkering to get it to work right,
but once you've got it, it could have some interesting applications...
Comments, anyone?
(Yes, I'm going to post a binary to this group, but hey, it's only 5K!)
It's made for Doom I, works fine in Doom ][ if you change the MAP thing.
Have fun!
Greg Lewis (Tree)
Author, bunch o' stuff
begin 644 dsappear.zip
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
M`'$&5QUZU"+)/@P``%XB```,````````````(`````````!$4T%04$5!4BY7
M04102P$"%``4````"``1!U<=P[0=12<"``"O`P``#``````````!`"````!H
E#```1%-!4%!%05(N5%A44$L%!@`````"``(`=````+D.``````
`
end
------------------------------
From: Kevin Way <kway@omni.voicenet.com>
Date: Sun, 23 Oct 1994 09:49:00 -0400 (EDT)
Subject: Re: DOOM II (aka DOOM v1.7) Info
On Thu, 13 Oct 1994, Marvin Malkowski wrote:
> The situation is this Ver 1.666 is illegal as hell
> Version 1.7 is the legal!
not true. I bought my copy 100% legal, and it's 1.666 not 1.7, Does
anyone have a patch release date, or know if there's major reasons to
patch it?
- -Kevin.
------------------------------
From: nabl@cybernetics.net (Rodney Wise)
Date: Sun, 23 Oct 94 12:06:39 EDT
Subject: Re: DOOM II (aka DOOM v1.7) Info
1.666 is legal Marvin, and personally i can't even see how you drew that conclusion, but anyway.. 1.666 had a few little bugs (mainly with starting places)
so they made 1.7 about halfway through production/distribution. so bout
half of the sold copies are 1.666 half are 1.7 ... in 1.7 there was a phone
number for tech support they had to change, so they made 1.7a, which
was not shipped. and the 1.7a patch should be here in a couple days if it's
not done already (from John Romero's words)
------------------------------
From: "Scott D. Webster" <webstes@iia.org>
Date: Sun, 23 Oct 1994 15:25:48 -0400 (EDT)
Subject: DEU 521 GCC ?bug?
I've been having problems w/ deu521 gcc ver. and I was wondering if it
was a known bug. Deu has occasionally been unable to save my files. It
gives me an error beep and then goes to a text screen and says something
like "unable to open \doom\pwad.wad" and then exits to dos. It seems to
always happen if I try to open more than one .wad with the deu.ini option
and occasionally when I open only one .wad in the deu.ini. I've resorted
to only opening .wads with the "r" command, but it still happens
occasionally. I've been saving very often, just in case.
Another strange thing that happened is that I got an unexplainable HOM after
saving from DEU. I looked at everything and ran the F10 checks again and
nothing seemed to be wrong. I loaded the .wad in doomcad to see if that
program would find any errors that DEU didn't. It said it was fine.
When I saved the .wad form doomcad, however, It worked fine. I got the
same HOM problem after futzing with the same sectors, so that time I
tried using doomcad's nodebld (a separate dos .exe to build your nodes)
and that fixed the problem. Is this also a known bug?
Scott D. Webster Junior, Computer Science - William Paterson College
webstes@iia.org ??????????????????????????????????????????
scottw@deathstar.wilpaterson.ed ?? How many wigs would a whizzywig whiz ??
?? if a whizzywig could whiz wigs? ??
??????????????????????????????????????????
------------------------------
From: Joost Schuur <zxmsu01@aix06.zdv.uni-tuebingen.de>
Date: Sun, 23 Oct 1994 22:46:12 +0100 (MEZ)
Subject: some notes on the mus format (fwd)
joakim erdfelt asked me to post this for him. please do not reply directly
to the sender of this mail, but rather to joakim.erdfelt@swsbbs.com.
/*
ok just some notes on the MUS code.
I'm assuming you understand the MIDI format.
MUS file format is a basically like this...
o Main header.
typedef struct{
unsigned long header; // A string "MUS"+(a right arrow)
=09=09=09=09 // (right arrow) is also commonly
=09=09=09=09 // know as a EOF character.=20
=09=09=09=09 // unsigned long value of 0x1A53554D
unsigned int musbuf_size, // Size of the MUSIC information.
=09=09 musbuf_offset, // Offset in the file where the music
=09=09=09=09 // starts
=09=09 primary_channels, // Primary channels (USE:UNKNOWN)
=09=09 secondary_channels,// Secondary channels (USE:UNKNOWN)
=09=09 patch_num, // Number of patches stored in MUS
=09=09 unknown03;
} Mus_header;
o Patch List
read like this...
void dumppatches(unsigned int length)
{
int i, tempint, cntr;
unsigned char *patchbuf;
patchbuf =3D (unsigned char *)malloc( MusHeader.musbuf_offset-
=09=09=09=09=09 sizeof(Mus_header) );
lseek(musfilehandle,sizeof(Mus_header) );
read(musfilehandle, patchbuf, (MusHeader.musbuf_offset-sizeof(Mus_he=
ader) ) );
myprintf("MUS Patches are not used in MIDI files.\nIgnoring Patches.=
\n");
myprintf("Patches used in MUS ...\n");
for(i=3D0,cntr=3D0;i<length;i++)
{
=09 printf("%6u:",(patchbuf[cntr++])+1);
=09 tempint=3D(patchbuf[cntr++]);
=09 if(tempint=3D=3D0x01) tempint=3D(patchbuf[cntr++]);
=09 printf("%-6u\n",tempint+1);
}
free(patchbuf);
}
o Music Information
stored as a series of "event" all events are similar to MIDI events.
except that MUS stores the "delay between events" and not
"when the event happens"
Also not all controllers are supported. only..
- Program Change/Patch Change
- Bank Select
- Modulation
- Volume
- Panpot
- Expression
- Reverb Depth
- Chorus Depth
- Hold1
- Soft
- RESET : ALL SOUNDS OFF
- RESET : ALL NOTES OFF
- RESET : MONO
- RESET : POLY
- RESET ALL CONTROLLERS
o End of file
MUS code is 0x60 (dont ask why)
in the MIDI2MUS program by Digital Expressions
the means of getting the values for
DLY =3D (Current_RT - Previous_RT) * Corrective
RTQ =3D Current_Dly + Previous_RTQ
Corrective =3D Ticks_per_second_as_defined_as_default_of_140 / TPS
TPS =3D SetTempo * ((tick =86s)/1,000,000)
120 ticks 631578=86s requires a .736842 corrective
120 ticks 500000=86s requires a .583333 corrective
192 ticks 631578=86s requires a .460526 corrective
MUS settempo is default of 192 Qticks at 1371428=86s (0x14ED24)
SO, in other words. if you have a MIDI file that has a tempo of 192 set.
And a SetTempo of 631578 =86s. and you want to convert the MIDI timecode=20
into the MUS timecode using a default of 140 ticks per second (the command=
=20
line option in MIDI2MUS) you first need to figure out the "corrective".
To figure out the "corrective" you need to figure out the TPS.
To do that you need to take the =86s (defined in the MIDI settempo event)
and divide that by 1,000,000 (one million) and multiply that by the SetTemp=
o
Qticks (defined in the MIDI header as Qticks)
Now with this TPS you take the Default of 140 ticks per second and divide
it by the TPS. This is your "corrective"
using this "corrective" you can adjust the MIDI ticks to match those
of a MUS file.=20
WITH THIS Knowledge you can take a MIDI file and convert it to MUS like
this...
Take the MIDI file. read in the headers and store the entire MIDI events
in memory and sort it acording to when the event happens. (event as in=20
keydown, keyup, controller change, etc....) now with a sorted list of all
the events in the MIDI file you have to figure out the "delays" between the
events (even delays of 0 (Zero) are valid) and convert those delays correct=
ly
to the MUS timecode. (Use the "corrective" for this)
SetTempo: 192 Ticks (631578=86s) per Quarter Note.
TPS: 304, Corrective: 0.460526
so if your events are like this...
(the MIDI tempo is 631578us)
(the MUS corrective in this case is .460526)
MIDI event number - MIDI time code - MUS timecode - MUS delay
- ----------------- -------------- ------------ ---------
0 0 0 0
1 0 0 0
2 7 3 3
3 69 31 28
4 75 34 3
5 106 48 14
6 146 67 19
7 190 87 20
8 202 93 6
9 254 116 23
10 262 120 4
11 298 137 17
12 336 154 17
13 382 175 21
14 393 180 5
15 436 200 20
given this example you can see how the conversion works out.
Hope this helps everyone that is bewildered by how MIDI2MUS works..
*/
------------------------------
From: "D.J.S. Damerell" <djsd100@cus.cam.ac.uk>
Date: Sun, 23 Oct 1994 22:35:04 +0000 (GMT)
Subject: Re: DEU 521 GCC ?bug?
On Sun, 23 Oct 1994, Scott D. Webster wrote:
> Another strange thing that happened is that I got an unexplainable HOM after
> saving from DEU. I looked at everything and ran the F10 checks again and
> nothing seemed to be wrong. I loaded the .wad in doomcad to see if that
> program would find any errors that DEU didn't. It said it was fine.
> When I saved the .wad form doomcad, however, It worked fine. I got the
> same HOM problem after futzing with the same sectors, so that time I
> tried using doomcad's nodebld (a separate dos .exe to build your nodes)
> and that fixed the problem. Is this also a known bug?
DEU's node builder is no good, mainly because with the release of
independent node builders it has stopped being upgraded. Try BSP1.2X as a
node builder - it's always performed well for me.
David Damerell, GCV Sauricon. djsd100@cus.cam.ac.uk RL: Trinity, Cambridge
WOODHAL2.WAD on infant2 replacing WOODHALL. METLMAZE.WAD sometime soonish.
|___| All people's aims are unreachable, and their struggles futile. |___|
| | | When you see this true of your own aims, life becomes a vacuum. | | |
------------------------------
From: MSFell@aol.com
Date: Sun, 23 Oct 1994 18:54:12 -0400
Subject: What sector is thing #NN in?
Does anyone have a simple, efficient algorithm to determine what
sector a given thing is in? Any clues as to how id does it?
Pondering briefly, I came up with something like this:
- - Go east from the test-thing's coordinates. Whatever linedef you
cross first, take the sector number from its appropriate sidedef.
- - To discover which linedef is crossed first, use the blockmap to
simplify intersection calculations. Going block by block, test each
linedef that is in that block to see if it is the one.
Obvious weaknesses are the fact that the first "intersect" when heading
east might be at a vertex, which would require much further testing. Also,
the funky "crystal walls" trick of marking both sidedefs with the same
sector number could mess things up.
- --------------------------
Matt Fell (msfell@aol.com)
------------------------------
From: Christopher Wise <WISE@eng2.eng.monash.edu.au>
Date: Mon, 24 Oct 1994 09:23:30 GMT+1100
Subject: Re: Two-sided flag on LINEDEF's (and other things)
> >>Perhaps we need something somewhere which points beginners at *all* of the
> >>necessary documents? Any ideas anyone?
The appendix in Tom Neff's FAQ was pretty good. Why not just send
any extra information to him an get him to include it.
Chris Wise.
------------------------------
End of doom-editing-digest V1 #18
*********************************