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;