WoWExt - XYZ Hack mit Teleport Features

03/26/2011 21:08 Ende!#256
Quote:
Originally Posted by Cencil View Post
Bin gespannt wie genau du dir das vorstellst. Soll heißen ich bin dabei ;)
:)

Also, ich schreib hier einfach mal, wie ich mir das so vorstellen würde, muss natürlich nicht alles 1-1 so umgesetzt werden. Mein Modul würde in Form einer DLL vorliegen, die einige Funktionen exportiert. Dein Hack würde sie dann via LoadLibrary laden.

Hier einfach mal eine Liste der Funktionen, wie ich sie exportieren würde, ein paar Zeilen Code sagen bekanntlich mehr als Worte.

Code:
#define DLL_EXPORT __declspec(dllexport) __stdcall

// Initialisierungs-Funktion, wird nach dem Laden des Module called
bool     DLL_EXPORT Initialize      (char *szModuleVer,     // Schreibt das Modul seine Versions-Nr als Sting rein
                                     int nModuleVerLen,     // Maximale Länge für szModuleVer
                                     DWORD *pdwModuleBuild, // Schreibt das Module seine Build-Ver rein
                                     char *szHackVer,       // Wird vom Hack die Version als String übergeben
                                     DWORD dwHackBuild) ;   // Selbsterklärend ^^

// SendChatMessage Callback Function, wird jedes mal called, wenn eine Chatmessage
// gesendet wird
// Returnvalue: true, wenn der Command verarbeitet wurde; false, wenn der Command
// nicht vom Modul verarbeitet wurde
bool     DLL_EXPORT SCMCallback     (const char *szMessage) ;

// EndScene Callback, wird vom Hack jeden Frame aufgerufen. Ob es nun wirklich ES oder
// RenderWorld ist, wird mein FW wohl kaum stören, hauptsache der DP stimmt :p
HRESULT  DLL_EXPORT RenderCallback      (IDirect3DDevice9 *pDevice) ;

// DX-Reset Callback
HRESULT  DLL_EXPORT ResetCallback   (IDirect3DDevice9 *pDevice, 
                                     D3DPRESENT_PARAMETERS* pParams) ;

// Returnt Name des Modules
char    *DLL_EXPORT GetModuleName   () ;
Andere Calling Convention würde natürlich auch gehen, können wir machen, wie du magst ;)

/edit:
Quote:
Originally Posted by Cencil View Post
Zu den bisherigen Features sei noch gesagt das sie zum großen Teil aus Copy & Paste aus meinen anderen Projekten bestehen. Die Lvl2'er kennen den Source, ich glaube die paar 100 Zeilen sehen wirklich nicht nach no RL und langer Arbeit aus, neu hinzugekommen sind wirklich nur kleinere Features und Bugfixes. Die Winamp Funktionen verschlingen vielleicht nochmal 100 Zeilen und sind sehr einfach aufgebaut (FindWindow/SendMessage).

Ich hoffe ich kann also in Ruhe weiter releasen, macht euch keine Sorgen - mir geht es gut. Auch wenn ich manchmal ein wenig Bullshit brabbel und verrückt bin :p
Hey, du willst verrückt sein? Sei froh, dass du mich noch nie im RL getroffen hast :awesome: Und ich weiß auch nicht, warum wir Devs grunsätzlich als RL-lose Hardcore-Nerds angesehen werden, das ist einfach unser Hobby; wo andere Fußball spielen gehen oder ihre Briefmarken-Sammlung ordnen, schreiben wir halt Programme :p
03/26/2011 21:58 Cencil#257
Sollte soweit recht easy umsetzbar sein, nur dein DirectX9 Rendering & Device Pointer macht mir etwas sorgen, da wären wir wieder beim Thema bei DirectX11 Kompatibilität ;O
03/26/2011 22:01 Ende!#258
Quote:
Originally Posted by Cencil View Post
Sollte soweit recht easy umsetzbar sein, nur dein DirectX9 Rendering & Device Pointer macht mir etwas sorgen, da wären wir wieder beim Thema bei DirectX11 Kompatibilität ;O
Ich werde erstmal vmtl auf D3D Rendering verzichten, wollte mir nur die Möglichkeit offen halten :b

