[aquaria] THE GUILY (was Unofficial PSP port)
Alec Holowka
zaphire at gmail.com
Thu Jun 17 10:31:24 EDT 2010
dark layer uses a framebuffer to dark areas of the screen (e.g. in the
abyss)
however, there should be a version in the code that doesn't use a
framebuffer...
2010/6/17 Andrea Palmatè <andrea at amigasoft.net>
> Here it is The Guilty..
>
> if (darkLayer.isUsed() )
> {
> /*
> if (i == darkLayer.getLayer())
> {
> darkLayer.preRender();
> }
> */
> if (i == darkLayer.getRenderLayer())
> {
> darkLayer.render();
> }
>
> if (i == darkLayer.getLayer() && startLayer != i)
> {
> continue;
> }
> }
>
> wrapping it into a fantastic #if 0 (it will be #ifndef __amigaos4__) allow
> the game to be playable in all ist charm! ;)
> Now my question is.. what is used for since if i remove it all seems like
> on Linux version?
>
> Il 17/06/2010 13.50, Andrew Church ha scritto:
>
> I don't understand the strange effect that is present on the game (see
> my second screenshot). It seems like there is a "layer" on top of the
> game screen that avoid to show the game..
>
>
> There are some "overlay" layers used for things like fadeouts and the
> "red-out" effect when Naija is low on health. It's always possible that
> your GL implementation isn't processing alpha correctly for those quads.
>
>
>
> Beyond that, you'll probably have to dive into the actual rendering code
> and insert some test GL calls to locate the problem.
>
>
>
> But where? i'm trying to follow the flow that starts to ::addTexture but
> is not so simply..
>
>
> The basic rendering flow goes like this:
>
> Core::render() { // Called from main loop
> for (r = each render layer) { // See "enum Layers" in DSQ.h
> for (pass = each pass in r) { // Some layers have multiple passes
> for (robj = each RenderObject in r) {
> robj->render() { // May be overridden, e.g. by Quad
> if (this RenderObject is visible) {
> this->onRender(); // Virtual method for actual rendering
> }
> }
> }
> }
> }
> }
>
> Most RenderObjects are also Quads, so you may want to drop some debugging
> code into Quad::onRender() and see what's going on. You could also try
> disabling specific layers in Core::render() -- after this line:
> int i = renderObjectLayerOrder[c];
> add something like
> if (i == 67) continue; // 67 == LR_OVERLAY (count lines from LR_ZERO)
> to disable a layer and see how that changes the output.
>
> --Andrew Church
> achurch at achurch.org
> http://achurch.org/
> _______________________________________________
> aquaria mailing listaquaria at icculus.orghttp://icculus.org/mailman/listinfo/aquaria
>
>
> __________ Informazione NOD32 4812 (20100128) __________
>
> Questo messaggio è stato controllato dal Sistema Antivirus NOD32http://www.nod32.it
>
>
>
>
>
> --
>
> *Andrea Palmatè*
> http://www.amigasoft.net
>
> _______________________________________________
> aquaria mailing list
> aquaria at icculus.org
> http://icculus.org/mailman/listinfo/aquaria
>
>
--
Alec Holowka
www.infiniteammo.ca
www.bit-blot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/aquaria/attachments/20100617/70bf235c/attachment.htm>
More information about the aquaria
mailing list