Forum

Adding CSQC Support to a Quake Engine.

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Postby r00k » Sun Jun 28, 2009 5:49 am

No this was in reply to the do it by hand route.
This allows you to see ALL of the source code and the DIFF is highlighted for you to read surrounding code to help understand what its doing :D
r00k
 
Posts: 1110
Joined: Sat Nov 13, 2004 10:39 pm

Postby goldenboy » Mon Jun 29, 2009 4:41 pm

It's good to have an example implementation. A step in the right direction.

However, plain diff and applying the patch to something like Fitz or Tyrquake probably won't work because most engines are quite different from Winquake today.

Manual fixing will be required. Since it's a big patch, you might just grow grey hair about it. Ideally, engine coders would add it to their engines, a change which might be work intensive, but only needs to be done once. In theory.

In practice, it would be nice if Spike just declared this some sort of standard, so engine coders could say "supports CSQC version blah" and mappers/modders would have something "hard" to target.

We don't need to hope for a FTE/darkplaces common standard, so I'd say Spike should just go ahead with this. If I'm not mistaken, he's "the csqc guy" and he provided the example implementation, so he should just do it. A standard is needed. I think anyone with some sense should probably use/implement the FTE version of csqc.

In principle, building a diff and then applying it (partly by hand) should work of course.

Go csqc!

:)
User avatar
goldenboy
 
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel

Postby mh » Mon Jun 29, 2009 5:19 pm

The way I intend exploring it is by using a graphical diff tool against a stock ID sourcebase that will let me see the precise lines of code that have been changed, then making a call on whether or not the payback will be worth the effort. CSQC has been on my "nice to have" list for a while, but I don't really see it as a make or break feature just yet (maybe if more mods used it, which hopefully this release will encourage).
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
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Spike » Mon Jun 29, 2009 7:48 pm

Personally I'm the sort of person that likes to merge stuff by hand.
If its someone submitting a patch for one of my bugs, I like to know where I fecked up.
That patch is incomplete (hence why it wasn't me that posted a link to it). I think the listener properties arn't implemented (so you can't move/rotate the camera too far). Project/Unproject are not implemented, so you can't use mouse cursors. You should be able to use picture-in-picture, but water warping is broken/disabled in sw.
2d drawing is somewhat limited. I was working in that area when I got bullied into doing other stuff for my own engine.
When writing that patch, it really occured to me how little I still know about the quirks of the software renderer (hence the water warping). I lost a lot of time on that, and it still doesn't quite work properly.
If someone does notice any undesired changes, please be sure you tell me about them. :)

There are a few comments scattered around the code, FIXMEs and ENGINEDEVS that basically point out locations in the code that enhanced engines probably want to tweek. This patch is otherwise standard quake1.10 and thus does not have stuff like animation blending, so yeah, there is more to it than just merging the diff. While there's no compatibility lost from not doing the final tweeks, it really is missing something. :)

Still, now that it is out in the open, if anyone does wish to offer patches to fix missing features/bugs or just clean up some of the code, patches are welcome - I'll merge them by hand. :)
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby ceriux » Mon Jun 29, 2009 8:00 pm

iv tried engine coding, other wise id take a try at this, but my compiler or w/e wont even compile premade versions of engines... wait wait i got it to compile vannilla once.
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby Team Xlink » Wed Jul 01, 2009 4:54 pm

Spike, I merged it all had by hand. I searched through all of the source files for the csqc and spike and I put them in my engine. It didn't work. I have so many compileing errors. I have been having the hardest time doing this. If I do get this figured out I will definately make a patch but until then I will have to keep trying to get it to work.

After reading your post that the WinQuake CSQC was not finished. I may just go port it to my engine from DarkPlace's Source or the FTE's source. I am wondering if there is an easier way to port the code over. If I do get it figuredout, I will make a tutorial on it so that it can be done easier. I hope I will get it to work.
Last edited by Team Xlink on Wed Jul 01, 2009 4:58 pm, edited 1 time in total.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Urre » Wed Jul 01, 2009 4:58 pm

This thread rules. Hope more engine-devs begin adopting this monster of a feature
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby Team Xlink » Wed Jul 01, 2009 5:07 pm

Spike, I think I have thought of an easy way to find out the csqc changes.

Do you have your engines source for the first version with csqc and then the one before it that didn't have csqc?
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Spirit » Wed Jul 01, 2009 8:20 pm

Just get id Software's original source release of it.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1031
Joined: Sat Nov 20, 2004 9:00 pm

Postby Team Xlink » Sun Jul 12, 2009 8:40 pm

No, I want to see what changes were made. If I compare the one without CSQC to the next version right after with CSQC it will point out all of the differences needed.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Spike » Sun Jul 12, 2009 10:09 pm

The *only* changes to that version of winquake are the addition of csqc. That was the whole point of making that version.
There are quite a few changes needed for csqc. All over the place. That version doesn't even consider the sound changes.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Downsider » Mon Jul 13, 2009 4:15 am

Compare ID's official release of WinQuake to WinQuake with CSQC and look at the differences. The rest is obvious.

Just wondering, how updated IS this WinQuake w/CSQC deal? What features are omitted, and what is there?
User avatar
Downsider
 
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Postby Baker » Mon Aug 10, 2009 11:16 am

Team Xlink wrote:No, I want to see what changes were made. If I compare the one without CSQC to the next version right after with CSQC it will point out all of the differences needed.


You need WinMerge, sir.

Makes life easy.

http://winmerge.org/

Free, open source and is awesome. There may be slightly better tools that are commercial (like ExamDiff), but WinMerge is far more than adequate and very great.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Downsider » Mon Aug 10, 2009 12:20 pm

Well it's a month after and I believe that's already been said, too. Anyway, if this is for Solitude, why don't you do it, who's far more experienced?
User avatar
Downsider
 
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Status Report

Postby Team Xlink » Wed Aug 12, 2009 9:39 pm

Well, I just finished doing all of the common files, (the ones that can be winmerged) so I am about 80% done.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

PreviousNext

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest