added optional button to click to load game, added Windows build
This commit is contained in:
parent
ac095283f4
commit
8d9ec69656
77
Makefile
77
Makefile
|
@ -49,9 +49,11 @@ SRC_O_FILES := $(notdir $(patsubst %.cpp, %.o, $(wildcard $(addprefix $(SRC_DIR)
|
|||
##########################################################
|
||||
|
||||
BUILD_ROOT := build
|
||||
X86_64_DEBUG_BUILD_DIR := $(BUILD_ROOT)/x86_64_debug
|
||||
X86_64_BUILD_DIR := $(BUILD_ROOT)/x86_64
|
||||
WASM_BUILD_DIR := $(BUILD_ROOT)/wasm
|
||||
BUILD_DIRS := $(X86_64_BUILD_DIR) $(WASM_BUILD_DIR)
|
||||
WINDOWS_BUILD_DIR := $(BUILD_ROOT)/win32
|
||||
BUILD_DIRS := $(X86_64_BUILD_DIR) $(X86_64_DEBUG_BUILD_DIR) $(WASM_BUILD_DIR) $(WINDOWS_BUILD_DIR)
|
||||
|
||||
$(BUILD_DIRS):
|
||||
mkdir -p $@
|
||||
|
@ -169,24 +171,25 @@ $(addsuffix /Cakefoot.o, $(BUILD_DIRS)): $(SRC_DIR)/Cakefoot.cpp $(SRC_H_FILES)
|
|||
# Linux build #
|
||||
###############
|
||||
|
||||
LINUX_CFLAGS = -c -I$(SB_LIB_DIR) -I$(SB_SRC_DIR) $(SDL_CFLAGS)
|
||||
LINUX_CFLAGS = -c -I$(SB_LIB_DIR) -I$(SB_SRC_DIR) $(SDL_CFLAGS) -DGLEW_STATIC
|
||||
LINUX_CXXFLAGS = $(CFLAGS) --std=c++17
|
||||
LINUX_LFLAGS = $(SDL_LFLAGS) -Wl/,--enable-new-dtags -lpthread -lGL -lGLESv2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lstdc++fs
|
||||
LINUX_OBJ = $(addprefix $(X86_64_BUILD_DIR)/, glew.o SDL2_rotozoom.o SDL2_gfxPrimitives.o $(SB_O_FILES) $(SRC_O_FILES))
|
||||
|
||||
Cakefoot-linux_debug.x86_64 : CFLAGS = $(LINUX_CFLAGS) -g -Wall -Wextra -O0 -fsanitize=undefined
|
||||
Cakefoot-linux_debug.x86_64 : CXXFLAGS = $(LINUX_CXXFLAGS)
|
||||
Cakefoot-linux_debug.x86_64 : LFLAGS = $(LINUX_LFLAGS) -fsanitize=undefined
|
||||
Cakefoot-linux_debug.x86_64 : $(LINUX_OBJ)
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $^ $(LFLAGS) -D__LINUX__ -o Cakefoot-linux_debug.x86_64
|
||||
LINUX_DEBUG_OBJ = $(addprefix $(X86_64_DEBUG_BUILD_DIR)/, glew.o SDL2_rotozoom.o SDL2_gfxPrimitives.o $(SB_O_FILES) $(SRC_O_FILES))
|
||||
|
||||
Cakefoot-linux.x86_64 : CFLAGS = $(LINUX_CFLAGS) -O3
|
||||
Cakefoot-linux.x86_64 : CXXFLAGS = $(LINUX_CXXFLAGS)
|
||||
Cakefoot-linux.x86_64 : LFLAGS = $(LINUX_LFLAGS)
|
||||
Cakefoot-linux.x86_64 : $(LINUX_OBJ)
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $^ $(LFLAGS) -D__LINUX__ -o Cakefoot-linux.x86_64
|
||||
$(CXX) $^ $(LFLAGS) -D__LINUX__ -o $(X86_64_BUILD_DIR)/$@
|
||||
|
||||
Cakefoot-linux_debug.x86_64 : CFLAGS = $(LINUX_CFLAGS) -g -Wall -Wextra -O0 -fsanitize=undefined
|
||||
Cakefoot-linux_debug.x86_64 : CXXFLAGS = $(LINUX_CXXFLAGS)
|
||||
Cakefoot-linux_debug.x86_64 : LFLAGS = $(LINUX_LFLAGS) -fsanitize=undefined
|
||||
Cakefoot-linux_debug.x86_64 : $(LINUX_DEBUG_OBJ)
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $^ $(LFLAGS) -D__LINUX__ -o $(X86_64_DEBUG_BUILD_DIR)/$@
|
||||
|
||||
#############
|
||||
# Web build #
|
||||
|
@ -195,8 +198,8 @@ Cakefoot-linux.x86_64 : $(LINUX_OBJ)
|
|||
# Use Emscripten to output JavaScript
|
||||
|
||||
EMSCRIPTENHOME = $(HOME)/ext/software/emsdk/upstream/emscripten
|
||||
EMSCRIPTEN_CFLAGS = -O0 -Wall -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="['png', 'jpg']" -s USE_SDL_TTF=2 -s USE_SDL_MIXER=2 \
|
||||
--no-heap-copy -I $(SB_LIB_DIR) -I $(SB_SRC_DIR)
|
||||
EMSCRIPTEN_CFLAGS = -O2 -Wall -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="['png', 'jpg']" -s USE_SDL_TTF=2 -s USE_SDL_MIXER=2 \
|
||||
-I $(SB_LIB_DIR) -I $(SB_SRC_DIR)
|
||||
EMSCRIPTEN_LFLAGS = -s MIN_WEBGL_VERSION=2 -s EXPORTED_FUNCTIONS="['_main', '_malloc']" \
|
||||
-s LLD_REPORT_UNDEFINED -s NO_DISABLE_EXCEPTION_CATCHING -s FULL_ES3=1 -lidbfs.js \
|
||||
-s TOTAL_MEMORY=200MB -s ALLOW_MEMORY_GROWTH=0
|
||||
|
@ -212,7 +215,7 @@ cakefoot.js : CFLAGS = $(EMSCRIPTEN_CFLAGS)
|
|||
cakefoot.js : CXXFLAGS = $(CFLAGS) --std=c++17
|
||||
cakefoot.js : $(WASM_OBJS) $(EMSCRIPTEN_GAME_CONFIGS)
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $(filter-out $(EMSCRIPTEN_GAME_CONFIGS), $^) $(CXXFLAGS) $(EMSCRIPTEN_LFLAGS) $(EMSCRIPTEN_PRELOADS) -o cakefoot.js
|
||||
$(CXX) $(filter-out $(EMSCRIPTEN_GAME_CONFIGS), $^) $(CXXFLAGS) $(EMSCRIPTEN_LFLAGS) $(EMSCRIPTEN_PRELOADS) -o $@
|
||||
|
||||
cakefoot_debug.html : CC = $(EMSCRIPTENHOME)/emcc
|
||||
cakefoot_debug.html : CXX = $(EMSCRIPTENHOME)/em++
|
||||
|
@ -220,8 +223,7 @@ cakefoot_debug.html : CFLAGS = $(EMSCRIPTEN_CFLAGS) -g2
|
|||
cakefoot_debug.html : CXXFLAGS = $(CFLAGS) --std=c++17
|
||||
cakefoot_debug.html : $(WASM_OBJS) $(EMSCRIPTEN_GAME_CONFIGS)
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $(filter-out $(EMSCRIPTEN_GAME_CONFIGS), $^) $(CXXFLAGS) $(EMSCRIPTEN_LFLAGS) $(EMSCRIPTEN_PRELOADS) --memoryprofiler --cpuprofiler \
|
||||
-o cakefoot_debug.html
|
||||
$(CXX) $(filter-out $(EMSCRIPTEN_GAME_CONFIGS), $^) $(CXXFLAGS) $(EMSCRIPTEN_LFLAGS) $(EMSCRIPTEN_PRELOADS) --memoryprofiler --cpuprofiler -o $@
|
||||
|
||||
#################
|
||||
# Android build #
|
||||
|
@ -282,22 +284,55 @@ $(ANDROID_BUILD_DIR)/app-debug.apk: $(ANDROID_BUILD_DIR) $(ANDROID_BUILD_DIR)/$(
|
|||
ln -nsf app/build/outputs/apk/debug/app-debug.apk $(ANDROID_BUILD_DIR)
|
||||
ln -nsf app/build/outputs/apk/debug/app-release-unsigned.apk $(ANDROID_BUILD_DIR)
|
||||
|
||||
###########
|
||||
# Windows #
|
||||
###########
|
||||
|
||||
# Set the paths to the directories for the SDL MinGW libraries
|
||||
|
||||
SDL_MINGW_ROOT := $(HOME)/ext/software/SDL2-mingw
|
||||
SDL_MINGW := $(SDL_MINGW_ROOT)/SDL2-2.24.2/i686-w64-mingw32
|
||||
SDL_IMG_MINGW := $(SDL_MINGW_ROOT)/SDL2_image-2.5.2/i686-w64-mingw32
|
||||
SDL_TTF_MINGW := $(SDL_MINGW_ROOT)/SDL2_ttf-2.0.15/i686-w64-mingw32
|
||||
SDL_MIXER_MINGW := $(SDL_MINGW_ROOT)/SDL2_mixer-2.5.2/i686-w64-mingw32
|
||||
WINDOWS_OBJ := $(addprefix $(WINDOWS_BUILD_DIR)/, glew.o SDL2_rotozoom.o SDL2_gfxPrimitives.o $(SB_O_FILES) $(SRC_O_FILES))
|
||||
|
||||
# Set the compiler to the MinGW compilers
|
||||
|
||||
Cakefoot-win32.exe: CC = i686-w64-mingw32-gcc-posix
|
||||
Cakefoot-win32.exe: CXX = i686-w64-mingw32-g++-posix
|
||||
Cakefoot-win32.exe: CFLAGS = -Wall -Wextra -g -O0 -c -I$(SB_LIB_DIR) -I$(SB_SRC_DIR) -DGLEW_STATIC \
|
||||
-I$(SDL_MINGW)/include/SDL2 -I$(SDL_IMG_MINGW)/include/SDL2 -I$(SDL_TTF_MINGW)/include/SDL2 -I$(SDL_MIXER_MINGW)/include/SDL2
|
||||
Cakefoot-win32.exe: CXXFLAGS = $(CFLAGS) --std=c++17
|
||||
Cakefoot-win32.exe: LFLAGS = -lpthread -lstdc++fs \
|
||||
-L$(SDL_MINGW)/lib -L$(SDL_IMG_MINGW)/lib -L$(SDL_TTF_MINGW)/lib -L$(SDL_MIXER_MINGW)/lib -lmingw32 -lSDL2_image \
|
||||
-lSDL2_ttf -lSDL2_mixer -lSDL2main -lSDL2 -lopengl32 -static-libstdc++ -static-libgcc
|
||||
|
||||
Cakefoot-win32.exe: $(WINDOWS_OBJ) config.json
|
||||
$(CREATE_FONT_SYMLINK)
|
||||
$(CXX) $(filter-out config.json, $^) $(LFLAGS) -o $(WINDOWS_BUILD_DIR)/$@
|
||||
mkdir ${basename $@}
|
||||
cp $(SDL_MINGW)/bin/*.dll $(SDL_IMG_MINGW)/bin/*.dll $(SDL_TTF_MINGW)/bin/*.dll $(SDL_MIXER_MINGW)/bin/*.dll ${basename $@}
|
||||
cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll ${basename $@}
|
||||
rsync -arR resource/ src/shaders/ config.json ${basename $@}
|
||||
cp $(WINDOWS_BUILD_DIR)/$@ ${basename $@}
|
||||
zip -r ${@:exe=zip} ${basename $@}
|
||||
mv ${basename $@} /tmp
|
||||
rm -rf /tmp/${basename $@}
|
||||
mv ${@:exe=zip} $(WINDOWS_BUILD_DIR)
|
||||
|
||||
###################
|
||||
# Make all builds #
|
||||
###################
|
||||
|
||||
all : Cakefoot-linux_debug.x86_64 cakefoot.js cakefoot_debug.html
|
||||
all : Cakefoot-linux.x86_64 Cakefoot-linux_debug.x86_64 cakefoot.js cakefoot_debug.html Cakefoot-win32.exe
|
||||
|
||||
#########################
|
||||
# Clean up object files #
|
||||
#########################
|
||||
|
||||
clean :
|
||||
-find $(SRC_DIR) -iname "*.o" -delete
|
||||
|
||||
clean-all : clean
|
||||
-find $(SB_SRC_DIR) -iname "*.o" -delete
|
||||
-find $(SB_LIB_DIR) -iname "*.o" -delete
|
||||
-find $(BUILD_ROOT) -iname "*.o" -delete
|
||||
|
||||
#############
|
||||
# compiledb #
|
||||
|
|
|
@ -23,7 +23,8 @@
|
|||
"level hud translation": [-1.64, 0.92],
|
||||
"level hud foreground": [255.0, 255.0, 255.0, 255.0],
|
||||
"level hud background": [0.0, 0.0, 0.0, 60.0],
|
||||
"hitbox": false
|
||||
"hitbox": false,
|
||||
"use play button": true
|
||||
},
|
||||
|
||||
"configuration":
|
||||
|
@ -160,7 +161,10 @@
|
|||
"volume on texture": "resource/vol.png",
|
||||
"volume off texture": "resource/vol_off.png",
|
||||
"volume translation": [-1.65, -0.85],
|
||||
"volume scale": 0.08
|
||||
"volume scale": 0.08,
|
||||
"play texture": "resource/Play_Button.png",
|
||||
"play translation": [0.0, 0.0],
|
||||
"play scale": 0.6
|
||||
},
|
||||
|
||||
"world": [
|
||||
|
|
2
lib/sb
2
lib/sb
|
@ -1 +1 @@
|
|||
Subproject commit d575307b15024bcf7259f06126fd8d61adb455ac
|
||||
Subproject commit e168844fc5310581da43b32ac7ba8b2c2007a6e3
|
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
959
src/Cakefoot.cpp
959
src/Cakefoot.cpp
File diff suppressed because it is too large
Load Diff
|
@ -95,7 +95,8 @@ private:
|
|||
{"pause", sb::Pad<>()},
|
||||
{"profile increment", sb::Pad<>()},
|
||||
{"profile decrement", sb::Pad<>()},
|
||||
{"volume", sb::Pad<>()}
|
||||
{"volume", sb::Pad<>()},
|
||||
{"play", sb::Pad<>()}
|
||||
};
|
||||
std::map<std::string, sb::Text> label = {
|
||||
{"fps", sb::Text(font())},
|
||||
|
@ -115,6 +116,7 @@ private:
|
|||
std::map<std::string, std::shared_ptr<TTF_Font>> fonts;
|
||||
std::map<std::string, sb::audio::Chunk> audio;
|
||||
Character character {_configuration, audio};
|
||||
bool use_play_button = false;
|
||||
|
||||
/*!
|
||||
* Load sound effects and music into objects that can be used by the SDL mixer library. Use chunk objects for background music instead of
|
||||
|
|
|
@ -10,7 +10,7 @@ void Character::profile(const std::string& name)
|
|||
|
||||
/* Reload the texture */
|
||||
_sprite.clear_textures();
|
||||
_sprite.texture(profile()["animation frames"][0]);
|
||||
_sprite.texture(profile()["animation frames"][0].get<std::string>());
|
||||
_sprite.scale(size);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue