From 9547300fc422c940f49fce71f175a48456e649a8 Mon Sep 17 00:00:00 2001 From: kryton9 Date: Sat, 9 Nov 2013 20:51:13 -0500 Subject: [PATCH 1/3] Initial setup for SDL2-SFML2-compare --- SDL2-SFML2-compare/01sdl.cpp | 57 +++++++++++++++++++++++++++++++++++ SDL2-SFML2-compare/ReadMe.txt | 40 ++++++++++++++++++++++++ SDL2-SFML2-compare/sdl2.inc | 33 ++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 SDL2-SFML2-compare/01sdl.cpp create mode 100644 SDL2-SFML2-compare/ReadMe.txt create mode 100644 SDL2-SFML2-compare/sdl2.inc diff --git a/SDL2-SFML2-compare/01sdl.cpp b/SDL2-SFML2-compare/01sdl.cpp new file mode 100644 index 0000000..6d31263 --- /dev/null +++ b/SDL2-SFML2-compare/01sdl.cpp @@ -0,0 +1,57 @@ +#include "../jade.h" +#include "sdl2.inc" + +// SCREEN DIMENSIONS +CONSTANT INT SCREEN_WIDTH = 640; +CONSTANT INT SCREEN_HEIGHT = 480; + +MAIN + DIM AS PWINDOW window = NULL; + DIM AS PSURFACE screenSurface = NULL; + DIM AS BOOL quit = false; + DIM AS SDL_Event e; + + IF ( SDL_Init( SDL_INIT_VIDEO ) < 0 ) THEN + PRINT( SDL_GetError() ); + ELSE + //Create Window + window = SDL_CreateWindow( "SDL Simple Window", + SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + SCREEN_WIDTH, + SCREEN_HEIGHT, + SDL_WINDOW_SHOWN); + + IF ( window == NULL ) THEN + PRINT( SDL_GetError() ); + ELSE + // Get Window Surface + screenSurface = SDL_GetWindowSurface( window ); + + + WHILE (NOT quit) BEGIN + WHILE ( SDL_PollEvent( ADDR e) != 0 ) BEGIN + SELECT (e.type) BEGIN + CASE SDL_QUIT: + quit = true; + ENDCASE + ENDSELECT + WEND + // Fill the surface with White + SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 255, 255, 255 ) ); + // Update the Surface + SDL_UpdateWindowSurface( window ); + + WEND + ENDIF + ENDIF + + //Destroy Window + SDL_DestroyWindow( window ); + + // Shutdown SDL + SDL_Quit(); + + RETURN 0; + +END \ No newline at end of file diff --git a/SDL2-SFML2-compare/ReadMe.txt b/SDL2-SFML2-compare/ReadMe.txt new file mode 100644 index 0000000..c7a4214 --- /dev/null +++ b/SDL2-SFML2-compare/ReadMe.txt @@ -0,0 +1,40 @@ +You will find simple test code +to compare SDL2 with SFML2. + +They will be as follows: +======= +01sdl \ + > simple blank window with background color +01sfml / +======= +02sdl \ + > simple window with image background +02sfml / +======= +03sdl \ + > simple 2D drawing +03sfml / +======= +04sdl \ + > simple 2D sprites +04sfml / +======= +05sdl \ + > simple 2D animated sprites +05sfml / +======= +06sdl \ + > simple 2D animated sprites keyboard control +06sfml / +======= +07sdl \ + > simple 2D animated sprites mouse control +07sfml / +======= +08sdl \ + > simple 3D window rotating colored cube with keyboard control +08sfml / +======= +09sdl \ + > simple 3D window rotating textured cube with keyboard control +09sfml / \ No newline at end of file diff --git a/SDL2-SFML2-compare/sdl2.inc b/SDL2-SFML2-compare/sdl2.inc new file mode 100644 index 0000000..5f2ba0a --- /dev/null +++ b/SDL2-SFML2-compare/sdl2.inc @@ -0,0 +1,33 @@ +#ifdef _WIN32 + #include "SDL2\SDL.h" + #include "SDL2\SDL_image.h" + #include "SDL2\SDL_mixer.h" + #include "SDL2\SDL_ttf.h" +#else + #include + #include + #include + #include +#endif + +typedef SDL_Window* PWINDOW; +typedef SDL_Surface* PSURFACE; +typedef SDL_Renderer* PRENDERER; +typedef SDL_Event EVENT; +typedef SDL_Rect RECT; + +#define SetRenderDrawColor SDL_SetRenderDrawColor +#define RenderClear SDL_RenderClear +#define RenderDrawRect SDL_RenderDrawRect +#define RenderFillRect SDL_RenderFillRect +#define RenderDrawLine SDL_RenderDrawLine +#define RenderPresent SDL_RenderPresent +#define Delay SDL_Delay +#define Quit SDL_Quit +#define CreateWindow SDL_CreateWindow +#define CreateRenderer SDL_CreateRenderer +#define PollEvent SDL_PollEvent +#define KEYDOWN SDL_KEYDOWN +#define KEYUP SDL_KEYUP +#define Init SDL_Init +#define Rect SDL_Rect From d533f4001289c77eb94a47d32b688f078057de80 Mon Sep 17 00:00:00 2001 From: kryton9 Date: Sun, 10 Nov 2013 16:29:35 -0500 Subject: [PATCH 2/3] SFML2 JADE Added --- SDL2/pong/obj/Release/pong.o | Bin 0 -> 22057 bytes SDL2/pong/pong.cbp | 59 +++++++++++++++++++++++++++++++++++ SDL2/pong/pong.cpp | 1 - SDL2/pong/pong.layout | 14 +++++++++ SDL2/pong/sdl2.inc | 33 ++++++++++++++++++++ SDL2/pong/simplewindow.cpp | 57 +++++++++++++++++++++++++++++++++ SDL2/sdl2.inc | 8 ++--- SFML2/ReadMe.txt | 14 +++++++++ SFML2/data/ahronbd.ttf | Bin 0 -> 50468 bytes SFML2/main01.cpp | 27 ++++++++++++++++ SFML2/sfml2.inc | 4 +++ 11 files changed, 212 insertions(+), 5 deletions(-) create mode 100644 SDL2/pong/obj/Release/pong.o create mode 100644 SDL2/pong/pong.cbp create mode 100644 SDL2/pong/pong.layout create mode 100644 SDL2/pong/sdl2.inc create mode 100644 SDL2/pong/simplewindow.cpp create mode 100644 SFML2/ReadMe.txt create mode 100644 SFML2/data/ahronbd.ttf create mode 100644 SFML2/main01.cpp create mode 100644 SFML2/sfml2.inc diff --git a/SDL2/pong/obj/Release/pong.o b/SDL2/pong/obj/Release/pong.o new file mode 100644 index 0000000000000000000000000000000000000000..3e88e380a367fa042e4863de5715fd054ec54d47 GIT binary patch literal 22057 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 literal 0 HcmV?d00001 diff --git a/SDL2/pong/pong.cbp b/SDL2/pong/pong.cbp new file mode 100644 index 0000000..e68bcdc --- /dev/null +++ b/SDL2/pong/pong.cbp @@ -0,0 +1,59 @@ + + + + + + diff --git a/SDL2/pong/pong.cpp b/SDL2/pong/pong.cpp index 2a19ddb..79638ed 100644 --- a/SDL2/pong/pong.cpp +++ b/SDL2/pong/pong.cpp @@ -1,6 +1,5 @@ #include "../../jade.h" #include "../sdl2.inc" -#include MAIN diff --git a/SDL2/pong/pong.layout b/SDL2/pong/pong.layout new file mode 100644 index 0000000..27f89c8 --- /dev/null +++ b/SDL2/pong/pong.layout @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/SDL2/pong/sdl2.inc b/SDL2/pong/sdl2.inc new file mode 100644 index 0000000..5f2ba0a --- /dev/null +++ b/SDL2/pong/sdl2.inc @@ -0,0 +1,33 @@ +#ifdef _WIN32 + #include "SDL2\SDL.h" + #include "SDL2\SDL_image.h" + #include "SDL2\SDL_mixer.h" + #include "SDL2\SDL_ttf.h" +#else + #include + #include + #include + #include +#endif + +typedef SDL_Window* PWINDOW; +typedef SDL_Surface* PSURFACE; +typedef SDL_Renderer* PRENDERER; +typedef SDL_Event EVENT; +typedef SDL_Rect RECT; + +#define SetRenderDrawColor SDL_SetRenderDrawColor +#define RenderClear SDL_RenderClear +#define RenderDrawRect SDL_RenderDrawRect +#define RenderFillRect SDL_RenderFillRect +#define RenderDrawLine SDL_RenderDrawLine +#define RenderPresent SDL_RenderPresent +#define Delay SDL_Delay +#define Quit SDL_Quit +#define CreateWindow SDL_CreateWindow +#define CreateRenderer SDL_CreateRenderer +#define PollEvent SDL_PollEvent +#define KEYDOWN SDL_KEYDOWN +#define KEYUP SDL_KEYUP +#define Init SDL_Init +#define Rect SDL_Rect diff --git a/SDL2/pong/simplewindow.cpp b/SDL2/pong/simplewindow.cpp new file mode 100644 index 0000000..6d31263 --- /dev/null +++ b/SDL2/pong/simplewindow.cpp @@ -0,0 +1,57 @@ +#include "../jade.h" +#include "sdl2.inc" + +// SCREEN DIMENSIONS +CONSTANT INT SCREEN_WIDTH = 640; +CONSTANT INT SCREEN_HEIGHT = 480; + +MAIN + DIM AS PWINDOW window = NULL; + DIM AS PSURFACE screenSurface = NULL; + DIM AS BOOL quit = false; + DIM AS SDL_Event e; + + IF ( SDL_Init( SDL_INIT_VIDEO ) < 0 ) THEN + PRINT( SDL_GetError() ); + ELSE + //Create Window + window = SDL_CreateWindow( "SDL Simple Window", + SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + SCREEN_WIDTH, + SCREEN_HEIGHT, + SDL_WINDOW_SHOWN); + + IF ( window == NULL ) THEN + PRINT( SDL_GetError() ); + ELSE + // Get Window Surface + screenSurface = SDL_GetWindowSurface( window ); + + + WHILE (NOT quit) BEGIN + WHILE ( SDL_PollEvent( ADDR e) != 0 ) BEGIN + SELECT (e.type) BEGIN + CASE SDL_QUIT: + quit = true; + ENDCASE + ENDSELECT + WEND + // Fill the surface with White + SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 255, 255, 255 ) ); + // Update the Surface + SDL_UpdateWindowSurface( window ); + + WEND + ENDIF + ENDIF + + //Destroy Window + SDL_DestroyWindow( window ); + + // Shutdown SDL + SDL_Quit(); + + RETURN 0; + +END \ No newline at end of file diff --git a/SDL2/sdl2.inc b/SDL2/sdl2.inc index 271a71b..939ac30 100644 --- a/SDL2/sdl2.inc +++ b/SDL2/sdl2.inc @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include "SDL2/SDL.h" +#include "SDL2/SDL_image.h" +#include "SDL2/SDL_mixer.h" +#include "SDL2/SDL_ttf.h" typedef SDL_Window* PWINDOW; typedef SDL_Surface* PSURFACE; diff --git a/SFML2/ReadMe.txt b/SFML2/ReadMe.txt new file mode 100644 index 0000000..3941048 --- /dev/null +++ b/SFML2/ReadMe.txt @@ -0,0 +1,14 @@ +-------------- Clean: Release in SFML2 (compiler: GNU GCC Compiler)--------------- + +Cleaned "SFML2 - Release" + +-------------- Build: Release in SFML2 (compiler: GNU GCC Compiler)--------------- + +mingw32-g++.exe -std=c++11 -Wall -O2 -std=c++11 -Wall -ID:\CodeBlocks\SFML-2.1\include -c D:\Projects\C++\jadegrfx\SFML2\main01.cpp -o obj\Release\main01.o +mingw32-g++.exe -LD:\CodeBlocks\SFML-2.1\lib -o bin\Release\SFML2.exe obj\Release\main01.o -s D:\CodeBlocks\SFML-2.1\lib\libsfml-network.a D:\CodeBlocks\SFML-2.1\lib\libsfml-audio.a D:\CodeBlocks\SFML-2.1\lib\libsfml-graphics.a D:\CodeBlocks\SFML-2.1\lib\libsfml-window.a D:\CodeBlocks\SFML-2.1\lib\libsfml-system.a D:\CodeBlocks\SFML-2.1\lib\libsfml-main.a -mwindows +Output size is 509.00 KB +Process terminated with status 0 (0 minutes, 5 seconds) +0 errors, 0 warnings (0 minutes, 5 seconds) + +I use UPX to compress it down to 141 KB +upx -9 SFML2.exe \ No newline at end of file diff --git a/SFML2/data/ahronbd.ttf b/SFML2/data/ahronbd.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a0bd1911a12bf0ff7881e463dda508d768f960c3 GIT binary patch literal 50468 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 +#include "../jade.h" + +using namespace sf; From a2039ad16cbac23e8118a44a6512a1f7a9d89ec7 Mon Sep 17 00:00:00 2001 From: kryton9 Date: Sun, 10 Nov 2013 16:39:10 -0500 Subject: [PATCH 3/3] deleting unused folder --- SDL2-SFML2-compare/01sdl.cpp | 57 ----------------------------------- SDL2-SFML2-compare/ReadMe.txt | 40 ------------------------ SDL2-SFML2-compare/sdl2.inc | 33 -------------------- 3 files changed, 130 deletions(-) delete mode 100644 SDL2-SFML2-compare/01sdl.cpp delete mode 100644 SDL2-SFML2-compare/ReadMe.txt delete mode 100644 SDL2-SFML2-compare/sdl2.inc diff --git a/SDL2-SFML2-compare/01sdl.cpp b/SDL2-SFML2-compare/01sdl.cpp deleted file mode 100644 index 6d31263..0000000 --- a/SDL2-SFML2-compare/01sdl.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "../jade.h" -#include "sdl2.inc" - -// SCREEN DIMENSIONS -CONSTANT INT SCREEN_WIDTH = 640; -CONSTANT INT SCREEN_HEIGHT = 480; - -MAIN - DIM AS PWINDOW window = NULL; - DIM AS PSURFACE screenSurface = NULL; - DIM AS BOOL quit = false; - DIM AS SDL_Event e; - - IF ( SDL_Init( SDL_INIT_VIDEO ) < 0 ) THEN - PRINT( SDL_GetError() ); - ELSE - //Create Window - window = SDL_CreateWindow( "SDL Simple Window", - SDL_WINDOWPOS_UNDEFINED, - SDL_WINDOWPOS_UNDEFINED, - SCREEN_WIDTH, - SCREEN_HEIGHT, - SDL_WINDOW_SHOWN); - - IF ( window == NULL ) THEN - PRINT( SDL_GetError() ); - ELSE - // Get Window Surface - screenSurface = SDL_GetWindowSurface( window ); - - - WHILE (NOT quit) BEGIN - WHILE ( SDL_PollEvent( ADDR e) != 0 ) BEGIN - SELECT (e.type) BEGIN - CASE SDL_QUIT: - quit = true; - ENDCASE - ENDSELECT - WEND - // Fill the surface with White - SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 255, 255, 255 ) ); - // Update the Surface - SDL_UpdateWindowSurface( window ); - - WEND - ENDIF - ENDIF - - //Destroy Window - SDL_DestroyWindow( window ); - - // Shutdown SDL - SDL_Quit(); - - RETURN 0; - -END \ No newline at end of file diff --git a/SDL2-SFML2-compare/ReadMe.txt b/SDL2-SFML2-compare/ReadMe.txt deleted file mode 100644 index c7a4214..0000000 --- a/SDL2-SFML2-compare/ReadMe.txt +++ /dev/null @@ -1,40 +0,0 @@ -You will find simple test code -to compare SDL2 with SFML2. - -They will be as follows: -======= -01sdl \ - > simple blank window with background color -01sfml / -======= -02sdl \ - > simple window with image background -02sfml / -======= -03sdl \ - > simple 2D drawing -03sfml / -======= -04sdl \ - > simple 2D sprites -04sfml / -======= -05sdl \ - > simple 2D animated sprites -05sfml / -======= -06sdl \ - > simple 2D animated sprites keyboard control -06sfml / -======= -07sdl \ - > simple 2D animated sprites mouse control -07sfml / -======= -08sdl \ - > simple 3D window rotating colored cube with keyboard control -08sfml / -======= -09sdl \ - > simple 3D window rotating textured cube with keyboard control -09sfml / \ No newline at end of file diff --git a/SDL2-SFML2-compare/sdl2.inc b/SDL2-SFML2-compare/sdl2.inc deleted file mode 100644 index 5f2ba0a..0000000 --- a/SDL2-SFML2-compare/sdl2.inc +++ /dev/null @@ -1,33 +0,0 @@ -#ifdef _WIN32 - #include "SDL2\SDL.h" - #include "SDL2\SDL_image.h" - #include "SDL2\SDL_mixer.h" - #include "SDL2\SDL_ttf.h" -#else - #include - #include - #include - #include -#endif - -typedef SDL_Window* PWINDOW; -typedef SDL_Surface* PSURFACE; -typedef SDL_Renderer* PRENDERER; -typedef SDL_Event EVENT; -typedef SDL_Rect RECT; - -#define SetRenderDrawColor SDL_SetRenderDrawColor -#define RenderClear SDL_RenderClear -#define RenderDrawRect SDL_RenderDrawRect -#define RenderFillRect SDL_RenderFillRect -#define RenderDrawLine SDL_RenderDrawLine -#define RenderPresent SDL_RenderPresent -#define Delay SDL_Delay -#define Quit SDL_Quit -#define CreateWindow SDL_CreateWindow -#define CreateRenderer SDL_CreateRenderer -#define PollEvent SDL_PollEvent -#define KEYDOWN SDL_KEYDOWN -#define KEYUP SDL_KEYUP -#define Init SDL_Init -#define Rect SDL_Rect