The Supreme Topic of Miscellaneous Knowledge "Trivia, Research, etc."
#1204 Posted 07 May 2017 - 04:55 AM
#1205 Posted 07 May 2017 - 05:41 AM
#1206 Posted 10 May 2017 - 10:45 PM
Marphy Black, on 05 May 2017 - 08:47 PM, said:
A bit late to the party, but wouldn't it be hilarious if the cult was simply a film crew making a movie, all the instances of aggression from both sides were just a series of misunderstandings?
#1207 Posted 11 May 2017 - 03:38 AM

Rather unnecessarily, this animation has full 8-sided rotations even though you're pretty much always only ever going to see the Lightning Guard from the front perspective when he steals your weapon. Perhaps the explanation behind this can be derived from the sprite names: LIHUSE. Clearly these sprites weren't originally intended for weapon stealing at all. They were meant for a generic "Use" state.
I thought I'd seen this pose in this context before, and lo and behold, reviewing Joe's actor capture session videos shows that the Low Guard, Death Monk, and Deathfire Monk also had these poses recorded:
https://youtu.be/zUbuFR6tVrc?t=9m28s - Low Guard
https://youtu.be/QPyeeSKlnWY?t=1m47s - Death Monk
https://youtu.be/QPyeeSKlnWY?t=7m58s - Deathfire Monk
And while we don't have any visual confirmation for the rest, checking the source code, we can see a whole commented out section for most of the enemies' Use states.
/*
{&s_lowgrduse1,&s_highgrduse1,&s_opuse1,&s_strikeuse1,
&s_blitzuse,&s_enforceruse1,NULL,NULL,
NULL,&s_darianuse1,NULL,NULL,
NULL,NULL,NULL,NULL},*/
{0},
Curiously, though, the Use states for the Death Monk and Deathfire Monk are null'd out here, making me think the Use state was either cut early before being implemented for those two, or the monk types were not meant to have a Use state at all, despite having already recorded said frames.
The big question still on my mind: What exactly was this Use state intended for? The only object interaction I can recall enemies performing is opening doors. Even if doors were the sole intended use case, there's still the question of why the monks lack the Use state. Maybe they just interacted through intangible sorcery powers?
Technically, we do have one other example of the Use sprites being used in-game: "General" Darian pressing the spear stabbing buttons in his cage employs his DARUSE frames, the only other character to have such frames in the released game files. However, as you can see from the commented out code section above, this isn't necessarily reflective of the generic Use state all enemies were meant to have.
As a side note, we do have evidence that the missing Use frames were fully digitized for all of the actors. In the ROTT manual, we can see the Death Monk using his Use frames in the bottom-left flip book on pages 24 and 26.
#1208 Posted 11 May 2017 - 04:55 AM
#1209 Posted 17 May 2017 - 01:33 PM
Wanted to give LD a quick spin again...
M4 has a quake effect that has always been broken, decided to do a quick fix by adding some triggers and such.
Mostly was curious about that building which gets ripped apart.
I'm guessing that this is the first instance that they tried Quake fx in the game and it appropriately gets done in a Hollywood blvd. themed area, probably wanted to combine those two early on.
#1210 Posted 20 May 2017 - 02:55 AM
http://www.arcadeatt...k/scott-miller/
http://www.arcadeatt.../ken-silverman/
http://www.arcadeatt...uk/jon-st-john/
#1211 Posted 20 May 2017 - 03:08 AM
oasiz, on 17 May 2017 - 01:33 PM, said:
Wanted to give LD a quick spin again...
M4 has a quake effect that has always been broken, decided to do a quick fix by adding some triggers and such.
Mostly was curious about that building which gets ripped apart.
I'm guessing that this is the first instance that they tried Quake fx in the game and it appropriately gets done in a Hollywood blvd. themed area, probably wanted to combine those two early on.
Looks like something that can be emulated pretty easily with the sliding door effect.
#1212 Posted 20 May 2017 - 03:22 AM
Quake is one of the few "wallpoint mover" effects along with curtain/bridge that exist in Duke.
Mostly was curious about it's application in this map since that building ripping apart is something I haven't really seen in maps.
#1213 Posted 21 May 2017 - 08:35 AM

