qbismSuper8 builds

Discuss programming topics for the various GPL'd game engine sources.
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

ericw wrote:The problem turned out to be onseam set to 1 instead of 32. This clobbers some internal flags in software quake, messing up the clipping.
http://www.celephais.net/board/view_thr ... &start=755
Bingo! Confirmed. Original SW engine functions properly if onseam is either 0 or 32. 1 = left clip! Perhaps the thought during original development was to pass along more than one flag.

Engines could work around non-compliant mdls, something like below.

Code: Select all

    if (pstverts->onseam)
        fv->flags = ALIAS_ONSEAM;
    else fv->flags = 0;

    //instead of fv->flags = pstverts->onseam
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: qbismSuper8 builds

Post by frag.machine »

@qbism: they indeed could, but they should ?
I find worrying you considering to inject an ugly hack in perfectly running code just to deal with malformed data, specially because we are not talking about models from the original game, but artwork sock just released. It's easier and also the Right Thing(tm) to do just give him the required feedback (and obviously to anyone who wrote the defective export plugin) to fix and re-release his models.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

frag.machine wrote:@qbism: they indeed could, but they should ?
I find worrying you considering to inject an ugly hack in perfectly running code just to deal with malformed data, specially because we are not talking about models from the original game, but artwork sock just released. It's easier and also the Right Thing(tm) to do just give him the required feedback (and obviously to anyone who wrote the defective export plugin) to fix and re-release his models.
The existing code is not perfectly running, it is itself a hack. What I've shown is just a first thought, but yes, active coders should look at the behavior. The proposition is to match what GLQuake does, which is to treat the value as a boolean. I can't think of any downsides... I'd like to hear of any.

Regarding feedback, oh there's been plenty back-and-forth if you read about a page back. Start with my error, Sock's flame, and on to more constructive discussion. I explained how to fix the models and posted a screenshot. But no one has confirmed they can duplicate this method. I sent a set of models to a 'third-party' modder a couple weeks ago but no response yet.
ericw
Posts: 92
Joined: Sat Jan 18, 2014 2:11 am

Re: qbismSuper8 builds

Post by ericw »

The mdl's in the next AD patch release will have the onseam values fixed, and also the frame mins/maxs (which were all set to 0 0 0, which messes up mdl culling a bit.)

AFAIK, the invalid onseam value (1) were written by Preach's fbx2mdl tool, I think he's aware of the problem though.

Anyway, sorry for hijacking the thread :)
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: qbismSuper8 builds

Post by mankrip »

Alright, I've added this fix to Retroquad too:

Code: Select all

fv->flags = ALIAS_ONSEAM * (pstverts->onseam != 0);
But the best way is to normalize the value upon model loading.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: qbismSuper8 builds

Post by Baker »

@ericw -- awesome and thorough job like usual!
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 ..
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

mankrip wrote:But the best way is to normalize the value upon model loading.
Yes, that would be more elegant. This seems to work in Mod_LoadAliasModel:

Code: Select all

pstverts[i].onseam = ALIAS_ONSEAM * ( LittleLong (pinstverts[i].onseam)!= 0);
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

I never expected the engine would get back to 'faithful' colors, but now it's much closer. The idea converged with a goal to make the exe independent without a special folder or pak. This build does away with the final 'training wheels' supporting the lighting model, including a hacked palette. A custom palette can still be loaded, but the default is the Quake palette.

super8 test build 258

Advanced lighting features can be turned off in console, and 'restart' map:
r_fog 0
r_coloredlights 0

Existing users will want to change to the default palette (in console: r_palette palette) and move their config file to the id1 folder, or continue to reference the super8 folder with -game, -game2, etc. Originally a super8 folder was distributed and the engine was hardwired to use it as one of the mod dirs.
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: qbismSuper8 builds

Post by toneddu2000 »

Clearly it's an awesome work qbism. Just downloaded, tried it and it recalls to me same look and feel of the original. Very very good work!
Meadow Fun!! - my first commercial game, made with FTEQW game engine
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

toneddu2000 wrote:Clearly it's an awesome work qbism. Just downloaded, tried it and it recalls to me same look and feel of the original. Very very good work!
Thanks for the feedback! :biggrin: Some will be happy with the more accurate default, but it will still load crazy color palettes.
Johnny Law
Posts: 22
Joined: Mon Apr 28, 2014 8:34 pm
Location: San Carlos, CA
Contact:

Re: qbismSuper8 builds

Post by Johnny Law »

That's pretty slick, I'm looking forward to trying it out. A software-renderer engine that rolls pretty close to WinQuake feel but with options for the "modern conveniences" (bsp2 support, soundtrack file support, colored lighting) is a great thing to have available.

(I liked Super8 a lot already, but more as a crazy variant to whip out occasionally rather than as a main choice for playing stuff.)
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: qbismSuper8 builds

Post by Baker »

qbism wrote:A custom palette can still be loaded, but the default is the Quake palette.
Other than X-Men Ravages of Apocalypse, which has a palette that only very slightly deviates from the Quake palette ...

Is there even another mod in existence that uses a non-Quake palette?

The WinQuake has the capability, but nothing actually puts it to use to the best of my knowledge.

(And the X-Men palette is very, very nearly the Quake palette.)
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 ..
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

re: palettes -
Custom palettes can be loaded at will to change the mood of a map. The engine will automatically remap colors. Here's a strong example to show what it's doing, but it can be more subtle: Image

Amon26 did a great set of palettes a while ago including this NPR-inspired beauty: ImageThese are included in pak88.pak of last official release.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: qbismSuper8 builds

Post by Baker »

Ah, I see your angle. I thought you were limiting a super8 feature to accommodate mods that use a non-Quake palette.
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 ..
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: qbismSuper8 builds

Post by qbism »

Actually that is indeed an issue because super8 defaults to a nonstandard palette. The test build goes back to standard.

Currently working on correct rendring of overlapping transparent surfaces. Might need some help. Then a new test build.
Post Reply