DOPA For Other Ports
I made a quick patch to get the new DOPA release playable in other ports. Get this file (54 KB) and follow the instructions in the readme. I already tested it in Quakespasm-Spiked. All maps work, the only thing you won't get is the "Congratulations" screen at the end of the episode - but in return, you won't get any crashes (if you follow the readme instructions properly).
@NightFright Re Vertex Wobble
#119 posted by stoo on 2021/08/25 16:16:58
Sorry, you're right. I didn't even look at the date on the release.
Grabbed the latest from the repo and took a short vid. The vertex wobble definitely isn't as bad as the older ogre model, but it's still noticeable.
https://youtu.be/QL9MP7TRbbo
As mh said, probably not much you can do about this in MDL format.
Gila
#120 posted by erc on 2021/08/25 16:34:18
They're pretty much all over the ring too.
Considering these are mostly untouched MD5 to MDL conversions, results are still quite good and well within acceptable limits for gameplay purposes. For some reason, view weapons won't convert that well though, at least in some cases.
#122 posted by Joel B on 2021/08/25 17:57:21
> I know it's naive, but I was really hoping that the remastered project materially was derived from the vanilla engine to preserve maximum compatibility.
FWIW a developer has said that it is still the original C code when it comes to the game-logic loop. The "Kex framework" is their term for the adapter/shim code they wedge in all around that to interact with modern systems (for rendering, neworking, etc.).
@Joel B
#123 posted by metlslime on 2021/08/25 18:29:56
Thanks for confirming that. I kind of assumed that was the case because someone said they were getting a hunc_alloc error.... which should not even exist if the engine was not largely still quake under the hood.
I still suspect at least some of these "remastered" models were ripped from the community, especially the ones made by capnbubs (Rottweiler, Grunt, Player, unreleased Ogre).
As for the sounds... I somewhat doubt they found all the sound sources all of a sudden in higher quality. Many of these are just upmixed with filters.
I mean, it's still great it has been done and all that. But... maybe less effort went into it than it looks at first. Just check the state of the SoA and DoE mission packs. Those were left mostly untouched compared to the rest.
#125 posted by Joel B on 2021/08/25 20:24:36
Eh, these are the kinds of things you can directly talk to these guys about in various places (mainly id dev "sponge" on Quake-related discords and the SA forums, and some Kex devs on SA-related discords and forums).
id did have higher-quality versions of most of the sounds in their archives, which were used here. IIRC only 22 kHz though, so they're still being upped to 44 kHz. And for a few sounds no higher-quality version was found.
The person who made the models has been credited as Jonatan Pöljö (@eldrone on twitter).
I dunno that we need to immediately get all cynical about the exact amount of "lazy devs" stuff involved here. :-)
Change Of Plan With The MD5 Stuff
#126 posted by mh on 2021/08/25 20:55:40
...because I want this to be more generally useful to everyone...
I'm implementing it in stock FitzQuake 0.85; I've lightly modified the code to get it to compile in Visual C++ 2008 Express, and run clean in my setup. Otherwise it's totally unchanged and you should be able to diff it against the original code and see what the additions for MD5 support were.
I'm doing full skeletal animation in this version, but on the CPU. That's obviously not the fastest code path, but you'll get to see everything in the one place and in simple C code.
It uses vertex arrays, not glBegin/glEnd. It would be trivial enough to modify it for glBegin/glEnd,
Right now I'm brute-forcing normals calculation at run time instead of precomputing them for the base frame. It still runs fast enough, and I really just did this to get something working.
A full implementation of all the options and toggles of the FitzQuake renderer will be left as an exercise for the reader. This is just a techdemo sample implementation, and people really shouldn't get any other expectations from it.
Progress? It's almost all done, actually. I do need to spend some time on those normals, but otherwise I could make the code public over the next few days.
#124
#127 posted by gila on 2021/08/25 21:41:33
With original levels, they have the .MAP sources. As for upsampled with filter sounds, if they did, they sound a lot better than two fan-made HQ-sound packs, I compared all of it with each other just the other day. The 'remaster' team did go to the archive storage folder and dug up what they could find. Then they just batch-converted all the sounds into 44/16 which I guess is better for this KEX engine thing, for one reason or another.
They couldn't go over DOE stuff because they couldn't find the source assets for it. With SOA I think they actualy found if not all, then most (but maybe I misunderstood from the Discord chat).
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.
MD5 Stuff
#129 posted by mh on 2021/08/26 13:18:24
This is now live.
https://github.com/mhQuake/MD5Stuff
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.
@Text_Fish
#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.
#129
#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
Hey!
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.
#134
#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"
to
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?
#137
#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.
Hmm
#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.
#140
#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?
https://www.gamepretty.com/quake-how-to-fix-crashing-in-new-remastered-version/
Or maybe they will patch it, the patch is coming but no information on when.
As Expected
They are NOT releasing the source code for the port and its files. Which will make adjustments harder for other ports.
|