{"id":21224030,"url":"https://github.com/sam-k0/gmext","last_synced_at":"2026-04-14T17:32:08.008Z","repository":{"id":90029206,"uuid":"466811774","full_name":"sam-k0/GMExt","owner":"sam-k0","description":"Convert GM6 to GMS2.3, GMS2, GMS1.4 extensions!","archived":false,"fork":false,"pushed_at":"2022-03-12T12:52:09.000Z","size":106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T01:36:17.065Z","etag":null,"topics":["converter","gamemaker-studio","gamemaker-studio-2","gamemaker-studio-2-3","import"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sam-k0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03-06T17:46:00.000Z","updated_at":"2024-12-31T16:59:32.000Z","dependencies_parsed_at":"2023-03-02T07:15:43.809Z","dependency_job_id":null,"html_url":"https://github.com/sam-k0/GMExt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sam-k0/GMExt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sam-k0%2FGMExt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sam-k0%2FGMExt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sam-k0%2FGMExt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sam-k0%2FGMExt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sam-k0","download_url":"https://codeload.github.com/sam-k0/GMExt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sam-k0%2FGMExt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31808505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["converter","gamemaker-studio","gamemaker-studio-2","gamemaker-studio-2-3","import"],"created_at":"2024-11-20T22:54:44.013Z","updated_at":"2026-04-14T17:32:07.965Z","avatar_url":"https://github.com/sam-k0.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gmext\nConvert GM6 to GMS2.3, GMS2, GMS1.4 extensions!\n\nAlthough the capacity of this tool is rather limited, it allows for some good use cases on older extensions- why limited?\nBecause:\n\n - The extension has to include a .gml and .dll file\n - The code is really janky\n - This tool only exports functions, no macros (yet)\n# Known bugs\n- Sometimes, the functions get fancy \" symbols when you import the extension to GameMaker. Have fun removing them.\n- Above Bug is fixed in script, the binary .exe release is behind. I generally advise to use the .py scripts instead of .exe\n# Required python modules\n```python\njson\nxmltodict\n```\n\n # How to use (Live demo for you)\n##  Step 1: Getting started\n First, get the extension downloaded and unzipped. I am going to use an extension called GMMovie. \n (Download: http://gmc.yoyogames.com/index.php?showtopic=68332, *USE WAYBACK MACHINE TO ACCESS THIS WEBPAGE!*)\n \n ![enter image description here](https://raw.githubusercontent.com/sam-k0/gmext/master/readmeimg/image1.jpg?token=GHSAT0AAAAAABKIPFIWZ6SI7LG5GKUCVYJQYRPJOBQ)\n \n \n The folder should include the .dll and .gml file as stated above\n ## Step 2: Moving over\n Move these two files over to where you downloaded this tool.\n \n \n ![enter image description here](https://raw.githubusercontent.com/sam-k0/gmext/master/readmeimg/image2.jpg?token=GHSAT0AAAAAABKIPFIX4NDUVZI7ABCLWG4EYRPJOOQ)\n \n Your directory should look like this. (Both files in the root-folder!)\n - If you are using the .exe version, just move the two files in the same directory as the .exe file\n ## Step 3: Deep Dive\n Open the .gml file and look for the `#define *_Init` part. It is most likely one of the first lines.\n \n ![enter image description here](https://raw.githubusercontent.com/sam-k0/gmext/master/readmeimg/image3.jpg?token=GHSAT0AAAAAABKIPFIWGJDDGOJXGOYIBAM2YRPJS6Q)\n \n In this case, it is line 2. Copy that line to your clipboard.\n ## Step 4: Starting the tool\n Now, execute the `main.py` file: `python3 main.py` or `python main.py` in your terminal.\n **Or, if you use the .exe version, just double click it.**\n - *I like to just open the folder in VS Code and run it from there*\n \nAfter starting, the tool will request two inputs from you:\n \n ![enter image description here](https://raw.githubusercontent.com/sam-k0/gmext/master/readmeimg/image4.jpg?token=GHSAT0AAAAAABKIPFIXR35SOZ2UBR5PIND2YRPJWUA)\n \n - The `extension name` is the name of the .gml file without the .gml.\n - The `DLL file name` is the name of the dll file in your folder. \n Press Enter to continue\n ## Step 5: Final touches\n Remember how I told you to copy the `#define` thing to clipboard?\n That comes into play now!\n The tool will ask you to provide the section start keyword (more like sentence, lol).\n Paste the **exact** line there. It needs this to know where to start reading.\n Now if you press Enter, you should see a *.gmez file in the `output` folder!\n **UPDATE**: The End-Section keyword is also required now!\n \n ![enter image description here](https://raw.githubusercontent.com/sam-k0/gmext/master/readmeimg/image5.jpg?token=GHSAT0AAAAAABKIPFIWCRNNQTBKXMM6ICA4YRPJ23Q)\n\n## Step 6: Import to GMS\n  Congrats! It worked!\n\nImporting to GMS2+\n- Drag and drop the .gmez onto the window.\n\nImporting to GMS1.4\n- For some reason, it doesn't like the generated gmez.\n- Instead, open the .extension.gmx file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsam-k0%2Fgmext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsam-k0%2Fgmext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsam-k0%2Fgmext/lists"}