{"id":47783581,"url":"https://github.com/alariq/mc2","last_synced_at":"2026-04-18T18:01:47.141Z","repository":{"id":59553348,"uuid":"69605218","full_name":"alariq/mc2","owner":"alariq","description":"Mech Commander 2 open source engine + OpenGL Linux port","archived":false,"fork":false,"pushed_at":"2025-02-07T22:41:54.000Z","size":28769,"stargazers_count":122,"open_issues_count":6,"forks_count":20,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-02-07T23:25:21.200Z","etag":null,"topics":["game","game-development","linux-game","opengl","strategy-game"],"latest_commit_sha":null,"homepage":"https://alariq.github.io/mc2-website","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alariq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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":"2016-09-29T20:28:41.000Z","updated_at":"2025-02-07T22:41:57.000Z","dependencies_parsed_at":"2025-02-07T23:22:23.173Z","dependency_job_id":"e5379762-bcf7-44fb-8a55-106f593a4bd1","html_url":"https://github.com/alariq/mc2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alariq/mc2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alariq%2Fmc2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alariq%2Fmc2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alariq%2Fmc2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alariq%2Fmc2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alariq","download_url":"https://codeload.github.com/alariq/mc2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alariq%2Fmc2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31978808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["game","game-development","linux-game","opengl","strategy-game"],"created_at":"2026-04-03T14:00:39.532Z","updated_at":"2026-04-18T18:01:47.135Z","avatar_url":"https://github.com/alariq.png","language":"C++","funding_links":[],"categories":["Strategy"],"sub_categories":[],"readme":"# Mech Commander 2 open source engine + Linux port.\n[website](https://alariq.github.io/mc2-website/)\n\n ## !NB: as russia conducts war in Ukraine I have no time to support this project until we will get rid of orcs. You are encouraged to help.\n \n\nDisclaimer: I consider this project finished for now, there is a lot more to do for someone who wants to improve the game, but all functionality (except networking) is implemented and I've passed the game on my Linux box. Also found original game bugs and crashes are fixed.\n\n\nThis port is an open source implementation of a closed MC2 engine code using available interface (.h) files.\nCurrently game can be run on both Linux and Windows in 64bit mode.\nFixed a lot of bugs (including ones present in original game).\nSound system is not fully implemented (panning, doppler, etc. not supported yet)\n\n## TODO: \n* fix remaining memory leaks (finish implementation of memory heaps)\n* make nice data packs, so not only me can play the game :-) (in progress, see [data repo](https://github.com/alariq/mc2srcdata)\n* ~~actually finish all missions in the game~~\n* make sure no files are created outside of user directory\n* reduce draw calls number\n* reimplement/optimize priority queue\n* finish moving lighting to shaders (move whole lighting there, not only shader-based drawing of CPU-prelit vertices like I do now)\n* Update graphics to ~~2018~~ ~~2020~~ 2021\n* Add network support?\n* I am sure there is more\n\n### Licensing\n* Original game was released under Shared Source Limited Permission License (please refer to EULA.txt)\n* My code is licenced under GPL v.3 (see license.txt)\n* All third party libraries use their own licenses\n\n\nBuilding on Windows\n===================\n\n**Updated detailed build manual for Windows can be found in `BUILD-WIN.md`**\n\nTo build on windows use CMake\n\nEnsure, that you have all necessary dependencies: SDL2, SDL_mixer, SDL_ttf(for tools), zlib, glew\nI recommend to get zlib sources and build them by hand (do not forget to copy zconf.h)\nOne can also use 3rdparty.zip package in the repo for simpler setup, it contains all needed 3rdparty libraries\n\nJust for a reference here is how my 3rdparty tree may look like\n```\n|   \n+---bin\n+---cmake\n    |    sdl2_mixer-config.cmake\n    |    sdl2_ttf-config.cmake\n    |    sdl2-config.cmake\n    |    \n+---include\n|   |   zconf.h\n|   |   zlib.h\n|   |   \n|   +---GL\n|   |       eglew.h\n|   |       glew.h\n|   |       glxew.h\n|   |       wglew.h\n|   |       \n|   \\---SDL2\n|           all sdl headers (SDL_mixer.h and SDL_ttf.h should be there as well)\n|           \n\\---lib\n    +---x64\n    |       glew32.lib\n    |       glew32s.lib\n    |       SDL2.dll\n    |       SDL2.lib\n    |       SDL2main.lib\n    |       SDL2test.lib\n    |       SDL2_mixer.dll\n    |       SDL2_mixer.lib\n    |       SDL2_ttf.lib\n    |       SDL2_ttf.dll\n    |       zlib.dll\n    |       zlib.lib\n    |       zlibstatic.lib\n    |       \n    \\---x86\n            glew32.lib\n            glew32s.lib\n            SDL2.dll\n            SDL2.lib\n            SDL2main.lib\n            SDL2test.lib\n            SDL2_mixer.dll\n            SDL2_mixer.lib\n            SDL2_mixer.dll\n            zlib.dll\n            zlib.lib\n            zlibstatic.lib\n```\n\nYou may already have your dependencies installed in other place(s), so just make sure CMake knows where to find them.\n\nNow:\n```\ngit clone https://github.com/alariq/mc2.git\ncd mc2\nmd build64\ncd build64\ncmake.exe -G \"Visual Studio 15 2017 Win64\" -DCMAKE_PREFIX_PATH=c:/path_to_your_dependencies/ -DCMAKE_LIBRARY_ARCHITECTURE=x64 ..\n```\n(to generate project for VS1027 for 64bit build)\n(prefer absolute path)\n\nor for 32bit build:\n\n`cmake.exe -G \"Visual Studio 15 2017 Win64\" -DCMAKE_PREFIX_PATH=c:/path_to_your_dependencies/ -DCMAKE_LIBRARY_ARCHITECTURE=x86 ..`\n(prefer absolute path)\n\nfor 6bit build and VS2022:\n\n`cmake.exe -G \"Visual Studio 17 2022\" -DCMAKE_PREFIX_PATH=c:/path_to_your_dependencies/ -DCMAKE_LIBRARY_ARCHITECTURE=x64 ..`\n(prefer absolute path)\n\nNow run generated solution and try to build it!\n\n\nNow build string resources\n--------------------------\n\nFirst use script in `test_scripts/res_conv/res_conv.pl` to generate `strings.res.cpp` and  `strings.res.h` files or just take them from that folder\nThen copy them to `./res` folder\nThen:\n\n```\ncd res\nmd build64\ncd build 64\ncmake.exe -G \"Visual Studio 15 2017 Win64\" -DCMAKE_LIBRARY_ARCHITECTURE=x64 ..\n```\nput resulting dll along with executable file\n\nBuilding data\n--------------------------\n\nData files are located in a separate [repository](https://github.com/alariq/mc2srcdata)\nBuilding data is just a matter of executing ```make``` command. You can find instruction on how to do it there.\nBut first one needs to build all necessary tools. There are 2 projects which have to be built:\n\n* data_tools \n* text_tool\n\nAll steps are same as for the main application. As a result you'll have next binaries: ```aseconv, makefst, makersp, mpak, text_tool```. Copy those to the ```build_scripts``` folder in ```mc2srcdata``` repository.\n\nOnce everything in place, you can launch build scripts as described in corresponding ```README.txt``` file.\n\n\nBuilding on Linux\n=================\n\nYou, probably already know hot to do it. If not, please, see windows building section, the process is quite similar.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falariq%2Fmc2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falariq%2Fmc2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falariq%2Fmc2/lists"}