"FitzQuake Plus": An Easy Engine To Compile
"FitzQuake Plus": An Easy Engine To Compile
For the sake of naming this, I just called it "FitzQuake Plus" so as not to confuse potential binaries with "FitzQuake proper".
I took FitzQuake and add a small handful of enhancements:
1. Half-Life Map Support (Does not support external .wad files, you can add this in rather easily via the tutorial if you choose. I don't like external WAD files.)
2. Session to session console history
3. Rotating brush model support
4. Fixed the system clock issue [causes severe problems on some machines ... Windows-only issue, usually with dual-core or quad-core]
5. Frag Machine's chase_active 2 (added a couple of extras)
6. Added 5 button mouse support + made scrollwheel scroll the console.
Easy As Hell To Compile
Download FitzQuake Plus binaries + source:
http://quake-1.com/files/engine-sources ... e_plus.zip
To compile ...
Option #1: Code::Blocks + MinGW. Code::Blocks is a light and tight IDE that combined with MinGW uses the gcc compiler. The install is a mere 74MB. Download that at http://prdownload.berlios.de/codeblocks ... -setup.exe . To compile, unzip the fitzplus.zip and then unzip the engine source zip contained within. Double click the FitzQuake_GCC.cbp file to open the project; press F9 to Build the binary and run. The End.
Option #2: Microsoft Visual C++ Express. Download that at http://www.microsoft.com/express/Downlo ... Visual-CPP .
To compile, unzip the Fitzplus zip and then unzip the engine source and double click the FitzQuake.sln file and then click Build. The End.
Samples
http://quake-1.com/files/engine-sources ... amples.zip
The above contains 2 samples:
1. A map called halflife.bsp to load as an example. The textures were compiled into the .bsp and therefore it does not use external WAD files.
2. A mini-mod in a folder called "rotate" and a map named "rotate" that is just the crappy rotating doors/drawbridge map I made in the Avirox rotation ported to NetQuake thread.
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
It compiles with 0 errors, 0 warnings in both MSVC++ and Code::Blocksceriux wrote:it compiled fine for me.
Just out of curiousity, which did you use?
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
Coming soon ...
FitzKurok 0.85 SDL (Windows, Linux, OS X) with obviously Kurok support and HLBSP plus all the other stuff listed above and as gb calls them "fence texture" support and that means Remake Quake too.
After that, I'll probably throw in q1 model external texture support for fun.
After that I expect to go for Nehahra support and throw in Quakespasm's 64-bit fixes so this one Linux 64-bit machine can run this engine.
FitzKurok 0.85 SDL (Windows, Linux, OS X) with obviously Kurok support and HLBSP plus all the other stuff listed above and as gb calls them "fence texture" support and that means Remake Quake too.
After that, I'll probably throw in q1 model external texture support for fun.
After that I expect to go for Nehahra support and throw in Quakespasm's 64-bit fixes so this one Linux 64-bit machine can run this engine.
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
For now. Future RMQ releases are bound to have heavier requirements.Baker wrote:and that means Remake Quake too.
Engines will need a) protocol 999 (or something like DP7) and b) massive performance improvements (renderer), well above the level of most engines today.
I'm willing to get example maps to engine coders, as demonstrated in the past, so they can know firsthand what engines will have to deal with soon.
RMQ is gonna require CSQC and stuff like FRIK_FILE in the future as well, plus a set of extensions and TE_ entries. The e1m6rq demo already uses these extensions, they're just not very noticeable yet (rail trail etc). Our cutscenes will probably require clientcamera for example. And so forth.
Right now I consider it RMQ support if it correctly runs the latest demo though - to my knowledge, the list of engines doing that is relatively small.
cheers.
Until then, one reasonable test might be "can your engine handle a fully dynamically lit world?" If you can do that and still get good framerates you're one step along the way.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
One thing I am interested in is fully integrating the SDL and Windows builds of FitzQuake into a single source because I think running an SDL build on Windows at least for FitzQuake is a little silly.
I am also want to get vsync working multiplatform which likely could be transportable to, say, Quakespasm.
I know the RMQ engine specs will certainly morph as the project goes along, I'm focusing on a few little interests of mine here and there to play around and one thing I want is Kurok running on OS X. The last thing I have to do to get that working is play around with gl_fog.c (it works without this) and then do testing to get 100% on the rendering (which at this point, only fog appears to be an issue).
I think it'll be fun to see what type of CSQC features RMQ uses and other changes you guys make to the protocol and what you are implying with the client camera features.
I am also want to get vsync working multiplatform which likely could be transportable to, say, Quakespasm.
I know the RMQ engine specs will certainly morph as the project goes along, I'm focusing on a few little interests of mine here and there to play around and one thing I want is Kurok running on OS X. The last thing I have to do to get that working is play around with gl_fog.c (it works without this) and then do testing to get 100% on the rendering (which at this point, only fog appears to be an issue).
I think it'll be fun to see what type of CSQC features RMQ uses and other changes you guys make to the protocol and what you are implying with the client camera features.
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
Only silly if there's a performance hit or feature limitation? It might actually be wise in terms of simplifying code. Usually I haven't seen differences between "native" and SDL (DP is an example) but someone with a P-II may differ.Baker wrote:running an SDL build on Windows at least for FitzQuake is a little silly.
I find SDL on older computers a lot less stable and compatible, especially since SDL seems to hate secondary video devices. In other words, no Voodoo2 in FitzQuake for you.qbism wrote:Only silly if there's a performance hit or feature limitation? It might actually be wise in terms of simplifying code. Usually I haven't seen differences between "native" and SDL (DP is an example) but someone with a P-II may differ.Baker wrote:running an SDL build on Windows at least for FitzQuake is a little silly.
And also in terms of 8bpp rendering, it's worse... so it's bad for software based engines as well, particularily on Win9x. but it's also bad on modern hardware when you have nvidia giving slowdown on palette changes and ATI lacking color precision for darker blues, and then there's the dreaded mouse polling if you dare to choose to use SDL input...
i should not be here
I pretty much have the next stage of this wrapped up [I'm talking about the Kurok-capable addition] ... except for one annoying QuakeC issue. [Kurok has a "speed check" in the QuakeC which I suspect could be so sensitive as to hate a clock difference.]
I'll have to double check to make sure I haven't missed some obscure but important piece of the Kurok engine modification somewhere.
What I could do, but I'm not going to invest the time right now ... is convert the SDL port of OS X and Linux into native non-SDL ports.
Besides, that is getting ahead of myself ... I need to track down the issue here with the QuakeC (Kurok has a slightly modified protocol) and I did discover one other annoying issue with Kurok that I verified exists in the original engine build --- changing the video mode has a fog issue. So on video mode change some OpenGL thingy needs re-initiatied or possibly turned-off ... but since video mode switching shuts down the OpenGL rendering context it is far more likely to be the former and the odds of the problem being the latter seem slim to none.
I'll have to double check to make sure I haven't missed some obscure but important piece of the Kurok engine modification somewhere.
What I could do, but I'm not going to invest the time right now ... is convert the SDL port of OS X and Linux into native non-SDL ports.
Besides, that is getting ahead of myself ... I need to track down the issue here with the QuakeC (Kurok has a slightly modified protocol) and I did discover one other annoying issue with Kurok that I verified exists in the original engine build --- changing the video mode has a fog issue. So on video mode change some OpenGL thingy needs re-initiatied or possibly turned-off ... but since video mode switching shuts down the OpenGL rendering context it is far more likely to be the former and the odds of the problem being the latter seem slim to none.
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..