2 registered members (AndrewAMD, squik),
934
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
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
OP
User
|
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)
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!
|
|
|
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
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
Brauche dringend hilfe!!! Ich kann so nicht weiter arbeiten 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 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!
|
|
|
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
Expert
|
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: MasterQ32]
#361763
03/04/11 21:47
03/04/11 21:47
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
@Urwerk beim testen viel mir das überhaupt nix passiert 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!
|
|
|
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
OP
User
|
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
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!
|
|
|
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
Expert
|
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
OP
User
|
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!
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!
|
|
|
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
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
&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:
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...
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|