summaryrefslogtreecommitdiffhomepage
path: root/games
diff options
context:
space:
mode:
authorRay <[email protected]>2020-02-06 18:07:25 +0100
committerRay <[email protected]>2020-02-06 18:07:25 +0100
commit97054e4e0f2293e1984c923d45fab1d576370549 (patch)
treea67e41734ca59ba47facaaa1e49d499a77ae1e6b /games
parent86bdf608876ad2766ef58b597bdabd800ce8f053 (diff)
downloadraylib-97054e4e0f2293e1984c923d45fab1d576370549.tar.gz
raylib-97054e4e0f2293e1984c923d45fab1d576370549.zip
Review ALL games to raylib 3.0
Diffstat (limited to 'games')
-rw-r--r--games/Makefile50
-rw-r--r--games/cat_vs_roomba/Makefile60
-rw-r--r--games/cat_vs_roomba/roomba.c5
-rw-r--r--games/cat_vs_roomba/screens/screens.h10
-rw-r--r--games/drturtle/Makefile60
-rw-r--r--games/just_do/Makefile60
-rw-r--r--games/koala_seasons/Makefile60
-rw-r--r--games/light_my_ritual/Makefile60
-rw-r--r--games/repair/Makefile16
-rw-r--r--games/repair/repair.c17
-rw-r--r--games/repair/resources/makeup.pngbin21801 -> 0 bytes
-rw-r--r--games/repair/resources/qmark.pngbin6500 -> 7491 bytes
-rw-r--r--games/repair/screens/screen_ending.c2
-rw-r--r--games/repair/screens/screen_logo.c8
-rw-r--r--games/repair/screens/screen_title.c6
-rw-r--r--games/repair/screens/screens.h9
-rw-r--r--games/skully_escape/Makefile60
-rw-r--r--games/transmission/Makefile60
-rw-r--r--games/wave_collector/Makefile60
19 files changed, 332 insertions, 271 deletions
diff --git a/games/Makefile b/games/Makefile
index 9b06cc0a..0d44b2dc 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= raylib_examples
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= ..
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= D:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.31
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,10 +187,19 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
@@ -200,7 +208,10 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),WINDOWS)
# resource file contains windows executable icon and properties
# -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data -Wl,--subsystem,windows
+ CFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ ifeq ($(BUILD_MODE), RELEASE)
+ CFLAGS += -Wl,--subsystem,windows
+ endif
endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
@@ -230,10 +241,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -296,12 +304,12 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -372,7 +380,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/cat_vs_roomba/Makefile b/games/cat_vs_roomba/Makefile
index 00041d1d..03cd56ff 100644
--- a/games/cat_vs_roomba/Makefile
+++ b/games/cat_vs_roomba/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= roomba
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.31
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=16777216 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=16777216 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -380,7 +388,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/cat_vs_roomba/roomba.c b/games/cat_vs_roomba/roomba.c
index 4a27cbcc..303e7127 100644
--- a/games/cat_vs_roomba/roomba.c
+++ b/games/cat_vs_roomba/roomba.c
@@ -19,6 +19,11 @@
#include <emscripten/emscripten.h>
#endif
+GameScreen currentScreen = 0;
+Font font = { 0 };
+Font font2 = { 0 };
+Music music = { 0 };
+Sound fxCoin = { 0 };
//----------------------------------------------------------------------------------
// Global Variables Definition (local to this module)
//----------------------------------------------------------------------------------
diff --git a/games/cat_vs_roomba/screens/screens.h b/games/cat_vs_roomba/screens/screens.h
index 0ad4f9af..b15c9b54 100644
--- a/games/cat_vs_roomba/screens/screens.h
+++ b/games/cat_vs_roomba/screens/screens.h
@@ -36,11 +36,11 @@ typedef enum GameScreen { LOGO = 0, TITLE, OPTIONS, GAMEPLAY, ENDING } GameScree
//----------------------------------------------------------------------------------
// Global Variables Definition
//----------------------------------------------------------------------------------
-GameScreen currentScreen;
-Font font;
-Font font2;
-Music music;
-Sound fxCoin;
+extern GameScreen currentScreen;
+extern Font font;
+extern Font font2;
+extern Music music;
+extern Sound fxCoin;
int score;
int result; // 0-Loose, 1-Win
diff --git a/games/drturtle/Makefile b/games/drturtle/Makefile
index 5368393f..ce272e47 100644
--- a/games/drturtle/Makefile
+++ b/games/drturtle/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= drturtle
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -359,7 +367,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/just_do/Makefile b/games/just_do/Makefile
index ee4de401..7e463174 100644
--- a/games/just_do/Makefile
+++ b/games/just_do/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= just_do
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.31
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=16777216 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -387,7 +395,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/koala_seasons/Makefile b/games/koala_seasons/Makefile
index fea4437d..18690fe6 100644
--- a/games/koala_seasons/Makefile
+++ b/games/koala_seasons/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= koala_seasons
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -380,7 +388,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/light_my_ritual/Makefile b/games/light_my_ritual/Makefile
index 7c6a1438..5afa857d 100644
--- a/games/light_my_ritual/Makefile
+++ b/games/light_my_ritual/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= light_my_ritual
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -379,7 +387,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/repair/Makefile b/games/repair/Makefile
index 2b7065e3..63cb45c3 100644
--- a/games/repair/Makefile
+++ b/games/repair/Makefile
@@ -205,14 +205,6 @@ endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
- ifeq ($(BUILD_MODE), RELEASE)
- CFLAGS += -Wl,--subsystem,windows
- endif
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -275,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
diff --git a/games/repair/repair.c b/games/repair/repair.c
index df541e34..437f94f6 100644
--- a/games/repair/repair.c
+++ b/games/repair/repair.c
@@ -1,14 +1,14 @@
/*******************************************************************************************
*
-* raylib - Advance Game template
+* RE_PAIR [GLOBAL GAME JAM 2020]
*
-* <Game title>
-* <Game description>
+* Let's find your perfect match!
+* Ready for dating? Do you need some face tweaks? Choose wisely!
*
-* This game has been created using raylib (www.raylib.com)
+* This game has been created using raylib 3.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Copyright (c) 2014-2020 Ramon Santamaria (@raysan5)
+* Copyright (c) 2020 Ramon Santamaria (@raysan5)
*
********************************************************************************************/
@@ -28,7 +28,6 @@ Texture2D texNPatch = { 0 };
NPatchInfo npInfo = { 0 };
Texture2D texHead, texHair, texNose, texMouth, texEyes, texComp;
-Texture2D texMakeup = { 0 };
Character playerBase = { 0 };
Character datingBase = { 0 };
@@ -70,7 +69,7 @@ int main(void)
{
// Initialization (Note windowTitle is unused on Android)
//---------------------------------------------------------
- InitWindow(screenWidth, screenHeight, "raylib template - advance game");
+ InitWindow(screenWidth, screenHeight, "RE-PAIR [GGJ2020]");
// Global data loading (assets that must be available in all screens, i.e. fonts)
InitAudioDevice();
@@ -97,7 +96,6 @@ int main(void)
texMouth = LoadTexture("resources/mouth_models.png");
texEyes = LoadTexture("resources/eyes_models.png");
//texComp = LoadTexture("resources/comp_models.png");
- texMakeup = LoadTexture("resources/makeup.png");
SetMusicVolume(music, 0.5f);
//PlayMusicStream(music);
@@ -145,7 +143,6 @@ int main(void)
UnloadTexture(texMouth);
UnloadTexture(texEyes);
//UnloadTexture(texComp);
- UnloadTexture(texMakeup);
CloseAudioDevice(); // Close audio context
@@ -217,7 +214,7 @@ bool GuiButton(Rectangle bounds, const char *text, int forcedState)
if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) state = 2; // PRESSED
else state = 1; // FOCUSED
- if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON))
+ if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON) || IsGestureDetected(GESTURE_TAP))
{
pressed = true;
PlaySound(fxCoin);
diff --git a/games/repair/resources/makeup.png b/games/repair/resources/makeup.png
deleted file mode 100644
index 0b8f6069..00000000
--- a/games/repair/resources/makeup.png
+++ /dev/null
Binary files differ
diff --git a/games/repair/resources/qmark.png b/games/repair/resources/qmark.png
index c782062d..6d5e7869 100644
--- a/games/repair/resources/qmark.png
+++ b/games/repair/resources/qmark.png
Binary files differ
diff --git a/games/repair/screens/screen_ending.c b/games/repair/screens/screen_ending.c
index 728e3d28..95ff41b4 100644
--- a/games/repair/screens/screen_ending.c
+++ b/games/repair/screens/screen_ending.c
@@ -135,7 +135,7 @@ void UpdateEndingScreen(void)
}
// Press enter or tap to return to TITLE screen
- if (IsKeyPressed(KEY_ENTER) || IsGestureDetected(GESTURE_TAP))
+ if (IsKeyPressed(KEY_ENTER))
{
finishScreen = 1;
PlaySound(fxCoin);
diff --git a/games/repair/screens/screen_logo.c b/games/repair/screens/screen_logo.c
index 1d8fa978..d9548450 100644
--- a/games/repair/screens/screen_logo.c
+++ b/games/repair/screens/screen_logo.c
@@ -4,7 +4,7 @@
*
* Logo Screen Functions Definitions (Init, Update, Draw, Unload)
*
-* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5)
+* Copyright (c) 2014-2020 Ramon Santamaria (@raysan5)
*
* This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software.
@@ -47,9 +47,9 @@ static int leftSideRecHeight = 0;
static int bottomSideRecWidth = 0;
static int rightSideRecHeight = 0;
-static char raylib[8] = { 0 }; // raylib text array, max 8 letters
-static int state = 0; // Tracking animation states (State Machine)
-static float alpha = 1.0f; // Useful for fading
+static char raylib[8] = { 0 }; // raylib text array, max 8 letters
+static int state = 0; // Tracking animation states (State Machine)
+static float alpha = 1.0f; // Useful for fading
//----------------------------------------------------------------------------------
// Logo Screen Functions Definition
diff --git a/games/repair/screens/screen_title.c b/games/repair/screens/screen_title.c
index 460d3063..1d424ae2 100644
--- a/games/repair/screens/screen_title.c
+++ b/games/repair/screens/screen_title.c
@@ -109,11 +109,7 @@ void DrawTitleScreen(void)
if (titleCounter > 180)
{
- if (GuiButton((Rectangle){ GetScreenWidth()/2 - 440/2, 580, 440, 80 }, "START DATE!", -1))
- {
- finishScreen = 1; // GAMEPLAY
- PlaySound(fxCoin);
- }
+ if (GuiButton((Rectangle){ GetScreenWidth()/2 - 440/2, 580, 440, 80 }, "START DATE!", -1)) finishScreen = 1; // GAMEPLAY
}
DrawText("powered by", 20, GetScreenHeight() - texLogo.height - 35, 10, BLACK);
diff --git a/games/repair/screens/screens.h b/games/repair/screens/screens.h
index 362a15c9..a9756bb8 100644
--- a/games/repair/screens/screens.h
+++ b/games/repair/screens/screens.h
@@ -101,15 +101,6 @@ void UnloadTitleScreen(void);
int FinishTitleScreen(void);
//----------------------------------------------------------------------------------
-// Options Screen Functions Declaration
-//----------------------------------------------------------------------------------
-void InitOptionsScreen(void);
-void UpdateOptionsScreen(void);
-void DrawOptionsScreen(void);
-void UnloadOptionsScreen(void);
-int FinishOptionsScreen(void);
-
-//----------------------------------------------------------------------------------
// Gameplay Screen Functions Declaration
//----------------------------------------------------------------------------------
void InitGameplayScreen(void);
diff --git a/games/skully_escape/Makefile b/games/skully_escape/Makefile
index c785eb28..fa45e2a4 100644
--- a/games/skully_escape/Makefile
+++ b/games/skully_escape/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= skully_escape
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -389,7 +397,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/transmission/Makefile b/games/transmission/Makefile
index 6df64277..d84993fd 100644
--- a/games/transmission/Makefile
+++ b/games/transmission/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= transmission
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -381,7 +389,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete
diff --git a/games/wave_collector/Makefile b/games/wave_collector/Makefile
index 894cc7e7..092d37d9 100644
--- a/games/wave_collector/Makefile
+++ b/games/wave_collector/Makefile
@@ -2,7 +2,7 @@
#
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
#
-# Copyright (c) 2013-2019 Ramon Santamaria (@raysan5)
+# Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
#
# This software is provided "as-is", without any express or implied warranty. In no event
# will the authors be held liable for any damages arising from the use of this software.
@@ -25,8 +25,8 @@
# Define required raylib variables
PROJECT_NAME ?= wave_collector
-RAYLIB_VERSION ?= 2.5.0
-RAYLIB_API_VERSION ?= 2
+RAYLIB_VERSION ?= 3.0.0
+RAYLIB_API_VERSION ?= 3
RAYLIB_PATH ?= C:\GitHub\raylib
# Define default options
@@ -115,13 +115,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.32
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/fastcomp/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/fastcomp/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/2.7.13.1_64bit/python-2.7.13.amd64
+ NODE_PATH = $(EMSDK_PATH)/node/12.9.1_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH);C:\raylib\MinGW\bin:$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -165,7 +164,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# HTML5 emscripten compiler
- # WARNING: To compile to HTML5, code must be redesigned
+ # WARNING: To compile to HTML5, code must be redesigned
# to use emscripten.h and emscripten_set_main_loop()
CC = emcc
endif
@@ -188,20 +187,24 @@ endif
# -std=gnu99 defines C language mode (GNU C from 1999 revision)
# -Wno-missing-braces ignore invalid warning (GCC bug 53119)
# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
-CFLAGS += -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
+CFLAGS += -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -s ASSERTIONS=1 --profiling
+ endif
+else
+ ifeq ($(PLATFORM),PLATFORM_WEB)
+ CFLAGS += -Os
+ else
+ CFLAGS += -s -O1
+ endif
endif
# Additional flags for compiler (if desired)
#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
- ifeq ($(PLATFORM_OS),WINDOWS)
- # resource file contains windows executable icon and properties
- # -Wl,--subsystem,windows hides the console window
- CFLAGS += $(RAYLIB_PATH)/raylib.rc.data -Wl,--subsystem,windows
- endif
ifeq ($(PLATFORM_OS),LINUX)
ifeq ($(RAYLIB_LIBTYPE),STATIC)
CFLAGS += -D_DEFAULT_SOURCE
@@ -230,10 +233,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB)
# --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation
- CFLAGS += -Os -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
- ifeq ($(BUILD_MODE), DEBUG)
- CFLAGS += -s ASSERTIONS=1 --profiling
- endif
+ CFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=67108864 --preload-file resources
# Define a custom shell .html and output extension
CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html
@@ -267,6 +267,14 @@ endif
LDFLAGS = -L. -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH)/src
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS),WINDOWS)
+ # resource file contains windows executable icon and properties
+ LDFLAGS += $(RAYLIB_PATH)/src/raylib.rc.data
+ # -Wl,--subsystem,windows hides the console window
+ ifeq ($(BUILD_MODE), RELEASE)
+ LDFLAGS += -Wl,--subsystem,windows
+ endif
+ endif
ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib
@@ -290,18 +298,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# NOTE: WinMM library required to set high-res timer resolution
LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
# Required for physac examples
- #LDLIBS += -static -lpthread
+ LDLIBS += -static -lpthread
endif
ifeq ($(PLATFORM_OS),LINUX)
# Libraries for Debian GNU/Linux desktop compiling
# NOTE: Required packages: libegl1-mesa-dev
LDLIBS = -lraylib -lGL -lm -lpthread -ldl -lrt
-
+
# On X11 requires also below libraries
LDLIBS += -lX11
# NOTE: It seems additional libraries are not required any more, latest GLFW just dlopen them
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
-
+
# On Wayland windowing system, additional libraries requires
ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
@@ -314,7 +322,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
# NOTE: Required packages: libopenal-dev libegl1-mesa-dev
- LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa
+ LDLIBS = -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
endif
ifeq ($(PLATFORM_OS),BSD)
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling
@@ -380,7 +388,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s
endif
ifeq ($(PLATFORM_OS),LINUX)
- find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
+ find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable|x-pie-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv
endif
ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete