Quote:
Originally Posted by Мentus
Wir wissen alle, das die Switch-Anweisung unnötig ist.
Aber was macht ihr hier eigentlich für einen Aufstand?
Du tust gerade so, als ob durch eine Switch-Anweisung die FPS im Client droppen würden.
Man sollte die Methode von WaneTrain nur dann verwenden, wenn man sich sicher ist das der Pointer wirklich vorhanden ist. Ansonsten bringt dir auch deine beste Performance-Programmierung nichts, weil der Client sonst abkackt.
@WaneTrain
Man sollte auch die Klammern richtig setzen, du castest (eindeutscht ischör) schließlich nicht den Int der durch GetCurSel() zurück gegeben wird, sondern einen Pointer der Klasse CWndBase(?) der durch GetDlgItem zurückgegeben wird, zu CWndComboBox.
PHP Code:
g_Option.m_chMultiLang = ((CWndComboBox*)GetDlgItem(WIDC_COMBOBOX1))->GetCurSel();
.. niemand programmiert perfekt.
|
Tut mir leid, mein Fehler.
Du kannst aber grundlegen drauf Scheißen ob der Pointer Vorhanden ist, da der Client sowieso derber Dreck ist und Abkackt sobald GetDlgItem fehl schlägt.
Wenn man darauf gehen will das jeder Pointer immer Valid ist kann man gleich das Programmieren sein lassen, da dies nicht immer der Fall sein wird.
Quote:
___:0040E275 mov eax, [ebp+arg_0] ; //=> DPID
___:0040E278 push eax
___:0040E279 mov ecx, [ebp+var_4] //=> AR
___:0040E27C push ecx
___:0040E27D mov ecx, [ebp+var_18] //=> THIS
___:0040E280 call sub_421D50
___:0040E285 jmp loc_40FB03 ; jumptable 0040DEA3
|
Das ist EIN (!) Case in der OnSnapshot Funktion, nun rechnest du nur noch 2 Pushes evtl. weg, dann ja..
Quote:
mov ecx, [ FFFFFF ]; //=> Pointer zu Option Class
mov edx, [ ecx + FF ]; //=> Offset zu Multi Lang
|
Das sind 2 Haupt sachen die schonmal bei JEDER Case anwensend sind, dann kommt davor EIN jmp, in jeder case, da er es aber in einer Switch Case bereits drin dürft ihr gleich mal das Doppelte rechnen.
Heißt eine ganze case entspricht:
Quote:
mov ecx, [ FFFFFF ];
mov edx, [ ecx + FF ], 1; ( oder 0, jeh nachdem what.. )
jmp FFFFFF;
|
Der jmp ist das "break" was dich zu dem Open Message Box bringt, anschließen kommt wegen der 1. Switch noch ein jmp zum ganzen ende, aus der Switch Case.
Prinzip hier nicht viel, dennoch recht lustig.
Ach und Mentus, die ober OnSnapshot funktion kommt im übrigen aus der Forsaken Neuz, dürftest auch mal was machen (
ischör) :p
Mfg. :3