wheresthebeef Posted February 28, 2016 I didn't know IDKFA meant "id kicks fucking ass" until the IGN playthrough with Romero a couple years ago. I always thought IDFA meant "Fire arms" and "IDKFA" meant "Keys (and) Fire arms" 0 Quote Share this post Link to post
Tosi Posted February 29, 2016 wheresthebeef said:I didn't know IDKFA meant "id kicks fucking ass" until the IGN playthrough with Romero a couple years ago. I always thought IDFA meant "Fire arms" and "IDKFA" meant "Keys (and) Fire arms" I always thought IDFA was "ID full ammo" and IDKFA was "ID keys full ammo." It could be a double-acronym like BFG. 0 Quote Share this post Link to post
Jaxxoon R Posted February 29, 2016 I kind of want someone to do a cover of DOOM with the original "doooom" voice included, or like made into a choir of sorts. Kind of like Lorcan's remix of Running from Evil that had one singing... well... "run! ing! from! evil!" as punctuation. 0 Quote Share this post Link to post
uhbooh Posted February 29, 2016 In vanilla doom, when the engine calls the unused sound DSCHGUN, it plays DSPISTOL in a higher pitch to simulate a different sound. The pitch shift doesn't happen in source ports because it's done by the DMX sound library. I wonder why this behavior wasn't used in the final product. 1 Quote Share this post Link to post
Hoodie Posted February 29, 2016 wheresthebeef said:I didn't know IDKFA meant "id kicks fucking ass" until the IGN playthrough with Romero a couple years ago. I always remembered the cheat as "I don't know fucking anything" when I first found out about it. 0 Quote Share this post Link to post
SilverIce Posted February 29, 2016 Huh. I always thought IDKFA meant "id's Killer Fucking Arsenal." 0 Quote Share this post Link to post
scifista42 Posted March 1, 2016 IDFA gives you Full Ammo (but no keys), and IDKFA gives you Keys and Full Ammo, so there's that. EDIT: Tosi already said it, I didn't read his post until now. 0 Quote Share this post Link to post
Maes Posted March 1, 2016 The various IDBEHOLDx cheats, if you arrange their final letters in a particular way, spell out RIVALS. 0 Quote Share this post Link to post
Jon Posted March 1, 2016 fraggle said:I've found the omgifol API to be a bit cumbersome and counterintuitive to use. I think my criticism might be that it tries too hard to provide high-level abstractions that I don't necessarily want or need. Often I just want the ability to open a WAD and decode particular lumps, but I have to jump through hoops to do that. It's probably quite good for the things it's designed for (I know jmickle66666666 likes it a lot) but I have not found it very useful or intuitive for the things I've tried using it with. However, I've been trying to do much more low-level things than it was designed for, I'd hypothesise that you are also, fraggle. I've found the Python struct library good enough for composing and decomposing WAD files on the fly (often just in the REPL) without any helper layers on top. 0 Quote Share this post Link to post
Gez Posted March 1, 2016 I just found about the chaingun not actually sounding like the pistol in vanilla. 0 Quote Share this post Link to post
Doomkid Posted March 1, 2016 Gez said:I just found about the chaingun not actually sounding like the pistol in vanilla. Wait, so it was supposed to be even higher in pitch? Strange! 0 Quote Share this post Link to post
Cruduxy Pegg Posted March 2, 2016 Well at least that confirms the people who said it doesn't sound the same were indeed the ones who are right! This is a hilarious way to bust the "source code says so" being the end all be all sometimes. 0 Quote Share this post Link to post
Maes Posted March 2, 2016 TBQH the sound department is the one where the Source Code has been the most obfuscated/divergent from vanilla Doom, the other being the actual VGA output code. There's actually a portable/generic C implementation of a sound mixing/pitching engine in the linuxdoom code, which is presumably what the NeXT testing version used too, but many ports don't use it: the most common approach is to delegate the actual low-level sound mixing to other sound libraries with additional, port-specific "glue" code, and in such implementations the pitch is the first thing to go. 0 Quote Share this post Link to post
Jon Posted March 2, 2016 Maes said:There's actually a portable/generic C implementation of a sound mixing/pitching engine in the linuxdoom code, I had forgotten about that and not fully realised the implications. here it is (sndserv). It has no pitch handling however. 0 Quote Share this post Link to post
everennui Posted March 2, 2016 NoobBait said:I just found out a cacodemon can be killed in 5 shotgun shots today I don't know if this is the same across all source ports, but I found this very interesting. It's a list of weapons damage and monster hit points. ftp://ftp.fu-berlin.de/pc/games/idgames/lmps/tyson/weapons.html 0 Quote Share this post Link to post
scifista42 Posted March 2, 2016 As long as the ports are based on Doom's source code and at least remotely try to stay loyal to Doom's balance, which practically all ports do, those values are the same in them. However, the "Odds of what?" table is incorrect. It assumes a random number generator with even distribution of the generated random numbers, but Doom uses a small and uneven pseudorandom number table instead. Killing a Revenant in 1 SSG shot is actually impossible, and none of the other precise values is precise for real. The information on doomwiki (in respective articles of particular monsters and weapons) is probably more accurate. 0 Quote Share this post Link to post
Maes Posted March 2, 2016 Jon said:It has no pitch handling however. It does, but it's "hidden" in that channelstepremainder and channelstep trickery: essentialy, the pointers into the sample buffers are treated as 16.16 fixed point numbers (hence the >>16 shifts). Pitches are converted to "channelstep" values in some other portion of the code, through a LUT if I recall, which define pitch shifts of up to -/+ 400%, even though the game used a smaller range of +/- 25%. This implementation is also responsible for the original 64K sample len limit, It also doesn't handle sounds with different sample rates directly, but the fractional sample trickery can be used to assume a different mixing and sample rate, with some clever coding. In fact, the mixer is flexible enough to use as a crude modplayer, if one had to. 0 Quote Share this post Link to post
plums Posted March 2, 2016 I just found a hidden backpack in MAP03, The Gantlet, that I don't think I've ever found before. It's not marked as secret. 0 Quote Share this post Link to post
Gez Posted March 3, 2016 Pegg said:Well at least that confirms the people who said it doesn't sound the same were indeed the ones who are right! This is a hilarious way to bust the "source code says so" being the end all be all sometimes. Source code does say a pitch change is at least intended. { "chgun", false, 64, &S_sfx[sfx_pistol], 150, 0, 0 },So, what's that 150 after the link? Pitch. Since chgun is the only link, it's the only sound to use a built-in pitch change (no volume change, though). 0 Quote Share this post Link to post
Maes Posted March 3, 2016 BTW, I found again how the pitch table steptable[256] is computed: In soundsrv.c: int steptable[256]; void initdata(void) { int i; int j; int* steptablemid = steptable + 128; /* snip */ gettimeofday(&last, &whocares); for (i=-128 ; i<128 ; i++) steptablemid[i] = pow(2.0, (i/64.0))*65536.0; /* snip */ } It's interesting that there's an attempt at randomization with the Linux/Unix gettimeofday() function call, even though the two returned values don't seem to be used in the process. So maybe the random pitch table was really meant to be random ;-) According to the sfxinto_t struct, pitch is the 5th field: struct sfxinfo_struct { // up to 6-character name char* name; // Sfx singularity (only one at a time) int singularity; // Sfx priority int priority; // referenced sound if a link sfxinfo_t* link; // pitch if a link int pitch; // volume if a link int volume; // sound data void* data; // this is checked every second to see if sound // can be thrown out (if 0, then decrement, if -1, // then throw out, if > 0, then it is in use) int usefulness; // lump number of sfx int lumpnum; }; And more interestingly, the comment suggests that it's taken into consideration ONLY if a link is used (as does the volume field, which is why those fields are simply -1 in most sounds). BTW, a pitch of "150", according to the steptable formula, would look into position 150 of the step table, which is constructed with a [-128,127] range. Therefore the 150th zero-based index would be position 22 of the pitch table, or, with the formula used: 2^(22/64) = 1.269, therefore a 26.9% higher pitch. Since floats are not used in Doom's code, it's converted to a 16.16 fixed_t number by multiplying with *65536.0 (even though it does not #include the <m_fixed.h> header). I'm surprised the linuxdoom's sound code hasn't been given as much attention as other aspects. FWIW, for Mocha Doom I simply adapted what was included in Linuxdoom, with fixed-point arithmetic for pitches and all (the only enchancements I made, were allowing for a "48.16" fixed point format, in order to be able to play back longer samples than 64K, and take into account samples with different sample rates when applying mixing/pitch stepping). 0 Quote Share this post Link to post
Jeffo2448 Posted March 3, 2016 I just found out the Baron of Hell and Hell Knight are an estranged couple 0 Quote Share this post Link to post
Li'l devil Posted March 3, 2016 I've just discovered that in E1M5 on UV there is a spectre stuck in the wall in the exit room. I haven't found that out before, because... well, spectres are hard to see. 0 Quote Share this post Link to post
Cruduxy Pegg Posted March 3, 2016 Is that the spectre in the fully dark tunnel\room? Always thought that one is intentional to give that room some atmo. 0 Quote Share this post Link to post
Li'l devil Posted March 3, 2016 Oh wait, I made a mistake. I meant E1M6 exit room. 0 Quote Share this post Link to post
ZeroTheEro Posted March 3, 2016 So apparently I just found out these are found in the GBA Doom, separate from the status bar face that's actually used. Seems like the exploding face we see in the PSX port is also present. ...now if that comes from the Jaguar port, any idea how to see it? Rocket to barrel at point-blank does jack. 0 Quote Share this post Link to post
Linguica Posted March 3, 2016 Maes said:long, involved source code stuff Jeffo2448 said:I just found out the Baron of Hell and Hell Knight are an estranged couple Ah, Doomworld. 0 Quote Share this post Link to post
joe-ilya Posted March 3, 2016 MAP17 of doom 2, has a horde full of stuck spectres behind the red door. Romero sure improved in his mapping skills since doom 1. 0 Quote Share this post Link to post
Doomkid Posted March 3, 2016 They're deliberately stuck so instead of killing one and letting them all free, you can nab up that free armor and health. Pretty sure, anyway. 0 Quote Share this post Link to post
IMX Posted March 7, 2016 The font used in the "THE ULTIMATE" text in the Ultimate Doom poster we all know is Copperplate Gothic. Standard or Pro doesn't make a huge difference. 0 Quote Share this post Link to post
joe-ilya Posted March 7, 2016 Doomkid said:They're deliberately stuck so instead of killing one and letting them all free, you can nab up that free armor and health. Pretty sure, anyway. Even if they weren't stuck in each other they would still be useless because they can't get downstairs anyways. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.