.qc (dot qc) - the group for quake c coders of all denominations. If you make quake one mods and write code in quake c, join our group! I'll try to answer any quake c questions - please post your inquiry in the forums...

Forum Thread
  Posts  
v1.07 status (Groups : qc : Forum : discuss() : v1.07 status) Locked
Thread Options
numbersix
numbersix quake-c coder++
Dec 2 2015 Anchor

Work now continues on the v107++ quake-c code base.

The current cycle is the new tech - map_hack.

Why?

This tech will give me 2 new mods and a potential game.

The mark III code base update for my main mod, Archon: Moddb.com is still the main focus.

It will benefit much from the v107 recode, which will be the mark III core.

In fact it was getting to a point where I could not continue under the mark II code base.

Global vars were so out of hand, they were starting to swamp the engine limit of 32767!

I dont know for sure what next tid bits will show up on .qc, but I have some great stuff.

Keep watching, and stay frosty!

Dec 5 2015 Anchor

Heya -

My first post here, just joined.

I remember playing Archon on the C64 back in 1985..heh. Neat you are coding it still for Q.

I thought actually you were talking a clean v 1.07 src. I just made a place on Sourceforge [ Sourceforge.net ] to support QC in any way, and have uploaded Gnoucs clean src plus a v1.06 I found on I think it was Quaddicted.


I dont mean to take away from what you are doing here in any way, just wanna make that clear, but is it ok for me to share stuff on the email list there? I will credit this forum of course.


One of the things I wanna do is find a way , perhaps with SPikes compiler, is to have it check for fixes, such as the Deathbubbles () one you posted , which I was gonna respond to but its locked. Theres also alot of the QIP fixes , but in the case of say Gnouc's version, I didnt see an index of sorts referencing exactly what if any of the QIP fixes are installed. While its well commented and has some new functions like makevectors2 () , I see some room for improvements, which is why I created the group on SF. Feel fre to join the email list there. If this forum had mail2 forum we could probably link them together possiblly

numbersix
numbersix quake-c coder++
Dec 5 2015 Anchor

Thanks for posting!

I'll put the salient parts first, this has turned into a foreward for a Stephen King novel...

You can include any of my qc release on other forums - since the original qc is GPL, I stuck with that. I prefer if credit is given, and of course the links to this forum. And any mods to the code should be a separate release as well, with clear indication of who did the modding.

Nearly all of my fixes and upgrades are wrapped with #define and #ifdef ... #endifdef sections. Which means this will only compile with fteqcc. I know of no other qcc that has # precompiler directives. But they are easy to find in the code - just search for #ifdef, or the specific bit, such as qc++, opgrade, noobjerr, and so forth.


Archon and Adept are 2 of my all time favorite games. I can hardly remember having more fun with a game. Certain arcade games in that gaming era. Doom and Quake, later.

I dont know about "clean" exactly. I removed the original compiler warnings. Fteqcc though seems to keep adding more warnings! Its hard to keep up.

As far as fixing bugs, I made most of that optional with #define and #ifdef ... #endifdef sections. The reason being that it modifies game behavior and some of the old maps may now play exactly the same. I tried to keep upgrades to v1.06 original code to a minimum. Mostly to make it easier to include other mods.

v1.07 was really created for these two purpose:

Reduce the usage of global vars. And in qc, _everything_ almost is a global. For instance, local vars! Say what? I know, it sounds odd. I have discovered a way around that, and it is already usable in v1.07.

The second purpose is the mark III code base for the Archon mod. It got so complex under the frikqcc compiler that I broke the engine limit of 32768 global vars! Fteqcc is a little more efficient and has some optimizing options. The original code is still very wastefull of globals. The biggest waste is the vanilla frame group macros. Every single one - is a global used up. More if you put strings in them.

And I dont know if I trust the -O3 and -O4 optimize levels. They really reduce code waste with globals and strings, but I think the result needs some serious testing.

Plus I started out with Z80 and 6502 assembler. Z80 was my first lang. So I can be a bit of an efficiency maniac at times. 16G of main system mem - how many C64s and VAXes can you fit in that? A lot.

With qc I get concerned about whats being run in loops - especially PlayerPreThink and PlayerPostThink. Those are called every frame! I think with darkplaces maybe even more often. Qc coders like to throw all kinds of stuff in there for mods.

Now days with hardware being so powerful, it doesnt matter much. Hard to get away from my coding roots though.

--

\|/
-*- Support free code: Patreon.com
/|\

Dec 6 2015 Anchor

Kool, you sound like a good guy to bounce things off of, and have alot of experience.

I have a "pulse" with Spike, and I have notified him to check this forum out.
Sounds like you are doin some engine coding with some decent success, so I wll be asking you more about setting that up.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.