Not sure why this technique warrants endless spam on the player, but it's amusing nonetheless.
#1214 Posted 27 May 2017 - 03:01 AM
The notable points:
- Bear Traps are referred to as a weapon that you could lay down and would latch onto enemies to slow them down. No Bear Traps can be found in the final files, but there exists a relevant text line in the 0.7 alpha demo's USER.CON:
definequote 58 BEAR TRAP!
In the final game, this quote is designated for "POWDER KEG!", which is a strong hint that the cut Bear Trap was previously meant for the Power Keg's weapon slot. In a sense, the Powder Keg does seem similar in function to the Bear Trap's description since it's an item you can drop at will, but otherwise, I couldn't find any other remnants of the trap's behavior.
- A cowboy boot kick is mentioned, most likely a direct reuse of Duke's mighty foot feature. The final game does not have any such quick melee feature.
- Perhaps most intriguing, a pre-finale sub-boss by the name of William Joseph Beaudrey is brought up. He's described as a wealthy landowner who acted as an alien collaborator, becoming a living head preserved in goo who rides around in some sort of tractor vehicle. Again, there's nothing left of this boss in the files. The only hint that he was even planned is the name of the penultimate map, E2L7: Beaudry Mansion. That the level takes place in an extravagant mansion does match his character description. However, nothing in the finished level suggests that a boss battle would have occurred here. There's a big open field at the end, but that's just a transition to the area seen in the next map, ENDGAME: Close Encounters, where you fight the UFO and eventually the Alien Queen end boss. Since the article's enemy descriptions are accurate, including spoilers for the rest of the bosses, I would have to believe that Xatrix did seriously consider including this Beaudry guy as a whole extra boss encounter. He had to have been cut pretty late, though.
And not a cut feature, but apparently the Skinny Old Coot's appearance is supposed to be based on Ross Perot. I wouldn't have guessed, but I do see the resemblance now.
#1215 Posted 27 May 2017 - 08:04 AM
#1216 Posted 05 June 2017 - 10:49 PM

Eric Boltjes is one of the ten credited mappers on the project. For the record, the expansion includes 14 levels, and 2 of those were inconsequential episode openers with no actual gameplay. Eric later ended up at Guerrilla Games where he worked on the Killzone series. Incidentally, fellow Route 66 mapper Cho Yan Wong (whose name recently came up in the Deadly Kiss thread) also went on to work on Killzone at Guerrilla Games.
I also found this secret message in the OOB area at the beginning of the final map E2L7: Oddity Museum.

