Neue Version von GameMakerStudio und wieder funktioniert irgendwas nicht was vorher lief.
Code Error: surface stack is full - ensure surface_reset_target() is called for each surface_set_target().
Ich kann mir zwar denken in welche Richtung der Fehler geht, aber falls jemand genauere Informationen darüber hat, wäre das schön
Das Programm hält zwar an, aber es ist wieder schwierig herauszufinden wo da einem zu wenig Informationen gegeben werden
ERROR!!! :: surface stack is full - ensure surface_reset_target() is called for each surface_set_target().
ERROR!!! :: Unbalanced surface stack. You MUST use surface_reset_target() for each set.
Alles anzeigen
Dies ist z.B. das DrawEvent in dem ich die Surfaces schlussendlich zusammenfüge.
Warum ich mit so vielen Surfaces arbeit hat viele gründe, z.B. das es viele Grafiken gibt die der Client anhand von anderen Grafiken interpretiert da sie auf die eigentliche Spielmechanik keine Auswirkung haben.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht, vieleicht weis ja jemand mehr.
Leider kann ich auch nicht wirklich sagen ob der fehler in diesem letzten DrawEvent ist oder in einem anderen Event da mir die bisherigen informationen von GM ja nicht veraten wann genau der Fehler auftritt.
__________________________________
Edit: 7:10 PM
ERROR!!! :: Unbalanced surface stack. You MUST use surface_reset_target() for each set.
Ich nehme mal an das mir diese Fehlermeldung sagen will das ich zu jedem surface_set_target(); ein surface_reset_target(); setzen muss oder?
__________________________________
Edit: 7:15 PM
Konnte den Fehler auf das DrawEvent in einem Objekt eingrenzen.
__________________________________
Code Error: surface stack is full - ensure surface_reset_target() is called for each surface_set_target().
Ich kann mir zwar denken in welche Richtung der Fehler geht, aber falls jemand genauere Informationen darüber hat, wäre das schön
Das Programm hält zwar an, aber es ist wieder schwierig herauszufinden wo da einem zu wenig Informationen gegeben werden
ERROR!!! :: surface stack is full - ensure surface_reset_target() is called for each surface_set_target().
ERROR!!! :: Unbalanced surface stack. You MUST use surface_reset_target() for each set.
GML-Quellcode
- /// Draw Surfaces
- /*
- Globale Änderungen:
- draw_set_blend_mode(bm_normal);
- surface_reset_target();
- */
- draw_set_blend_mode(bm_normal);
- surface_set_target(sf_DEST);
- if(obj_DEBUG.var_debopt_draw_ext == true) // DEBUG-MODUS SPERRE
- { // Bodeneffekte (Auswahl Boden Effekt Filter)
- draw_surface(sf_ABEF, 0, 0); // Bodentextur (TAURON)
- draw_surface(sf_ABE2, 0, 0); // Extratextur zusätzlich zu Bäumen ect.
- draw_surface(sf_ABE3, 0, 0); // Berge, Wege, Zusätzliche Gräser ect.
- // Objektebene (Auswahl Objekt Licht Filter)
- draw_surface(sf_AOLF, 0, 0);
- // Sonnenschatten (Auswahl Sonnen Schatten Filter)
- draw_surface_ext(sf_ASSF, 0, 0, 1, 1, 0, c_black, 0.5);
- // Serverübergangs-WOLKEN
- draw_surface(sf_ASWF, 0, 0);
- // Tag Nacht Zeit Layer
- draw_set_blend_mode_ext(var_blendMODEa[3], var_blendMODEb[3]);
- draw_surface(sf_TNZL, 0, 0);
- draw_set_blend_mode(bm_normal);
- if(obj_DEBUG.var_debopt_dimension == true)
- { surface_set_target(sf_ASSF);
- for(i = 0; i < view_hview[0]; i = i + 3) // Formel zum umwandeln des Surfaces in ein Trapez
- { draw_p = i / view_hview[0];
- draw_m = draw_p - 0.5;
- draw_w = 2.5
- draw_x = 1 - draw_m * view_wview[0] / (draw_w * draw_w);
- draw_surface_part_ext(sf_DEST, 0, i, view_wview[0], 3, draw_x, i, 1 + (draw_m / (draw_w * (draw_w/2))), 1, c_white, 1);
- }
- surface_set_target(sf_DEST);
- draw_c = 10;
- draw_z = 0; // Zähler
- draw_s = 5; // Schrumpffaktor // HHHHHHIIIIIEEEERRRR
- for(i = 0; i < view_hview[0]; i = i + draw_s)
- { draw_surface_part_ext(sf_ASSF, 0, i, view_wview[0], draw_c, 0, i - draw_s * draw_z, 1, 1 / draw_c * (draw_c - draw_s), c_white, 1);
- i = i + draw_c - draw_s;
- draw_c++;
- draw_z++;
- }
- surface_reset_target();
- draw_surface_stretched(sf_DEST, -50, 10, view_wview[0]+100, draw_z * draw_s + draw_c + view_hview[0]);
- }
- else
- { surface_reset_target();
- draw_surface(sf_DEST, 0, 0);
- }
- surface_set_target(sf_ABEF); draw_clear_alpha(0,0); // Tauron
- surface_set_target(sf_ABE2); draw_clear_alpha(0,0); // Zusatz Boden
- surface_set_target(sf_ABE3); draw_clear_alpha(0,0); // Berge, Wege, Zusatz Gräser
- surface_set_target(sf_AOLF); draw_clear_alpha(0,0); // Normale Objekte
- surface_set_target(sf_ASSF); draw_clear_alpha(0,0); // Sonnenschatten
- surface_set_target(sf_ASWF); draw_clear_alpha(0,0); // Wolken
- surface_set_target(sf_TNZL); draw_clear_alpha(0,0); // Tages nacht Zeit
- }
- // DEBUG-MODE (Auswahl Debug Mode Filter)
- if(DEBUG == true)
- { surface_set_target(sf_ADMF);
- surface_reset_target();
- draw_surface(sf_ADMF, 0, 0);
- surface_set_target(sf_ADMF);
- draw_clear_alpha(0,0);
- }
- surface_reset_target();
Dies ist z.B. das DrawEvent in dem ich die Surfaces schlussendlich zusammenfüge.
Warum ich mit so vielen Surfaces arbeit hat viele gründe, z.B. das es viele Grafiken gibt die der Client anhand von anderen Grafiken interpretiert da sie auf die eigentliche Spielmechanik keine Auswirkung haben.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht, vieleicht weis ja jemand mehr.
Leider kann ich auch nicht wirklich sagen ob der fehler in diesem letzten DrawEvent ist oder in einem anderen Event da mir die bisherigen informationen von GM ja nicht veraten wann genau der Fehler auftritt.
__________________________________
Edit: 7:10 PM
ERROR!!! :: Unbalanced surface stack. You MUST use surface_reset_target() for each set.
Ich nehme mal an das mir diese Fehlermeldung sagen will das ich zu jedem surface_set_target(); ein surface_reset_target(); setzen muss oder?
__________________________________
Edit: 7:15 PM
Konnte den Fehler auf das DrawEvent in einem Objekt eingrenzen.
__________________________________
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Balls of Steel ()