diff --git a/.github/workflows/build-macos.yaml b/.github/workflows/build-macos.yaml deleted file mode 100644 index 2fae8c4..0000000 --- a/.github/workflows/build-macos.yaml +++ /dev/null @@ -1,63 +0,0 @@ -name: Build & Release on macOS - -# Run on *every push* to "main," and also build on PRs (but only create the release on push). -on: - push: - branches: - - main - pull_request: - branches: - - main - -permissions: - contents: write # needed so the workflow can create a tag & release - -jobs: - build-and-release-macos: - runs-on: macos-latest - steps: - - name: Check out source - uses: actions/checkout@v3 - - - name: Install Dependencies (Homebrew & raylib) - run: | - brew update - brew install raylib pkg-config - - - name: Build - # Your Makefile from the question - run: make build - - - name: Create Tag & GitHub Release - # Only create a release when it's a push (not a pull_request) - if: ${{ github.event_name == 'push' }} - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - # You need a unique tag each time to avoid "already_exists" errors. - # Here we'll name the tag like "build-123" using the run_number, - # but you could do something like a date-based tag. - tag_name: build-${{ github.run_number }} - - # The commit to tag. Usually, this is the push commit SHA: - commitish: ${{ github.sha }} - - # The release name can match the tag or be more descriptive - release_name: "Automated build #${{ github.run_number }}" - - # Adjust as needed; you could set these to false for a "final" release - draft: false - prerelease: true # Mark as "pre-release" so it's clearly automated - - - name: Upload Release Asset - if: ${{ github.event_name == 'push' }} - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: bin/osx/game - asset_name: game - asset_content_type: application/octet-stream diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 82cd32d..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -bin/ -.DS_STORE/ -.DS_STORE -*.swp diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index 89633d9..0000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "configurations": [ - { - "name": "macOS", - "includePath": [ - "${workspaceFolder}/include", - "${workspaceFolder}/external/engine", - "${workspaceFolder}/external/raygui", - "${workspaceFolder}/external/rini", - "/opt/homebrew/Cellar/raylib/5.5/include" - ], - "cStandard": "c99", - }, - { - "name": "Windows", - "includePath": [ - "${workspaceFolder}/include", - "${workspaceFolder}/external/engine", - "${workspaceFolder}/external/raygui", - "${workspaceFolder}/external/rini", - "C:/raylib/include" - ], - "cStandard": "c99", - } - ], - "version": 4 -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 3cd8cb3..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "files.associations": { - "asset.h": "c", - "stdlib.h": "c", - "view.h": "c", - "__node_handle": "c", - "font.h": "c" - } -} \ No newline at end of file diff --git a/Makefile b/Makefile index e4493f1..9491e23 100644 --- a/Makefile +++ b/Makefile @@ -1,45 +1,50 @@ COMPILER = gcc +# COMPILER FLAGS C_FLAG_STD_C99 = -std=c99 # Use the C99 language standard C_FLAG_DEBUG_INFO = -g # Include debug information -# C_FLAG_HEADERS = -H # Prints paths of all headers +#C_FLAG_HEADERS = -H # Prints paths of all headers C_FLAG_ALL_WARNINGS = -Wall # Enable most common warning C_FLAG_PEDANTIC = -Wpedantic # Enforce ISO C standard strictly C_FLAG_SHADOW = -Wshadow # Warn if a local variable shadows another C_FLAG_STRICT_PROTOS = -Wstrict-prototypes # Warn if function declarations are missing parameter types C_FLAG_NO_UNKNOWN_PRAGMAS = -Wno-unknown-pragmas # Suppress warnings about unknown pragmas + C_FLAGS = \ $(C_FLAG_STD_C99) \ $(C_FLAG_DEBUG_INFO) \ - $(C_FLAG_HEADERS) \ + $(C_FLAG_HEADERS) \ $(C_FLAG_ALL_WARNINGS) \ $(C_FLAG_PEDANTIC) \ $(C_FLAG_SHADOW) \ - $(C_FLAG_STRICT_PROTOS) \ + $(C_FLAG_STRICT_PROTOS) \ $(C_FLAG_NO_UNKNOWN_PRAGMAS) +# INCLUDE FLGAS INCLUDE_FLAGS = -Iinclude -EXTERNAL_ENGINE = -Iexternal/engine -EXTERNAL_RAYGUI = -Iexternal/raygui +# EXTERNAL FLAGS +EXTERNAL_RAYGUI = -Iexternal/raygui EXTERNAL_RINI = -Iexternal/rini EXTERNAL_FLAGS = \ - $(EXTERNAL_ENGINE) \ $(EXTERNAL_RINI) \ $(EXTERNAL_RAYGUI) +# CROSS PLATTFORM ifeq ($(OS), Windows_NT) - SRC = src\main.c + SRC = $(wildcard src\*.c) TARGET = bin\win\game.exe RAYLIB_FLAGS = -I%RAYLIB% -L%RAYLIB% -lraylib -lopengl32 -lgdi32 -lwinmm else - SRC = src/main.c - TARGET = bin/osx/game - RAYLIB_FLAGS = $(shell pkg-config --libs --cflags raylib) + SRC = $(wildcard src/*.c) + TARGET = bin/unix/game + RAYLIB_FLAGS = $(shell pkg-config --libs --cflags raylib) -lm endif -$(shell mkdir -p bin/osx bin/win) +# CREATE BIN DIR +$(shell mkdir -p bin/unix bin/win) +# COMMANDS build: $(SRC) $(COMPILER) $(SRC) -o $(TARGET) $(C_FLAGS) $(INCLUDE_FLAGS) $(EXTERNAL_FLAGS) $(RAYLIB_FLAGS) @@ -47,4 +52,4 @@ clean: rm -f $(TARGET) run: clean build - ./$(TARGET) \ No newline at end of file + ./$(TARGET) diff --git a/README.md b/README.md deleted file mode 100644 index 7e433d5..0000000 --- a/README.md +++ /dev/null @@ -1,122 +0,0 @@ -## Requirements - -Make 4.4.1 -GCC 14.2 -RAYLIB 5.5 -pkgconf(MACOS) - -This document outlines the coding style and conventions to be followed. - -## 1. **File Structure** - -- Header files should be wrapped with include guards to avoid multiple inclusions: - - ```c - #ifndef PHYSICS_H - #define PHYSICS_H - ... - #endif // PHYSICS_H - ``` - -## 2. **Naming Conventions** - -- **Functions:** Function names should use `CamelCase` starting with a upercase letter. - -`UpdatePhysicsDirection`, `UpdatePhysicsVelocity` - -- **Structs:** Struct names should use `CamelCase` starting with an uppercase letter. - -`Physics` - -- **Variables:** Use `CamelCase` starting with a lowerase letter for local and parameter variables. - -`vector`, `newSpeed` - -## 3. **Function Design** - -- Functions should be named descriptively, indicating the purpose or action performed. - -`UpdatePhysicsDirection`, `UpdatePhysicsVelocity` - -- Functions should take pointers when modifying variables outside their scope. - -`void UpdatePhysicsDirection(Vector2 *direction, Vector2 vector)` - -- Ensure function parameters have clear names to indicate their role. - -`UpdatePhysicsVelocity(Vector2 *velocity, Vector2 *direction, float *speed)` - -- Functions should be concise and focused on a single task. Avoid functions with multiple responsibilities. - -## 4. **Struct Design** - - - Prefer composition, where structs are composed of other structs or primitive data types. This allows for more flexible and modular designs. - - ```c - typedef struct { - Vector2 position; - Vector2 direction; - Vector2 velocity; - float speed; - } Physics; - ``` - - Here, instead of trying to create a hierarchy of structs, we compose a Physics struct with relevant fields like `position`, `direction`, and `velocity`. - -## 5. **Indentation & Formatting** - -- **Indentation:** Use 1 tab for indentation. Never use spaces. - -- **Spacing:** Place a single space after keywords like `if`, `for`, and `while`, and around operators (`=`, `+`, `-`, etc.) for readability. - - Example: `*velocity = Vector2Scale(*direction, *speed * GetFrameTime());` - -- **Braces:** Use braces `{}` even for single-line blocks for consistency and future-proofing. - - ```c - if (condition) { - do_something(); - } - ``` - -## 6. **Pointer Usage** - -- Use pointers when passing large structures or when modifying variables outside the scope of the function. - -`Vector2 *position`, `float *speed` - -- Avoid unnecessary dereferencing and use `*` clearly to indicate pointer dereferencing. - -`*position = Vector2Add(*position, *velocity);` - -## 7. **Consistency in Function Calls** - -- When calling functions, parameters should be passed clearly, and care should be taken to avoid modifying data unintentionally unless needed. - - ```c - UpdatePhysicsDirection(&physics->direction, direction); - UpdatePhysicsVelocity(&physics->velocity, &physics->direction, &physics->speed); - UpdatePhysicsPosition(&physics->position, &physics->velocity); - ``` - -## 8. **Comments and Documentation** - -- Strive for clarity through descriptive naming and simple logic. -- Add comments to explain non-obvious logic, design decisions, or complex algorithms. -- Do not state the obvious; let the code speak for itself where possible. - -## 9. **End of File** - -- Always ensure that header files end with the appropriate closing include guard and a new line after the last line of code: - - ```c - #endif // PHYSICS_H - - ``` - -## 10. **General Rules** - -- **Modular Design**: Break code into small, focused functions and modules with clear interfaces. -- **Refactoring**: Regularly refactor code to maintain simplicity and performance -- **Don't Repeat Yourself**: Reuse code by creating helper functions to avoid duplication -- **Avoid magic numbers:** Use constants or defines instead of hardcoded values. -- **Code readability:** Prioritize code readability and maintainability over shortness or cleverness. diff --git a/assets/Clouds/Clouds1/3.png b/assets/Clouds/Clouds1/3.png deleted file mode 100644 index a5818cc..0000000 Binary files a/assets/Clouds/Clouds1/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds2/1.png b/assets/Clouds/Clouds2/1.png deleted file mode 100644 index bf39b1e..0000000 Binary files a/assets/Clouds/Clouds2/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds2/2.png b/assets/Clouds/Clouds2/2.png deleted file mode 100644 index e37d51f..0000000 Binary files a/assets/Clouds/Clouds2/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds2/3.png b/assets/Clouds/Clouds2/3.png deleted file mode 100644 index ad3bcba..0000000 Binary files a/assets/Clouds/Clouds2/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds2/4.png b/assets/Clouds/Clouds2/4.png deleted file mode 100644 index b9d70f1..0000000 Binary files a/assets/Clouds/Clouds2/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds3/1.png b/assets/Clouds/Clouds3/1.png deleted file mode 100644 index 273a5a2..0000000 Binary files a/assets/Clouds/Clouds3/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds3/2.png b/assets/Clouds/Clouds3/2.png deleted file mode 100644 index a523b4d..0000000 Binary files a/assets/Clouds/Clouds3/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds3/3.png b/assets/Clouds/Clouds3/3.png deleted file mode 100644 index 7a9c555..0000000 Binary files a/assets/Clouds/Clouds3/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds3/4.png b/assets/Clouds/Clouds3/4.png deleted file mode 100644 index ca59ca6..0000000 Binary files a/assets/Clouds/Clouds3/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds4/1.png b/assets/Clouds/Clouds4/1.png deleted file mode 100644 index 5958dc0..0000000 Binary files a/assets/Clouds/Clouds4/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds4/2.png b/assets/Clouds/Clouds4/2.png deleted file mode 100644 index bc17a9a..0000000 Binary files a/assets/Clouds/Clouds4/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds4/3.png b/assets/Clouds/Clouds4/3.png deleted file mode 100644 index 7b0b945..0000000 Binary files a/assets/Clouds/Clouds4/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds4/4.png b/assets/Clouds/Clouds4/4.png deleted file mode 100644 index f247fe2..0000000 Binary files a/assets/Clouds/Clouds4/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds5/1.png b/assets/Clouds/Clouds5/1.png deleted file mode 100644 index 8dd4390..0000000 Binary files a/assets/Clouds/Clouds5/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds5/2.png b/assets/Clouds/Clouds5/2.png deleted file mode 100644 index b395da8..0000000 Binary files a/assets/Clouds/Clouds5/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds5/3.png b/assets/Clouds/Clouds5/3.png deleted file mode 100644 index fd8af88..0000000 Binary files a/assets/Clouds/Clouds5/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds5/4.png b/assets/Clouds/Clouds5/4.png deleted file mode 100644 index 5b3b5ef..0000000 Binary files a/assets/Clouds/Clouds5/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds5/5.png b/assets/Clouds/Clouds5/5.png deleted file mode 100644 index 6519e85..0000000 Binary files a/assets/Clouds/Clouds5/5.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/1.png b/assets/Clouds/Clouds6/1.png deleted file mode 100644 index 6061e45..0000000 Binary files a/assets/Clouds/Clouds6/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/2.png b/assets/Clouds/Clouds6/2.png deleted file mode 100644 index 9ccc01b..0000000 Binary files a/assets/Clouds/Clouds6/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/3.png b/assets/Clouds/Clouds6/3.png deleted file mode 100644 index 58c2942..0000000 Binary files a/assets/Clouds/Clouds6/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/4.png b/assets/Clouds/Clouds6/4.png deleted file mode 100644 index 8d30b26..0000000 Binary files a/assets/Clouds/Clouds6/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/5.png b/assets/Clouds/Clouds6/5.png deleted file mode 100644 index f7f13d0..0000000 Binary files a/assets/Clouds/Clouds6/5.png and /dev/null differ diff --git a/assets/Clouds/Clouds6/6.png b/assets/Clouds/Clouds6/6.png deleted file mode 100644 index 436bda0..0000000 Binary files a/assets/Clouds/Clouds6/6.png and /dev/null differ diff --git a/assets/Clouds/Clouds7/1.png b/assets/Clouds/Clouds7/1.png deleted file mode 100644 index be878dc..0000000 Binary files a/assets/Clouds/Clouds7/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds7/2.png b/assets/Clouds/Clouds7/2.png deleted file mode 100644 index b86ad59..0000000 Binary files a/assets/Clouds/Clouds7/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds7/3.png b/assets/Clouds/Clouds7/3.png deleted file mode 100644 index 1f3df64..0000000 Binary files a/assets/Clouds/Clouds7/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds7/4.png b/assets/Clouds/Clouds7/4.png deleted file mode 100644 index 59d9254..0000000 Binary files a/assets/Clouds/Clouds7/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/1.png b/assets/Clouds/Clouds8/1.png deleted file mode 100644 index fb04977..0000000 Binary files a/assets/Clouds/Clouds8/1.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/2.png b/assets/Clouds/Clouds8/2.png deleted file mode 100644 index 0708297..0000000 Binary files a/assets/Clouds/Clouds8/2.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/3.png b/assets/Clouds/Clouds8/3.png deleted file mode 100644 index 693ca85..0000000 Binary files a/assets/Clouds/Clouds8/3.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/4.png b/assets/Clouds/Clouds8/4.png deleted file mode 100644 index 3e474a1..0000000 Binary files a/assets/Clouds/Clouds8/4.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/5.png b/assets/Clouds/Clouds8/5.png deleted file mode 100644 index a93171f..0000000 Binary files a/assets/Clouds/Clouds8/5.png and /dev/null differ diff --git a/assets/Clouds/Clouds8/6.png b/assets/Clouds/Clouds8/6.png deleted file mode 100644 index e39d0ba..0000000 Binary files a/assets/Clouds/Clouds8/6.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/BasicCharakterActions.png b/assets/SproutLandsBasic/Characters/BasicCharakterActions.png deleted file mode 100644 index 4c2c182..0000000 Binary files a/assets/SproutLandsBasic/Characters/BasicCharakterActions.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/BasicCharakterSpritesheet.png b/assets/SproutLandsBasic/Characters/BasicCharakterSpritesheet.png deleted file mode 100644 index 4776cb4..0000000 Binary files a/assets/SproutLandsBasic/Characters/BasicCharakterSpritesheet.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/Egg_And_Nest.png b/assets/SproutLandsBasic/Characters/Egg_And_Nest.png deleted file mode 100644 index cd99655..0000000 Binary files a/assets/SproutLandsBasic/Characters/Egg_And_Nest.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/Free Chicken Sprites.png b/assets/SproutLandsBasic/Characters/Free Chicken Sprites.png deleted file mode 100644 index 21b3c28..0000000 Binary files a/assets/SproutLandsBasic/Characters/Free Chicken Sprites.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/Free Cow Sprites.png b/assets/SproutLandsBasic/Characters/Free Cow Sprites.png deleted file mode 100644 index de23d8a..0000000 Binary files a/assets/SproutLandsBasic/Characters/Free Cow Sprites.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/Tools.png b/assets/SproutLandsBasic/Characters/Tools.png deleted file mode 100644 index a52def2..0000000 Binary files a/assets/SproutLandsBasic/Characters/Tools.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/character.aseprite b/assets/SproutLandsBasic/Characters/character.aseprite deleted file mode 100644 index 2ffff29..0000000 Binary files a/assets/SproutLandsBasic/Characters/character.aseprite and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/character.png b/assets/SproutLandsBasic/Characters/character.png deleted file mode 100644 index 7b710c1..0000000 Binary files a/assets/SproutLandsBasic/Characters/character.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/characterActions.aseprite b/assets/SproutLandsBasic/Characters/characterActions.aseprite deleted file mode 100644 index 9b801ef..0000000 Binary files a/assets/SproutLandsBasic/Characters/characterActions.aseprite and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/characterActions.png b/assets/SproutLandsBasic/Characters/characterActions.png deleted file mode 100644 index fcd7789..0000000 Binary files a/assets/SproutLandsBasic/Characters/characterActions.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/characterIdleWalking.aseprite b/assets/SproutLandsBasic/Characters/characterIdleWalking.aseprite deleted file mode 100644 index 58b0d0b..0000000 Binary files a/assets/SproutLandsBasic/Characters/characterIdleWalking.aseprite and /dev/null differ diff --git a/assets/SproutLandsBasic/Characters/characterIdleWalking.png b/assets/SproutLandsBasic/Characters/characterIdleWalking.png deleted file mode 100644 index 60eabe0..0000000 Binary files a/assets/SproutLandsBasic/Characters/characterIdleWalking.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Basic_Furniture.png b/assets/SproutLandsBasic/Objects/Basic_Furniture.png deleted file mode 100644 index 389a30b..0000000 Binary files a/assets/SproutLandsBasic/Objects/Basic_Furniture.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Basic_Grass_Biom_things.png b/assets/SproutLandsBasic/Objects/Basic_Grass_Biom_things.png deleted file mode 100644 index 86375eb..0000000 Binary files a/assets/SproutLandsBasic/Objects/Basic_Grass_Biom_things.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Basic_Plants.png b/assets/SproutLandsBasic/Objects/Basic_Plants.png deleted file mode 100644 index ae0bb83..0000000 Binary files a/assets/SproutLandsBasic/Objects/Basic_Plants.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Basic_tools_and_meterials.png b/assets/SproutLandsBasic/Objects/Basic_tools_and_meterials.png deleted file mode 100644 index d5acf85..0000000 Binary files a/assets/SproutLandsBasic/Objects/Basic_tools_and_meterials.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Chest.png b/assets/SproutLandsBasic/Objects/Chest.png deleted file mode 100644 index fe107bf..0000000 Binary files a/assets/SproutLandsBasic/Objects/Chest.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Egg_item.png b/assets/SproutLandsBasic/Objects/Egg_item.png deleted file mode 100644 index 71aa0b8..0000000 Binary files a/assets/SproutLandsBasic/Objects/Egg_item.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Free_Chicken_House.png b/assets/SproutLandsBasic/Objects/Free_Chicken_House.png deleted file mode 100644 index bc558a0..0000000 Binary files a/assets/SproutLandsBasic/Objects/Free_Chicken_House.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Paths.png b/assets/SproutLandsBasic/Objects/Paths.png deleted file mode 100644 index 67533ec..0000000 Binary files a/assets/SproutLandsBasic/Objects/Paths.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Simple_Milk_and_grass_item.png b/assets/SproutLandsBasic/Objects/Simple_Milk_and_grass_item.png deleted file mode 100644 index d58ffa1..0000000 Binary files a/assets/SproutLandsBasic/Objects/Simple_Milk_and_grass_item.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/Wood_Bridge.png b/assets/SproutLandsBasic/Objects/Wood_Bridge.png deleted file mode 100644 index 453e80d..0000000 Binary files a/assets/SproutLandsBasic/Objects/Wood_Bridge.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/tools.aseprite b/assets/SproutLandsBasic/Objects/tools.aseprite deleted file mode 100644 index d031a6f..0000000 Binary files a/assets/SproutLandsBasic/Objects/tools.aseprite and /dev/null differ diff --git a/assets/SproutLandsBasic/Objects/tools.png b/assets/SproutLandsBasic/Objects/tools.png deleted file mode 100644 index 5609147..0000000 Binary files a/assets/SproutLandsBasic/Objects/tools.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette snip.PNG b/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette snip.PNG deleted file mode 100644 index 0f293da..0000000 Binary files a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette snip.PNG and /dev/null differ diff --git a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.aseprite b/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.aseprite deleted file mode 100644 index da40574..0000000 Binary files a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.aseprite and /dev/null differ diff --git a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.png b/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.png deleted file mode 100644 index 8434287..0000000 Binary files a/assets/SproutLandsBasic/Sprout Lands color pallet/Sprout Lands defautlt palette.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Bitmask references 1.png b/assets/SproutLandsBasic/Tilesets/Bitmask references 1.png deleted file mode 100644 index 79cb51b..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Bitmask references 1.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Bitmask references 2.png b/assets/SproutLandsBasic/Tilesets/Bitmask references 2.png deleted file mode 100644 index 5adeb64..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Bitmask references 2.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Bitmask references gif.gif b/assets/SproutLandsBasic/Tilesets/Bitmask references gif.gif deleted file mode 100644 index 13bcfaf..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Bitmask references gif.gif and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Doors.png b/assets/SproutLandsBasic/Tilesets/Doors.png deleted file mode 100644 index 8342d98..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Doors.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Fences.png b/assets/SproutLandsBasic/Tilesets/Fences.png deleted file mode 100644 index 0b2825b..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Fences.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Grass.png b/assets/SproutLandsBasic/Tilesets/Grass.png deleted file mode 100644 index baea0eb..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Grass.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Hills.png b/assets/SproutLandsBasic/Tilesets/Hills.png deleted file mode 100644 index 3818f93..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Hills.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt.png b/assets/SproutLandsBasic/Tilesets/Tilled_Dirt.png deleted file mode 100644 index 0b42083..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide.png b/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide.png deleted file mode 100644 index f125497..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide_v2.png b/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide_v2.png deleted file mode 100644 index 138c7da..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_Wide_v2.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_v2.png b/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_v2.png deleted file mode 100644 index f58a14a..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Tilled_Dirt_v2.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Water.png b/assets/SproutLandsBasic/Tilesets/Water.png deleted file mode 100644 index 7969ff3..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Water.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Wooden_House_Roof_Tilset.png b/assets/SproutLandsBasic/Tilesets/Wooden_House_Roof_Tilset.png deleted file mode 100644 index 7a8c956..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Wooden_House_Roof_Tilset.png and /dev/null differ diff --git a/assets/SproutLandsBasic/Tilesets/Wooden_House_Walls_Tilset.png b/assets/SproutLandsBasic/Tilesets/Wooden_House_Walls_Tilset.png deleted file mode 100644 index 7af606f..0000000 Binary files a/assets/SproutLandsBasic/Tilesets/Wooden_House_Walls_Tilset.png and /dev/null differ diff --git a/assets/SproutLandsBasic/read_me.txt b/assets/SproutLandsBasic/read_me.txt deleted file mode 100644 index c5ec82d..0000000 --- a/assets/SproutLandsBasic/read_me.txt +++ /dev/null @@ -1,70 +0,0 @@ - - Heyo! Thanks for downloading the Sprout Lands Basic pack !!! - - Made by: Cup Nooble - - This asset pack is the start of a series of different asset packs, - so let me know if there are any specific sprites you'd like to be added in future packs. - -------------------------------------------------------------------------------------------------------------- - - >>> License - Basic Pack - - ---------- - - - You can modify the assets. - - [ Feel free to get creative and make your own sprites in this style or use them as reference for your own ] - [ Making additional sprites in the same style or using them as reference for your own project is also allowed ] - - ---------- - - - You can use these assets in any kind of non-commercial projects. - - [ Except anything to do with NFTs or AI training is not allowed ] - - ---------- - - - You can not redistribute the asset pack itself or resell it on other platforms, even if it is slightly modified. - - [ Of course, you can redistribute your own projects made with these assets like games, software, or other ] - [ Making your project opensource is also allowed ] - [ For open source projects include a note that says some or all assets are made by Cup Nooble together with the licensing terms ] - - ---------- - - - Credit is required : (Cup Nooble) - - [ Credit example : Assets -From : Sprout Lands -By : Cup Nooble ] - [ If you share your game on itch.io a link to the Asset Packs page would be very appreciated ] - [ But feel free to credit in whatever way fits your project best ] - [ Thanks a lot for reading ^^ ] - - ---------- - - ~ And most importantly hope you have fun with your project !!! - - ? And if you have questions or need/want different licensing terms please reach out to me and I can work with you on a license that suits your needs. - My Discord : cup_nooble - -------------------------------------------------------------------------------------------------------------- - - >>> See updates here : - - - Discord server : - Join The Sprout Lands Discord for any hotfixes and updates or for any questions - Link - https://discord.gg/PyDwcnPY - - - Twitter : - Link - https://twitter.com/Sprout_Lands - -------------------------------------------------------------------------------------------------------------- - - >>> Support - - If you enjoy this asset pack consider leaving a rating and a comment. - It really helps to support the future of this project ^u^! - - ---------- - - Want to find more from Cup Nooble ? - check out their link tree - cupnooble.carrd.co diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Emotes/Teemo Basic emote animations sprite sheet.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/Emotes/Teemo Basic emote animations sprite sheet.png deleted file mode 100644 index 69d14f6..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Emotes/Teemo Basic emote animations sprite sheet.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box big.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box big.png deleted file mode 100644 index 3b98e34..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box big.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box medium.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box medium.png deleted file mode 100644 index 0073c56..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box medium.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box small.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box small.png deleted file mode 100644 index 85e56ca..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/Premade dialog box small.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box big.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box big.png deleted file mode 100644 index 9e701ce..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box big.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box character finished talking click to continue indicator - spritesheet .png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box character finished talking click to continue indicator - spritesheet .png deleted file mode 100644 index ee21d97..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box character finished talking click to continue indicator - spritesheet .png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box medium.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box medium.png deleted file mode 100644 index d2a650e..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box medium.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box small.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box small.png deleted file mode 100644 index 0698a19..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box small.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box.png b/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box.png deleted file mode 100644 index dc15b7f..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Dialouge UI/dialog box.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Icons/All Icons.png b/assets/SproutLandsUI/Spritesheets/Icons/All Icons.png deleted file mode 100644 index 8fa177a..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Icons/All Icons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Icons/special icons/Small Happines-Sadness icons.png b/assets/SproutLandsUI/Spritesheets/Icons/special icons/Small Happines-Sadness icons.png deleted file mode 100644 index fd2a8df..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Icons/special icons/Small Happines-Sadness icons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Icons/special icons/Special Icons.png b/assets/SproutLandsUI/Spritesheets/Icons/special icons/Special Icons.png deleted file mode 100644 index 94df0d7..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Icons/special icons/Special Icons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Icons/white icons.png b/assets/SproutLandsUI/Spritesheets/Icons/white icons.png deleted file mode 100644 index 270dc8c..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Icons/white icons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw Mouse icon.png b/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw Mouse icon.png deleted file mode 100644 index 9c998b3..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw Mouse icon.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw holding Mouse icon.png b/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw holding Mouse icon.png deleted file mode 100644 index 408c708..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw holding Mouse icon.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw pointing Mouse icon.png b/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw pointing Mouse icon.png deleted file mode 100644 index 4268805..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Catpaw pointing Mouse icon.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 2.png b/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 2.png deleted file mode 100644 index b182f38..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 2.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 3.png b/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 3.png deleted file mode 100644 index 55c285b..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Mouse sprites/Triangle Mouse icon 3.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/Sprite sheet for Basic Pack.png b/assets/SproutLandsUI/Spritesheets/Sprite sheet for Basic Pack.png deleted file mode 100644 index db4de3e..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/Sprite sheet for Basic Pack.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/UI Settings Buttons.png b/assets/SproutLandsUI/Spritesheets/UI Settings Buttons.png deleted file mode 100644 index fcfdcfa..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/UI Settings Buttons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/UIBigPlayButton.png b/assets/SproutLandsUI/Spritesheets/UIBigPlayButton.png deleted file mode 100644 index 1510d26..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/UIBigPlayButton.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.aseprite b/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.aseprite deleted file mode 100644 index fef2bac..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.aseprite and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.png b/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.png deleted file mode 100644 index ccb3341..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/buttons/Small Square Buttons.png b/assets/SproutLandsUI/Spritesheets/buttons/Small Square Buttons.png deleted file mode 100644 index b1240b4..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/buttons/Small Square Buttons.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 19x26.png b/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 19x26.png deleted file mode 100644 index 0559704..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 19x26.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x19.png b/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x19.png deleted file mode 100644 index d51433d..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x19.png and /dev/null differ diff --git a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x26.png b/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x26.png deleted file mode 100644 index 667b1bf..0000000 Binary files a/assets/SproutLandsUI/Spritesheets/buttons/Square Buttons 26x26.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/Emoji_Spritesheet_Free.png b/assets/SproutLandsUI/emojis-free/Emoji_Spritesheet_Free.png deleted file mode 100644 index 22d10a5..0000000 Binary files a/assets/SproutLandsUI/emojis-free/Emoji_Spritesheet_Free.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Blocks_Spritesheet.png b/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Blocks_Spritesheet.png deleted file mode 100644 index 912484f..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Blocks_Spritesheet.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Herat_Spritesheet.png b/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Herat_Spritesheet.png deleted file mode 100644 index ec59983..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Herat_Spritesheet.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_Herat_Spritesheet.png b/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_Herat_Spritesheet.png deleted file mode 100644 index 676ed39..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_Herat_Spritesheet.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_example_with_slots_2.png b/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_example_with_slots_2.png deleted file mode 100644 index ad0d5cb..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Light_example_with_slots_2.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Spritesheet.png b/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Spritesheet.png deleted file mode 100644 index 65dba87..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/Inventory_Spritesheet.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example.png deleted file mode 100644 index ae1445c..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_2.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_2.png deleted file mode 100644 index 3707f42..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_2.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_with_slots.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_with_slots.png deleted file mode 100644 index dde728b..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_Light_example_with_slots.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example.png deleted file mode 100644 index 0b7047b..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_2.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_2.png deleted file mode 100644 index ac4ca38..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_2.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots.png deleted file mode 100644 index 6aa8963..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots_2.png b/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots_2.png deleted file mode 100644 index 2920529..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/inventory_example_with_slots_2.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_Icons_smal_freel.png b/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_Icons_smal_freel.png deleted file mode 100644 index e04bc08..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_Icons_smal_freel.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_UI_Free.png b/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_UI_Free.png deleted file mode 100644 index 56865a2..0000000 Binary files a/assets/SproutLandsUI/emojis-free/emoji style ui/weather/Weather_UI_Free.png and /dev/null differ diff --git a/assets/SproutLandsUI/emojis-free/speech_bubble_grey.png b/assets/SproutLandsUI/emojis-free/speech_bubble_grey.png deleted file mode 100644 index 3329460..0000000 Binary files a/assets/SproutLandsUI/emojis-free/speech_bubble_grey.png and /dev/null differ diff --git a/assets/SproutLandsUI/fonts/pixel-letters-7-8x14-preview.png b/assets/SproutLandsUI/fonts/pixel-letters-7-8x14-preview.png deleted file mode 100644 index ab5c320..0000000 Binary files a/assets/SproutLandsUI/fonts/pixel-letters-7-8x14-preview.png and /dev/null differ diff --git a/assets/SproutLandsUI/fonts/pixel-letters-7-8x14.png b/assets/SproutLandsUI/fonts/pixel-letters-7-8x14.png deleted file mode 100644 index 8541c4f..0000000 Binary files a/assets/SproutLandsUI/fonts/pixel-letters-7-8x14.png and /dev/null differ diff --git a/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.ttf b/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.ttf deleted file mode 100644 index 4b2e604..0000000 Binary files a/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.ttf and /dev/null differ diff --git a/assets/SproutLandsUI/read_me.txt b/assets/SproutLandsUI/read_me.txt deleted file mode 100644 index 9342d20..0000000 --- a/assets/SproutLandsUI/read_me.txt +++ /dev/null @@ -1,70 +0,0 @@ - - Heyo! Thanks for downloading the Sprout Lands Basic UI pack !!! - - Made by: Cup Nooble - - This asset pack is the start of a series of different asset packs, - so let me know if there are any specific sprites you'd like to be added in future packs. - -------------------------------------------------------------------------------------------------------------- - - >>> License - Basic UI Pack - - ---------- - - - You can modify the assets. - - [ Feel free to get creative and make your own sprites in this style or use them as reference for your own ] - [ Making additional sprites in the same style or using them as reference for your own project is also allowed ] - - ---------- - - - You can use these assets in any kind of non-commercial projects. - - [ Except anything to do with NFTs or AI training is not allowed ] - - ---------- - - - You can not redistribute the asset pack itself or resell it on other platforms, even if it is slightly modified. - - [ Of course, you can redistribute your own projects made with these assets like games, software, or other ] - [ Making your project opensource is also allowed ] - [ For open source projects include a note that says some or all assets are made by Cup Nooble together with the licensing terms ] - - ---------- - - - Credit is required : (Cup Nooble) - - [ Credit example : Assets -From : Sprout Lands -By : Cup Nooble ] - [ If you share your game on itch.io a link to the Asset Packs page would be very appreciated ] - [ But feel free to credit in whatever way fits your project best ] - [ Thanks a lot for reading ^^ ] - - ---------- - - ~ And most importantly hope you have fun with your project !!! - - ? And if you have questions or need/want different licensing terms please reach out to me and I can work with you on a license that suits your needs. - My Discord : cup_nooble - -------------------------------------------------------------------------------------------------------------- - - >>> See updates here : - - - Discord server : - Join The Sprout Lands Discord for any hotfixes and updates or for any questions - Link - https://discord.gg/PyDwcnPY - - - Twitter : - Link - https://twitter.com/Sprout_Lands - -------------------------------------------------------------------------------------------------------------- - - >>> Support - - If you enjoy this asset pack consider leaving a rating and a comment. - It really helps to support the future of this project ^u^! - - ---------- - - Want to find more from Cup Nooble ? - check out their link tree - cupnooble.carrd.co diff --git a/assets/audio/MP3/Abstract1.mp3 b/assets/audio/MP3/Abstract1.mp3 deleted file mode 100644 index 27d14eb..0000000 Binary files a/assets/audio/MP3/Abstract1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Abstract2.mp3 b/assets/audio/MP3/Abstract2.mp3 deleted file mode 100644 index 3169588..0000000 Binary files a/assets/audio/MP3/Abstract2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/African1.mp3 b/assets/audio/MP3/African1.mp3 deleted file mode 100644 index 7f121c6..0000000 Binary files a/assets/audio/MP3/African1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/African2.mp3 b/assets/audio/MP3/African2.mp3 deleted file mode 100644 index 2faf5a2..0000000 Binary files a/assets/audio/MP3/African2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/African3.mp3 b/assets/audio/MP3/African3.mp3 deleted file mode 100644 index 396b719..0000000 Binary files a/assets/audio/MP3/African3.mp3 and /dev/null differ diff --git a/assets/audio/MP3/African4.mp3 b/assets/audio/MP3/African4.mp3 deleted file mode 100644 index a47b96e..0000000 Binary files a/assets/audio/MP3/African4.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Coffee1.mp3 b/assets/audio/MP3/Coffee1.mp3 deleted file mode 100644 index 4cd1b6e..0000000 Binary files a/assets/audio/MP3/Coffee1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Coffee2.mp3 b/assets/audio/MP3/Coffee2.mp3 deleted file mode 100644 index db581eb..0000000 Binary files a/assets/audio/MP3/Coffee2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist1.mp3 b/assets/audio/MP3/Minimalist1.mp3 deleted file mode 100644 index cae71a0..0000000 Binary files a/assets/audio/MP3/Minimalist1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist10.mp3 b/assets/audio/MP3/Minimalist10.mp3 deleted file mode 100644 index 947666c..0000000 Binary files a/assets/audio/MP3/Minimalist10.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist11.mp3 b/assets/audio/MP3/Minimalist11.mp3 deleted file mode 100644 index 4f18e71..0000000 Binary files a/assets/audio/MP3/Minimalist11.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist12.mp3 b/assets/audio/MP3/Minimalist12.mp3 deleted file mode 100644 index 8ef588e..0000000 Binary files a/assets/audio/MP3/Minimalist12.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist13.mp3 b/assets/audio/MP3/Minimalist13.mp3 deleted file mode 100644 index 1b045da..0000000 Binary files a/assets/audio/MP3/Minimalist13.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist2.mp3 b/assets/audio/MP3/Minimalist2.mp3 deleted file mode 100644 index edf3e03..0000000 Binary files a/assets/audio/MP3/Minimalist2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist3.mp3 b/assets/audio/MP3/Minimalist3.mp3 deleted file mode 100644 index 1ce636a..0000000 Binary files a/assets/audio/MP3/Minimalist3.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist4.mp3 b/assets/audio/MP3/Minimalist4.mp3 deleted file mode 100644 index ee432d1..0000000 Binary files a/assets/audio/MP3/Minimalist4.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist5.mp3 b/assets/audio/MP3/Minimalist5.mp3 deleted file mode 100644 index f6fc418..0000000 Binary files a/assets/audio/MP3/Minimalist5.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist6.mp3 b/assets/audio/MP3/Minimalist6.mp3 deleted file mode 100644 index 2ecca45..0000000 Binary files a/assets/audio/MP3/Minimalist6.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist7.mp3 b/assets/audio/MP3/Minimalist7.mp3 deleted file mode 100644 index b5263e4..0000000 Binary files a/assets/audio/MP3/Minimalist7.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist8.mp3 b/assets/audio/MP3/Minimalist8.mp3 deleted file mode 100644 index c645611..0000000 Binary files a/assets/audio/MP3/Minimalist8.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Minimalist9.mp3 b/assets/audio/MP3/Minimalist9.mp3 deleted file mode 100644 index 881f11e..0000000 Binary files a/assets/audio/MP3/Minimalist9.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern1.mp3 b/assets/audio/MP3/Modern1.mp3 deleted file mode 100644 index 321488b..0000000 Binary files a/assets/audio/MP3/Modern1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern10.mp3 b/assets/audio/MP3/Modern10.mp3 deleted file mode 100644 index f1fa81a..0000000 Binary files a/assets/audio/MP3/Modern10.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern11.mp3 b/assets/audio/MP3/Modern11.mp3 deleted file mode 100644 index 89c632a..0000000 Binary files a/assets/audio/MP3/Modern11.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern12.mp3 b/assets/audio/MP3/Modern12.mp3 deleted file mode 100644 index f5887da..0000000 Binary files a/assets/audio/MP3/Modern12.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern13.mp3 b/assets/audio/MP3/Modern13.mp3 deleted file mode 100644 index 7cc99ee..0000000 Binary files a/assets/audio/MP3/Modern13.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern14.mp3 b/assets/audio/MP3/Modern14.mp3 deleted file mode 100644 index ba3ba1a..0000000 Binary files a/assets/audio/MP3/Modern14.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern15.mp3 b/assets/audio/MP3/Modern15.mp3 deleted file mode 100644 index db0126c..0000000 Binary files a/assets/audio/MP3/Modern15.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern16.mp3 b/assets/audio/MP3/Modern16.mp3 deleted file mode 100644 index e323af4..0000000 Binary files a/assets/audio/MP3/Modern16.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern2.mp3 b/assets/audio/MP3/Modern2.mp3 deleted file mode 100644 index 827e67c..0000000 Binary files a/assets/audio/MP3/Modern2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern3.mp3 b/assets/audio/MP3/Modern3.mp3 deleted file mode 100644 index 0a9c126..0000000 Binary files a/assets/audio/MP3/Modern3.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern4.mp3 b/assets/audio/MP3/Modern4.mp3 deleted file mode 100644 index aaf38ad..0000000 Binary files a/assets/audio/MP3/Modern4.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern5.mp3 b/assets/audio/MP3/Modern5.mp3 deleted file mode 100644 index e76c22c..0000000 Binary files a/assets/audio/MP3/Modern5.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern6.mp3 b/assets/audio/MP3/Modern6.mp3 deleted file mode 100644 index 9674a23..0000000 Binary files a/assets/audio/MP3/Modern6.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern7.mp3 b/assets/audio/MP3/Modern7.mp3 deleted file mode 100644 index c0326d5..0000000 Binary files a/assets/audio/MP3/Modern7.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern8.mp3 b/assets/audio/MP3/Modern8.mp3 deleted file mode 100644 index c14cbd8..0000000 Binary files a/assets/audio/MP3/Modern8.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Modern9.mp3 b/assets/audio/MP3/Modern9.mp3 deleted file mode 100644 index 656b82a..0000000 Binary files a/assets/audio/MP3/Modern9.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro1.mp3 b/assets/audio/MP3/Retro1.mp3 deleted file mode 100644 index 0db6792..0000000 Binary files a/assets/audio/MP3/Retro1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro10.mp3 b/assets/audio/MP3/Retro10.mp3 deleted file mode 100644 index 59bb98a..0000000 Binary files a/assets/audio/MP3/Retro10.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro11.mp3 b/assets/audio/MP3/Retro11.mp3 deleted file mode 100644 index 0a68574..0000000 Binary files a/assets/audio/MP3/Retro11.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro12.mp3 b/assets/audio/MP3/Retro12.mp3 deleted file mode 100644 index 407d3c0..0000000 Binary files a/assets/audio/MP3/Retro12.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro2.mp3 b/assets/audio/MP3/Retro2.mp3 deleted file mode 100644 index f03d110..0000000 Binary files a/assets/audio/MP3/Retro2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro3.mp3 b/assets/audio/MP3/Retro3.mp3 deleted file mode 100644 index a7d1b45..0000000 Binary files a/assets/audio/MP3/Retro3.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro4.mp3 b/assets/audio/MP3/Retro4.mp3 deleted file mode 100644 index 7c99867..0000000 Binary files a/assets/audio/MP3/Retro4.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro5.mp3 b/assets/audio/MP3/Retro5.mp3 deleted file mode 100644 index 912fc6f..0000000 Binary files a/assets/audio/MP3/Retro5.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro6.mp3 b/assets/audio/MP3/Retro6.mp3 deleted file mode 100644 index a12bb58..0000000 Binary files a/assets/audio/MP3/Retro6.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro7.mp3 b/assets/audio/MP3/Retro7.mp3 deleted file mode 100644 index 5a77759..0000000 Binary files a/assets/audio/MP3/Retro7.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro8.mp3 b/assets/audio/MP3/Retro8.mp3 deleted file mode 100644 index 7cdde94..0000000 Binary files a/assets/audio/MP3/Retro8.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Retro9.mp3 b/assets/audio/MP3/Retro9.mp3 deleted file mode 100644 index 7b64fc6..0000000 Binary files a/assets/audio/MP3/Retro9.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Wood Block1.mp3 b/assets/audio/MP3/Wood Block1.mp3 deleted file mode 100644 index 1302628..0000000 Binary files a/assets/audio/MP3/Wood Block1.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Wood Block2.mp3 b/assets/audio/MP3/Wood Block2.mp3 deleted file mode 100644 index b1b623a..0000000 Binary files a/assets/audio/MP3/Wood Block2.mp3 and /dev/null differ diff --git a/assets/audio/MP3/Wood Block3.mp3 b/assets/audio/MP3/Wood Block3.mp3 deleted file mode 100644 index fb51628..0000000 Binary files a/assets/audio/MP3/Wood Block3.mp3 and /dev/null differ diff --git a/assets/audio/OGG/Abstract1.ogg b/assets/audio/OGG/Abstract1.ogg deleted file mode 100644 index 2aae6e9..0000000 Binary files a/assets/audio/OGG/Abstract1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Abstract2.ogg b/assets/audio/OGG/Abstract2.ogg deleted file mode 100644 index 6cd261f..0000000 Binary files a/assets/audio/OGG/Abstract2.ogg and /dev/null differ diff --git a/assets/audio/OGG/African1.ogg b/assets/audio/OGG/African1.ogg deleted file mode 100644 index ae17fcd..0000000 Binary files a/assets/audio/OGG/African1.ogg and /dev/null differ diff --git a/assets/audio/OGG/African2.ogg b/assets/audio/OGG/African2.ogg deleted file mode 100644 index db4aaf4..0000000 Binary files a/assets/audio/OGG/African2.ogg and /dev/null differ diff --git a/assets/audio/OGG/African3.ogg b/assets/audio/OGG/African3.ogg deleted file mode 100644 index 66f7584..0000000 Binary files a/assets/audio/OGG/African3.ogg and /dev/null differ diff --git a/assets/audio/OGG/African4.ogg b/assets/audio/OGG/African4.ogg deleted file mode 100644 index 590c7da..0000000 Binary files a/assets/audio/OGG/African4.ogg and /dev/null differ diff --git a/assets/audio/OGG/Coffee1.ogg b/assets/audio/OGG/Coffee1.ogg deleted file mode 100644 index 783adfc..0000000 Binary files a/assets/audio/OGG/Coffee1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Coffee2.ogg b/assets/audio/OGG/Coffee2.ogg deleted file mode 100644 index ffe2f89..0000000 Binary files a/assets/audio/OGG/Coffee2.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist1.ogg b/assets/audio/OGG/Minimalist1.ogg deleted file mode 100644 index 17d414c..0000000 Binary files a/assets/audio/OGG/Minimalist1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist10.ogg b/assets/audio/OGG/Minimalist10.ogg deleted file mode 100644 index e8ad222..0000000 Binary files a/assets/audio/OGG/Minimalist10.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist11.ogg b/assets/audio/OGG/Minimalist11.ogg deleted file mode 100644 index 2b503e4..0000000 Binary files a/assets/audio/OGG/Minimalist11.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist12.ogg b/assets/audio/OGG/Minimalist12.ogg deleted file mode 100644 index 48c4eac..0000000 Binary files a/assets/audio/OGG/Minimalist12.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist13.ogg b/assets/audio/OGG/Minimalist13.ogg deleted file mode 100644 index 42d4a38..0000000 Binary files a/assets/audio/OGG/Minimalist13.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist2.ogg b/assets/audio/OGG/Minimalist2.ogg deleted file mode 100644 index b9aaf43..0000000 Binary files a/assets/audio/OGG/Minimalist2.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist3.ogg b/assets/audio/OGG/Minimalist3.ogg deleted file mode 100644 index 93b240d..0000000 Binary files a/assets/audio/OGG/Minimalist3.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist4.ogg b/assets/audio/OGG/Minimalist4.ogg deleted file mode 100644 index 01e308d..0000000 Binary files a/assets/audio/OGG/Minimalist4.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist5.ogg b/assets/audio/OGG/Minimalist5.ogg deleted file mode 100644 index e721494..0000000 Binary files a/assets/audio/OGG/Minimalist5.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist6.ogg b/assets/audio/OGG/Minimalist6.ogg deleted file mode 100644 index 2db7077..0000000 Binary files a/assets/audio/OGG/Minimalist6.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist7.ogg b/assets/audio/OGG/Minimalist7.ogg deleted file mode 100644 index 03d945c..0000000 Binary files a/assets/audio/OGG/Minimalist7.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist8.ogg b/assets/audio/OGG/Minimalist8.ogg deleted file mode 100644 index dfa7fb8..0000000 Binary files a/assets/audio/OGG/Minimalist8.ogg and /dev/null differ diff --git a/assets/audio/OGG/Minimalist9.ogg b/assets/audio/OGG/Minimalist9.ogg deleted file mode 100644 index e97150f..0000000 Binary files a/assets/audio/OGG/Minimalist9.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern1.ogg b/assets/audio/OGG/Modern1.ogg deleted file mode 100644 index 4411f14..0000000 Binary files a/assets/audio/OGG/Modern1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern10.ogg b/assets/audio/OGG/Modern10.ogg deleted file mode 100644 index 3552342..0000000 Binary files a/assets/audio/OGG/Modern10.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern11.ogg b/assets/audio/OGG/Modern11.ogg deleted file mode 100644 index 1668645..0000000 Binary files a/assets/audio/OGG/Modern11.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern12.ogg b/assets/audio/OGG/Modern12.ogg deleted file mode 100644 index 9a88758..0000000 Binary files a/assets/audio/OGG/Modern12.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern13.ogg b/assets/audio/OGG/Modern13.ogg deleted file mode 100644 index 7e27946..0000000 Binary files a/assets/audio/OGG/Modern13.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern14.ogg b/assets/audio/OGG/Modern14.ogg deleted file mode 100644 index 461c515..0000000 Binary files a/assets/audio/OGG/Modern14.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern15.ogg b/assets/audio/OGG/Modern15.ogg deleted file mode 100644 index 20e7ffc..0000000 Binary files a/assets/audio/OGG/Modern15.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern16.ogg b/assets/audio/OGG/Modern16.ogg deleted file mode 100644 index 671ac7f..0000000 Binary files a/assets/audio/OGG/Modern16.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern2.ogg b/assets/audio/OGG/Modern2.ogg deleted file mode 100644 index b7e30d8..0000000 Binary files a/assets/audio/OGG/Modern2.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern3.ogg b/assets/audio/OGG/Modern3.ogg deleted file mode 100644 index eeef39c..0000000 Binary files a/assets/audio/OGG/Modern3.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern4.ogg b/assets/audio/OGG/Modern4.ogg deleted file mode 100644 index 9288e95..0000000 Binary files a/assets/audio/OGG/Modern4.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern5.ogg b/assets/audio/OGG/Modern5.ogg deleted file mode 100644 index 8c46eaa..0000000 Binary files a/assets/audio/OGG/Modern5.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern6.ogg b/assets/audio/OGG/Modern6.ogg deleted file mode 100644 index 30ce7fb..0000000 Binary files a/assets/audio/OGG/Modern6.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern7.ogg b/assets/audio/OGG/Modern7.ogg deleted file mode 100644 index 4ed0f67..0000000 Binary files a/assets/audio/OGG/Modern7.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern8.ogg b/assets/audio/OGG/Modern8.ogg deleted file mode 100644 index a18a442..0000000 Binary files a/assets/audio/OGG/Modern8.ogg and /dev/null differ diff --git a/assets/audio/OGG/Modern9.ogg b/assets/audio/OGG/Modern9.ogg deleted file mode 100644 index 2d5543b..0000000 Binary files a/assets/audio/OGG/Modern9.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro1.ogg b/assets/audio/OGG/Retro1.ogg deleted file mode 100644 index 7ed992b..0000000 Binary files a/assets/audio/OGG/Retro1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro10.ogg b/assets/audio/OGG/Retro10.ogg deleted file mode 100644 index 8998f1d..0000000 Binary files a/assets/audio/OGG/Retro10.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro11.ogg b/assets/audio/OGG/Retro11.ogg deleted file mode 100644 index 5795a3d..0000000 Binary files a/assets/audio/OGG/Retro11.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro12.ogg b/assets/audio/OGG/Retro12.ogg deleted file mode 100644 index d2d7754..0000000 Binary files a/assets/audio/OGG/Retro12.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro2.ogg b/assets/audio/OGG/Retro2.ogg deleted file mode 100644 index d7b85aa..0000000 Binary files a/assets/audio/OGG/Retro2.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro3.ogg b/assets/audio/OGG/Retro3.ogg deleted file mode 100644 index 155bf91..0000000 Binary files a/assets/audio/OGG/Retro3.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro4.ogg b/assets/audio/OGG/Retro4.ogg deleted file mode 100644 index 338efb0..0000000 Binary files a/assets/audio/OGG/Retro4.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro5.ogg b/assets/audio/OGG/Retro5.ogg deleted file mode 100644 index 6ca47b4..0000000 Binary files a/assets/audio/OGG/Retro5.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro6.ogg b/assets/audio/OGG/Retro6.ogg deleted file mode 100644 index b79dd8a..0000000 Binary files a/assets/audio/OGG/Retro6.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro7.ogg b/assets/audio/OGG/Retro7.ogg deleted file mode 100644 index 169bfa4..0000000 Binary files a/assets/audio/OGG/Retro7.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro8.ogg b/assets/audio/OGG/Retro8.ogg deleted file mode 100644 index 3e2bfff..0000000 Binary files a/assets/audio/OGG/Retro8.ogg and /dev/null differ diff --git a/assets/audio/OGG/Retro9.ogg b/assets/audio/OGG/Retro9.ogg deleted file mode 100644 index e204d21..0000000 Binary files a/assets/audio/OGG/Retro9.ogg and /dev/null differ diff --git a/assets/audio/OGG/Wood Block1.ogg b/assets/audio/OGG/Wood Block1.ogg deleted file mode 100644 index f844b1e..0000000 Binary files a/assets/audio/OGG/Wood Block1.ogg and /dev/null differ diff --git a/assets/audio/OGG/Wood Block2.ogg b/assets/audio/OGG/Wood Block2.ogg deleted file mode 100644 index f0b6c2a..0000000 Binary files a/assets/audio/OGG/Wood Block2.ogg and /dev/null differ diff --git a/assets/audio/OGG/Wood Block3.ogg b/assets/audio/OGG/Wood Block3.ogg deleted file mode 100644 index 81b0eb6..0000000 Binary files a/assets/audio/OGG/Wood Block3.ogg and /dev/null differ diff --git a/assets/audio/WAV/Abstract2.wav b/assets/audio/WAV/Abstract2.wav deleted file mode 100644 index 3bba5a5..0000000 Binary files a/assets/audio/WAV/Abstract2.wav and /dev/null differ diff --git a/assets/audio/WAV/African1.wav b/assets/audio/WAV/African1.wav deleted file mode 100644 index 416a9f5..0000000 Binary files a/assets/audio/WAV/African1.wav and /dev/null differ diff --git a/assets/audio/WAV/African2.wav b/assets/audio/WAV/African2.wav deleted file mode 100644 index 075d89e..0000000 Binary files a/assets/audio/WAV/African2.wav and /dev/null differ diff --git a/assets/audio/WAV/African3.wav b/assets/audio/WAV/African3.wav deleted file mode 100644 index 14b54d0..0000000 Binary files a/assets/audio/WAV/African3.wav and /dev/null differ diff --git a/assets/audio/WAV/African4.wav b/assets/audio/WAV/African4.wav deleted file mode 100644 index bfbfbf2..0000000 Binary files a/assets/audio/WAV/African4.wav and /dev/null differ diff --git a/assets/audio/WAV/Coffee1.wav b/assets/audio/WAV/Coffee1.wav deleted file mode 100644 index cb44c22..0000000 Binary files a/assets/audio/WAV/Coffee1.wav and /dev/null differ diff --git a/assets/audio/WAV/Coffee2.wav b/assets/audio/WAV/Coffee2.wav deleted file mode 100644 index 05d4073..0000000 Binary files a/assets/audio/WAV/Coffee2.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist10.wav b/assets/audio/WAV/Minimalist10.wav deleted file mode 100644 index 881ba35..0000000 Binary files a/assets/audio/WAV/Minimalist10.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist11.wav b/assets/audio/WAV/Minimalist11.wav deleted file mode 100644 index f656b4a..0000000 Binary files a/assets/audio/WAV/Minimalist11.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist12.wav b/assets/audio/WAV/Minimalist12.wav deleted file mode 100644 index b391f7c..0000000 Binary files a/assets/audio/WAV/Minimalist12.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist13.wav b/assets/audio/WAV/Minimalist13.wav deleted file mode 100644 index f1e15b6..0000000 Binary files a/assets/audio/WAV/Minimalist13.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist2.wav b/assets/audio/WAV/Minimalist2.wav deleted file mode 100644 index 3694db5..0000000 Binary files a/assets/audio/WAV/Minimalist2.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist3.wav b/assets/audio/WAV/Minimalist3.wav deleted file mode 100644 index 45b28fd..0000000 Binary files a/assets/audio/WAV/Minimalist3.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist4.wav b/assets/audio/WAV/Minimalist4.wav deleted file mode 100644 index 2319d7b..0000000 Binary files a/assets/audio/WAV/Minimalist4.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist5.wav b/assets/audio/WAV/Minimalist5.wav deleted file mode 100644 index 558f9cc..0000000 Binary files a/assets/audio/WAV/Minimalist5.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist6.wav b/assets/audio/WAV/Minimalist6.wav deleted file mode 100644 index a94fec7..0000000 Binary files a/assets/audio/WAV/Minimalist6.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist7.wav b/assets/audio/WAV/Minimalist7.wav deleted file mode 100644 index b823852..0000000 Binary files a/assets/audio/WAV/Minimalist7.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist8.wav b/assets/audio/WAV/Minimalist8.wav deleted file mode 100644 index 5240f83..0000000 Binary files a/assets/audio/WAV/Minimalist8.wav and /dev/null differ diff --git a/assets/audio/WAV/Minimalist9.wav b/assets/audio/WAV/Minimalist9.wav deleted file mode 100644 index 21cb2ed..0000000 Binary files a/assets/audio/WAV/Minimalist9.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern1.wav b/assets/audio/WAV/Modern1.wav deleted file mode 100644 index 120ff7e..0000000 Binary files a/assets/audio/WAV/Modern1.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern10.wav b/assets/audio/WAV/Modern10.wav deleted file mode 100644 index 4ed6bf1..0000000 Binary files a/assets/audio/WAV/Modern10.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern11.wav b/assets/audio/WAV/Modern11.wav deleted file mode 100644 index 8d3bb16..0000000 Binary files a/assets/audio/WAV/Modern11.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern12.wav b/assets/audio/WAV/Modern12.wav deleted file mode 100644 index adcf097..0000000 Binary files a/assets/audio/WAV/Modern12.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern13.wav b/assets/audio/WAV/Modern13.wav deleted file mode 100644 index 16090c4..0000000 Binary files a/assets/audio/WAV/Modern13.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern14.wav b/assets/audio/WAV/Modern14.wav deleted file mode 100644 index cc78257..0000000 Binary files a/assets/audio/WAV/Modern14.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern15.wav b/assets/audio/WAV/Modern15.wav deleted file mode 100644 index 1184af6..0000000 Binary files a/assets/audio/WAV/Modern15.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern16.wav b/assets/audio/WAV/Modern16.wav deleted file mode 100644 index 64edae8..0000000 Binary files a/assets/audio/WAV/Modern16.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern2.wav b/assets/audio/WAV/Modern2.wav deleted file mode 100644 index 43895cd..0000000 Binary files a/assets/audio/WAV/Modern2.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern3.wav b/assets/audio/WAV/Modern3.wav deleted file mode 100644 index 1b901b7..0000000 Binary files a/assets/audio/WAV/Modern3.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern4.wav b/assets/audio/WAV/Modern4.wav deleted file mode 100644 index 6d89402..0000000 Binary files a/assets/audio/WAV/Modern4.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern5.wav b/assets/audio/WAV/Modern5.wav deleted file mode 100644 index 95c08ed..0000000 Binary files a/assets/audio/WAV/Modern5.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern6.wav b/assets/audio/WAV/Modern6.wav deleted file mode 100644 index 73b7eb0..0000000 Binary files a/assets/audio/WAV/Modern6.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern7.wav b/assets/audio/WAV/Modern7.wav deleted file mode 100644 index 362a6ac..0000000 Binary files a/assets/audio/WAV/Modern7.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern8.wav b/assets/audio/WAV/Modern8.wav deleted file mode 100644 index cc66aaa..0000000 Binary files a/assets/audio/WAV/Modern8.wav and /dev/null differ diff --git a/assets/audio/WAV/Modern9.wav b/assets/audio/WAV/Modern9.wav deleted file mode 100644 index fa4b0c0..0000000 Binary files a/assets/audio/WAV/Modern9.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro1.wav b/assets/audio/WAV/Retro1.wav deleted file mode 100644 index 86c4b01..0000000 Binary files a/assets/audio/WAV/Retro1.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro10.wav b/assets/audio/WAV/Retro10.wav deleted file mode 100644 index d82990c..0000000 Binary files a/assets/audio/WAV/Retro10.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro11.wav b/assets/audio/WAV/Retro11.wav deleted file mode 100644 index e2d864b..0000000 Binary files a/assets/audio/WAV/Retro11.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro12.wav b/assets/audio/WAV/Retro12.wav deleted file mode 100644 index e1df547..0000000 Binary files a/assets/audio/WAV/Retro12.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro2.wav b/assets/audio/WAV/Retro2.wav deleted file mode 100644 index 986b07a..0000000 Binary files a/assets/audio/WAV/Retro2.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro3.wav b/assets/audio/WAV/Retro3.wav deleted file mode 100644 index 4f22401..0000000 Binary files a/assets/audio/WAV/Retro3.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro4.wav b/assets/audio/WAV/Retro4.wav deleted file mode 100644 index 9fa0be1..0000000 Binary files a/assets/audio/WAV/Retro4.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro5.wav b/assets/audio/WAV/Retro5.wav deleted file mode 100644 index bdb11c6..0000000 Binary files a/assets/audio/WAV/Retro5.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro6.wav b/assets/audio/WAV/Retro6.wav deleted file mode 100644 index fc0644e..0000000 Binary files a/assets/audio/WAV/Retro6.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro7.wav b/assets/audio/WAV/Retro7.wav deleted file mode 100644 index 18dd59c..0000000 Binary files a/assets/audio/WAV/Retro7.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro8.wav b/assets/audio/WAV/Retro8.wav deleted file mode 100644 index 0f2d983..0000000 Binary files a/assets/audio/WAV/Retro8.wav and /dev/null differ diff --git a/assets/audio/WAV/Retro9.wav b/assets/audio/WAV/Retro9.wav deleted file mode 100644 index 4b2fadd..0000000 Binary files a/assets/audio/WAV/Retro9.wav and /dev/null differ diff --git a/assets/audio/WAV/Wood Block1.wav b/assets/audio/WAV/Wood Block1.wav deleted file mode 100644 index a25e2b2..0000000 Binary files a/assets/audio/WAV/Wood Block1.wav and /dev/null differ diff --git a/assets/audio/WAV/Wood Block2.wav b/assets/audio/WAV/Wood Block2.wav deleted file mode 100644 index 89544a8..0000000 Binary files a/assets/audio/WAV/Wood Block2.wav and /dev/null differ diff --git a/assets/audio/WAV/Wood Block3.wav b/assets/audio/WAV/Wood Block3.wav deleted file mode 100644 index 572005b..0000000 Binary files a/assets/audio/WAV/Wood Block3.wav and /dev/null differ diff --git a/assets/audio/sounds/axe.mp3 b/assets/audio/sounds/axe.mp3 deleted file mode 100644 index 11956f2..0000000 Binary files a/assets/audio/sounds/axe.mp3 and /dev/null differ diff --git a/assets/audio/sounds/bg.mp3 b/assets/audio/sounds/bg.mp3 deleted file mode 100644 index 9ef5ef4..0000000 Binary files a/assets/audio/sounds/bg.mp3 and /dev/null differ diff --git a/assets/audio/sounds/coin.wav b/assets/audio/sounds/coin.wav deleted file mode 100644 index 0509182..0000000 Binary files a/assets/audio/sounds/coin.wav and /dev/null differ diff --git a/assets/audio/sounds/explosion.wav b/assets/audio/sounds/explosion.wav deleted file mode 100644 index 8a67b16..0000000 Binary files a/assets/audio/sounds/explosion.wav and /dev/null differ diff --git a/assets/audio/sounds/hoe.wav b/assets/audio/sounds/hoe.wav deleted file mode 100644 index f22d74f..0000000 Binary files a/assets/audio/sounds/hoe.wav and /dev/null differ diff --git a/assets/audio/sounds/hurt.wav b/assets/audio/sounds/hurt.wav deleted file mode 100644 index b46ecd7..0000000 Binary files a/assets/audio/sounds/hurt.wav and /dev/null differ diff --git a/assets/audio/sounds/jump.wav b/assets/audio/sounds/jump.wav deleted file mode 100644 index 611bddf..0000000 Binary files a/assets/audio/sounds/jump.wav and /dev/null differ diff --git a/assets/audio/sounds/music.mp3 b/assets/audio/sounds/music.mp3 deleted file mode 100644 index 3df0464..0000000 Binary files a/assets/audio/sounds/music.mp3 and /dev/null differ diff --git a/assets/audio/sounds/plant.wav b/assets/audio/sounds/plant.wav deleted file mode 100644 index 96c2013..0000000 Binary files a/assets/audio/sounds/plant.wav and /dev/null differ diff --git a/assets/audio/sounds/power_up.wav b/assets/audio/sounds/power_up.wav deleted file mode 100644 index d807e3f..0000000 Binary files a/assets/audio/sounds/power_up.wav and /dev/null differ diff --git a/assets/audio/sounds/success.wav b/assets/audio/sounds/success.wav deleted file mode 100644 index 7b5805f..0000000 Binary files a/assets/audio/sounds/success.wav and /dev/null differ diff --git a/assets/audio/sounds/tap.wav b/assets/audio/sounds/tap.wav deleted file mode 100644 index e9dc6ab..0000000 Binary files a/assets/audio/sounds/tap.wav and /dev/null differ diff --git a/assets/audio/sounds/water.mp3 b/assets/audio/sounds/water.mp3 deleted file mode 100644 index 7a2bc33..0000000 Binary files a/assets/audio/sounds/water.mp3 and /dev/null differ diff --git a/assets/beez.mp3 b/assets/beez.mp3 deleted file mode 100644 index fd3f100..0000000 Binary files a/assets/beez.mp3 and /dev/null differ diff --git a/assets/beez.wav b/assets/beez.wav deleted file mode 100644 index 8945ef6..0000000 Binary files a/assets/beez.wav and /dev/null differ diff --git a/assets/birds.png b/assets/birds.png new file mode 100644 index 0000000..35f3fd3 Binary files /dev/null and b/assets/birds.png differ diff --git a/assets/birds_cute.png b/assets/birds_cute.png new file mode 100644 index 0000000..6d0c934 Binary files /dev/null and b/assets/birds_cute.png differ diff --git a/assets/brackeys_platformer_assets/LICENSE & CREDITS.txt b/assets/brackeys_platformer_assets/LICENSE & CREDITS.txt deleted file mode 100644 index 8c53da4..0000000 --- a/assets/brackeys_platformer_assets/LICENSE & CREDITS.txt +++ /dev/null @@ -1,26 +0,0 @@ -All assets in the pack have been repackaged and many have been modified by Brackeys. - - -LICENSE for all assets: - -Creative Commons Zero (CC0) - - -CREDIT: - -SPRITES by analogStudios_: -knight (https://analogstudios.itch.io/camelot) -slime (https://analogstudios.itch.io/dungeonsprites) -platforms and coin (https://analogstudios.itch.io/four-seasons-platformer-sprites) - -SPRITES by RottingPixels: -world_tileset and fruit (https://rottingpixels.itch.io/four-seasons-platformer-tileset-16x16free) - - -WORLD TILESET originally - -SOUNDS by Brackeys, Asbjørn Thirslund - -MUSIC by Brackeys, Sofia Thirslund - -FONTS by Jayvee Enaguas - HarvettFox96 - (https://www.dafont.com/pixel-operator.font?l[]=10&l[]=1) \ No newline at end of file diff --git a/assets/brackeys_platformer_assets/fonts/PixelOperator8-Bold.ttf b/assets/brackeys_platformer_assets/fonts/PixelOperator8-Bold.ttf deleted file mode 100644 index 10225eb..0000000 Binary files a/assets/brackeys_platformer_assets/fonts/PixelOperator8-Bold.ttf and /dev/null differ diff --git a/assets/brackeys_platformer_assets/fonts/PixelOperator8.ttf b/assets/brackeys_platformer_assets/fonts/PixelOperator8.ttf deleted file mode 100644 index f9146ac..0000000 Binary files a/assets/brackeys_platformer_assets/fonts/PixelOperator8.ttf and /dev/null differ diff --git a/assets/brackeys_platformer_assets/music/time_for_adventure.mp3 b/assets/brackeys_platformer_assets/music/time_for_adventure.mp3 deleted file mode 100644 index 2ba9940..0000000 Binary files a/assets/brackeys_platformer_assets/music/time_for_adventure.mp3 and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/coin.png b/assets/brackeys_platformer_assets/sprites/coin.png deleted file mode 100644 index 01ae33d..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/coin.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/fruit.png b/assets/brackeys_platformer_assets/sprites/fruit.png deleted file mode 100644 index b9cc7d6..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/fruit.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/knight.png b/assets/brackeys_platformer_assets/sprites/knight.png deleted file mode 100644 index 5b0eb4f..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/knight.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/platforms.png b/assets/brackeys_platformer_assets/sprites/platforms.png deleted file mode 100644 index 9be41db..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/platforms.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/slime_green.png b/assets/brackeys_platformer_assets/sprites/slime_green.png deleted file mode 100644 index a21cb6f..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/slime_green.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/slime_purple.png b/assets/brackeys_platformer_assets/sprites/slime_purple.png deleted file mode 100644 index 76f564e..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/slime_purple.png and /dev/null differ diff --git a/assets/brackeys_platformer_assets/sprites/world_tileset.png b/assets/brackeys_platformer_assets/sprites/world_tileset.png deleted file mode 100644 index 36bbf07..0000000 Binary files a/assets/brackeys_platformer_assets/sprites/world_tileset.png and /dev/null differ diff --git a/assets/audio/WAV/Abstract1.wav b/assets/button_click.wav similarity index 100% rename from assets/audio/WAV/Abstract1.wav rename to assets/button_click.wav diff --git a/assets/audio/WAV/Minimalist1.wav b/assets/button_hover.wav similarity index 100% rename from assets/audio/WAV/Minimalist1.wav rename to assets/button_hover.wav diff --git a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover2.aseprite b/assets/buttons.aseprite similarity index 100% rename from assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover2.aseprite rename to assets/buttons.aseprite diff --git a/assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover2.png b/assets/buttons.png similarity index 100% rename from assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover2.png rename to assets/buttons.png diff --git a/assets/carrot_and_tomato.png b/assets/carrot_and_tomato.png deleted file mode 100644 index edb1134..0000000 Binary files a/assets/carrot_and_tomato.png and /dev/null differ diff --git a/assets/carrot_and_tomato_for_inventory.png b/assets/carrot_and_tomato_for_inventory.png deleted file mode 100644 index 8c1a797..0000000 Binary files a/assets/carrot_and_tomato_for_inventory.png and /dev/null differ diff --git a/assets/character.png b/assets/character.png deleted file mode 100644 index 51b27e9..0000000 Binary files a/assets/character.png and /dev/null differ diff --git a/assets/character/character.aseprite b/assets/character/character.aseprite deleted file mode 100644 index 5c5ff60..0000000 Binary files a/assets/character/character.aseprite and /dev/null differ diff --git a/assets/character/character.png b/assets/character/character.png deleted file mode 100644 index 1b40439..0000000 Binary files a/assets/character/character.png and /dev/null differ diff --git a/assets/character/character_hands_up.png b/assets/character/character_hands_up.png deleted file mode 100644 index 4042706..0000000 Binary files a/assets/character/character_hands_up.png and /dev/null differ diff --git a/assets/character/character_idle.png b/assets/character/character_idle.png deleted file mode 100644 index 4a1910c..0000000 Binary files a/assets/character/character_idle.png and /dev/null differ diff --git a/assets/character/character_walking.png b/assets/character/character_walking.png deleted file mode 100644 index e2e00c2..0000000 Binary files a/assets/character/character_walking.png and /dev/null differ diff --git a/assets/character_bee.png b/assets/character_bee.png deleted file mode 100644 index 359882c..0000000 Binary files a/assets/character_bee.png and /dev/null differ diff --git a/assets/character_new.png b/assets/character_new.png deleted file mode 100644 index 73a1b31..0000000 Binary files a/assets/character_new.png and /dev/null differ diff --git a/assets/Clouds/Clouds1/1.png b/assets/cloud_background.png similarity index 100% rename from assets/Clouds/Clouds1/1.png rename to assets/cloud_background.png diff --git a/assets/Clouds/Clouds1/4.png b/assets/cloud_foreground.png similarity index 100% rename from assets/Clouds/Clouds1/4.png rename to assets/cloud_foreground.png diff --git a/assets/Clouds/Clouds1/2.png b/assets/cloud_midground.png similarity index 100% rename from assets/Clouds/Clouds1/2.png rename to assets/cloud_midground.png diff --git a/assets/environment/earth.png b/assets/environment/earth.png deleted file mode 100644 index b60afde..0000000 Binary files a/assets/environment/earth.png and /dev/null differ diff --git a/assets/environment/flowers/blue.png b/assets/environment/flowers/blue.png deleted file mode 100644 index 8f9a810..0000000 Binary files a/assets/environment/flowers/blue.png and /dev/null differ diff --git a/assets/environment/flowers/orange.png b/assets/environment/flowers/orange.png deleted file mode 100644 index 9db343a..0000000 Binary files a/assets/environment/flowers/orange.png and /dev/null differ diff --git a/assets/environment/flowers/red.png b/assets/environment/flowers/red.png deleted file mode 100644 index 817eb1c..0000000 Binary files a/assets/environment/flowers/red.png and /dev/null differ diff --git a/assets/environment/flowers/yellow.png b/assets/environment/flowers/yellow.png deleted file mode 100644 index 94a541b..0000000 Binary files a/assets/environment/flowers/yellow.png and /dev/null differ diff --git a/assets/environment/grass/corner_northeast.png b/assets/environment/grass/corner_northeast.png deleted file mode 100644 index 444bf7e..0000000 Binary files a/assets/environment/grass/corner_northeast.png and /dev/null differ diff --git a/assets/environment/grass/corner_northwest.png b/assets/environment/grass/corner_northwest.png deleted file mode 100644 index 4f86939..0000000 Binary files a/assets/environment/grass/corner_northwest.png and /dev/null differ diff --git a/assets/environment/grass/corner_south_west.png b/assets/environment/grass/corner_south_west.png deleted file mode 100644 index 115cdf6..0000000 Binary files a/assets/environment/grass/corner_south_west.png and /dev/null differ diff --git a/assets/environment/grass/corner_southeast.png b/assets/environment/grass/corner_southeast.png deleted file mode 100644 index 2022c6e..0000000 Binary files a/assets/environment/grass/corner_southeast.png and /dev/null differ diff --git a/assets/environment/grass/down.png b/assets/environment/grass/down.png deleted file mode 100644 index 62fa211..0000000 Binary files a/assets/environment/grass/down.png and /dev/null differ diff --git a/assets/environment/grass/down_left.png b/assets/environment/grass/down_left.png deleted file mode 100644 index 08f0fc3..0000000 Binary files a/assets/environment/grass/down_left.png and /dev/null differ diff --git a/assets/environment/grass/down_right.png b/assets/environment/grass/down_right.png deleted file mode 100644 index f6cf8e3..0000000 Binary files a/assets/environment/grass/down_right.png and /dev/null differ diff --git a/assets/environment/grass/grass.png b/assets/environment/grass/grass.png deleted file mode 100644 index 7ac2887..0000000 Binary files a/assets/environment/grass/grass.png and /dev/null differ diff --git a/assets/environment/grass/left.png b/assets/environment/grass/left.png deleted file mode 100644 index 432cc2a..0000000 Binary files a/assets/environment/grass/left.png and /dev/null differ diff --git a/assets/environment/grass/right.png b/assets/environment/grass/right.png deleted file mode 100644 index 4484a7d..0000000 Binary files a/assets/environment/grass/right.png and /dev/null differ diff --git a/assets/environment/grass/up.png b/assets/environment/grass/up.png deleted file mode 100644 index df7caf8..0000000 Binary files a/assets/environment/grass/up.png and /dev/null differ diff --git a/assets/environment/grass/up_left.png b/assets/environment/grass/up_left.png deleted file mode 100644 index dd4251e..0000000 Binary files a/assets/environment/grass/up_left.png and /dev/null differ diff --git a/assets/environment/grass/up_right.png b/assets/environment/grass/up_right.png deleted file mode 100644 index 02beda5..0000000 Binary files a/assets/environment/grass/up_right.png and /dev/null differ diff --git a/assets/flower.aseprite b/assets/flower.aseprite deleted file mode 100644 index fc137e9..0000000 Binary files a/assets/flower.aseprite and /dev/null differ diff --git a/assets/flower.png b/assets/flower.png deleted file mode 100644 index 1944bc4..0000000 Binary files a/assets/flower.png and /dev/null differ diff --git a/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.fnt b/assets/font.fnt similarity index 99% rename from assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.fnt rename to assets/font.fnt index ac01d29..ec9e6f4 100644 --- a/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.fnt +++ b/assets/font.fnt @@ -1,6 +1,6 @@ info face="pixelFont-7-8x14-sproutLands" size=72 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=1,1 common lineHeight=72 base=56 scaleW=434 scaleH=434 pages=1 packed=0 -page id=0 file="pixelFont-7-8x14-sproutLands.png" +page id=0 file="font.png" chars count=91 char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=16 page=0 chnl=15 char id=33 x=57 y=55 width=10 height=58 xoffset=11 yoffset=-1 xadvance=28 page=0 chnl=15 diff --git a/assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.png b/assets/font.png similarity index 100% rename from assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.png rename to assets/font.png diff --git a/assets/grass.aseprite b/assets/grass.aseprite deleted file mode 100644 index 9e84f80..0000000 Binary files a/assets/grass.aseprite and /dev/null differ diff --git a/assets/grass.png b/assets/grass.png deleted file mode 100644 index a89f152..0000000 Binary files a/assets/grass.png and /dev/null differ diff --git a/assets/hive.aseprite b/assets/hive.aseprite deleted file mode 100644 index d34d2b8..0000000 Binary files a/assets/hive.aseprite and /dev/null differ diff --git a/assets/hive.png b/assets/hive.png deleted file mode 100644 index 1c9e8a9..0000000 Binary files a/assets/hive.png and /dev/null differ diff --git a/assets/island.png b/assets/island.png new file mode 100644 index 0000000..029b69a Binary files /dev/null and b/assets/island.png differ diff --git a/assets/map.png b/assets/map.png deleted file mode 100644 index a7afe24..0000000 Binary files a/assets/map.png and /dev/null differ diff --git a/assets/map.tmx b/assets/map.tmx deleted file mode 100644 index 5864694..0000000 --- a/assets/map.tmx +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - -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/SproutLandsUI/Spritesheets/Settingmenu.png b/assets/menu_board.png similarity index 100% rename from assets/SproutLandsUI/Spritesheets/Settingmenu.png rename to assets/menu_board.png diff --git a/assets/SproutLandsUI/Spritesheets/Mouse sprites/TriangleMouseicon1.png b/assets/mouse.png similarity index 100% rename from assets/SproutLandsUI/Spritesheets/Mouse sprites/TriangleMouseicon1.png rename to assets/mouse.png diff --git a/assets/sea.mp3 b/assets/sea.mp3 new file mode 100644 index 0000000..d86539c Binary files /dev/null and b/assets/sea.mp3 differ diff --git a/assets/ship_start.png b/assets/ship_start.png new file mode 100644 index 0000000..42f6917 Binary files /dev/null and b/assets/ship_start.png differ diff --git a/assets/tileset.png b/assets/tileset.png deleted file mode 100644 index 23d4cc7..0000000 Binary files a/assets/tileset.png and /dev/null differ diff --git a/assets/tree.png b/assets/tree.png deleted file mode 100644 index 73398d7..0000000 Binary files a/assets/tree.png and /dev/null differ diff --git a/assets/water_base.png b/assets/water_base.png new file mode 100644 index 0000000..c98f99b Binary files /dev/null and b/assets/water_base.png differ diff --git a/assets/water_caustics.png b/assets/water_caustics.png new file mode 100644 index 0000000..06fdc18 Binary files /dev/null and b/assets/water_caustics.png differ diff --git a/assets/water_caustics_highlights.png b/assets/water_caustics_highlights.png new file mode 100644 index 0000000..067fc0e Binary files /dev/null and b/assets/water_caustics_highlights.png differ diff --git a/assets/water_cloudnoise.png b/assets/water_cloudnoise.png new file mode 100644 index 0000000..31f75f5 Binary files /dev/null and b/assets/water_cloudnoise.png differ diff --git a/assets/water_noise.png b/assets/water_noise.png new file mode 100644 index 0000000..0bde3a3 Binary files /dev/null and b/assets/water_noise.png differ diff --git a/assets/water_voronoise.png b/assets/water_voronoise.png new file mode 100644 index 0000000..29b0611 Binary files /dev/null and b/assets/water_voronoise.png differ diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..7c4ab3f --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,684 @@ +[ + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/app.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/app.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameBirds.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameBirds.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGame.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGame.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameEnemies.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameEnemies.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameFloor.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameFloor.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameIslands.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameIslands.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGamePlayer.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGamePlayer.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameShip.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameShip.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appGameShoot.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appGameShoot.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appLogo.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appLogo.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appMenu.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appMenu.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appMenuMainBackground.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appMenuMainBackground.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appMenuMain.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appMenuMain.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appMenuSettings.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appMenuSettings.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/appState.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/appState.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineAnimation.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineAnimation.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineArray.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineArray.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineCamera.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineCamera.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineConfig.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineConfig.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineFont.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineFont.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineGamegui.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineGamegui.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineGui.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineGui.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineInput.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineInput.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineObject.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineObject.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/enginePhysics.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/enginePhysics.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/enginePostfx.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/enginePostfx.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineRectangle.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineRectangle.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineSoundtrack.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineSoundtrack.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineSprite.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineSprite.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/engineVector.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/engineVector.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + }, + { + "arguments": [ + "/usr/bin/gcc", + "-c", + "-std=c99", + "-g", + "-Wall", + "-Wpedantic", + "-Wshadow", + "-Wstrict-prototypes", + "-Wno-unknown-pragmas", + "-Iinclude", + "-Iexternal/rini", + "-Iexternal/raygui", + "-o", + "bin/osx/game", + "src/main.c" + ], + "directory": "/home/huaqo/dev/the-last-hive", + "file": "/home/huaqo/dev/the-last-hive/src/main.c", + "output": "/home/huaqo/dev/the-last-hive/bin/osx/game" + } +] diff --git a/config/config.ini b/config/config.ini index 3b1e504..ab1b3e7 100644 --- a/config/config.ini +++ b/config/config.ini @@ -1,9 +1,11 @@ -startView = 0 ; LOGO = 0, MENU = 1, GAMEPLAY = 2 +startView = 1 ; LOGO = 0, MENU = 1, GAMEPLAY = 2, SETTINGS = 3 -window_title = The Last Hive -window_width = 1280 ; in Pixel -window_height = 720 ; in Pixel +windowTitle = Sinbad +windowWidth = 1280 ; in Pixel +windowHeight = 720 ; in Pixel -showFPS = 1 ; OFF = 0, ON = 1 +showFPS = 0 ; OFF = 0, ON = 1 +limitFPS = 1 ; OFF = 0, ON = 1 +soundtrackOn = 1 ; OFF = 0, ON = 1 -font_path = assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.fnt \ No newline at end of file +fontPath = assets/font.fnt diff --git a/config/ships.ini b/config/ships.ini new file mode 100644 index 0000000..caf9f9b --- /dev/null +++ b/config/ships.ini @@ -0,0 +1,8 @@ +# ship_start +start_id = 0 +start_path = assets/ship_start.png +start_frameSize = 16 +start_spped_0 = 0 +start_speed_1 = 5 +start_speed_2 = 10 +start_rotationSpeed = 50 diff --git a/external/engine/asset.h b/external/engine/asset.h deleted file mode 100644 index 697cf75..0000000 --- a/external/engine/asset.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef ASSET_H -#define ASSET_H - -typedef struct { - const char* path; - float frameWidth; - float frameHeight; - float rotation; -} TextureAsset; - -typedef struct { - const char* path; -} ShaderAsset; - -typedef struct { - const char* path; -} SoundtrackAsset; - -typedef struct { - const char* path; -} SoundAsset; - -typedef struct { - const TextureAsset *textureAssets; - const ShaderAsset *shaderAssets; - const SoundtrackAsset *soundtrackAssets; - const SoundAsset *soundAssets; -} Assets; - -#endif // ASSET_H diff --git a/external/engine/camera.h b/external/engine/camera.h deleted file mode 100644 index a7c3187..0000000 --- a/external/engine/camera.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef CAMERA_H -#define CAMERA_H - -#include "input.h" -#include - -Camera2D CreateCamera(int windowWidth, int windowHeight, Vector2 playerPosition, float initZoom){ - return (Camera2D){ - .offset = (Vector2){windowWidth / 2.0f, windowHeight / 2.0f}, - .target = playerPosition, - .rotation = 0.0f, - .zoom = initZoom - }; -} - -void UpdateCameraTarget(Camera2D *camera, Vector2 *position, const float smoothness){ - camera->target = Vector2Lerp(camera->target, *position, smoothness * GetFrameTime()); -} - -void UpdateCameraZoom(Camera2D *camera, const float *scaleFactor, const float *minZoom, const float *maxZoom){ - float targetZoom = Clamp(camera->zoom * *scaleFactor, *minZoom, *maxZoom); - camera->zoom = Lerp(camera->zoom, targetZoom, 0.1f); -} - -void UpdateCamera2D(Camera2D* camera, Vector2* position, Mouse* mouse){ - UpdateCameraTarget(camera, position, 5.0f); - UpdateCameraZoom(camera, &mouse->scaleFactor, &mouse->minZoom, &mouse->maxZoom); -} - - -#endif // CAMERA_H diff --git a/external/engine/window.h b/external/engine/window.h deleted file mode 100644 index b56ab8e..0000000 --- a/external/engine/window.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef DISPLAY_H -#define DISPLAY_H - -typedef struct { - int width; - int height; - const char* title; -} Window; - -#endif // DISPLAY_H diff --git a/include/app.h b/include/app.h index e09748a..06cbea5 100644 --- a/include/app.h +++ b/include/app.h @@ -1,79 +1,264 @@ -#ifndef APP_H -#define APP_H +#ifndef APPTYPES_H +#define APPTYPES_H -#include -#include +// INCLUDES// +#include +#include -#include "view.h" -#include "state.h" -#include "flags.h" -#include "font.h" -#include "logo.h" -#include "menu.h" -#include "game.h" +// DEFINES// +#define TEXT_COLOR_DARK (Color){182, 137, 98, 255} +#define TEXT_COLOR_LIGHT (Color){243, 229, 194, 255} + +// ENUMS// +typedef enum { + MENU_CURSOR_TEX, + MENU_BIG_BUTTONS_TEX, + MENU_BOARD_TEX, + MENU_CLOUD_BACKGROUND, + MENU_CLOUD_MIDGROUND, + MENU_CLOUD_FOREGROUND, + MENU_TEX_COUNT +} MenuTextureID; + +typedef enum { MENU_MUSIC, MENU_SOUNDTRACK_COUNT } MenuSoundtrackID; + +typedef enum { HOVER_SOUND, CLICK_SOUND, MENU_SOUND_COUNT } MenuSoundID; + +typedef enum MenuView { MAIN = 0, SETTINGS = 1 } MenuView; + +typedef enum { START_SHIP, PLAYER_TEX_COUNT } playerTextureID; + +typedef enum { ANCHOR, SLOW_AHEAD, FAST_AHEAD, SPEED_COUNT } playerSpeedID; + +typedef enum { ISLAND, ISLANDS_TEX_COUNT } islandsTextureID; + +typedef enum { POST_FX, SHADER_COUNT } ShaderID; + +typedef enum { BEE_AMBIENT, SOUNDTRACK_COUNT } SoundtrackID; + +typedef enum View { LOGO = 0, MENU = 1, GAMEPLAY = 2 } View; + +// STRUCTS// +typedef struct { + int frameCounter; + int positionX; + int positionY; + int lettersCount; + int topSideRecWidth; + int leftSideRecHeight; + int bottomSideRecWidth; + int rightSideRecHeight; + int state; + float alpha; +} LogoState; typedef struct { - Config config; - State state; - Flags flags; - Window window; - Font font; - LogoState logo; - MenuState menu; - GameState game; + Sprite sprite; + float scrolling; + float scale; + float scrollSpeed; + Vector2 pos; +} Background; + +typedef struct { + Assets assets; + Mouse mouse; + Texture2D textures[MENU_TEX_COUNT]; + Sound sounds[MENU_SOUND_COUNT]; + Soundtrack soundtracks[MENU_SOUNDTRACK_COUNT]; + ImageElement board; + ImageButton playButton; + ImageButton quitButton; + ImageButton settingsButton; + int menuScale; + Background background; + Background midground; + Background foreground; +} MenuMain; + +typedef struct { + Button showFPS; + Button limitFPS; + Button soundtrackOn; +} MenuSettings; + +typedef struct { + MenuView menuView; + MenuMain menuMain; + MenuSettings menuSettings; +} MenuState; + +typedef struct { + Sprite sprite; + Rectangle bounds; + Shader shader; + float time; +} Floor; + +typedef struct { + Sprite sprite; + Animation animation; + Physics physics; + float rotation; +} Player; + +typedef enum { BOAT, ENEMIES_TEX_COUNT } enemiesTextureID; + +typedef enum { START, SHIP_COUNT } shipID; + +typedef struct { + int id; + char *assetPath; + int frameSize; + int speed0; + int speed1; + int speed2; + int rotationSpeed; +} Ship; + +#define MAX_ENEMIES 100 + +typedef struct { + Config config; + int count; + Sprite sprite[MAX_ENEMIES]; + Animation animation[MAX_ENEMIES]; + Physics physics[MAX_ENEMIES]; + bool arrived[MAX_ENEMIES]; + Vector2 destPos[MAX_ENEMIES]; +} Enemies; + +typedef enum { FLYING, BIRDS_TEX_COUNT } birdsTextureID; + +#define MAX_BIRDS 100 + +typedef struct { + int count; + Sprite sprite[MAX_BIRDS]; + Animation animation[MAX_BIRDS]; + Physics physics[MAX_BIRDS]; + bool arrived[MAX_BIRDS]; + Vector2 destPos[MAX_BIRDS]; +} Birds; + +typedef struct { + Sprite sprite; + Animation animation; + Physics physics; +} Islands; + +#define MAX_PROJECTILES 100 +typedef struct { + int count; + Physics physics[MAX_PROJECTILES]; + bool active[MAX_PROJECTILES]; + float radius[MAX_PROJECTILES]; + Color color[MAX_PROJECTILES]; +} Projectiles; + +typedef struct { + Assets assets; + PostProcessing postFX[SHADER_COUNT]; + Soundtrack soundtracks[SOUNDTRACK_COUNT]; + RenderTexture2D target; + Floor floor; + Birds birds; + Enemies enemies; + Islands islands; + Mouse mouse; + Image image; + Projectiles projectiles; +} GameState; + +typedef struct { + View currentView; + bool running; + bool gameStarted; +} State; + +typedef struct { + bool showFPS; + bool limitFPS; + bool soundtrackOn; +} Flags; + +typedef struct { + Config config; + State state; + Flags flags; + Window window; + Font font; + LogoState logo; + MenuState menu; + GameState game; } App; -void ConfigApp(App* app){ - InitConfig(&app->config, "config/config.ini"); - app->state.currentView = GetConfigInt(&app->config, "startView"); - app->flags.showFPS = GetConfigInt(&app->config, "showFPS"); - app->flags.soundtrackOn = GetConfigInt(&app->config, "soundtrackOn"); - app->window.title = GetConfigString(&app->config, "window_title"); - app->window.width = GetConfigInt(&app->config, "window_width"); - app->window.height = GetConfigInt(&app->config, "window_height"); -} +// FUNCTIONS// +void InitLogo(LogoState *l); +void UpdateLogo(LogoState *l, View *currentView, bool *running); +void RenderLogo(const LogoState *l, Flags *flags); -void InitApp(App *app){ - InitFont(&app->font); - InitLogo(&app->logo); - InitMenu(&app->menu); - InitGame(&app->game,&app->window); -} +void InitBackground(float scrollSpeed, Background *bg, Texture2D *texture, + const TextureAsset *backgroundAsset); +void UpdateBackground(Background *bg); +void RenderBackground(Background *bg); -void UpdateApp(App *app){ +void InitMenuMain(MenuMain *m); +void UpdateMenuMain(MenuMain *m, State *state, Flags *flags, + MenuView *menuView); +void RenderMenuMain(MenuMain *m, Font *font, const char *title, Flags *flags); +void CleanupMenuMain(MenuMain *m); - app->state.running = true; - app->state.gameStarted = false; +void InitMenuSettings(MenuSettings *s); +void UpdateMenuSettings(MenuSettings *s, MenuView *menuView, State *state, + Flags *flags); +void RenderMenuSettings(MenuSettings *s, Flags *flags); +void CleanupMenuSettings(MenuSettings *s); - while (app->state.running) - { - switch (app->state.currentView) - { - case LOGO: - { - UpdateLogo(&app->logo, &app->state.currentView, &app->state.running); - RenderLogo(&app->logo, &app->flags); - }break; - case MENU: - { - UpdateMenu(&app->menu, &app->state, &app->flags); - RenderMenu(&app->menu, &app->font, app->window.title, &app->flags); - }break; - case GAMEPLAY: - { - UpdateGame(&app->game, &app->state, &app->flags); - RenderGame(&app->game, &app->state, &app->flags); - }break; - default: break; - } - } -} +void InitMenu(MenuState *m); +void UpdateMenu(MenuState *m, State *state, Flags *flags); +void RenderMenu(MenuState *m, Font *font, const char *title, Flags *flags); +void CleanupMenu(MenuState *m); -void CleanupApp(App *app){ - CleanupMenu(&app->menu); - CleanupGame(&app->game); - CleanupFont(&app->font); - CleanUpConfig(&app->config); -} +Floor CreateFloor(void); +void UpdateFloor(Floor *floor); +void RenderFloor(Floor *floor); +void UnloadFloor(Floor *floor); -#endif //APP_H +playerSpeedID GetPlayerSpeedID(float speed); +Player *GetPlayer(void); +void CreatePlayer(void); +void UpdatePlayer(void); +void RenderPlayer(void); + +Enemies CreateEnemies(void); +void UpdateEnemies(Enemies *enemies); +void RenderEnemies(Enemies *enemies); + +Birds CreateBirds(void); +void UpdateBirds(Birds *birds); +void RenderBirds(Birds *birds); + +Islands CreateIslands(void); +void UpdateIslands(Islands *islands); +void RenderIslands(Islands *islands); + +Projectiles CreateProjectiles(void); +void UpdateProjectiles(Projectiles *projectiles); +void RenderProjectiles(Projectiles *projectiles); + +void InitGame(App *app); +void UpdateGame(App *app); +void RenderComponents(App *app); +void RenderGame(App *app); +void CleanupGame(App *app); + +void OnEscapeChangeView(App *app, View view); +void OnWindowClosedStoppApp(App *app); + +void ConfigApp(App *app); +void InitApp(App *app); +void UpdateApp(App *app); +void CleanupApp(App *app); + +#endif // APPTYPES_H diff --git a/include/bee.h b/include/bee.h deleted file mode 100644 index 4fd5fcd..0000000 --- a/include/bee.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef BEE_H -#define BEE_H -#include -#include -#include -#include - -typedef enum { - FLYING -} BeeAnimationState; - -typedef struct { - Sprite sprite; - Animation animation; - Physics physics; - Object target; - Object hive; - int flowerCount; -} Bee; - -Bee CreateBee(BeeAnimationState animState, Texture2D texture, float frameWidth, int maxFrame, int framesSpeed, Vector2 position, float speed, ObjectArray* target, Object* base){ - return (Bee){ - .sprite = { - .texture = texture, - .frameSize = {frameWidth, frameWidth}, - .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, - .destRec = {0.0f, 0.0f, frameWidth, frameWidth}, - .origin = {frameWidth / 2, frameWidth / 2}, - .rotation = 0.0f, - .color = WHITE - }, - .animation = { - .state = animState, - .currentFrame = 0, - .maxFrame = maxFrame, - .framesCounter = 0, - .framesSpeed = framesSpeed, - .animTimer = 0.0f - }, - .physics = { - .position = position, - .direction = (Vector2){0.0f,0.0f}, - .speed = speed - }, - .target = *GetRandomObject(target), - .hive = *base - }; -} - -void UpdateBee(Bee* bee, ObjectArray* flowers, Object* hive){ - const float tolerance = 1.0f; - - if (bee->flowerCount < 4){ - if (fabs(bee->physics.position.x - bee->target.position.x) < tolerance && - fabs(bee->physics.position.y - bee->target.position.y) < tolerance) { - bee->target = *GetRandomObject(flowers); - bee->flowerCount++; - } else { - } - } else { - bee->target = *hive; - if (fabs(bee->physics.position.x - bee->target.position.x) < tolerance && - fabs(bee->physics.position.y - bee->target.position.y) < tolerance) { - bee->physics.speed = 0.0f; - } else { - } - } - - UpdatePhysics(&bee->physics, GetDirectionToObject(&bee->target, bee->physics.position)); - UpdateSpriteRotation(&bee->sprite, &bee->physics.direction); - UpdateSpriteDestRec(&bee->sprite, &bee->physics.position); - UpdateAnimation(&bee->animation, GetFrameTime()); - UpdateSpriteSourceRec(&bee->sprite, &(Vector2){bee->sprite.frameSize.x * bee->animation.state, bee->sprite.frameSize.x * bee->animation.currentFrame}); -} - -#endif // BEE_H diff --git a/include/button.h b/include/button.h deleted file mode 100644 index 0d817b4..0000000 --- a/include/button.h +++ /dev/null @@ -1,20 +0,0 @@ -// initButton(&m->startButton, "Start Game", GetScreenWidth() / 10, GetScreenHeight() / 20, GetScreenWidth() / 2, GetScreenHeight() / 2); -// initButton(&m->quitButton, "Quit Game", GetScreenWidth() / 10, GetScreenHeight() / 20, GetScreenWidth() / 2, -// GetScreenHeight() / 2 + (GetScreenHeight() / 20 * 2)); - -// if (isButtonClicked(&m->startButton)) { -// state->gameStarted = true; -// m->startButton.text = "Continue"; -// state->currentScreen = GAMEPLAY; -// } -// if (isButtonClicked(&m->quitButton) || (WindowShouldClose() && !IsKeyPressed(KEY_ESCAPE))) { -// state->running = false; -// } - -// if (state->gameStarted){ -// if (IsKeyPressed(KEY_ESCAPE)){ -// state->currentScreen = GAMEPLAY; -// } -// } -// renderButton(&m->startButton); -// renderButton(&m->quitButton); \ No newline at end of file diff --git a/include/colors.h b/include/colors.h deleted file mode 100644 index 0e0822e..0000000 --- a/include/colors.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef COLORS_H -#define COLORS_H - -#define TEXT_COLOR_DARK (Color){ 182, 137, 98, 255} -#define TEXT_COLOR_LIGHT (Color){ 243, 229, 194, 255} - -#endif // COLORS_H diff --git a/include/engine.h b/include/engine.h new file mode 100644 index 0000000..6aa987d --- /dev/null +++ b/include/engine.h @@ -0,0 +1,241 @@ +#ifndef ENGINE_H +#define ENGINE_H + +#include +#include +#include +#include +#include +#include +#include +#include + +typedef struct +{ + Texture2D texture; + Rectangle sourceRec; + Rectangle destRec; + Vector2 frameSize; + Vector2 origin; + float rotation; + Color color; +} Sprite; + +typedef struct { + int state; + int currentFrame; + int maxFrame; + int framesCounter; + int framesSpeed; + float animTimer; +} Animation; + +typedef struct { + void** elements; + unsigned int count; + unsigned int capacity; +} Array; + +typedef struct { + const char* path; + float frameWidth; + float frameHeight; + float rotation; +} TextureAsset; + +typedef struct { + const char* path; +} ShaderAsset; + +typedef struct { + const char* path; +} SoundtrackAsset; + +typedef struct { + const char* path; +} SoundAsset; + +typedef struct { + const TextureAsset *textureAssets; + const ShaderAsset *shaderAssets; + const SoundtrackAsset *soundtrackAssets; + const SoundAsset *soundAssets; +} Assets; + +typedef struct { + char *path; + rini_config rini; +} Config; + +typedef enum { + NOT_CLICKED, + HOVER, + CLICKED +} ButtonState; + +typedef struct +{ + Sprite sprite; + Vector2 notClicked; + Vector2 hover; + Vector2 clicked; + bool isHovered; + bool isClicked; +} ImageButton; + +typedef struct +{ + Sprite sprite; +} ImageElement; + +typedef struct +{ + Rectangle rec; + char *text; +} Button; + +typedef struct { + Vector2 screenPosition; + Vector2 worldPosition; + float zoomSpeed; + float minZoom; + float maxZoom; + float scaleFactor; + float wheelMove; + bool leftButton; + bool rightButton; + Texture2D cursorTexture; +} Mouse; + +typedef struct { + Sprite sprite; + Vector2 position; +} Object; + +typedef struct { + Object *data; + const Object *prototype; + size_t count; +} ObjectArray; + +typedef struct +{ + Vector2 position; + Vector2 direction; + Vector2 velocity; + float speed; +} Physics; + +typedef struct { + Shader shader; + int resolutionLoc; + int strengthLoc; + float strength; +} PostProcessing; + +typedef struct { + Music music; + bool playing; + bool paused; +} Soundtrack; + +typedef struct { + Vector2 *data; + size_t count; +} Vector2Array; + +typedef struct { + int width; + int height; + const char* title; +} Window; + +void UpdateAnimation(Animation *animation, float deltaTime); + +Array* CreateArray(unsigned int initCapacity); +int AddElementToArray(Array* array, void* element); +int RemoveElementFromArray(Array* array, unsigned int index); +void* GetRandomElementFromArray(Array* array); +void UpdateArray(Array* array, void (*updateFunc)(void*)); +void RenderArray(Array* array, void (*renderFunc)(void*)); +void FreeArray(Array** array); + +Camera2D* GetCamera(void); +Rectangle GetCameraRectangle(void); +void CreateCamera(Vector2 playerPosition, float initZoom); +void UpdateCameraTarget(Vector2 *position, const float smoothness); +void UpdateCameraZoom(const float *scaleFactor, const float *minZoom, const float *maxZoom); +void UpdateCamera2D(Vector2* position, Mouse* mouse); + +void InitConfig(Config *config, const char* path); +int GetConfigInt(Config *config, const char *key); +int GetConfigIntOrDefault(Config *config, const char *key, int default_value); +const char* GetConfigString(Config *config, const char *key); +const char* GetConfigStringOrDefault(Config *config, const char *key, const char *default_value); +const char* GetConfigDescription(Config *config, const char *key); +int SetConfigInt(Config *config, const char *key, int value, const char *desc); +int SetConfigString(Config *config, const char *key, const char *text, const char *desc); +int SetConfigDescription(Config *config, const char *key, const char *desc); +int AddCommentLine(Config *config, const char *comment); +void SaveConfig(Config *config); +void CleanUpConfig(Config *config); + +void InitFont(Font *font, const char* path); +void CleanupFont(Font *font); + +ImageButton CreateImageButton(ButtonState state, Texture2D *texture, const TextureAsset *asset, Vector2 *source, Vector2 *clicked, Vector2 *hover, Rectangle *destRec); +ImageElement CreateImageElement(Texture2D *texture, const TextureAsset *asset, Vector2 *source, Rectangle *destRec); +int isImageButtonClicked(ImageButton *b, Sound soundHover, Sound soundClick); +void renderImageButton(ImageButton *b); +void renderImageElement(ImageElement *e); + +Button initButton(char *text, Vector2 dimensions, Vector2 position); +int isButtonClicked(Button *b); +void renderButton(Button *b); + +Mouse CreateMouse(float zoomSpeed, float minZoom, float maxZoom, Texture2D *texture); +void UpdateMouseScreen(Mouse *mouse); +void UpdateMouse(Mouse *mouse); +Vector2 GetDirectionVector(void); + +ObjectArray CreateObjectArray(const Object *prototype, const size_t count); +Object* GetRandomObject(ObjectArray *objects); +void AddObjectToArray(ObjectArray *objects, const Object *prototype, Vector2 position); +void SetPositionForObjectArray(ObjectArray *objects, const Vector2Array *positions); +void SetRandomPositionForObjectArray(ObjectArray *objects, const Rectangle bounds); +void SwapAndPopObjectsArrayOnRecCollision(ObjectArray *objects, const Rectangle rec); +void SwapAndPopObjectsArrayOnPointCollision(ObjectArray *objects, const Vector2 point); +void RenderObjectArray(const ObjectArray *objects); + +Vector2 GetDirectionBetweenTwoVectors(Vector2 vec1, Vector2 vec2); +float GetDistanceBetweenTwoVectors(Vector2 vec1, Vector2 vec2); +void UpdatePhysicsDirection(Vector2 *direction, Vector2 vector); +void UpdatePhysicsVelocity(Vector2 *velocity, Vector2 *direction, float *speed); +void UpdatePhysicsPosition(Vector2 *position, Vector2 *velocity); +void UpdatePhysicsSpeed(float *speed, float *newSpeed); +void UpdatePhysics(Physics *physics, Vector2 direction); + +PostProcessing CreatePostFX(const char* shaderPath); +void UpdatePostFX(PostProcessing *postFX); +void RenderPostFX(PostProcessing *postFX, RenderTexture2D *target); +void UnloadPostFX(PostProcessing *postFX); + +Soundtrack LoadSoundtrack(const char* musicPath); +void UpdateSoundtrack(Soundtrack *soundtrack, bool playing); + +void UpdateSpriteSourceRec(Sprite *sprite, const Vector2 *vector); +void UpdateSpriteDestRec(Sprite *sprite, const Vector2 *vector); +void UpdateSpriteRotation(Sprite *sprite, float rotation); +void RenderSprite(const Sprite *sprite); +void PrintSprite(const Sprite *sprite); + +bool IsVectorZero(Vector2 v); +Vector2 GetRandomVector(const Rectangle bounds); +Vector2 RotationToVector2(float rotation); +float Vector2ToRotation(Vector2 vec); + +Vector2 GetPositionInsideRectangle(Rectangle rec); +Vector2 GetPositionOutsideRectangle(Rectangle rec, int min, int max); + +#endif //ENGINE_H + diff --git a/include/flags.h b/include/flags.h deleted file mode 100644 index d5ded90..0000000 --- a/include/flags.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef FLAGS_H -#define FLAGS_H - -typedef struct { - bool showFPS; - bool soundtrackOn; -} Flags; - -#endif // FLAGS_H diff --git a/include/floor.h b/include/floor.h deleted file mode 100644 index 3b6bf1a..0000000 --- a/include/floor.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef Floor_H -#define Floor_H -#include - -typedef struct -{ - Sprite sprite; - Rectangle bounds; -} Floor; - -Floor CreateFloor(Texture2D texture, float textureWidth) -{ - return (Floor){ - .sprite = { - .texture = texture, - .frameSize = {textureWidth, textureWidth}, - .sourceRec = {0.0f, 0.0f, textureWidth, textureWidth}, - .destRec = {0.0f, 0.0f, textureWidth, textureWidth}, - .origin = {textureWidth / 2, textureWidth / 2}, - .rotation = 0.0f, - .color = WHITE}, - .bounds = {0.0f, 0.0f, 0.0f, 0.0f}}; -} - -void UpdateFloor(Floor *floor, const Camera2D *camera) -{ - floor->bounds.x = (int)((camera->target.x - (GetScreenWidth() / 2.0f / camera->zoom)) / floor->sprite.frameSize.x) - 1; - floor->bounds.width = (int)((camera->target.x + (GetScreenWidth() / 2.0f / camera->zoom)) / floor->sprite.frameSize.x) + 1; - floor->bounds.y = (int)((camera->target.y - (GetScreenHeight() / 2.0f / camera->zoom)) / floor->sprite.frameSize.y) - 1; - floor->bounds.height = (int)((camera->target.y + (GetScreenHeight() / 2.0f / camera->zoom)) / floor->sprite.frameSize.y) + 1; -} - -void RenderFloor(Floor *floor) -{ - for (int y = (int)floor->bounds.y; y <= (int)floor->bounds.height; y++) - { - for (int x = (int)floor->bounds.x; x <= (int)floor->bounds.width; x++) - { - Vector2 floorPosition = {x * floor->sprite.frameSize.x, y * floor->sprite.frameSize.y}; - UpdateSpriteDestRec(&floor->sprite, &floorPosition); - RenderSprite(&floor->sprite); - } - } -} - -#endif // Floor_H diff --git a/include/flowers.h b/include/flowers.h deleted file mode 100644 index 1446db5..0000000 --- a/include/flowers.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef FLOWERS_H -#define FLOWERS_H - -#include "array.h" - -typedef enum { - CHILD, - TEEN, - ADULT -} AGE; - -typedef struct { - Sprite sprite; - Vector2 position; - AGE age; - float ageTimer; -} Flower; - -Flower DEFAULT_FLOWER; - -Array* CreateFlowers(Texture2D texture, float frameWidth, float rotation, float fieldSize) -{ - Array* flowers = CreateArray(10); - - if(!flowers) { - printf("Memory allocation failed.\n"); - exit(1); - } - - DEFAULT_FLOWER = (Flower){ - .sprite = { - .texture = texture, - .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, - .destRec = {(float)GetRandomValue(-fieldSize,fieldSize), (float)GetRandomValue(-fieldSize,fieldSize), frameWidth, frameWidth}, - .origin = {frameWidth / 2, frameWidth / 2}, - .rotation = rotation, - .color = WHITE, - }, - .age = CHILD, - .ageTimer = 0.0f - }; - - for (int i = 0; i < 10; i++) { - Flower* flower = malloc(sizeof(Flower)); - *flower = DEFAULT_FLOWER; - flower->sprite.destRec = (Rectangle){(float)GetRandomValue(-fieldSize,fieldSize), (float)GetRandomValue(-fieldSize,fieldSize), frameWidth, frameWidth}; - AddElementToArray(flowers, flower); - } - return flowers; -} - -void AddFlower(Array* flowers, Rectangle rec){ - Flower* flower = malloc(sizeof(Flower)); - *flower = DEFAULT_FLOWER; - flower->sprite.destRec = rec; - AddElementToArray(flowers, flower); -} - - -void UpdateFlower(void* element) { - Flower* f = (Flower*)element; - if (!f) return; - - f->ageTimer += 1; - - if (f->age == CHILD && f->ageTimer >= 3000.0f) { - f->age = TEEN; - f->sprite.sourceRec.x = f->sprite.sourceRec.width; - } - else if (f->age == TEEN && f->ageTimer >= 6000.0f) { - f->age = ADULT; - f->sprite.sourceRec.x = 2.0f * f->sprite.sourceRec.width; - } -} - - -void RenderFlower(void* element) -{ - Flower* f = (Flower*)element; - if (!f) return; - RenderSprite(&(f->sprite)); -} - - - - -#endif // FLOWERS_H diff --git a/include/font.h b/include/font.h deleted file mode 100644 index 1b8edf4..0000000 --- a/include/font.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef FONT_H -#define FONT_H - -void InitFont(Font *font){ - *font = LoadFont("assets/SproutLandsUI/fonts/pixelFont-7-8x14-sproutLands.fnt"); - SetTextureFilter(font->texture, TEXTURE_FILTER_POINT); -} - -void CleanupFont(Font *font){ - UnloadFont(*font); -} - -#endif //FONT_H diff --git a/include/game.h b/include/game.h deleted file mode 100644 index cac77a2..0000000 --- a/include/game.h +++ /dev/null @@ -1,168 +0,0 @@ -#ifndef GAME_H -#define GAME_H - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "gameassets.h" -#include "floor.h" -#include "player.h" -#include "bee.h" -#include "hive.h" -#include "flowers.h" - -typedef struct -{ - Assets assets; - Texture2D textures[TEX_COUNT]; - PostProcessing postFX[SHADER_COUNT]; - Soundtrack soundtracks[SOUNDTRACK_COUNT]; - RenderTexture2D target; - Floor floor; - Object hive; - Array* flowers; - Player player; - Bee bee1; - Camera2D camera; - Mouse mouse; - Image image; -} GameState; - -void InitGame(GameState *g, Window *window) -{ - - g->assets = (Assets){ - .textureAssets = texAssets, - .shaderAssets = shaderAssets, - .soundtrackAssets = soundtrackAssets}; - - for (int i = 0; i < TEX_COUNT; i++) - { - g->textures[i] = LoadTexture(g->assets.textureAssets[i].path); - } - - for (int i = 0; i < SHADER_COUNT; i++) - { - g->postFX[i] = CreatePostFX(g->assets.shaderAssets[i].path); - } - - for (int i = 0; i < SOUNDTRACK_COUNT; i++) - { - g->soundtracks[i] = LoadSoundtrack(g->assets.soundtrackAssets[i].path); - } - - // Target texture - g->target = LoadRenderTexture(window->width, window->height); - - // Static Entities - g->flowers = CreateFlowers(g->textures[FLOWER], g->assets.textureAssets[FLOWER].frameWidth, g->assets.textureAssets[FLOWER].rotation, 50.0f); - g->floor = CreateFloor(g->textures[GRASS], g->assets.textureAssets[GRASS].frameWidth); - g->hive = CreateHive(g->textures[HIVE], g->assets.textureAssets[HIVE].frameWidth); - - // Animated Entities - g->player = CreatePlayer(IDLE_DOWN, HOE, g->textures[PLAYER], g->assets.textureAssets[PLAYER].frameWidth, 4, 2, g->hive.position, g->assets.textureAssets[PLAYER].rotation, 50.0f); - // g->bee1 = CreateBee(FLYING, g->textures[BEE], g->assets.textureAssets[BEE].frameWidth, 4, 10, g->hive.position, 10.0f, &g->flowers, &g->hive); - - // I/O - g->camera = CreateCamera(window->width, window->height, g->player.physics.position, 10.0f); - - g->mouse = CreateMouse(0.10f, 5.0f, 10.0f, &g->textures[CURSOR]); -} - -void UpdateGame(GameState *g, State *state, Flags *flags) -{ - if(!state->gameStarted){ - state->gameStarted = true; - } - - if (GetFPS() <= 60) - { - SetTargetFPS(0); - } - if (IsKeyPressed(KEY_ESCAPE)) - { - state->currentView = MENU; - } - if (WindowShouldClose() && !IsKeyPressed(KEY_ESCAPE)) - { - state->running = false; - } - for (int i = 0; i < SHADER_COUNT; i++) - { - UpdatePostFX(&g->postFX[i]); - } - for (int i = 0; i < SOUNDTRACK_COUNT; i++) - { - UpdateSoundtrack(&g->soundtracks[i], flags->soundtrackOn); - } - - UpdateMouse(&g->mouse, &g->camera); - UpdateCamera2D(&g->camera, &g->player.physics.position, &g->mouse); - UpdateFloor(&g->floor, &g->camera); - UpdatePlayer(&g->player, g->flowers); - UpdateArray(g->flowers, UpdateFlower); - // UpdateBee(&g->bee1, &g->flowers, &g->hive); -} - -void RenderComponents(GameState *g) -{ - RenderFloor(&g->floor); - RenderSprite(&g->hive.sprite); - RenderArray(g->flowers, RenderFlower); - RenderSprite(&g->player.sprite); - RenderSprite(&g->bee1.sprite); -} - -void RenderGame(GameState *g, const State *appState, Flags *flags) -{ - BeginTextureMode(g->target); - ClearBackground(BLACK); - BeginMode2D(g->camera); - RenderComponents(g); - EndMode2D(); - DrawTextureRec(g->mouse.cursorTexture, (Rectangle){0, 0, g->mouse.cursorTexture.width, g->mouse.cursorTexture.height}, (Vector2){g->mouse.screenPosition.x, g->mouse.screenPosition.y}, WHITE); - EndTextureMode(); - BeginDrawing(); - ClearBackground(BLACK); - for (int i = 0; i < SHADER_COUNT; i++) - { - RenderPostFX(&g->postFX[i], &g->target); - } - DrawText(TextFormat("Flower Seeds: %d", g->player.inventar.flowerSeedCount), 10, 10, 50, WHITE); - - if (flags->showFPS) - { - DrawFPS(10, 10); - } - - EndDrawing(); -} - -void CleanupGame(GameState *g) -{ - for (int i = 0; i < SHADER_COUNT; i++) - { - UnloadPostFX(&g->postFX[i]); - } - for (int i = 0; i < TEX_COUNT; i++) - { - if (g->textures[i].id > 0) - { - UnloadTexture(g->textures[i]); - } - } - for (int i = 0; i < SOUNDTRACK_COUNT; i++) - { - UnloadMusicStream(g->soundtracks[i].music); - } - UnloadRenderTexture(g->target); - FreeArray(&g->flowers); -} - -#endif // GAME_H diff --git a/include/gameassets.h b/include/gameassets.h deleted file mode 100644 index bf31de6..0000000 --- a/include/gameassets.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef GAMEASSETS_H -#define GAMEASSETS_H -#include - -//////////////////////////////////////////////////////////////////////////// - -typedef enum -{ - PLAYER, - PLAYER_ACTIONS, - TOOLS, - FLOWER, - BEE, - GRASS, - HIVE, - CURSOR, - TEX_COUNT -} TextureID; - -const TextureAsset texAssets[TEX_COUNT] = { - {"assets/SproutLandsBasic/Characters/character.png", 48.0f, 48.0f, 0.0f}, - {"assets/SproutLandsBasic/Characters/BasicCharakterActions.png", 48.0f, 48.0f, 0.0f}, - {"assets/SproutLandsBasic/Objects/tools.png", 48.0f, 16.0f, 0.0f}, - {"assets/carrot_and_tomato.png", 32.0f, 32.0f, 0.0f}, - {"assets/character_bee.png", 16.0f, 16.0f, 0.0f}, - {"assets/grass.png", 16.0f, 16.0f, 0.0f}, - {"assets/hive.png", 32.0f, 32.0f, 0.0f}, - {"assets/SproutLandsUI/Spritesheets/Mouse sprites/TriangleMouseicon1.png", 16.0f, 16.0f, 0.0f}}; - -//////////////////////////////////////////////////////////////////////////// - -typedef enum -{ - POST_FX, - SHADER_COUNT -} ShaderID; - -const ShaderAsset shaderAssets[SHADER_COUNT] = { - {"shaders/postfx.fs"}}; - -//////////////////////////////////////////////////////////////////////////// - -typedef enum -{ - BEE_AMBIENT, - SOUNDTRACK_COUNT -} SoundtrackID; - -const SoundtrackAsset soundtrackAssets[SOUNDTRACK_COUNT] = { - {"assets/beez.mp3"}}; - -//////////////////////////////////////////////////////////////////////////// - -#endif // GAMEASSETS_H diff --git a/include/hive.h b/include/hive.h deleted file mode 100644 index 5c4e9ca..0000000 --- a/include/hive.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef HIVE_H -#define HIVE_H -#include - -Object CreateHive(Texture2D texture, float frameWidth) -{ - return (Object){ - .sprite = { - .texture = texture, - .sourceRec = (Rectangle){0.0f, 0.0f, frameWidth, frameWidth}, - .destRec = (Rectangle){0.0f, 0.0f, frameWidth, frameWidth}, - .origin = (Vector2){frameWidth / 2, frameWidth / 2}, - .rotation = 0.0f, - .color = WHITE}, - .position = (Vector2){0.0f, 0.0f}}; -} - -#endif // HIVE_H diff --git a/include/inventar.h b/include/inventar.h deleted file mode 100644 index e271dca..0000000 --- a/include/inventar.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef INVENTAR_H -#define INVENTAR_H - - -typedef struct{ - int flowerSeedCount; -} Inventar; - -#endif // INVENTAR_H diff --git a/include/menuassets.h b/include/menuassets.h deleted file mode 100644 index 2553985..0000000 --- a/include/menuassets.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef MENUASSETS_H -#define MENUASSETS_H -#include - -typedef enum -{ - MENU_CURSOR_TEX, - MENU_BIG_BUTTONS_TEX, - MENU_BOARD_TEX, - MENU_CLOUD_BACKGROUND, - MENU_CLOUD_MIDGROUND, - MENU_CLOUD_FOREGROUND, - MENU_TEX_COUNT -} MenuTextureID; - -const TextureAsset menuTextureAssets[MENU_TEX_COUNT] = { - {"assets/SproutLandsUI/Spritesheets/Mouse sprites/TriangleMouseicon1.png", 16.0f, 16.0f, 0.0f}, - {"assets/SproutLandsUI/Spritesheets/UIBigPlayButtonHover2.png", 288.0f/3, 96.0f/3, 0.0f}, - {"assets/SproutLandsUI/Spritesheets/Settingmenu.png", 128.0f, 144.0f, 0.0f}, - {"assets/Clouds/Clouds1/1.png", 576.0f, 324.0f, 0.0f}, - {"assets/Clouds/Clouds1/2.png", 576.0f, 324.0f, 0.0f}, - {"assets/Clouds/Clouds1/4.png", 576.0f, 324.0f, 0.0f}}; - -typedef enum -{ - MENU_MUSIC, - MENU_SOUNDTRACK_COUNT -} MenuSoundtrackID; - -const SoundtrackAsset menuSoundtrackAssets[MENU_SOUNDTRACK_COUNT] = { - {"assets/merrygoround.wav"}}; - -typedef enum -{ - HOVER_SOUND, - CLICK_SOUND, - MENU_SOUND_COUNT -} MenuSoundID; - -const SoundAsset menuSoundAssets[MENU_SOUND_COUNT] = { - {"assets/audio/WAV/Minimalist1.wav"}, - {"assets/audio/WAV/Abstract1.wav"}}; - -#endif // MENUASSETS_H diff --git a/include/menuview.h b/include/menuview.h deleted file mode 100644 index 527313f..0000000 --- a/include/menuview.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef MENUVIEW_H -#define MENUVIEW_H - -typedef enum MenuView { - MAIN = 0, - SETTINGS = 1 -} MenuView; - -#endif // MENUVIEW_H - diff --git a/include/player.h b/include/player.h deleted file mode 100644 index 7bb8912..0000000 --- a/include/player.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef PLAYER_H -#define PLAYER_H - -#include -#include -#include -#include -#include - -#include "flowers.h" -#include "inventar.h" - -typedef enum -{ - IDLE, - WALKING, - USING_TOOL -} PlayerState; - -typedef enum -{ - NO_TOOL, - HOE, - AXT, - CAN -} SelectedTool; - -typedef enum -{ - IDLE_DOWN, - IDLE_UP, - IDLE_LEFT, - IDLE_RIGHT, - WALKING_DOWN, - WALKING_UP, - WALKING_LEFT, - WALKING_RIGHT, - HOE_DOWN, - HOE_UP, - HOE_RIGHT, - HOE_LEFT, - AXT_DOWN, - AXT_UP, - AXT_RIGHT, - AXT_LEFT, - CAN_DOWN, - CAN_UP, - CAN_RIGHT, - CAN_LEFT, -} PlayerAnimationState; - -typedef struct -{ - SelectedTool selectedTool; - Sprite sprite; - Animation animation; - Physics physics; - Inventar inventar; -} Player; - -Player CreatePlayer(PlayerAnimationState animState, SelectedTool selectedTool, Texture2D texture, float frameWidth, int maxFrame, int framesSpeed, Vector2 startPosition, float rotation, float speed) -{ - return (Player){ - .selectedTool = selectedTool, - .sprite = { - .texture = texture, - .frameSize = {frameWidth, frameWidth}, - .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, - .destRec = {0.0f, 0.0f, frameWidth, frameWidth}, - .origin = {frameWidth / 2, frameWidth / 2}, - .rotation = rotation, - .color = WHITE}, - .animation = {.state = animState, .currentFrame = 0, .maxFrame = maxFrame, .framesCounter = 0, .framesSpeed = framesSpeed, .animTimer = 0.0f}, - .physics = {.position = startPosition, .direction = (Vector2){0.0f, 0.0f}, .speed = speed}, - .inventar = {.flowerSeedCount = 6}}; -} - -void UpdatePlayerAnimationState(int *state, SelectedTool *selectedTool, Vector2 *dir) -{ - - if (IsKeyPressed(KEY_ZERO)) - { - *selectedTool = NO_TOOL; - } - - if (IsKeyPressed(KEY_ONE)) - { - *selectedTool = HOE; - } - - if (IsKeyPressed(KEY_TWO)) - { - *selectedTool = AXT; - } - - if (IsKeyPressed(KEY_THREE)) - { - *selectedTool = CAN; - } - - if (dir->x == 0 && dir->y == 0) - { - switch (*state) - { - case WALKING_DOWN: - *state = IDLE_DOWN; - break; - case WALKING_UP: - *state = IDLE_UP; - break; - case WALKING_LEFT: - *state = IDLE_LEFT; - break; - case WALKING_RIGHT: - *state = IDLE_RIGHT; - break; - default: - break; - } - } - else - { - if (dir->y == 1) - *state = WALKING_DOWN; - else if (dir->y == -1) - *state = WALKING_UP; - else if (dir->x == -1) - *state = WALKING_LEFT; - else if (dir->x == 1) - *state = WALKING_RIGHT; - } -} - -void UpdatePlayer(Player *player, Array* flowers) -{ - if (IsKeyPressed(KEY_SPACE) && player->inventar.flowerSeedCount > 0) - { - AddFlower(flowers, player->sprite.destRec); - player->inventar.flowerSeedCount--; - } - Vector2 dir = GetDirectionVector(); - UpdatePlayerAnimationState(&player->animation.state, &player->selectedTool, &dir); - UpdatePhysics(&player->physics, dir); - UpdateSpriteDestRec(&player->sprite, &player->physics.position); - UpdateAnimation(&player->animation, GetFrameTime()); - UpdateSpriteSourceRec(&player->sprite, &(Vector2){player->sprite.frameSize.x * player->animation.currentFrame, player->sprite.frameSize.y * player->animation.state}); -} - -#endif // PLAYER_H diff --git a/include/state.h b/include/state.h deleted file mode 100644 index 43e1e2a..0000000 --- a/include/state.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef STATE_H -#define STATE_H - -#include "view.h" - -typedef struct { - View currentView; - bool running; - bool gameStarted; -} State; - -#endif // STATE_H diff --git a/include/view.h b/include/view.h deleted file mode 100644 index 96374f7..0000000 --- a/include/view.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef VIEW_H -#define VIEW_H - -typedef enum View { - LOGO = 0, - MENU = 1, - GAMEPLAY = 2 -} View; - -#endif // SCREEN_H diff --git a/shaders/water.fs b/shaders/water.fs new file mode 100644 index 0000000..6cb7fce --- /dev/null +++ b/shaders/water.fs @@ -0,0 +1,137 @@ +#version 330 + +// ----------------------------- +// Inputs +in vec2 fragTexCoord; +in vec4 fragColor; + +// ----------------------------- +// Outputs +out vec4 finalColor; + +// ----------------------------- +// Uniforms +uniform sampler2D texture0; // main texture +uniform sampler2D waterDepthGradient; +uniform sampler2D causticTexture; +uniform sampler2D causticHighlightTexture; +uniform sampler2D causticNoiseTexture; +uniform sampler2D causticFadeNoiseTexture; +uniform sampler2D specularNoiseTexture; +uniform sampler2D specularMovementLeftNoiseTexture; +uniform sampler2D specularMovementRightNoiseTexture; +uniform sampler2D foamTexture; + +uniform float aspectRatio = 1.0; +uniform float pixelization = 2048.0; + +uniform vec4 causticColor = vec4(0.455, 0.773, 0.765, 1.0); +uniform vec4 causticHighlightColor = vec4(0.741, 0.894, 0.898, 1.0); +uniform float causticScale = 12.0; +uniform float causticSpeed = 0.005; +uniform float causticMovementAmount = 0.15; +uniform float causticFaderMultiplier = 1.45; + +uniform vec4 specularColor = vec4(1.0, 1.0, 1.0, 1.0); +uniform float specularThreshold = 0.35; +uniform float specularSpeed = 0.025; +uniform float specularScale = 15.0; + +uniform vec4 foamColor = vec4(1.0, 1.0, 1.0, 1.0); +uniform float foamIntensity = 0.2; +uniform float foamScale = 15.0; + +uniform vec4 outlineColor = vec4(0.675, 0.86, 1.0, 1.0); +uniform float generalTransparency = 1.0; + +uniform float time; + +// ----------------------------- +// Helper functions + +vec2 blendSubtract_vec2(vec2 base, vec2 blend, float opacity) +{ + vec2 result = base - blend; + return mix(base, result, opacity); +} + +float blendSubtract_float(float base, float blend, float opacity) +{ + float result = base - blend; + return mix(base, result, opacity); +} + +float blendOverlay_float(float base, float blend, float opacity) +{ + float result1 = 1.0 - 2.0 * (1.0 - base) * (1.0 - blend); + float result2 = 2.0 * base * blend; + float zeroOrOne = step(0.5, base); + float res = result2 * zeroOrOne + (1.0 - zeroOrOne) * result1; + return mix(base, res, opacity); +} + +vec2 pixelizeCoordinates(vec2 coordinates) +{ + return floor(coordinates * pixelization) / pixelization; +} + +vec2 applyAspectRatio(vec2 coordinates) +{ + return vec2(coordinates.x, coordinates.y * aspectRatio); +} + +// ----------------------------- +// Shader layers + +vec4 caustics(vec2 pixelizedCoordinates) +{ + vec4 causticNoise = texture(causticNoiseTexture, time * causticSpeed + pixelizedCoordinates); + vec2 noiseCoordinates = blendSubtract_vec2(pixelizedCoordinates * causticScale, causticNoise.rg, causticMovementAmount); + vec4 causticHighlight = texture(causticHighlightTexture, noiseCoordinates) * causticHighlightColor; + vec4 caustic = texture(causticTexture, noiseCoordinates) * causticColor; + vec4 interpolatedCaustics = mix(caustic, causticHighlight, causticHighlight.a); + float fadeNoise = texture(causticFadeNoiseTexture, noiseCoordinates).r * causticFaderMultiplier; + return vec4(interpolatedCaustics.rgb, clamp(interpolatedCaustics.a - fadeNoise, 0.0, 1.0)); +} + +vec4 specular(vec2 pixelizedCoordinates) +{ + vec2 scaledCoordinates = pixelizedCoordinates * specularScale; + float specularNoise = texture(specularNoiseTexture, scaledCoordinates).r; + float leftScrollingNoise = texture(specularMovementLeftNoiseTexture, scaledCoordinates + vec2(time * specularSpeed, 0.0)).r; + float rightScrollingNoise = texture(specularMovementRightNoiseTexture, scaledCoordinates + vec2(time * specularSpeed * -1.0, 0.0)).r; + float combined = blendSubtract_float(blendOverlay_float(leftScrollingNoise, rightScrollingNoise, 1.0), specularNoise, 1.0); + return step(specularThreshold, combined) * specularColor; +} + +vec4 foam(vec2 pixelizedCoordinates, vec4 mainTexColor) +{ + vec4 colorizedFoam = texture(foamTexture, pixelizedCoordinates * foamScale) * foamColor; + float intensity = clamp(mainTexColor.g * mainTexColor.a - foamIntensity, 0.0, 1.0); + return vec4(colorizedFoam.rgb, colorizedFoam.a * intensity); +} + +// ----------------------------- +// Main fragment + +void main() +{ + vec2 pixelizedCoordinates = pixelizeCoordinates(applyAspectRatio(fragTexCoord)); + vec4 mainTex = texture(texture0, fragTexCoord); + vec4 depthBasedWaterColor = texture(waterDepthGradient, vec2(1.0 - mainTex.b, 1.0)); + + vec4 finalCaustics = caustics(pixelizedCoordinates); + vec4 finalSpecular = specular(pixelizedCoordinates); + vec4 finalFoam = foam(pixelizedCoordinates, mainTex); + + vec4 waterWithCausticLayer = mix(depthBasedWaterColor, finalCaustics, finalCaustics.a); + vec4 waterWithCausticAndSpecularLayer = mix(waterWithCausticLayer, finalSpecular, ceil(finalCaustics.a) * finalSpecular.a); + vec4 waterWithCausticAndSpecularAndFoamLayer = mix(waterWithCausticAndSpecularLayer, finalFoam, finalFoam.a); + + float outline = mainTex.a * mainTex.r; + vec4 finalOutlineColor = outline * outlineColor; + + vec4 finalRGBColor = mix(waterWithCausticAndSpecularAndFoamLayer, finalOutlineColor, outline); + finalColor = vec4(finalRGBColor.rgb, mainTex.b * generalTransparency); +} + diff --git a/shaders/water.vs b/shaders/water.vs new file mode 100644 index 0000000..a8ba9ce --- /dev/null +++ b/shaders/water.vs @@ -0,0 +1,17 @@ +#version 330 +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec4 vertexColor; + +out vec2 fragTexCoord; +out vec4 fragColor; + +uniform mat4 mvp; + +void main() +{ + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + gl_Position = mvp * vec4(vertexPosition, 1.0); +} + diff --git a/src/app.c b/src/app.c new file mode 100644 index 0000000..df5d782 --- /dev/null +++ b/src/app.c @@ -0,0 +1,51 @@ +#include "app.h" + +void ConfigApp(App *app) { + InitConfig(&app->config, "config/config.ini"); + app->state.currentView = GetConfigInt(&app->config, "startView"); + app->flags.showFPS = GetConfigInt(&app->config, "showFPS"); + app->flags.limitFPS = GetConfigInt(&app->config, "limitFPS"); + app->flags.soundtrackOn = GetConfigInt(&app->config, "soundtrackOn"); + app->window.title = GetConfigString(&app->config, "windowTitle"); + app->window.width = GetConfigInt(&app->config, "windowWidth"); + app->window.height = GetConfigInt(&app->config, "windowHeight"); +} + +void InitApp(App *app) { + InitFont(&app->font, GetConfigString(&app->config, "fontPath")); + InitLogo(&app->logo); + InitMenu(&app->menu); + InitGame(app); +} + +void UpdateApp(App *app) { + + app->state.running = true; + app->state.gameStarted = false; + + while (app->state.running) { + switch (app->state.currentView) { + case LOGO: { + UpdateLogo(&app->logo, &app->state.currentView, &app->state.running); + RenderLogo(&app->logo, &app->flags); + } break; + case MENU: { + UpdateMenu(&app->menu, &app->state, &app->flags); + RenderMenu(&app->menu, &app->font, app->window.title, &app->flags); + } break; + case GAMEPLAY: { + UpdateGame(app); + RenderGame(app); + } break; + default: + break; + } + } +} + +void CleanupApp(App *app) { + CleanupMenu(&app->menu); + CleanupGame(app); + CleanupFont(&app->font); + CleanUpConfig(&app->config); +} diff --git a/src/appGame.c b/src/appGame.c new file mode 100644 index 0000000..15ba635 --- /dev/null +++ b/src/appGame.c @@ -0,0 +1,122 @@ +#include "app.h" + +const ShaderAsset shaderAssets[SHADER_COUNT] = {{"shaders/postfx.fs"}}; + +const SoundtrackAsset soundtrackAssets[SOUNDTRACK_COUNT] = {{"assets/sea.mp3"}}; + +void InitGame(App *app) { + + SetRandomSeed(1234); + GameState *g = &app->game; + g->assets = (Assets){.shaderAssets = shaderAssets, + .soundtrackAssets = soundtrackAssets}; + + for (int i = 0; i < SHADER_COUNT; i++) { + g->postFX[i] = CreatePostFX(g->assets.shaderAssets[i].path); + } + + for (int i = 0; i < SOUNDTRACK_COUNT; i++) { + g->soundtracks[i] = LoadSoundtrack(g->assets.soundtrackAssets[i].path); + } + + g->target = LoadRenderTexture(app->window.width, app->window.height); + + CreatePlayer(); + Player *player = GetPlayer(); + CreateCamera(player->physics.position, 10.0f); + g->birds = CreateBirds(); + g->enemies = CreateEnemies(); + g->islands = CreateIslands(); + g->floor = CreateFloor(); + g->projectiles = CreateProjectiles(); + + Texture2D mouseTexture = LoadTexture("assets/mouse.png"); + g->mouse = CreateMouse(0.10f, 5.0f, 10.0f, &mouseTexture); +} + +void StartGame(App *app) { + if (!app->state.gameStarted) { + app->state.gameStarted = true; + } +} + +void UpdateGame(App *app) { + GameState *g = &app->game; + if (app->flags.limitFPS) { + SetTargetFPS(60); + } else { + SetTargetFPS(0); + } + + StartGame(app); + + OnEscapeChangeView(app, MENU); + OnWindowClosedStoppApp(app); + + for (int i = 0; i < SHADER_COUNT; i++) { + UpdatePostFX(&g->postFX[i]); + } + for (int i = 0; i < SOUNDTRACK_COUNT; i++) { + UpdateSoundtrack(&g->soundtracks[i], app->flags.soundtrackOn); + } + + UpdateMouse(&g->mouse); + Player *player = GetPlayer(); + UpdateCamera2D(&player->physics.position, &g->mouse); + UpdateFloor(&g->floor); + UpdatePlayer(); + UpdateBirds(&g->birds); + UpdateEnemies(&g->enemies); + UpdateIslands(&g->islands); + UpdateProjectiles(&g->projectiles); +} + +void RenderComponents(App *app) { + GameState *g = &app->game; + RenderFloor(&g->floor); + RenderPlayer(); + RenderEnemies(&g->enemies); + RenderBirds(&g->birds); + RenderIslands(&g->islands); + RenderProjectiles(&g->projectiles); +} + +void RenderGame(App *app) { + GameState *g = &app->game; + + BeginTextureMode(g->target); + ClearBackground(BLACK); + Camera2D *camera = GetCamera(); + BeginMode2D(*camera); + RenderComponents(app); + EndMode2D(); + DrawTextureRec( + g->mouse.cursorTexture, + (Rectangle){0, 0, g->mouse.cursorTexture.width, + g->mouse.cursorTexture.height}, + (Vector2){g->mouse.screenPosition.x, g->mouse.screenPosition.y}, WHITE); + EndTextureMode(); + + BeginDrawing(); + ClearBackground(BLACK); + for (int i = 0; i < SHADER_COUNT; i++) { + RenderPostFX(&g->postFX[i], &g->target); + } + + if (app->flags.showFPS) { + DrawFPS(10, 10); + } + + EndDrawing(); +} + +void CleanupGame(App *app) { + GameState *g = &app->game; + for (int i = 0; i < SHADER_COUNT; i++) { + UnloadPostFX(&g->postFX[i]); + } + for (int i = 0; i < SOUNDTRACK_COUNT; i++) { + UnloadMusicStream(g->soundtracks[i].music); + } + UnloadRenderTexture(g->target); +} diff --git a/src/appGameBirds.c b/src/appGameBirds.c new file mode 100644 index 0000000..e9f1699 --- /dev/null +++ b/src/appGameBirds.c @@ -0,0 +1,88 @@ +#include "app.h" + + +const TextureAsset birdsTextureAssets[BIRDS_TEX_COUNT] = { + {"assets/birds.png", 16.0f, 16.0f, 45.0f} +}; + +Birds CreateBirds(void){ + Birds birds = {.count = MAX_BIRDS}; + TextureAsset flyingAsset = birdsTextureAssets[FLYING]; + Texture2D texture = LoadTexture(flyingAsset.path); + float frameWidth = flyingAsset.frameWidth; + float rotation = flyingAsset.rotation; + + for (int i = 0; i < birds.count; i++) + { + birds.sprite[i] = (Sprite){ + .texture = texture, + .frameSize = {frameWidth, frameWidth}, + .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, + .destRec = {GetScreenWidth()/2, 0.0f, frameWidth, frameWidth}, + .origin = {frameWidth / 2, frameWidth / 2}, + .rotation = rotation, + .color = WHITE + }; + + birds.animation[i] = (Animation){ + .state = 1, + .currentFrame = 0, + .maxFrame = 2, + .framesCounter = 0, + .framesSpeed = 2.0f, + .animTimer = 0.0f + }; + + Rectangle cameraRec = GetCameraRectangle(); + + birds.physics[i] = (Physics){ + .position = GetPositionOutsideRectangle(cameraRec, 100, 1000), + .direction = (Vector2){0.0f, 0.0f}, + .speed = 5.0f + }; + + birds.arrived[i] = true; + birds.destPos[i] = (Vector2){0.0f, 0.0f}; + + } + + return birds; +} + +void UpdateBirds(Birds *birds){ + Camera2D *camera = GetCamera(); + Rectangle cameraRec = GetCameraRectangle(); + + for (int i = 0; i < birds->count; i++) + { + if(birds->arrived[i]) + { + birds->destPos[i] = GetPositionOutsideRectangle(cameraRec, 100, 1000); + birds->arrived[i] = false; + } + if(CheckCollisionPointCircle(birds->physics[i].position, birds->destPos[i], 10.0F)) + { + birds->arrived[i] = true; + } + if(GetDistanceBetweenTwoVectors(birds->physics[i].position, camera->target) > 1000){ + birds->physics[i].position = GetPositionOutsideRectangle(cameraRec, 100, 1000); + } + Vector2 dir = GetDirectionBetweenTwoVectors(birds->physics[i].position, birds->destPos[i]); + UpdatePhysics(&birds->physics[i], dir); + UpdateSpriteDestRec(&birds->sprite[i], &birds->physics[i].position); + float rotation = Vector2ToRotation(dir); + UpdateSpriteRotation(&birds->sprite[i], rotation + 45.0f); + UpdateAnimation(&birds->animation[i], GetFrameTime()); + UpdateSpriteSourceRec(&birds->sprite[i], &(Vector2){birds->sprite[i].frameSize.x * birds->animation[i].currentFrame, birds->sprite[i].frameSize.y}); + } +} + +void RenderBirds(Birds *birds){ + + for (int i = 0; i < birds->count; i++) + { + RenderSprite(&birds->sprite[i]); + } + +} + diff --git a/src/appGameEnemies.c b/src/appGameEnemies.c new file mode 100644 index 0000000..91c436b --- /dev/null +++ b/src/appGameEnemies.c @@ -0,0 +1,81 @@ +#include "app.h" + +const TextureAsset enemiesTextureAssets[ENEMIES_TEX_COUNT] = { + {"assets/ship_start.png", 16.0f, 16.0f, 90.0f}}; + +Enemies CreateEnemies(void) { + Enemies enemies = {.count = MAX_ENEMIES}; + TextureAsset textureAsset = enemiesTextureAssets[BOAT]; + Texture2D texture = LoadTexture(textureAsset.path); + float frameWidth = textureAsset.frameWidth; + float rotation = textureAsset.rotation; + + for (int i = 0; i < enemies.count; i++) { + enemies.sprite[i] = (Sprite){ + .texture = texture, + .frameSize = {frameWidth, frameWidth}, + .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, + .destRec = {GetScreenWidth() / 2, 0.0f, frameWidth, frameWidth}, + .origin = {frameWidth / 2, frameWidth / 2}, + .rotation = rotation, + .color = WHITE}; + + enemies.animation[i] = (Animation){.state = 1, + .currentFrame = 0, + .maxFrame = 2, + .framesCounter = 0, + .framesSpeed = 2.0f, + .animTimer = 0.0f}; + + Rectangle cameraRec = GetCameraRectangle(); + + enemies.physics[i] = + (Physics){.position = GetPositionOutsideRectangle(cameraRec, 100, 1000), + .direction = (Vector2){0.0f, 0.0f}, + .speed = 5.0f}; + + enemies.arrived[i] = true; + enemies.destPos[i] = (Vector2){0.0f, 0.0f}; + } + + return enemies; +} + +void UpdateEnemies(Enemies *enemies) { + Camera2D *camera = GetCamera(); + Rectangle cameraRec = GetCameraRectangle(); + + for (int i = 0; i < enemies->count; i++) { + if (enemies->arrived[i]) { + enemies->destPos[i] = GetPositionOutsideRectangle(cameraRec, 100, 1000); + enemies->arrived[i] = false; + } + if (CheckCollisionPointCircle(enemies->physics[i].position, + enemies->destPos[i], 10.0F)) { + enemies->arrived[i] = true; + } + if (GetDistanceBetweenTwoVectors(enemies->physics[i].position, + camera->target) > 1000) { + enemies->physics[i].position = + GetPositionOutsideRectangle(cameraRec, 100, 1000); + } + Vector2 dir = GetDirectionBetweenTwoVectors(enemies->physics[i].position, + enemies->destPos[i]); + UpdatePhysics(&enemies->physics[i], dir); + UpdateSpriteDestRec(&enemies->sprite[i], &enemies->physics[i].position); + float rotation = Vector2ToRotation(dir); + UpdateSpriteRotation(&enemies->sprite[i], rotation + 90.0f); + UpdateAnimation(&enemies->animation[i], GetFrameTime()); + UpdateSpriteSourceRec(&enemies->sprite[i], + &(Vector2){enemies->sprite[i].frameSize.x * + enemies->animation[i].currentFrame, + enemies->sprite[i].frameSize.y}); + } +} + +void RenderEnemies(Enemies *enemies) { + + for (int i = 0; i < enemies->count; i++) { + RenderSprite(&enemies->sprite[i]); + } +} diff --git a/src/appGameFloor.c b/src/appGameFloor.c new file mode 100644 index 0000000..d8a7e60 --- /dev/null +++ b/src/appGameFloor.c @@ -0,0 +1,91 @@ +#include "app.h" + +Floor CreateFloor(void) +{ + + Texture2D base = LoadTexture("assets/water_base.png"); + Texture2D caustic = LoadTexture("assets/water_caustics.png"); + Texture2D causticHighlight = LoadTexture("assets/water_caustics_highlights.png"); + Texture2D noise = LoadTexture("assets/water_noise.png"); + Texture2D cloud = LoadTexture("assets/water_cloudnoise.png"); + Texture2D voronoise = LoadTexture("assets/water_voronoise.png"); + + float textureWidth = 64.0f; + + Floor floor = { + .sprite = { + .texture = base, + .frameSize = {textureWidth, textureWidth}, + .sourceRec = {0.0f, 0.0f, textureWidth, textureWidth}, + .destRec = {0.0f, 0.0f, textureWidth, textureWidth}, + .origin = {textureWidth / 2, textureWidth / 2}, + .rotation = 0.0f, + .color = WHITE}, + .bounds = {0}, + .shader = LoadShader("shaders/water.vs", "shaders/water.fs"), + .time = 0.0f + }; + + float worldTileSize = 128.0f; + float textureSize = 32.0f; + + floor.sprite.frameSize = (Vector2){worldTileSize, worldTileSize}; + floor.sprite.sourceRec = (Rectangle){0, 0, textureSize, textureSize}; + floor.sprite.destRec = (Rectangle){0, 0, worldTileSize, worldTileSize}; + floor.sprite.origin = (Vector2){0, 0}; + + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "causticTexture"), caustic); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "causticHighlightTexture"), causticHighlight); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "causticNoiseTexture"), noise); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "causticFadeNoiseTexture"), cloud); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "specularNoiseTexture"), voronoise); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "specularMovementLeftNoiseTexture"), voronoise); + SetShaderValueTexture(floor.shader, GetShaderLocation(floor.shader, "specularMovementRightNoiseTexture"), cloud); + + float aspect = (float)GetScreenHeight() / (float)GetScreenWidth(); + float pixelization = 2048.0f; + int aspectLoc = GetShaderLocation(floor.shader, "aspectRatio"); + int pixelLoc = GetShaderLocation(floor.shader, "pixelization"); + SetShaderValue(floor.shader, aspectLoc, &aspect, SHADER_UNIFORM_FLOAT); + SetShaderValue(floor.shader, pixelLoc, &pixelization, SHADER_UNIFORM_FLOAT); + + floor.sprite.texture = base; + + return floor; +} + +void UpdateFloor(Floor *floor) +{ + Camera2D *camera = GetCamera(); + floor->bounds.x = (int)((camera->target.x - (GetScreenWidth() / 2.0f / camera->zoom)) / floor->sprite.frameSize.x) - 1; + floor->bounds.width = (int)((camera->target.x + (GetScreenWidth() / 2.0f / camera->zoom)) / floor->sprite.frameSize.x) + 1; + floor->bounds.y = (int)((camera->target.y - (GetScreenHeight() / 2.0f / camera->zoom)) / floor->sprite.frameSize.y) - 1; + floor->bounds.height = (int)((camera->target.y + (GetScreenHeight() / 2.0f / camera->zoom)) / floor->sprite.frameSize.y) + 1; + + floor->time += GetFrameTime(); + int timeLoc = GetShaderLocation(floor->shader, "time"); + SetShaderValue(floor->shader, timeLoc, &floor->time, SHADER_UNIFORM_FLOAT); +} + +void RenderFloor(Floor *floor) +{ + BeginShaderMode(floor->shader); + + for (int y = (int)floor->bounds.y; y <= (int)floor->bounds.height; y++) + { + for (int x = (int)floor->bounds.x; x <= (int)floor->bounds.width; x++) + { + Vector2 floorPosition = {x * floor->sprite.frameSize.x, y * floor->sprite.frameSize.y}; + UpdateSpriteDestRec(&floor->sprite, &floorPosition); + RenderSprite(&floor->sprite); + } + } + + EndShaderMode(); +} + +void UnloadFloor(Floor *floor) +{ + UnloadShader(floor->shader); +} + diff --git a/src/appGameIslands.c b/src/appGameIslands.c new file mode 100644 index 0000000..172b21f --- /dev/null +++ b/src/appGameIslands.c @@ -0,0 +1,39 @@ +#include "app.h" + +const TextureAsset islandsTextureAssets[ISLANDS_TEX_COUNT] = { + {"assets/island.png", 16.0f, 16.0f, 0.0f}}; + +Islands CreateIslands(void) { + TextureAsset islandAsset = islandsTextureAssets[ISLAND]; + Texture2D texture = LoadTexture(islandAsset.path); + float frameWidth = islandAsset.frameWidth; + float rotation = islandAsset.rotation; + + Sprite islandSprite = { + .texture = texture, + .frameSize = {frameWidth, frameWidth}, + .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, + .destRec = {GetScreenWidth() / 2, 0.0f, frameWidth, frameWidth}, + .origin = {frameWidth / 2, frameWidth / 2}, + .rotation = rotation, + .color = WHITE}; + + Physics islandPhysics = {.position = (Vector2){-100.0f, 0.0f}, + .direction = (Vector2){0.0f, 0.0f}, + .speed = 10.0f}; + + return (Islands){.sprite = islandSprite, .physics = islandPhysics}; +} + +void UpdateIslands(Islands *islands) { + + UpdatePhysics(&islands->physics, (Vector2){0.0f, 0.0f}); + UpdateSpriteDestRec(&islands->sprite, &islands->physics.position); + UpdateAnimation(&islands->animation, GetFrameTime()); + UpdateSpriteSourceRec( + &islands->sprite, + &(Vector2){islands->sprite.frameSize.x * islands->animation.currentFrame, + islands->sprite.frameSize.y}); +} + +void RenderIslands(Islands *islands) { RenderSprite(&islands->sprite); } diff --git a/src/appGamePlayer.c b/src/appGamePlayer.c new file mode 100644 index 0000000..93608cb --- /dev/null +++ b/src/appGamePlayer.c @@ -0,0 +1,128 @@ +#include "app.h" + +const TextureAsset playerTextureAssets[PLAYER_TEX_COUNT] = { + {"assets/ship_start.png", 16.0f, 16.0f, 0.0f} +}; + +float playerSpeeds[SPEED_COUNT] = { + 0.0f, + 5.0f, + 10.0f +}; + +playerSpeedID GetPlayerSpeedID(float speed) { + for (int i = 0; i < SPEED_COUNT; i++) { + if (playerSpeeds[i] == speed) { + return (playerSpeedID)i; + } + } + return ANCHOR; +} + +Player* GetPlayer(void) +{ + static Player player; + return &player; +} + +void CreatePlayer(void) +{ + TextureAsset startShipAsset = playerTextureAssets[START_SHIP]; + + Texture2D texture = LoadTexture(startShipAsset.path); + float frameWidth = startShipAsset.frameWidth; + float rotation = startShipAsset.rotation; + + + Sprite playerSprite = { + .texture = texture, + .frameSize = {frameWidth, frameWidth}, + .sourceRec = {0.0f, 0.0f, frameWidth, frameWidth}, + .destRec = {0.0f, 0.0f, frameWidth, frameWidth}, + .origin = {frameWidth / 2, frameWidth / 2}, + .rotation = rotation, + .color = WHITE + }; + + Animation playerAnimation = { + .state = 1, + .currentFrame = 0, + .maxFrame = 3, + .framesCounter = 0, + .framesSpeed = 0.0f, + .animTimer = 0.0f + }; + + + Physics playerPhysics = { + .position = (Vector2){0.0f,0.0f}, + .direction = (Vector2){0.0f, 0.0f}, + .speed = playerSpeeds[ANCHOR] + }; + + Player* player = GetPlayer(); + *player = (Player){ + .sprite = playerSprite, + .animation = playerAnimation, + .physics = playerPhysics, + .rotation = rotation + }; + +} + +void UpdatePlayer(void) +{ + Player* player = GetPlayer(); + if(IsKeyPressed(KEY_W) || IsKeyPressed(KEY_UP)){ + if(player->physics.speed < playerSpeeds[FAST_AHEAD]){ + if(player->physics.speed < playerSpeeds[SLOW_AHEAD]){ + player->physics.speed = playerSpeeds[SLOW_AHEAD]; + } + else { + player->physics.speed = playerSpeeds[FAST_AHEAD]; + } + } + } + + if(IsKeyPressed(KEY_S) || IsKeyPressed(KEY_DOWN)){ + if(player->physics.speed > playerSpeeds[ANCHOR]){ + if(player->physics.speed > playerSpeeds[SLOW_AHEAD]){ + player->physics.speed = playerSpeeds[SLOW_AHEAD]; + } + else { + player->physics.speed = playerSpeeds[ANCHOR]; + + } + } + } + + player->sprite.sourceRec.x = 16.0f * GetPlayerSpeedID(player->physics.speed); + + + float rotationSpeed = 50.0f; + + if (player->physics.speed > playerSpeeds[ANCHOR]){ + + if (IsKeyDown(KEY_A) || IsKeyDown(KEY_LEFT)) { + player->rotation -= rotationSpeed * GetFrameTime(); + } + + if (IsKeyDown(KEY_D) || IsKeyDown(KEY_RIGHT)) { + player->rotation += rotationSpeed * GetFrameTime(); + } + } + + player->sprite.rotation = player->rotation; + + Vector2 dir = RotationToVector2(player->rotation - 90.0f); + + + UpdatePhysics(&player->physics, dir); + UpdateSpriteDestRec(&player->sprite, &player->physics.position); +} + +void RenderPlayer(void){ + Player* player = GetPlayer(); + RenderSprite(&player->sprite); +} + diff --git a/src/appGameProjectiles.c b/src/appGameProjectiles.c new file mode 100644 index 0000000..c71b472 --- /dev/null +++ b/src/appGameProjectiles.c @@ -0,0 +1,71 @@ +#include "app.h" +#include +#include + +Projectiles CreateProjectiles(void) { + Projectiles projectiles = {.count = MAX_PROJECTILES}; + + for (int i = 0; i < projectiles.count; i++) { + projectiles.physics[i] = + (Physics){(Vector2){0.0f, 0.0f}, (Vector2){0.0f, 0.0f}, + (Vector2){0.0f, 0.0f}, 50.0f}; + projectiles.radius[i] = 1.0f; + projectiles.active[i] = false; + projectiles.color[i] = GRAY; + } + + return projectiles; +} + +void UpdateProjectiles(Projectiles *projectiles) { + + static float lastShotTime = 0.0f; + const float reloadTime = 1.0f; + float currentTime = GetTime(); + + if (IsKeyDown(KEY_Q) && (currentTime - lastShotTime >= reloadTime)) { + for (int i = 0; i < projectiles->count; i++) { + if (!projectiles->active[i]) { + projectiles->active[i] = true; + Player *player = GetPlayer(); + projectiles->physics[i].position = player->physics.position; + projectiles->physics[i].direction = + Vector2Rotate(player->physics.direction, -90.0f * DEG2RAD); + lastShotTime = currentTime; + break; + } + } + } + + if (IsKeyDown(KEY_E) && (currentTime - lastShotTime >= reloadTime)) { + for (int i = 0; i < projectiles->count; i++) { + if (!projectiles->active[i]) { + projectiles->active[i] = true; + Player *player = GetPlayer(); + projectiles->physics[i].position = player->physics.position; + projectiles->physics[i].direction = + Vector2Rotate(player->physics.direction, 90.0f * DEG2RAD); + lastShotTime = currentTime; + break; + } + } + } + + for (int i = 0; i < projectiles->count; i++) { + if (projectiles->active[i]) { + UpdatePhysics(&projectiles->physics[i], + projectiles->physics[i].direction); + } + } +} + +void RenderProjectiles(Projectiles *projectiles) { + for (int i = 0; i < projectiles->count; i++) { + printf("Projectile Active: %d", projectiles->active[i]); + if (projectiles->active[i] == true) { + DrawCircle(projectiles->physics[i].position.x, + projectiles->physics[i].position.y, projectiles->radius[i], + projectiles->color[i]); + } + } +} diff --git a/src/appGameShip.c b/src/appGameShip.c new file mode 100644 index 0000000..0487067 --- /dev/null +++ b/src/appGameShip.c @@ -0,0 +1,7 @@ +#include "app.h" + +Ship InitShip(int shipID) { + Config config; + InitConfig(&config, "config/ships.ini"); + Ship ship; +} diff --git a/include/logo.h b/src/appLogo.c similarity index 91% rename from include/logo.h rename to src/appLogo.c index 6b59944..9e2e653 100644 --- a/include/logo.h +++ b/src/appLogo.c @@ -1,18 +1,4 @@ -#ifndef LOGO_H -#define LOGO_H - -typedef struct { - int frameCounter; - int positionX; - int positionY; - int lettersCount; - int topSideRecWidth; - int leftSideRecHeight; - int bottomSideRecWidth; - int rightSideRecHeight; - int state; - float alpha; -} LogoState; +#include "app.h" void InitLogo(LogoState *l) { SetTargetFPS(60); @@ -114,4 +100,3 @@ void RenderLogo(const LogoState *l, Flags *flags) { EndDrawing(); } -#endif // LOGO_H diff --git a/include/menu.h b/src/appMenu.c similarity index 71% rename from include/menu.h rename to src/appMenu.c index ed60cdc..2bcc27c 100644 --- a/include/menu.h +++ b/src/appMenu.c @@ -1,16 +1,4 @@ -#ifndef MENU_H -#define MENU_H - -#include -#include -#include - -typedef struct -{ - MenuView menuView; - MenuMain menuMain; - MenuSettings menuSettings; -} MenuState; +#include "app.h" void InitMenu(MenuState *m) { @@ -30,7 +18,7 @@ void UpdateMenu(MenuState *m, State *state, Flags *flags) case SETTINGS: { - UpdateMenuSettings(&m->menuSettings, &m->menuView, flags); + UpdateMenuSettings(&m->menuSettings, &m->menuView, state, flags); }break; default: break; } @@ -59,4 +47,3 @@ void CleanupMenu(MenuState *m) CleanupMenuMain(&m->menuMain); } -#endif // MENU_H diff --git a/include/menumain.h b/src/appMenuMain.c similarity index 90% rename from include/menumain.h rename to src/appMenuMain.c index 0977104..f6949d6 100644 --- a/include/menumain.h +++ b/src/appMenuMain.c @@ -1,32 +1,23 @@ -#ifndef MENUMAIN_H -#define MENUMAIN_H - -#include -#include -#include -#include -#include -#include "menuassets.h" -#include "menuview.h" -#include "colors.h" -#include "background.h" +#include "app.h" -typedef struct { - Assets assets; - Mouse mouse; - Texture2D textures[MENU_TEX_COUNT]; - Sound sounds[MENU_SOUND_COUNT]; - Soundtrack soundtracks[MENU_SOUNDTRACK_COUNT]; - ImageElement board; - ImageButton playButton; - ImageButton quitButton; - ImageButton settingsButton; - int menuScale; - Background background; - Background midground; - Background foreground; -} MenuMain; +const TextureAsset menuTextureAssets[MENU_TEX_COUNT] = { + {"assets/mouse.png", 16.0f, 16.0f, 0.0f}, + {"assets/buttons.png", 288.0f/3, 96.0f/3, 0.0f}, + {"assets/menu_board.png", 128.0f, 144.0f, 0.0f}, + {"assets/cloud_background.png", 576.0f, 324.0f, 0.0f}, + {"assets/cloud_midground.png", 576.0f, 324.0f, 0.0f}, + {"assets/cloud_foreground.png", 576.0f, 324.0f, 0.0f}}; + + +const SoundtrackAsset menuSoundtrackAssets[MENU_SOUNDTRACK_COUNT] = { + {"assets/merrygoround.wav"}}; + + +const SoundAsset menuSoundAssets[MENU_SOUND_COUNT] = { + {"assets/button_hover.wav"}, + {"assets/button_click.wav"}}; + void InitMenuMain(MenuMain *m){ @@ -215,4 +206,3 @@ void CleanupMenuMain(MenuMain *m){ } } -#endif //MENUMAIN_H diff --git a/include/background.h b/src/appMenuMainBackground.c similarity index 88% rename from include/background.h rename to src/appMenuMainBackground.c index 9d335b8..c7bbbe0 100644 --- a/include/background.h +++ b/src/appMenuMainBackground.c @@ -1,15 +1,4 @@ -#ifndef BACKGROUND_H -#define BACKGROUND_H -#include -#include - -typedef struct { - Sprite sprite; - float scrolling; - float scale; - float scrollSpeed; - Vector2 pos; -} Background; +#include "app.h" void InitBackground(float scrollSpeed, Background *bg, Texture2D *texture, const TextureAsset *backgroundAsset){ bg->scrolling = 0.0f; @@ -67,4 +56,3 @@ void RenderBackground(Background *bg){ } -#endif // BACKGROUND_H diff --git a/include/menusettings.h b/src/appMenuSettings.c similarity index 65% rename from include/menusettings.h rename to src/appMenuSettings.c index bb6a949..c7ea923 100644 --- a/include/menusettings.h +++ b/src/appMenuSettings.c @@ -1,17 +1,4 @@ -#ifndef SETTINGS_H -#define SETTINGS_H - -#include -#include -#include -#include "menuview.h" - -typedef struct -{ - Button showFPS; - Button soundtrackOn; - -} MenuSettings; +#include "app.h" void InitMenuSettings(MenuSettings *s) { @@ -23,20 +10,25 @@ void InitMenuSettings(MenuSettings *s) int standardSpacing = standardButtonDimensions.y / 2; Vector2 button1Pos = {windowCenter.x, windowCenter.y}; - Vector2 button2Pos = {windowCenter.x, windowCenter.y + standardButtonDimensions.y + standardSpacing}; + Vector2 button2Pos = {windowCenter.x, windowCenter.y + standardButtonDimensions.y * 1 + standardSpacing * 1}; + Vector2 button3Pos = {windowCenter.x, windowCenter.y + standardButtonDimensions.y * 2 + standardSpacing * 2}; s->showFPS = initButton("showFPS", standardButtonDimensions, button1Pos); - s->soundtrackOn = initButton("soundtrackOn", standardButtonDimensions, button2Pos); + s->limitFPS = initButton("limitFPS", standardButtonDimensions, button2Pos); + s->soundtrackOn = initButton("soundtrackOn", standardButtonDimensions, button3Pos); } -void UpdateMenuSettings(MenuSettings *s, MenuView *menuView,Flags *flags) +void UpdateMenuSettings(MenuSettings *s, MenuView *menuView, State* state, Flags *flags) { - ShowCursor(); if(isButtonClicked(&s->showFPS)){ flags->showFPS = !flags->showFPS; } + if(isButtonClicked(&s->limitFPS)){ + flags->limitFPS = !flags->limitFPS; + } + if(isButtonClicked(&s->soundtrackOn)){ flags->soundtrackOn = !flags->soundtrackOn; } @@ -45,6 +37,10 @@ void UpdateMenuSettings(MenuSettings *s, MenuView *menuView,Flags *flags) *menuView = MAIN; } + if (WindowShouldClose() && !IsKeyPressed(KEY_ESCAPE)){ + state->running = false; + } + } @@ -54,13 +50,13 @@ void RenderMenuSettings(MenuSettings *s, Flags *flags) ClearBackground(BLACK); renderButton(&s->showFPS); + renderButton(&s->limitFPS); + renderButton(&s->soundtrackOn); if (flags->showFPS){ DrawFPS(10,10); } - renderButton(&s->soundtrackOn); - EndDrawing(); } @@ -69,4 +65,3 @@ void ClenupMenuSettings(MenuSettings *s){ } -#endif // SETTINGS_H diff --git a/src/appState.c b/src/appState.c new file mode 100644 index 0000000..b5114f8 --- /dev/null +++ b/src/appState.c @@ -0,0 +1,17 @@ +#include "app.h" + +void OnEscapeChangeView(App *app, View view) +{ + if (IsKeyPressed(KEY_ESCAPE)) + { + app->state.currentView = view; + } +} + +void OnWindowClosedStoppApp(App *app) +{ + if (WindowShouldClose() && !IsKeyPressed(KEY_ESCAPE)) + { + app->state.running = false; + } +} diff --git a/external/engine/animation.h b/src/engineAnimation.c similarity index 61% rename from external/engine/animation.h rename to src/engineAnimation.c index b2a85a9..cf6cd30 100644 --- a/external/engine/animation.h +++ b/src/engineAnimation.c @@ -1,14 +1,4 @@ -#ifndef ANIMATION_H -#define ANIMATION_H - -typedef struct { - int state; - int currentFrame; - int maxFrame; - int framesCounter; - int framesSpeed; - float animTimer; -} Animation; +#include "engine.h" void UpdateAnimation(Animation *animation, float deltaTime) { animation->animTimer += deltaTime; @@ -25,5 +15,3 @@ void UpdateAnimation(Animation *animation, float deltaTime) { animation->currentFrame = 0; } } - -#endif // ANIMATION_H diff --git a/external/engine/array.h b/src/engineArray.c similarity index 82% rename from external/engine/array.h rename to src/engineArray.c index 3fb9465..fb51f39 100644 --- a/external/engine/array.h +++ b/src/engineArray.c @@ -1,13 +1,7 @@ -#ifndef ARRAY_H -#define ARRAY_H +#include "engine.h" -typedef struct { - void** elements; - unsigned int count; - unsigned int capacity; -} Array; - -Array* CreateArray(unsigned int initCapacity){ +Array* CreateArray(unsigned int initCapacity) +{ Array* array = malloc(sizeof(Array)); if (!array) return NULL; @@ -22,7 +16,8 @@ Array* CreateArray(unsigned int initCapacity){ return array; } -int AddElementToArray(Array* array, void* element){ +int AddElementToArray(Array* array, void* element) +{ if(array->count >= array->capacity) { unsigned int newCapacity = array->capacity * 2; void** newElements = realloc(array->elements, sizeof(void*) * newCapacity); @@ -48,7 +43,8 @@ int AddElementToArray(Array* array, void* element){ // } // SWAP AND POP REMOVE -int RemoveElementFromArray(Array* array, unsigned int index) { +int RemoveElementFromArray(Array* array, unsigned int index) +{ if (index >= array->count) return 0; array->elements[index] = array->elements[array->count - 1]; @@ -58,7 +54,8 @@ int RemoveElementFromArray(Array* array, unsigned int index) { return 1; } -void* GetRandomElementFromArray(Array* array){ +void* GetRandomElementFromArray(Array* array) +{ if (array == NULL || array->elements == NULL || array->count == 0) { return NULL; } @@ -82,7 +79,8 @@ void RenderArray(Array* array, void (*renderFunc)(void*)) } } -void FreeArray(Array** array) { +void FreeArray(Array** array) +{ if (!array || !*array) return; free((*array)->elements); @@ -92,5 +90,3 @@ void FreeArray(Array** array) { *array = NULL; } - -#endif // ARRAY_H diff --git a/src/engineCamera.c b/src/engineCamera.c new file mode 100644 index 0000000..eb93876 --- /dev/null +++ b/src/engineCamera.c @@ -0,0 +1,68 @@ +#include "engine.h" + +Camera2D* GetCamera(void){ + static Camera2D camera; + return &camera; +} + +Rectangle GetCameraRectangle(void) +{ + Camera2D *camera = GetCamera(); + float screenWidth = GetScreenWidth(); + float screenHeight = GetScreenHeight(); + + float viewWidth = 0.0f; + float viewHeight = 0.0f; + float viewX = 0.0f; + float viewY = 0.0f; + if (camera->zoom < 0.5f) + { + viewWidth = screenWidth; + viewHeight = screenHeight; + + viewX = camera->target.x - camera->offset.x; + viewY = camera->target.y - camera->offset.y; + } else + { + viewWidth = screenWidth / camera->zoom; + viewHeight = screenHeight / camera->zoom; + + viewX = camera->target.x - (camera->offset.x / camera->zoom); + viewY = camera->target.y - (camera->offset.y / camera->zoom); + } + return (Rectangle){ + .x = viewX, + .y = viewY, + .width = viewWidth, + .height = viewHeight + }; +} + +void CreateCamera(Vector2 playerPosition, float initZoom){ + Camera2D* camera = GetCamera(); + int windowWidth = GetScreenWidth(); + int windowHeight = GetScreenHeight(); + *camera = (Camera2D){ + .offset = (Vector2){windowWidth / 2.0f, windowHeight / 2.0f}, + .target = playerPosition, + .rotation = 0.0f, + .zoom = initZoom + }; +} + +void UpdateCameraTarget(Vector2 *position, const float smoothness){ + Camera2D* camera = GetCamera(); + camera->target = Vector2Lerp(camera->target, *position, smoothness * GetFrameTime()); +} + +void UpdateCameraZoom(const float *scaleFactor, const float *minZoom, const float *maxZoom){ + Camera2D *camera = GetCamera(); + float targetZoom = Clamp(camera->zoom * *scaleFactor, *minZoom, *maxZoom); + camera->zoom = Lerp(camera->zoom, targetZoom, 0.1f); +} + +void UpdateCamera2D(Vector2* position, Mouse* mouse){ + UpdateCameraTarget(position, 5.0f); + UpdateCameraZoom(&mouse->scaleFactor, &mouse->minZoom, &mouse->maxZoom); +} + diff --git a/external/engine/config.h b/src/engineConfig.c similarity index 91% rename from external/engine/config.h rename to src/engineConfig.c index 0d6eeca..76f7ce4 100644 --- a/external/engine/config.h +++ b/src/engineConfig.c @@ -1,16 +1,7 @@ -#ifndef CONFIG_H -#define CONFIG_H - #define RINI_IMPLEMENTATION #define RINI_VALUE_DELIMITER '=' -#include -#include - -typedef struct { - char *path; - rini_config rini; -} Config; +#include "engine.h" void InitConfig(Config *config, const char* path) { config->rini = rini_load_config(path); @@ -63,4 +54,3 @@ void CleanUpConfig(Config *config) { rini_unload_config(&config->rini); } -#endif // CONFIG_H diff --git a/src/engineFont.c b/src/engineFont.c new file mode 100644 index 0000000..c7acecf --- /dev/null +++ b/src/engineFont.c @@ -0,0 +1,11 @@ +#include "engine.h" + +void InitFont(Font *font, const char* path){ + *font = LoadFont(path); + SetTextureFilter(font->texture, TEXTURE_FILTER_POINT); +} + +void CleanupFont(Font *font){ + UnloadFont(*font); +} + diff --git a/external/engine/gamegui.h b/src/engineGamegui.c similarity index 85% rename from external/engine/gamegui.h rename to src/engineGamegui.c index 492c485..e1e4b29 100644 --- a/external/engine/gamegui.h +++ b/src/engineGamegui.c @@ -1,29 +1,4 @@ -#ifndef GAMEGUI_H -#define GAMEGUI_H - -#include "sprite.h" -#include - -typedef enum { - NOT_CLICKED, - HOVER, - CLICKED -} ButtonState; - -typedef struct -{ - Sprite sprite; - Vector2 notClicked; - Vector2 hover; - Vector2 clicked; - bool isHovered; - bool isClicked; -} ImageButton; - -typedef struct -{ - Sprite sprite; -} ImageElement; +#include "engine.h" ImageButton CreateImageButton(ButtonState state, Texture2D *texture, const TextureAsset *asset, Vector2 *source, Vector2 *clicked, Vector2 *hover, Rectangle *destRec){ return (ImageButton){ @@ -95,5 +70,3 @@ void renderImageElement(ImageElement *e){ RenderSprite(&e->sprite); } - -#endif // GAMEGUI_H diff --git a/external/engine/gui.h b/src/engineGui.c similarity index 78% rename from external/engine/gui.h rename to src/engineGui.c index cd73a3a..6b9454e 100644 --- a/external/engine/gui.h +++ b/src/engineGui.c @@ -1,14 +1,6 @@ -#ifndef GUI_H -#define GUI_H - #define RAYGUI_IMPLEMENTATION -#include -typedef struct -{ - Rectangle rec; - char *text; -} Button; +#include "engine.h" Button initButton(char *text, Vector2 dimensions, Vector2 position) { @@ -29,4 +21,3 @@ void renderButton(Button *b) GuiButton(b->rec, b->text); } -#endif // GUI_H diff --git a/external/engine/input.h b/src/engineInput.c similarity index 78% rename from external/engine/input.h rename to src/engineInput.c index cf0be60..ebd4009 100644 --- a/external/engine/input.h +++ b/src/engineInput.c @@ -1,20 +1,4 @@ -#ifndef INPUT_H -#define INPUT_H - -#include - -typedef struct { - Vector2 screenPosition; - Vector2 worldPosition; - float zoomSpeed; - float minZoom; - float maxZoom; - float scaleFactor; - float wheelMove; - bool leftButton; - bool rightButton; - Texture2D cursorTexture; -} Mouse; +#include "engine.h" Mouse CreateMouse(float zoomSpeed, float minZoom, float maxZoom, Texture2D *texture){ HideCursor(); @@ -31,8 +15,8 @@ void UpdateMouseScreen(Mouse *mouse){ } -void UpdateMouse(Mouse *mouse, Camera2D *camera) { - +void UpdateMouse(Mouse *mouse) { + Camera2D* camera = GetCamera(); Vector2 pos = GetMousePosition(); mouse->screenPosition = pos; mouse->worldPosition = GetScreenToWorld2D(pos, *camera); @@ -57,5 +41,3 @@ Vector2 GetDirectionVector(void){ if (Vector2Length(vector) > 0.0f) {vector = Vector2Normalize(vector); } return vector; } - -#endif //INPUT_H diff --git a/external/engine/object.h b/src/engineObject.c similarity index 93% rename from external/engine/object.h rename to src/engineObject.c index 73d5a03..3dbe7eb 100644 --- a/external/engine/object.h +++ b/src/engineObject.c @@ -1,19 +1,4 @@ -#ifndef OBJECT_H -#define OBJECT_H -#include "sprite.h" -#include "vector.h" - - -typedef struct { - Sprite sprite; - Vector2 position; -} Object; - -typedef struct { - Object *data; - const Object *prototype; - size_t count; -} ObjectArray; +#include "engine.h" ObjectArray CreateObjectArray(const Object *prototype, const size_t count) { ObjectArray objects = {0}; @@ -126,4 +111,3 @@ void RenderObjectArray(const ObjectArray *objects){ } } -#endif // OBJECT_H diff --git a/external/engine/physics.h b/src/enginePhysics.c similarity index 68% rename from external/engine/physics.h rename to src/enginePhysics.c index ff7824c..20873b8 100644 --- a/external/engine/physics.h +++ b/src/enginePhysics.c @@ -1,15 +1,18 @@ -#ifndef PHYSICS_H -#define PHYSICS_H +#include "engine.h" -#include - -typedef struct +Vector2 GetDirectionBetweenTwoVectors(Vector2 vec1, Vector2 vec2) { - Vector2 position; - Vector2 direction; - Vector2 velocity; - float speed; -} Physics; + Vector2 dir = {vec2.x - vec1.x, vec2.y - vec1.y}; + dir = Vector2Normalize(dir); + return dir; +} + +float GetDistanceBetweenTwoVectors(Vector2 vec1, Vector2 vec2) +{ + float dx = vec1.x - vec2.x; + float dy = vec1.y - vec2.y; + return sqrtf(dx * dx + dy * dy); +} void UpdatePhysicsDirection(Vector2 *direction, Vector2 vector) { @@ -38,4 +41,3 @@ void UpdatePhysics(Physics *physics, Vector2 direction) UpdatePhysicsPosition(&physics->position, &physics->velocity); } -#endif // PHYSICS_H diff --git a/external/engine/postfx.h b/src/enginePostfx.c similarity index 87% rename from external/engine/postfx.h rename to src/enginePostfx.c index fa3aad7..04776aa 100644 --- a/external/engine/postfx.h +++ b/src/enginePostfx.c @@ -1,12 +1,4 @@ -#ifndef POSTFX_H -#define POSTFX_H - -typedef struct { - Shader shader; - int resolutionLoc; - int strengthLoc; - float strength; -} PostProcessing; +#include "engine.h" PostProcessing CreatePostFX(const char* shaderPath){ PostProcessing postFX = {0}; @@ -17,7 +9,7 @@ PostProcessing CreatePostFX(const char* shaderPath){ return postFX; } - postFX.strength = 0.3f; + postFX.strength = 0.0f; postFX.resolutionLoc = GetShaderLocation(postFX.shader, "resolution"); postFX.strengthLoc = GetShaderLocation(postFX.shader, "strength"); Vector2 resolution = { (float)GetScreenWidth(), (float)GetScreenHeight() }; @@ -42,5 +34,3 @@ void UnloadPostFX(PostProcessing *postFX){ if (postFX->shader.id == 0) return; UnloadShader(postFX->shader); } - -#endif // POSTFX_H diff --git a/src/engineRectangle.c b/src/engineRectangle.c new file mode 100644 index 0000000..d581cb7 --- /dev/null +++ b/src/engineRectangle.c @@ -0,0 +1,40 @@ +#include "engine.h" + +Vector2 GetPositionInsideRectangle(Rectangle rec) +{ + int randX = GetRandomValue(rec.x, rec.width); + int randY = GetRandomValue(rec.y, rec.height); + Vector2 randVector = {randX, randY}; + return randVector; +} + +Vector2 GetPositionOutsideRectangle(Rectangle rec, int min, int max) +{ + int side = GetRandomValue(0, 3); + Vector2 pos = {0}; + + switch (side) + { + case 0: // left + pos.x = rec.x - GetRandomValue(min, max); + pos.y = GetRandomValue((int)rec.y, (int)(rec.y + rec.height)); + break; + + case 1: // right + pos.x = rec.x + rec.width + GetRandomValue(min, max); + pos.y = GetRandomValue((int)rec.y, (int)(rec.y + rec.height)); + break; + + case 2: // top + pos.x = GetRandomValue((int)rec.x, (int)(rec.x + rec.width)); + pos.y = rec.y - GetRandomValue(min, max); + break; + + case 3: // bottom + pos.x = GetRandomValue((int)rec.x, (int)(rec.x + rec.width)); + pos.y = rec.y + rec.height + GetRandomValue(min, max); + break; + } + + return pos; +} diff --git a/external/engine/soundtrack.h b/src/engineSoundtrack.c similarity index 81% rename from external/engine/soundtrack.h rename to src/engineSoundtrack.c index b790d18..f2f1c08 100644 --- a/external/engine/soundtrack.h +++ b/src/engineSoundtrack.c @@ -1,11 +1,4 @@ -#ifndef SOUNDTRACK_H -#define SOUNDTRACK_H - -typedef struct { - Music music; - bool playing; - bool paused; -} Soundtrack; +#include "engine.h" Soundtrack LoadSoundtrack(const char* musicPath){ Soundtrack soundtrack = { @@ -35,5 +28,3 @@ void UpdateSoundtrack(Soundtrack *soundtrack, bool playing){ } -#endif // SOUNDTRACK_H - diff --git a/external/engine/sprite.h b/src/engineSprite.c similarity index 71% rename from external/engine/sprite.h rename to src/engineSprite.c index 22f511b..b72962d 100644 --- a/external/engine/sprite.h +++ b/src/engineSprite.c @@ -1,18 +1,5 @@ -#ifndef SPRITE_H -#define SPRITE_H +#include "engine.h" -#include - -typedef struct -{ - Texture2D texture; - Rectangle sourceRec; - Rectangle destRec; - Vector2 frameSize; - Vector2 origin; - float rotation; - Color color; -} Sprite; void UpdateSpriteSourceRec(Sprite *sprite, const Vector2 *vector) { @@ -26,14 +13,9 @@ void UpdateSpriteDestRec(Sprite *sprite, const Vector2 *vector) sprite->destRec.y = vector->y; } -void UpdateSpriteRotation(Sprite *sprite, Vector2 *vector) +void UpdateSpriteRotation(Sprite *sprite, float rotation) { - if (Vector2Length(*vector) <= 0.0f) - { - return; - } - float targetRotation = (float)atan2(vector->y, vector->x) * (180.0f / PI) + 90.0f; - sprite->rotation = Lerp(sprite->rotation, targetRotation, 0.1f); + sprite->rotation = Lerp(sprite->rotation, rotation, 0.1f); } void RenderSprite(const Sprite *sprite) @@ -58,5 +40,3 @@ void PrintSprite(const Sprite *sprite) printf(" Sprite.rotation: %f\n", sprite->rotation); printf(" Sprite.color: r = %d, g = %d, b = %d, a = %d\n", sprite->color.r, sprite->color.g, sprite->color.b, sprite->color.a); } - -#endif // SPRITE_H diff --git a/external/engine/vector.h b/src/engineVector.c similarity index 55% rename from external/engine/vector.h rename to src/engineVector.c index dfb2056..38a141f 100644 --- a/external/engine/vector.h +++ b/src/engineVector.c @@ -1,10 +1,4 @@ -#ifndef VECTOR_H -#define VECTOR_H - -typedef struct { - Vector2 *data; - size_t count; -} Vector2Array; +#include "engine.h" bool IsVectorZero(Vector2 v) { float epsilon = 0.01f; @@ -18,4 +12,16 @@ Vector2 GetRandomVector(const Rectangle bounds) { }; } -#endif // VECTOR_H +Vector2 RotationToVector2(float rotation) +{ + float rad = rotation * (PI / 180.0f); + Vector2 vec = { cosf(rad), sinf(rad) }; + return vec; +} + +float Vector2ToRotation(Vector2 vec) +{ + float rad = atan2f(vec.y, vec.x); + float deg = rad * (180.0f / PI); + return deg; +} diff --git a/src/main.c b/src/main.c index 7e003ce..bdcab9d 100644 --- a/src/main.c +++ b/src/main.c @@ -1,4 +1,3 @@ -#include #include "app.h" int main(void)