[aquaria] THE GUILY (was Unofficial PSP port)

Andrea Palmatè andrea at amigasoft.net
Thu Jun 17 10:28:03 EDT 2010


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 list
> aquaria at icculus.org
> http://icculus.org/mailman/listinfo/aquaria
>
>
> __________ Informazione NOD32 4812 (20100128) __________
>
> Questo messaggio  è stato controllato dal Sistema Antivirus NOD32
> http://www.nod32.it
>
>
>
>    


-- 

*Andrea Palmatè*
http://www.amigasoft.net

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/aquaria/attachments/20100617/3517c3e4/attachment.htm>


More information about the aquaria mailing list