Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (AndrewAMD, 7th_zorro, VoroneTZ, Quad), 901 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Terrain u. Straßen Terrain #361699
03/04/11 14:33
03/04/11 14:33
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
xxxxxxx Offline OP
User
xxxxxxx  Offline OP
User

Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
Hallo erstmal,
ich versuche grade ein Terrain an ein unebenes anzupassen
also die z.position jedes vertices wo der alpha wert(einer externen bitmap) über 10 liegt soll genauso groß + den rot wert(der externen bitmap)(Terrains sind beide 500 * 500 und die textur 512*512)
Code:
function setStreets(ENTITY*E1, ENTITY*E2, BMAP* H)
{
	CONTACT*c1;
	CONTACT*c2;
	COLOR* hight;
	var hightCheck;
	var translations=0;
	var xrow;
	var yrow;
	var sat = sqrt(ent_status(E1,1));
	bmap_lock(H,0);
	while(xrow < sat)
	{
		xrow+=1;
		while(yrow < sat)
		{
			yrow+=1;
			c1=ent_getvertex(E1,NULL,translations);
			hight = pixel_to_vec(hight,hightCheck,8888,translations/500*512);
			if(hightCheck >= 10)
			{
				c2=ent_getvertex(E2,NULL,translations);
				c1.v.y = c2.v.y+hight.red;
				ent_setvertex(E1,c1,translations);
			}
			translations += 1;
		}
		yrow = 0;
	}
	c_updatehull(E1,0);
	bmap_unlock(H);
}


1. egal was ich mache es wird keine position gesetzt egal was ich mache.
2. Ich habe höchst wahrscheinlich im BMAP*/COLOR* einen fehler!
Hoffe ihr findet den fehler!
xxxxxxx

Last edited by xxxxxxx; 03/04/11 14:52.

Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben! tongue
Re: Terrain u. Straßen Terrain [Re: xxxxxxx] #361754
03/04/11 21:01
03/04/11 21:01
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
xxxxxxx Offline OP
User
xxxxxxx  Offline OP
User

Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
Brauche dringend hilfe!!!
Ich kann so nicht weiter arbeiten frown
Warum wird die hüllle garnicht verändert?
Benutzte ich die bmap function richtig?
Bitte helft mir ich hatte bis jetzt noch nicht allzuviel mit terrain verformung zu tun crazy
xxxxxxx


Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben! tongue
Re: Terrain u. Straßen Terrain [Re: xxxxxxx] #361759
03/04/11 21:22
03/04/11 21:22
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Ich sehe jetzt so auf den ersten Blick keine Fehler. Was passiert denn nach dem Ausführen des Codes? Gibt es überhaupt eine Änderung? Bist Du den Code mal mit dem Debugger durchgegangen und hast geschaut, dass alle Verzweigungen auch tatsächlich erreicht werden? Wird der Code wirklich ausgeführt?

EDIT: Richi hat recht. Wenn Du PRAGMA_POINTER gesetzt hast, dann denk daran die Pointer an die Funktionen zu übergeben.


Always learn from history, to be sure you make the same mistakes again...
Re: Terrain u. Straßen Terrain [Re: Uhrwerk] #361760
03/04/11 21:24
03/04/11 21:24
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
ich glaube dein Fehler liegt hier:
Code:
CONTACT*c1;
CONTACT*c2;
COLOR* hight;



muss sein:
Code:
CONTACT c1;
CONTACT c2;
COLOR hight;




Visit my site: www.masterq32.de
Re: Terrain u. Straßen Terrain [Re: MasterQ32] #361763
03/04/11 21:47
03/04/11 21:47
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
xxxxxxx Offline OP
User
xxxxxxx  Offline OP
User

Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
@Urwerk beim testen viel mir das überhaupt nix passiert frown
ich rufe die function dierekt in der main auf alles danach wird problemlos ausgeführt alle pointer sind gültig!
@Richi007
das gibt leider ne Fehlermeldung!
Pointer kann nicht in nen Struct umgewandelt werden!
EDIT: mir kam auch schon die Idee das es daran liegen könnte das var's nur bis 99999.999 gehen und hab einen float für alle diese variablen genommen! das/die Terrains haben 250000 vertices oder so
EDIT2: wenn du den eintrag #define PRAGMA_POINTER aus dem manual meinst da hab ich nichts gesetzt!
xxxxxxx

Last edited by xxxxxxx; 03/04/11 21:52.

Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben! tongue
Re: Terrain u. Straßen Terrain [Re: xxxxxxx] #361764
03/04/11 21:53
03/04/11 21:53
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
dann musste anstatt dem struct die adresse des structs nehmen:
COLOR hight;
... &hight ... Adresse/Pointer


