Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
1 registered members (TipmyPip), 18,633 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 2 1 2
var Klasse funktioniert =) [Re: TripleX] #170205
12/04/07 12:29
12/04/07 12:29
Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
TripleX Offline OP
Expert
TripleX  Offline OP
Expert

Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
Hey,

Die var Klasse ist bis auf "besseres" Multiplizieren und Dividieren fertig.
Das einzige Problem das ich noch habe ist, dass konstante (int/float) werte die ich Funktionen übergebe die ein long (nicht var!!) als Parameter akzeptierten nicht zu var konvertiert werden. Hier muss vor die Konstante (var) schreiben damit dies geschieht.

Wenn Sie den Code brauchen, bzw. als Grundlage nehmen wollen für einen eigenen Code, können Sie ihn gerne ohne jede Restriktion nehmen. (keine Ahnung wie gut die Qualität ist Ich kenn mich in C++ eher rudimentär aus )
Damit der Code funktioniert, muss die *.h Datei VOR der adll.h includiert werden. Typedef long var; muss gelöscht werden und alle EXT var .... in der afuncs.h müssen zu EXT long geändert werden (sonst gibts Millionen warnungen). Wenn EXT var bleiben soll die Warnungen über #pragma Befehl ausschalten, wobei ich nicht weiß wie gut der ist.

Endlich gehen auch bekloppte Rechnungen wie:
a = 12*b + 2*(3-34/2)*(a==b);
ohne extreme Benutzung von _VAR / _INT / _FLOAT im Quellcode

Code mit allen Funktionen: http://www.hawkgames.de/Var.h

Code der Klasse.
Code:


//the real class
class var {
private:
long value;
public:
//konstrukturs
var::var(int a) { value=_VAR2(a); }
var::var(float a) { value=_VAR2(a); }
var::var(double a) { value=_VAR2(a); }
var::var(long a) { value=a; }
var::var() { value=0; }

//getvalue functions
long getvalue() { return(value); }
long* getsource() { return(&value); }

//=functions
var operator=(var);
var operator=(long);
var operator=(int);
var operator=(double);
var operator=(float);
var operator=(DWORD);
var operator=(char*);
var operator=(MATERIAL*);
var operator=(ENTITY*);
var operator=(STRING*);
var operator=(SOUND*);
var operator=(BMAP*);
var operator=(TEXT*);
var operator=(PANEL*);
var operator=(void*);

//+functions
var operator+(var);
var operator+(long);
var operator+(int);
var operator+(double);
var operator+(float);

//-functions
var operator-(var);
var operator-(long);
var operator-(int);
var operator-(double);
var operator-(float);

//+functions
var operator+=(var);
var operator+=(long);
var operator+=(int);
var operator+=(double);
var operator+=(float);

//-functions
var operator-=(var);
var operator-=(long);
var operator-=(int);
var operator-=(double);
var operator-=(float);

//*functions
var operator*(var);
var operator*(long);
var operator*(int);
var operator*(double);
var operator*(float);

//\functions
var operator/(var);
var operator/(long);
var operator/(int);
var operator/(double);
var operator/(float);

//*functions
var operator*=(var);
var operator*=(long);
var operator*=(int);
var operator*=(double);
var operator*=(float);

//\functions
var operator/=(var);
var operator/=(long);
var operator/=(int);
var operator/=(double);
var operator/=(float);

//==functions
int operator==(var);
int operator==(long);
int operator==(int);
int operator==(double);
int operator==(float);

//<=functions
int operator<=(var);
int operator<=(long);
int operator<=(int);
int operator<=(double);
int operator<=(float);

//>=functions
int operator>=(var);
int operator>=(long);
int operator>=(int);
int operator>=(double);
int operator>=(float);

//<functions
int operator<(var);
int operator<(long);
int operator<(int);
int operator<(double);
int operator<(float);

//>functions
int operator>(var);
int operator>(long);
int operator>(int);
int operator>(double);
int operator>(float);

//!=functions
int operator!=(var);
int operator!=(long);
int operator!=(int);
int operator!=(double);
int operator!=(float);

//konverter
operator long();
operator int();
operator double();
operator float();
operator short();
operator DWORD();
operator void*();
operator MATERIAL*();
operator STRING*();
operator ENTITY*();
operator BMAP*();
operator TEXT*();
operator SOUND*();
operator PANEL*();
};



mfg,
Timo Stark

Re: var Klasse funktioniert =) [Re: TripleX] #170206
12/04/07 13:24
12/04/07 13:24
Joined: Aug 2003
Posts: 7,440
Red Dwarf
Michael_Schwarz Offline
Senior Expert
Michael_Schwarz  Offline
Senior Expert

Joined: Aug 2003
Posts: 7,440
Red Dwarf
das könnte sogar für mich interessant sein wenn ich mal wieder ne kleine DLL basteln muss! Danke


"Sometimes JCL reminds me of Notch, but more competent" ~ Kiyaku
Re: var Klasse funktioniert =) [Re: Michael_Schwarz] #170207
12/05/07 09:21
12/05/07 09:21
Joined: Jul 2000
Posts: 28,024
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 28,024
Frankfurt
Danke für diesen Beitrag! Da kann ich mir dann ja die Arbeit sparen...

Re: var Klasse funktioniert =) [Re: jcl] #170208
12/07/07 16:28
12/07/07 16:28
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
eine frage, für was soll dieses add carry 0 sein in dem assemblercode? also adc eax, 0... das ändert doch höchstens ein flagregister, nicht aber eax?!

Re: var Klasse funktioniert =) [Re: Joey] #170209
12/10/07 08:14
12/10/07 08:14
Joined: Jul 2000
Posts: 28,024
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 28,024
Frankfurt
adc eax,0 addiert das Übertragsbit zu eax.

Re: var Klasse funktioniert =) [Re: jcl] #170210
12/10/07 15:02
12/10/07 15:02
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
ah, supi, man lernt nie aus... add carry... hätte ich selbst drauf kommen können

Page 2 of 2 1 2

Moderated by  old_bill, Tobias 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1