/// \brief /// Creates a new light and returns a reference to it (same as implicitly adding a new light) /// /// \return /// Reference to newly added light inline VGLight& CreateLight() { m_lights.Add(new VGLight()); return GetLight(GetNumLights()-1); }
void DumpInfo(int thingToDump) { switch(thingToDump) { case DUMP_COLORS: DebuggerAppendMsg("----Colors----\nPrim Color:\t%08X\nEnv Color:\t%08X\n" "Fill Color:\t%08X\nFog Color:\t%08X\n" "Prim Depth:\t%f\nPrim LOD Frac:\t%08X\n", GetPrimitiveColor(), GetEnvColor(), gRDP.fillColor, CRender::GetRender()->GetFogColor(), GetPrimitiveDepth(), GetLODFrac()); break; case DUMP_CUR_MUX: CRender::GetRender()->m_pColorCombiner->DisplayMuxString(); break; case DUMP_LIGHT: DebuggerAppendMsg("----Light Colors----\nNumber of Lights: %d\n",GetNumLights()); for( uint32 i=0; i<GetNumLights()+2; i++) { DebuggerAppendMsg("Light %d:\t%08X, (%d,%d,%d)\n", i, gRSPn64lights[i].dwRGBA,gRSPn64lights[i].x,gRSPn64lights[i].y,gRSPn64lights[i].z ); } break; case DUMP_TEXTURE_AT: { } break; case DUMP_CUR_TEXTURE_RGBA: DumpTexture(gRSP.curTile, TXT_RGBA); break; case DUMP_CUR_1_TEXTURE_RGBA: DumpTexture((1+gRSP.curTile)%7, TXT_RGBA); break; case DUMP_CUR_TEXTURE_RGB: DumpTexture(gRSP.curTile, TXT_RGB); break; case DUMP_CUR_1_TEXTURE_RGB: DumpTexture((1+gRSP.curTile)%7, TXT_RGB); break; case DUMP_CUR_TEXTURE_TO_FILE: DumpTextureToFile(0,TXT_RGB); DumpTextureToFile(0,TXT_ALPHA); DumpTextureToFile(0,TXT_RGBA); break; case DUMP_CUR_1_TEXTURE_TO_FILE: DumpTextureToFile(1,TXT_RGB); DumpTextureToFile(1,TXT_ALPHA); DumpTextureToFile(1,TXT_RGBA); break; case DUMP_CUR_TEXTURE_ALPHA: DumpTexture(0, TXT_ALPHA); break; case DUMP_CUR_1_TEXTURE_ALPHA: DumpTexture(1, TXT_ALPHA); break; case DUMP_TLUT: DumpTlut(g_wRDPTlut); break; case DUMP_OBJ_TLUT: DumpTlut((uint16*)(g_pRDRAMu8+gObjTlutAddr)); break; case DUMP_TILE_AT: { } break; case DUMP_VERTEXES: DumpVertexArray(); break; case DUMP_VI_REGS: DumpVIRegisters(); break; case DUMP_SIMPLE_MUX: CRender::GetRender()->m_pColorCombiner->DisplaySimpleMuxString(); break; case DUMP_OTHER_MODE: DumpOtherMode(); break; case DUMP_FRAME_BUFFER: CRender::GetRender()->DrawFrameBuffer(true); break; case DUMP_CONTENT_AT: { } break; case DUMP_DLIST_AT: { } break; case DUMP_MATRIX_AT: { } break; case DUMP_NEXT_TEX: CachedTexIndex++; if( CachedTexIndex >= gTextureManager.GetNumOfCachedTexture() ) { CachedTexIndex = 0; } DumpCachedTexture(CachedTexIndex); break; case DUMP_PREV_TEX: CachedTexIndex--; if( CachedTexIndex < 0 || CachedTexIndex >= gTextureManager.GetNumOfCachedTexture() ) CachedTexIndex = 0; DumpCachedTexture(CachedTexIndex); break; case DUMP_CACHED_TEX: DumpCachedTexture(CachedTexIndex); break; case DUMP_TEXBUFFER_AT: { } break; case DUMP_COMBINED_MATRIX: DumpMatrix2(gRSPworldProject,"Combined Matrix"); break; case DUMP_WORLD_TOP_MATRIX: DumpMatrix2(gRSP.modelviewMtxs[gRSP.modelViewMtxTop],"World Top Matrix"); break; case DUMP_WORLD_MATRIX_AT: { } break; case DUMP_PROJECTION_MATRIX: DumpMatrix2(gRSP.projectionMtxs[gRSP.projectionMtxTop],"Projection Top Matrix"); break; } }