Duke4.net Forums: Heretic 2 source code recreation effort - Duke4.net Forums

Jump to content

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Heretic 2 source code recreation effort

#1

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.
  • Disabled due to some floating point errors in the math.


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.


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.


https://github.com/j...hall23/Heretic2



This post has been edited by icecoldduke: 28 February 2017 - 08:13 PM

9

User is offline   Mark 

#2

I like the game too. When I recently bought my 3D glasses and monitor one of the first old games I installed was this one. I remember it looking way cool when I had different 3D glasses back in the late90's-early 2000 era running on a Voodoo 4 card.

cough..Polymer NG...cough :P
1

#3

Wait, the game never had a source release? Huh, never knew. Will be following this with great interest.
0

#4

I uploaded source code:
https://github.com/j...hall23/Heretic2
0

User is offline   Bloodshot 

#5

Oh man this is sweet, I love hexen 2 and heretic 2 and it's nice to see the latter finally get some love again
0

User is offline   Player Lin 

#6

Sadly, even I love the original Heretic but has zero of interest on this game...but, good to see someone try to working on it. The second Hexen game just only have one class(Paladin) I would like play or else I may just skip that poor one too...


Wait, Aren't you have no time to work on PolymerNG but still have time to do this one? Or it already happened long time ago...no offense but I'm just confusing......

This post has been edited by Player Lin: 01 March 2017 - 06:39 AM

0

#7

View PostPlayer Lin, on 01 March 2017 - 06:36 AM, said:

Wait, Aren't you have no time to work on PolymerNG but still have time to do this one? Or it already happened long time ago...no offense but I'm just confusing......

I would like to focus on Heretic 2 in this thread, but since PolymerNG has been brought up quite a bit, I should touch on it really fast. I have mentioned this before, but I am developing some technology that I would like to monetize in the future, and Heretic 2 is a better fit for that development. Here's why. I was loosing time fighting the build engine, and this was a very sad realization for me. Duke Nukem 3D and Shadow Warrior are still some of my favorite games, but I was loosing too much time fighting the codebase. So in order to progress on the tech, I had to find another game I really loved.

I do plan on back porting this technology back to PolymerNG, and its on my roadmap. I understand some of you are going to be sad or annoyed, but don't be. This helps the bigger picture($$), and will allow me to continue PolymerNG development.

Please keep this thread on Heretic 2, and if you have any other questions please PM me.

This post has been edited by icecoldduke: 01 March 2017 - 08:37 AM

-1

User is offline   TerminX 

  • el fundador

  #8

I can't help but see this as yet another one of your projects that will be dead in the water within 6 months.
6

#9

View PostTerminX, on 01 March 2017 - 10:51 AM, said:

I can't help but see this as yet another one of your projects that will be dead in the water within 6 months.

If the tech for this isn't done within 6 months, I fucked up badly :P.
-1

#10

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.
-1

User is offline   fgsfds 

#11

Nice to see this game gets some attention. I've never seen it being mentioned anywhere.
Though I've finished it about a month ago and didn't have any problem running it on Win10.

Attached thumbnail(s)

  • Attached Image: Heretic2_2017_02_07_12_56_03_119.png
  • Attached Image: Heretic2_2017_02_07_13_45_50_396.png
  • Attached Image: Heretic2_2017_02_07_15_07_12_032.png
  • Attached Image: Heretic2_2017_02_07_15_56_30_023.png
  • Attached Image: Heretic2_2017_02_07_17_59_07_531.png
  • Attached Image: Heretic2_2017_02_07_18_10_53_264.png

1

#12

View Postfgsfds, on 03 March 2017 - 12:25 PM, said:

Nice to see this game gets some attention. I've never seen it being mentioned anywhere.
Though I've finished it about a month ago and didn't have any problem running it on Win10.

While there are some crashes and other C- related issues, for the most part you are correct Heretic 2 runs decently well on Windows 10. That being said, my next step is real-time lighting and shadows, also xbox controller support. I'm hoping as well to get some people making HD textures for it. The code on github already loads TGA.

This post has been edited by icecoldduke: 03 March 2017 - 01:08 PM

-1

User is offline   Mark 

#13

Just to get things started, here is a replacement for the stone walkway at the start of the first map. I'll probably do a just a handful of textures for the docks at the map start. I can't devote much time to it right now. I had to find and install an editor for H2 maps. Its not an easy one to learn right off the bat. But it allows me to identify tile numbers in the map and I can find a high res replacement. After saving as tga I had to convert them to png because the forum doesn't allow tga attachments. I have no idea how you plan to insert the new graphics. I will edit this post shortly when I find the original name of the tile this replaces.

Silverspring/cobble5

Attached thumbnail(s)

  • Attached Image: stonewalk1.png
  • Attached Image: stonewalk1_n.png


This post has been edited by Mark.: 04 March 2017 - 07:10 AM

1

#14

View PostMark., on 04 March 2017 - 07:03 AM, said:

Just to get things started, here is a replacement for the stone walkway at the start of the first map. I'll probably do a just a handful of textures for the docks at the map start. I can't devote much time to it right now. I had to find and install an editor for H2 maps. Its not an easy one to learn right off the bat. But it allows me to identify tile numbers in the map and I can find a high res replacement. After saving as tga I had to convert them to png because the forum doesn't allow tga attachments. I have no idea how you plan to insert the new graphics. I will edit this post shortly when I find the original name of the tile this replaces.

