Page 1 of 2

Xash3D with QuakeC support[Quake Wrapper 0.6]

Posted: Mon Jul 24, 2017 9:20 am
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

Re: Xash3D with QuakeC support[alpha release]

Posted: Tue Jul 25, 2017 9:01 pm
by ceriux
Have to check this out!

Re: Xash3D with QuakeC support[alpha release]

Posted: Wed Aug 02, 2017 5:55 am
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??

Re: Xash3D with QuakeC support[alpha release]

Posted: Fri Nov 03, 2017 10:18 pm
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Sat Nov 04, 2017 1:35 am
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Wed Dec 06, 2017 6:43 pm
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Fri Dec 08, 2017 3:49 am
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 :)

Re: Xash3D with QuakeC support[alpha release]

Posted: Fri Dec 08, 2017 4:07 pm
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 :)

Re: Xash3D with QuakeC support[alpha release]

Posted: Sun Dec 10, 2017 11:01 am
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Sun Dec 10, 2017 2:45 pm
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:)

Re: Xash3D with QuakeC support[alpha release]

Posted: Sun Dec 10, 2017 11:03 pm
by revelator
Aye just noticed, that uncle mikes version allready supports this :) well less coding for me then hehe.

Re: Xash3D with QuakeC support[alpha release]

Posted: Fri Mar 23, 2018 4:47 am
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Sat Mar 24, 2018 9:57 pm
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Sun Mar 25, 2018 4:41 am
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.

Re: Xash3D with QuakeC support[alpha release]

Posted: Tue Mar 27, 2018 2:24 pm
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.