[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Mod_LoadAllSkins - Bug Fix

Mod_LoadAllSkins - Bug Fix

Post tutorials on how to do certain tasks within game or engine code here.

Moderator: InsideQC Admins

Re: Mod_LoadAllSkins - Bug Fix

Postby Spike » Thu Jun 07, 2012 1:28 am

framegroups simplify skeletal animation a fair amount. each 'frame' is an entire animation, and supporting multiple blends is required anyway - assuming you have the ability to animate different parts independantly.
that said, they're too unreliable without csqc.
most skeletal formats revive the idea.

on the other hand, skingroups can generally be better served by a shader (with sawtooth fading or whatever to smooth it out).
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Mod_LoadAllSkins - Bug Fix

Postby metlslime » Thu Jun 07, 2012 3:48 pm

i knew glquake broke a lot of the animated skingroup feature, (i.e. forcing it to be either 1, 2, or 4 frames) but I didn't know about the timing bug -- is this the bug that causes it to animate at 20Hz instead of 10?

(I used this for the landing beacon in rub2m2, and I had to duplicate frames -- 2 on, 2 off -- so that it would blink at 10Hz to match my lightstyle. If that is actually a bug, I guess that means my beacon will blink too slowly in any fixed engine.)

(update: just tested in winquake, the timing appears to be the same there. Now i'm confused... why is it 20Hz?)
metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Re: Mod_LoadAllSkins - Bug Fix

Postby Spike » Thu Jun 07, 2012 4:38 pm

skingroups and framegroups animate at per-frame intervals. except in glquake where it uses only the first frame's interval for all frames. that is, (win)quake can have different durations for each individual frame/skin. Generally though, you'd be crazy to use different intervals for different frames.
no idea where you're getting the 20hz from, but that is specified in the model, and I know of no engine bugs that would trigger it. Check whichever tool you're using to generate your model I guess.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Mod_LoadAllSkins - Bug Fix

Postby mh » Thu Jun 07, 2012 5:43 pm

User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: Mod_LoadAllSkins - Bug Fix

Postby taniwha » Thu Jun 07, 2012 11:15 pm

Why use varying rates (for skins, anyway): 0.4s on, 0.2s off (and other such things).

I agree that varying rates doesn't make as much sense for frame animations, but even then, it has its uses. The only real problem I can see with varying rates in frame animation is it would produce possibly weird results with lerping since the lerp blend factor covers the whole frame time. Yet another point in favor of csqc (qc controlled interpolation curves (and I'm still working on merging the nq and qw clients enough that they share entity code before doing any real csqc work:/)).

As for "fixing": GLQuake may have been an attempt to put a band-aid over the problem of the alias model format, but since it was never "documented" as such (separate program supporting the changes), I feel it should be treated as a band-aid: something to be removed as soon as possible. What to do about content designed for GLQuake's brokenness? Per-model flags (from an external file? can the data be auto-detected?) that control the load-time conversion of the data to the correct format.

QuakeForge is very much a "GLQuake was buggy, SW Quake is right" type engine. If anything, I will go down the load-time conversion path (though for the fullbright issue, that might need shader selection). QF already has per-model flags for 2x scaling (gl-eyes), fullbrignt rendering (torches), no shadows (torches, grenades), etc. Made a difference to alias rendering speed, and greatly improved the readability of the code. I moved the logic from the alias renderer to the model loader.

Talking about torches, I took a good look at their animation in blender: it seems the artist may have intended the animation to ramp up to the last frame, snap back to the first and at the same time rotate the model 90 degrees, thus giving the main flame a continuous spinning effect. I haven't tried it yet, though (more csqc?:P)
Leave others their otherness.
http://quakeforge.net/
taniwha
 
Posts: 399
Joined: Thu Jan 14, 2010 7:11 am

Re: Mod_LoadAllSkins - Bug Fix

Postby metlslime » Fri Jun 08, 2012 6:28 pm

metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Re: Mod_LoadAllSkins - Bug Fix

Postby mh » Fri Jun 08, 2012 11:12 pm

Last edited by mh on Sat Jun 09, 2012 12:08 am, edited 3 times in total.
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: Mod_LoadAllSkins - Bug Fix

Postby metlslime » Fri Jun 08, 2012 11:15 pm

Yeah, i think there is no actual bug; the answer is that lightstyles and skingroups animate at 10Hz, and bsp textures animate at 5Hz, and none of this is a bug, but it confused me for a bit. (since i assumed bsp was 10Hz, I assumed everything else must be wrong somehow.)
metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Re: Mod_LoadAllSkins - Bug Fix

Postby frag.machine » Sat Jun 09, 2012 3:04 am

I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2120
Joined: Sat Nov 25, 2006 1:49 pm

Re: Mod_LoadAllSkins - Bug Fix

Postby mh » Sat Jun 09, 2012 1:23 pm

User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: Mod_LoadAllSkins - Bug Fix

Postby frag.machine » Sat Jun 09, 2012 6:10 pm

I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2120
Joined: Sat Nov 25, 2006 1:49 pm

Re: Mod_LoadAllSkins - Bug Fix

Postby Spike » Sat Jun 09, 2012 9:21 pm

for BSP textures, its 5hz.

Yes, the code uses time*10 for 10hz, but it also counts each frame twice with the ANIM_CYCLE thing. each frame is basically duplicated. hence 10/2=5.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Mod_LoadAllSkins - Bug Fix

Postby mh » Sun Jun 10, 2012 2:48 am

Yuck - you're right. :evil:
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: Mod_LoadAllSkins - Bug Fix

Postby qbism » Sun Jun 10, 2012 3:57 am

It seems hideous, but the code took extra pains to make it different. Is there some non-obvious benefit? Maybe something in qtest needed it?
User avatar
qbism
 
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am

Previous

Return to Programming Tutorials

Who is online

Users browsing this forum: No registered users and 2 guests