Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

Everything posted by RjY

  1. RjY

    Guess the map (13th edition)

    Welcome back! Sight: Clues:
  2. RjY

    Doom 0.5 Map Ports

    For versions of the maps in the 0.5 alpha that can be loaded by modern engines, I am aware of 0_5resor, which is on /idgames and wad-archive. For versions of the maps in the 0.4 alpha, you may also be interested in 0_4resor. Sadly it does not seem to be preserved on /idgames, but wad-archive has it. These may or may not be the alpha conversions done by Deathz0r in 2002. (I cannot confirm this though. The wiki sadly lacks links to the files.) There are also full-on tune-ups and remakes, such as Doom: The Lost Episode, but of course highly modified, so I mention it only for completeness. I may be mistaken but I think he was only asking for the maps, not entire ports of the alphas, engine and all, to modern systems.
  3. RjY

    Classic Doom source code questions

    I don't know, I suppose on 1993 systems it was faster overall to have a bigger table, and the simplest possible calculation of offset for table lookup, with no branches, maybe even a single instruction. I think the relative latency of memory access was much lower in those days. Doom does seem to favour lookup tables over pure calculation, especially to avoid multiplications and divisions. Nowadays I think you have to care a lot more about cache misses, so you'd favour a more complex calculation of offset into a smaller table that fits into the CPU cache. Does that sound reasonable? I might be talking rubbish, sorry if that's the case.
  4. Thanks for the reply -- that's more or less what I expected :). Honestly, I am quite surprised at the positive response -- I didn't expect you to agree. This engine was to a great extent how I got started with Doom, so I have a good deal of fondness for it. But it's hard to argue against the facts. It has been defunct for nearly 18 years. It is so obscure that it is not on the Doom wiki, even though other RISC OS engines are. Indeed apparently only one person on Doomworld has heard of it. So I expected you as a group to concur with Thelokk: "sorry but on balance we think it is fair game for having its name recycled". I was prepared to accept this. So unless you do think of an absolute killer new title, I am happy for you to carry on with the name -- after all, you did what I asked, you did at least consider changing it :).
  5. Argh, I had written a draft, but time had gotten late, so I had decided to leave finishing it off to the weekend. Unfortunate. Posting anyway.
  6. Newgothic - movement 1 map15 in 1:56
  7. Doom It Yourself is a source port. Please consider if re-using the name of an existing (albeit defunct) project is the right thing to do. Personally I think you should rename, but I would understand if you thought otherwise, given the original's age and obscurity. I'm sorry to be annoying but I feel I have to bring this up. I know all the good names were taken years ago. But I think even defunct projects should not necessarily be subject to name recycling if they are still in "living memory" (obviously it's different if there's no-one around who remembers the old one). Also while the new project is still new enough that a name change is not too significant a burden (this project is only a few days old, although again I am sorry I did not see this thread sooner.)
  8. RjY

    Guess the Map [XI edition] (Extra newer Hints!)

    sight only after clues after second clues researched (not to be counted as guesses)
  9. RjY

    Unfortunate design coincidences

    Claim ignorance. You have never played Halo in your life. [Additional benefit: plausible deniability of having played Halo :).] BTW, on the left of your first picture, did you actually make a specially rotated FLAT5_2 for the top of the WOOD4 block? Both DuckReconMajor and I independently had the brilliant idea of making a giant circle of BLOOD1 floor and BFALL1 walls and sky. [1] In one of the old "post your picture" threads SFoZ911 inadvertently recreated the opening of the 1994 map OCTAGON.WAD. (Sadly the pictures are gone.) [2] FWIW my first thought was "Degrassi?" :)
  10. RjY

    Things about Doom you just found out

    EDIT: it turns out there was already a thread about this years ago. Apologies to printz. I thought I'd found something new. Oh well it was new to me :). ________ Waving your fist around reduces the amount of smoke from a revenant missile. Here is a missile orbiting the player. Observe that the smoke is thinner and there are fewer sparks after the punch. (The animation is slowed down slightly in the hope that it is easier to see. It is admittedly subtle.) Technical explanation P_SpawnPuff tests that the range of the most recent line attack (hitscan) is exactly MELEERANGE. If so it assumes the bullet puff is the result of the player having punched a wall (or a barrel / anything with the MF_NOBLOOD flag) and fast-forwards the newly-created MT_PUFF actor past the part with the light flash.* P_SpawnPuff appears to assume that it is only called as part of PTR_ShootTraverse (via P_LineAttack). It retrieves the range of the most recent line attack from a global variable attackrange which it assumes has just been set by its caller. However A_Tracer calls P_SpawnPuff to create (some** of the) smoke following a homing revenant missile. As a global variable, attackrange has static storage duration. Its value may linger indefinitely. Thus the test in P_SpawnPuff remains relevant even in unrelated bullet puff spawns, such as those created by homing revenant missiles. If attackrange changes from some other value to MELEERANGE the amount of smoke from the missile visibly reduces as the spawned MT_PUFF actor is made to expire early. ________ * Note that the chainsaw sets range to MELEERANGE+1 to subvert this, so that it still sparks on walls. ** A second actor MT_SMOKE, that is essentially a longer-lived MT_PUFF, is also spawned as part of the trail in A_Tracer. It might have helped to make this invisible because it does a good job of hiding what I am trying to show, but I preferred the true picture.
  11. RjY

    Things about Doom you just found out

    Fair enough. Sorry about that. Thanks to both of you. It did seem too obvious a solution to have been overlooked. Agreed. Having somehow missed it for six years I stumbled on d2temp this summer. It was utterly fascinating to go through. I think you must be right. I always thought that comment, like most, was a later addition by Bernd Kreimeier. But now I look and it turns out it is actually present in the Heretic source, so it must be much older. In other words it was not wrong as written, it is only out-of-date. Thanks for leading me to the correction. That means I was wrong about the P_LineAttack comment too. "if damage == 0, it is just a test trace that will leave linetarget set" is not the case, you still get blood splats. The real "test trace that leaves linetarget set" code is P_AimLineAttack, which also handles autoaim. But the comment is there in Heretic too, so in this new light it seems to be another case of being true when it was written but never updated along with the code it refers to. I've never bothered to look at the Heretic source much, but it seems there is a lot to learn from it.
  12. RjY

    Things about Doom you just found out

    Interesting, so in some sense we celebrate Doom's birthday two weeks too late? Reminds me of the funny idea of Christmas supposedly being in September :). I am likely mistaken, but is not the file linked from NEXTSTEP#External_Links on the wiki?
  13. RjY

    Things about Doom you just found out

    Sorry to say it looks like a compatibility setting is not implemented there. [1] (compare [2])
  14. RjY

    Guess the Map (X edition, DONE)

    Category 1: blind recognised on sight Category 2: seen after reading the clues Category 3: prepared researched (not to be counted as guesses) So I think I have 6½ after the first round of clues. Anyway thank you and galileo for continuing to run this entertaining quiz. Edit: 7½, added two more halves after second round of clues.
  15. RjY

    Things about Doom you just found out

    Reminds me of this comment: // P_NoiseAlert // If a monster yells at a player, // it will alert other monsters to the player. Which as you know is wrong: it's not the cry of the caged imp that alerts the others but you firing your weapons. (That said, I do wonder if anyone has ever experimented with calling P_NoiseAlert from A_Look?) FWIW the Doom Wiki seems to believe the opposite: the page for supercharge begins "The supercharge powerup (called soul sphere in the manuals) [...]" and the page for soulsphere is a redirect to it. Perhaps this is justified by noting that the game engine source code does not contain the string "soulsphere" (with or without the space). On the other hand, the sprite name prefix is "SOUL", not "SUPR" or some such. FWIW there was a good thread about this recently if you missed it. Unfortunately a multi-pillared donut will fail in Boom. Only the lowest-numbered pillar will lower, and the moat will rise at normal speed. The Boom developers apparently felt that starting multiple thinkers on the rising moat was a bug. Well, I don't disagree. But one could ensure the moat was only started once, while starting all pillars, instead of breaking out of the search loop at the first sign of trouble. Oh well, enough moaning. If you like unusual or novel uses of the donut special, I suggest a look at Curse of the Donuts (300minvr map02).
  16. RjY

    Guess the map [9th Edition] (NEW HINTS)

    Thus far I have 6 P.S. Thanks to everyone so far for using spoiler tags :) I'm sorry for not doing so that one time.
  17. RjY

    Doom renderer question

    Good question. I wish I understood the renderer better. I do recall a PrBoom commit from 2007 fixing an overdraw issue, perhaps it is relevant: ------------------------------------------------------------------------ r2419 | proff_fs | 2007-01-30 09:13:48 +0000 (Tue, 30 Jan 2007) | 3 lines Added missing clipping. Very noticeable in Doom2 Demo3 in Map 26 in the elevators when you remove the call to R_DrawPlanes. Thanks to SoM for this! diff --git a/src/r_segs.c b/src/r_segs.c index 67e5e8b7..cb30b75b 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -298,6 +298,8 @@ static void R_RenderSegLoop (void) ceilingplane->top[rw_x] = top; ceilingplane->bottom[rw_x] = bottom; } + // SoM: this should be set here + ceilingclip[rw_x] = bottom; } // yh = bottomfrac>>HEIGHTBITS; @@ -316,6 +318,8 @@ static void R_RenderSegLoop (void) floorplane->top[rw_x] = top; floorplane->bottom[rw_x] = bottom; } + // SoM: This should be set here to prevent overdraw + floorclip[rw_x] = top; } // texturecolumn and lighting are independent of wall tiers ------------------------------------------------------------------------ On the other hand, the error in your screenshot looks like a broken sector reference, a side of a line facing the wrong sector. If you are willing to post the map, or otherwise verify that it is correct, that would be a useful sanity check. It is hard to debug from screenshots alone :).
  18. RjY

    Things about Doom you just found out

    Yes, you are absolutely right. In vanilla (complevel 2) you cannot break the end of Doom2 map15. In Boom (complevel 9) you can. This is the point I was trying to make. I had previously believed being able to break the end of map15 was a bug in the map. This was incorrect. In fact being able to break the end of map15 was an unfortunate side-effect of Boom's removal of vanilla's restriction of only one active thinker per sector. It illustrates why one must always play a map in the engine / compatibility mode in which it was designed.* Sorry, I feel we are misunderstanding each other, and are really in violent agreement. So let us move on. Also, thank you for finding the link. Honestly you can get an intercept overflow / all-ghosts bug anywhere, even on Doom2 map04 as Ancalagon found. P_PathTraverse can get stuck in a blockmap square due to numerical inaccuracy. If that happens in an occupied square, the things in the square can get added as intercepts up to 64 times each. In such a situation, it is easy to overrun the limit of 128 -- you only need two or three. ____ * A rule that I nevertheless violate constantly. More of a guideline :).
  19. RjY

    Things about Doom you just found out

    No, the other way round. Boom engine physics makes it possible to break the map, because they allow the floor to be activated when the ceiling is still active (or vice versa), whereas vanilla prohibits either plane being activated until the other has completed. Given the importance of facing precisely the correct angle for a successful glide, and the effect of performing melee attacks on that precision, that's quite impressive :). Wait, aren't those two different names for the same thing? Also I can't seem to find the previous post about the first MM, could you link it? I only found one about MM2 map04.
  20. Excellent -- the other shoe drops ;). I had to smile: on top of everything else, a spechit overflow. Fortunately no ill effect. I was surprised you woke the spawner that early. Does that not make it hard to know it is a valid max?
  21. RjY

    Guess the map [8th edition] (THY ANSWERS REVEALED)

    You've stumped me this week.
  22. RjY

    The Official 'Trying to Find a Specific WAD' Thread

    The third appears to be a variation of this screenshot from Trial to Hell
  23. RjY

    question about monster movement

    Sorry, I misremembered, I should have checked. It is actually in P_SpawnMapThing: if (mobj->tics > 0) mobj->tics = 1 + (P_Random () % mobj->tics);
  24. RjY

    question about monster movement

    That's a great question and you're absolutely right on all counts. Monsters only move once per A_Chase cycle. The point, I believe, is to spread the load of monster artificial intelligence over multiple gametics (world updates). Note when P_SpawnMobj creates an actor its first state update is given a random delay. This means only a fraction of the map's monster population is being passed through A_Look or A_Chase per display frame. This lowers the CPU load and helps to keep the framerate reasonable on a 386. The amazing part is how your brain fills in the gaps and makes it all seem smooth. I think this stops happening if you use uncapped framerate in a source port. With the rest of the game using interpolation to update the screen at 60+ frames per second, the monster stepping is thrown into sharp relief. One reason to remain at 35 :).