Sain tänään vihdoin korjatuksi kaikki tunnetut huononnukset / rikki menneet asiat UCBLogo 6.0:ssa. Veikkaan, että kaatuminen n. 2433 viivan piirtämisen jälkeen liittyy siihen, että UCBLogo olettaa int:n saman kokoiseksi kuin char *:n, jonka se tallettaa piirtopuskurin alkuun osoittamaan seuraavaan piirtopuskuriin. Mutta workaroundina yksinkertaisesti poistin piirtopuskurit käytöstä, koska sen pystyi tekemään NOREFRESH-komennolla.
Värejä korjatessani olin unohtanut korjata värien sekoituskomennot (komennot, jotka tuottavat vanhoista väreistä uusia). Se oli aika helppoa.
wxWidgetsiin perustuvaa logoa en ole vieläkään saanut lukemaan startup.lg-tiedostoa (pitäisi katsoa lähdekoodista) enkä ole fiksannut sitä, että painettuko-komento (eli KEYP) toimii väärin 64-bittisillä koneilla. Tämä ärsyttää, koska ensivaikutelma on hyvin tärkeä ja jos en pysty demoamaan jotain ajelupeliä tai vastaavaa, ensivaikutelma Logosta ei tule olemaan kovin hyvä (lue: lapset eivät oikeasti usko, että sitä pystyy käyttämään pelikehitykseen).
Sen korjaus on aika yksinkertainen, se pitäisi vain saada käännetyksi pakettiin mukaan:
diff -urN ucblogo-6.0/files.c ucblogo-6.0-mod/files.c --- ucblogo-6.0/files.c 2008-09-14 00:55:27.000000000 +0300 +++ ucblogo-6.0-mod/files.c 2014-11-21 12:40:59.284300876 +0200 @@ -689,7 +689,7 @@ NODE *lkeyp(NODE *args) { #if defined(unix) | defined(__WXMSW__) - long nc; + int nc; #endif int c; #ifdef WIN32
Muutokset ovat saatavilla: http://github.com/atehwa/ohjelmointikerho/