From 051040af2d0829933f474e1accf8441b352bed13 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Fri, 16 Feb 2018 05:43:13 +0100 Subject: [PATCH 1/9] CMake: Remove _RAYLIB suffix from -D{SHARED,STATIC}_RAYLIB They were named so for compatibility with make, but make doesn't use the anymore. I always forget whether it's SHARED_RAYLIB or RAYLIB_SHARED... For now, RAYLIB_SHARED and STATIC_RAYLIB may still be used, but print a deprecation warning. --- .travis.yml | 2 +- appveyor.yml | 2 +- src/CMakeLists.txt | 27 ++++++++++++++++++--------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index e3a0e67da..192413469 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,7 +45,7 @@ before_install: script: - mkdir build - cd build - - cmake -DMACOS_FATLIB=ON -DSTATIC_RAYLIB=ON -DSHARED_RAYLIB=ON -DBUILD_EXAMPLES=ON -DBUILD_GAMES=ON -DUSE_EXTERNAL_GLFW=IF_POSSIBLE .. + - cmake -DMACOS_FATLIB=ON -DSTATIC=ON -DSHARED=ON -DBUILD_EXAMPLES=ON -DBUILD_GAMES=ON -DUSE_EXTERNAL_GLFW=IF_POSSIBLE .. - make VERBOSE=1 - make package diff --git a/appveyor.yml b/appveyor.yml index 4148e7446..bec37da8d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -39,7 +39,7 @@ before_build: - cd build build_script: - - cmake -G %GENERATOR% -DSTATIC_RAYLIB=ON -DSHARED_RAYLIB=ON -DBUILD_EXAMPLES=%examples% -DBUILD_GAMES=%examples% .. + - cmake -G %GENERATOR% -DSTATIC=ON -DSHARED=ON -DBUILD_EXAMPLES=%examples% -DBUILD_GAMES=%examples% .. - cmake --build . --target install after_build: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 408714555..6f759324d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,12 +10,21 @@ set(RAYLIB raylib) # Name of the generated library # Shared library is always PIC. Static library should be PIC too if linked into a shared library set(WITH_PIC OFF CACHE BOOL "Compile static library as position-independent code" OFF) # Build a static and/or shared raylib? -set(SHARED_RAYLIB OFF CACHE BOOL "Build raylib as a dynamic library") -set(STATIC_RAYLIB ON CACHE BOOL "Build raylib as a static library") +set(SHARED OFF CACHE BOOL "Build raylib as a dynamic library") +set(STATIC ON CACHE BOOL "Build raylib as a static library") set(MACOS_FATLIB ON CACHE BOOL "Build fat library for both i386 and x86_64 on macOS") -if(NOT (STATIC_RAYLIB OR SHARED_RAYLIB)) - message(FATAL_ERROR "Nothing to do if both -DSHARED_RAYLIB=OFF and -DSTATIC_RAYLIB=OFF...") +if(NOT (STATIC OR SHARED)) + message(FATAL_ERROR "Nothing to do if both -DSHARED=OFF and -DSTATIC=OFF...") +endif() + +if(DEFINED SHARED_RAYLIB) + set(SHARED ${SHARED_RAYLIB}) + message(DEPRECATION "-DSHARED_RAYLIB is deprecated. Please use -DSHARED instead.") +endif() +if(DEFINED STATIC_RAYLIB) + set(STATIC ${STATIC_RAYLIB}) + message(DEPRECATION "-DSTATIC_RAYLIB is deprecated. Please use -DSTATIC instead.") endif() # Platform @@ -85,7 +94,7 @@ endif() if(MACOS_FATLIB) if (CMAKE_OSX_ARCHITECTURES) - message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides BUILD_MACOS_FATLIB=ON") + message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides -DMACOS_FATLIB=ON") else() SET(CMAKE_OSX_ARCHITECTURES "x86_64;i386") endif() @@ -94,7 +103,7 @@ endif() # Which platform? if(${PLATFORM} MATCHES "PLATFORM_DESKTOP") - if(${SHARED_RAYLIB}) + if(${SHARED}) add_library(${RAYLIB}_shared SHARED ${sources}) target_compile_definitions(${RAYLIB}_shared @@ -127,9 +136,9 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP") PUBLIC_HEADER DESTINATION include ) endif() - endif(${SHARED_RAYLIB}) + endif(${SHARED}) - if(${STATIC_RAYLIB}) + if(${STATIC}) add_library(${RAYLIB} STATIC ${sources}) target_compile_definitions(${RAYLIB} @@ -147,7 +156,7 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP") ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include ) - endif(${STATIC_RAYLIB}) + endif(${STATIC}) configure_file(../raylib.pc.in raylib.pc @ONLY) install(FILES ${CMAKE_BINARY_DIR}/release/raylib.pc DESTINATION lib/pkgconfig) From 988f5b78329f31c3107ec258e8ac3eb1358dee3b Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 16 Feb 2018 11:20:21 +0100 Subject: [PATCH 2/9] Add Builder project template --- project/Builder/README.md | 20 ++++++++++++++++++++ project/Builder/meson.build | 27 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 project/Builder/README.md create mode 100644 project/Builder/meson.build diff --git a/project/Builder/README.md b/project/Builder/README.md new file mode 100644 index 000000000..f816ebe5f --- /dev/null +++ b/project/Builder/README.md @@ -0,0 +1,20 @@ +# Builder project template + +This is a project template to be used with [GNOME Builder](https://raw.githubusercontent.com/jubalh/raymario/master/meson.build). +We use the [meson](https://raw.githubusercontent.com/jubalh/raymario/master/meson.build) build system here. + +We can compile our project via the command line: +``` +meson build +cd build +ninja +ninja install +``` + +Or can simply click on the `meson.build` file to open it with Builder. +Alternatively you can open Builder first and click on the `open` button and the left top. + +We added comments to the file to give you an idea which values you should edit. +For a full overview of options please check the [meson manual](http://mesonbuild.com/Manual.html). + +In the provided file we assume that the build file is located at the root folder of your project, and that all your sources are in a `src` subfolder. diff --git a/project/Builder/meson.build b/project/Builder/meson.build new file mode 100644 index 000000000..4908736cd --- /dev/null +++ b/project/Builder/meson.build @@ -0,0 +1,27 @@ +# This file should be in the main folder of your project + +# Replace 'projectname' with the name of your project +# Replace '1.0' with its version +project('projectname', 'c', version: '1.0', + meson_version: '>= 0.39.1') + +# We want a C Compiler to be present +cc = meson.get_compiler('c') + +# Find dependencies +glfw_dep = dependency('glfw3') +gl_dep = dependency('gl') +openal_dep = dependency('openal') +m_dep = cc.find_library('m', required : false) +raylib_dep = cc.find_library('raylib', required : false) + +# List your source files here +source_c = [ + 'src/main.c', +] + +# Build executable +projectname = executable('projectname', + source_c, + dependencies : [ raylib_dep, glfw_dep, gl_dep, openal_dep, m_dep ], + install : true) From 6ebc3fd29a6a05b2d56e893e753125a4c14cf184 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 16 Feb 2018 11:23:02 +0100 Subject: [PATCH 3/9] Add core_basic_window project example for Builder --- project/Builder/examples/README.md | 1 + project/Builder/examples/meson.build | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 project/Builder/examples/README.md create mode 100644 project/Builder/examples/meson.build diff --git a/project/Builder/examples/README.md b/project/Builder/examples/README.md new file mode 100644 index 000000000..cba3aef55 --- /dev/null +++ b/project/Builder/examples/README.md @@ -0,0 +1 @@ +Open `meson.build` with Builder or run `meson build; cd build; ninja; ./core_basic_window` on the commandline to launch the example. diff --git a/project/Builder/examples/meson.build b/project/Builder/examples/meson.build new file mode 100644 index 000000000..ab81ca6c3 --- /dev/null +++ b/project/Builder/examples/meson.build @@ -0,0 +1,27 @@ +# This file should be in the main folder of your project + +# Replace 'projectname' with the name of your project +# Replace '1.0' with its version +project('core_basic_window', 'c', version: '1.0', + meson_version: '>= 0.39.1') + +# We want a C Compiler to be present +cc = meson.get_compiler('c') + +# Find dependencies +glfw_dep = dependency('glfw3') +gl_dep = dependency('gl') +openal_dep = dependency('openal') +m_dep = cc.find_library('m', required : false) +raylib_dep = cc.find_library('raylib', required : false) + +# List your source files here +source_c = [ + '../../../examples/core/core_basic_window.c', +] + +# Build executable +core_basic_window = executable('core_basic_window', + source_c, + dependencies : [ raylib_dep, glfw_dep, gl_dep, openal_dep, m_dep ], + install : true) From e0a3a51b753ae20727bac9191da9b62f32c92d83 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 16 Feb 2018 11:25:12 +0100 Subject: [PATCH 4/9] Builder project: Add note about examples --- project/Builder/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/project/Builder/README.md b/project/Builder/README.md index f816ebe5f..1696e0d2b 100644 --- a/project/Builder/README.md +++ b/project/Builder/README.md @@ -18,3 +18,6 @@ We added comments to the file to give you an idea which values you should edit. For a full overview of options please check the [meson manual](http://mesonbuild.com/Manual.html). In the provided file we assume that the build file is located at the root folder of your project, and that all your sources are in a `src` subfolder. + +Check out the `examples` directory for a simple example on how to use this template. +You can also look at [raymario](https://github.com/jubalh/raymario) for a slightly more complex example which also installs resource files. From 883ed20e7c40009f116334fc2b7cf747942c68f2 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 16 Feb 2018 11:53:04 +0100 Subject: [PATCH 5/9] Add note about glfw3 and openAL --- project/Builder/README.md | 3 +++ project/Builder/meson.build | 1 + 2 files changed, 4 insertions(+) diff --git a/project/Builder/README.md b/project/Builder/README.md index 1696e0d2b..556806ab2 100644 --- a/project/Builder/README.md +++ b/project/Builder/README.md @@ -21,3 +21,6 @@ In the provided file we assume that the build file is located at the root folder Check out the `examples` directory for a simple example on how to use this template. You can also look at [raymario](https://github.com/jubalh/raymario) for a slightly more complex example which also installs resource files. + +# Notice +The files provided link against glfw3 and openAL because the latest stable version of raylib is version 1.8, which still needs this. For later versions these two dependencies are not necessary anymore. diff --git a/project/Builder/meson.build b/project/Builder/meson.build index 4908736cd..41b37fdc4 100644 --- a/project/Builder/meson.build +++ b/project/Builder/meson.build @@ -9,6 +9,7 @@ project('projectname', 'c', version: '1.0', cc = meson.get_compiler('c') # Find dependencies +# glfw3 and openal are not needed for raylib > 1.8.0 glfw_dep = dependency('glfw3') gl_dep = dependency('gl') openal_dep = dependency('openal') From 50fc4f7164fad37a7c4e542475ccb93d0f4b05ca Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 17 Feb 2018 21:23:45 +0100 Subject: [PATCH 6/9] Reviewed transmission mission game Support string replacing to generate newspaper headline ISSUE: UTF8 characters not supported when drawing to Image --- .../resources/fonts/Lora-BoldItalic.ttf | Bin 232472 -> 0 bytes .../{fontTitle.ttf => mom_typewritter.ttf} | Bin games/transmission/resources/missions.txt | 6 +- games/transmission/screens/screen_ending.c | 132 +++++++++++------- games/transmission/screens/screen_title.c | 2 +- 5 files changed, 88 insertions(+), 52 deletions(-) delete mode 100644 games/transmission/resources/fonts/Lora-BoldItalic.ttf rename games/transmission/resources/fonts/{fontTitle.ttf => mom_typewritter.ttf} (100%) diff --git a/games/transmission/resources/fonts/Lora-BoldItalic.ttf b/games/transmission/resources/fonts/Lora-BoldItalic.ttf deleted file mode 100644 index 19b0322632a78fcb5f1446497ccf8f457db2b948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232472 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

