Alles im Header implementieren
-
Ich habe derzeit bei einem Projekt ca. 200 .hpp-Dateien und keine Probleme mit Redundanz oder irgendetwas zu finden. Header können sich ja schließlich auch gegenseitig includen

-
Darf ich fragen was es fürn Programm wird ?

-
@CodeFinder: Er meint höchstwahrscheinlich Funktionsdefinitionen, die er in der .h und in der .cpp ändern müsste, wenn das von ihm Überlegte Interface schwachsinn ist...
Greetz, Swordfish
-
CodeFinder schrieb:
Darf ich fragen was es fürn Programm wird ?

Reverse-Engineering eines Computerspiels, wobei ich pro Klasse je eine .hpp/.cpp-Datei erzeuge, Methoden je nach Bedarf von Hand dekompiliere und die Originalmethoden durch meine ersetze

-
Es wird nicht unuebersichtlich. In JAVA-Programmen wird das nur so gemacht.
Probleme tauchen allerdings auf wenn man die Header-Datei mehrmals inkludieren muss. Das macht den Compiler ganz

Aber ich scheatze mal, dass Du genau das mit "soweit es die Situation zulaesst" meintest. Sonstige Nachteile fallen mir jetzt nicht ein.
-
Methoden je nach Bedarf von Hand dekompiliere und die Originalmethoden durch meine ersetze
Huh?!, Wat?
1. Das bringt was?
2. Wie macht man das ?
3. Mit welchem GUI schreibst n das ?Und danke für da Answer

-
Zu dem Thema hab ich auch eine Frage: Ich mache es bisher auch immer so, dass ich alles einfach in die hpp-Datei packe. Dies auch deswegen weil mein COmpiler (Codeblocks / MinGW) dies zu lässt. Wie kann ich ihm das abgewöhnen?
mfg.
-
joomoo schrieb:
Wie kann ich ihm das abgewöhnen?
Hmm, ich glaub dafür gibt es keine Beratungstellen...
sowas wurde noch nicht als Droge eingestuft

Naja, mach es einfach nichtmehr, was isn das für ne Frage ?

-
joomoo schrieb:
Zu dem Thema hab ich auch eine Frage: Ich mache es bisher auch immer so, dass ich alles einfach in die hpp-Datei packe. Dies auch deswegen weil mein COmpiler (Codeblocks / MinGW) dies zu lässt. Wie kann ich ihm das abgewöhnen?
mfg.
LOL! Biste besoffen?
-
Hallo
hpp schrieb:
Ich hasse Redundanz.
Na das ist doch mal eine Aussage. Ich hoffe, dass das nor für das Programmieren gilt.
chrische
-
CodeFinder schrieb:
Methoden je nach Bedarf von Hand dekompiliere und die Originalmethoden durch meine ersetze
Huh?!, Wat?
1. Das bringt was?
2. Wie macht man das ?
3. Mit welchem GUI schreibst n das ?Und danke für da Answer

1. Mit der Zeit habe ich funktionierenden C++-Quellcode von hunderten Funktionen, sowie den Aufbau von massenhaft Klassen. Mit diesem Code kann ich dann Bugs beheben, Cheats bekämpfen, Code optimieren, neue Funktionen einbauen, etc. Je mehr Code ich habe, desto mehr kann ich an dem Spiel natürlich verändern. Man sieht auch wie schlecht das Spiel selbst programmiert wurde. Ich könnte im Multiplayer unendlich Geld haben, Godmode aktivieren, Servereinstellungen ändern und mehr. Solche Exploits kann ich ebenfalls serverseitig schließen.
2. Mit einem Disassembler stundenlang Funktionen analysieren und Stück für Stück in C++ übertragen. Dann z.B. über den Inline-Assembler den Call zur Originalfunktion durch einen Call zu deiner eigenen Funktion ersetzen.
3. Ich verwende VC++ 2005. Man sollte den gleichen Compiler verwenden, der auch für das Spiel verwendet wurde (in dem Fall war das vermutlich VC++ 6).Im übrigen macht es mir mords Spaß rauszufinden, wie eine Funktion/Klasse funktioniert. Ich habe dabei so viel über C++ gelernt wie noch nie. Ich weiß wie C++ als Assemblercode aussieht und wie ich wieder von Assemblercode auf C++ schließe. Ich weiß wie virtuelle Methoden funktionieren (was ich vorher auch nicht wusste) und wie sie realisiert sind. Ich habe auch eine Menge über das Programmieren von Computerspielen gelernt (Verwaltung von Objekten, Netzwerkcode uvm.).
-
hm hört sich echt interessant an!!!

Und hier erstmal ein großes Dankeschön für die detailierte Antwort
-THX-
-
Von welchem Spiel sprichst du denn?
Ich hab mir bisher nur freigegebenen Source angeschaut (Jagged Alliance 2, Quake usw.) und war überrascht, was die da teilweise so machen

-
müsst ihr eigentlich immer ins offtopic abschweifen? sowas könnt ihr per email machen.
-
Delryn schrieb:
Von welchem Spiel sprichst du denn?
Ich hab mir bisher nur freigegebenen Source angeschaut (Jagged Alliance 2, Quake usw.) und war überrascht, was die da teilweise so machen

Command & Conquer: Renegade