Visit my site: www.masterq32.de
Re: Terrain u. Straßen Terrain [Re: MasterQ32] #361767
03/04/11 22:01
03/04/11 22:01
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
xxxxxxx Offline OP
User
xxxxxxx  Offline OP
User

Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
Gut gibt keine Fehlermeldung aber ändert nix an der Tatsache das es nicht funktioniert. Und es leuft wie gesagt nicht durch(wenns perfect durschlaufen würde hätte ich anschließend ne andere auflösung!) hier mein code
Code:
function setStreets(ENTITY*E1, ENTITY*E2, BMAP* H)
{
	CONTACT c1;
	CONTACT c2;
	COLOR hight;
	var hightCheck;
	float translations=0;
	var xrow = 0;
	var yrow = 0;
	float sat = sqrt(ent_status(E1,1));
	bmap_lock(H,0);
	while(xrow < sat)
	{
		
		while(yrow < sat)
		{
			
			&c1=ent_getvertex(E1,NULL,translations);
			&hight = pixel_to_vec(hight,hightCheck,8888,translations/500*512);
			if(hightCheck >= 10)
			{
				&c2=ent_getvertex(E2,NULL,translations);
				&c1.z = c2.z+hight.red;
				&c1.v = NULL;
				ent_setvertex(E1,&c1,translations);
			}
			translations += 1;
			yrow+=1;
		}
		xrow+=1;
		yrow = 0;
	}
	if(yrow == 500 && xrow == 500)
	{
		video_screen=8;
	}
	c_updatehull(E1,0);
	bmap_unlock(H);
}


bitte noch korigieren wenn etwas an stuct adressen usw. falsch benutzt wurde!
xxxxxxx


Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben! tongue
Re: Terrain u. Straßen Terrain [Re: xxxxxxx] #361772
03/04/11 22:29
03/04/11 22:29
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
video_screen kannst Du nur vor dem ersten frame setzen. Das sollte vor so einer aktion aber nicht der Fall sein. Verwende ein beep(); um so was auf die schnelle zu überprüfen. Von float würde ich hier ganz die Finger lassen. Ich kann nur nochmal meinen Tip wiederholen, den Debugger einzusetzen. Setze eine Breakpoint in der ersten Zeile der Funktion und schaue welche Zweige ausgeführt werden und welche nicht. Hast Du mal überprüft was sqrt(ent_status(E1,1)); ergibt?


Always learn from history, to be sure you make the same mistakes again...
Re: Terrain u. Straßen Terrain [Re: Uhrwerk] #361782
03/04/11 23:18
03/04/11 23:18
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
xxxxxxx Offline OP
User
xxxxxxx  Offline OP
User

Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
jetzt pipst es *freu*
sqrt(ent_status(E1,1)); ergab 515 o_O eigentlich müssten es 500 sein! so siehts jetzt aus macht gar nix!
Code:
function setStreets(ENTITY*E1, ENTITY*E2, BMAP* H)
{
	CONTACT c1;
	CONTACT c2;
	COLOR hight;
	var hightCheck;
	var translations=0;
	var xrow = 0;
	var yrow = 0;
	var sat = sqrt(ent_status(E1,1));
	bmap_lock(H,0);
	for(xrow = 0; xrow < 500; xrow++)
	{
		for(yrow = 0; yrow < 500; yrow++)
		{
			
			&c1=ent_getvertex(E1,NULL,translations);
			&hight = pixel_to_vec(hight,hightCheck,8888,translations/500*512);
			if(hightCheck > 10)
			{  
				&c2=ent_getvertex(E2,NULL,translations);
				&c1.z = c2.z+10;//(hight.red/2);
				&c1.v = NULL;
				ent_setvertex(E1,&c1,translations);
			}
			translations += 1;
		}
	}
	if(yrow == 500 && xrow == 500)
	{
		beep();
	}
	c_updatehull(E1,0);
	bmap_unlock(H);
}


EDIT: wenn man die alpha if bedingung nicht setzt crasht es!
EDIT2: wird auch nichts in der bedingung ausgeführt!

Last edited by xxxxxxx; 03/04/11 23:22.

Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben! tongue
Re: Terrain u. Straßen Terrain [Re: xxxxxxx] #361794
03/05/11 00:17
03/05/11 00:17
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Code:
&c2=ent_getvertex(E2,NULL,translations);
&c1.z = c2.z+10;//(hight.red/2);
&c1.v = NULL;


Diese Zeilen sind Käse. Du dereferenzierst da etwas was kein Pointer ist. Wundere mich, dass das keinen Syntaxfehler gibt. Ersetze das mal bitte mit:
Code:
ent_getvertex(E2,&c2,translations);
c1.z = c2.z+10;//(hight.red/2);
c1.v = NULL;


Gleiches gilt für die beiden Zeilen über "if (hightCheck > 10)". Du kannst grundsätliche keine Structs dereferenzieren. Nur Pointer können dereferenziert werden.
Ich weiss jetzt nicht was CONTACT.v ist. Soll da ein NULL Pointer rein?


Always learn from history, to be sure you make the same mistakes again...
Page 1 of 2 1 2

Gamestudio download | chip programmers | 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