PROGEN – Generatore profilo per Need For Speed 2

Ultimamente gioco spesso fino a tardi con amici a Need For Speed Underground 2, un videogioco spettacolare di corse tamarre nonchè illegali. Il problema era avere tutti noi dei profili utente completi al 100% in modo da poter gareggiare su tutte le piste, con tutte le macchine e tutti gli add-on. Mi è allora balzata in mente l’idea di programmare un piccolo applicativo in C per generare dal nulla un salvataggio con il gioco completo al 100%. La novità è che si può scegliere il nome del giocatore a differenza di quanto succede scaricando i salvataggi completi che si trovano in rete, con i quali si è costretti a giocare col nome profilo di quella persona.

Il programmino è scritto interamente in C e gira praticamente su tutti i sistemi Windows dal vetusto 95 sino al Vista/Seven. E’ sufficiente avviare l’eseguibile, inserire il nome da assegnare al profilo (per un massimo di 20 caratteri) e attendere la creazione del file nella stessa directory del programma.

Come funziona

Come è possibile cambiare nome del giocatore nel file del profilo? Un profilo per NeedForSpeed Underground 2 è semplicemente un file da circa 54 kB nel quale sono memorizzate tutte le informazioni di gioco (quanto avete guadagnato, le macchine e relative tamarrizzazioni e così via). Tramite un editor esadecimale si vede chiaramente che alla locazione 0xD225 ha inizio la striga che codifica il nome del giocatore. Nel caso della figura qui sotto si tratta della stringa “gianluca”:

offset_01

E’ sufficiente quindi dumpare su file una partita salvata completa al 100%:

void MemoryDump(unsigned char *newname)
{
   FILE *out;
   unsigned long int i;
   out = fopen(newname,"wb");
   for(i=0;i<DATALENGTH;i++)
   {
      fputc(savegame[i],out);
      printf("%02X",savegame[i]);
      if(!(i%20)) printf("\n");
   }
   fclose(out);
}

e sovrascrivere i dati a partire dalla locazione NAMEOFFSET (0xD225) in poi per assegnare il nome utente desiderato.

void NameOverwrite(unsigned char *newname)
{
   strncpy(savegame+NAMEOFFSET,newname,strlen(newname));
}

A questo punto non resta che creare una cartella con lo stesso nome, copiare dentro il file di salvataggio appena creato e piazzare il tutto in:

C:\Documents and Settings\[utente]\Local Settings\Application Data\NFS Underground 2

Real Time Zoomer del frattale di Mandelbrot in C

Un piccolo programma in C per la generazione del frattale di Mandelbrot.

I frattali sono degli oggetti geometrici che si ripetono nella loro struttura allo stesso modo su scale diverse, ossia godono della proprietà di autosimilarità e generano una complessità virtualmente infinita. La natura stessa crea e modella tutto secondo questi schemi auto-simili, ovviamente in forma approssimata; fiori, alberi, nuvole, le proteine e lo stesso universo sono tutti esempi di frattali. Il più famoso oggetto frattale è l’insieme di Mandebrot ed è generato da una formula estremamente semplice che ben si adatta ad essere elaborata da un computer.

Ecco un esempio di zoom preso da youtube:

Il programma non raggiuge questo livello di dettaglio, comunque se la cava abbastanza bene. Viene generato a video l’intero frattale iniziando a zoomare all’interno sempre più in profondità. Per disegnare ho utilizzato le librerie X11 in modalità raw, quindi senza l’aiuto della GPU.

I define del sorgente permettono di cambiare la larghezza e altezza in pixel della finestra video e la risoluzione con la quale viene calcolato il frattale (valori possibili sono 1,2,4,8 o 16, solo potenze del 2). Di default ho impostato la finestra a 512×480 anche se sarebbe meglio inserire solo potenze del 2 (tipo 512×256 o 512×512) per rendere più veloce l’esecuzione.

Codice sorgente: mandelbrot

Per compilare il programma basta dare il comando

$ gcc -o mandelbrot -L/usr/X11R6/lib -lX11

e lanciare il programma con

$ ./mandelbrot

Alcuni screenshot presi durante l’esecuzione del programma:

shot1

shot2

shot3

shot5

shot4

How to convert Youtube videos into Mp3

Youtube is a great place to listen to music, and to watch videos too :-). It would be awesome to convert the videos to Mp3 files, so you can put thoose files straight on your ipod or any similar portable player and enjoy your music on the go.

Actually there’s a web app to get the job done: mediaconverter.

Here the link: www.mediaconverter.org

How to use it? Well, go to the link above, select enter a link and paste the URL of the Youtube video you want to convert:

mediaconv

click ok and then next step. Now select the output audio format: you can choose between a bunch of different formats including the common Mp3. Now click start and wait for the conversion to complete. When done, click download to get the Mp3 file.