Hexen II + Irrlicht

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
Adolif4
Posts: 3
Joined: Mon May 06, 2013 6:46 am

Hexen II + Irrlicht

Post by Adolif4 »

Hello. I'm new to the forum (but not new to Irrlicht).

It turns out that I'm very deep into an Irrlicht-related project. Since this IS the official Irrlicht forum, I thought I'd share it with you guys. :)

I love some of the old retro's, one of which is Hexen II (most likely my favorite).

I decided about two weeks ago to rewrite its rendering code for Irrlicht. After days and days of banging my head, I finally have some worthy results.

Currently, it has no menus and no GUI. As for rendering everything else, it converts the data to Irrlicht-compatible formats.

Quake 1 MDL to Quake 2 MD2.
Quake 1 BSP to OBJ and MTL files.
Textures to uncompressed DDS files (see below).

I'm currently using a version of the Irrlicht engine with DDS support compiled in, but only if they're uncompressed. That's for legal reasons. (And because it's simpler, at the cost of using more space.)

Also keep in mind that the game only does conversions when it detects files are missing. Wouldn't want it to rewrite the data every launch.

As you can see, it's not anywhere near done. It also has an annoying sheep that you can hear across the map.

Plans:

-Improve lighting (make it modern).
-Splitscreen multiplayer.

Image
Image
Image

I was going to post a video, but the post editor says that urls are turned off. Let me know if there's no rule against it, and I'll share.

EDIT:

http://www.youtube.com/watch?v=reOLS6L7uBw
Last edited by Adolif4 on Mon May 06, 2013 3:28 pm, edited 3 times in total.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Hexen II + Irrlicht

Post by hybrid »

There are no rules against links, you only have to have more than one post before you can add links (to prevent easy spamming).
Why did you convert the meshes? Irrlicht supports both bsp and mdl, or do you use a very old Irrlicht version?
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Hexen II + Irrlicht

Post by hendu »

It's likely these formats are older versions - irrlicht's bsp is for q3 and mdl for half-life, I don't think either is able to load earlier versions of these.

edit: HL was actually a fork of Q1, I remembered wrong. So the MDL loader probably would work, or there might be some customization by either Valve or Id.
Adolif4
Posts: 3
Joined: Mon May 06, 2013 6:46 am

Re: Hexen II + Irrlicht

Post by Adolif4 »

@hybrid

Very well. Link added. Edit: I use 1.8.

@hendu

Correct (the edited part). MDL is (almost) exactly the same as MD2. Unfortunately, Irrlicht can't seem to load the MDL models without assuming they're Half-Life models and failing. The differences between MDL and MD2 include:

-Vertices can have two sets of UVs/STs
-Triangles are split into two categories: "backfaces" and "frontfaces."

Width-wise, backface triangles use the second half of the texture, and frontfaces use the first. I had trouble getting this to work with the converter at first, so the converter has a quick and dirty hack to solve the issue. It duplicates the vertices and makes backface triangles reference the duplicates.

In addition, Raven added a special version of the MDL format for Hexen II. The code supports them too.

As for BSP, I couldn't seem to produce valid Quake 3 BSPs from the Quake 1 BSPs due to lack of important information. So it dumps the vertex, face, and texture reference data to the wavefront format.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Hexen II + Irrlicht

Post by hybrid »

Ah, thanks for the info.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Hexen II + Irrlicht

Post by Nadro »

It trunk from svn you can use compressed dds textures, without any problems and special compilation flags.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Adolif4
Posts: 3
Joined: Mon May 06, 2013 6:46 am

Re: Hexen II + Irrlicht

Post by Adolif4 »

Yes, but there's a patent on the compression method. I just want to play it safe.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Hexen II + Irrlicht

Post by Nadro »

In trunk we use patent-free method. Only decompression mechanism is covered by patent, thats why in trunk we use native dds formats without software decompression (GPU decode it inside). In v1.8 and older Irrlicht versions we didn't have support for compressed textures, thats why we had to use decompression mechanism for DDS textures, but this method wasn't patent free. In trunk you can switch from patent free solution (with fully compressed textures support) to old non-free (patent) version (without compressed textures support - compressed textures are converted to uncompressed) if you enable "_IRR_COMPILE_WITH_DDS_DECODER_LOADER_" flag in IrrCompileConfig.h (this flag is default disabled).

It looks like currently you use non-free (patent) solution, so if you want to use dds textures safely just switch to trunk and leave "_IRR_COMPILE_WITH_DDS_DECODER_LOADER_" flag disabled.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Post Reply