From 3dcfc744d5a74f801d3175d69231e077b9a4171e Mon Sep 17 00:00:00 2001 From: brammie15 Date: Thu, 7 Mar 2024 15:36:20 +0100 Subject: [PATCH] Update README.md Add GameProject to Solution --- .idea/.idea.Prog2Engine/.idea/.gitignore | 13 ++ .idea/.idea.Prog2Engine/.idea/.name | 1 + .idea/.idea.Prog2Engine/.idea/encodings.xml | 4 + .idea/.idea.Prog2Engine/.idea/indexLayout.xml | 8 + .idea/.idea.Prog2Engine/.idea/vcs.xml | 6 + Assets/FuelStation.aseprite | Bin 0 -> 11570 bytes Assets/JunkShopStation.aseprite | Bin 0 -> 10377 bytes Assets/MineralProcessingStation.aseprite | Bin 0 -> 17389 bytes Assets/RepairStation.aseprite | Bin 0 -> 9490 bytes Game/Game.cpp | 98 +++++++++++ Game/Game.h | 30 ++++ Game/Game.vcxproj | 164 ++++++++++++++++++ Game/Game.vcxproj.filters | 36 ++++ Game/main.cpp | 40 +++++ Game/pch.cpp | 1 + Game/pch.h | 20 +++ Prog2Engine.sln | 10 ++ README.md | 24 +-- 18 files changed, 443 insertions(+), 12 deletions(-) create mode 100644 .idea/.idea.Prog2Engine/.idea/.gitignore create mode 100644 .idea/.idea.Prog2Engine/.idea/.name create mode 100644 .idea/.idea.Prog2Engine/.idea/encodings.xml create mode 100644 .idea/.idea.Prog2Engine/.idea/indexLayout.xml create mode 100644 .idea/.idea.Prog2Engine/.idea/vcs.xml create mode 100644 Assets/FuelStation.aseprite create mode 100644 Assets/JunkShopStation.aseprite create mode 100644 Assets/MineralProcessingStation.aseprite create mode 100644 Assets/RepairStation.aseprite create mode 100644 Game/Game.cpp create mode 100644 Game/Game.h create mode 100644 Game/Game.vcxproj create mode 100644 Game/Game.vcxproj.filters create mode 100644 Game/main.cpp create mode 100644 Game/pch.cpp create mode 100644 Game/pch.h diff --git a/.idea/.idea.Prog2Engine/.idea/.gitignore b/.idea/.idea.Prog2Engine/.idea/.gitignore new file mode 100644 index 0000000..8249ff7 --- /dev/null +++ b/.idea/.idea.Prog2Engine/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.Prog2Engine.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.Prog2Engine/.idea/.name b/.idea/.idea.Prog2Engine/.idea/.name new file mode 100644 index 0000000..988920a --- /dev/null +++ b/.idea/.idea.Prog2Engine/.idea/.name @@ -0,0 +1 @@ +Prog2Engine \ No newline at end of file diff --git a/.idea/.idea.Prog2Engine/.idea/encodings.xml b/.idea/.idea.Prog2Engine/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.Prog2Engine/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.Prog2Engine/.idea/indexLayout.xml b/.idea/.idea.Prog2Engine/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.Prog2Engine/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Prog2Engine/.idea/vcs.xml b/.idea/.idea.Prog2Engine/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.Prog2Engine/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/FuelStation.aseprite b/Assets/FuelStation.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..695eec5911a8ff573e74ca311518a64c21a53e9f GIT binary patch literal 11570 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 literal 0 HcmV?d00001 diff --git a/Assets/JunkShopStation.aseprite b/Assets/JunkShopStation.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..e717113e81b47cb8aeca2767a052151f9cdc4e4f GIT binary patch literal 10377 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 F{{Vq_))fE% literal 0 HcmV?d00001 diff --git a/Assets/MineralProcessingStation.aseprite b/Assets/MineralProcessingStation.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..ee64dd963986394225d8f0c782daa3c5b9b673f4 GIT binary patch literal 17389 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 literal 0 HcmV?d00001 diff --git a/Game/Game.cpp b/Game/Game.cpp new file mode 100644 index 0000000..e18b62e --- /dev/null +++ b/Game/Game.cpp @@ -0,0 +1,98 @@ +#include "pch.h" +#include "Game.h" + +Game::Game(const Window& window) + : BaseGame { window } { + Initialize(); +} + +Game::~Game() { + Cleanup(); +} + +void Game::Initialize() { + +} + +void Game::Cleanup() { +} + +void Game::Update(float elapsedSec) { + // Check keyboard state + //const Uint8 *pStates = SDL_GetKeyboardState( nullptr ); + //if ( pStates[SDL_SCANCODE_RIGHT] ) + //{ + // std::cout << "Right arrow key is down\n"; + //} + //if ( pStates[SDL_SCANCODE_LEFT] && pStates[SDL_SCANCODE_UP]) + //{ + // std::cout << "Left and up arrow keys are down\n"; + //} +} + +void Game::Draw() const { + ClearBackground(); +} + +void Game::ProcessKeyDownEvent(const SDL_KeyboardEvent& e) { + //std::cout << "KEYDOWN event: " << e.keysym.sym << std::endl; +} + +void Game::ProcessKeyUpEvent(const SDL_KeyboardEvent& e) { + //std::cout << "KEYUP event: " << e.keysym.sym << std::endl; + //switch ( e.keysym.sym ) + //{ + //case SDLK_LEFT: + // //std::cout << "Left arrow key released\n"; + // break; + //case SDLK_RIGHT: + // //std::cout << "`Right arrow key released\n"; + // break; + //case SDLK_1: + //case SDLK_KP_1: + // //std::cout << "Key 1 released\n"; + // break; + //} +} + +void Game::ProcessMouseMotionEvent(const SDL_MouseMotionEvent& e) { + //std::cout << "MOUSEMOTION event: " << e.x << ", " << e.y << std::endl; +} + +void Game::ProcessMouseDownEvent(const SDL_MouseButtonEvent& e) { + //std::cout << "MOUSEBUTTONDOWN event: "; + //switch ( e.button ) + //{ + //case SDL_BUTTON_LEFT: + // std::cout << " left button " << std::endl; + // break; + //case SDL_BUTTON_RIGHT: + // std::cout << " right button " << std::endl; + // break; + //case SDL_BUTTON_MIDDLE: + // std::cout << " middle button " << std::endl; + // break; + //} + +} + +void Game::ProcessMouseUpEvent(const SDL_MouseButtonEvent& e) { + //std::cout << "MOUSEBUTTONUP event: "; + //switch ( e.button ) + //{ + //case SDL_BUTTON_LEFT: + // std::cout << " left button " << std::endl; + // break; + //case SDL_BUTTON_RIGHT: + // std::cout << " right button " << std::endl; + // break; + //case SDL_BUTTON_MIDDLE: + // std::cout << " middle button " << std::endl; + // break; + //} +} + +void Game::ClearBackground() const { + glClearColor(0.0f, 0.0f, 0.3f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); +} diff --git a/Game/Game.h b/Game/Game.h new file mode 100644 index 0000000..30dbb0e --- /dev/null +++ b/Game/Game.h @@ -0,0 +1,30 @@ +#pragma once +#include "BaseGame.h" + +class Game : public BaseGame +{ +public: + explicit Game(const Window& window); + Game(const Game& other) = delete; + Game& operator=(const Game& other) = delete; + Game(Game&& other) = delete; + Game& operator=(Game&& other) = delete; + // http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rh-override + ~Game(); + + void Update(float elapsedSec) override; + void Draw() const override; + + // Event handling + void ProcessKeyDownEvent(const SDL_KeyboardEvent& e) override; + void ProcessKeyUpEvent(const SDL_KeyboardEvent& e) override; + void ProcessMouseMotionEvent(const SDL_MouseMotionEvent& e) override; + void ProcessMouseDownEvent(const SDL_MouseButtonEvent& e) override; + void ProcessMouseUpEvent(const SDL_MouseButtonEvent& e) override; + +private: + // FUNCTIONS + void Initialize(); + void Cleanup(); + void ClearBackground() const; +}; diff --git a/Game/Game.vcxproj b/Game/Game.vcxproj new file mode 100644 index 0000000..c558494 --- /dev/null +++ b/Game/Game.vcxproj @@ -0,0 +1,164 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {0f40114e-3e0c-4195-b425-91fd5ef586ad} + Game + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)\Libraries\SDLTtf\SDL2_ttf-2.20.2\include;$(SolutionDir)\Libraries\SDLMixer\SDL2_mixer-2.6.3\include;$(SolutionDir)\Libraries\SDLImage\SDL2_image-2.6.3\include;$(SolutionDir)\Libraries\SDLMain\SDL2-2.26.3\include;$(SolutionDir)\Engine;$(IncludePath) + $(SolutionDir)\x64\Debug;$(SolutionDir)\Libraries\SDLTtf\SDL2_ttf-2.20.2\lib\x64;$(SolutionDir)\Libraries\SDLMixer\SDL2_mixer-2.6.3\lib\x64;$(SolutionDir)\Libraries\SDLImage\SDL2_image-2.6.3\lib\x64;$(SolutionDir)\Libraries\SDLMain\SDL2-2.26.3\lib\x64;$(LibraryPath) + BuildCompile + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Create + pch.h + + + Console + true + Engine.lib;%(AdditionalDependencies) + + + + + Copying dll files to executable + + + xcopy "$(SolutionDir)Libraries\SDLMain\SDL2-2.26.3\lib\x64\*.dll" "$(TargetDir)" /y /d +xcopy "$(SolutionDir)Libraries\SDLImage\SDL2_image-2.6.3\lib\x64\*.dll" "$(TargetDir)" /y /d +xcopy "$(SolutionDir)Libraries\SDLMixer\SDL2_mixer-2.6.3\lib\x64\*.dll" "$(TargetDir)" /y /d +xcopy "$(SolutionDir)Libraries\SDLTtf\SDL2_ttf-2.20.2\lib\x64\*.dll" "$(TargetDir)" /y /d +xcopy "$(SolutionDir)Resources\*.*" "$(TargetDir)" /y /d /s + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + + + + + $(TargetDir) + + \ No newline at end of file diff --git a/Game/Game.vcxproj.filters b/Game/Game.vcxproj.filters new file mode 100644 index 0000000..8287ec7 --- /dev/null +++ b/Game/Game.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/Game/main.cpp b/Game/main.cpp new file mode 100644 index 0000000..6315191 --- /dev/null +++ b/Game/main.cpp @@ -0,0 +1,40 @@ +#include "pch.h" +#include +#include "Game.h" + + +void StartHeapControl(); +void DumpMemoryLeaks(); + +int SDL_main(int argv, char** args) { + srand(static_cast(time(nullptr))); + + StartHeapControl(); + + Game* pGame { new Game { Window { "Project name - Name, first name - 1DAEXX", 846.f, 500.f } } }; + pGame->Run(); + delete pGame; + + DumpMemoryLeaks(); + return 0; +} + + +void StartHeapControl() { +#if defined(DEBUG) | defined(_DEBUG) + // Notify user if heap is corrupt + HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); + + // Report detected leaks when the program exits + _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); + + // Set a breakpoint on the specified object allocation order number + //_CrtSetBreakAlloc( 156 ); +#endif +} + +void DumpMemoryLeaks() { +#if defined(DEBUG) | defined(_DEBUG) + _CrtDumpMemoryLeaks(); +#endif +} diff --git a/Game/pch.cpp b/Game/pch.cpp new file mode 100644 index 0000000..1730571 --- /dev/null +++ b/Game/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" \ No newline at end of file diff --git a/Game/pch.h b/Game/pch.h new file mode 100644 index 0000000..5b798dc --- /dev/null +++ b/Game/pch.h @@ -0,0 +1,20 @@ +#pragma once +//ML Detection Extension +#ifdef _DEBUG +#define _CRTDBG_MAP_ALLOC +#include +#include +#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__) +#define new DEBUG_NEW +#endif +// SDL and OpenGL Includes +#pragma warning(disable : 26812) +#pragma warning(disable : 4820) +#include +#include +#include +#include +#include + +#pragma warning(default : 26812) +#include "structs.h" diff --git a/Prog2Engine.sln b/Prog2Engine.sln index 580bb05..53a6c2f 100644 --- a/Prog2Engine.sln +++ b/Prog2Engine.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.4.33205.214 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Engine", "Engine\Engine.vcxproj", "{5ADAB721-CB6C-4EF5-89EB-20EC51A13CFC}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game", "Game\Game.vcxproj", "{0F40114E-3E0C-4195-B425-91FD5EF586AD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -21,6 +23,14 @@ Global {5ADAB721-CB6C-4EF5-89EB-20EC51A13CFC}.Release|x64.Build.0 = Release|x64 {5ADAB721-CB6C-4EF5-89EB-20EC51A13CFC}.Release|x86.ActiveCfg = Release|Win32 {5ADAB721-CB6C-4EF5-89EB-20EC51A13CFC}.Release|x86.Build.0 = Release|Win32 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Debug|x64.ActiveCfg = Debug|x64 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Debug|x64.Build.0 = Debug|x64 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Debug|x86.ActiveCfg = Debug|Win32 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Debug|x86.Build.0 = Debug|Win32 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Release|x64.ActiveCfg = Release|x64 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Release|x64.Build.0 = Release|x64 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Release|x86.ActiveCfg = Release|Win32 + {0F40114E-3E0C-4195-B425-91FD5EF586AD}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.md b/README.md index acba1ee..fe6205f 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,15 @@
-

