Anmeldungsdatum: Aug 2007
Beiträge: 8643
Benutzer-Bewertung:
|
OldSchoolHack GUI herunterladen
Das OldSchoolHack GUI kann per SVN heruntergeladen werden. SVN Url: http://svn.oldschoolhack.de/oshgui/trunk/ Benutzername: anonymous Passwort: keins
Alternativ gibt es hier ein Archiv: http://gui.oldschoolhack.de/source/oshgui_20111216.zip
Um das OldSchoolHack GUI benutzen zu können, sind nur wenige Schritte notwendig: -# Einbinden der entsprechenden Headerdateien:
CPP Code: #include "OSHGui.h" #include "Input\<Platform>.h" //dazu später mehr #include "Drawing\<RenderEngine>.h" //dazu später mehr
-# Vorbereiten des GUIs und erzeugen des Renderers:
CPP Code: //Beispiel: DirectX9 //#include "Drawing\Direct3D9endererDX9.h" Application::Create(new Drawing::RendererDX9(device)); //device ist ein Zeiger auf IDirect3DDevice9
-# Initialisieren der Nachrichtenverarbeitung:
CPP Code: //Beispiel: Windows //#include "Input\Windows.h" Input::Windows input; //ohne Hook in einer normalen Nachrichtenschleife bei Windowsprogrammen: MSG msg; ZeroMemory(&msg, sizeof(msg)); while (true) { if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { input.ProcessMessage(&msg); if (msg.message == WM_QUIT) { break; } TranslateMessage(&msg); DispatchMessage(&msg); } } //oder per Hook HHOOK hookHandle; LRESULT CALLBACK MessageHook(int code, WPARAM wParam, LPARAM lParam) { if (lParam &0x80000000 || lParam &0x40000000) { return CallNextHookEx(hookHandle, code, wParam, lParam); } if (code == HC_ACTION) { if (input.ProcessMessage((LPMSG)lParam)) { return TRUE; } } return CallNextHookEx(hookHandle, code, wParam, lParam); } hookHandle = SetWindowsHookEx(WH_GETMESSAGE, MessageHook, NULL, GetCurrentThreadId());
-# Erzeugen und Zuweisen der Hauptform:
CPP Code: Application::Run(std::shared_ptr<Form>(new MeineForm())); //mehr dazu im Tutorial "Eine neue Form erstellen"
-# Vorbereiten der grafischen Ausgabe:
CPP Code: //Beispiel: DirectX9 device->Clear(0, 0, D3DCLEAR_TARGET, 0xFF000000, 1.0f, 0); device->BeginScene(); Application::GetRenderer()->Begin(); Application::Render(); Application::GetRenderer()->End(); device->EndScene(); device->Present(0, 0, 0, 0);
-# Aktivieren und Deaktivieren des GUI:
CPP Code: Application::Enable(); ... Application::Disable(); //oder Application::Toggle();
|