Adding CSQC Support to a Quake Engine.
Moderator: InsideQC Admins
47 posts
• Page 3 of 4 • 1, 2, 3, 4
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!

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!
-

goldenboy - Posts: 924
- Joined: Fri Sep 05, 2008 11:04 pm
- Location: Kiel
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
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
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. :)
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
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.
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
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?
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
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
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
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.
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
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?
Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Status Report
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
47 posts
• Page 3 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 1 guest