NAME OF CHOSEN GAME

+

Motherload

- Short description of the game. + Gather resources and buy upgrades to dig as far as you can. You have to dig ores and sell them to earn cash which you use to buy fuel, digger upgrades, explosives, and other supplies. You can only sell ore and buy items at the surface. If you run out of fuel, your digger explodes and you die (game over). There are more valuable (and heavier) ores as you go deeper into the mine. There are several types of alien artifacts which are of considerable value and appear randomly throughout the mine (below 950 feet).
Original game : -
General info » + General info » · - Youtube video » + Youtube video »

@@ -50,9 +50,9 @@ TODO: add screenshot Here's why: TODO: describe why you chose this game -* reason 1 -* reason .. - +* It's a classic game that I played when I was younger. +* It's a game that I can make in a reasonable amount of time. +*

(back to top)

@@ -61,8 +61,8 @@ TODO: describe why you chose this game This section gives a clear and detailed overview of which parts of the original game I planned to make. ### The minimum I will most certainly develop: -* .. -* .. +* Player movement +* Resource Collection ### What I will probably make as well: * .. @@ -82,7 +82,7 @@ Detailed instructions on how to run your game project are in this section. ### Prerequisites This is an example of how to list things you need to use the software and how to install them. -* Visual Studio 2022 +* Visual Studio 2022 Or Jetbrains Rider ### How to run the project @@ -144,9 +144,9 @@ Explain where you applied inheritance (mandatory). ## Contact -Your Name - email@student.howest.be +Bram Verhulst - bram.verhulst@student.howest.be -Project Link: [https://github.com/your_username/repo_name](https://github.com/your_username/repo_name) +Project Link: [Here](https://github.com/HowestDAE/dae16-VerhulstBram)

(back to top)