Unlike most messages, this whole spiel is actually a single ART tile (except for the alien head) rather than individually placed letter sprites, so it was easy to find.
I've only just begun Rides Again, but I've already stumbled into a strange oddity while converting the soundtrack. The lyrics in the game version of Mojo Nixon's "Cybersex" track are different compared to his later studio album release.
Redneck Rampage Rides Again - Cybersex third verse:
Game lyrics said:
And I can see your very bold font
Why you tiltin' my hard drive?
Baby, please don't taunt
I don't wanna log on, baby
I just wanna slip my log in
Digital's all right with me
As long you don't cut my skin
Sock Ray Blue album - Cybersex third verse:
Album lyrics said:
And I can see your very bold font
Yeah, postcards from the King
That's the only email I want
Well, I don't wanna log on
Slip my log in
Wanna point and click my joystick
In your silicone valley of sin
I can't offer any particular explanation for this. As far as I can tell, the album with Cybersex was released about a year after Rides Again. I imagine the change wasn't actually directly related to the game, but there you go.
#1217 Posted 05 June 2017 - 11:41 PM
Before you ask, he did not have a copy of the original images.
#1218 Posted 06 June 2017 - 01:21 AM
Marphy Black, on 05 June 2017 - 10:49 PM, said:
As an avid Mojo fan I can tell you there is probably no reason beyond "just because." Mojo would do a lot of takes and change lyrics. He did the same thing with High School is a Prison which appeared on Rock N Roll High School Part 2. Sometimes these minor lyric changes would just evolve into completely new songs.
#1219 Posted 09 June 2017 - 02:44 AM
It's not actually RARE (since it was all found on this forum), but the word was added for the sake of clickbait.
All the credit goes to Jimmy and Chuck Jones (of course) - I just made a little slideshow with some classic music to go with it.
This post has been edited by Sanek: 09 June 2017 - 02:44 AM
#1220 Posted 09 June 2017 - 04:51 PM
> ShadowWarriorx64.exe!PlaySound(int num, int * x, int * y, int * z, int flags) Line 831 C++
ShadowWarriorx64.exe!_PlayerSound(char * file, int line, int num, int * x, int * y, int * z, int flags, PLAYERstruct * pp) Line 706 C++
ShadowWarriorx64.exe!DoSoundSpotMatch(short match, short sound_num, short sound_type) Line 1377 C++
ShadowWarriorx64.exe!DoMatchEverything(PLAYERstruct * pp, short match, short state) Line 1696 C++
ShadowWarriorx64.exe!DoVator(short SpriteNum) Line 497 C++
ShadowWarriorx64.exe!SpriteControl() Line 7037 C++
ShadowWarriorx64.exe!domovethings() Line 8079 C++
ShadowWarriorx64.exe!MoveLoop() Line 3072 C++
ShadowWarriorx64.exe!RunLevel() Line 3235 C++
ShadowWarriorx64.exe!NewLevel() Line 1648 C++
ShadowWarriorx64.exe!Control(int argc, const char * const * argv) Line 2965 C++
ShadowWarriorx64.exe!app_main(int argc, const char * const * argv) Line 4105 C++
ShadowWarriorx64.exe!WinMain(HINSTANCE__ * hInst, HINSTANCE__ * hPrevInst, char * lpCmdLine, int nCmdShow) Line 496 C++
This post has been edited by icecoldduke: 09 June 2017 - 04:54 PM
#1221 Posted 11 June 2017 - 01:33 PM
Easter Eggs
- At the cargo hold, there is a well-hidden smuggled cigarette stack with the names "Pest" "Marlborough" "Camper" and "Dukex", which are direct references to cigarettes "West" "Marlboro" "Camel" and "Durex" condoms.
I tried my best, but no luck. Not even with Mapster.
#1222 Posted 11 June 2017 - 03:23 PM
Edit: I went ahead and removed the text from the Wiki, but does anyone think I should go back and leave the cigarette smuggling reference, or does anyone have any idea what the intent of this so-called easter egg could be?
Attached File(s)
-
scrn0000.jpg (586.56K)
Number of downloads: 696
This post has been edited by Rellik: 11 June 2017 - 03:41 PM
#1223 Posted 11 June 2017 - 11:14 PM
This post has been edited by Nancsi: 11 June 2017 - 11:16 PM
#1224 Posted 15 June 2017 - 03:52 PM
/*************************************************************************
POSITION VARIABLES:
POSX is your x - position ranging from 0 to 65535
POSY is your y - position ranging from 0 to 65535
(the length of a side of the grid in EDITBORD would be 1024)
POSZ is your z - position (height) ranging from 0 to 65535, 0 highest.
ANG is your angle ranging from 0 to 2047. Instead of 360 degrees, or
2 * PI radians, I use 2048 different angles, so 90 degrees would
be 512 in my system.
SPRITE VARIABLES:
EXTERN short headspritesect[MAXSECTORS+1], headspritestat[MAXSTATUS+1];
EXTERN short prevspritesect[MAXSPRITES], prevspritestat[MAXSPRITES];
EXTERN short nextspritesect[MAXSPRITES], nextspritestat[MAXSPRITES];
Example: if the linked lists look like the following:
旼컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴커
? Sector lists: Status lists: ?
쳐컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴캑
? Sector0: 4, 5, 8 Status0: 2, 0, 8 ?
? Sector1: 16, 2, 0, 7 Status1: 4, 5, 16, 7, 3, 9 ?
? Sector2: 3, 9 ?
읕컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴켸
Notice that each number listed above is shown exactly once on both the
left and right side. This is because any sprite that exists must
be in some sector, and must have some kind of status that you define.
Coding example #1:
To go through all the sprites in sector 1, the code can look like this:
sectnum = 1;
i = headspritesect[sectnum];
while (i != -1)
{
nexti = nextspritesect[i];
//your code goes here
//ex: printf("Sprite %d is in sector %d\n",i,sectnum);
i = nexti;
}
Coding example #2:
To go through all sprites with status = 1, the code can look like this:
statnum = 1; //status 1
i = headspritestat[statnum];
while (i != -1)
{
nexti = nextspritestat[i];
//your code goes here
//ex: printf("Sprite %d has a status of 1 (active)\n",i,statnum);
i = nexti;
}
insertsprite(short sectnum, short statnum);
deletesprite(short spritenum);
changespritesect(short spritenum, short newsectnum);
changespritestat(short spritenum, short newstatnum);
TILE VARIABLES:
NUMTILES - the number of tiles found TILES.DAT.
TILESIZX[MAXTILES] - simply the x-dimension of the tile number.
TILESIZY[MAXTILES] - simply the y-dimension of the tile number.
WALOFF[MAXTILES] - the actual 32-bit offset pointing to the top-left
corner of the tile.
PICANM[MAXTILES] - flags for animating the tile.
TIMING VARIABLES:
TOTALCLOCK - When the engine is initialized, TOTALCLOCK is set to zero.
From then on, it is incremented 120 times a second by 1. That
means that the number of seconds elapsed is totalclock / 120.
NUMFRAMES - The number of times the draw3dscreen function was called
since the engine was initialized. This helps to determine frame
rate. (Frame rate = numframes * 120 / totalclock.)
OTHER VARIABLES:
STARTUMOST[320] is an array of the highest y-coordinates on each column
that my engine is allowed to write to. You need to set it only
once.
STARTDMOST[320] is an array of the lowest y-coordinates on each column
that my engine is allowed to write to. You need to set it only
once.
SINTABLE[2048] is a sin table with 2048 angles rather than the
normal 360 angles for higher precision. Also since SINTABLE is in
all integers, the range is multiplied by 16383, so instead of the
normal -1<sin(x)<1, the range of sintable is -16383<sintable[]<16383
If you use this sintable, you can possibly speed up your code as
well as save space in memory. If you plan to use sintable, 2
identities you may want to keep in mind are:
sintable[ang&2047] = sin(ang * (3.141592/1024)) * 16383
sintable[(ang+512)&2047] = cos(ang * (3.141592/1024)) * 16383
NUMSECTORS - the total number of existing sectors. Modified every time
you call the loadboard function.
***************************************************************************/
#1225 Posted 17 June 2017 - 01:17 PM
Cuss Pack README.TXT said:
However, the provided LN_SORRY.VOC sound is actually the line "Well, shit fire and fuck me running," which makes this VOC a duplicate of the included LN_WHUP.VOC which itself is also a duplicate of the included E1L1.VOC.
For the record, I'm not sure what the context of the original non-cuss LN_SORRY.VOC line is. The non-cuss line has Leonard say "Sorry, uh, I guess I just got caught up." This VOC isn't called in the CON code, and I haven't heard it in-game, so its use must be buried in the compiled code (assuming it's used at all).
#1227 Posted 27 June 2017 - 07:56 PM
There are at least bird chirping and explosion sounds which were also used in Shadow Warrior in this movie. This one amuses me in particular because I always thought Wang's voice sounds like an unconvincing Asian Scooby Doo impersonator. But yeah, kinda weird, the explosion sound is way clearer than it is in SW, but the ambient bird chirp fades out partway through. I can rip a few seconds of these two scenes from the movie if anyone wants me to?
Really should start maintaining a list of "Shit what uses General 6000" somewhere for the hell of it.
Edit: Here you go - https://www.mediafir...j0fv7dvdpg7bqan
I think there were some door sounds too, but I couldn't find them again, might have been one of the other movies.
Also did notice how Banjo Kazooie has one of the water splash sounds from SW too, but it usually mixes with another splash and is thus not immediately obvious, only realized when my N64 didn't play one of them whilst editing a Let's Play of the game.
This post has been edited by High Treason: 27 June 2017 - 08:15 PM
#1228 Posted 01 July 2017 - 07:57 AM
If Apogee/3DRealms was considered one of the major gaming companies back in the day (the distributed Id's Wolfenstein and Keen games), why they tried to sell DN3D and SW via other companies, like FormGen or GT Interactive?
#1229 Posted 01 July 2017 - 10:54 AM
Sanek, on 01 July 2017 - 07:57 AM, said:
If Apogee/3DRealms was considered one of the major gaming companies back in the day (the distributed Id's Wolfenstein and Keen games), why they tried to sell DN3D and SW via other companies, like FormGen or GT Interactive?
FormGen/GT had access to retail shelf space.
#1230 Posted 01 July 2017 - 04:45 PM
#1231 Posted 02 July 2017 - 06:27 PM
- The acronym "RRGH" appears several times in the game files: one con file is named RRGH.CON, "RRGH" is used in several variable names, and most tellingly, this comment appears in DEER.CON:
// RRGHBETA 1.02 - space btwn leavetrax for walk is now actioncount 4
Based on this acronym, I think it's reasonable to assume that the original working title for the game was Redneck Rampage Gone Huntin'. The "Rampage" was dropped possibly to eliminate any suggestions of overt violence (it's just a T-rated hunting game, after all), and the "Gone Huntin" was changed to "Deer Huntin'" almost certainly to make it more closely compete with the successful Deer Hunter series of the time.
- In USER.CON, two difficulty settings are defined:
defineskillname 0 AMATEUR defineskillname 1 EXPERT
However, no such difficulty selection is available in the game.
- Also in USER.CON, a seventh map is referenced:
definelevelname 0 0 e1l1.map 04:45 03:53 LAKE SWAMPY definelevelname 0 1 e1l2.map 04:05 03:46 SAGEBRUSH FLATS definelevelname 0 2 e1l3.map 00:00 00:00 OZARK FOREST definelevelname 0 3 e1l4.map 00:00 00:00 SNOWBUSH RIDGE definelevelname 0 4 e1l5.map 00:00 00:00 NORTH RANGE definelevelname 0 5 e1l6.map 00:00 00:00 SOUTH RANGE definelevelname 0 6 e1l7.map 00:00 00:00 TEST MAP
No e1l7 is included in the game files, however.
Also of note here are the non-zero par times, both of which are taken from Redneck Rampage Rides Again. Lake Swampy's comes from RA's e1l1, while Sagebrush Flats' comes from RA's e2l1. Hence, Sagebrush Flats probably occupied the e2l1 map slot at some point during development.
This post has been edited by Marphy Black: 02 July 2017 - 06:32 PM

Help
Duke4.net
DNF #1
Duke 3D #1