Silverspring/cobble5

Great job on those textures! I'll have a place for you guys to upload new textures too tomorrow. Also binaries will come out tomorrow. I can have new textures go into a "textureshd" folder, or have them go into the same folder just have a .tga extension. What do you prefer?

This post has been edited by icecoldduke: 04 March 2017 - 07:25 AM

-1

User is offline   Mark 

#15

I don't know if the editor I am using gives me the actual file name that matches the original m8 format filename. Should I continue the naming as I did with this first one?

BTW, I grabbed that texture from a mod pack that someone made for Elder Scrolls Oblivion. Thats where I would be grabbing some more from along with making a few custom ones myself.

I'm thinking that Silverspring might be the subfolder of textures and that cobble5 is the actual filename I don't know for sure because the assets are packed in a pak file.

This post has been edited by Mark.: 04 March 2017 - 07:39 AM

0

#16

View PostMark., on 04 March 2017 - 07:34 AM, said:

I don't know if the editor I am using gives me the actual file name that matches the original m8 format filename. Should I continue the naming as I did with this first one?

BTW, I grabbed that texture from a mod pack that someone made for Elder Scrolls Oblivion. Thats where I would be grabbing some more from along with making a few custom ones myself.

I'm thinking that Silverspring might be the subfolder of textures and that cobble5 is the actual filename I don't know for sure because the assets are packed in a pak file.

You can use pak explorer(http://www.quaketerm...ls/pakexplr.zip) to extract out the data. Do you know what the license is for the elder scrolls mod pack?

This post has been edited by icecoldduke: 04 March 2017 - 08:05 AM

-1

#17

As far as what editor to use, I'm working on that one now. I'll have more information shortly.
-1

User is offline   Mark 

#18

from the Qarl texture pack mod creator: " If you intend to use my textures for anything, please contact me first for approval. Do not repackage or redistribute this mod without contacting me first. "

Contact Me

Feel free to email me at: qarl@earthlink.net.

The whole pack is about 3,500 files and11GB in tga format after unzipping. :P I watched a couple of YT vids using the mod. Many of the texture maps were crazy strong. Not sure if its the textures or their settings in Oblivion.

This post has been edited by Mark.: 04 March 2017 - 02:22 PM

0

#19

Are earthlink e-mail accounts still valid anymore :P. On the editor end I have modified q3map2 and q3radiant for Heretic 2 "NG". I'll have something to release soon. I also added your texture you posted mark.


Posted Image

This post has been edited by icecoldduke: 04 March 2017 - 07:49 PM

0

User is offline   Tea Monster 

  • Polymancer

#20

Oblivion supports parallax mapping. Check for an alpha channel on your normal map.
0

User is offline   Mark 

#21

I see bad news in that pic. With the larger texture size, scaling is way off now in the map. If that can't be avoided then the alternative is making normal maps of existing lo res textures. :P. In that textures window, is that a list of all the textures used in that map? If it is, a list or a cleaner shot of the screen would be a big help so I wouldn't have to search myself to make that list.

This post has been edited by Mark.: 05 March 2017 - 04:26 AM

0

#22

View PostMark., on 05 March 2017 - 04:15 AM, said:

I see bad news in that pic. With the larger texture size, scaling is way off now in the map. If that can't be avoided then the alternative is making normal maps of existing lo res textures. :P. In that textures window, is that a list of all the textures used in that map? If it is, a list or a cleaner shot of the screen would be a big help so I wouldn't have to search myself to make that list.

I'm in the process of fixing the texture scaling issues, I'm just going to use the old texture dimensions to help me compensate for the bigger texture sizes. Yes that is all the textures used in the first map, let me get a better shot.
0

#23

Here is a full list of textures that are used in the first map.

Pastebin of all textures used first map.
0

User is offline   Mark 

#24

Thanks for the list. Could you crop just the texture window and send it with less compression? I can make out some tile names but not others. I spun the wheel of chance and installed the Quark editor and as far as I can tell it doesn't have a feature to bring up only the textures used in the map. It might be there but I haven't played with the editor much.

This post has been edited by Mark.: 05 March 2017 - 06:14 AM

0

#25

Try this

Image
0

User is offline   Mark 

#26

Thats good. I couldn't right click save so I had to do my own screencap of your screencap :P
0

#27

I have been working on the lighting code, and I got per-pixel lighting and bump mapping in for the world only at the moment. But I plugged in the textures you posted. Looks good.

Posted Image
1

User is offline   Mark 

#28

Its OK but now that I see it tiled in the game there are some spots that detract from being better. The darkness at the top of my texture and a path between rocks near the right edge are giving the effect of almost a grid.

I won't have time today to do any others so just to give you another one to look at here is a WIP test of the wood plank texture that is used as the base for a couple of others.

Attached thumbnail(s)

  • Attached Image: wfloor6.png


This post has been edited by Mark.: 05 March 2017 - 08:44 AM

0

#29

View PostMark., on 05 March 2017 - 08:34 AM, said:

Its OK but now that I see it tiled in the game there are some spots that detract from being better. The darkness at the top of my texture and a path between rocks near the right edge are giving the effect of almost a grid.

Yeah I see what your saying. Can you do anything to fix it?

This post has been edited by icecoldduke: 05 March 2017 - 08:42 AM

0

User is offline   Mark 

#30

I can give it a try, but not today. Sorry.
0

Share this topic:


  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options