Da sieh ja so gut bei C-N ankamen hier auch bei spieletermine
Da manche nicht so richtig den einstieg finden mach ich mal hier ein kleines tutorial.
Als aller erstes braucht ihr ein Opengl Wrapper. Ich benutze immer den Crusader wrapper. Ich find ihn sehr gut.
Den Wrapper könnt ihr euch
hier downloaden
Nun nach den downloaden öffnet ihr die zip und legt ein neuen ordner an. z.b
|
Quellcode
|
1
|
X:\Hooking\My 1337 Ogl
|
und entpackt die datein in z.b My 1337 Ogl
wenn dies geschaft ist seit ihr noch nicht richtig 1337 :)
Jetzt geht haber erst in den My 1337 Ogl ordner.
Nun müsstet ihr diese datein sehen.
|
Quellcode
|
1
2
3
4
5
6
|
opengl32.cpp
opengl32.def
opengl32.dsp
opengl32.dsw
opengl32.h
OtherOGL.ccp
|
Grund setzlich öffnen wir unseren Opengl Hack mit opengl32.dsp
Nun öffen wir die opengl32.dsp und klicken oben auf Project dann auf Settings
dann Klicken wir auf die < > Pfeile um die Tabs zu switchen
Wir switchen mal einfach nach Link
Hier sehen wir alles was beim Compilen passiert.
Im
|
Quellcode
|
1
|
Output file name:
|
steht wohin die hook dll datei kopiert wird wenn der Hook fertig mit den Compilen ist.
Da steht jetzt noch der Standard Ordner das Wäre dann
|
Quellcode
|
1
|
X:\Hooking\My 1337 Ogl\Realse
|
Ich stelle es immer so ein das die dll datei sofort in Half-Life oder Counter-Strike kopiert wird.
z.B würds dann beim Output file name: so aus sehen
|
Quellcode
|
1
|
X:\SIERRA\Half-Life\opengl32.dll
|
mann kann es auch mit steam machen dann würds so aussehen.
|
Quellcode
|
1
|
X:\Programme\Steam\Steamapps\email@adresse\Counter-Strike\opengl32.dll
|
Das wars dann mit den Settings klicken war dann auf Ok.
Nun öffnen wir bei der Treeview den ordner Source Files
da sehen war jetzt 2files
|
Quellcode
|
1
2
|
opengl32.cpp
OtherOGL.cpp
|
In der Opengl32.cpp wird alles rein gecoded. Da sind also die ganzen Main Funktionen drin Sprich sys_glbegin
In der OtherOGL.cpp wird nix umgestellt. Weil da die ganzen func von den Funktionen drin stehen.
Nun das wars eigentlich schon was man wissen müsste wenn man ein OGL Hook machen will.
Aber was die meisten Coder machen. Die schreiben nicht jedes bool oder int im header der opengl32.cpp , sondern sie erstellen eine header datei abkürzung .h . Wir klicken nun in der Treeview auf Header Files damit wir den Header ordner öffnen. Wir erstellen jetzt eine neue datei.
|
Quellcode
|
1
|
File/New
|
und wir wählen die C/C++ Heaer File aus. Beim File name: schreiben wir dies rein
|
Quellcode
|
1
|
vars
|
dann einfach auf Ok klicken und die datei ist erstellt worden im Header ordner und in
|
Quellcode
|
1
|
X:\Hooking\My 1337 Ogl
|
Jetzt können wir in der vars.h nun die ganzen bools oder ints einfügen.
z.b
|
Quellcode
|
1
2
|
bool bMdl=false;
int t_count=0;
|
so wenn wir jetzt compilen und im opengl32.cpp so die ifs drin haben
|
Quellcode
|
1
2
3
4
|
if(bMdl)
{
//hier der 1337 code
}
|
Dann würde so ein fehler kommen
|
Quellcode
|
1
|
error C2065: 'bMdl' : undeclared identifier
|
mh ja wir haben das teil schon geboolt aber wieso kommt jetzt immer noch der fehler.
Ja wir haben was vergessen.Wir haben in der Opengl32.cpp die vars.h nicht included. Das machen war am besten jetzt mal.
Wir öffnen und die Opengl32.cpp und suchen dies
|
Quellcode
|
1
|
#include "opengl32.h"
|
wenn wir dies gefunden haben fügen wir dies direct dadrunter
|
Quellcode
|
1
|
#include"vars.h"
|
wenn wir jetzt unseren OGL hook compilen. Müsste kein fehler mehr auftretten :)
So das wars jetzt eigentlich
Fragen oder Probleme einfach posten.
Cya Euer dEMolite