|
From: Bernardo I. <be...@de...> - 2002-04-29 03:03:59
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Salve, vorrei aggiornare tutti su come procede lo sviluppo del gioco in questi giorni di ponte. - Fabio, Federico e Lorenzo hanno continuato a fare commit nel CVS a ritmo incalzante (kudos!); - Fabio ha completato gli asteriodi. Manca ancora la gestione delle collisioni, ma c'e' gia' il codice che gestisce lo "spezzamento"; - Ho cercato di correggere tutti i bug che facevano andare in crash il gioco all'uscita. Ho trovato molti problemi di gestione della memoria: in gfx.c, l'array dei frames veniva allocato troppo corto, inoltre la gestione del background faceva qualcosa di strano che faceva andare in crash la routine che libera tutte le immagini. C'era anche AsteriodCleanup() che chiamava free() due volte sulla struttura Asteroid. - Ho rivisto e corretto la Init() in modo da evitare i crash in tutte le condizioni di errore che possono verificarsi; - In background.c c'era ancora il codice vecchio che non convertiva le SDL_Surface nello stesso formato dello schermo. Dopo averlo averlo fatto, ho notato un'incremento di velocita' sbalorditivo: da 22fps e' passato a 75fps sulla mia macchina; - Con la velocita' aumentata, ho dovuto correggere i calcoli che utilizzavano frame_time per evitare perdita di precisione; - Lorenzo ha committato il modulo shots, ma non veniva mai chiamato da nessuno. Percio' ho aggiunto la creazione degli spari in player quando si preme il tasto fire (di default e' il CTRL sinistro). Adesso quando si spara vengono creati a raffica degli oggetti Shot, che appaiono con l'immagine di default (l'astronavona). E' incredibile, ma il motore continua ad andare molto veloce anche con centinaia di spari sullo schermo! - Ho uniformato il modo in cui gli oggetti si disegnano: in shots c'era la chiamata a SDL_BlitSurface() che passava il rettangolo come sorgente anziche' come destinazione; - Ho ricompilato tutto su Linux e ho corretto tutti gli warnings segnalati dal gcc 3.0 (il 3.1 dovrebbe uscire a giorni); - Ho provato a compilare anche con il il compilatore C++, ma ci sono problemi nell'uso delle strutture anonime che abbiamo usato per implementare l'ereditarieta' da Sprite :-( - Credo che Alexio e Federico stiano lavorando sui super texts, che pero' ancora non si vedono. Invece, se premete ENTER vedrete apparire un'immagine di un pianeta in sovrimpressione che costituisce un primo abbozzo di un modulo per la gestione dei menu (titoli, opzioni, etc.); - Il responsabile del problema di movimento in Player sono io: adesso ho messo tutto a posto o quasi: adesso gli sprite spariscono del tutto, ma riappaiono gia' a meta' dall'altra parte (e' un po' difficile da spiegare, provateci); - Qualche ora fa Lorenzo ha committato delle modifiche a Shots per far morire i colpi dopo un po' di tempo. Questa modifica ha messo alla luce un problema in Game: se durante la move() un oggetto si suicida chiamando free(), il ciclo che chiama move() su tutti gli sprite va in crash perche' non puo' piu' accedere al nodo attuale per trovare il successivo. Cerchero' di fixarlo stasera. - Aspetto con ansia il commit dei cambiamenti a player per implementare il movimento reale del giocatore (con l'inerzia e tutto il resto). Dove sono finiti tutti gli altri? A giudicare dai log del CVS sembra che stiamo lavorando solo in quattro... Capisco Alexio che non ha la connessione a Internet, ma gli altri? - -- // Bernardo Innocenti - Develer S.r.l., R&D dept. \X/ http://www.develer.com/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjzMuGIACgkQltU4TfxqZsrMgwCfcDGNKhB2X9QDovsHGZjRsofQ aGcAoI7D8LCiqPIOFqMql6zmZGvPSlcQ =zJ0i -----END PGP SIGNATURE----- |