kristus Posted May 2, 2015 In darkplaces there's a selection of files collectively called dpdefs. I've managed to compile only dpexstensions.qc and keycodes.qc of these (as well as sv_user.qc) into progs.dat to use in Darkplaces. The others only spit out a bunch of errors and warnings. All different depending on if I choose to compile with QCC, FTEQCC or GMQCC standard. And I'm very basic in my skills regarding all things coding, so I can't say I know what to do with those errors anyway. But I'm assuming I am doing something wrong, rather than that the files are released in a broken state. Then there's a couple of files called Source_compare.pl and source_compare.txt that I am just not knowing what their purpose is. Though I've seen .pl files in the resources packs of Xonotic. I've never understood what they do, if anything. So, anyone who's familiar with this stuff. Please help. Negke? Kaiser? anyone else. 0 Quote Share this post Link to post
negke Posted May 2, 2015 Sorry, I'm not familiar with this stuff. My only idea would be to ask in the Inside3D forums and maybe in #qc @ AnyNet... 0 Quote Share this post Link to post
kristus Posted May 2, 2015 Ok, thanks for your reply. I'll see if the Quake guys can help. 0 Quote Share this post Link to post
TwinBeast Posted May 2, 2015 csprogsdefs.qc is for clientside qc. menudefs.qc is for menu qc. keycodes.qc is probably for both clientside and menu qc. progsdefs.qc looks to be about the same as defs.qc from Quake's progs qc source. You shouldn't include both files in the progs.src file. If you're just starting, you might want to stick to the "regular" qc, and then when you know some more, try the clientside qc too. Probably no one knows about menu qc. As far as I know, clientside qc can do menus too. I just started learning clientside qc today myself... So I can't say much about it. Yea, and dpextensions.qc and sv_user.qc work just fine on the regular qc. The source_compare files are irrelevant for compiling the progs.dat. And like negke mentioned inside3d.com and the irc channel are good places for learning qc. 0 Quote Share this post Link to post
kristus Posted May 2, 2015 Ok. Well, I tried commenting out defs.qc and adding progsdefs.qc, But that didn't work either. Eitehr way. Thanks for the help. I am curious about menu qc though, as I would like the functionality to modify the menu. But that's not really a priority right now. Jimi, maybe you could shed some light on a new issue I came across. It's rather trivial really. But I can't figure out why some of the models in Quake is rotating on their own axis, while others aren't. They're not animated. And it's not appearing like there is anything in the code that tells them to do it (I've tried with renaming and using the same names for models and it hasn't affected their behavior). Neither could I find any commands for the exporter to make them do it either. So what is the secret? 0 Quote Share this post Link to post
TwinBeast Posted May 2, 2015 The rotating models have a flag in the model file. But you can disable or enable it through DP_SV_MODELFLAGS_AS_EFFECTS feature (found from dpextensions.qc). If you wanted disable the rotating for some entity (disables all model flags), you'd do something like this: self.effects = self.effects | EF_NOMODELFLAGS; // doing it this way doesn't disable other EF_ flags And if you wanted to add/change the modelflags (may need to do the above too): self.modelflags = self.modelflags | MF_ROTATE; // this would add the rotating to a model The other modelflags are the various trails in the projectile models. Rotate flagged models can also bob up/down with cl_itembobheight cvar. 0 Quote Share this post Link to post
andrewj Posted May 3, 2015 I had to fix several things in the dpdefs files, here are some commit messages: dpdefs : fixed 'csprogsdefs.qc' which had several builtin functions defined twice, such as getsurfacenumpoints() and asin(),acos(),atan() -- the multiple definitions causing compiler errors (with fteqcc). dpdefs / csprogsdefs.qc : changed argument names of CSQC_InputEvent() to what the engine actually calls them, namely: eventtype, x, y dpdefs/menudefs.qc : added missing 'loadfont()' builtin dpdefs : fixed wrong values for VF_SIZE_X and VF_SIZE_Y in csprogsdefs.qc I have used the menu qc stuff, which replaces the built-in (C coded) menu stuff when used. While you can make a menu with CSQC, I am not sure you can disable the default behaviors (like ESCAPE key) without a menu qc. Xonotic uses menu qc, though it has a complex code there and not very useful if you are just trying to understand the basics. I can recommend GMQCC, it is a very good compiler. I had issues with FTEQCC. A defunct project of mine using QC, CSQC and menu QC with Darkplaces is here: https://github.com/andwj/dungeon-game 0 Quote Share this post Link to post
kristus Posted May 3, 2015 Thanks Andrew. I'll tinker with that. I actually started using the Xonotic codebase and tried to figure it out for quite some time. But it was just too complex to make any heads or tails out of for me. And since I never even managed to get it to compile, using FTEQCC or GMQCC I eventually decided to look closer at just using Darkplaces. And I've not regretted that decision since. Finally feels like I am making some progress. :) 0 Quote Share this post Link to post
kristus Posted May 3, 2015 Hmm, why aren't there a itembob flag as well. That would have been awesome. Cause now I got a thing that I want to spin but not bob. And I got a bunch of other things I want to bob and spin. Or if you could just make another flag perhaps. But does that require me to go and make a new build of Darkplaces? 0 Quote Share this post Link to post
andrewj Posted May 4, 2015 Bobbing might be something you could do with CSQC, though I have never messed with the CSQC entity stuff. 0 Quote Share this post Link to post
kristus Posted May 4, 2015 Ok, thanks for the tip. I compiled your menu.dat version btw, but when I tried it it would only start up in Darkplaces if I hit F9. Know why that is? 0 Quote Share this post Link to post
andrewj Posted May 4, 2015 It was designed to be like DOOM -- show a title screen at the start, and press ESCAPE to bring up the menu. Seems to work OK here with standard darkplaces if I run it in the dungeon-game directory with these arguments: -game oga Don't know why F9 did something, standard binding is quick-load I think. 0 Quote Share this post Link to post
kristus Posted May 4, 2015 For me it only comes to the title screen after I hit F9 when I run it in my project. Then I can hit esc for the menu itself to pop up. Strange. Well, I did have a bug the other day with a cvar that made projectiles not able to move through liquids like water. (So the nades just bounced on the water surface) Maybe something similar is going on here. EDIT: I tried putting the file in my regular Quake dir and ran it with Darkplaces there. But I had the same result. EDIT: There's not anything I need to put in progs.dat to kick it into gear? 0 Quote Share this post Link to post
andrewj Posted May 5, 2015 At the end of quake.rc in normal Quake the very last line causes the demos to play. Removing that line makes the menu.dat work as expected (for me). Here is the normal quake.rc :// load the base configuration exec default.cfg // load the last saved configuration exec config.cfg // run a user script file if present exec autoexec.cfg // // stuff command line statements // stuffcmds // start demos if not allready running a server startdemos demo1 demo2 demo3 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.