That New Episode
Is the real star of this re-release. The new maps are huge, with fantastic atmosphere and even interesting small stories connected to them. Feels and looks like a high-quality AD expansion.
#129 posted by mh
on 2021/08/26 13:18:24
This is now live.
This is a sample implementation of MD5 support in Quake using the MD5 models from the Quake 2021 release.
The codebase is FitzQuake 0.85; I lightly modified it to compile in Visual C++ 2008 Express, and run acceptably on a number of test machines, but have otherwise resisted the temptation to change any behaviours other than adding MD5 support. You should be able to do a diff with the original FitzQuake source and clearly see what was done. The project should also upconvert (reasonably) clean to more recent versions of Visual C++ or Visual Studio.
The MD5 code was adapted from http://tfc.duke.free.fr/coding/md5-specs-en.html and that remains under it's original license.
Portions of the drawing code were adapted from ID Software's original modelgen.c code at https://github.com/id-Software/Quake-Tools/blob/master/qutils/MODELGEN/MODELGEN.C
This implementation is relatively feature-complete so far as the FitzQuake renderer is concerned, so in addition to MD5 model drawing, it also handles them in r_shadows and r_showtris mode. I didn't do player texture translation for MD5 skins for reasons of simplicity and clarity, nor did I do a multitextured path for fullbrights.
The MD5 drawing code uses OpenGL 1.1 calls only, so there are no vertex buffers, shaders or other features which you might expect to see in a more modern implementation. It does however use vertex arrays, but limited to the OpenGL 1.1 interfaces, and it should be easy enough to convert that to glBegin/glEnd code if you wish.
Finally, it should go without saying that this is a techdemo sample implementation, so you shouldn't have expectations around it being usable for general-case Quake play, especially with modern maps.
#130 posted by bmFbr
on 2021/08/26 14:44:39
Changing hitboxes to more precise ones would need a MAJOR engine and QC rewrite and paradigm changes. Everything collision-related uses the bounding boxes as reference - the code that handles how entities interact with each other and with the world is the same that handles weapon hit checks, so they'd need to come up with new walking code, world and entity collision. It would probably break a lot of things.
#131 posted by madfox
on 2021/08/26 16:08:43
A great lot of thanks..,
from a freak that even had a chance
of touching the new release!
#132 posted by 7yn1c
on 2021/08/26 18:38:05
that's really awesome, mh. thanks
#133 posted by metlslime
on 2021/08/26 20:18:16
great work MH. Hopefully this will speed adoption of MD5 into sourceports.
Rerelease Launch Issue
#134 posted by Drew
on 2021/08/26 21:13:12
I've tried looking elsewhere but before I mess around I'm wondering if someone here would recommend the best solution.
When I try to launch quake from Steam on my Lenovo Thinkpad I get the following error:
kexPlatformApp::InitVideo: Failed to initialize window for Vulkan (Failed loading vulkan-1.dll: The specified module could not be found.)
I really just want to play the MG1 pack. If there's an optimal way to do this anyone knows please fill me in!
I've tried launching in quakespasm but a lot of errors and seems to be missing sounds etc and I think I read somewhere it'll crash randomly... so I kind of cut myself short before going to far in.
DoTM will not work with any other port than Kex for now. It's mainly because of the included progs.dat. Maps themselves also have their messages turned into variables for localization, so you would get a lot of cryptic messages.
Even if you got all of that working, you would still be missing the amazing shadow and stained glass mirror effects which Kex is adding to the DOTM maps, so any port which wants to preserve that look will need some considerable visual extra features. Playing the levels without these effects makes them a lot less impressive.
#136 posted by gila
on 2021/08/26 22:08:04
That's because this release is aimed at using Vulkan API, and if it fails to initialize it, then you get that. It can run on Direct3D 11 however.
Go to c:\Users\%username%\Saved Games\Nightdive Studios\Quake\ and find kexengine.cfg file. Open it for editing and change
seta r_rhirenderfamily "vulkan"
seta r_rhirenderfamily "d3d11"
#137 posted by Drew
on 2021/08/26 23:01:58
this cfg file doesnt seem to exist
I can create and enter that but I believe I read elsewhere that then there are issues with keyboard mapping, saving etc?
#138 posted by 7yn1c
on 2021/08/26 23:37:04
mh, are you planning to port DirectQII to UWP or something similar?
#139 posted by gila
on 2021/08/27 00:12:50
Here's the default .cfg file - http://gila.deathmask.net/kekengine/
Try this one. I think sometimes if it fails to start, it does not create the config.
#140 posted by Drew
on 2021/08/28 05:18:27
placed file in slot as directed, spotted you had already changed the field noted. Tried to launch from steam to no avail. Computer thinks for a sec but does not launch.
#141 posted by gila
on 2021/08/28 10:20:56
Hm, I dunno. Usually changing the rendering API helps, as was reported by a lot of people. Try removing stuff like v_width or w_height from the .cfg file? Or just leave ONLY r_rhirender family line in cfg file?
Or maybe they will patch it, the patch is coming but no information on when.
They are NOT releasing the source code for the port and its files. Which will make adjustments harder for other ports.
All Hail The Corporate Overlords
That just totally goes against the philosophy of Quake in general. God, I hate corporate meddling and their greed driven jealous guarding of things they could never understand just because "I-OWN-THIS-NOT-YOU". The only reason they'll be selling the numbers of the re-release they are is because of the openess of the community over the past couple of decades.
Honestly, the collapse of global capitalism can't come soon enough.
#144 posted by mh
on 2021/08/28 18:45:18
Kex is a closed-source engine. The "philosophy of Quake" stuff is bullshit. Quake always had proprietary content, ID always retained closed-source licensing options after the original GPL release, and people really shouldn't be dreaming that any of this is something that it's not.
If you really wanted to go down the paranoid fantasy route, you could say that this is an evil corporate plot to Make Quake Closed Source Again. The irony is that under Microsoft ownership ID are now more open-source friendly than they have been in years, and new open-source released are now more likely to happen than they have in years. If you haven't updated your information since 1998, perhaps you should.
On the other hand you could stop whinging and start doing. The content is all there, there's already sample code, people have already done work on this stuff. Stop being a negative contributor and start being a positive contributor.
#145 posted by Text_Fish
on 2021/08/28 19:46:33
I heard Bill Gates hid a vaccine in the new Rottweiler skin which is going to turn us all in to face masks. YOU CAN'T PROVE HE DIDN'T.
#146 posted by madfox
on 2021/08/28 20:11:25
I feel a bit sorry. I know I'm like the Old One, lame & quirky. I played Quake five years on a stand-alone system, never cared about DM.
I hate it to be adjusted to the net for many reasons. It isn't 1998 anymore, but I would have apreciated if I could get Quake-Rereleased on a CD in my hands, not an abstract phantom on the net. Maye someday.
#147 posted by Willow
on 2021/08/28 21:26:49
Just saw someone is working on the progs.dat already:
I'm not sure what it does exactly but there is a download at least.
#148 posted by mh
on 2021/08/28 21:29:15
I've an update to my MD5 code up: https://github.com/mhQuake/MD5Stuff
This fixes a content bug in the Quake reissue. Some of the new MD5s were created with bad bounding boxes, so it's necessary to recompute them properly at load time. This was noticeable on the armor and backpack models; possibly others but I didn't check everything.
To put it simple, contains all the code necessary to make game-related things work. Monster AI, weapons, player... you name it. If a mod contains this file, it means they modified original game behavior to some extent.
Normally, the only way to edit a progs.dat file is to decompile it and put it back together with the changes you need. This sounds easier than it is, I can tell since I have already done the same for Shrak, another (exotic) old Quake addon. I am surprised they managed to pull it off so quickly, but these guys are good at this and determined, so: hats off!
Wow, dude, I think you read a bit much into my post. I never mentioned Id, the closed source that they used or anything to do with GPL. I spoke of the open community (which includes you) and how that community has kept the game alive and thus nurturing the huge interest that has been shown by the mainstream gaming press in recent weeks.
I am not a paranoid fantasist nor am I stuck in 1998. Sharing my negative feelings is not whinging. The real "bullshit" is people that respond to something with which they disagree with the over-used adage of "put up or shut up". My opinion whether negative or otherwise is valid. I disrespected no individual only a global philosophy that I find to be abhorent. Whether I code or not is irrelevant. If my statement had been positive I highly doubt anyone would shrug it off with "your positive opinion is ill informed, go code".
I try my best to share positive thoughts wherever applicable. In this instance I shared something negative. Surely, I'm allowed to do that on occasion.
Actually, please disregard the above post. I should've kept my opinion to myself. These things never go well on the internets and the last thing I want is to derail this thread or detract from the fact that we got some lovely new content to play with.
I would delete it but there's no edit button. *shrug*
Apologies to all.
DOPA Patch V2
Updated my "DOPA Kex" patch in order to also add that missing "Congratulations" screen at the end. Get it here (142 KB).