From c4c2a3373a104bc14f3f43c2597265ece7ee1e01 Mon Sep 17 00:00:00 2001 From: huaqo-games Date: Sun, 26 Jan 2025 20:51:13 +0100 Subject: [PATCH] init --- Makefile | 32 ++++ assets/character.png | Bin 0 -> 5007 bytes assets/character.png.import | 34 +++++ assets/map.png | Bin 0 -> 20864 bytes assets/map.png.import | 34 +++++ assets/map.tmx | 292 ++++++++++++++++++++++++++++++++++++ assets/tileset.png | Bin 0 -> 45109 bytes bin/game | Bin 0 -> 34104 bytes scripts/main.cpp | 165 ++++++++++++++++++++ 9 files changed, 557 insertions(+) create mode 100644 Makefile create mode 100644 assets/character.png create mode 100644 assets/character.png.import create mode 100644 assets/map.png create mode 100644 assets/map.png.import create mode 100644 assets/map.tmx create mode 100644 assets/tileset.png create mode 100755 bin/game create mode 100644 scripts/main.cpp diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b5795df --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +CXX = clang++ +EMCC = emcc +FLAGS = -Wall -std=c++17 $(shell pkg-config --libs --cflags raylib) +SRC = scripts/main.cpp + +# ARM Build +ARM_TARGET = bin/game +arm: $(ARM_TARGET) +$(ARM_TARGET): $(SRC) + $(CXX) $(FLAGS) $(SRC) -o $(ARM_TARGET) + +# Web Build +WEB_TARGET = bin/game.js +EMFLAGS = -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 \ + --preload-file assets -DPLATFORM_WEB -gsource-map -s ASSERTIONS=2 +RAYLIB_WEB_PATH = web-includes +web: $(WEB_TARGET) +$(WEB_TARGET): $(SRC) + $(EMCC) -Wall -std=c++17 -I/opt/homebrew/include -L$(RAYLIB_WEB_PATH) \ + -lraylib.web $(SRC) -o $(WEB_TARGET) $(EMFLAGS) + +# Clean +clean: + rm -f $(ARM_TARGET) $(WEB_TARGET) + +# Run ARM Build +run: clean arm + ./$(ARM_TARGET) + +# Serve Web Build +serve: web + python3 -m http.server diff --git a/assets/character.png b/assets/character.png new file mode 100644 index 0000000000000000000000000000000000000000..51b27e9d1a576fb3d88dce9972bdb661231e20d2 GIT binary patch literal 5007 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 G6aEcS2m|{7 literal 0 HcmV?d00001 diff --git a/assets/character.png.import b/assets/character.png.import new file mode 100644 index 0000000..1f391bb --- /dev/null +++ b/assets/character.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n72g6l4saupl" +path="res://.godot/imported/character.png-7d161e056639ffa8fae932e906cc0673.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/character.png" +dest_files=["res://.godot/imported/character.png-7d161e056639ffa8fae932e906cc0673.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/map.png b/assets/map.png new file mode 100644 index 0000000000000000000000000000000000000000..a7afe2456593286a4dcd060895c72199cc1224bb GIT binary patch literal 20864 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 + + + + + + + +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, +55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55, +100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462 + + +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, +55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55, +100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462, +551,462,551,462,551,462,551,462,551,462,551,462,551,462,551,462 + + +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0, +55,55,55,55,55,55,55,55,0,0,0,0,0,0,0,0, +100,100,100,100,100,100,100,100,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0, +551,462,551,462,551,462,551,462,0,0,0,0,0,0,0,0 + + +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + +462,551,462,551,462,551,462,551,462,551,462,551,462,551,462,551, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + +462,551,462,551,462,551,462,551,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + +465,464,0,465,0,0,464,0,509,465,465,464,0,465,0,0, +510,0,0,510,0,0,465,0,0,510,510,0,0,510,0,0, +555,0,0,555,464,0,510,0,0,555,555,0,0,555,464,0, +0,508,554,0,0,0,555,0,465,0,0,508,554,0,0,0, +464,0,465,0,0,509,0,0,510,464,464,0,465,0,0,509, +0,0,510,464,0,0,0,0,555,0,0,0,510,464,0,0, +0,469,555,0,0,469,0,464,0,0,0,469,555,0,0,469, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,465,0,465,0,0,465,0,0,0,0,465,0, +0,0,465,0,510,0,510,0,0,510,0,0,465,0,510,0, +464,0,510,464,555,469,555,0,464,555,464,0,510,464,555,469, +0,464,555,0,0,465,0,508,554,0,0,464,555,0,0,465, +0,510,0,0,0,510,0,465,0,0,0,510,0,0,0,510, +0,555,0,464,0,555,0,510,0,464,0,555,0,464,0,555, +0,464,0,465,0,0,0,555,0,465,0,464,0,465,0,0, +0,509,0,510,0,0,509,0,0,510,0,509,0,510,0,0 + + +464,0,509,465,465,464,0,465,0,0,464,0,509,465,465,464, +465,0,0,510,510,0,0,510,0,0,465,0,0,510,510,0, +510,0,0,555,555,0,0,555,464,0,510,0,0,555,555,0, +555,0,465,0,0,508,554,0,0,0,555,0,465,0,0,508, +0,0,510,464,464,0,465,0,0,509,0,0,510,464,464,0, +0,0,555,0,0,0,510,464,0,0,0,0,555,0,0,0, +0,464,0,0,0,469,555,0,0,469,0,464,0,0,0,469, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +465,0,0,465,0,0,0,0,465,0,465,0,0,465,0,0, +510,0,0,510,0,0,465,0,510,0,510,0,0,510,0,0, +555,0,464,555,464,0,510,464,555,469,555,0,464,555,464,0, +0,508,554,0,0,464,555,0,0,465,0,508,554,0,0,464, +0,465,0,0,0,510,0,0,0,510,0,465,0,0,0,510, +0,510,0,464,0,555,0,464,0,555,0,510,0,464,0,555, +0,555,0,465,0,464,0,465,0,0,0,555,0,465,0,464, +509,0,0,510,0,509,0,510,0,0,509,0,0,510,0,509 + + +0,465,0,0,464,0,509,465,0,0,0,0,0,0,0,0, +0,510,0,0,465,0,0,510,0,0,0,0,0,0,0,0, +0,555,464,0,510,0,0,555,0,0,0,0,0,0,0,0, +554,0,0,0,555,0,465,0,0,0,0,0,0,0,0,0, +465,0,0,509,0,0,510,464,0,0,0,0,0,0,0,0, +510,464,0,0,0,0,555,0,0,0,0,0,0,0,0,0, +555,0,0,469,0,464,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,465,0,465,0,0,465,0,0,0,0,0,0,0,0, +465,0,510,0,510,0,0,510,0,0,0,0,0,0,0,0, +510,464,555,469,555,0,464,555,0,0,0,0,0,0,0,0, +555,0,0,465,0,508,554,0,0,0,0,0,0,0,0,0, +0,0,0,510,0,465,0,0,0,0,0,0,0,0,0,0, +0,464,0,555,0,510,0,464,0,0,0,0,0,0,0,0, +0,465,0,0,0,555,0,465,0,0,0,0,0,0,0,0, +0,510,0,0,509,0,0,510,0,0,0,0,0,0,0,0 + + +0,0,0,555,464,0,0,0,0,555,0,0,0,555,464,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + +0,0,0,555,0,0,0,555,464,0,0,0,0,555,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + +0,555,464,0,0,0,0,555,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,63,64,0,0,0,0,0, +0,0,0,0,0,104,105,106,107,108,109,0,0,0,0,0, +0,0,0,0,0,149,150,151,152,153,154,0,0,0,0,0, +0,0,0,0,0,194,195,196,197,198,199,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,444,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,489,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69, +0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,114, +0,0,0,0,0,0,0,0,0,0,0,0,65,66,67,159, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249 + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +25,26,27,0,0,0,0,0,0,0,0,0,0,0,0,0, +70,71,72,73,0,0,0,337,0,0,0,0,0,514,515,0, +115,116,117,118,0,0,0,382,0,0,0,0,0,559,560,0, +160,161,162,163,0,0,0,427,0,0,0,0,0,0,0,0, +205,206,207,208,0,0,0,0,0,0,0,0,0,0,0,0, +250,251,252,253,0,0,0,0,0,0,0,0,0,0,0,0 + + + + diff --git a/assets/tileset.png b/assets/tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..23d4cc7ddbc44d6b7904d17827383609e4e3170c GIT binary patch literal 45109 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 Vwhf$WI9R{$&87#BmcMSY{1;8PNIU=l literal 0 HcmV?d00001 diff --git a/scripts/main.cpp b/scripts/main.cpp new file mode 100644 index 0000000..8f224d4 --- /dev/null +++ b/scripts/main.cpp @@ -0,0 +1,165 @@ +#include + +typedef struct +{ + float x; + float y; + int count; +} SpriteSet; + +int main() +{ + int screenWidth = 1280; + int screenHeight = 720; + InitWindow(screenWidth, screenHeight, "Father and Son"); + SetTargetFPS(60); + + // Initialize Tiles + Texture2D tileTexture = LoadTexture("assets/tileset.png"); + Vector2 tileFrameSize = {16.0f, 16.0f}; + + Rectangle tileSourceRec = { tileFrameSize.x * 11 + 11, tileFrameSize.y * 10 + 10, tileFrameSize.x, tileFrameSize.y}; + + + // Initialize Background + // Texture2D backTexture = LoadTexture("assets/map.png"); + // Vector2 backFrameSize = {639.0f, 271.0f}; + // Rectangle backSourceRec = {0.0f, 0.0f, backFrameSize.x, backFrameSize.y}; + // Rectangle backDestRec = {0.0f, 0.0f, backFrameSize.x, backFrameSize.y}; + // Vector2 backOrigin = {0.0f, 0.0f}; + + // Initialize Character + Texture2D characterTexture = LoadTexture("assets/character.png"); + Vector2 charFrameSize = {32.0f, 32.0f}; + + SpriteSet idle = {0.0f, 0.0f, 2}; + SpriteSet walkingDown = {0.0f, 96.0f, 4}; + SpriteSet walkingRight = {0.0f, 128.0f, 4}; + SpriteSet walkingUp = {0.0f, 160.0f, 4}; + SpriteSet current = idle; + + Rectangle charSourceRec = {idle.x, idle.y, charFrameSize.x, charFrameSize.y}; + Vector2 charPosition = {0.0f, 0.0f}; + Vector2 charOrigin = {charFrameSize.x / 2.0f, charFrameSize.y / 2.0f}; + + int currentFrame = 0; + int framesCounter = 0; + int framesSpeed = 4; + + // Initialize Camera + Camera2D camera = { 0 }; + camera.target = charPosition; + camera.offset = (Vector2){screenWidth / 2.0f, screenHeight / 2.0f}; + camera.rotation = 0.0f; + camera.zoom = 10.0f; + + while (!WindowShouldClose()) + { + // Update Character + if (IsKeyDown(KEY_RIGHT)) + { + current = walkingRight; + charSourceRec.width = charFrameSize.x; + charPosition.x += 0.5f; + } + else if (IsKeyDown(KEY_LEFT)) + { + current = walkingRight; + charSourceRec.width = -charFrameSize.x; + charPosition.x -= 0.5f; + } + else if (IsKeyDown(KEY_DOWN)) + { + current = walkingDown; + charSourceRec.width = charFrameSize.x; + charPosition.y += 0.5f; + } + else if (IsKeyDown(KEY_UP)) + { + current = walkingUp; + charSourceRec.width = charFrameSize.x; + charPosition.y -= 0.5f; + } + else + { + current = idle; + charSourceRec.width = charFrameSize.x; + } + + framesCounter++; + + if (framesCounter >= (60 / framesSpeed)) + { + framesCounter = 0; + currentFrame++; + if (currentFrame >= current.count) + currentFrame = 0; + + charSourceRec.x = current.x + currentFrame * charFrameSize.x; + charSourceRec.y = current.y; + } + + // Update Camera + camera.target = charPosition; + + // Render + BeginDrawing(); + ClearBackground(RAYWHITE); + + BeginMode2D(camera); // Activate 2D camera + + // Render Tiles + float left = camera.target.x - (screenWidth / 2.0f / camera.zoom); + float right = camera.target.x + (screenWidth / 2.0f / camera.zoom); + float top = camera.target.y - (screenHeight / 2.0f / camera.zoom); + float bottom = camera.target.y + (screenHeight / 2.0f / camera.zoom); + + int startX = (int)(left / tileFrameSize.x) - 1; + int endX = (int)(right / tileFrameSize.x) + 1; + int startY = (int)(top / tileFrameSize.y) - 1; + int endY = (int)(bottom / tileFrameSize.y) + 1; + + for (int y = startY; y <= endY; y++) + { + for (int x = startX; x <= endX; x++) + { + Vector2 tilePosition = {x * tileFrameSize.x, y * tileFrameSize.y}; + Rectangle tileDestRec = {tilePosition.x, tilePosition.y, tileFrameSize.x, tileFrameSize.y}; + DrawTexturePro(tileTexture, tileSourceRec, tileDestRec, (Vector2){0.0f, 0.0f}, 0.0f, WHITE); + } + } + + // Render Background + // DrawTexturePro(backTexture, backSourceRec, backDestRec, backOrigin, 0.0f, WHITE); + + // Render Character + Rectangle charDestRec = {charPosition.x, charPosition.y, charFrameSize.x, charFrameSize.y}; + DrawTexturePro(characterTexture, charSourceRec, charDestRec, charOrigin, 0.0f, WHITE); + + EndMode2D(); + + // Render Debug + + EndDrawing(); + } + + // Unload Character + UnloadTexture(characterTexture); + UnloadTexture(tileTexture); + // UnloadTexture(backTexture); + + CloseWindow(); + + return 0; +} + + +/* +DrawRectangleLines(charDestRec.x, charDestRec.y, charFrameSize.x, charFrameSize.y, GREEN); +DrawRectangleLines(charPosition.x, charPosition.y, charFrameSize.x, charFrameSize.y, GREEN); +DrawRectangleLines(camera.offset.x, camera.offset.y, charFrameSize.x, charFrameSize.y, RED); +DrawRectangleLines(camera.target.x, camera.target.y, charFrameSize.x, charFrameSize.y, RED); +DrawText(TextFormat("charDestRec: %f, %f", charDestRec.x, charDestRec.y),10,10,20,GREEN); +DrawText(TextFormat("charSourceRec: %f, %f", charSourceRec.x, charSourceRec.y),10,30,20,GREEN); +DrawFPS(screenWidth - 30, 10); +*/ \ No newline at end of file