Skip to content

Commit

Permalink
Fixe VS imported library now it works for ever, big problem whit surf…
Browse files Browse the repository at this point in the history
…ace we need a manager for load and relase memory.
  • Loading branch information
Bedotech committed Nov 2, 2011
1 parent a1d32f1 commit 6a11c48
Show file tree
Hide file tree
Showing 27 changed files with 61 additions and 51 deletions.
Binary file modified Debug/CL.read.1.tlog
Binary file not shown.
Binary file modified Debug/CL.write.1.tlog
Binary file not shown.
Binary file modified Debug/Space Crasher.exe
Binary file not shown.
Binary file modified Debug/Space Crasher.ilk
Binary file not shown.
2 changes: 1 addition & 1 deletion Debug/Space Crasher.lastbuildstate
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#v4.0:v100
Debug|Win32|C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\|
Debug|Win32|C:\Users\Cronos\Documents\Progetti\Space-Crasher\|
19 changes: 6 additions & 13 deletions Debug/Space Crasher.log
Original file line number Diff line number Diff line change
@@ -1,29 +1,22 @@
Compilazione avviata 11/1/2011 10:46:08 PM.
1>Progetto "C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Space Crasher.vcxproj" sul nodo 2 (destinazioni: build).
Compilazione avviata 02/11/2011 17:16:29.
1>Progetto "C:\Users\Cronos\Documents\Progetti\Space-Crasher\Space Crasher.vcxproj" sul nodo 2 (destinazioni: build).
1>InitializeBuildStatus:
Creazione di "Debug\Space Crasher.unsuccessfulbuild". È stato specificato "AlwaysCreate".
ClCompile:
d:\Programmi\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt src\main.c
main.c
Tutti gli output sono aggiornati.
ResourceCompile:
Tutti gli output sono aggiornati.
ManifestResourceCompile:
Tutti gli output sono aggiornati.
Link:
d:\Programmi\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Debug\Space Crasher.exe" /INCREMENTAL /NOLOGO SDLmain.lib SDL.lib SDL_image.lib SDL_ttf.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\Space Crasher.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Debug\Space Crasher.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Debug\Space Crasher.lib" /MACHINE:X86 "Debug\Space Crasher.res"
"Debug\Space Crasher.exe.embed.manifest.res"
Debug\main.obj
Manifest:
C:\Programmi\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /out:"Debug\Space Crasher.exe.embed.manifest" /manifest "Debug\Space Crasher.exe.intermediate.manifest"
Tutti gli output sono aggiornati.
LinkEmbedManifest:
Manifest:
Tutti gli output sono aggiornati.
Space Crasher.vcxproj -> C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Debug\Space Crasher.exe
FinalizeBuildStatus:
Eliminazione del file "Debug\Space Crasher.unsuccessfulbuild" in corso.
Aggiornamento timestamp di "Debug\Space Crasher.lastbuildstate".
1>Compilazione progetto "C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\Space Crasher.vcxproj" (destinazioni: build) completata.
1>Compilazione progetto "C:\Users\Cronos\Documents\Progetti\Space-Crasher\Space Crasher.vcxproj" (destinazioni: build) completata.

Compilazione completata.

Tempo trascorso 00:00:01.12
Tempo trascorso 00:00:00.10
Binary file modified Debug/Space Crasher.pdb
Binary file not shown.
Binary file modified Debug/cl.command.1.tlog
Binary file not shown.
Binary file modified Debug/link.command.1.tlog
Binary file not shown.
Binary file modified Debug/link.read.1.tlog
Binary file not shown.
Binary file modified Debug/link.write.1.tlog
Binary file not shown.
Binary file modified Debug/main.obj
Binary file not shown.
Binary file modified Debug/mt.command.1.tlog
Binary file not shown.
Binary file modified Debug/mt.read.1.tlog
Binary file not shown.
Binary file modified Debug/rc.command.1.tlog
Binary file not shown.
Binary file modified Debug/rc.read.1.tlog
Binary file not shown.
Binary file modified Debug/rc.write.1.tlog
Binary file not shown.
Binary file modified Debug/vc100.idb
Binary file not shown.
Binary file modified Debug/vc100.pdb
Binary file not shown.
Binary file modified Space Crasher.sdf
Binary file not shown.
Binary file modified Space Crasher.suo
Binary file not shown.
4 changes: 2 additions & 2 deletions Space Crasher.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Documents and Settings\Cronos\Documenti\Progetti\Space Crasher\VS project\Space Crasher\lib;$(LibraryPath)</LibraryPath>
<IncludePath>.\include;$(IncludePath)</IncludePath>
<LibraryPath>.\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
Expand Down
Binary file modified doc/Specifiche.odt
Binary file not shown.
Binary file not shown.
30 changes: 16 additions & 14 deletions src/Asteroide.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,24 @@ Asteroide::Asteroide(int x) {
//Impostazione posizione e grandezza.
pos.x = x;
pos.y = 0;



pos.w = 25;
pos.h = 25;

vel = 5;
/*Impostazione immagine asteroide.
/*Impostazione immagine asteroide.*/
if( AsteroidSurface == NULL ) {
AsteroidSurface = IMG_Load( ASTEROIDE_FILE );
SDL_SetColorKey( AsteroidSurface, SDL_SRCCOLORKEY, SDL_MapRGB( AsteroidSurface->format, 0xFF, 0, 0xFF ));
}*/
SDL_Surface *tmp = IMG_Load( ASTEROIDE_FILE );
SDL_SetColorKey( tmp, SDL_SRCCOLORKEY, SDL_MapRGB( tmp->format, 0xFF, 0, 0xFF ));

asteroide = SDL_DisplayFormat( tmp );
//SDL_FreeSurface( tmp );
SDL_Surface *tmp = IMG_Load( ASTEROIDE_FILE );
SDL_SetColorKey( tmp, SDL_SRCCOLORKEY, SDL_MapRGB( tmp->format, 0xFF, 0, 0xFF ));
AsteroidSurface = SDL_DisplayFormat( tmp );
SDL_FreeSurface( tmp );
}
//Duplica la superficie
asteroide = AsteroidSurface;
asteroide->refcount++;
}

