Heretic 2 source code recreation effort

Hey guys,

One of my favorite games as a kid was Heretic 2, and I have been wanting to play Heretic 2 with next gen graphics. Without source code being available this was a impossible task. Off and on I have been working on re-creating the Heretic 2 engine side source code. With Heretic 2 being so modular, it made the task easier. Here is the status of each of the modules.

H2Common.dll
* 100% recreated.

Heretic2.exe
* 100% recreated.
* Hooks Quake2.dll functions such as cdaudio and com_printf. cdaudio can be * played from the harddrive from wav files.
Com_Printf now outputs to the visual studio debug log.


ref_gl.dll
* 80% recreated.
* Levels load and render correctly(with the exception of some bmodels rendering * some faces with wrong winding order?).
* Static .FM models render correctly.
* Skeletal .FM models render correctly(with the exception of corvus who always * has his elite gear on).
* .m8 and .m32 format support.
* Native Widescreen support.
* Custom FOV and aspect ratio support.
* Particles do NOT render correctly.
* The engine can load TGA textures

WinSnd.dll
* 100% recreated, some bugs with audio not playing when it should.
* Uses FMOD for audio.


Quake2.dll
* 0% recreated - only using hooks to override various functions.

Video:
https://www.youtube.com/watch?v=R9cTUa4qYlo

Source Code
https://github.com/jmarshall23/Heretic2

3 people like this

Share this post


Link to post
icecoldduke said:

I plan on uploading the source code when I get home tonight.


Great!

I'm actually not sure what license I can use for the project, since for ref_gl I started with the Quake 2 ref_gl, and heavily modified it.


That's the GNU Public License (GPL).

The new ref_gl is also referencing code from the Heretic 2 1.6 SDK.


I'm not sure about this one (yet), it's possible that you can't/shouldn't mix this with the Q2 stuff, but it depends on what you mean by "referencing"

Is the Heretic 2 1.6 SDK one of these files?

buildq2-39.zip
toolkit.zip
h2tku104.zip: Update for the toolkit.zip file.
Ht2Toolkit_v1.06.exe

Share this post


Link to post
Jon said:

Great!

That's the GNU Public License (GPL).

I'm not sure about this one (yet), it's possible that you can't/shouldn't mix this with the Q2 stuff, but it depends on what you mean by "referencing"

Is the Heretic 2 1.6 SDK one of these files?

buildq2-39.zip
toolkit.zip
h2tku104.zip: Update for the toolkit.zip file.
Ht2Toolkit_v1.06.exe

Ht2Toolkit_v1.06.exe

All of my code references variable types/structs and even code inside of the qcommon/client/ref_commmon folders. You can see when I release it, but to be on better legal ground I might have to write ref_gl from scratch(I planned on doing this anyway using D3D11 or Vulkan), but I still wouldn't be able to use GPL.

Share this post


Link to post

I really like both Heretic games neither one seems to get that much love but Heretic II is most definitely pretty much forgotten about.

I wish you all the best with the project. I feel Heretic II could really benefit from being able to run on modern systems... You never know, one day there might even be a community mapping project! :P

Share this post


Link to post

I didn't know Heretic II had so many problems today, I only played it once on my XP back in 2010 or so and it was a decent ride all things considered.

Share this post


Link to post

Has there ever been any Heretic 2 HD texture packs? If not, does anyone have any bandwidth to start creating one?

Share this post


Link to post

I have fixed the issues with our h2common.dll, I have enabled the project in the compile process by default. That means as of now the only dll we are missing code for is quake2.dll.

Share this post


Link to post

Can it work in the meantime with the game's original quake2.dll?

Share this post


Link to post

I have made some progress on lighting and tools. I have modified q3map2 and q3radiant to load and create maps for the new renderer. In this screenshot, I'm q3map2's deluxel lighting. I currently have one hi-res texture, which is why you only see bump maps on that surface.



Share this post


Link to post

Holy crap man, you are doing a wonderful job with this.

Share this post


Link to post

I finished up somemore textures. I'm not a artist by any means, I'm hoping someone better can come in and do some more hi res stuff properly. I never realized how much yellow there is in this game haha.


Share this post


Link to post

I wonder if stuff related to non-Doom engine sequels to Doom engine games would be news worthy, because this is great.

1 person likes this

Share this post


Link to post

I'd never played this when it was new. When I tried to play it a few years ago I got halfway through and then an unavoidable crash ground progress to a halt. I'd be interested in seeing this progress.

Share this post


Link to post

Can you please use smaller images? This thread has become almost unreadable due to the oversized screenshots.

Share this post


Link to post
Graf Zahl said:

Can you please use smaller images? This thread has become almost unreadable due to the oversized screenshots.

Aren't they downsized by the forum software to fit the window?

Share this post


Link to post
printz said:

Aren't they downsized by the forum software to fit the window?

You need to enable javascript for that.

Share this post


Link to post

I didn't realize this forum doesn't auto downsize images for some people, so what is the recommended way to post images on this forum?

Share this post


Link to post

Since you're hosting them on imgur, you could use the "huge thumbnail" approach. E.g.:



[ url=http://i.imgur.com/v1tguBy.jpg][ img]http://i.imgur.com/v1tguByh.jpg[/img][/url]
[ url=http://i.imgur.com/MVAGwdu.jpg][ img]http://i.imgur.com/MVAGwduh.jpg[/img][/url]
Note the added 'h'.

This way the pics are resized (by imgur) to be no wider than 1024, and people can click on them to get the full-size images.

Share this post


Link to post
printz said:

Aren't they downsized by the forum software to fit the window?



I have Javascript disabled for Doomworld because it's the only way to endure the Post Hell forum. If that stupid music was disabled I could change my settings but as things stand, no.

Share this post


Link to post

I just don't wear my headphones when going there. That said: go to your ublock/adblock/whateverblock settings and add a block filter for doomworld.com/linguica/scorchsav.js and there you go, no music anymore. You can also remove the flames by blocking fire.js from the same directory. Enjoy!

Share this post


Link to post
Gez said:

I just don't wear my headphones when going there.

Yeah but then the music will sound even louder for other people to hear.

On topic: I wonder how vanilla-compatible this port will be, hahaha. Is it like SvStrife?

Share this post


Link to post
Graf Zahl said:

I have Javascript disabled for Doomworld because it's the only way to endure the Post Hell forum. If that stupid music was disabled I could change my settings but as things stand, no.


Hehe. I'm not sure that makes Post Hell bearable, just more so ;)

OS X added a feature to Safari at some point in the last few years where there's a "mute" button for individual windows which is handy.

But I imagine that even with JS turned on, the images are being downloaded at full size.

Share this post


Link to post
icecoldduke said:

The big difference between the original game and the new port is the new renderer needs the all of the maps compiled with q3map2

Well, so much for the faithful approach.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now