DenkA003 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Всем привет нужна ваша помощь )У кого есть самый простенький логер текстур ? а точнее эво исход?Буду признателен !)P.S - google.ru не придлагать все обыскал есть инфа в интернете ну там логеры не дописаны а я хз как дописать так как я пока новичек в C++ Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Всё ведь [дописано]. 0_о Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Автор - Strife Показать контент #pragma comment (lib, "d3dx9.lib")#pragma comment (lib, "d3d9.lib")#include <Windows.h>#include <d3d9.h>#include <d3dx9.h>#include <iostream>#include <fstream>#include <detours.h>using namespace std;#define HOOK(func,addy) o##func = (t##func)DetourFunction((PBYTE)addy,(PBYTE)hk##func)#define STRIDE 0#define NUMVERTS 1#define PRIMCOUNT 2#define STARTINDEX 3#define LOGVALUES 4#define ES 0#define DIP 1#define SSS 2void Log(char* fmt, ...);void ModelRecLoggerMenu();struct ModelRecLogger_t{char* type;int value;bool isLogging;};ModelRecLogger_t model[5] = {{"Stride:", 0, false},{"NumVert:", 0, false},{"PrimCount:", 0, false},{"StartIndex:", 0, false},{"LOG ALL VALUES", 0, false}};unsigned int g_uiTimer = NULL;unsigned int g_uiStride = NULL;LPD3DXFONT g_pFont = NULL;LPD3DXLINE g_pLine = NULL;D3DVIEWPORT9 g_ViewPort;LPDIRECT3DTEXTURE9 g_pTexRed = NULL;LPDIRECT3DTEXTURE9 g_pTexOrange = NULL;const BYTE red[ 58 ] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00};const BYTE orange[ 58 ] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFF, 0x00};//---------------------------------------------------------------------------------------------------------------------------------typedef HRESULT (WINAPI* tSetStreamSource)(LPDIRECT3DDEVICE9 pDevice,UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride);tSetStreamSource oSetStreamSource;typedef HRESULT (WINAPI* tEndScene)(LPDIRECT3DDEVICE9 pDevice);tEndScene oEndScene;typedef HRESULT (WINAPI* tDrawIndexedPrimitive)(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE PrimType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount);tDrawIndexedPrimitive oDrawIndexedPrimitive;//---DrawString--------------------------------------------------------------------------------------------------------------------void DrawString(int x, int y, DWORD color, const char *fmt, ...){RECT FontPos = { x, y, x + 120, y + 16 };char buf[1024] = {'\0'};va_list va_alist;va_start(va_alist, fmt);vsprintf(buf, fmt, va_alist);va_end(va_alist);g_pFont->DrawText(NULL, buf, -1, &FontPos, DT_NOCLIP, color);}//---DrawRectangle-----------------------------------------------------------------------------------------------------------------void DrawRectangle(float x, float y, float w, int h){D3DXVECTOR2 vLine1[2];D3DXVECTOR2 vLine2[2];D3DXVECTOR2 vLine3[2];D3DXVECTOR2 vLine4[2];vLine1[0].x = x;vLine1[0].y = y;vLine1[1].x = x;vLine1[1].y = y+h;vLine2[0].x = x+w;vLine2[0].y = y;vLine2[1].x = x+w;vLine2[1].y = y+h;vLine3[0].x = x;vLine3[0].y = y;vLine3[1].x = x+w;vLine3[1].y = y;vLine4[0].x = x;vLine4[0].y = y+h;vLine4[1].x = x+w;vLine4[1].y = y+h;g_pLine->SetWidth(2);g_pLine->SetAntialias(false);g_pLine->SetGLLines(false);g_pLine->Begin();g_pLine->Draw(vLine1, 2, 0xFF0000FF);g_pLine->Draw(vLine2, 2, 0xFF0000FF);g_pLine->Draw(vLine3, 2, 0xFF0000FF);g_pLine->Draw(vLine4, 2, 0xFF0000FF);g_pLine->End();}//---Hooked DirectX Functions-------------------------------------------------------------------------------------------------------HRESULT WINAPI hkEndScene(LPDIRECT3DDEVICE9 pDevice){if(g_pTexRed == NULL) D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&red, sizeof(red), &g_pTexRed);if(g_pTexOrange == NULL) D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&orange, sizeof(orange), &g_pTexOrange);if(g_pFont == NULL) D3DXCreateFont(pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Verdana", &g_pFont);if(g_pLine == NULL) D3DXCreateLine(pDevice, &g_pLine);pDevice->GetViewport(&g_ViewPort);if(g_pFont != NULL && g_pLine != NULL){ ModelRecLoggerMenu(); if(g_uiTimer > GetTickCount()){ DrawString(g_ViewPort.Width/2,g_ViewPort.Height/2, 0xFF00FF00, "Values Saved"); }}return oEndScene(pDevice);}HRESULT WINAPI hkDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE PrimType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount){__asm nopHRESULT hRet = oDrawIndexedPrimitive(pDevice, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);bool bIsLogging = false;for(int i = 0; i < 4; i++){ if(model[i].isLogging == true){ bIsLogging = true; break; }}if(bIsLogging){ if((model[STRIDE].isLogging == true ? model[STRIDE].value : g_uiStride) == g_uiStride && (model[NUMVERTS].isLogging == true ? model[NUMVERTS].value : NumVertices) == NumVertices && (model[PRIMCOUNT].isLogging == true ? model[PRIMCOUNT].value : primCount) == primCount && (model[STARTINDEX].isLogging == true ? model[STARTINDEX].value : startIndex) == startIndex) { pDevice->SetRenderState( D3DRS_ZENABLE,false ); pDevice->SetRenderState( D3DRS_FILLMODE,D3DFILL_SOLID ); pDevice->SetTexture( 0, g_pTexOrange ); oDrawIndexedPrimitive(pDevice, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount); pDevice->SetRenderState( D3DRS_ZENABLE, true ); pDevice->SetRenderState( D3DRS_FILLMODE,D3DFILL_SOLID ); pDevice->SetTexture( 0, g_pTexRed ); }}return hRet;}HRESULT WINAPI hkSetStreamSource(LPDIRECT3DDEVICE9 pDevice,UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride){__asm nopif(StreamNumber == 0){ g_uiStride = Stride;}return oSetStreamSource(pDevice, StreamNumber, pStreamData, OffsetInBytes, Stride);}//-----------------------------------------------------------------------------------------------------------------------------------void Log(char* fmt, ...){char buf[1024] = {0};va_list va_alist;ofstream output;va_start(va_alist, fmt);vsnprintf(buf, sizeof(buf), fmt, va_alist);va_end(va_alist);output.open("D3D9 Model Logger.txt", ios::app);if(output.fail()) return;output << buf << endl;output.close();}//--Credits to DrUnKeN ChEeTaH--------------------------------------------------------------------------------------------------------LRESULT CALLBACK MsgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){return DefWindowProc(hwnd, uMsg, wParam, lParam);}void DX_Init(DWORD* table){WNDCLASSEX wc = {sizeof(WNDCLASSEX),CS_CLASSDC,MsgProc,0L,0L,GetModuleHandle(NULL),NULL,NULL,NULL,NULL,"DX",NULL};RegisterClassEx(&wc);HWND hWnd = CreateWindow("DX",NULL,WS_OVERLAPPEDWINDOW,100,100,300,300,GetDesktopWindow(),NULL,wc.hInstance,NULL);LPDIRECT3D9 pD3D = Direct3DCreate9( D3D_SDK_VERSION );D3DPRESENT_PARAMETERS d3dpp;ZeroMemory( &d3dpp, sizeof(d3dpp) );d3dpp.Windowed = TRUE;d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;LPDIRECT3DDEVICE9 pd3dDevice;pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&pd3dDevice);DWORD* pVTable = (DWORD*)pd3dDevice;pVTable = (DWORD*)pVTable[0];table[ES] = pVTable[42];table[DIP] = pVTable[82];table[SSS] = pVTable[100];DestroyWindow(hWnd);}//------------------------------------------------------------------------------------------------------------------------------------void ModelRecLoggerMenu(){static int menuIndex = 0;static int incrementBy = 1;DrawString(10, 10, 0xFFFFFFFF, "In/Decrement By: %i", incrementBy);for(int i = 0; i < 5; i++){ if(i == menuIndex){ DrawRectangle(8, 23+(i*15), 140, 18); } DrawString(10, 25+(i*15), model[i].isLogging==true?0xFF00FF00:0xFFFF0000, "%s", model[i].type); if(i != LOGVALUES){ DrawString(100, 25+(i*15), model[i].isLogging==true?0xFF00FF00:0xFFFF0000, "%i", model[i].value); }}if(GetAsyncKeyState(VK_UP)&1) menuIndex--;if(GetAsyncKeyState(VK_DOWN)&1) menuIndex++;if(GetAsyncKeyState(VK_LEFT)&1) model[menuIndex].value-=incrementBy;if(GetAsyncKeyState(VK_RIGHT)&1) model[menuIndex].value+=incrementBy;if(GetAsyncKeyState(VK_DELETE)&1)model[menuIndex].isLogging = !model[menuIndex].isLogging;if(GetAsyncKeyState(VK_INSERT)&1)model[menuIndex].value = 0;if(GetAsyncKeyState(VK_NEXT)&1){ incrementBy *= 10; if(incrementBy > 1000){ incrementBy = 1; }}if(GetAsyncKeyState(VK_END)&1){ for(int i = 0; i < 4; i++){ model[i].isLogging = false; }}if(model[LOGVALUES].isLogging == true){ model[LOGVALUES].isLogging = false; g_uiTimer = GetTickCount() + 2000; Log("Stride: %i | NumVerts: %i | PrimCount: %i | StartIndex: %i", model[STRIDE].isLogging == true ? model[STRIDE].value : -1, model[NUMVERTS].isLogging == true ? model[NUMVERTS].value : -1, model[PRIMCOUNT].isLogging == true ? model[PRIMCOUNT].value : -1, model[STARTINDEX].isLogging == true ? model[STARTINDEX].value : -1);}if(menuIndex > 4) menuIndex = 0;if(menuIndex < 0) menuIndex = 4;if(model[menuIndex].value < 0) model[menuIndex].value = 0;}//------------------------------------------------------------------------------------------------------------------------------------DWORD WINAPI MyThread(LPVOID){DWORD VTable[3] = {0};while(GetModuleHandle("d3d9.dll")==NULL){ Sleep(250);}DX_Init(VTable);HOOK(EndScene,VTable[ES]);HOOK(DrawIndexedPrimitive,VTable[DIP]);HOOK(SetStreamSource,VTable[SSS]);return 0;}BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved){if(dwReason == DLL_PROCESS_ATTACH){ CreateThread(0,0,MyThread,0,0,0);}return TRUE;} Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 29 января, 2013 Автор Поделиться Опубликовано 29 января, 2013 В 29.01.2013 в 11:09, ARM4ND0 сказал: Автор - Strife Показать контент #pragma comment (lib, "d3dx9.lib")#pragma comment (lib, "d3d9.lib")#include <Windows.h>#include <d3d9.h>#include <d3dx9.h>#include <iostream>#include <fstream>#include <detours.h>using namespace std;#define HOOK(func,addy) o##func = (t##func)DetourFunction((PBYTE)addy,(PBYTE)hk##func)#define STRIDE 0#define NUMVERTS 1#define PRIMCOUNT 2#define STARTINDEX 3#define LOGVALUES 4#define ES 0#define DIP 1#define SSS 2void Log(char* fmt, ...);void ModelRecLoggerMenu();struct ModelRecLogger_t{char* type;int value;bool isLogging;};ModelRecLogger_t model[5] = {{"Stride:", 0, false},{"NumVert:", 0, false},{"PrimCount:", 0, false},{"StartIndex:", 0, false},{"LOG ALL VALUES", 0, false}};unsigned int g_uiTimer = NULL;unsigned int g_uiStride = NULL;LPD3DXFONT g_pFont = NULL;LPD3DXLINE g_pLine = NULL;D3DVIEWPORT9 g_ViewPort;LPDIRECT3DTEXTURE9 g_pTexRed = NULL;LPDIRECT3DTEXTURE9 g_pTexOrange = NULL;const BYTE red[ 58 ] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00};const BYTE orange[ 58 ] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFF, 0x00};//---------------------------------------------------------------------------------------------------------------------------------typedef HRESULT (WINAPI* tSetStreamSource)(LPDIRECT3DDEVICE9 pDevice,UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride);tSetStreamSource oSetStreamSource;typedef HRESULT (WINAPI* tEndScene)(LPDIRECT3DDEVICE9 pDevice);tEndScene oEndScene;typedef HRESULT (WINAPI* tDrawIndexedPrimitive)(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE PrimType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount);tDrawIndexedPrimitive oDrawIndexedPrimitive;//---DrawString--------------------------------------------------------------------------------------------------------------------void DrawString(int x, int y, DWORD color, const char *fmt, ...){RECT FontPos = { x, y, x + 120, y + 16 };char buf[1024] = {'\0'};va_list va_alist;va_start(va_alist, fmt);vsprintf(buf, fmt, va_alist);va_end(va_alist);g_pFont->DrawText(NULL, buf, -1, &FontPos, DT_NOCLIP, color);}//---DrawRectangle-----------------------------------------------------------------------------------------------------------------void DrawRectangle(float x, float y, float w, int h){D3DXVECTOR2 vLine1[2];D3DXVECTOR2 vLine2[2];D3DXVECTOR2 vLine3[2];D3DXVECTOR2 vLine4[2];vLine1[0].x = x;vLine1[0].y = y;vLine1[1].x = x;vLine1[1].y = y+h;vLine2[0].x = x+w;vLine2[0].y = y;vLine2[1].x = x+w;vLine2[1].y = y+h;vLine3[0].x = x;vLine3[0].y = y;vLine3[1].x = x+w;vLine3[1].y = y;vLine4[0].x = x;vLine4[0].y = y+h;vLine4[1].x = x+w;vLine4[1].y = y+h;g_pLine->SetWidth(2);g_pLine->SetAntialias(false);g_pLine->SetGLLines(false);g_pLine->Begin();g_pLine->Draw(vLine1, 2, 0xFF0000FF);g_pLine->Draw(vLine2, 2, 0xFF0000FF);g_pLine->Draw(vLine3, 2, 0xFF0000FF);g_pLine->Draw(vLine4, 2, 0xFF0000FF);g_pLine->End();}//---Hooked DirectX Functions-------------------------------------------------------------------------------------------------------HRESULT WINAPI hkEndScene(LPDIRECT3DDEVICE9 pDevice){if(g_pTexRed == NULL) D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&red, sizeof(red), &g_pTexRed);if(g_pTexOrange == NULL) D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&orange, sizeof(orange), &g_pTexOrange);if(g_pFont == NULL) D3DXCreateFont(pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Verdana", &g_pFont);if(g_pLine == NULL) D3DXCreateLine(pDevice, &g_pLine);pDevice->GetViewport(&g_ViewPort);if(g_pFont != NULL && g_pLine != NULL){ ModelRecLoggerMenu(); if(g_uiTimer > GetTickCount()){ DrawString(g_ViewPort.Width/2,g_ViewPort.Height/2, 0xFF00FF00, "Values Saved"); }}return oEndScene(pDevice);}HRESULT WINAPI hkDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE PrimType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount){__asm nopHRESULT hRet = oDrawIndexedPrimitive(pDevice, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);bool bIsLogging = false;for(int i = 0; i < 4; i++){ if(model[i].isLogging == true){ bIsLogging = true; break; }}if(bIsLogging){ if((model[STRIDE].isLogging == true ? model[STRIDE].value : g_uiStride) == g_uiStride && (model[NUMVERTS].isLogging == true ? model[NUMVERTS].value : NumVertices) == NumVertices && (model[PRIMCOUNT].isLogging == true ? model[PRIMCOUNT].value : primCount) == primCount && (model[STARTINDEX].isLogging == true ? model[STARTINDEX].value : startIndex) == startIndex) { pDevice->SetRenderState( D3DRS_ZENABLE,false ); pDevice->SetRenderState( D3DRS_FILLMODE,D3DFILL_SOLID ); pDevice->SetTexture( 0, g_pTexOrange ); oDrawIndexedPrimitive(pDevice, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount); pDevice->SetRenderState( D3DRS_ZENABLE, true ); pDevice->SetRenderState( D3DRS_FILLMODE,D3DFILL_SOLID ); pDevice->SetTexture( 0, g_pTexRed ); }}return hRet;}HRESULT WINAPI hkSetStreamSource(LPDIRECT3DDEVICE9 pDevice,UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride){__asm nopif(StreamNumber == 0){ g_uiStride = Stride;}return oSetStreamSource(pDevice, StreamNumber, pStreamData, OffsetInBytes, Stride);}//-----------------------------------------------------------------------------------------------------------------------------------void Log(char* fmt, ...){char buf[1024] = {0};va_list va_alist;ofstream output;va_start(va_alist, fmt);vsnprintf(buf, sizeof(buf), fmt, va_alist);va_end(va_alist);output.open("D3D9 Model Logger.txt", ios::app);if(output.fail()) return;output << buf << endl;output.close();}//--Credits to DrUnKeN ChEeTaH--------------------------------------------------------------------------------------------------------LRESULT CALLBACK MsgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){return DefWindowProc(hwnd, uMsg, wParam, lParam);}void DX_Init(DWORD* table){WNDCLASSEX wc = {sizeof(WNDCLASSEX),CS_CLASSDC,MsgProc,0L,0L,GetModuleHandle(NULL),NULL,NULL,NULL,NULL,"DX",NULL};RegisterClassEx(&wc);HWND hWnd = CreateWindow("DX",NULL,WS_OVERLAPPEDWINDOW,100,100,300,300,GetDesktopWindow(),NULL,wc.hInstance,NULL);LPDIRECT3D9 pD3D = Direct3DCreate9( D3D_SDK_VERSION );D3DPRESENT_PARAMETERS d3dpp;ZeroMemory( &d3dpp, sizeof(d3dpp) );d3dpp.Windowed = TRUE;d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;LPDIRECT3DDEVICE9 pd3dDevice;pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&pd3dDevice);DWORD* pVTable = (DWORD*)pd3dDevice;pVTable = (DWORD*)pVTable[0];table[ES] = pVTable[42];table[DIP] = pVTable[82];table[SSS] = pVTable[100];DestroyWindow(hWnd);}//------------------------------------------------------------------------------------------------------------------------------------void ModelRecLoggerMenu(){static int menuIndex = 0;static int incrementBy = 1;DrawString(10, 10, 0xFFFFFFFF, "In/Decrement By: %i", incrementBy);for(int i = 0; i < 5; i++){ if(i == menuIndex){ DrawRectangle(8, 23+(i*15), 140, 18); } DrawString(10, 25+(i*15), model[i].isLogging==true?0xFF00FF00:0xFFFF0000, "%s", model[i].type); if(i != LOGVALUES){ DrawString(100, 25+(i*15), model[i].isLogging==true?0xFF00FF00:0xFFFF0000, "%i", model[i].value); }}if(GetAsyncKeyState(VK_UP)&1) menuIndex--;if(GetAsyncKeyState(VK_DOWN)&1) menuIndex++;if(GetAsyncKeyState(VK_LEFT)&1) model[menuIndex].value-=incrementBy;if(GetAsyncKeyState(VK_RIGHT)&1) model[menuIndex].value+=incrementBy;if(GetAsyncKeyState(VK_DELETE)&1)model[menuIndex].isLogging = !model[menuIndex].isLogging;if(GetAsyncKeyState(VK_INSERT)&1)model[menuIndex].value = 0;if(GetAsyncKeyState(VK_NEXT)&1){ incrementBy *= 10; if(incrementBy > 1000){ incrementBy = 1; }}if(GetAsyncKeyState(VK_END)&1){ for(int i = 0; i < 4; i++){ model[i].isLogging = false; }}if(model[LOGVALUES].isLogging == true){ model[LOGVALUES].isLogging = false; g_uiTimer = GetTickCount() + 2000; Log("Stride: %i | NumVerts: %i | PrimCount: %i | StartIndex: %i", model[STRIDE].isLogging == true ? model[STRIDE].value : -1, model[NUMVERTS].isLogging == true ? model[NUMVERTS].value : -1, model[PRIMCOUNT].isLogging == true ? model[PRIMCOUNT].value : -1, model[STARTINDEX].isLogging == true ? model[STARTINDEX].value : -1);}if(menuIndex > 4) menuIndex = 0;if(menuIndex < 0) menuIndex = 4;if(model[menuIndex].value < 0) model[menuIndex].value = 0;}//------------------------------------------------------------------------------------------------------------------------------------DWORD WINAPI MyThread(LPVOID){DWORD VTable[3] = {0};while(GetModuleHandle("d3d9.dll")==NULL){ Sleep(250);}DX_Init(VTable);HOOK(EndScene,VTable[ES]);HOOK(DrawIndexedPrimitive,VTable[DIP]);HOOK(SetStreamSource,VTable[SSS]);return 0;}BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved){if(dwReason == DLL_PROCESS_ATTACH){ CreateThread(0,0,MyThread,0,0,0);}return TRUE;}Если не сложно кинь сам проект а не кодинг (( Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Там же все либы стандартные (за исключением детурс), в чём проблема пустой проект создать и сорец в него засунуть? Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 В 29.01.2013 в 12:54, DenkA003 сказал: Если не сложно кинь сам проект а не кодинг ((А что сложного в компиляции ? Копи-пастишь код, добавляешь нужные библиотеки(DirectX9 & Detours) и все. Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 29 января, 2013 Автор Поделиться Опубликовано 29 января, 2013 сейчас попробую(помогите устранить ошыбки !Ошибка 1 error C1083: Не удается открыть файл включение: detours.h: No such file or directory c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 83 IntelliSense: аргумент типа "const char *" несовместим с параметром типа "LPCWSTR" c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 2454 IntelliSense: идентификатор "DetourFunction" не определен c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 2492 IntelliSense: не удается открыть источник файл "detours.h" c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 8 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Я начинаю сомневаться, что это твоя работа... http://forum.gamehac...modern-warfare/ Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 "\projects\логер тестур\логер тестур\main.cpp 245" убило))P.S. в настройках проекта мультибайтовую кодировку выбери и всё. Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 29 января, 2013 Автор Поделиться Опубликовано 29 января, 2013 блин как устранить даную ошибку (?Ошибка 1 error C1083: Не удается открыть файл включение: detours.h: No such file or directory c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 12 IntelliSense: не удается открыть источник файл "detours.h" c:\users\администратор\documents\visual studio 2010\projects\логер тестур\логер тестур\main.cpp 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Ты спалился парень))PS: Microsoft Detours... Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 29 января, 2013 Автор Поделиться Опубликовано 29 января, 2013 фак помогите новичку я неделю буду долбать данный логер!Блин прошу кинуть сорци что жалко *? Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 В 29.01.2013 в 13:04, keng сказал: Там же все либы стандартные (за исключением детурс), в чём проблема пустой проект создать и сорец в него засунуть? В 29.01.2013 в 13:09, ARM4ND0 сказал: Копи-пастишь код, добавляешь нужные библиотеки(DirectX9 & Detours) и все. Я тебе исходник дал, от тебя требуется только включить нужные либы в "твой" проект и компилировать. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Студия корявым по белому пишет, что нужен такой-то файл *.h. Как поступить? Просто:-Открываешь гугл, вбиваешь "имяфайла.h"-Смотришь, в какой библиотеке этот файл находится-Качаешь все потроха библиотеки вместе с файлом-В студии открываешь свойства проекта, в свойствах добавляешь путь к нужному файлу-Ctrl+F5-??????-PROFIT!Лучше научись один раз сам, ты в 100% проектов будешь с этим сталкиваться. Без заголовочных файлов - никуда. Ссылка на комментарий Поделиться на другие сайты Поделиться
DenkA003 Опубликовано 30 января, 2013 Автор Поделиться Опубликовано 30 января, 2013 \del Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения