Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
15e6abc102 | ||
|
9218c9a4b1 | ||
|
de3b2dcdb0 | ||
|
162f58b32f | ||
|
f20e711380 | ||
|
9b4ea773c3 | ||
|
6bdaefdeb9 | ||
|
ff1863182e | ||
|
1cbc8cbbc0 | ||
|
f449eda43f | ||
|
a0c06ebe6a |
5
.gitignore
vendored
5
.gitignore
vendored
@ -108,3 +108,8 @@ _deps
|
||||
# CMake artifacts
|
||||
CMakeCache.txt
|
||||
|
||||
# macOS finder files
|
||||
.DS_Store
|
||||
|
||||
# VS Code project stuff
|
||||
.vscode*
|
||||
|
@ -11,13 +11,15 @@ include(FindPkgConfig)
|
||||
PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
|
||||
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
|
||||
PKG_SEARCH_MODULE(SDL2MIXER REQUIRED SDL2_mixer>=2.0.0)
|
||||
#PKG_SEARCH_MODULE(BOOSTFILESYSTEM boost_filesystem >=)
|
||||
#find_package(Boost COMPONENTS system filesystem REQUIRED)
|
||||
|
||||
# Point to our own cmake modules
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/sdl2)
|
||||
|
||||
# Add global definitions
|
||||
add_definitions("-Wall")
|
||||
include_directories(${PROJECT_NAME} ${SDL2_INCLUDE_DIRS} ${SDL2IMAGE_INCLUDE_DIRS} ${SDL2MIXER_INCLUDE_DIRS})
|
||||
include_directories(${PROJECT_NAME} PRIVATE /usr/local/include/SDL2)
|
||||
#add_custom_target(${TMXPARSER})
|
||||
|
||||
file(GLOB_RECURSE CSOURCES src/cjson/*.c)
|
||||
@ -25,4 +27,4 @@ file(GLOB_RECURSE CPPSOURCES src/*.cpp)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${CSOURCES} ${CPPSOURCES})
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES} ${SDL2MIXER_LIBRARIES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE /usr/local/lib/libSDL2.dylib /usr/local/lib/libSDL2_image.dylib /usr/local/lib/libSDL2_mixer.dylib)
|
||||
|
608
Makefile
608
Makefile
@ -1,608 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.25
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/ayoungblood/Projects/BeagleRescue
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/ayoungblood/Projects/BeagleRescue
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
|
||||
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/ayoungblood/Projects/BeagleRescue/CMakeFiles /home/ayoungblood/Projects/BeagleRescue//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/ayoungblood/Projects/BeagleRescue/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named BeagleRescue
|
||||
|
||||
# Build rule for target.
|
||||
BeagleRescue: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 BeagleRescue
|
||||
.PHONY : BeagleRescue
|
||||
|
||||
# fast build rule for target.
|
||||
BeagleRescue/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/build
|
||||
.PHONY : BeagleRescue/fast
|
||||
|
||||
src/assetmgr/AssetManager.o: src/assetmgr/AssetManager.cpp.o
|
||||
.PHONY : src/assetmgr/AssetManager.o
|
||||
|
||||
# target to build an object file
|
||||
src/assetmgr/AssetManager.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/AssetManager.cpp.o
|
||||
.PHONY : src/assetmgr/AssetManager.cpp.o
|
||||
|
||||
src/assetmgr/AssetManager.i: src/assetmgr/AssetManager.cpp.i
|
||||
.PHONY : src/assetmgr/AssetManager.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/assetmgr/AssetManager.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/AssetManager.cpp.i
|
||||
.PHONY : src/assetmgr/AssetManager.cpp.i
|
||||
|
||||
src/assetmgr/AssetManager.s: src/assetmgr/AssetManager.cpp.s
|
||||
.PHONY : src/assetmgr/AssetManager.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/assetmgr/AssetManager.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/AssetManager.cpp.s
|
||||
.PHONY : src/assetmgr/AssetManager.cpp.s
|
||||
|
||||
src/assetmgr/GameObject.o: src/assetmgr/GameObject.cpp.o
|
||||
.PHONY : src/assetmgr/GameObject.o
|
||||
|
||||
# target to build an object file
|
||||
src/assetmgr/GameObject.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/GameObject.cpp.o
|
||||
.PHONY : src/assetmgr/GameObject.cpp.o
|
||||
|
||||
src/assetmgr/GameObject.i: src/assetmgr/GameObject.cpp.i
|
||||
.PHONY : src/assetmgr/GameObject.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/assetmgr/GameObject.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/GameObject.cpp.i
|
||||
.PHONY : src/assetmgr/GameObject.cpp.i
|
||||
|
||||
src/assetmgr/GameObject.s: src/assetmgr/GameObject.cpp.s
|
||||
.PHONY : src/assetmgr/GameObject.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/assetmgr/GameObject.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/GameObject.cpp.s
|
||||
.PHONY : src/assetmgr/GameObject.cpp.s
|
||||
|
||||
src/assetmgr/Map.o: src/assetmgr/Map.cpp.o
|
||||
.PHONY : src/assetmgr/Map.o
|
||||
|
||||
# target to build an object file
|
||||
src/assetmgr/Map.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/Map.cpp.o
|
||||
.PHONY : src/assetmgr/Map.cpp.o
|
||||
|
||||
src/assetmgr/Map.i: src/assetmgr/Map.cpp.i
|
||||
.PHONY : src/assetmgr/Map.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/assetmgr/Map.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/Map.cpp.i
|
||||
.PHONY : src/assetmgr/Map.cpp.i
|
||||
|
||||
src/assetmgr/Map.s: src/assetmgr/Map.cpp.s
|
||||
.PHONY : src/assetmgr/Map.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/assetmgr/Map.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/Map.cpp.s
|
||||
.PHONY : src/assetmgr/Map.cpp.s
|
||||
|
||||
src/assetmgr/MusicManager.o: src/assetmgr/MusicManager.cpp.o
|
||||
.PHONY : src/assetmgr/MusicManager.o
|
||||
|
||||
# target to build an object file
|
||||
src/assetmgr/MusicManager.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/MusicManager.cpp.o
|
||||
.PHONY : src/assetmgr/MusicManager.cpp.o
|
||||
|
||||
src/assetmgr/MusicManager.i: src/assetmgr/MusicManager.cpp.i
|
||||
.PHONY : src/assetmgr/MusicManager.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/assetmgr/MusicManager.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/MusicManager.cpp.i
|
||||
.PHONY : src/assetmgr/MusicManager.cpp.i
|
||||
|
||||
src/assetmgr/MusicManager.s: src/assetmgr/MusicManager.cpp.s
|
||||
.PHONY : src/assetmgr/MusicManager.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/assetmgr/MusicManager.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/MusicManager.cpp.s
|
||||
.PHONY : src/assetmgr/MusicManager.cpp.s
|
||||
|
||||
src/assetmgr/TextureManager.o: src/assetmgr/TextureManager.cpp.o
|
||||
.PHONY : src/assetmgr/TextureManager.o
|
||||
|
||||
# target to build an object file
|
||||
src/assetmgr/TextureManager.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/TextureManager.cpp.o
|
||||
.PHONY : src/assetmgr/TextureManager.cpp.o
|
||||
|
||||
src/assetmgr/TextureManager.i: src/assetmgr/TextureManager.cpp.i
|
||||
.PHONY : src/assetmgr/TextureManager.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/assetmgr/TextureManager.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/TextureManager.cpp.i
|
||||
.PHONY : src/assetmgr/TextureManager.cpp.i
|
||||
|
||||
src/assetmgr/TextureManager.s: src/assetmgr/TextureManager.cpp.s
|
||||
.PHONY : src/assetmgr/TextureManager.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/assetmgr/TextureManager.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/assetmgr/TextureManager.cpp.s
|
||||
.PHONY : src/assetmgr/TextureManager.cpp.s
|
||||
|
||||
src/cjson/cJSON.o: src/cjson/cJSON.c.o
|
||||
.PHONY : src/cjson/cJSON.o
|
||||
|
||||
# target to build an object file
|
||||
src/cjson/cJSON.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/cjson/cJSON.c.o
|
||||
.PHONY : src/cjson/cJSON.c.o
|
||||
|
||||
src/cjson/cJSON.i: src/cjson/cJSON.c.i
|
||||
.PHONY : src/cjson/cJSON.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/cjson/cJSON.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/cjson/cJSON.c.i
|
||||
.PHONY : src/cjson/cJSON.c.i
|
||||
|
||||
src/cjson/cJSON.s: src/cjson/cJSON.c.s
|
||||
.PHONY : src/cjson/cJSON.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/cjson/cJSON.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/cjson/cJSON.c.s
|
||||
.PHONY : src/cjson/cJSON.c.s
|
||||
|
||||
src/ecs/ECS.o: src/ecs/ECS.cpp.o
|
||||
.PHONY : src/ecs/ECS.o
|
||||
|
||||
# target to build an object file
|
||||
src/ecs/ECS.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ecs/ECS.cpp.o
|
||||
.PHONY : src/ecs/ECS.cpp.o
|
||||
|
||||
src/ecs/ECS.i: src/ecs/ECS.cpp.i
|
||||
.PHONY : src/ecs/ECS.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ecs/ECS.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ecs/ECS.cpp.i
|
||||
.PHONY : src/ecs/ECS.cpp.i
|
||||
|
||||
src/ecs/ECS.s: src/ecs/ECS.cpp.s
|
||||
.PHONY : src/ecs/ECS.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ecs/ECS.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ecs/ECS.cpp.s
|
||||
.PHONY : src/ecs/ECS.cpp.s
|
||||
|
||||
src/game/Collision.o: src/game/Collision.cpp.o
|
||||
.PHONY : src/game/Collision.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/Collision.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Collision.cpp.o
|
||||
.PHONY : src/game/Collision.cpp.o
|
||||
|
||||
src/game/Collision.i: src/game/Collision.cpp.i
|
||||
.PHONY : src/game/Collision.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/Collision.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Collision.cpp.i
|
||||
.PHONY : src/game/Collision.cpp.i
|
||||
|
||||
src/game/Collision.s: src/game/Collision.cpp.s
|
||||
.PHONY : src/game/Collision.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/Collision.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Collision.cpp.s
|
||||
.PHONY : src/game/Collision.cpp.s
|
||||
|
||||
src/game/Game.o: src/game/Game.cpp.o
|
||||
.PHONY : src/game/Game.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/Game.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Game.cpp.o
|
||||
.PHONY : src/game/Game.cpp.o
|
||||
|
||||
src/game/Game.i: src/game/Game.cpp.i
|
||||
.PHONY : src/game/Game.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/Game.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Game.cpp.i
|
||||
.PHONY : src/game/Game.cpp.i
|
||||
|
||||
src/game/Game.s: src/game/Game.cpp.s
|
||||
.PHONY : src/game/Game.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/Game.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Game.cpp.s
|
||||
.PHONY : src/game/Game.cpp.s
|
||||
|
||||
src/game/GameStateManager.o: src/game/GameStateManager.cpp.o
|
||||
.PHONY : src/game/GameStateManager.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/GameStateManager.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/GameStateManager.cpp.o
|
||||
.PHONY : src/game/GameStateManager.cpp.o
|
||||
|
||||
src/game/GameStateManager.i: src/game/GameStateManager.cpp.i
|
||||
.PHONY : src/game/GameStateManager.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/GameStateManager.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/GameStateManager.cpp.i
|
||||
.PHONY : src/game/GameStateManager.cpp.i
|
||||
|
||||
src/game/GameStateManager.s: src/game/GameStateManager.cpp.s
|
||||
.PHONY : src/game/GameStateManager.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/GameStateManager.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/GameStateManager.cpp.s
|
||||
.PHONY : src/game/GameStateManager.cpp.s
|
||||
|
||||
src/game/Main.o: src/game/Main.cpp.o
|
||||
.PHONY : src/game/Main.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/Main.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Main.cpp.o
|
||||
.PHONY : src/game/Main.cpp.o
|
||||
|
||||
src/game/Main.i: src/game/Main.cpp.i
|
||||
.PHONY : src/game/Main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/Main.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Main.cpp.i
|
||||
.PHONY : src/game/Main.cpp.i
|
||||
|
||||
src/game/Main.s: src/game/Main.cpp.s
|
||||
.PHONY : src/game/Main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/Main.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Main.cpp.s
|
||||
.PHONY : src/game/Main.cpp.s
|
||||
|
||||
src/game/StateMachine.o: src/game/StateMachine.cpp.o
|
||||
.PHONY : src/game/StateMachine.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/StateMachine.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/StateMachine.cpp.o
|
||||
.PHONY : src/game/StateMachine.cpp.o
|
||||
|
||||
src/game/StateMachine.i: src/game/StateMachine.cpp.i
|
||||
.PHONY : src/game/StateMachine.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/StateMachine.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/StateMachine.cpp.i
|
||||
.PHONY : src/game/StateMachine.cpp.i
|
||||
|
||||
src/game/StateMachine.s: src/game/StateMachine.cpp.s
|
||||
.PHONY : src/game/StateMachine.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/StateMachine.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/StateMachine.cpp.s
|
||||
.PHONY : src/game/StateMachine.cpp.s
|
||||
|
||||
src/game/Vector2D.o: src/game/Vector2D.cpp.o
|
||||
.PHONY : src/game/Vector2D.o
|
||||
|
||||
# target to build an object file
|
||||
src/game/Vector2D.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Vector2D.cpp.o
|
||||
.PHONY : src/game/Vector2D.cpp.o
|
||||
|
||||
src/game/Vector2D.i: src/game/Vector2D.cpp.i
|
||||
.PHONY : src/game/Vector2D.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/game/Vector2D.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Vector2D.cpp.i
|
||||
.PHONY : src/game/Vector2D.cpp.i
|
||||
|
||||
src/game/Vector2D.s: src/game/Vector2D.cpp.s
|
||||
.PHONY : src/game/Vector2D.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/game/Vector2D.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/game/Vector2D.cpp.s
|
||||
.PHONY : src/game/Vector2D.cpp.s
|
||||
|
||||
src/ui/UINineSlice.o: src/ui/UINineSlice.cpp.o
|
||||
.PHONY : src/ui/UINineSlice.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/UINineSlice.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UINineSlice.cpp.o
|
||||
.PHONY : src/ui/UINineSlice.cpp.o
|
||||
|
||||
src/ui/UINineSlice.i: src/ui/UINineSlice.cpp.i
|
||||
.PHONY : src/ui/UINineSlice.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/UINineSlice.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UINineSlice.cpp.i
|
||||
.PHONY : src/ui/UINineSlice.cpp.i
|
||||
|
||||
src/ui/UINineSlice.s: src/ui/UINineSlice.cpp.s
|
||||
.PHONY : src/ui/UINineSlice.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/UINineSlice.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UINineSlice.cpp.s
|
||||
.PHONY : src/ui/UINineSlice.cpp.s
|
||||
|
||||
src/ui/UIText.o: src/ui/UIText.cpp.o
|
||||
.PHONY : src/ui/UIText.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/UIText.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UIText.cpp.o
|
||||
.PHONY : src/ui/UIText.cpp.o
|
||||
|
||||
src/ui/UIText.i: src/ui/UIText.cpp.i
|
||||
.PHONY : src/ui/UIText.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/UIText.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UIText.cpp.i
|
||||
.PHONY : src/ui/UIText.cpp.i
|
||||
|
||||
src/ui/UIText.s: src/ui/UIText.cpp.s
|
||||
.PHONY : src/ui/UIText.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/UIText.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/BeagleRescue.dir/build.make CMakeFiles/BeagleRescue.dir/src/ui/UIText.cpp.s
|
||||
.PHONY : src/ui/UIText.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... install"
|
||||
@echo "... install/local"
|
||||
@echo "... install/strip"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... BeagleRescue"
|
||||
@echo "... src/assetmgr/AssetManager.o"
|
||||
@echo "... src/assetmgr/AssetManager.i"
|
||||
@echo "... src/assetmgr/AssetManager.s"
|
||||
@echo "... src/assetmgr/GameObject.o"
|
||||
@echo "... src/assetmgr/GameObject.i"
|
||||
@echo "... src/assetmgr/GameObject.s"
|
||||
@echo "... src/assetmgr/Map.o"
|
||||
@echo "... src/assetmgr/Map.i"
|
||||
@echo "... src/assetmgr/Map.s"
|
||||
@echo "... src/assetmgr/MusicManager.o"
|
||||
@echo "... src/assetmgr/MusicManager.i"
|
||||
@echo "... src/assetmgr/MusicManager.s"
|
||||
@echo "... src/assetmgr/TextureManager.o"
|
||||
@echo "... src/assetmgr/TextureManager.i"
|
||||
@echo "... src/assetmgr/TextureManager.s"
|
||||
@echo "... src/cjson/cJSON.o"
|
||||
@echo "... src/cjson/cJSON.i"
|
||||
@echo "... src/cjson/cJSON.s"
|
||||
@echo "... src/ecs/ECS.o"
|
||||
@echo "... src/ecs/ECS.i"
|
||||
@echo "... src/ecs/ECS.s"
|
||||
@echo "... src/game/Collision.o"
|
||||
@echo "... src/game/Collision.i"
|
||||
@echo "... src/game/Collision.s"
|
||||
@echo "... src/game/Game.o"
|
||||
@echo "... src/game/Game.i"
|
||||
@echo "... src/game/Game.s"
|
||||
@echo "... src/game/GameStateManager.o"
|
||||
@echo "... src/game/GameStateManager.i"
|
||||
@echo "... src/game/GameStateManager.s"
|
||||
@echo "... src/game/Main.o"
|
||||
@echo "... src/game/Main.i"
|
||||
@echo "... src/game/Main.s"
|
||||
@echo "... src/game/StateMachine.o"
|
||||
@echo "... src/game/StateMachine.i"
|
||||
@echo "... src/game/StateMachine.s"
|
||||
@echo "... src/game/Vector2D.o"
|
||||
@echo "... src/game/Vector2D.i"
|
||||
@echo "... src/game/Vector2D.s"
|
||||
@echo "... src/ui/UINineSlice.o"
|
||||
@echo "... src/ui/UINineSlice.i"
|
||||
@echo "... src/ui/UINineSlice.s"
|
||||
@echo "... src/ui/UIText.o"
|
||||
@echo "... src/ui/UIText.i"
|
||||
@echo "... src/ui/UIText.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
36
README.md
36
README.md
@ -1,9 +1,37 @@
|
||||
=======
|
||||
# Kaiju Save Earth
|
||||
---
|
||||
|
||||
# Kaiju Saves Earth
|
||||
|
||||
Low Rez Jam 2023
|
||||
|
||||
A game where you play as a giant monster (Kaiju) who must save all the humans from destroying themselves and the world by catching them and safely stowing them on your back.
|
||||

|
||||
|
||||
In the distant future humans are panicked and pose a great risk to each other and themselves. Fortunately there is a giant monster "Kaiju" that come in to scoop up these people before they hurt anyone, storing them safely on its protected shell on its back. You play as the Kaiju trying to save as many people as possible before they hurt themselves.
|
||||
|
||||
Controls: w,a,s,d for movement and u,i,j,k for other actions, escape to quit.
|
||||
Currently on builds on linux and macOS; uses CMake and should be easy enough to port to other systems.
|
||||
|
||||
By:
|
||||
Alan Youngblood
|
||||
|
||||
## INSTALL
|
||||
### Linux
|
||||
|
||||
1. Download and unzip the project files
|
||||
2. Install KDevelop with your package manager
|
||||
3. Install dependencies (listed as apt packages with debian/ubuntu and derivative distros): `sudo apt install libboost-dev cmake build-essential libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0.-0 libsdl2-image-dev libsdl2-mixer-2.0-0 libsdl2-mixer-dev`
|
||||
4. Open the .kdev4 project file in KDevelop, configure launch to be the executable which should be KaijuSaveEarth/build/KaijuSaveEarth; build should be configured already.
|
||||
5. Build in KDevelop.
|
||||
6. Launch/Run from KDevelop.
|
||||
7. Enjoy playing!
|
||||
|
||||
### macOS
|
||||
|
||||
1. Download and unzip the project files
|
||||
2. Install Apple Mac Developer tools in terminal.app: xcode-select --install
|
||||
3. Install dependencies, we recommend using brew: brew install boost cmake sdl2 sdl2_image sdl2_mixer<br>
|
||||
4. In terminal: `cd KaijuSaveEarth/build`
|
||||
5. `cmake ..`
|
||||
6. `make`
|
||||
7. `open ..`
|
||||
8. Double Click the executable KaijuSaveEarth
|
||||
9. Enjoy playing!
|
BIN
assets/.DS_Store
vendored
Normal file
BIN
assets/.DS_Store
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0
assets/audio/music/NeuWave Project/Icon
Normal file
0
assets/audio/music/NeuWave Project/Icon
Normal file
BIN
assets/audio/music/NeuWave Project/NeuWave.als
Normal file
BIN
assets/audio/music/NeuWave Project/NeuWave.als
Normal file
Binary file not shown.
BIN
assets/audio/music/NeuWave Project/neuwave.flac
Normal file
BIN
assets/audio/music/NeuWave Project/neuwave.flac
Normal file
Binary file not shown.
BIN
assets/audio/music/NeuWave Project/neuwave.flac.asd
Normal file
BIN
assets/audio/music/NeuWave Project/neuwave.flac.asd
Normal file
Binary file not shown.
BIN
assets/audio/music/NeuWave Project/neuwave.ogg
Normal file
BIN
assets/audio/music/NeuWave Project/neuwave.ogg
Normal file
Binary file not shown.
BIN
assets/audio/music/NeuWave Project/neuwave.wav
Normal file
BIN
assets/audio/music/NeuWave Project/neuwave.wav
Normal file
Binary file not shown.
BIN
assets/audio/music/NeuWave Project/neuwave.wav.asd
Normal file
BIN
assets/audio/music/NeuWave Project/neuwave.wav.asd
Normal file
Binary file not shown.
BIN
assets/audio/music/neuwave.ogg
Normal file
BIN
assets/audio/music/neuwave.ogg
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
||||
"height": 4300,
|
||||
"width": 2
|
||||
},
|
||||
"activeFile": "",
|
||||
"activeFile": "kaiju-city-map2.json",
|
||||
"expandedProjectPaths": [
|
||||
"."
|
||||
],
|
||||
@ -20,11 +20,14 @@
|
||||
"scaleInEditor": 4
|
||||
},
|
||||
"kaiju-city-map.json": {
|
||||
"scale": 3,
|
||||
"selectedLayer": 1,
|
||||
"expandedObjectLayers": [
|
||||
3
|
||||
],
|
||||
"scale": 4,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 86.16666666666666,
|
||||
"y": 10.666666666666671
|
||||
"x": 132.75,
|
||||
"y": 137.875
|
||||
}
|
||||
},
|
||||
"kaiju-city-map.json#kaiju-city": {
|
||||
@ -34,10 +37,13 @@
|
||||
"scale": 1.4114285714285715,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 232.38866396761134,
|
||||
"y": 218.21862348178138
|
||||
"x": 232.3886639676113,
|
||||
"y": 218.57287449392717
|
||||
}
|
||||
},
|
||||
"kaiju-city-map.tmj#kaiju-city": {
|
||||
"scaleInDock": 1
|
||||
},
|
||||
"kaiju-city-map.tmx": {
|
||||
"scale": 1.4114285714285715,
|
||||
"selectedLayer": 0,
|
||||
@ -46,6 +52,18 @@
|
||||
"y": 116.19433198380568
|
||||
}
|
||||
},
|
||||
"kaiju-city-map2.json": {
|
||||
"scale": 2,
|
||||
"selectedLayer": 1,
|
||||
"viewCenter": {
|
||||
"x": 169.5,
|
||||
"y": 148.25
|
||||
}
|
||||
},
|
||||
"kaiju-city-ts.tsj": {
|
||||
"scaleInDock": 3,
|
||||
"scaleInEditor": 1
|
||||
},
|
||||
"kaiju-city.tsj": {
|
||||
"dynamicWrapping": false,
|
||||
"scaleInDock": 1,
|
||||
@ -70,27 +88,30 @@
|
||||
},
|
||||
"last.exportedFilePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||
"last.externalTilesetPath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||
"last.imagePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||
"last.imagePath": "/Users/ayoungblood/Projects/KaijuSaveEarth/assets/maps",
|
||||
"lastUsedTilesetExportFilter": "JSON tileset files (*.tsj *.json)",
|
||||
"map.height": 32,
|
||||
"map.height": 40,
|
||||
"map.lastUsedExportFilter": "All Files (*)",
|
||||
"map.lastUsedFormat": "json",
|
||||
"map.layerDataFormat": null,
|
||||
"map.tileHeight": 8,
|
||||
"map.tileWidth": 8,
|
||||
"map.width": 32,
|
||||
"map.width": 40,
|
||||
"openFiles": [
|
||||
"kaiju-city-map2.json"
|
||||
],
|
||||
"project": "kaiju-city-map.tiled-project",
|
||||
"recentFiles": [
|
||||
"kaiju-city-map2.json",
|
||||
"kaiju-city-ts.tsj",
|
||||
"kaiju-city-map.json",
|
||||
"kaiju-city-map.tmj",
|
||||
"kaiju-city.tsj",
|
||||
"testmap.json",
|
||||
"kaiju-tokyo.tsj",
|
||||
"kaiju-city-map.json",
|
||||
"kaiju-city.tsx",
|
||||
"br-tiles.tsj",
|
||||
"kaiju-city-map.tmx",
|
||||
"kaiju-city-map.tmj",
|
||||
"kaiju-city.tsj"
|
||||
"kaiju-city-map.tmx"
|
||||
],
|
||||
"tileset.lastUsedFilter": "JSON tileset files (*.tsj *.json)",
|
||||
"tileset.lastUsedFormat": "json",
|
||||
|
File diff suppressed because one or more lines are too long
48
assets/maps/kaiju-city-map2.json
Normal file
48
assets/maps/kaiju-city-map2.json
Normal file
File diff suppressed because one or more lines are too long
BIN
assets/maps/kaiju-city-tileset.aseprite
Normal file
BIN
assets/maps/kaiju-city-tileset.aseprite
Normal file
Binary file not shown.
BIN
assets/maps/kaiju-city-ts.png
Normal file
BIN
assets/maps/kaiju-city-ts.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
14
assets/maps/kaiju-city-ts.tsj
Normal file
14
assets/maps/kaiju-city-ts.tsj
Normal file
@ -0,0 +1,14 @@
|
||||
{ "columns":16,
|
||||
"image":"kaiju-city-ts.png",
|
||||
"imageheight":128,
|
||||
"imagewidth":128,
|
||||
"margin":0,
|
||||
"name":"kaiju-city-ts",
|
||||
"spacing":0,
|
||||
"tilecount":256,
|
||||
"tiledversion":"1.10.1",
|
||||
"tileheight":8,
|
||||
"tilewidth":8,
|
||||
"type":"tileset",
|
||||
"version":"1.10"
|
||||
}
|
BIN
assets/textures/.DS_Store
vendored
Normal file
BIN
assets/textures/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
assets/textures/actors/chopper.aseprite
Normal file
BIN
assets/textures/actors/chopper.aseprite
Normal file
Binary file not shown.
BIN
assets/textures/actors/chopper.gif
Normal file
BIN
assets/textures/actors/chopper.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
assets/textures/ui/TitleScreen.aseprite
Normal file
BIN
assets/textures/ui/TitleScreen.aseprite
Normal file
Binary file not shown.
BIN
assets/textures/ui/titlescreen.png
Normal file
BIN
assets/textures/ui/titlescreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 988 B |
BIN
assets/textures/ui/titlescreenbig.png
Normal file
BIN
assets/textures/ui/titlescreenbig.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
BIN
src/.DS_Store
vendored
Normal file
BIN
src/.DS_Store
vendored
Normal file
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "MusicManager.h"
|
||||
#include <SDL2/SDL_mixer.h>
|
||||
#include <SDL_mixer.h>
|
||||
|
||||
Mix_Music* MusicManager::LoadMusic(const char* path){
|
||||
Mix_Music* music = Mix_LoadMUS(path);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define SRC_MUSICMANAGER_H_
|
||||
|
||||
#include "../game/Game.hpp"
|
||||
#include <SDL2/SDL_mixer.h>
|
||||
#include <SDL_mixer.h>
|
||||
|
||||
class MusicManager
|
||||
{
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef SRC_TEXTUREMANAGER_H_
|
||||
#define SRC_TEXTUREMANAGER_H_
|
||||
|
||||
// #include <SDL2/SDL_image.h>
|
||||
#include "../game/Game.hpp"
|
||||
|
||||
class TextureManager
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"GameName":"Kaiju Save Earth",
|
||||
"Developers": "Alan Youngblood",
|
||||
"LibraryDevelopers": "Sam Lantinga, Dave Gamble, Carl Birch, Job Vranish, David Lafreniere, Bayle Jonathan, Robin Berg Pettersen",
|
||||
"SpecialThanks":"Nic Allen, Brian Lhota, Rodrigo Monteiro"
|
||||
"GameName": "Kaiju Save Earth",
|
||||
"Developers": "Alan Youngblood",
|
||||
"LibraryDevelopers": "Sam Lantinga, Dave Gamble, Carl Birch, Job Vranish, David Lafreniere, Bayle Jonathan, Robin Berg Pettersen, Beman Dawes, Andrey Semashev",
|
||||
"SpecialThanks": "Nic Allen, Brian Lhota, Rodrigo Monteiro"
|
||||
}
|
||||
|
7
src/config/intro.json
Normal file
7
src/config/intro.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"intro": {
|
||||
"1": "IN THE YEAR\n23YY ...\nHUMAN\nPARANOIA\nRUNS WILD\nCONSUMED\nBY FEAR\nAND GREED",
|
||||
"2": "THEY DESTROY\nEACH OTHER\nAND EARTH\nWHO CAN\nSAVE THEM?\n",
|
||||
"3": "SURELY NOT\nANOTHER\nHUMAN?!?\nPERHAPS\nONLY A\nGREATER\nMONSTER..."
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
#define SRC_ECS_COLLIDERCOMPONENT_H_
|
||||
|
||||
#include <string>
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "Components.h"
|
||||
#include "ECS.h"
|
||||
#include "../assetmgr/TextureManager.h"
|
||||
@ -52,9 +52,11 @@ public:
|
||||
collider.x = xpos;
|
||||
collider.y = ypos;
|
||||
collider.w = collider.h = size*scale;
|
||||
setTex(texture);
|
||||
center.x = collider.x+collider.w/2;
|
||||
center.y = collider.y+collider.h/2;
|
||||
if(texture != ""){
|
||||
setTex(texture);
|
||||
}
|
||||
center.x = collider.x+collider.w/2;
|
||||
center.y = collider.y+collider.h/2;
|
||||
}
|
||||
|
||||
ColliderComponent(std::string t, int width, int height, bool hasOffset, int oX, int oY, std::string texture)
|
||||
@ -62,11 +64,13 @@ public:
|
||||
tag = t;
|
||||
collider.w = width;
|
||||
collider.h = height;
|
||||
offsetX = oX;
|
||||
offsetY = oY;
|
||||
setTex(texture);
|
||||
center.x = collider.x+collider.w/2;
|
||||
center.y = collider.y+collider.h/2;
|
||||
offsetX = oX;
|
||||
offsetY = oY;
|
||||
if(texture != ""){
|
||||
setTex(texture);
|
||||
}
|
||||
center.x = collider.x+collider.w/2;
|
||||
center.y = collider.y+collider.h/2;
|
||||
}
|
||||
|
||||
void init() override
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define SRC_ECS_SPRITECOMPONENT_H_
|
||||
|
||||
#include "Components.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "../assetmgr/TextureManager.h"
|
||||
#include "Animation.h"
|
||||
#include <map>
|
||||
@ -56,7 +56,7 @@ public:
|
||||
// SpriteComponent() = default;
|
||||
SpriteComponent(std::string id, SpriteType sType)
|
||||
{
|
||||
spriteType = sType;
|
||||
spriteType = sType;
|
||||
setTex(id);
|
||||
}
|
||||
|
||||
@ -66,39 +66,62 @@ public:
|
||||
spriteType = sType;
|
||||
if(sType == spriteAnimation)
|
||||
{
|
||||
//std::string fullPath = Game::projPath + json;
|
||||
std::ifstream fin(json);
|
||||
|
||||
if(fin.is_open()){
|
||||
} else {
|
||||
std::cout<<"json file is NOT open"<<std::endl;
|
||||
}
|
||||
|
||||
if(fin.fail()){
|
||||
std::cout<<"json file open fail"<<std::endl;
|
||||
} else{
|
||||
std::cerr<<"ERROR opening json file: " << json << std::endl;
|
||||
} else if (fin.is_open()){
|
||||
//printf("Opened a json file\n");
|
||||
std::ifstream jsonText(json);
|
||||
std::ostringstream tmp;
|
||||
tmp << jsonText.rdbuf();
|
||||
std::string aJson = tmp.str();
|
||||
cJSON * animJson = cJSON_Parse(aJson.c_str());
|
||||
std::cout << "animJson: " << std::endl;
|
||||
std::cout << animJson << std::endl;
|
||||
char * printOut = cJSON_Print(animJson);
|
||||
//std::cout << animJson << std::endl;
|
||||
cJSON * meta = cJSON_GetObjectItem(animJson, "meta");
|
||||
cJSON * version = cJSON_GetObjectItem(animJson, "version");
|
||||
cJSON * frameTags = cJSON_GetObjectItem(meta,"frameTags");
|
||||
cJSON * frames = cJSON_GetObjectItem(animJson, "frames");
|
||||
int tagsCount = cJSON_GetArraySize(frameTags);
|
||||
int framesCount = cJSON_GetArraySize(frames);
|
||||
//std::cout << "tagsCount: " << tagsCount << std::endl;
|
||||
//std::cout << "version: " << version << std::endl;
|
||||
const cJSON * aFrame = NULL;
|
||||
const cJSON * aFrames = NULL;
|
||||
aFrames =cJSON_GetObjectItemCaseSensitive(animJson, "frames");
|
||||
cJSON_ArrayForEach(aFrame, aFrames){
|
||||
cJSON *filename = cJSON_GetObjectItemCaseSensitive(aFrame, "filename");
|
||||
if (!cJSON_IsNumber(aFrame)){
|
||||
//printf("Not a number\n");
|
||||
//printf("Json filename: %s\n",filename);
|
||||
} else {
|
||||
//std::cout << "animation frame number: " << aFrame->valueint<< std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
for (int f = 0; f<framesCount; f++){
|
||||
cJSON * crrntFrame = cJSON_GetArrayItem(frames, f);
|
||||
std::string fileName = cJSON_GetObjectItem(crrntFrame, "filename")->valuestring;
|
||||
std::cout << "Filename for frame is: " << fileName << std::endl;
|
||||
}
|
||||
|
||||
for (int t = 0; t < tagsCount; t++)
|
||||
{
|
||||
cJSON * animItem = cJSON_GetArrayItem(frameTags,t);
|
||||
cJSON * nameJson = cJSON_GetObjectItem(animItem, "name");
|
||||
const char * name = cJSON_Print(nameJson);
|
||||
int fromFrame = cJSON_GetObjectItem(animItem, "from")->valueint;
|
||||
int toFrame = cJSON_GetObjectItem(animItem, "to")->valueint;
|
||||
Animation anim = Animation(fromFrame,toFrame,100);
|
||||
animations.emplace(name, anim);
|
||||
std::cout << "Animation Name: " << name << "from: " << fromFrame << "to: " << toFrame << std::endl;
|
||||
Play(name);
|
||||
}
|
||||
}
|
||||
|
||||
std::ifstream jsonText(json);
|
||||
std::ostringstream tmp;
|
||||
tmp << jsonText.rdbuf();
|
||||
std::string aJson = tmp.str();
|
||||
cJSON * animJson = cJSON_Parse(aJson.c_str());
|
||||
cJSON * meta = cJSON_GetObjectItem(animJson, "meta");
|
||||
cJSON * frameTags = cJSON_GetObjectItem(meta,"frameTags");
|
||||
int tagsCount = cJSON_GetArraySize(frameTags);
|
||||
|
||||
for (int t = 0; t < tagsCount; t++)
|
||||
{
|
||||
cJSON * animItem = cJSON_GetArrayItem(frameTags,t);
|
||||
cJSON * nameJson = cJSON_GetObjectItem(animItem, "name");
|
||||
const char * name = cJSON_Print(nameJson);
|
||||
int fromFrame = cJSON_GetObjectItem(animItem, "from")->valueint;
|
||||
int toFrame = cJSON_GetObjectItem(animItem, "to")->valueint;
|
||||
Animation anim = Animation(fromFrame,toFrame,100);
|
||||
animations.emplace(name, anim);
|
||||
Play(name);
|
||||
}
|
||||
|
||||
Animation moveN = Animation(0,1,100);
|
||||
animations.emplace("move-n", moveN);
|
||||
Animation moveW = Animation(2,1,100);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define SRC_ECS_TILECOMPONENT_H_
|
||||
|
||||
#include "ECS.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "../assetmgr/AssetManager.h"
|
||||
|
||||
class TileComponent : public Component
|
||||
|
@ -10,7 +10,7 @@
|
||||
#define SRC_ECS_TILEMAPCOMPONENT_H_
|
||||
|
||||
#include "ECS.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "../assetmgr/AssetManager.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
@ -46,26 +46,29 @@ public:
|
||||
{
|
||||
// TILESON ~~~~~~~~~~~
|
||||
|
||||
const std::filesystem::path jsonPath = std::filesystem::u8path(mapPath);
|
||||
map = t.parse(jsonPath);
|
||||
|
||||
if(map->getStatus() == tson::ParseStatus::OK)
|
||||
{
|
||||
tson::Tileset *tileset = map->getTileset(tsName);
|
||||
const std::filesystem::path jsonPath = std::filesystem::u8path(mapPath);
|
||||
//const std::filesystem::path jsonPath = std::filesystem::u8path("/Users/ayoungblood/Projects/KaijuSaveEarth/assets/maps/kaiju-city-map.json");
|
||||
map = t.parse(jsonPath);
|
||||
//std::cout << "Trying to load json tile map from: " << jsonPath << std::endl;
|
||||
if(map->getStatus() == tson::ParseStatus::OK)
|
||||
{
|
||||
// printf("Map File Loaded!! \n");
|
||||
tson::Tileset *tileset = map->getTileset(tsName);
|
||||
//std::cout << "tsName: " << tsName << std::endl;
|
||||
std::string fullPath = tileset->getImage();
|
||||
//std::cout << "fullPath: " << fullPath << std::endl;
|
||||
//size_t charPos = fullPath.find("assets");
|
||||
//fullPath.erase(0,charPos);
|
||||
std::string prependPath = std::string("assets/maps/");
|
||||
std::string wholePath = prependPath + fullPath;
|
||||
std::string localPath = prependPath + fullPath;
|
||||
std::string wholePath = "/Users/ayoungblood/Projects/KaijuSaveEarth/" + localPath;
|
||||
//std::cout << "fullPath: " << wholePath << std::endl;
|
||||
tson::Layer *tileLayer = map->getLayer(tileLayerName); //This is a Layer
|
||||
std::string texName = tileLayer->getName();
|
||||
Game::assets->AddTexture(texName, wholePath.c_str());
|
||||
setTex(texName);
|
||||
globalScale = gScale;
|
||||
|
||||
//printf("Added texture for tilemap.\n");
|
||||
tson::Layer *collisionLayer = map->getLayer(collisionLayerName);
|
||||
|
||||
tilesWide = map->getSize().x;
|
||||
@ -92,7 +95,7 @@ public:
|
||||
tileSet[element] = srcRect;
|
||||
}
|
||||
}
|
||||
|
||||
//printf("Tile Set Setup Completed.\n");
|
||||
if(tileLayer->getType() == tson::LayerType::TileLayer)
|
||||
{
|
||||
destRects.resize(tilesWide*tilesHigh);
|
||||
@ -113,35 +116,13 @@ public:
|
||||
}
|
||||
destRect.w = destRect.h = tileWidth * gScale;
|
||||
}
|
||||
tson::Layer *myLayer = map->getLayer("Tile Layer 1");
|
||||
for (int r = 0;r<map->getSize().y;r++){
|
||||
// Next cycle through each column or tile in that row:
|
||||
for (int c = 0;c<map->getSize().x;c++){
|
||||
int i = r*map->getSize().x+c;
|
||||
int elem = c+r*map->getSize().x;
|
||||
tson::Tile *myTile = myLayer->getTileData(c,r);
|
||||
int tid = myTile->getId()-1;
|
||||
//std::cout << myLayer->getTileData(1,1)->getId() << std::endl;
|
||||
// TextureManager::Draw(texture, tileSet[tid], destRects[elem], SDL_FLIP_NONE);
|
||||
//std::cout << "c,r: " << c << ", " << r << std::endl;
|
||||
if(!tid){
|
||||
//printf("got nullptr\n");
|
||||
// printf("found valid tid\n");
|
||||
} else {
|
||||
//std::cout << "tid: " << tid << std::endl;
|
||||
}
|
||||
//std::cout << " elem: " << elem << std::endl;
|
||||
//std::cout << "i" << i << std::endl;
|
||||
}
|
||||
}
|
||||
// tson::Tile *testTile = myLayer->getTileData(0,4);
|
||||
// int myTid = testTile->getId()-1;
|
||||
//printf("Completed tilemap init\n");
|
||||
//std::cout << "destRects.size " << destRects.size() << std::endl;
|
||||
} else {
|
||||
printf("Failed to load Tileson map\n");
|
||||
std::cout << map->getStatusMessage();
|
||||
}
|
||||
|
||||
//printf("Tilemap setup completed\n");
|
||||
//std::cout << "destRects.size " << destRects.size() << std::endl;
|
||||
} else {
|
||||
// printf("Failed to load Tileson map\n");
|
||||
std::cout << map->getStatusMessage() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void update() override
|
||||
@ -194,4 +175,3 @@ public:
|
||||
};
|
||||
|
||||
#endif /* SRC_ECS_TILEMAPCOMPONENT_H_ */
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
#define ASCII_ROW_COUNT 16
|
||||
|
||||
#include "Components.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "../assetmgr/TextureManager.h"
|
||||
#include "../assetmgr/AssetManager.h"
|
||||
#include <stdio.h>
|
||||
|
@ -8,7 +8,7 @@
|
||||
#ifndef SRC_COLLISION_H_
|
||||
#define SRC_COLLISION_H_
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
// #include "Vector2D.h"
|
||||
|
||||
class ColliderComponent;
|
||||
|
@ -55,7 +55,7 @@ int Game::nineSliceY0 = 4;
|
||||
int Game::nineSliceY1 = 12;
|
||||
|
||||
// auto& enemy(manager.addEntity());
|
||||
auto& puppy(manager.addEntity());
|
||||
//auto& puppy(manager.addEntity());
|
||||
|
||||
// auto& scoreboard(manager.addEntity());
|
||||
auto& uiInfo(manager.addEntity());
|
||||
@ -77,6 +77,8 @@ bool Game::gravityOnPlayer = true;
|
||||
bool Game::playerIsGrounded = false;
|
||||
bool Game::playerIsJumping = false;
|
||||
|
||||
std::string Game::projPath = "";
|
||||
|
||||
int gScale = 0;
|
||||
int last_time;
|
||||
int current_time;
|
||||
@ -97,9 +99,9 @@ std::string Game::BoolToString(bool b) {
|
||||
return myString;
|
||||
}
|
||||
|
||||
Game::Game() {
|
||||
Game::Game(std::string projectPath) {
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
Game::projPath = projectPath;
|
||||
}
|
||||
|
||||
Game::~Game() {
|
||||
@ -119,7 +121,7 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
if(SDL_Init(SDL_INIT_EVERYTHING) == 0)
|
||||
{
|
||||
window = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, flags);
|
||||
SDL_SetWindowBordered(window,SDL_FALSE);
|
||||
SDL_SetWindowBordered(window,SDL_TRUE);
|
||||
if(!window)
|
||||
{
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,"Couldn't create window: %s", SDL_GetError());
|
||||
@ -142,18 +144,20 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Couldn't initialize SDL audio mixer!, Error: %s", SDL_GetError());
|
||||
}
|
||||
|
||||
assets->AddTexture("player", "assets/textures/actors/kaijuturtle.png");
|
||||
assets->AddTexture("font", "assets/textures/ui/ui-font-lorez5.png");
|
||||
assets->AddTexture("textBox", "assets/textures/ui/ui-element-bubble.png");
|
||||
assets->AddTexture("collider","assets/textures/ColTex.png");
|
||||
std::string kaijuTex = Game::projPath + "assets/textures/actors/kaijuturtle.png";
|
||||
std::string fontTex = Game::projPath + "assets/textures/ui/ui-font-lorez5.png";
|
||||
std::string textBoxTex = Game::projPath + "assets/textures/ui/ui-element-bubble.png";
|
||||
std::string musicFile = Game::projPath + "assets/audio/music/neuwave.ogg";
|
||||
std::string sfxFile = Game::projPath + "assets/audio/sfx/bwoop.wav";
|
||||
|
||||
assets->AddMusicTrack("simonZ","assets/audio/music/sillypuppy.ogg");
|
||||
assets->AddMusicTrack("simonZ","assets/audio/music/victory.ogg");
|
||||
assets->AddTexture("player", kaijuTex.c_str());
|
||||
assets->AddTexture("font", fontTex.c_str());
|
||||
assets->AddTexture("textBox", textBoxTex.c_str());
|
||||
|
||||
assets->AddSoundClip("bwoop","assets/audio/sfx/bwoop.wav");
|
||||
assets->AddMusicTrack("neuwave",musicFile.c_str());
|
||||
|
||||
assets->AddSoundClip("bwoop",sfxFile.c_str());
|
||||
|
||||
// map = new Map("terrain",globalScale,16);
|
||||
// std::string myText = "Find lost puppies!\nThey need your help!";
|
||||
std::string myText = "U to Start";
|
||||
|
||||
//Set Font and UI NineSlice Sizes here
|
||||
@ -172,59 +176,15 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
my9Slice = new UINineSlice("textBox");
|
||||
my9Slice->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,myDestRect,globalScale,Game::groupUI_Layer0);
|
||||
|
||||
// std::cout << "camera.w " << camera.w << std::endl;
|
||||
|
||||
// uiInfo.addComponent<TransformComponent>(camera.w/gScale-94,10,72*gScale,96*gScale,gScale);
|
||||
// uiInfo.addComponent<UITextComponent>("font", "CollisionHori: Vert: Jump: P.y : P.dy: YVec: ", fontSize.x,fontSize.y, 1);
|
||||
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: Px2: tson: ", fontSize.x,fontSize.y, gScale);
|
||||
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale);
|
||||
// uiInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiCamXInfo.addComponent<TransformComponent>(camera.w/gScale-48,23,40*gScale,12*gScale,gScale);
|
||||
// uiCamXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiCamXInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiCamYInfo.addComponent<TransformComponent>(camera.w/gScale-48,36,40*gScale,12*gScale,gScale);
|
||||
// uiCamYInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiCamYInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiPlayerXInfo.addComponent<TransformComponent>(camera.w/gScale-49,49,40*gScale,12*gScale,gScale);
|
||||
// uiPlayerXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiPlayerXInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiPlayerYInfo.addComponent<TransformComponent>(camera.w/gScale-48,62,40*gScale,12*gScale,gScale);
|
||||
// uiPlayerYInfo.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiPlayerYInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiBoundary1Info.addComponent<TransformComponent>(camera.w/gScale-48,75,128*gScale,12*gScale,gScale);
|
||||
// uiBoundary1Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiBoundary1Info.addGroup(groupUI_Layer3);
|
||||
|
||||
// uiBoundary2Info.addComponent<TransformComponent>(camera.w/gScale-64,88,128*gScale,12*gScale,gScale);
|
||||
// uiBoundary2Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiBoundary2Info.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiBoundary3Info.addComponent<TransformComponent>(camera.w/gScale-64,101,128*gScale,12*gScale,gScale);
|
||||
// uiBoundary3Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiBoundary3Info.addGroup(groupUI_Layer3);
|
||||
|
||||
// debug UI box
|
||||
// SDL_Rect debugBoxRect = SDL_Rect();
|
||||
// debugBoxRect.x = camera.w-(100*gScale);
|
||||
// debugBoxRect.y = 4*gScale;
|
||||
// debugBoxRect.w = 98*gScale;
|
||||
// debugBoxRect.h = 112*gScale;
|
||||
// debugBox = new UINineSlice("textBox");
|
||||
// debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2);
|
||||
|
||||
//ecs implementation
|
||||
|
||||
// player.addComponent<TransformComponent>(860*globalScale,640*globalScale,22,42,globalScale);
|
||||
player.addComponent<TransformComponent>(150*gScale,100*gScale,32,32,globalScale,3); // 180,120
|
||||
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, "assets/textures/actors/kaijuturtle.json");
|
||||
player.addComponent<TransformComponent>(150*gScale,100*gScale,32,32,globalScale,2); // 180,120
|
||||
std::string playerJson = Game::projPath + "assets/textures/actors/kaijuturtle.json";
|
||||
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, playerJson);
|
||||
|
||||
// player.addComponent<PlayerController>(0.0,0.0,false,false,Vector2D().Zero());
|
||||
player.addComponent<ColliderComponent>("player",16*globalScale,32*globalScale, true, 2*globalScale,10*globalScale, "collider");
|
||||
player.addComponent<ColliderComponent>("player",20*globalScale,20*globalScale, true, 0*globalScale,0*globalScale, "");
|
||||
player.addComponent<KeyboardController>();
|
||||
player.addGroup(groupPlayers);
|
||||
|
||||
@ -232,18 +192,15 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
levelMap.y = 0;
|
||||
|
||||
// printf("Trying to load Tilemap\n");
|
||||
gameScene.addComponent<TileMapComponent>("assets/maps/kaiju-city-map.json","kaiju-city","Tile Layer 1","Collision",gScale,player.getComponent<TransformComponent>().position.x+player.getComponent<TransformComponent>().width/2,player.getComponent<TransformComponent>().position.y+player.getComponent<TransformComponent>().height/2); //150,100
|
||||
std::string mapPath = Game::projPath + "assets/maps/kaiju-city-map2.json";
|
||||
gameScene.addComponent<TileMapComponent>(mapPath,"kaiju-city-ts","Tile Layer 1","Collision",gScale,player.getComponent<TransformComponent>().position.x+player.getComponent<TransformComponent>().width/2,player.getComponent<TransformComponent>().position.y+player.getComponent<TransformComponent>().height/2); //150,100
|
||||
gameScene.addGroup(groupMap);
|
||||
// printf("Completed loading Tilemap\n");
|
||||
// std::cout << "LevelMap: " << levelMap.x << ", " << levelMap.y << ", " << levelMap.w << ", " << levelMap.h << std::endl;
|
||||
|
||||
playerPosition = Vector2D().Zero();
|
||||
pVel = Vector2D().Zero();
|
||||
|
||||
// puppy.addComponent<TransformComponent>(1024*globalScale,210*globalScale,36,30,globalScale);
|
||||
// puppy.addComponent<SpriteComponent>("puppy", SpriteComponent::spriteObject);
|
||||
// puppy.addGroup(groupObjects);
|
||||
//printf("Init Completed\n");
|
||||
// printf("Init Completed\n");
|
||||
} else {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError());
|
||||
isRunning = false;
|
||||
@ -285,14 +242,14 @@ void Game::update()
|
||||
// {
|
||||
// const char* initText = "Loading...";
|
||||
// text->ParseString(initText,12,22,gScale,"init");
|
||||
// const char* titleText = "Beagle Rescue";
|
||||
// const char* titleText = "Kaiju";
|
||||
// const char* gameOverText = "Game Over";
|
||||
// }
|
||||
|
||||
if (Mix_PlayingMusic() == 0 && gsm->currentState == GameStateManager::ST_COREGAME)
|
||||
{
|
||||
// std::cout << "Play Music Now" << std::endl;
|
||||
// Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
|
||||
Mix_PlayMusic(assets->GetMusicTrack("neuwave"), -1);
|
||||
}
|
||||
if (Mix_PlayingMusic() != 0 && gsm->currentState != GameStateManager::ST_COREGAME)
|
||||
{
|
||||
|
@ -7,9 +7,9 @@
|
||||
|
||||
#ifndef GAME_HPP_
|
||||
#define GAME_HPP_
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL2/SDL_image.h>
|
||||
#include <SDL2/SDL_mixer.h>
|
||||
#include <SDL.h>
|
||||
#include <SDL_image.h>
|
||||
#include <SDL_mixer.h>
|
||||
#include <stdio.h>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
@ -25,7 +25,7 @@ class AssetManager;
|
||||
|
||||
class Game {
|
||||
public:
|
||||
Game();
|
||||
Game(std::string projectPath);
|
||||
virtual ~Game();
|
||||
void init(const char* title, int width, int height, bool fullscreen, int globalScale);
|
||||
void handleEvents();
|
||||
@ -42,7 +42,7 @@ public:
|
||||
// static std::vector<ColliderComponent*> colliders;
|
||||
// static tmxparser::TmxMap map;
|
||||
// gameScene;
|
||||
|
||||
static std::string projPath;
|
||||
static bool debugMenu;
|
||||
static bool isRunning;
|
||||
static bool debugCollisionBoxes;
|
||||
|
@ -22,15 +22,20 @@ int main(int argc, const char * argv[])
|
||||
Uint64 frameStart;
|
||||
int frameTime;
|
||||
|
||||
|
||||
// =============================
|
||||
// Load cJSON config.json file
|
||||
// =============================
|
||||
// Starting with Error Checking
|
||||
std::string configPath = "src/config/config.json";
|
||||
std::ifstream fin(configPath);
|
||||
|
||||
if(fin.is_open()){
|
||||
std::ifstream jsonText("src/config/config.json");
|
||||
std::string sdlBasePath = SDL_GetBasePath();
|
||||
size_t charPosSdl = sdlBasePath.find("build");
|
||||
sdlBasePath.erase(charPosSdl,sdlBasePath.length());
|
||||
std::string configurationPath = sdlBasePath + configPath;
|
||||
std::ifstream fin(configurationPath);
|
||||
if(!fin.is_open()){
|
||||
std::cerr<<"ERROR: config.json not found or opened"<<std::endl;
|
||||
} else {
|
||||
std::ifstream jsonText(configurationPath);
|
||||
std::ostringstream tmp;
|
||||
tmp << jsonText.rdbuf();
|
||||
std::string json = tmp.str();
|
||||
@ -51,30 +56,29 @@ int main(int argc, const char * argv[])
|
||||
}
|
||||
windowWidth = windowWidth*globalScale;
|
||||
windowHeight = windowHeight*globalScale;
|
||||
game = new Game();
|
||||
game->init(windowName->valuestring, windowWidth, windowHeight, isWindowFS, globalScale);
|
||||
// cJSON memory management
|
||||
cJSON_Delete(myJSON);
|
||||
game = new Game(sdlBasePath);
|
||||
game->init(windowName->valuestring, windowWidth, windowHeight, isWindowFS, globalScale);
|
||||
|
||||
while (game->running())
|
||||
{
|
||||
frameStart = SDL_GetTicks64();
|
||||
// cJSON memory management
|
||||
cJSON_Delete(myJSON);
|
||||
|
||||
game->handleEvents();
|
||||
game->update();
|
||||
game->render();
|
||||
while (game->running())
|
||||
{
|
||||
frameStart = SDL_GetTicks64();
|
||||
|
||||
frameTime = SDL_GetTicks64() - frameStart;
|
||||
game->handleEvents();
|
||||
game->update();
|
||||
game->render();
|
||||
|
||||
if(frameDelay > frameTime)
|
||||
{
|
||||
SDL_Delay(frameDelay - frameTime);
|
||||
}
|
||||
frameTime = SDL_GetTicks64() - frameStart;
|
||||
|
||||
}
|
||||
game->clean();
|
||||
} else {
|
||||
std::cout<<"config.json not found or opened"<<std::endl;
|
||||
if(frameDelay > frameTime)
|
||||
{
|
||||
SDL_Delay(frameDelay - frameTime);
|
||||
}
|
||||
|
||||
}
|
||||
game->clean();
|
||||
}
|
||||
|
||||
if(fin.fail()){
|
||||
|
@ -8,7 +8,7 @@
|
||||
#ifndef SRC_UININESLICE_H_
|
||||
#define SRC_UININESLICE_H_
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include "string"
|
||||
#include "../game/Game.hpp"
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#define ASCII_COUNT 96
|
||||
#define ASCII_ROW_COUNT 16
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL.h>
|
||||
#include <iostream>
|
||||
#include "../game/Game.hpp"
|
||||
#include "../assetmgr/TextureManager.h"
|
||||
|
Loading…
Reference in New Issue
Block a user