本文整理匯總了C++中DebuggerAppendMsg函數的典型用法代碼示例。如果您正苦於以下問題:C++ DebuggerAppendMsg函數的具體用法?C++ DebuggerAppendMsg怎麽用?C++ DebuggerAppendMsg使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了DebuggerAppendMsg函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: DumpDlistAt
void DumpDlistAt(uint32 dwPC)
{
uint32 word0, word1, opcode;
char *name;
switch( gRSP.ucode )
{
case 2:
case 10:
//case 8:
name=ucodeNames_GBI2;
break;
default:
name=ucodeNames_GBI1;
}
DebuggerAppendMsg("\n\n");
//if( dwPC>100 ) dwPC -= 40;
for( uint32 i=0; i<20; i++)
{
word0 = g_pRDRAMu32[(dwPC>>2)+0];
word1 = g_pRDRAMu32[(dwPC>>2)+1];
opcode = word0>>24;
DebuggerAppendMsg("%08X: %08X, %08X - %s", dwPC, word0, word1, name[opcode] );
dwPC+=8;
}
DebuggerAppendMsg("\n\n");
}
示例2: DumpHex
void DumpHex(uint32 rdramAddr, int count)
{
rdramAddr &= 0xFFFFFFF0;
uint32 *ptr = (uint32 *)((rdramAddr&(g_dwRamSize-1))+g_pRDRAMu8);
for( int i=0; i<(count+3)/4; i++)
{
DebuggerAppendMsg("%08X: %08X, %08X, %08X, %08X\n",
rdramAddr+i*16, ptr[i*4], ptr[i*4+1], ptr[i*4+2], ptr[i*4+3]);
}
DebuggerAppendMsg("\n");
}
示例3: DumpMatrix2
void DumpMatrix2(const Matrix &mat, const char* prompt)
{
DebuggerAppendMsg(prompt);
DebuggerAppendMsg(
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n",
mat.m[0][0], mat.m[0][1], mat.m[0][2], mat.m[0][3],
mat.m[1][0], mat.m[1][1], mat.m[1][2], mat.m[1][3],
mat.m[2][0], mat.m[2][1], mat.m[2][2], mat.m[2][3],
mat.m[3][0], mat.m[3][1], mat.m[3][2], mat.m[3][3]);
}
示例4: DebuggerAppendMsg
void DecodedMux::DisplaySimpliedMuxString(const char *prompt)
{
DebuggerAppendMsg("//Simplied Mux=0x%08x%08x\t%s in %s\n", m_dwMux0, m_dwMux1, prompt, g_curRomInfo.szGameName);
DebuggerAppendMsg("Simplied DWORDs=%08X, %08X, %08X, %08X", m_dWords[0],m_dWords[1],m_dWords[2],m_dWords[3]);
Display(true);
DebuggerAppendMsg("Simplfied type: %s", muxTypeStrs[mType]);
if( m_dwShadeColorChannelFlag != 0 )
{
if( m_dwShadeColorChannelFlag == MUX_ENV )
TRACE0("Shade = ENV in color channel")
else if( m_dwShadeColorChannelFlag == MUX_PRIM )
TRACE0("Shade = PRIM in color channel")
else if( m_dwShadeColorChannelFlag == MUX_LODFRAC )
TRACE0("Shade = MUX_LODFRAC in color channel")
else if( m_dwShadeColorChannelFlag == MUX_PRIMLODFRAC )
TRACE0("Shade = MUX_PRIMLODFRAC in color channel")
else
DisplayConstantsWithShade(m_dwShadeColorChannelFlag,COLOR_CHANNEL);
}
if( m_dwShadeAlphaChannelFlag != 0 )
{
if( m_dwShadeAlphaChannelFlag == MUX_ENV )
TRACE0("Shade = ENV in alpha channel")
else if( m_dwShadeAlphaChannelFlag == MUX_PRIM )
TRACE0("Shade = PRIM in alpha channel")
else if( m_dwShadeAlphaChannelFlag == MUX_LODFRAC )
TRACE0("Shade = MUX_LODFRAC in alpha channel")
else if( m_dwShadeAlphaChannelFlag == MUX_PRIMLODFRAC )
TRACE0("Shade = MUX_PRIMLODFRAC in alpha channel")
else
DisplayConstantsWithShade(m_dwShadeAlphaChannelFlag,ALPHA_CHANNEL);
}
for( int i=0; i<2; i++ )
{
if( m_ColorTextureFlag[i] != 0 )
{
if( m_ColorTextureFlag[i] == MUX_ENV )
TRACE1("Tex %d = ENV", i)
else if( m_ColorTextureFlag[i] == MUX_PRIM )
TRACE1("Tex %d = PRIM", i)
else if( m_ColorTextureFlag[i] == MUX_LODFRAC )
TRACE1("Tex %d = MUX_LODFRAC", i)
else if( m_ColorTextureFlag[i] == MUX_PRIMLODFRAC )
TRACE1("Tex %d = MUX_PRIMLODFRAC", i)
}
}
TRACE0("\n");
}
示例5: DebuggerAppendMsg
void COGLColorCombiner4::DisplaySimpleMuxString(void)
{
char buf0[30], buf1[30], buf2[30];
OGLExtCombinerSaveType &result = m_vCompiledSettings[m_lastIndex];
COGLColorCombiner::DisplaySimpleMuxString();
DebuggerAppendMsg("OpenGL 1.2: %d Stages", result.numOfUnits);
for( int i=0; i<result.numOfUnits; i++ )
{
DebuggerAppendMsg("//aRGB%d:\t%s: %s, %s, %s\n", i,GetOpStr(result.units[i].rgbOp), DecodedMux::FormatStr(result.units[i].rgbArg0,buf0), DecodedMux::FormatStr(result.units[i].rgbArg1,buf1), DecodedMux::FormatStr(result.units[i].rgbArg2,buf2));
DebuggerAppendMsg("//aAlpha%d:\t%s: %s, %s, %s\n", i,GetOpStr(result.units[i].alphaOp), DecodedMux::FormatStr(result.units[i].alphaArg0,buf0), DecodedMux::FormatStr(result.units[i].alphaArg1,buf1), DecodedMux::FormatStr(result.units[i].alphaArg2,buf2));
}
TRACE0("\n\n");
}
示例6: DEBUGGER_PAUSE_AND_DUMP_NO_UPDATE
void OGLRender::DrawSimple2DTexture(float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, COLOR dif, COLOR spe, float z, float rhw)
{
if( status.bVIOriginIsUpdated == true && currentRomOptions.screenUpdateSetting==SCREEN_UPDATE_AT_1ST_PRIMITIVE )
{
status.bVIOriginIsUpdated=false;
CGraphicsContext::Get()->UpdateFrame();
DEBUGGER_PAUSE_AND_DUMP_NO_UPDATE(NEXT_SET_CIMG,{DebuggerAppendMsg("Screen Update at 1st Simple2DTexture");});
示例7: DumpVertexArray
void DumpVertexArray(void)
{
DebuggerAppendMsg("----Vertexes----\n");
try{
for( int i=0; i<32; i++ )
{
FiddledVtx &v = g_pVtxBase[i];
DebuggerAppendMsg("[%d] x=%d,y=%d,z=%d -- r=%d,g=%d,b=%d,a=%d\n", i, v.x, v.y, v.z,
v.rgba.r, v.rgba.g, v.rgba.b, v.rgba.a);
DebuggerAppendMsg("\tx=%f,y=%f,z=%f,rhw=%f\n", g_vecProjected[i].x, g_vecProjected[i].y, g_vecProjected[i].z, g_vecProjected[i].w);
}
}catch(...)
{
DebuggerAppendMsg("Invalid memory pointer of vertex array\n");
}
}
示例8: glEnable
void COGLColorCombiner::DisableCombiner(void)
{
m_pOGLRender->DisableMultiTexture();
glEnable(GL_BLEND);
OPENGL_CHECK_ERRORS;
glBlendFunc(GL_ONE, GL_ZERO);
OPENGL_CHECK_ERRORS;
if( m_bTexelsEnable )
{
COGLTexture* pTexture = g_textures[gRSP.curTile].m_pCOGLTexture;
if( pTexture )
{
m_pOGLRender->EnableTexUnit(0,TRUE);
m_pOGLRender->BindTexture(pTexture->m_dwTextureName, 0);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
OPENGL_CHECK_ERRORS;
m_pOGLRender->SetAllTexelRepeatFlag();
}
#ifdef DEBUGGER
else
{
DebuggerAppendMsg("Check me, texture is NULL but it is enabled");
}
#endif
}
else
{
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
OPENGL_CHECK_ERRORS;
m_pOGLRender->EnableTexUnit(0,FALSE);
}
}
示例9: DumpMatrixAt
void DumpMatrixAt(uint32 dwPC)
{
Matrix mat;
const float fRecip = 1.0f / 65536.0f;
for (uint32 dwI = 0; dwI < 4; dwI++)
{
for (uint32 dwJ = 0; dwJ < 4; dwJ++)
{
int nDataHi = *(short *)(g_pRDRAMu8 + ((dwPC+(dwI<<3)+(dwJ<<1) )^0x2));
int nDataLo = *(uint16 *)(g_pRDRAMu8 + ((dwPC+(dwI<<3)+(dwJ<<1) + 32)^0x2));
mat.m[dwI][dwJ] = (float)((nDataHi << 16) | nDataLo) * fRecip;
}
}
TRACE0("Dump Matrix in Memory");
DebuggerAppendMsg(
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
" %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n",
mat.m[0][0], mat.m[0][1], mat.m[0][2], mat.m[0][3],
mat.m[1][0], mat.m[1][1], mat.m[1][2], mat.m[1][3],
mat.m[2][0], mat.m[2][1], mat.m[2][2], mat.m[2][3],
mat.m[3][0], mat.m[3][1], mat.m[3][2], mat.m[3][3]);
}
示例10: DumpCachedTexture
void DumpCachedTexture(uint32 index)
{
TxtrCacheEntry *p = gTextureManager.GetCachedTexture(index);
if( p != NULL )
{
char filename[80];
sprintf(filename,"\\Texture%d_rgb", index);
CRender::GetRender()->SaveTextureToFile(*(p->pTexture), filename, TXT_RGB);
DebuggerAppendMsg("Display cached texture #%d of %d\n", index, gTextureManager.GetNumOfCachedTexture());
DebuggerAppendMsg("W:%d, H:%d, RealW:%d, RealH:%d, D3DW:%d, D3DH: %d", p->ti.WidthToCreate, p->ti.HeightToCreate,
p->ti.WidthToLoad, p->ti.HeightToLoad, p->pTexture->m_dwCreatedTextureWidth, p->pTexture->m_dwCreatedTextureHeight);
}
else
{
DebuggerAppendMsg("No cached texture at index = %d\n", index);
}
}
示例11: DumpTileInfo
void DumpTileInfo(uint32 dwTile)
{
const char *pszOnOff[2] = {"Off", "On"};
DebuggerAppendMsg("Tile: %d\nFmt: %s/%s Line:%d (Pitch %d) TMem:0x%04x Palette:%d\n",
dwTile, pszImgFormat[gRDP.tiles[dwTile].dwFormat], pszImgSize[gRDP.tiles[dwTile].dwSize],
gRDP.tiles[dwTile].dwLine, gRDP.tiles[dwTile].dwPitch, gRDP.tiles[dwTile].dwTMem, gRDP.tiles[dwTile].dwPalette);
DebuggerAppendMsg("S: Clamp: %s Mirror:%s Mask:0x%x Shift:0x%x\n",
pszOnOff[gRDP.tiles[dwTile].bClampS],pszOnOff[gRDP.tiles[dwTile].bMirrorS],
gRDP.tiles[dwTile].dwMaskS, gRDP.tiles[dwTile].dwShiftS);
DebuggerAppendMsg("T: Clamp: %s Mirror:%s Mask:0x%x Shift:0x%x\n",
pszOnOff[gRDP.tiles[dwTile].bClampT],pszOnOff[gRDP.tiles[dwTile].bMirrorT],
gRDP.tiles[dwTile].dwMaskT, gRDP.tiles[dwTile].dwShiftT);
DebuggerAppendMsg("(%d,%d) -> (%d,%d), hilite [%d, %d]\n",
gRDP.tiles[dwTile].sl, gRDP.tiles[dwTile].tl, gRDP.tiles[dwTile].sh, gRDP.tiles[dwTile].th,
gRDP.tiles[dwTile].hilite_sl,gRDP.tiles[dwTile].hilite_tl);
}
示例12: TXTRBUF_DUMP
//Copies Direct3D graphics surface to the RDRAM memory structure
//Doesnt use render-targets (no HWFBE)
void DXFrameBufferManager::CopyD3DSurfaceToRDRAM(uint32 addr, uint32 fmt, uint32 siz, uint32 width, uint32 height, uint32 bufWidth, uint32 bufHeight, uint32 startaddr, uint32 memsize, uint32 pitch, IDirect3DSurface9 *surf)
{
if( addr == 0 || addr>=g_dwRamSize ) return;
if( pitch == 0 ) pitch = width;
IDirect3DSurface9 *surf2 = NULL;
TXTRBUF_DUMP(DebuggerAppendMsg("Copy Back to N64 RDRAM"););
示例13: DumpTlut
void DumpTlut(uint16* palAddr)
{
for( uint32 i=0; i<0x100; i+=8 )
{
DebuggerAppendMsg("0x%4X 0x%4X 0x%4X 0x%4X 0x%4X 0x%4X 0x%4X 0x%4X ",
g_wRDPTlut[i], g_wRDPTlut[i+1], g_wRDPTlut[i+2], g_wRDPTlut[i+2],
g_wRDPTlut[i+4], g_wRDPTlut[i+5], g_wRDPTlut[i+6], g_wRDPTlut[i+7]);
}
}
示例14: DebuggerAppendMsg
void OGLRender::EnableTexUnit(int unitno, bool flag)
{
#ifdef DEBUGGER
if( unitno != 0 )
DebuggerAppendMsg("Check me, in the base OpenGL render, unitno!=0");
#endif
if( m_texUnitEnabled[0] != flag )
m_texUnitEnabled[0] = flag;
}
示例15: defined
void OGLRender::SetZBias(int bias)
{
#if defined(DEBUGGER)
if( pauseAtNext == true )
DebuggerAppendMsg("Set zbias = %d", bias);
#endif
// set member variable and apply the setting in opengl
m_dwZBias = bias;
ApplyZBias(bias);
}