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


  • Content count

  • Joined

  • Last visited

Everything posted by SaladBadger

  1. was exploring the avenue of reversing doom 0.2 to figure out what state it truly is in after just 2 months of dev, found myself falling down a rabbit hole of incredibly obscure dos extenders and compilers. I'm assuming that the executable was made with "xmgcc", an incredibly obscure dos port of gcc made in 1990, including its own dos extender that uses an executable format I'm assuming's too obscure to have a ghidra plugin or any usable documentation.


    But why would it be made with an incredibly obscure gcc port from 1990? I know it took a while for Carmack to start using Watcom, but was Borland C (used for earlier id projects) completely unworkable with regards to doom that he'd be seeking out incredibly obscure compilers?

  2. for some reason, I decided to try to make the most cursed and most commonly failed project, with various experiments to try to make it not completely fail. One of these ideas is to only introduce the project with an extensive demo to see if it's actually any fun to play. What's in the demo: The demo focused mostly on gameplay, so all the main gameplay elements are in. Things like specialized art and sounds were skipped over in favor of getting levels working. Seven mostly complete (playable from start to finish) levels: Hangar 2, Supply Depot 2, Waste Processing Facility, Enlisted Quarters, Recreation and Training Center, Mess, and Officer's Quarters. A stub for Control Center is in, to add an end to the demo. Level design that I seriously hope isn't very flat and alpha-like. (I probably failed, ugh) The basic arsenal: Knife, pistol, shotgun, machine gun, and a new missile launcher. The chainsaw is also available, and heat-seeker missiles can be dropped from canisters. Basic bestiary: Two possessed humans, demon troops (lesser impling and greater imp), demon sargeants (lesser demon and greater fiend), and "flying imps" (lesser lost soul and greater name tbd) Some minor gameplay tweaks. Nothing serious, it should hopefully be relatively doom-like. This came about mostly from my dislike of E1-style combat, but we'll see how this goes.Lives, scoring, and scoring items. You get a new life every 50,000 points. When you die, you lose a life and drop all your items at the spot. You can then respawn to get it back. Much balance is still to be done, and there's no fate when you run out of lives. (in the final game, it'll probably just zero your score, and then give you 3 new lives) Four player characters with individual gameplay traits. A temporary intermission map to serve as the hub. What's still to be done: There's a lot that needs to be done: Complete the seven remaining levels (thankfully a bunch of these are short): Communication Tower, Personal Storage, Control Center/Power Plant, Lab, Observatory, Supply Depot 1, and the Anomaly. Finalize the current levels. This will mostly involve getting the specialized art needed done, and some fun details like signs and blood decals, and so on. Balance the four characters. The faster characters seem to suffer more at the moment. Get the special weapons in: The officer's pistol and the sawn-off shotgun. Get sounds for most of the things that don't have sounds yet, such as sliding doors. Finalized screens for the intermission, character select, and so on. An intro sequence. Balance the characters, and give the females a new voice. The faster characters currently suffer more compared to the slower, tankier characters. Screenshots: Not many atm because imgur's been having issues lately. Download: (for GZDoom, using DOOM.WAD) https://drive.google.com/file/d/14MWJsKsCwEHJebxPiu5xb8KaZ-z9w1Ub/view?usp=sharing
  3. I've been reverse engineering 0.5 lately, the sound support is insanely limited. I haven't looked too much into it, but the only functions linked in seem to be related to playing music. The game tries initializing DMX on startup, but under DosBox under default circumstances, this always fails. (You can see the "DMX_Init failed" message if you use a pipe). In the offchance it did work, the game then tries to load a song named "KICKBUTG", which isn't present in the data. There's no reference to the sound configuration file the press release beta has, so I wonder if it's expecting a very specific configuration. The call to DMX_Init doesn't match anything I've seen from the heretic/hexen source or the leaked DMX source code, so I have no clue. I'm not well versed enough in the low level sound hardware programming to make heads and tails of this. As for the press-release beta, I recall xttl had a working WAD file with sounds and a working sound.cfg file. Most of the sound code functions, but there's still a lot of bugs. WRT COLORS12: I have found no reference to this in the game's source at all. COLORS12 does not appear in the binary once, and I haven't seen anything that does something silly like take COLORS15 and changes it to COLORS12 and then uses the new string to load the lump, so I don't think it's ever used. On whole though the high color mode seems even less stable than 0.4 though so 0.5 probably isn't a good reference. (edit: code to generate COLORS12 is present in dcolors in the id doom utilities)
  4. Ah, this is why I wanted to do the demo. Health balancing has been fairly tricky for me, and I find in my own tests there's often an excess, but I also know the levels by heart, and if players are having issues, I should probably do something. I was trying to be a bit stingy so an occasional life would be lost, but I can add more if too many lives are lost. To rationalize my thoughts on a few things here, most levels have multiple ins and outs, I wanted the monorail to be a bit more difficult since it's more direct, older versions were even more stingy, not providing any extra ammo or health, but I backed out of that. The external route is a little more annoying, but you get a shotgun immediately on the next level (okay on UV you have to beat it out of a shotgunner's hands, but that's not much of an issue), but I think the external route wins out here. Also I'll double check why the music isn't playing, I have it defined in MAPINFO (I usually test with music off, ooops.....) Scoring is there, though I haven't found a good way to put it in the default Doom-derived UI yet, so it's only on the automap status bar. Hopefully I'll find a better way to place it... The other alpha-derived HUDs have it as a more first-party feature. EDIT: The telefrag bug was easy to fix, thankfully. I'll try to release a demo tomorrow with the telefrag fix and a little more resources available, since this seems to be a pretty common grumbling. It's annoying, since my testing constantly pointed at the game having way too much health and ammo, but again, I also know everything about the encounters
  5. The map format is just UDMF, but it's a very deliberate subset to be more like a "vanilla+" sort of deal. I tried to keep the features relatively plausible for something that could have been implemented back in 1993, like 90 degree flat rotations and flat alignment. The rest of the project is too buried in GZDoom features (hubs, gameplay related scripting, and so on) to actually be for vanilla or boom, though.
  6. SaladBadger

    Things about Doom you just found out

    I don't remember the high color mode being too rocket sciency, so simulating it shouldn't be hard. Instead of rendering to an 8 bit framebuffer, it renders to a 16-bit RGB5X1 one, drawing colors from a special 16-bit color palette, which instead of having a colormap like the 8-bit renderer, instead has 32 levels of 16 bit palettes for shading. If the 0.5 RE effort bears fruit (I'm hopeful atm, but working out the rendering functions is testing me), I do want to implement a quick-and-dirty port for the sake of testing functionality.
  7. SaladBadger

    Things about Doom you just found out

    No current ports support them, the game data is too different. But it can be converted. Deathz0r made two "alpha resource" wads many years ago, but with advances in engines like ZDoom, it should be possible to make a more accurate recreation.
  8. SaladBadger

    Best video game chaingun?

    god who cares about the minigun vs. chaingun stuff, we all know id barely knew anything about these guns and what people are actually talking about here. I do find it funny other games did follow the "chaingun" lead only to abandon it later though. Half-Life's sentries were mentioned as having "chainguns". Starcraft marines had "chainguns", but those were all changed before release. In any case, recently playing the original Serious Sam again, I remembered how much I loved that game's minigun. Good sound, makes things die rapidly. Pinpoint accuracy is a little silly, but I can't complain in the context of the game. Doom 4/Eternal chaingun is also pretty great. I'd mention Doom 3, but I feel it's held back a little by the fire rate. From a gameplay perspective it's not bad, especially since it conserves ammo, but its fire rate is a bit on the slower side (something like 6/7 shots a sec whereas the machinegun is 10), which doesn't feel quite as nice.
  9. SaladBadger

    Things about Doom you just found out

    I may have taken my current interest in the alphas to a new level, and have been working on a reverse engineering project for 0.5, which is a good compromise of being older enough to be really different, but still have a lot of potentially "interesting" things to see. It's been productive so far, I have most of the game and playsim code mapped out. Some things I've found. There are debugging keys available. Hold the letter and then hit ~ to activate one. L takes a LBM screenshot, P takes a PCX screenshot, C finishes the level, D restarts the level, and S opens up a weird sprite viewer thing. Monsters have HP. Zombiemen have 10, imps have 20, demons have 40, cacodemons have 100, and barons have 250. It looks like these all got bumped up when the weapon damage got randomized, at the moment the prototype rifle does just five damage (but things respond to damage by vanishing, so...) The state table is fairly complete, and has prototype sequences for most monsters and stub AI functions (sadly they have no implementation at all..). Interestingly misc1 and misc2 are actually fairly heavily used. Soul jars give you "soul ammo", which would be used by the dark claw. I've updated the alpha's TCRF page with some of these findings.
  10. That's the BTSX e1 map01 bridge, isn't it?
  11. SaladBadger

    Responding to GmanLives' Unity Doom video (Removed)

    I think the thing that bugs me about his defense that he was using gzdoom as the baseline from comparison is that he was acting like gzdoom was the original. Things like the new secret sound are a "change", not a "new feature" (that's different than the new feature zdoom added long ago). Things like how the console was "removed", and how the music sounds "weird" compared to gzdoom (I wonder if he'd freak out if he heard the music being played back with opl synthesis...). This, alongside a lack of a clear "When compared to GZDoom," ever being mentioned in the video, makes me think that was just an excuse and he really did misremember things. I dunno, maybe I'm reading too much into it, I'm glad he can at least admit he made a mistake, even if it's not the cleanest means, but this was so poorly thought out and it really doesn't improve my low opinion of gmanlives any. That said I do wonder a little if the new secret sound was designed to evoke the zdoom one, if only a little. It's a similar concept, a big bong sound, but it's quite different enough I'm not entirely sure.
  12. SaladBadger

    What do you think of the C-family programming languages?

    I'm more confused about what this is doing in a c++ thread... actually going through the user's history it would appear this is nothing more than a spambot. Oops. I've taken to reporting these when I come across them, there's been a bunch over the years, but I overlooked this one. ed: bot is probably a stretch, I'm assuming they're actual paid spammers or something given that their behavior isn't 100% robotic (ie dropping songs in the music thread and so on), but it's spam nonetheless.
  13. image.png.37dcb0ef13a29d7f2dea78670878767d.png

    Before he uh, went away, I remember kb1 working on a program to interpret the HIGHBLIT lump in the 0.2 alpha, but didn't have any success with it. I was bored so I had my own try, and one attempt at writing the world's worst x86 emulator ever (it supports 5 instructions under really restricted parameters!) I made something that works. Well, kinda, there's issues since it copies only 4 bytes at a time, so some details are lost. I wonder if the VIEWINFO lump is responsible for masking that out.

  14. SaladBadger

    Do you guys even lift?

    realized a couple of months ago I really needed to get in shape, so I hit the floor. I figured, ah, probably couldn't do any proper pushups, but I'll grind out until I can do some. Nah, I ground out a couple sets of 7-8, so I'm not quite as heavy or quite as not strong as I thought I was, but I've been keeping up with exercises over the following months. Been pretty productive, it feels great.
  15. SaladBadger

    Things about Doom you just found out

    Help I can't stop hacking the alpha versions. This time I turned to 0.2. 0.2 is tiny enough I think it could be reverse engineered easily, but I haven't any idea where to start, so i've taken to exploring other avenues, and found just like alpha 0.5, there's complete structure dumps in the executable's symbol tables. A few things I've learned from this: Even though they aren't used in the alpha, the game already supports multipatch textures, but texture 0 (the only defined texture) is simply overridden by the renderer. Its actual contents are just a bunch of patches placed 112 units away from each other, and it's 80 units tall (don't have the precise width atm), which fits that computer "grille" texture in the alpha. Textures beyond 0 are not overridden, and will be drawn as specified. The format is close to the nameless 0.4 format, but with some extra bits that got cut, evidenced by the structure dumps. Sectors are "areas", which define a floor and ceiling height and which lines are associated with them. I need to pull a Jeffery Bird and see if multi-area maps are possible. I suspect the renderer actually supports them. Lines are interesting. Looking at the structure dumps, lines are like the DoomED DWD files where they define their own flats, but the heights come from the associated area. I tried changing the flat nums but it didn't seem to do anything, I wonder if the code overrides the flat nums on all lines in area 0, or all lines entirely. There's also only one texture defined, so if windows are actually possible in this alpha, they need to have the same texture on the top and bottom, and there's no masked textures (but I assume those didn't come in until way later) Oh yeah, in addition to "firstcollumn", there's also "lastcollumn" which allows for some really primitive texture scaling: Edit: I created some tools to emit workable 0.2 format levels, and I've gotten some levels like a basic cube working, but any attempt to make a level with more than one area, no matter what lines the area is referencing, causes the game to immediately crash upon rendering the world without any fanfare whatsoever. Even when referencing a completely closed loop of lines, with (presumably) absolutely no way for rendering to progress into it, it still crashes. I don't know if this is some limitation of the engine (only allocates space for one area, crashes if any more are loaded) or if I have my data defined wrong. (ed2: even an area with 0 lines in it causes immediate crashes) Edit 3: I took a look at viewinfo and I think I understand its format (its defining spans of places which aren't drawn to on screen), but in my usual "I'm probably missing vital information", I can't change it in any meaningful way without inducing crash city again. Whee. I also have no idea how it interacts with HIGHBLIT, but it seems there's also supposed to be MEDBLIT and LOWBLITs. The alpha 0.3 format looks simpler.
  16. SaladBadger

    Subjective vision of new generations

    re: anime, I wonder a little if there is actually more trend-chasing anime in the current decade than there was in the past, or if it just feels like there's more because even overseas we basically have awareness of the vast majority of things that are airing, something that was much more cloudy in previous generation. After all, shows at the core of the slice of life trend emerged in the mid-late 2000s. How many shows were chasing the Haruhi and Lucky Star trends that have been thoroughly forgot about? There's also all the griping about recency biases and people fixating on certain shows like BNHA and demon slayer and so on, which can get annoying for sure, and it basically erodes any value in polling for "anime of the decade" and so on, but are we going to forget about all the Narutos and DBZs and all those things?
  17. Just spent an hour mapping out the player_t structures in doom 0.5 in cheat engine by pulling the names and general layout of the symbol table embedded into the executable, and learned some fun things in the process like every weapon being "implemented" (this includes the chainsaw, the dark claw, and the bfg, but they just use shotgun sprites)


    what am I actually doing with my life? why is this the kind of thing I do for "fun?"

  18. uh, the steam version still comes with completely unmodified vanilla iwads, as well as the old dosbox setup and original binaries, so there's no problems there...
  19. SaladBadger

    Things about Doom you just found out

    incredibly boring and "why the fuck did I spend any amount of thought and effort on this at all" thing I noticed while I was trying to figure out the identities of some objects in doom alpha 0.5 which had valid editor numbers but didn't actually spawn anything: The editor numbers in the range 2000-2999 seem like they were picked solely based on how the sprites were ordered in the source sprite sheets, as released by john romero. The first sheet, in order from left to right, top to bottom, is the shotgun, chaingun, rocket launcher, plasma gun, bfg9000, then the clip, shells, a unused cell (no idea why...), rocket ammo, stimpack, and medikit. This seems to correspond with the ordering of the game's editor numbers starting at 2000. There's some places where tweaks later down the line violated this ordering, but for the most part its how those numbers came about. edit: Doom 0.4/0.5 things you just found out about: IDs <= 3000 all seem to implicitly defined, and won't error out if placed. It seems like id was still in wolfenstein mode with regards to coding at the time, and I'm assuming that the 2000 range is some sort of implicit static decoration, which has its sprite number set from the editor number set. All objects in the range 2001-2149 work, but anything else crashes when the sprite tries to render with an undefined sprite number error. But hey, at least some decorations work, even if they can't animate: edit 2: voodoo dolls exist in Doom 0.5 and you can actually shoot and kill them (and yourself as usual). I didn't think the rifle actually did any real damage, it just removed actors, but apparently the minimum of combat is actually implemented.
  20. SaladBadger

    End of the Doom Slayer's arc?

    The specific mention of Star Wars and Return of the Jedi specifically makes me wonder a little if they're going to pull a Star Wars at some point with the Doom franchise. In a sense, we already have the prequels, the original Doom games, but they're not like the star wars prequels as they still focus on the man that became the Doom Slayer. There's still a lot going on in the game's universe, and there's many stories to tell, but I do wonder what Doom would be like if they chose to proceed without our protagonist.
  21. SaladBadger

    The Ancient Gods - Trailer and Release Date

    I think that's like, the single gameplay mechanic id is doing that I don't know how I feel about, though in practice it could be not much a problem (the nature of the DLC will ensure you're always there with the plasma beam available). It'll probably work out in theory given that fighting the buffed monster will be more involved, but I guess we'll see. It's just strange to me because for the most part Doom Eternal isn't near as restricted as some make it out to be, and players discuss to no end the merits of different ways of doing things. Yeah, precision bolt is made for weak spots and does bonus damage to ensure its value, but against arachnotrons and possibly mancs if you don't have it available you can do a sticky bomb, and later on the ballista provides another option. And hey, you can just shoot them with any gun. Something like the marauder, where burst weapons excel, they excel because there's not some big bonus they have, but they work because they work with the characteristics of the monster. Their inability to defend their rear also opens up additional options. But here? They are putting their foot down and saying you absolutely have to do something in a specific way. I'm confident it will work out to some degree, since it's a minor part of a bigger battle, but I guess we'll see.
  22. SaladBadger

    What Video Game Are You Currently Playing?

    I didn't think yamagi came with that. Every build I've ever got of it didn't come with any custom content, and I'm looking at the archive of the current build straight from the Yamagi website and I see nothing of the sort, and I can run it right now and I have the old HUD and no ugly red crosshairs, so I dunno. I remember civvie complaining about it in his video, so I'm really freakin curious where this is coming from. Do people still have a pak file from kmquake2 left over and they switched ports at some point?
  23. I can understand waning to get information about the game before going into it, but at some point, I feel it's going to be more productive to just actually play the game and make your own judgements instead of asking 20 thousand questions about it.
  24. SaladBadger

    Things about Doom you just found out

    I suppose this finally answers the question of why cool guys don't look at explosions. It's for their own safety (okay I know the line of sight check doesn't consider FOV but it makes perfect sense now anyways)
  25. yeah, it should be in index order so the lowest index lines should be checked first.