/edit:
Im Attachment mal 'n Beispiel Modul, wenn du ein bisschen rumtesten möchtest ;) Einziger Befehl, bei dem SCMCallback nicht false returnt ist ".example_module_loaded?", welcher eine MessageBox poppt.

Source:
[Only registered and activated users can see links. Click Here To Register...]

/edit2:
Attachment buggt rum, dann halt so: :p
[Only registered and activated users can see links. Click Here To Register...]
03/26/2011 22:01 käse#259
ohne "nerds" wie dich, cencil und co (der rest is eh egal :) ) würde es hier eh mau aussehen :)

<3 u2
03/27/2011 01:05 3XPLo17#260
Schöner Hack Danke dir :P nice

MFG McJump
03/27/2011 03:15 Cencil#261
Quote:
Originally Posted by Ende! View Post
Source:
[Only registered and activated users can see links. Click Here To Register...]

/edit2:
Attachment buggt rum, dann halt so: :p
[Only registered and activated users can see links. Click Here To Register...]
Ich habe die Plugin Schnittstelle soweit fertig, dein Plugin konnte ich also direkt testen. :) Funktioniert soweit, was ich mir aber noch wünschen würde wäre ein kleiner Export wie char* GetPluginName() o.ä, um Support für mehr Plugins zu bieten.
03/27/2011 03:41 Ende!#262
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Exakt so wie du vorgeschlagen hast übernommen ;)
03/27/2011 03:47 Cencil#263
Ah wo wir schon dabei sind;

Wenn die Init Funktion noch einen BOOL Wert returnen würde wäre es auch toll :p, so könnte man das Plugin bei einer gescheiterten Initialisierung direkt wieder freigeben, damit es nicht unnötig im WoW Speicher gammelt.
03/27/2011 03:51 Ende!#264
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Returnt jetzt immer true, bei dem Beispiel kann da ja nicht groß was failen ;)
03/27/2011 10:48 Bl@ze!#265
delphi und c++ kann man übrigens über virtuelle interfaces sehr schön verbinden :)

Die einzigen Probleme sind Datentypen, wo man sich für alles eigentlich seine eigenen erstellen muss - da TStringList und std::vector<std::string> dann beispielsweise doch unterschiedlich sind ;-)

Wenn Ihr beiden da hilfe braucht, /w me.
03/27/2011 13:40 generation311287#266
ich finde es echt genial was ihr da leistet und shared....
ich lvl mit diesem tool so schnell da macht das questen sogar spaß ^^ von stelle zu stelle porten ich liebe euch !
03/27/2011 18:04 AmosisKha#267
Kann meinem Vorposter nur zustimmen :) Grade zu Skillen von Berufen ists genial^^ Ob von Vorkommen zu vorkommen oder mit Teleportpunkten instant vom AH zur bank oder zum Alchilehrer... Kein problem dank eurem porthack^^ Also wenn der irgendwann fertig ist bezahl ich auch gerne dafür ;) kann den wirklich nur empfehlen!
03/27/2011 18:08 Ende!#268
Naja, "eurem" kann man ja nicht wirklich sagen, es ist und bleibt Cencils Projekt, das Einzige, was ich dazu beigetragen habe sind ein paar Tipps und Vorschläge ;)
03/27/2011 20:11 Bl@ze!#269
Allerdings ist es schön zu sehen, dass ein paar Leute Feedback geben. Leider ist es nur zu oft hier in diesem Forum vorgekommen, dass die Leute die Arbeit anderer nicht respektieren, aber das scheint hier ja anders zu sein.

Wenn die Plugin Schnittstelle soweit fertig ist - werde ich mal ein Gatherplugin schreiben x)
03/27/2011 21:51 Mana1992#270
Quote:
Originally Posted by Unkn0wn0x View Post
Wenn die Plugin Schnittstelle soweit fertig ist - werde ich mal ein Gatherplugin schreiben x)
:handsdown::handsdown::handsdown:

mehr ist wohl nicht zu sagen :)