diff --git a/.hgignore b/.hgignore index 27ad211..95e3abf 100644 --- a/.hgignore +++ b/.hgignore @@ -1,3 +1,11 @@ syntax: glob recursos/* +bin/* +obj/* +Debug/* +*.suo +*.sdf +*.opensdf +*.user +*.dll diff --git a/aee.sln b/aee.sln new file mode 100644 index 0000000..3352879 --- /dev/null +++ b/aee.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aee", "aee.vcxproj", "{CE606303-5AA1-41EF-BB2F-B11540AA5EA1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE606303-5AA1-41EF-BB2F-B11540AA5EA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE606303-5AA1-41EF-BB2F-B11540AA5EA1}.Debug|Win32.Build.0 = Debug|Win32 + {CE606303-5AA1-41EF-BB2F-B11540AA5EA1}.Release|Win32.ActiveCfg = Release|Win32 + {CE606303-5AA1-41EF-BB2F-B11540AA5EA1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/aee.vcxproj b/aee.vcxproj new file mode 100644 index 0000000..549621d --- /dev/null +++ b/aee.vcxproj @@ -0,0 +1,118 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {CE606303-5AA1-41EF-BB2F-B11540AA5EA1} + Win32Proj + aee + + + + Application + true + v120 + Unicode + + + Application + false + v120 + true + Unicode + + + + + + + + + + + + + true + C:\dev\lib\sdl2\include;$(IncludePath) + C:\dev\lib\sdl2\lib\x86;$(LibraryPath) + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + + + Windows + true + SDL2.lib;SDL2main.lib;SDL2_image.lib;SDL2_mixer.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aee.vcxproj.filters b/aee.vcxproj.filters new file mode 100644 index 0000000..7d396fe --- /dev/null +++ b/aee.vcxproj.filters @@ -0,0 +1,111 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/jdraw8.cpp b/jdraw8.cpp index 7bce66d..2cca36f 100755 --- a/jdraw8.cpp +++ b/jdraw8.cpp @@ -1,6 +1,6 @@ #include "jdraw8.h" -#include "SDL2/SDL_image.h" -#include "SDL2/SDL_opengl.h" +#include "SDL_image.h" +//#include "SDL_opengl.h" #include "jfile.h" #include @@ -15,52 +15,29 @@ Uint32 contadorFPS = 0; Uint32 tempsFPS = SDL_GetTicks(); char *fps = (char *)malloc(10); -SDL_GLContext gContext; -SDL_Window* window = NULL; -SDL_Surface* screenSurface = NULL; +SDL_Window* sdlWindow = NULL; +SDL_Renderer* sdlRenderer = NULL; +SDL_Texture* sdlTexture = NULL; void JD8_Init(char *title) { screen = (JD8_Surface)calloc( 1, 64000 ); main_palette = (JD8_Palette)calloc( 1, 768 ); - pixel_data = (Uint32*)calloc( 1, 1048576 ); + pixel_data = (Uint32*)calloc(1, 320 * 200 * 4); // 1048576 ); - //SDL_SetVideoMode( 640, 480, 32, SDL_OPENGL ); - - window = SDL_CreateWindow( title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN ); - gContext = SDL_GL_CreateContext( window ); - //if( SDL_GL_SetSwapInterval( 1 ) < 0 ) { printf( "Warning: Unable to set VSync! SDL Error: %s\n", SDL_GetError() ); } - - SDL_GL_SetAttribute( SDL_GL_CONTEXT_MAJOR_VERSION, 2 ); - SDL_GL_SetAttribute( SDL_GL_CONTEXT_MINOR_VERSION, 1 ); + sdlWindow = SDL_CreateWindow( title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN ); + sdlRenderer = SDL_CreateRenderer(sdlWindow, -1, 0); + SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest"); + SDL_RenderSetLogicalSize(sdlRenderer, 320, 200); - glClearColor( 0, 0, 0, 0 ); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - glOrtho( 0, 320, 200, 0, -1, 1 ); - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - glEnable(GL_TEXTURE_2D); - - GLuint textureName; - - glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glGenTextures(1, &textureName); - glBindTexture(GL_TEXTURE_2D, textureName); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixel_data); + sdlTexture = SDL_CreateTexture(sdlRenderer, SDL_PIXELFORMAT_ABGR8888, SDL_TEXTUREACCESS_STREAMING, 320, 200); } void JD8_Quit() { if( screen != NULL ) free( screen ); if( main_palette != NULL ) free( main_palette ); if( pixel_data != NULL ) free( pixel_data ); - SDL_DestroyWindow( window ); + SDL_DestroyRenderer(sdlRenderer); + SDL_DestroyWindow( sdlWindow ); } void JD8_ClearScreen(Uint8 color) { @@ -179,26 +156,12 @@ void JD8_Flip() { for( int x = 0; x < 320; x++ ) { for( int y = 0; y < 200; y++ ) { Uint32 color = 0xFF000000 + main_palette[screen[x + ( y * 320 )]].r + ( main_palette[screen[x + ( y * 320 )]].g << 8 ) + ( main_palette[screen[x + ( y * 320 )]].b << 16 ); - pixel_data[y + ( x * 512 )] = color; + pixel_data[x + ( y * 320 )] = color; } } - glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 512, 512, GL_RGBA, GL_UNSIGNED_BYTE, pixel_data); - - glBegin( GL_QUADS ); - glTexCoord2f( 0.0, 0.0 ); - glVertex3f( 0.0, 0.0, 0.0 ); - - glTexCoord2f( 0.0, 1.0 ); - glVertex3f( 512.0, 0.0, 0.0 ); - - glTexCoord2f( 1.0, 1.0 ); - glVertex3f( 512.0, 512.0, 0.0 ); - - glTexCoord2f( 1.0, 0.0 ); - glVertex3f( 0.0, 512.0, 0.0 ); - glEnd(); - - SDL_GL_SwapWindow(window); + SDL_UpdateTexture(sdlTexture, NULL, pixel_data, 320 * sizeof(Uint32)); + SDL_RenderCopy(sdlRenderer, sdlTexture, NULL, NULL); + SDL_RenderPresent(sdlRenderer); } void JD8_FreeSurface(JD8_Surface surface) { diff --git a/jdraw8.h b/jdraw8.h index c854aaf..7005a2f 100755 --- a/jdraw8.h +++ b/jdraw8.h @@ -1,5 +1,5 @@ #pragma once -#include "SDL2/SDL.h" +#include "SDL.h" struct Color { Uint8 r; diff --git a/jfile.cpp b/jfile.cpp index 92101cf..b3f4c3a 100755 --- a/jfile.cpp +++ b/jfile.cpp @@ -1,5 +1,5 @@ #include "jfile.h" -#include "SDL2/SDL.h" +#include "SDL.h" #include #pragma pack(push,1) diff --git a/jgame.h b/jgame.h index 8146f59..b9c86bf 100755 --- a/jgame.h +++ b/jgame.h @@ -1,5 +1,5 @@ #pragma once -#include "SDL2/SDL.h" +#include "SDL.h" #ifndef NDEBUG #ifndef DPRINT(text, ...) diff --git a/jinput.cpp b/jinput.cpp index ba01b35..603e2ef 100755 --- a/jinput.cpp +++ b/jinput.cpp @@ -1,5 +1,6 @@ #include "jinput.h" #include "jgame.h" +#include const Uint8 *keystates;// = SDL_GetKeyboardState( NULL ); SDL_Event event; diff --git a/jinput.h b/jinput.h index d5e47be..4b52d85 100755 --- a/jinput.h +++ b/jinput.h @@ -1,5 +1,5 @@ #pragma once -#include "SDL2/SDL.h" +#include "SDL.h" void JI_Update(); diff --git a/jsound.h b/jsound.h index b77cd75..9050c59 100755 --- a/jsound.h +++ b/jsound.h @@ -1,5 +1,5 @@ #pragma once -#include "SDL2/SDL_mixer.h" +#include "SDL_mixer.h" typedef Mix_Chunk JS_Sound; diff --git a/main.cpp b/main.cpp index 845f172..c4b4c01 100755 --- a/main.cpp +++ b/main.cpp @@ -5,16 +5,24 @@ #include "modulegame.h" #include "modulesequence.h" #include "time.h" +#include + +#ifndef WIN32 #include +#endif int main( int argc, char* args[] ) { +#ifdef WIN32 + JF_SetResourceFile("data.jrf"); +#else char res_file[255] = ""; strcpy(res_file, dirname(args[0])); strcat(res_file, "/data.jrf"); printf("ARXIU DE RECURSOS: %s\n", res_file); JF_SetResourceFile(res_file); - +#endif + srand( time(NULL) ); JG_Init(); diff --git a/mapa.cpp b/mapa.cpp index 3396657..6e22a15 100755 --- a/mapa.cpp +++ b/mapa.cpp @@ -2,6 +2,7 @@ #include "jgame.h" #include "jinput.h" +#include Mapa::Mapa( JD8_Surface gfx, Info* info, Prota* sam ) { diff --git a/modulesequence.cpp b/modulesequence.cpp index f00c418..4d751b6 100755 --- a/modulesequence.cpp +++ b/modulesequence.cpp @@ -3,6 +3,8 @@ #include "jgame.h" #include "jdraw8.h" #include "jinput.h" +#include +#include ModuleSequence::ModuleSequence( Info* info ) { this->info = info; diff --git a/momia.cpp b/momia.cpp index 4db97a8..8c51abe 100755 --- a/momia.cpp +++ b/momia.cpp @@ -1,5 +1,6 @@ #include "momia.h" #include "jgame.h" +#include Momia::Momia( JD8_Surface gfx, Info* info, bool dimoni, Uint16 x, Uint16 y, Prota* sam ) : Sprite( gfx ) { this->info = info;