_R%n}-J!pWGbW?A#n|d}4fTp!5of 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 #include -#define MAX_TITLE_CHAR 128 +#define MAX_TITLE_CHAR 256 #define MAX_SUBTITLE_CHAR 256 //---------------------------------------------------------------------------------- @@ -66,7 +66,12 @@ static int state = 0; static Mission *missions = NULL; -static bool showResults = false; +static char headline[MAX_TITLE_CHAR] = "\0"; + +SpriteFont fontNews; + +// String (const char *) replacement function +static char *StringReplace(char *orig, char *rep, char *with); //---------------------------------------------------------------------------------- // Ending Screen Functions Definition @@ -84,60 +89,43 @@ void InitEndingScreen(void) texBackground = LoadTexture("resources/textures/ending_background.png"); texVignette = LoadTexture("resources/textures/message_vignette.png"); - fxNews = LoadSound("resources/audio/fx_batman.ogg"); - // TODO: Check game results! missions = LoadMissions("resources/missions.txt"); int wordsCount = missions[currentMission].wordsCount; - TraceLog(LOG_WARNING, "Words count %i", wordsCount); - - char title[MAX_TITLE_CHAR] = "\0"; - //char subtitle[MAX_SUBTITLE_CHAR] = "\0"; - - char *ptrTitle = title; - int len = 0; + + strcpy(headline, missions[currentMission].msg); // Base headline + int len = strlen(headline); + // Remove @ from headline + // TODO: Also remove additional spaces + for (int i = 0; i < len; i++) + { + if (headline[i] == '@') headline[i] = ' '; + } + for (int i = 0; i < wordsCount; i++) { - if (messageWords[i].id == missions[currentMission].sols[i]) + if (messageWords[i].id != missions[currentMission].sols[i]) { - len = strlen(messageWords[i].text); - strncpy(ptrTitle, messageWords[i].text, len); - ptrTitle += len; + // WARNING: It fails if the last sentence word has a '.' after space + char *title = StringReplace(headline, messageWords[i].text, codingWords[messageWords[i].id]); - // title[len] = ' '; - // len++; - // ptrTitle++; - } - else - { - TraceLog(LOG_WARNING, "Coding word: %s", codingWords[messageWords[i].id]); - len = strlen(codingWords[messageWords[i].id]); - TraceLog(LOG_WARNING, "Lenght: %i", len); - strncpy(ptrTitle, codingWords[messageWords[i].id], len); - ptrTitle += len; + strcpy(headline, title); // Base headline updated - // title[len] = ' '; - // len++; - // ptrTitle++; + free(title); } } - ptrTitle = '\0'; - - //TraceLog(LOG_WARNING, "Titular: %s", title); + TraceLog(LOG_WARNING, "Titular: %s", headline); // Generate newspaper with title and subtitle Image imNewspaper = LoadImage("resources/textures/ending_newspaper.png"); - SpriteFont fontNews = LoadSpriteFontEx("resources/fonts/Lora-Bold.ttf", 82, 250, 0); - ImageDrawTextEx(&imNewspaper, (Vector2){ 50, 220 }, fontNews, "FRACASO EN LA GGJ18!", fontNews.baseSize, 0, DARKGRAY); + fontNews = LoadSpriteFontEx("resources/fonts/Lora-Bold.ttf", 32, 250, 0); + ImageDrawTextEx(&imNewspaper, (Vector2){ 50, 220 }, fontNews, headline, fontNews.baseSize, 0, DARKGRAY); - // TODO: Draw subtitle message - //ImageDrawTextEx(&imNewspaper, (Vector2){ 50, 210 }, fontNews, "SUBE LA ESCALERA!", fontNews.baseSize, 0, DARKGRAY); - texNewspaper = LoadTextureFromImage(imNewspaper); - UnloadSpriteFont(fontNews); + //UnloadSpriteFont(fontNews); UnloadImage(imNewspaper); } @@ -167,8 +155,6 @@ void UpdateEndingScreen(void) if (currentMission >= totalMissions) finishScreen = 2; else finishScreen = 1; } - - if (IsKeyPressed(KEY_SPACE)) showResults = !showResults; } // Ending Screen Draw logic @@ -181,16 +167,15 @@ void DrawEndingScreen(void) (Vector2){ (float)texNewspaper.width*scale/2, (float)texNewspaper.height*scale/2 }, rotation, WHITE); DrawTextureEx(texVignette, (Vector2){ 0, 0 }, 0.0f, 2.0f, WHITE); + + // Draw debug information + DrawTextEx(fontNews, headline, (Vector2){ 10, 10 }, fontNews.baseSize, 0, RAYWHITE); - if (showResults) + for (int i = 0; i < missions[currentMission].wordsCount; i++) { - for (int i = 0; i < missions[currentMission].wordsCount; i++) - { - if (messageWords[i].id == missions[currentMission].sols[i]) DrawText(messageWords[i].text, 10, 10 + 30*i, 20, GREEN); - else DrawText(codingWords[messageWords[i].id], 10, 10 + 30*i, 20, RED); - } + DrawText(codingWords[messageWords[i].id], 10, 60 + 30*i, 20, (messageWords[i].id == missions[currentMission].sols[i]) ? GREEN : RED); } - + if (state == 1) DrawButton("continuar"); } @@ -209,4 +194,55 @@ void UnloadEndingScreen(void) int FinishEndingScreen(void) { return finishScreen; -} \ No newline at end of file +} + +// String (const char *) replacement function +// NOTE: Internally allocated memory must be freed by the user (if return != NULL) +// https://stackoverflow.com/questions/779875/what-is-the-function-to-replace-string-in-c +static char *StringReplace(char *orig, char *rep, char *with) +{ + char *result; // the return string + char *ins; // the next insert point + char *tmp; // varies + int len_rep; // length of rep (the string to remove) + int len_with; // length of with (the string to replace rep with) + int len_front; // distance between rep and end of last rep + int count; // number of replacements + + // Sanity checks and initialization + if (!orig || !rep) return NULL; + + len_rep = strlen(rep); + if (len_rep == 0) return NULL; // Empty rep causes infinite loop during count + + if (!with) with = ""; // Replace with nothing if not provided + len_with = strlen(with); + + // Count the number of replacements needed + ins = orig; + for (count = 0; tmp = strstr(ins, rep); ++count) + { + ins = tmp + len_rep; + } + + tmp = result = malloc(strlen(orig) + (len_with - len_rep)*count + 1); + + if (!result) return NULL; // Memory could not be allocated + + // First time through the loop, all the variable are set correctly from here on, + // tmp points to the end of the result string + // ins points to the next occurrence of rep in orig + // orig points to the remainder of orig after "end of rep" + while (count--) + { + ins = strstr(orig, rep); + len_front = ins - orig; + tmp = strncpy(tmp, orig, len_front) + len_front; + tmp = strcpy(tmp, with) + len_with; + orig += len_front + len_rep; // move to next "end of rep" + } + + strcpy(tmp, orig); + + return result; +} diff --git a/games/transmission/screens/screen_title.c b/games/transmission/screens/screen_title.c index dc0620693..a5ad0a847 100644 --- a/games/transmission/screens/screen_title.c +++ b/games/transmission/screens/screen_title.c @@ -71,7 +71,7 @@ void InitTitleScreen(void) texBackground = LoadTexture("resources/textures/title_background.png"); fxTyping = LoadSound("resources/audio/fx_typing.ogg"); - fontTitle = LoadSpriteFontEx("resources/fonts/fontTitle.ttf", 96, 0, 0); + fontTitle = LoadSpriteFontEx("resources/fonts/mom_typewritter.ttf", 96, 0, 0); titleSize = 44; transmissionPosition = (Vector2){519, 221}; From 4492a70a4bfc32f699932eaaddc09d8225963f42 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 18 Feb 2018 18:07:57 +0100 Subject: [PATCH 7/9] Support UTF8 basic characters on ImageTextEx() Supported UTF8 range equivalent to [128..255] (80h..FFh) Exposed and renamed text function GetGlyphIndex() Renamed spriteFont parameter name to simply font Small security check on transmission mission ending screen --- games/transmission/screens/screen_ending.c | 2 +- src/raylib.h | 7 +- src/text.c | 95 +++++++++++----------- src/textures.c | 40 +++++++-- 4 files changed, 86 insertions(+), 58 deletions(-) diff --git a/games/transmission/screens/screen_ending.c b/games/transmission/screens/screen_ending.c index d9ed46962..e6ab3518c 100644 --- a/games/transmission/screens/screen_ending.c +++ b/games/transmission/screens/screen_ending.c @@ -113,7 +113,7 @@ void InitEndingScreen(void) strcpy(headline, title); // Base headline updated - free(title); + if (title != NULL) free(title); } } diff --git a/src/raylib.h b/src/raylib.h index fba973d0e..782dd4e5b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -948,19 +948,20 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load SpriteFont from file into GPU memory (VRAM) RLAPI SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from file with extended parameters -RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory (VRAM) +RLAPI void UnloadSpriteFont(SpriteFont font); // Unload SpriteFont from GPU memory (VRAM) // Text drawing functions RLAPI void DrawFPS(int posX, int posY); // Shows current FPS RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) -RLAPI void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters +RLAPI void DrawTextEx(SpriteFont font, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters float fontSize, int spacing, Color tint); // Text misc. functions RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font -RLAPI Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, float fontSize, int spacing); // Measure string size for SpriteFont +RLAPI Vector2 MeasureTextEx(SpriteFont font, const char *text, float fontSize, int spacing); // Measure string size for SpriteFont RLAPI const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' RLAPI const char *SubText(const char *text, int position, int length); // Get a piece of a text string +RLAPI int GetGlyphIndex(SpriteFont font, int character); // Returns index position for a unicode character on sprite font //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) diff --git a/src/text.c b/src/text.c index 227992e65..2a05773cb 100644 --- a/src/text.c +++ b/src/text.c @@ -90,11 +90,9 @@ static SpriteFont defaultFont; // Default font provided by raylib //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- -static int GetCharIndex(SpriteFont font, int letter); - static SpriteFont LoadImageFont(Image image, Color key, int firstChar); // Load a Image font file (XNA style) #if defined(SUPPORT_FILEFORMAT_FNT) -static SpriteFont LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode font file) +static SpriteFont LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode font file) #endif #if defined(SUPPORT_FILEFORMAT_TTF) static SpriteFont LoadTTF(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load spritefont from TTF data @@ -345,13 +343,13 @@ SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, } // Unload SpriteFont from GPU memory (VRAM) -void UnloadSpriteFont(SpriteFont spriteFont) +void UnloadSpriteFont(SpriteFont font) { // NOTE: Make sure spriteFont is not default font (fallback) - if (spriteFont.texture.id != GetDefaultFont().texture.id) + if (font.texture.id != GetDefaultFont().texture.id) { - UnloadTexture(spriteFont.texture); - free(spriteFont.chars); + UnloadTexture(font.texture); + free(font.chars); TraceLog(LOG_DEBUG, "Unloaded sprite font data"); } @@ -377,7 +375,7 @@ void DrawText(const char *text, int posX, int posY, int fontSize, Color color) // Draw text using SpriteFont // NOTE: chars spacing is NOT proportional to fontSize -void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float fontSize, int spacing, Color tint) +void DrawTextEx(SpriteFont font, const char *text, Vector2 position, float fontSize, int spacing, Color tint) { int length = strlen(text); int textOffsetX = 0; // Offset between characters @@ -387,7 +385,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float unsigned char letter; // Current character int index; // Index position in sprite font - scaleFactor = fontSize/spriteFont.baseSize; + scaleFactor = fontSize/font.baseSize; // NOTE: Some ugly hacks are made to support Latin-1 Extended characters directly // written in C code files (codified by default as UTF-8) @@ -397,7 +395,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float if ((unsigned char)text[i] == '\n') { // NOTE: Fixed line spacing of 1.5 lines - textOffsetY += (int)((spriteFont.baseSize + spriteFont.baseSize/2)*scaleFactor); + textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor); textOffsetX = 0; } else @@ -406,29 +404,29 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float { // Support UTF-8 encoded values from [0xc2 0x80] -> [0xc2 0xbf](¿) letter = (unsigned char)text[i + 1]; - index = GetCharIndex(spriteFont, (int)letter); + index = GetGlyphIndex(font, (int)letter); i++; } else if ((unsigned char)text[i] == 0xc3) // UTF-8 encoding identification HACK! { // Support UTF-8 encoded values from [0xc3 0x80](À) -> [0xc3 0xbf](ÿ) letter = (unsigned char)text[i + 1]; - index = GetCharIndex(spriteFont, (int)letter + 64); + index = GetGlyphIndex(font, (int)letter + 64); i++; } - else index = GetCharIndex(spriteFont, (unsigned char)text[i]); + else index = GetGlyphIndex(font, (unsigned char)text[i]); if ((unsigned char)text[i] != ' ') { - DrawTexturePro(spriteFont.texture, spriteFont.chars[index].rec, - (Rectangle){ position.x + textOffsetX + spriteFont.chars[index].offsetX*scaleFactor, - position.y + textOffsetY + spriteFont.chars[index].offsetY*scaleFactor, - spriteFont.chars[index].rec.width*scaleFactor, - spriteFont.chars[index].rec.height*scaleFactor }, (Vector2){ 0, 0 }, 0.0f, tint); + DrawTexturePro(font.texture, font.chars[index].rec, + (Rectangle){ position.x + textOffsetX + font.chars[index].offsetX*scaleFactor, + position.y + textOffsetY + font.chars[index].offsetY*scaleFactor, + font.chars[index].rec.width*scaleFactor, + font.chars[index].rec.height*scaleFactor }, (Vector2){ 0, 0 }, 0.0f, tint); } - if (spriteFont.chars[index].advanceX == 0) textOffsetX += (int)(spriteFont.chars[index].rec.width*scaleFactor + spacing); - else textOffsetX += (int)(spriteFont.chars[index].advanceX*scaleFactor + spacing); + if (font.chars[index].advanceX == 0) textOffsetX += (int)(font.chars[index].rec.width*scaleFactor + spacing); + else textOffsetX += (int)(font.chars[index].advanceX*scaleFactor + spacing); } } } @@ -490,7 +488,7 @@ int MeasureText(const char *text, int fontSize) } // Measure string size for SpriteFont -Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, float fontSize, int spacing) +Vector2 MeasureTextEx(SpriteFont font, const char *text, float fontSize, int spacing) { int len = strlen(text); int tempLen = 0; // Used to count longer text line num chars @@ -499,8 +497,8 @@ Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, float fontSize, i float textWidth = 0; float tempTextWidth = 0; // Used to count longer text line width - float textHeight = (float)spriteFont.baseSize; - float scaleFactor = fontSize/(float)spriteFont.baseSize; + float textHeight = (float)font.baseSize; + float scaleFactor = fontSize/(float)font.baseSize; for (int i = 0; i < len; i++) { @@ -508,17 +506,17 @@ Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, float fontSize, i if (text[i] != '\n') { - int index = GetCharIndex(spriteFont, (int)text[i]); + int index = GetGlyphIndex(font, (int)text[i]); - if (spriteFont.chars[index].advanceX != 0) textWidth += spriteFont.chars[index].advanceX; - else textWidth += (spriteFont.chars[index].rec.width + spriteFont.chars[index].offsetX); + if (font.chars[index].advanceX != 0) textWidth += font.chars[index].advanceX; + else textWidth += (font.chars[index].rec.width + font.chars[index].offsetX); } else { if (tempTextWidth < textWidth) tempTextWidth = textWidth; lenCounter = 0; textWidth = 0; - textHeight += ((float)spriteFont.baseSize*1.5f); // NOTE: Fixed line spacing of 1.5 lines + textHeight += ((float)font.baseSize*1.5f); // NOTE: Fixed line spacing of 1.5 lines } if (tempLen < lenCounter) tempLen = lenCounter; @@ -533,6 +531,28 @@ Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, float fontSize, i return vec; } +// Returns index position for a unicode character on spritefont +int GetGlyphIndex(SpriteFont font, int character) +{ +#define UNORDERED_CHARSET +#if defined(UNORDERED_CHARSET) + int index = 0; + + for (int i = 0; i < font.charsCount; i++) + { + if (font.chars[i].value == character) + { + index = i; + break; + } + } + + return index; +#else + return (character - 32); +#endif +} + // Shows current FPS on top-left corner // NOTE: Uses default font void DrawFPS(int posX, int posY) @@ -559,27 +579,6 @@ void DrawFPS(int posX, int posY) // Module specific Functions Definition //---------------------------------------------------------------------------------- -static int GetCharIndex(SpriteFont font, int letter) -{ -#define UNORDERED_CHARSET -#if defined(UNORDERED_CHARSET) - int index = 0; - - for (int i = 0; i < font.charsCount; i++) - { - if (font.chars[i].value == letter) - { - index = i; - break; - } - } - - return index; -#else - return (letter - 32); -#endif -} - // Load an Image font file (XNA style) static SpriteFont LoadImageFont(Image image, Color key, int firstChar) { diff --git a/src/textures.c b/src/textures.c index 2772e2463..ba0bad543 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1374,6 +1374,8 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing { int length = strlen(text); int posX = 0; + int index; // Index position in sprite font + unsigned char character; // Current character Vector2 imSize = MeasureTextEx(font, text, font.baseSize, spacing); @@ -1389,13 +1391,39 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing for (int i = 0; i < length; i++) { - CharInfo letter = font.chars[(int)text[i] - 32]; - - ImageDraw(&imText, imFont, letter.rec, (Rectangle){ posX + letter.offsetX, - letter.offsetY, letter.rec.width, letter.rec.height }); + if ((unsigned char)text[i] == '\n') + { + // TODO: Support line break + } + else + { + if ((unsigned char)text[i] == 0xc2) // UTF-8 encoding identification HACK! + { + // Support UTF-8 encoded values from [0xc2 0x80] -> [0xc2 0xbf](¿) + character = (unsigned char)text[i + 1]; + index = GetGlyphIndex(font, (int)character); + i++; + } + else if ((unsigned char)text[i] == 0xc3) // UTF-8 encoding identification HACK! + { + // Support UTF-8 encoded values from [0xc3 0x80](À) -> [0xc3 0xbf](ÿ) + character = (unsigned char)text[i + 1]; + index = GetGlyphIndex(font, (int)character + 64); + i++; + } + else index = GetGlyphIndex(font, (unsigned char)text[i]); - if (letter.advanceX == 0) posX += letter.rec.width + spacing; - else posX += letter.advanceX + spacing; + CharInfo letter = font.chars[index]; + + if ((unsigned char)text[i] != ' ') + { + ImageDraw(&imText, imFont, letter.rec, (Rectangle){ posX + letter.offsetX, + letter.offsetY, letter.rec.width, letter.rec.height }); + } + + if (letter.advanceX == 0) posX += letter.rec.width + spacing; + else posX += letter.advanceX + spacing; + } } UnloadImage(imFont); From 0958904eac63a82b427575439de1d96a62d4f5cf Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 18 Feb 2018 19:29:13 +0100 Subject: [PATCH 8/9] Added comments to review function ImageTextEx() --- src/textures.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/textures.c b/src/textures.c index ba0bad543..a571718ba 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1375,13 +1375,16 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing int length = strlen(text); int posX = 0; int index; // Index position in sprite font - unsigned char character; // Current character + unsigned char character; // Current character + // TODO: ISSUE: Measured text size does not seem to be correct... issue on ImageDraw() Vector2 imSize = MeasureTextEx(font, text, font.baseSize, spacing); TraceLog(LOG_DEBUG, "Text Image size: %f, %f", imSize.x, imSize.y); // NOTE: glGetTexImage() not available in OpenGL ES + // TODO: This is horrible, retrieving font texture from GPU!!! + // Define ImageFont struct? or include Image spritefont in SpriteFont struct? Image imFont = GetTextureData(font.texture); ImageColorTint(&imFont, tint); // Apply color tint to font From 7e32a627e88035c21cd16daddca128a9b6024de9 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 19 Feb 2018 00:03:24 +0100 Subject: [PATCH 9/9] Corrected path backslash --- templates/advance_game/Makefile | 2 +- templates/simple_game/Makefile | 2 +- templates/standard_game/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/advance_game/Makefile b/templates/advance_game/Makefile index 0ebeb52e4..60739253b 100644 --- a/templates/advance_game/Makefile +++ b/templates/advance_game/Makefile @@ -26,7 +26,7 @@ # Define required raylib variables # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP -RAYLIB_PATH = ..\.. +RAYLIB_PATH = ../.. PROJECT_NAME ?= advance_game # Default path for raylib on Raspberry Pi, if installed in different path, update it! diff --git a/templates/simple_game/Makefile b/templates/simple_game/Makefile index 23cd0619a..2c9c35689 100644 --- a/templates/simple_game/Makefile +++ b/templates/simple_game/Makefile @@ -26,7 +26,7 @@ # Define required raylib variables # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP -RAYLIB_PATH ?= ..\.. +RAYLIB_PATH ?= ../.. PROJECT_NAME ?= simple_game # Default path for raylib on Raspberry Pi, if installed in different path, update it! diff --git a/templates/standard_game/Makefile b/templates/standard_game/Makefile index b3e9c82ae..d596a6dc6 100644 --- a/templates/standard_game/Makefile +++ b/templates/standard_game/Makefile @@ -26,7 +26,7 @@ # Define required raylib variables # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP -RAYLIB_PATH = ..\.. +RAYLIB_PATH = ../.. PROJECT_NAME ?= standard_game # Default path for raylib on Raspberry Pi, if installed in different path, update it!