Das oben gezeigte wait(0) Beispiel ist falsch :D
Deswegen der Komplettheit halber...
Code: Alles auswählen
show_camera()
{
if (cam != NULL)
{
camera->flags &= ~SHOW;
wait(0); //WTF!?
cam->flags |= SHOW;
}
}
War die betreffende Stelle.
Der Fix hierzu sieht so aus:
Code: Alles auswählen
show_camera()
{
if (cam != NULL)
{
cam->flags |= SHOW;
camera->flags &= ~SHOW;
}
}
Der Trick hierbei ist: Es muss IMMER mindestens ein View sichtbar sein, im obigen Beispiel ist das für einen Bruchteil nicht der Fall. Normalerweise sollte das egal sein, da das System ja wie erwähnt single threaded arbeitet. ABER: Es gibt Entity Events, welche Interrupt Charakter haben, hier könnte es dann knallen an genau dieser Stelle. Ich vermute also, die Engine macht da irgendeinen komischen "Fallback", denn bei Auftreten des Bugs war "irgendeine" View nach wie vor sichtbar, nur nicht die gewollte..
Wie auch immer nun besagtes wait(0); in diese Sache eingreift und das zu fixen scheint ist mir nicht erklärlich...
Ansonsten war der grafische Stil durchaus gewollt und in Anbetracht der verfügbaren Zeit ausgewählt worden.
Aber warum ich eigentlich poste...
After Party Release:
http://www.christian-behrenberg.de/file ... elease.zip
Ein paar kleine Anpassungen, die wir schlichtweg nicht mehr geschafft hatten - eine andere Welt.
:mrgreen: