Jump to content

xttl

Members
  • Content count

    115
  • Joined

  • Last visited

Everything posted by xttl

  1. Here's something I made back in 2011 (when No Rest for the Living was still supposed to be Xbox 360 exclusive, heh) but never released: nr4tl.exe. It's a hacked Final Doom (id Anthology version so teleports work properly) binary that plays No Rest for the Living with proper music, level names, secret exit, par times and ending text in DOS. Use doom2.wad or doom2f.wad as your IWAD, load No Rest for the Living manually using -file. It's probably not that useful for most people but thought I'd post it anyway. Well, actually just for the heck of it, I also added support for both regular v1.9 and "v1.91" longtics demos in the same binary back then, which I think no other vanilla EXE hack still has (but I haven't been following the Doom scene actively for a while now). Too bad that it doesn't support playing anything besides No Rest for the Living anymore. :) Shoulda have made it just another gamemode/gamemission...
  2. Why is everyone talking about and criticizing "vanilla controls" when vanilla always came with setup.exe starting from the first release ever? Always-run mode never was officially supported though and that certainly sucked once you started learning how to really play this game. Some people also hated (and still hate) how you can't disable moving forward/backward from mouse but at least I learned to use it somewhat effectively. Nowadays I mostly play with novert though. If we go into the other games using Doom's engine which added looking up/down I'd say having no freelook out of the box sucks.
  3. So I guess it's ok to double/triplepost in threads like this here, at least if it's been a while since my last own post? (been looking at the Shadowcaster RE thread going on under EE) Anyway I got a bit sidetracked again, but now I finally made a working tilemap viewer up (the window size is fixed, tile scaling is fixed and it's not very pretty code at all but at least it somewhat works...). I tried to add some code to display all objects from the spawn list data on top of the tilemap as rectangles but it's not working quite right yet... some (but not all) objects are drawn in wrong positions. I already read from the MacWolf source that for eg. doors the x/y coordinates in the spawnlist point to the target tile, but for some things such as enemies the x/y values are instead supposed to be the integer part of a 8.8 fixed point number (the final game world coordinate where the object is spawned) but maybe the spawn IDs are different on Jaguar or I just didn't get something else right yet, heh. I think I should try to get everything from the spawnlist show up correctly first before even attempting to parse and draw nodes/segs info.
  4. Today I'm continuing work on this. (yeah... I haven't been doing anything at all related to this since the last post :) I just coded a simple wall texture viewer and tilemap viewer using C and SDL2, I'll have to go through the tile graphics and see which tile number maps to which texture and add that information to the map viewer. The eventual goal is to add a nodes viewer to it. Btw. there is only one version of each wall texture, so unlike PC Wolf3D it's using colormapping for the darker walls. EDIT: Oh yeah, the wall texture format is similar to JagDoom in case anybody's interested. They're raw 128*128 pixel paletted images rotated 90 degrees (column-major format). First palette from RGBPALS works well (the RGB palette format is of course uint8_t r,g,b). I haven't checked this yet but I'd guess CRYPALS has the same palettes but in CRY color values instead of RGB.
  5. FAVOURITE WINDOWS OS VERSION?

    Windows 10 has some great new stuff, for example the console finally works on the same level that xterm worked in the 1980s or so. You can finally resize the window freely using the mouse and ANSI control code support has been improved a lot. The Linux binary compatibility layer (WSL, or "Bash on Windows" which is a really stupid marketing name for it) already works well even though it's still officially in beta. I haven't done my own precise measurements but I think it might also be slightly better with regards to battery life compared to running Windows 7 on the same laptop. It would make sense because mobile is what they're concentrating on now much more than desktops. Too bad about all the UI downgrades since Windows 7 (well depending on whom you ask, they've been downgrading the UI since XP, 2k or NT4 :) but there have been upgrades on this front too (there's this handy menu for keyboarders you get by pressing Win+X that was added in 8 or 8.1 for example). And really fuck the forced updates (though you can avoid them by disabling Windows Update service completely, at least for now...), Windows store junk, Cortana, telemetry (maybe sending some diagnostic information back to MS isn't that bad after all but you should still be able to opt out of it) and advertisement junk, and MS cloud tie-in junk. At least you can disable pretty much all of this if you can get the Enterprise or Education version somehow (like through work or school). Enterprise users can even get LTSB releases that are supported for 10 years and only receive critical security updates during that time, and don't include Cortana, UWP apps or Windows store related junk at all. Unfortunately MS has now decided that newer hardware will not be supported on old LTSB releases (and they won't be releasing these every year or even every other year, previous was 2016 LTSB and next will likely be 2019 LTSB) either similar to how they killed support for new CPUs under Win7 and 8.1. So I'm probably still going to dump Windows completely at some point because it's not like I really need to get to play the latest AAA game releases on the first week or even year they're out anymore. Maybe I got old or something?
  6. PSX Doom HD cover art?

    I still couldn't get hold a good camera so here's a quick shot taken with my cellphone which has a really, really bad camera. Seems that it didn't come out that bad after all though. And yeah, the CD holder is broken. :( I guess it got broken in transit from US to FI (either that or the seller was an asshole). If somebody sacrificed their ridged plastic longbox copy I'd say they could get a slightly better quality scan from this than from the CD sized cases (but they'd have to fix the gaps). I could maybe do it to this box if I can ever find another one in better condition for a good price (not over $40 which is what it is on eBay nowadays). Probably not going to happen because I live in PAL land.
  7. PSX Doom HD cover art?

    The original plastic long box (not cardboard long box) NTSC U/C version of Doom for PS has this art in larger size than it appears on the regular CD sized cases of the PAL and NTSC J versions. It also does not have any logos or markings on top of it. Somebody would have to sacrifice their case to get a good scan of it though, and there'd still be a gap between the 2 cover halves (though somebody can always try to fix it). I can take a photo of it later but I'm not going to break the case unless I can find another one cheap somewhere.
  8. Doom2.exe equivalent source ports

    You can play vanilla demos with it but you cannot record them. Also IIRC the compatibility mode you get when playing vanilla demos is more strict than what you get with TNTCOMP.
  9. Actually he did give the SHA1 hashes in this post
  10. Nope. The palette from the Jaguar WAD should be easy enough to convert into a usable format anyway if I need it. Unless you specifically wanted me to check whether Jaguar and Mac use the same palettes? Btw. here are some screenshots from outside of the map. If somebody wants to play around with no clipping and maybe take guesses on how the renderer works you can do this: open the ROM dump in a hex editor, go to offset 0x14F20 and change bytes 4E 56 there to 4E 75 (it changes the beginning of function TryMove used in player movement clipping to a RTS instruction). You can easily make the game start glitching or completely crash with this though, I guess due to some buffer the renderer uses overflowing. On the last pic you can see some timing information (you can get this display by pressing 4,8,8,7 on the controller when in game), I guess the renderer is split into multiple phases like in JagDoom. I think I'll try importing custom maps into the game next. Hopefully I can figure out how to generate the BSP data or find some code to do it (maybe from a map editor for MacWolf?).
  11. The SNES Classic

    https://en.wikipedia.org/wiki/Rendering_Ranger_R2 They should've put that game on it. It's pretty good but really, really expensive nowadays if you insist on acquiring it the legit way, easily 500-1000 euros for the cart only... They also should've included the whole Mega Man X trilogy (IIRC at least X3 is a bit on the expensive side to buy but maybe their emulator doesn't support the Cx4 chip it and X2 use), maybe R-Type 3, Chrono Trigger, Terranigma (again, expensive and also a Japan and PAL only release), and... and... I've never really cared for "buying ROMs" but I might actually get this thing if the resale value is going to skyrocket like NES Classic's did. :)
  12. Looks like you indeed have the proper WAD files then in C:\IWADs\. I wonder if GZDoom is really getting the WADs from somewhere else? Like from BFG Edition's install directory.
  13. Download the attached zip file and start the bat inside it (extract it and double click it in Explorer). It runs these 3 commands: certutil -hashfile "C:\IWADs\doom2.wad" SHA1 certutil -hashfile "C:\IWADs\doom.wad" SHA1 pause You should get output that looks like the attached picture if you have the unmodified v1.9 doom2.wad and ultimate doom.wad files in C:\IWADs\ hashwads.zip
  14. OP, if you can use command line, all Windows versions newer than XP come with a tool called CertUtil. You use it like this: certutil -hashfile doom2.wad SHA1 Older versions of the tool didn't accept lower case in the hash algorithm name but I just tested and at least in Windows 10 (v1607) "sha1" works too.
  15. Duke nukem VS Doom

    For some reason Build games were coded to handle mouse input only on one axis at a time which makes mouselook bad. There's an external mouse driver for them that fixes this called bMouse available here: http://swisscm.duke4.net/mine.html I couldn't play Blood for long without it.
  16. Some more offsets: 0000:00016D8C RenderView 0000:00016B0C R_DrawHUD 0000:0001032E R_DoPaletteEffects 0000:00011740 R_sub_11740 0000:00011F2C R_sub_11F2C 0000:000165E0 R_sub_165E0 ; disabling this causes walls to not be drawn and also only sprites from ; the starting room are drawn even if you open doors and move about the ; level blindly... 0000:000094B0 R_sub_94B0 ; disabling this causes doors & tracks to be drawn using the gray wall ; tile (#0 i guess?) 0000:0000FCE0 R_door_sub_FCE0 0000:00027AD4 bspcoord_bsptop 0000:00027AD8 bspcoord_bspbottom 0000:00027ADC bspcoord_bspleft 0000:00027AE0 bspcoord_bspright 0000:00011BC4 LoadMap 0000:00014032 SpawnStatic 0000:00014146 SpawnPlayer 0000:00014216 SpawnStand 0000:000143A0 SpawnAmbush 0000:000143CE SpawnDoor 0000:00014540 AddPWallTrack 0000:000145A0 SpawnPushwall 0000:00014710 SpawnElevator 0000:0001474A SpawnOut 0000:00014752 SpawnSecret 0000:00014788 SpawnThings 0000:000148DC SetupGameLevel 0000:000166F0 LoadMap_nodes_sub_166F0 0000:00010A7E PlayLoop 0000:00015B2A Cmd_Fire 0000:00015BA2 Cmd_Use 0000:00015CEC Cmd_ChangeWeapon 0000:00015D8A TargetEnemy 0000:00015E38 KnifeAttack 0000:00015E8E GunAttack 0000:00015F38 FlameAttack 0000:00015FFE MissileAttack 0000:000160B4 MovePlayer 0000:00011B04 StopSong 0000:00011B30 StartSong 0000:00012D0E str_err_baddir 0000:00012D1C str_err_enemyinwall 0000:00012D3C TryWalk 0000:0001300A SelectDodgeDir 0000:00013156 SelectChaseDir 0000:000132DC str_err_moveactor_baddir 0000:000132F2 MoveActor 0000:0000FD4E P_Random 0000:0000FD7A M_Random So far things on the playsim side seem to match the MacWolf source code closely (so easy to map the function names to binary offets there). Rendering not so much.
  17. Well looks like the map format (after decompression) might indeed match this struct from MacWolf source: typedef struct { Byte tilemap[64][64]; Byte areasoundnum[64]; unsigned short numspawn; /* Must be short */ unsigned short spawnlistofs; /* Must be short */ unsigned short numnodes; /* Must be short */ unsigned short nodelistofs; /* Must be short */ Byte data[1]; /* nodes, and spawn list */ } loadmap_t; Also if somebody wants to look at this in a Motorola 68000 disassembler (bulk of the code is fortunately C compiled for M68k, not handmade assembly for the Jaguar's custom processors) here are some offsets for you (same offsets apply to both the 2MB ROM file on disk and Jaguar memory space when the game is running): 0000:00004000 start 0000:00008FA8 Initsub_8FA8 0000:00009738 I_WadBase 0000:00009746 I_ZoneBase 0000:0000E796 CastHitler 0000:0000E7A3 CastMechaHitler 0000:0000E7B0 CastDeathKnight 0000:0000E7BD CastUbermutant 0000:0000E7CA CastTrans 0000:0000E7D7 CastHans 0000:0000E7E4 CastSchabbs 0000:0000E7F1 CastDog 0000:0000E7FE CastMutant 0000:0000E80B CastSS 0000:0000E818 CastOfficer 0000:0000E825 CastGuard 0000:0000FD4E Random1 0000:0000FD7A Random2 0000:00010FC8 wolfmain_c_10FC8 0000:000110D4 Initsub_110D4 0000:00011342 W_Init 0000:00011404 W_CheckNumForName 0000:000114B4 W_GetNumForName 0000:0001150C W_LumpLength 0000:0001155E W_ReadLump 0000:00011672 W_CacheLumpNum 0000:00011712 W_CacheLumpName 0000:000117AC ShortSwap 0000:000117C0 LongSwap 0000:00011A46 Error 0000:00011B30 comnjag_c_11B30 0000:00011BC4 SetupLevel 0000:00011F80 Z_Init 0000:00012006 Z_Free 0000:0001210C Z_Malloc 0000:00012302 Z_CheckHeap 0000:000123E0 Z_ChangeTag 0000:00019C80 BriefText1 0000:00019CC0 BriefText2 0000:00019D10 BriefText3 0000:00019D40 BriefText4 0000:00019D88 BriefText5 0000:00019DC4 BriefText6 0000:00019E08 BriefText7 0000:00019E4C BriefTextOffsets 0000:00019ED8 CastOffsets 0000:0001CFDC rndtable 0000:0001D0DC rndindex1 0000:0001D0E0 rndindex2 0000:00036D64 map_tilemap 0000:00037D64 map_areasoundnum 0000:00037DA4 map_numspawn 0000:00037DA6 map_spawnlistofs 0000:00037DA8 map_numnodes 0000:00037DAA map_nodelistofs On a Jaguar, the cartridge ROM is mapped at 0x800000. There's 2MB of RAM at 0x000000-0x1FFFFF (mirrored 3 more times after that before the ROM) and it seems that game code copies itself (or maybe the Jaguar's firmware does it?) to RAM and executes from there. The code for the whole game takes only 128kB so it fits easily.
  18. Well I just looked at their code in here: http://wolf3dredux.cvs.sourceforge.net/viewvc/wolf3dredux/wolfextractor/wolf/jaguar/jaguar.c?revision=1.3&view=markup In addition to variable type changes, there is one small difference in their decode function compared to the decode function as seen in JagDoom source code (and probably used as is in SLADE?) and this is what causes the corrupt MIDIs and also corrupt graphics. -1 must be removed from this line: https://github.com/Arc0re/jaguardoom/blob/master/w_wad.c#L84 Properly decompressed CREDITS screen attached. EDIT: and yeah the tile maps also make more sense now.
  19. No Rest For The Living Question

    It means that you will not get the proper background music for each level and the exit to the secret level in the episode (if you happen to find it) doesn't work properly, and the game might not end after level 8 as it should. So mostly a bad thing but you can still play the maps. Any recent enough version of PrBoom+, GZDoom or Eternity should detect the Nerve WAD and run it properly though. Chocolate Doom needs to be patched or you can use Crispy Doom instead. For vanilla I've got an EXE hack if you need it.
  20. Console Doom Ports

    iOS and PocketPC devices aren't really considered game consoles though or are they? Tapwave Zodiac was at least marketed as such. Not that I'd have anything against covering those ports too. Official ports of Doom were also made for classic Macs and Acorn RISC OS machines (and you could maybe count Doom95 too, though it was only a port to a different OS on the same hardware platform as the original), but I guess you're not going to cover ports to other desktop computing platforms, they're very similar to the original PC version anyway...
  21. Console Doom Ports

    Some older PVMs actually do not have the controls for picture size and position available externally, at least my PVM-2043MD (which was manufactured in 1994 I think, maybe even a few years earlier still) doesn't. There's just a single underscan mode button which shrinks the picture a bit and that's it. Fortunately I do also have the NTSC version and a region-free console for playing it. IIRC they actually increased the player movement speed slightly in the PAL version to make it feel faster, but this also makes it possible to do jumps that don't work in the NTSC version or on PC. Frame timings for the weapons have also been adjusted so that eg. the shotgun's fire rate (in relation to the speed everything else goes in the game world) is noticeably faster. Monsters might've been altered too.
  22. Console Doom Ports

    On the PS they did at least try to fix the speed in the PAL version (the way they did this causes some odd things though). Unfortunately nothing was done about the squished image even though this is a 3D game and not something with lots of 2D graphics that would have to be manually adjusted or remade. :(
  23. Looks like somebody has already extracted the MIDIs: http://www.vgmpf.com/Wiki/index.php/Wolfenstein_3D_(JAG)#Game_Rip I tried them in a MIDI player and GM synth and they work and sound great, even though it says "The game uses custom General MIDI instrument patches, so a recording can't yet be made outside of the game." on the page. The page also says: "The soundtrack is compressed in the game ROM using an unknown form of compression. Project Tempest v0.95 and WinHex were used to extract the files after the game was loaded into memory." So I guess there's an additional compression layer in addition to the console Doom lump compression? Or maybe the lump compression algorithm differs slightly so you get almost but not quite working MIDIs if you use tools intended for handling console Doom WADs? EDIT: It's probably the latter (the lump compression algorithm is slightly different). I attached a picture which shows how the credit screen graphic (it's in a raw pixmap format) looks when extracted with SLADE. Obviously there are more problems here than just a wrong palette...
  24. Console Doom Ports

    Btw. a PS2 and especially Sony's PS1 software emulator on PS3 might run the games slightly faster / with better framerate than an actual PS1. Thought I'd mention this in case you're going to use a PS3 for its HDMI output and do any benchmarking with it.
  25. Console Doom Ports

    I think the maps new to the PSX/Saturn were simplified significantly less than the original registered Doom-based Jaguar mapset. Same goes for maps used in PSX Final Doom. Eg. E4M2 should probably been simplified more because it runs very slow even on the PSX NTSC version... though on the other hand, the PSX engine could probably have handled the registered Doom 1 maps with less simplifications just fine so I wish they would have reconverted them and not just used the Jag mapset as is. Correct, it isn't using the Doom engine at all. GBA Doom 1 does though.
×