{"id":20123082,"url":"https://github.com/stwe/mdcii","last_synced_at":"2025-05-06T16:33:42.621Z","repository":{"id":38829461,"uuid":"494743608","full_name":"stwe/MDCII","owner":"stwe","description":"An unofficial project making from scratch to create an editable Anno 1602 world.","archived":false,"fork":false,"pushed_at":"2024-10-22T11:49:29.000Z","size":8816,"stargazers_count":7,"open_issues_count":2,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-09T14:40:38.508Z","etag":null,"topics":["anno-1602","anno1602","game-2d","game-development","isometric","linux","mdcii-engine","olcpixelgameengine","opengl","retro"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stwe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-21T09:54:28.000Z","updated_at":"2024-10-22T11:49:32.000Z","dependencies_parsed_at":"2024-02-18T21:23:15.693Z","dependency_job_id":"60b114ac-556e-4f2b-8880-9cd38bb360bd","html_url":"https://github.com/stwe/MDCII","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FMDCII","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FMDCII/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FMDCII/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FMDCII/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stwe","download_url":"https://codeload.github.com/stwe/MDCII/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252721112,"owners_count":21793754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anno-1602","anno1602","game-2d","game-development","isometric","linux","mdcii-engine","olcpixelgameengine","opengl","retro"],"created_at":"2024-11-13T19:43:21.308Z","updated_at":"2025-05-06T16:33:42.145Z","avatar_url":"https://github.com/stwe.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MDCII\n\nAnother unofficial 1602 AD project. However, the focus here is not on reading the original files, but on creating an editable\nisometric game world.\n\nYou must have a copy of the original game installed on your computer.\n\n* [Compiling MDCII](#compiling-mdcii)\n* [Running MDCII](#running-mdcii)\n* [Roadmap](#roadmap-mdcii-v02)\n* [Reporting bugs](#reporting-bugs)\n* [License](#license)\n\n## Compiling MDCII\n\n### Docker\n\nYou need the original Anno files on the container. The best way to do this is to copy the Anno directory into the\nproject and change the (Linux) path in the config.ini.\n\n***Make sure that under no circumstances does any data end up on public servers such as GitHub or Cloud services.***\n\nAllow connections from the Docker container to the X server:\n\n```bash\nxhost +local:docker\n```\n\nRun a build:\n\n```bash\ndocker build . -t stwe/mdcii\n```\n\nStarts the container:\n\n```bash\ndocker run -it \\\n    --device=/dev/dri:/dev/dri \\\n    --group-add video \\\n    --env=\"DISPLAY\" \\\n    --volume=\"/tmp/.X11-unix:/tmp/.X11-unix:rw\" \\\n    stwe/mdcii\n```\n\nStop sharing X server access:\n\n```bash\nxhost -local:docker\n```\n\n### Using Vcpkg with CMake\n\nYou can use any package manager. Currently, I'm using [Vcpkg](https://vcpkg.io/en/).\n\nI can't explain every IDE here, but the short `Vcpkg` story is as follows:\n- Clone/install and bootstrap [Vcpkg](https://github.com/Microsoft/vcpkg#getting-started) - Those who use the `CLion`\n  IDE can now use their Vcpkg plugin.\n- Install the [additional packages](#additional-requirements) mentioned below.\n- Link the Vcpkg toolchain file.\n\n### Using Vcpkg with CMake and Visual Studio Code\n\nTo install `Vcpkg`, you can follow the official instructions on [GitHub](https://github.com/Microsoft/vcpkg#getting-started).\n\n**Step 1: Clone `Vcpkg`**\n\n```bash\ngit clone https://github.com/Microsoft/vcpkg.git\n```\n\n**Step 2: Run the bootstrap script to build `Vcpkg`**\n\nMake sure you are in the `Vcpkg` directory.\n```bash\n./bootstrap-vcpkg.sh\n```\n\n**Step 3: Install libraries**\n\nMake sure you are in the `Vcpkg` directory and install the [Requirements](#additional-requirements):\n```bash\n./vcpkg install gettext-libintl spdlog imgui protobuf\n```\n\n**Step 4: Linking the `Vcpkg` toolchain file**\n\nYou will need the full path to your `Vcpkg` repository for linking the `Vcpkg` toolchain file.\n\nOpen `settings.json` by selecting `File-\u003ePreferences-\u003eSettings`.\nIn the newly opened window, click the editor button to switch to text editing mode. See mouse cursor on the image below.\n\n\u003cimg src=\"https://github.com/stwe/MDCII/blob/main/resources/doc/VsSettings.png\" width=\"555\" height=\"78\" alt=\"\" /\u003e\n\nNow add the following line somewhere within the `settings.json` file\n\n``` json\n\"cmake.configureSettings\": {\n    \"CMAKE_TOOLCHAIN_FILE\": \"/home/your_name/vcpkg/scripts/buildsystems/vcpkg.cmake\"\n}\n```\n\nIt is quite possible that some CMake caches have to be deleted or reloaded at this point.\n\n### Included dependencies\n\n* [olcPixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine)\n* [Magic Enum C++](https://github.com/Neargye/magic_enum)\n* [FastNoise Lite](https://github.com/Auburn/FastNoiseLite)\n* [C++ INI Parser](https://github.com/SSARCandy/ini-cpp)\n* [nlohmann::json library](https://github.com/nlohmann/json)\n\n### Additional requirements\n\n* gettext-libintl\n* [spdlog](https://github.com/gabime/spdlog)\n* [imgui](https://github.com/ocornut/imgui)\n* [Protocol Buffers](https://github.com/protocolbuffers/protobuf)\n* C++ 20 Compiler (Gcc or MSVC)\n\n### Platforms\n\nThe project runs on Windows and Linux.\n\n## Running MDCII\n\nThe original game is needed.\n\nFor a program start so-called tile atlas graphics are needed, which have to be created first. For this purpose a\n`TileAtlasCreator` is located in the `install` directory. See [README](https://github.com/stwe/MDCII/blob/main/install/TileAtlasCreator/README.md).\n\nIn the MDCII `config.ini` the paths must be adapted.\n\n**The first start takes longer, because the `haeuser.cod` will be parsed.**\n\n## Roadmap MDCII v0.2\n\n* sound system: play background music and sound effects\n* refactoring menus and add missing translations\n* it should be possible to build roads\n* animations should be possible showing how residents brings goods from A to B; for this the A* algorithm can be implemented\n* further down my priority list: the terrain is to be expanded to include rivers and mountains\n\n## Reporting bugs\n\nYou can use GitHub [issues](https://github.com/stwe/MDCII/issues) for reporting bugs.\n\n## License\n\nMDCII is licensed under the GPL-2.0 License, see [LICENSE](https://github.com/stwe/MDCII/blob/main/LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstwe%2Fmdcii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstwe%2Fmdcii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstwe%2Fmdcii/lists"}