Kann sich das jemand anschauen.Converted bb code

Previous topic - Next topic

Quentin

erst einmal, du solltest niemals GLBasic-Schlüsselwörter als Variablen oder Funktionsparameter nutzen, sonst passiert sowas

Code (glbasic) Select

FUNCTION xKeyHit: KEY
INLINE
PROC_ADDR(wrap_xKeyHit);
DGInt fkt_rv;
fkt_rv=(DGInt)wrap_xKeyHit((int)key);
return fkt_rv;
ENDINLINE
ENDFUNCTION


key hattest du erst klein geschrieben, als ich das Coding jetzt geladen haben, war es in Großbuchstaben konvertiert, gibt haufenweise Syntax-Error. Benenn den Parameter um in p_key, dann gehts.


zweitens:
deine Funktion:
Code (glbasic) Select

//! xLightColor
// \param light -
// \param r -
// \param g -
// \param b -
FUNCTION xLightColor: light,r,g,b
INLINE
PROC_ADDR(wrap_xLightColor);
wrap_xLightColor((int)light,(float)r,(float)g,(float)b);
ENDINLINE
ENDFUNCTION


hat einen FLOAT-Parameter light, aber light hast du an anderer Stelle schon als
Code (glbasic) Select

GLOBAL light AS Tlight

definiert. Das beißt sich. Benenn den parameter light um z.B. in p_light, dann sollte es keine Fehler mehr geben, zumindest dafür nicht ;). Das hast du auch noch in einigen anderen Funktionen.

Generell bei einem Projekt dieser Größenördnung solltest du dir angewöhnen, deine Variablen ordentlich zu benennen.

z.B.
- globale Variablen alle mit g_ beginnen lassen
- type-Definitionen mit t_
- Instanzen von types z.B. mit s_
- Arrays von types mit a_ oder arr_
- lokale Variablen mit l_
- Funktionsparameter mit p_

nur als Vorschlag. Kannst dir gerne auch eine andere Struktur ausdenken, es geht nur prinzipiell darum, daß man einer Variable gleich ansieht, um was es sich handelt, dann passieren dir solche Sachen auch nicht so häufig.

Nebenbei: richtig schönes großes Projekt. Hut ab!



Heiko

Stimmt, darauf hatte ich garnicht geachtet, da werd ich das erstmal soweit anpassen, und für den rest, da brauch ich sicher die ein oder andere nacht.smile.

nebenbei, das ist nur ein teil des projekts, da ist auch noch ein physx wrapper aktuell dabei, der aber nicht ausschlaggebend war.