{"id":20975432,"url":"https://github.com/iswenzz/cgsc","last_synced_at":"2025-05-14T14:30:47.897Z","repository":{"id":64930398,"uuid":"201467653","full_name":"Iswenzz/CGSC","owner":"Iswenzz","description":"Call of Duty 4X source extension that adds new utilities to extend the server and the creation of new plugins.","archived":false,"fork":false,"pushed_at":"2024-09-15T18:29:46.000Z","size":205,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-16T18:05:13.014Z","etag":null,"topics":["c","cgsc","cod4","gsc"],"latest_commit_sha":null,"homepage":"","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/Iswenzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"Iswenzz"}},"created_at":"2019-08-09T12:57:09.000Z","updated_at":"2024-09-15T18:29:49.000Z","dependencies_parsed_at":"2023-09-25T02:34:14.393Z","dependency_job_id":"d7ee7bdf-fb8e-40fe-9168-579745a26563","html_url":"https://github.com/Iswenzz/CGSC","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iswenzz%2FCGSC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iswenzz%2FCGSC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iswenzz%2FCGSC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iswenzz%2FCGSC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Iswenzz","download_url":"https://codeload.github.com/Iswenzz/CGSC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225297617,"owners_count":17452010,"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":["c","cgsc","cod4","gsc"],"created_at":"2024-11-19T04:44:20.744Z","updated_at":"2024-11-19T04:44:21.511Z","avatar_url":"https://github.com/Iswenzz.png","language":"C","funding_links":["https://github.com/sponsors/Iswenzz"],"categories":[],"sub_categories":[],"readme":"# CGSC\r\n\r\n[![Checks](https://img.shields.io/github/check-runs/Iswenzz/CGSC/master?logo=github)](https://github.com/Iswenzz/CGSC/actions)\r\n[![CodeFactor](https://img.shields.io/codefactor/grade/github/Iswenzz/CGSC?label=codefactor\u0026logo=codefactor)](https://www.codefactor.io/repository/github/iswenzz/CGSC)\r\n[![License](https://img.shields.io/github/license/Iswenzz/CGSC?color=blue\u0026logo=gitbook\u0026logoColor=white)](https://github.com/Iswenzz/CGSC/blob/master/LICENSE)\r\n\r\nThis Call of Duty 4X source extension adds new utilities to extend the server and the creation of new plugins. Such things include new functions to get data types that the original source doesn't offer, the ability to call functions defined in GSC from the C files and async workers for expensive operations on the server. To use this extension you must add the CGSC files included in the release section to the `/src/CGSC` folder, and then compile the CoD4X server source. More detailed instructions can be found towards the bottom of this document.\r\n\r\n`Note: Depending on the version of Call of Duty 4X that you're running, some features of CGSC may not be available.`\r\n\r\n## Documentation\r\n\r\n-   [API](https://github.com/Iswenzz/CGSC/blob/master/docs/api.md)\r\n-   [Async](https://github.com/Iswenzz/CGSC/blob/master/docs/async.md)\r\n-   [Extensions](https://github.com/Iswenzz/CGSC/blob/master/docs/extensions.md)\r\n\r\n## Instructions\r\n\r\nIn order to use this extension, just download the archived file down below, and extract it to the cod4x server's `src/CGSC` directory, then copy the makefile snippet below and paste it before the default rule.\r\nThen simply build the library with the build instructions and recompile the cod4x source with `make`.\r\n\r\n### **[Download](https://github.com/Iswenzz/CGSC/releases)**\r\n\r\n### **Snippet to add to the cod4x source's makefile before the first target:**\r\n\r\n```makefile\r\n##################################\r\n# CGSC\r\nCGSC_DIR=$(SRC_DIR)/CGSC\r\nWIN_LLIBS:=$(WIN_LLIBS) CGSC uv iphlpapi psapi userenv ws2_32 ole32 uuid dbghelp\r\nLINUX_LLIBS:=$(LINUX_LLIBS) CGSC uv dl pthread rt\r\nBSD_LLIBS:=$(BSD_LLIBS) CGSC uv dl pthread rt\r\n\r\nWIN_LFLAGS:=$(WIN_LFLAGS) -mconsole\r\n\r\nCGSC_ASM_SOURCES=$(wildcard $(CGSC_DIR)/asm/*.asm)\r\nCGSC_ASM_OBJ=$(patsubst $(CGSC_DIR)/asm/%.asm,$(OBJ_DIR)/%.o,$(CGSC_ASM_SOURCES))\r\nASM_OBJ:=$(ASM_OBJ) $(CGSC_ASM_OBJ)\r\n\r\n$(OBJ_DIR)/%.o: $(CGSC_DIR)/asm/%.asm\r\n\t@echo\t $(NASM) $@\r\n\t@$(NASM) $(NASMFLAGS) $\u003c -o $@\r\n```\r\n\r\n## Building (Linux)\r\n\r\n_Pre-Requisites:_\r\n\r\n    sudo dpkg --add-architecture i386\r\n    sudo apt-get update\r\n    sudo apt-get install nasm:i386 build-essential gcc-multilib g++-multilib\r\n\r\n_Build Command:_\r\n\r\n    mkdir build \u0026\u0026 cd build\r\n    cmake .. --preset linux\r\n    cmake --build .\r\n\r\n## Building (Windows)\r\n\r\n_Pre-Requisites:_\r\n\r\n1. Windows [MinGW i686-8.1.0-win32-dwarf-msvcrt](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-win32/dwarf/i686-8.1.0-release-win32-dwarf-rt_v6-rev0.7z)\r\n2. [NASM](https://www.nasm.us/)\r\n3. [CMake](https://cmake.org/) and [vcpkg](https://vcpkg.io/en/).\r\n\r\n_Build Command:_\r\n\r\n    mkdir build \u0026\u0026 cd build\r\n    cmake .. --preset windows\r\n    cmake --build .\r\n\r\n## Package\r\n\r\nThis package is available for use via [vcpkg-registry](https://github.com/Iswenzz/vcpkg-registry).\r\n\r\n## Contributors:\r\n\r\n**_Note:_** If you would like to contribute to this repository, feel free to send a pull request, and I will review your code. Also feel free to post about any problems that may arise in the issues section of the repository.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiswenzz%2Fcgsc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiswenzz%2Fcgsc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiswenzz%2Fcgsc/lists"}