also:
glbegin ist eine prozedure die von halflife aufgerufen wird
sie hat einen parameter den half life mit leifert damit der treiber weiß was er genau machen soll
dieser parameter nennt sich "mode" und ist eine zahl
wallhack ist ein boolean (also ja/nein - 1/0) und die if abfrage bedeutet wenn der user den wallhack im menü aktiviert hat dann mache:
wenn der parameter (mode != GL_TRIANGLE_STRIP && mode != GL_TRIANGLE_FAN)
also mode nicht den wert GL_trangebla hat und auchj neicht den anderen wert (wird in zahlen angegeben wo bei != ungleich bedeutet) dann mache:
glGetFloatv(GL_CURRENT_COLOR, curcol);
was soviel bedeuett wie lese mit hgilfe der opengl funktion glGetFlaotv die farbe aus und specher si in curcol ab
glDisableGL_DEPTH_TEST);
stelle den tiefentest aus d.h.
prüfe noicht mehr ob das zu zeichnende model hinter der wand ist sondern male es einfach oben drauf
glEnable (GL_BLEND);
stelle blending ein d.h. das zu zeichnende model wird über denrest mit einem bestimmten wert geblendet der später angegen wird
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
stelle den blendmode ein (guit verschiedene, is ja egal welcher das nu genau ist)
glColor4f(curcol[0],curcol[1],curcol[2],curcol[3]);
stelle die farbei ein mit der gezeichnet wird
dabei wird die alte farbe genommen die man vorher ausgelesen hat
(da zsichendurch nix geändert wurde ist es schwachsinn was der da geanu macht,
wenn anstatt curcol[3] 0.5 stehen würde dann würde es bedeuten das das zu zeichennde model halb durchsichtig ist, wir din RGBA angeben - Rot Grün Blau und Alpha (durhcischtig)
normaler weise würde nach glbegin eine funktion wie glvertex3f oder glvertex3fv oder glvertex2f oder so folgen in der dann das model gezeichent wird...
glvertex3f gibt dann die einzelnen coordinaten an und wird dementsprechen oft aufgerufen
jedoch wird in glebgin festgelgt wie halt dieses model gezeichent wird und deshalb ist das ein simpler wallhack der zwar noch aus anderen teilen wie glClear besteht
aber zur info sollte das erstmal reichen