//Distruttore della classe.
Asteroide::~Asteroide() {
//Causa crash!
Expand All @@ -50,9 +52,9 @@ Asteroide::~Asteroide() {
}

Asteroide::Asteroide( const Asteroide &a ) {
pos = a.pos;
//Copy image
asteroide = SDL_DisplayFormat( a.asteroide );
this->asteroide = a.asteroide;
this->asteroide->refcount++;
this->pos = a.pos;
}

void Asteroide::show( SDL_Surface *screen ) {
Expand All @@ -63,7 +65,7 @@ void Asteroide::show( SDL_Surface *screen ) {
offset.x *= 25;

//Blit
SDL_BlitSurface( AsteroidSurface, NULL, screen, &offset );
SDL_BlitSurface( asteroide, NULL, screen, &offset );
}


Expand Down
51 changes: 34 additions & 17 deletions src/FilaAsteroidi.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ class FilaAsteroidi {



std::vector<Asteroide> asteroidi; // Tutti gli asteroidi appartenenti alla fila.
std::vector<Asteroide*> asteroidi; // Tutti gli asteroidi appartenenti alla fila.

FilaAsteroidi(int velocita, unsigned int densita_fila, int length);
~FilaAsteroidi();
FilaAsteroidi( const FilaAsteroidi &f );
void show(SDL_Surface* screen);
void move();

Expand Down Expand Up @@ -55,39 +56,55 @@ FilaAsteroidi::FilaAsteroidi(int velocita, unsigned int densita_fila, int length
while(asteroidi.size() < _densita_fila) {
i++;
//Assegna all'asteroide la coordinata X in base al valore contenuto in 'posizione'.
x = rand()%posizione.size();
Asteroide A(posizione[x]);
x = rand() % posizione.size();
//Asteroide A(posizione[x]);

asteroidi.push_back( new Asteroide(posizione[x]) );
//Elimina l'ultimo elemento richiamato.
posizione.erase(posizione.begin() + x);
posizione.erase(posizione.begin() + x);

asteroidi.push_back(A);

}

}

FilaAsteroidi::~FilaAsteroidi () {
/*unsigned int i;
unsigned int i;

for(i=0; i< _densita_fila; i++) {
delete &asteroidi[i];
}*/
for(i=0; i< asteroidi.size(); i++) {
delete asteroidi[i];
}
}

FilaAsteroidi::FilaAsteroidi( const FilaAsteroidi &f ) {
this->_densita_fila = f._densita_fila;
this->_length = f._length;

this->Y = f.Y;
this->vel = f.vel;

int i;
for(i=0; i< f._densita_fila; i++) {
this->asteroidi.push_back( f.asteroidi[i] );
}
}

void FilaAsteroidi::add(Asteroide A) {
int i = 0;

while(asteroidi[i].pos.x != A.pos.x) i++;
while(asteroidi[i]->pos.x != A.pos.x) i++;

if( (i+1) == asteroidi.size() ) asteroidi.push_back(A);
if( (i+1) == asteroidi.size() ) asteroidi.push_back( &A );
}

void FilaAsteroidi::add(int x) {
int i = 0;

while(asteroidi[i].pos.x != x) i++;
while(asteroidi[i]->pos.x != x) i++;

if( (i+1) == asteroidi.size() ) { Asteroide A(x); asteroidi.push_back(A); }
if( (i+1) == asteroidi.size() ) {
asteroidi.push_back( new Asteroide( x ) );
}
}

void FilaAsteroidi::move() {
Expand All @@ -98,7 +115,7 @@ void FilaAsteroidi::move() {

for(i=0; i<_densita_fila; i++)
{
asteroidi[i].pos.y = Y;
asteroidi[i]->pos.y = Y;
}
}

Expand All @@ -107,16 +124,16 @@ void FilaAsteroidi::show( SDL_Surface *screen ) {
unsigned int i;

for(i=0; i<_densita_fila; i++)
asteroidi[i].show(screen);
asteroidi[i]->show(screen);
}
//Trova Collisioni.
bool FilaAsteroidi::checkCollision(SDL_Rect obj) {
unsigned int i;
bool collision = false;
//Per ogni asteroide controlla se vi è collisione.
for(i = 0; i<asteroidi.size(); i++) {
Asteroide A = asteroidi[i];
collision = (obj.x == A.pos.x);
Asteroide *A = asteroidi[i];
collision = (obj.x == A->pos.x);
if( collision ) break;
}

Expand Down
6 changes: 2 additions & 4 deletions src/GameEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
//Imposto le dimensioni dello schermo.
int width = 800;
int height = 800;
/* Set 650x650 16-bits video mode SDL_SWSURFACE |*/
/*Set 650x650 16-bits video mode SDL_SWSURFACE |*/
screen = SDL_SetVideoMode (width, height, 32, SDL_ANYFORMAT | SDL_HWSURFACE | SDL_DOUBLEBUF);

if (screen == NULL)
Expand Down Expand Up @@ -58,9 +58,7 @@
if( event.type == SDL_QUIT )
{
done = true;
}


}
}
/*Check collison.*/
if(pioggia->checkCollision(nave->pos)) {
Expand Down

0 comments on commit 6a11c48

Please sign in to comment.