Xash3D with QuakeC support[Quake Wrapper 0.6]

Discuss anything not covered by any of the other categories.
Max_Salivan
Posts: 96
Joined: Thu Dec 15, 2011 1:00 pm

Xash3D with QuakeC support[Quake Wrapper 0.6]

Post by Max_Salivan »

Unkle Mike released his Quake Wrapper, which can run Vanilla Quake and mods(and Nehahra).

Please,write here about bugs.

Xash3D build 4260, with BSP2 support(now you can play in AD)
Download: https://www.dropbox.com/s/tr0nsbjn02h8a ... .6.7z?dl=0
source code: https://www.dropbox.com/s/1oyuftij6yi4c ... rc.7z?dl=0

I think,you all know how install it.Just put ID1 folder near quake.exe

Version 0.6
-Updated engine to 4260 with demos fix(interpolation in demos)
-Engine compiled with bsp2 support
-fixed bug with remapping colors for quake models
-SET_VIEW fix
Last edited by Max_Salivan on Sun Oct 07, 2018 10:12 pm, edited 5 times in total.
Sorry for my english :)
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: Xash3D with QuakeC support[alpha release]

Post by ceriux »

Have to check this out!
Nahuel
Posts: 495
Joined: Wed Jan 12, 2011 8:42 pm
Location: mar del plata

Re: Xash3D with QuakeC support[alpha release]

Post by Nahuel »

Max_Salivan wrote:Unkle Mike released his Quake Wrapper, which can run Vanilla Quake and mods(and Nehahra).

Please,write here about bugs.

http://www.hlfx.ru/xash/QuakeWrapper_alpha0.4.7z

I think,you all know how install it.Just put ID1 folder near quake.exe
Awesome, i really like the render , i tested many maps and works great
What kind of license is xash3d ??
It 's legal??
hi, I am nahuel, I love quake and qc.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Mostly known for running half-life (the old version) with better graphics.
I think it's under GPL now, ill have to check the github site again.
Not for novices if you plan on building it yourself, i had a heap of problems because the uploaded version now uses SDL for the render backend, and seems to require more work on the cmake files.
If i had to guess... the maintainer has focus on nix support atm, not so much on windows.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Ah multiport, it runs on android as well :).

As for the license it's GPLv3 the non quake port can be found here https://github.com/FWGS/xash3d

Does not work with the steam version of half-life because the client.dll is encrypted.
Also runs gunman chronicles :) besides the various half-life missions like blueshift and opposing force, but you need the won version of the game patched up to the latest.

Build is still a mess but i managed to fix the visual studio 2013 solution (lots of files where moved or deleted since this was made it seems). Builds fine now, even in visual studio 2017.

Menu might seem a bit much because of all the ports, it supports gamepads joysticks touchscreen and keyboard/mouse.
I would actually suggest disabling these under windows since they have no meaning there.

Code seems to be atleast partially based on older darkplaces sources.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

https://sourceforge.net/projects/cbadva ... les/Tools/

get source.7z

changes.

ported the entire source to vs2013
removed shadow code for alias models (looks like crap and was unused anyway).
fixed a few things pointed out by PVS-studio.
Fixed a few pointers which differed from the client and hl dll exports (one remains but fixing it would require me to change the function completely)

Should be able to build it with newer vs versions also but take care that you use xp compatibility.

Tested and so far it runs half-life won version, blueshift, opposing force, guman chronicles.
You can also use the overhaul pack for half-life which gives you some updated models with chrome effects and better textures.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Continued from last post.

Bugs:

Blueshift dev console is not working so forget about cheating :) (im looking into it atm, but feel free to suggest a fix).
Some mods expect an older engine so will most likely not work, theres a list of supported mods at the Xash3d-FWGS site.

TODO: if anyone wants to toy with half-life ?.
Implement shadowmaps as a replacement for the broken shadows (standard quake blob shadows), these dont play well with half-life since a lot of the environment like the floating islands in xen are actually models and not bsp's so you get shadows in places that are not supposed to have any. Also the old hack from quake where the shadows where pulled down to newer go above floor level does not work correctly with these models.

Batch rendering ?.
Maybe use VBO's instead of the old immediate mode crap.
Implement hardware glsl shaders for some stuff like water or other environment effects.
push limits for mods.

Loads of room for improvement :)
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

well doh the problem with the console is due to one line in gameinfo.txt
delete this line -> secure "1"
and it works again.

Also delete this line in liblist.gam since it's parsed from there on startup if the gameinfo.txt file is missing.

