Search found 2918 matches

by Spike
Tue Jun 20, 2017 6:18 am
Forum: CSQC Programming
Topic: nextthink + csqc entity
Replies: 1
Views: 5714

Re: nextthink + csqc entity

1: thinks are probably not what you want in csqc. if its something that should be happening every single video frame (so its actually smooth) then you should generally use .predraw instead, or just fade the alpha as part of drawing it. if (ent.alpha > 0) { drawimage(foo); ent.alpha -= frametime/tota...
by Spike
Sat Jun 17, 2017 3:14 am
Forum: Engine Programming
Topic: QBSP-VIS-RAD compiling process detailed documentation?
Replies: 5
Views: 8217

Re: QBSP-VIS-RAD compiling process detailed documentation?

the vanilla software renderer had a strict 1:16 ratio of lightmap:texels (for mip level 0, which also means all wall textures must be a multiple of 16). This ratio persists into glquake despite glquake using no surface cache. The file format basically says absolutely nothing about lightmap coords or...
by Spike
Tue Jun 13, 2017 2:00 am
Forum: Engine Programming
Topic: Calling Conventions/Stack
Replies: 14
Views: 14824

Re: Calling Conventions/Stack

just use menuqc. implement the core builtins from https://github.com/xonotic/darkplaces/blob/master/dpdefs/menudefs.qc while skipping the all the network+font crap, while throwing in sprintf+the easier fte_strings builtins. hopefully autocvars too. using DP's key constants can be annoying, although ...
by Spike
Tue Jun 06, 2017 6:58 pm
Forum: Engine Programming
Topic: The "walking flames" bug
Replies: 2
Views: 6491

Re: The "walking flames" bug

svc_spawnstatic ents(eg flames) don't get reset every network frame unlike players etc, so make sure that anything you change while rendering gets unchanged after.
I assume you set a watchpoint (although tbh 'point' is a misnomer) to see when the ent's origin changes?
by Spike
Tue Jun 06, 2017 3:47 pm
Forum: Engine Programming
Topic: Good docs on BSP rendering?
Replies: 13
Views: 10969

Re: Good docs on BSP rendering?

personally I just get a black screen with the vulkan build, oh well. frankly there's no advantage to vulkan here - vulkan excels at high drawcall counts but this thing explicitly keeps drawcall counts low, while current drivers waste their time being poo, so expect half the framerate from vulkan at ...
by Spike
Sat Jun 03, 2017 10:01 pm
Forum: Engine Programming
Topic: Good docs on BSP rendering?
Replies: 13
Views: 10969

Re: Good docs on BSP rendering?

pvs is still good for reducing overdraw and texture switches, but recalculating everything that's visible every frame is a lost cause. http://triptohell.info/moodles/junk/onedraw.zip is my toy engine (or rather, renderer). source is included. you can compile it to use either bindless textures or arr...
by Spike
Wed May 24, 2017 2:52 pm
Forum: CSQC Programming
Topic: [FTE]Rotate entities around common pivot
Replies: 5
Views: 8023

Re: [FTE]Rotate entities around common pivot

if all you want is to rotate a model around its own origin (aka: pivot), then yeah, avelocity will work for most movetypes. this is how grenades and vore missiles etc spin in quake. if you're setting more than one component at a time then your rotation will be non-linear of course, but that's a gene...
by Spike
Wed May 24, 2017 9:38 am
Forum: CSQC Programming
Topic: [FTE]Rotate entities around common pivot
Replies: 5
Views: 8023

Re: [FTE]Rotate entities around common pivot

if you can't use .avelocity with movetype_push then you can at least do it with the following maths: vector pivot = self.origin; vector startangles = self.angles; vector endangles = self.angles + self.avelocity * frametime; float pitchscale = (self.solid==SOLID_BSP)?1:-1; //stupid bug. should be for...
by Spike
Wed May 10, 2017 10:13 pm
Forum: QuakeC Programming
Topic: Monsters triggering buttons
Replies: 5
Views: 7404

Re: Monsters triggering buttons

rewrite movetogoal and walkmove to use traceboxes forward, and as part of that check the ents that they come in contact with.
or just add a tracebox/traceline after those calls to do it for you.

frankly the biggest issue is getting the monster to walk towards the button instead of the doorway.
by Spike
Sun May 07, 2017 3:55 pm
Forum: General Programming
Topic: xInput (xbox360 controller) in quake engines
Replies: 3
Views: 8202

Re: xInput (xbox360 controller) in quake engines

the analog triggers report values between 0 and 255, yes. just consider them pressed if they're above 128 and depressed if lower. buttons = (uint32_t)xinput.buttons; if (xinput.lefttrigger>127) buttons |= 0x10000; if (xinput.righttrigger>127) buttons |= 0x20000; and then pretend it has 18 buttons in...
by Spike
Sat May 06, 2017 1:50 pm
Forum: General Programming
Topic: How to compile WinQuake in 2017?
Replies: 6
Views: 7837

Re: How to compile WinQuake in 2017?

the vanilla source was made for msvc5-with-masm(sold separately!), with some extra steps in the project file to convert the .s files to uncommented(and thus totally unreadable) .asm. iiuc, masm is now included as part of msvc itself nowadays, so things are much easier to get going. it should normall...
by Spike
Fri May 05, 2017 12:49 am
Forum: QuakeC Programming
Topic: Difference between progs and qwprogs?
Replies: 3
Views: 6996

Re: Difference between progs and qwprogs?

[nq]progs.dat and qwprogs.dat differ in: 1) system globals are different, which gives you loadtime errors (at least in vanilla). 2) builtins differ a little - or at least bprint+sprint got a few extra args. particle( got removed, and multicast+stof+infokey+logfrag got added, or something. 3) all the...
by Spike
Wed Apr 26, 2017 5:47 pm
Forum: CSQC Programming
Topic: FTE: Trouble with gettaginfo and gettagindex
Replies: 13
Views: 12631

Re: FTE: Trouble with gettaginfo and gettagindex

the original version of csqc didn't support movetypes at all (note that the behaviour of thinks depends on movetypes, so thinks didn't work either). DP's implementation does support thinks but without regard to movetypes, so don't use MOVETYPE_PUSH because you don't really know if it'll use time or ...
by Spike
Tue Apr 25, 2017 3:17 pm
Forum: CSQC Programming
Topic: FTE: Trouble with gettaginfo and gettagindex
Replies: 13
Views: 12631

Re: FTE: Trouble with gettaginfo and gettagindex

I'm not entirely sure on your exact situation, but here goes nuffin... 'the' viewmodel isn't normally known to the csqc except via stats. you normally have to just assume that its at pmove_org, if that is also actually known to your client... otherwise you'll have to check what you set VF_ORIGIN to,...
by Spike
Mon Apr 24, 2017 6:34 pm
Forum: Engine Programming
Topic: BSP depth sorting of translucent entities
Replies: 2
Views: 6688

Re: BSP depth sorting of translucent entities

first of all, sorry... This is one of the things I want to investigate. The renderer uses the BSP tree order to automatically sort the surfaces of the map, so why not use it for sorting the entities too? because its slow, at least in hardware accelerated engines that prefer overdraw to cpu usage. I ...