Blueshift used an encrypted dll so to make it work you need to get the blueshift unlocker setup file first, this includes an unencrypted dll.
original hd mod not working since the entry is missing from the video menu in xash3d, but its possible to copy over the updated models etc. and place them in the correct folders.

just ran the whole game in a quick run to see if anything bugged out, and it works rather fine :)
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

More changes.

Network code:

Began adding in nat code fixes from the FWGS port. Nat can now be selected from menu and the static server adress can be changed to a custom one.

Todo: add in the network compression code from FWGS.

Engine Limits:

Increased a few limits to allow some HD mods like the ultra definition point of view mod to work (still crashes from time to time because of memory corruption, probably in the same place as was pointed out in the FWGS port "wad3 handler was not nulling out the image string") . The increased limits do not seem to break normal half-life and it's mods.

Todo: live map preview in the menus like in the source version.
Productivity is a state of mind.
Max_Salivan
Posts: 96
Joined: Thu Dec 15, 2011 1:00 pm

Re: Xash3D with QuakeC support[alpha release]

Post by Max_Salivan »

Todo: live map preview in the menus like in the source version.
create scripts folder,than create chapterbackgrounds.txt

in chapterbackgrounds you can write your background maps like

"c4a1"
"c4a2"

quake wrapper support will be soon in FWGS port:)
Sorry for my english :)
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Aye just noticed, that uncle mikes version allready supports this :) well less coding for me then hehe.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Ported both xash3d and the xashxt mod to msvc 2013.

Yuck!!!

I kinda understand wanting to keep compatibility but the old msvc 6.0 compiler simply refuses to install for me in either win 10 or win 7 :/.

The amount of workarounds to even get it working with newer compilers while still being buildable with the old one dont really merit this approach anymore, and i seriously ponder making my own repo with a fixed sdk and source code for post XP building so that we can finally put msvc 6.0 in its grave.

Those who have tried porting it would no doubt hate these two types as much as i do HSPRITE and ARRAYSIZE.
To those uninformed, microsoft decided to use these two types for there own things, ARRAYSIZE now points to an rtl function... and HSPRITE which is a handle used internally in half-life for sprites was nicked by microsoft for some D3D sprite builtin, so we cannot use either type, but unfortunatly while we do have the source for the client dll's of half-life we do not have the sdk's needed for blueshift and opposing force so we cannot just rename them sigh.

The workaround will undoubtly raise some eyebrows ->

#pragma push_macro(ARRAYSIZE) // force the macro onto the stack
#ifdef ARRAYSIZE
#undef ARRAYSIZE
#endif
#define HSPRITE Disabled_HSPRITE // dont try to overwrite our own type ffs !!!
#include <windows.h>
#undef HSPRITE
#pragma pop_macro(ARRAYSIZE)

needless to say you need this everywhere windows.h is included sigh...
also it sucks for portability because you will need even more defines if you intend to port this to mingw.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Image

From the now defunct trinity renderer :) im going to see what can be salvaged or extended.
Only works on official steam client atm. but it should also be possible to extend this to xash.

Uses vbo's and has shadowmaps water and sky shader support and uses per pixel lightning so it should be possible to also extend it with proper normalmap support.

External high res texturing is also supported even in dds format.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

https://sourceforge.net/projects/cbadva ... z/download

final cleanup.

links to static msvc runtime again like in msvc 6.0.
can be imported to even newer versions of msvc.

minor code cleanup, ARRAYSIZE now checks against NULL pointer correctly.

ugly hack used to keep data structures in line with goldsrc as metioned in last thread.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Xash3D with QuakeC support[alpha release]

Post by revelator »

Things that could use a workover currently.

switch to using vertex buffer objects and framebuffers instead of the old immediate mode stuff (could probably use remakequakes renderer here cause xash allready supports bsp2).

menu and console code needs a look, it works mostly but there are a few gripes like messages in the menu drawing outside the messagebox and you need to use backspace atleast once if using the console because it seems to prefix console variables with an invisible char so you get an error unless you hit backspace once before writing in it.

older builds had a material setting to allow use of high def images instead of wad's this was removed in later builds but was actually pretty neat, so i ponder coding it back in.

xash also seems to have gone away from introducing newer effects engine side and instead defering them to a clientside renderer. This is actually the right approach cause it wont break compatibility with unmodified games then, atm though the xashxt mod standing for those is several versions behind the current xash3d so ugh.
Productivity is a state of mind.
Post Reply