├── .gitattributes ├── .github └── workflows │ └── compile.yml ├── .gitignore ├── .vscode └── settings.json ├── README.md ├── api-generator ├── .gitignore ├── api │ ├── .gitignore │ ├── doc-filter.xml │ └── filter.py ├── dox.hxml ├── generateDoc.bat ├── generateDoc.sh ├── setup.bat ├── src │ ├── Macro.hx │ ├── Main.hx │ ├── dox │ │ └── MarkdownHandler.hx │ └── templo │ │ ├── Parser.hx │ │ └── Template.hx └── theme │ ├── config.json │ └── templates │ ├── 404.mtt │ ├── abstract.mtt │ ├── class.mtt │ ├── class_field.mtt │ ├── doc.mtt │ ├── enum.mtt │ ├── enum_field.mtt │ ├── extra-headers.mtt │ ├── footer-old.mtt │ ├── footer.mtt │ ├── header.mtt │ ├── macros.mtt │ ├── main.mtt │ ├── meta_description.mtt │ ├── nav.mtt │ ├── package.mtt │ ├── package_description.mtt │ ├── related_types.mtt │ ├── topbar.mtt │ └── typedef.mtt ├── cspell.json ├── donators.json ├── featured-mods ├── 1shot-collection │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── 67lmd │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── README.md ├── analog-funkin │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── ananke │ ├── cover.jpg │ └── meta.json ├── bad-egg │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── bamber-davey │ ├── cover.jpg │ └── meta.json ├── cubical-saturday │ ├── cover.png │ └── meta.json ├── cyber-sensation │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── demigod-duel │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── dustin │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── final-space │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── fnf-doomspire │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── fnf-other-halloween │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── fnf-vs-sonic.exe │ ├── cover.jpg │ └── meta.json ├── funkalis │ ├── cover.jpg │ └── meta.json ├── funkin-drones │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── funky-phenomena │ ├── cover.jpg │ └── meta.json ├── funkyfs │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── funkyfsJJ │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── funny-mod │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── gorefield │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── hellfire-blazin' │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── hello-again-john-doe │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── imposter-mania │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── indiscretions │ ├── cover-old.jpg │ ├── cover.jpg │ └── meta.json ├── irida │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── it-was-good │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── kosan! │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── lethal-me-company │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── mediocrity │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── mistful-crimson-morning │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── monday-noon-moving │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── monster-of-monsters │ ├── cover.png │ └── meta.json ├── myths-of-yamaha │ ├── cover-high.png │ ├── cover.jpg │ └── meta.json ├── pajama-party │ ├── cover.png │ └── meta.json ├── parallax-redefined │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── pillar-funkin │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── poldhub │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── press-c-for-a-meaty-surprise │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── project-chinos-chaos │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── punch-punch-funkin' │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── rone-resurrection │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── scary-bamber │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── seezees-box │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── shaggy-alternative-universe │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── silly-roblox-mod │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── skullfunk │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── spooky-fools │ ├── cover-high.png │ ├── cover.jpg │ └── meta.json ├── sunday-night-at-subway │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── sunday-night-plumbin │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── sundays-desolation │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── super-funkin-galaxy │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── the-basement-show │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── timeless-daydream │ ├── cover.jpg │ └── meta.json ├── trains-and-traitors │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── untitled-jeen-mod │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── untitledimpostorretake │ ├── cover.jpg │ └── meta.json ├── virtual-masks │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── vs-evil-fcked-up-bocchi │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── vs-ross │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── vs-scotty.exe │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── vs-zucco │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── wbs-crisis │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── yege-the-game │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json └── ytp-invasion │ ├── cover-high.jpg │ ├── cover.jpg │ └── meta.json ├── giscus.json ├── package-lock.json ├── package.json ├── src ├── _style-vars.scss ├── build.js ├── giscus-theme.scss ├── img │ ├── PhantomMuff Full Letters 1.1.5.ttf │ ├── banner.png │ ├── codename-animated-icon.gif │ ├── codename-animated-icon.webp │ ├── codename-animated.gif │ ├── codename-animated.webp │ ├── external-icon.svg │ ├── icons │ │ ├── Bluesky_Logo.svg │ │ ├── discord.svg │ │ ├── github-142-svgrepo-com.svg │ │ ├── twitter-154-svgrepo-com.svg │ │ └── youtube-168-svgrepo-com.svg │ ├── image.png │ ├── logo-banner-mini.png │ ├── logo-banner.png │ ├── logo-cne.png │ ├── missing.png │ ├── os │ │ ├── android.svg │ │ ├── apple.svg │ │ ├── linux.svg │ │ └── windows.svg │ ├── question.png │ ├── sidebar_pointer(1).png │ ├── sidebar_pointer_mobile(1).png │ ├── sparkle-bottom.gif │ ├── sparkle-bottom.webp │ ├── sparkle-top.gif │ ├── sparkle-top.webp │ └── top-bar-bg.png ├── index.js ├── pages │ ├── 404.build.js │ ├── 404.html │ ├── api-docs │ │ ├── apiDocs.build.js │ │ ├── not-built.html │ │ └── resources │ │ │ ├── api-docs.scss │ │ │ ├── highlighter.js │ │ │ └── index.js │ ├── featuredMods.js │ ├── index.build.js │ ├── index.html │ ├── index.scss │ ├── ko-fi.scss │ ├── templates │ │ ├── footer.html │ │ └── header.html │ ├── wiki.build.js │ ├── wiki.html │ ├── wiki.js │ └── wiki.scss ├── sitemap.build.js ├── sitemap.template.xml ├── style.scss ├── style_v2.scss ├── syntax │ ├── haxeFormat-old.js │ └── haxeFormat.js ├── toplevel │ ├── .gitattributes │ ├── .well-known │ │ └── discord │ ├── 6662987d066b4c09b12a50964d0f47bf.txt │ ├── BingSiteAuth.xml │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── favicon.ico │ ├── favicon.svg │ ├── file-uploads │ │ └── freeplay-bf-icon-example.zip │ ├── og-icon.png │ ├── robots.txt │ ├── site.webmanifest │ ├── web-app-manifest-192x192.png │ └── web-app-manifest-512x512.png └── utils.js ├── tools ├── event-packer │ ├── index.html │ └── index.js ├── index.html ├── psych-char-converter │ ├── index.html │ └── index.js ├── tools.build.js └── tools.scss ├── webserver.bat ├── webserver.sh └── wiki ├── How to navigate the engine-1.png ├── How to navigate the engine-2.png ├── How to navigate the engine-3.png ├── How to navigate the engine-4.png ├── How to navigate the engine-5.png ├── How to navigate the engine-6.png ├── How to navigate the engine-7.png ├── How to navigate the engine-8.png ├── How to navigate the engine-9.png ├── How to navigate the engine.png ├── differences.md ├── faq.md ├── index.md ├── modding ├── Cutscenes or Dialogues.png ├── characters │ ├── editor-features.md │ └── index.md ├── cutscenes-dialogues.md ├── hardcoding │ └── index.md ├── index.md ├── index.png ├── making-custom-icons.md ├── making-custom-icons.png ├── note-splashes-1.png ├── note-splashes-2.png ├── note-splashes.md ├── note-splashes.webm ├── scripting │ ├── 3d-rendering.md │ ├── Custom Options.png │ ├── State or Substate Scripts.png │ ├── custom-classes.md │ ├── custom-options.md │ ├── custom-transitions.md │ ├── global-scripts.md │ ├── hxvlc.md │ ├── index.md │ ├── ndll-scripting.md │ ├── playstate-scripts │ │ ├── Events or Notetype Scripts-1.png │ │ ├── Events or Notetype Scripts.png │ │ ├── Week 6 Dialogue.webm │ │ ├── character-stage-scripts.md │ │ ├── cutscenes-dialogue-scripts.md │ │ ├── events-notetypes-scripts.md │ │ ├── gameplay-scripts.md │ │ ├── index.md │ │ └── pause-gameover-scripts.md │ ├── script-calls.md │ ├── script-snippets.md │ ├── scripted-assets-libraries.md │ ├── shaders.md │ └── state-substate-scripts.md ├── songs │ ├── Add Camera Zoom.png │ ├── Add Camera Zoom.webm │ ├── Alt Animation Toggle.png │ ├── Alt Animation Toggle.webm │ ├── BPM Change.png │ ├── Camera Flash.png │ ├── Camera Flash.webm │ ├── Camera Modulo Change.png │ ├── Camera Modulo Change.webm │ ├── Camera Movement.png │ ├── Camera Movement.webm │ ├── Chart Editor Features-1.png │ ├── Chart Editor Features-10.png │ ├── Chart Editor Features-11.png │ ├── Chart Editor Features-12.png │ ├── Chart Editor Features-13.png │ ├── Chart Editor Features-14.png │ ├── Chart Editor Features-15.png │ ├── Chart Editor Features-16.png │ ├── Chart Editor Features-2.png │ ├── Chart Editor Features-3.png │ ├── Chart Editor Features-4.png │ ├── Chart Editor Features-5.png │ ├── Chart Editor Features-6.png │ ├── Chart Editor Features-7.png │ ├── Chart Editor Features-8.png │ ├── Chart Editor Features-9.png │ ├── Chart Editor Features.png │ ├── HScript Call.png │ ├── Play Animation.png │ ├── Play Animation.webm │ ├── Scroll Speed Change.png │ ├── Scroll Speed Change.webm │ ├── displaying-songs.md │ ├── editor-features.md │ ├── events.md │ ├── index-1.png │ ├── index-2.png │ ├── index-3.png │ ├── index-4.png │ ├── index-5.png │ ├── index.md │ └── index.png ├── stages │ ├── index.md │ └── stage-extensions.md └── weeks │ ├── index.md │ └── week-characters.md ├── navigation.md ├── troubleshooting.md └── wiki.json /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | 3 | *.md linguist-detectable -linguist-documentation linguist-language=Markdown 4 | 5 | export/** linguist-generated 6 | api-generator/api/** linguist-generated -------------------------------------------------------------------------------- /.github/workflows/compile.yml: -------------------------------------------------------------------------------- 1 | name: Cloudflare Pages Deploy 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-22.04 12 | permissions: 13 | contents: write 14 | deployments: write 15 | concurrency: 16 | group: ${{ github.workflow }}-${{ github.ref }} 17 | steps: 18 | - uses: actions/checkout@v3 19 | 20 | - name: Setup Node 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version: '20' 24 | 25 | - name: Setting up Haxe (for api docs) 26 | uses: krdlab/setup-haxe@v1 27 | with: 28 | haxe-version: 4.2.5 29 | 30 | - name: Cache dependencies 31 | uses: actions/cache@v3 32 | with: 33 | path: ~/.npm 34 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 35 | restore-keys: | 36 | ${{ runner.os }}-node- 37 | 38 | - name: Install Haxelib dependencies 39 | run: | 40 | haxelib --global install dox 1.6.0 --quiet 41 | haxelib --global install hxtemplo 3.2.0 --quiet 42 | haxelib --global install hxparse 4.3.0 --quiet 43 | haxelib --global install hxargs 4.0.0 --quiet 44 | haxelib --global install markdown 1.1.3 --quiet 45 | 46 | - run: npm install 47 | - run: npm run build:actions ./ 48 | 49 | - name: Deploy to Cloudflare Pages 50 | uses: cloudflare/pages-action@v1 51 | if: github.ref == 'refs/heads/main' 52 | with: 53 | apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} 54 | accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} 55 | projectName: codename-website 56 | directory: export 57 | gitHubToken: ${{ secrets.GITHUB_TOKEN }} 58 | 59 | - name: Push the changes to cf-pages 60 | uses: peaceiris/actions-gh-pages@v4 61 | if: github.ref == 'refs/heads/main' 62 | with: 63 | github_token: ${{ secrets.GITHUB_TOKEN }} 64 | publish_dir: ./export 65 | publish_branch: cf-pages -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | export/* 2 | node_modules/* 3 | .vscode/* 4 | IndexNow.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "livePreview.defaultPreviewPath": "./export/", 3 | "livePreview.serverRoot": "./export/", 4 | "livePreview.autoRefreshPreview": "On Changes to Saved Files" 5 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Codename Engine Website 2 | 3 | **To contribute to this wiki's pages**, please go to ``wiki/``, and change the .md files (if you add a new one make sure to add it in ``wiki/wiki.json``.) 4 | 5 | **To update the API Docs**, please go to ``api-generator/api/``, and paste the results from the ``art/generateDocs.bat`` (From the main repo) script. Then you gotta run ``filter.py``, make sure you have python installed, and have run ``pip install lxml``. 6 | 7 | **To make tools work**, please go to ``tools/`` and make your page there, and when you're done, add it to the list in ``tools.build.js`` and ``tools/index.html``, then after you're done, make a PR. 8 | 9 | ## Compiling the website 10 | 11 | To compile the website, you need to have [nodejs](https://nodejs.org/en/) installed. 12 | 13 | Then, run the following commands: 14 | 15 | ```bash 16 | npm install 17 | npm run build 18 | ``` 19 | 20 | This will compile the website and place them in the ``export`` folder. 21 | 22 | To preview the website in the browser, run the following command: 23 | 24 | Windows: 25 | ```batch 26 | ./webserver.bat 27 | ``` 28 | 29 | Linux and MacOS: 30 | ```bash 31 | ./webserver.sh 32 | ``` 33 | 34 | The server will be running on port 4030. So, open http://localhost:4030 in your browser. 35 | 36 | ## Updating the last updated time 37 | 38 | in the section above the markdown there is a line that says 39 | 40 | ```yaml 41 | lastUpdated: 2025-01-08T23:57:11.145Z 42 | ``` 43 | 44 | https://www.timestamp-converter.com/ Use this to get the time in ISO 8601 format. 45 | -------------------------------------------------------------------------------- /api-generator/.gitignore: -------------------------------------------------------------------------------- 1 | pages/* 2 | bin/* -------------------------------------------------------------------------------- /api-generator/api/.gitignore: -------------------------------------------------------------------------------- 1 | doc.xml 2 | doc-old.xml -------------------------------------------------------------------------------- /api-generator/api/filter.py: -------------------------------------------------------------------------------- 1 | from lxml import etree 2 | 3 | # This script filters out unnecessary classes from the doc.xml file, so its smaller and faster to load 4 | 5 | parser = etree.XMLParser(recover=True) # recover=True to ignore invalid XML 6 | tree = etree.parse('./doc.xml', parser) 7 | 8 | root = tree.getroot() 9 | 10 | print(f"Root tag: {root.tag}") 11 | 12 | filtered = [] 13 | 14 | total = 0 15 | 16 | for child in root: 17 | total += 1 18 | if "path" not in child.attrib: 19 | print(f"Tag: {child.tag}, Attributes: {child.attrib}, Text: {child.text.strip() if child.text else ''}") 20 | continue 21 | path = child.attrib["path"] 22 | if path.startswith("funkin") and not path.endswith("_HSX") and not path.endswith("_HSC"): 23 | filtered.append(child) 24 | 25 | 26 | haxe = etree.Element("haxe") 27 | 28 | for child in filtered: 29 | haxe.append(child) 30 | 31 | tree = etree.ElementTree(haxe) 32 | 33 | with open("./doc-filter.xml", "wb") as f: 34 | f.write(etree.tostring(haxe, pretty_print=True, xml_declaration=True, encoding="utf-8")) 35 | 36 | print(f"Cleaned up {total - len(filtered)} classes") 37 | print(f"{total} to {len(filtered)}") -------------------------------------------------------------------------------- /api-generator/dox.hxml: -------------------------------------------------------------------------------- 1 | -lib dox 2 | 3 | -lib hxtemplo 4 | -lib hxparse 5 | -lib hxargs 6 | -lib markdown 7 | 8 | -dce no 9 | -cp src 10 | -main Main 11 | 12 | --define analyzer-optimize 13 | 14 | -neko bin/main.n 15 | -cmd neko bin/main.n -------------------------------------------------------------------------------- /api-generator/generateDoc.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | echo Generating Documentation... 3 | haxe dox.hxml 4 | echo Done! -------------------------------------------------------------------------------- /api-generator/generateDoc.sh: -------------------------------------------------------------------------------- 1 | echo Generating Documentation... 2 | haxe dox.hxml 3 | echo Done! -------------------------------------------------------------------------------- /api-generator/setup.bat: -------------------------------------------------------------------------------- 1 | haxelib --global install dox 2 | haxelib --global install hxtemplo 3 | haxelib --global install hxparse 4 | haxelib --global install hxargs 5 | haxelib --global install markdown 6 | pip install lxml -------------------------------------------------------------------------------- /api-generator/src/Macro.hx: -------------------------------------------------------------------------------- 1 | import haxe.io.Path; 2 | import haxe.macro.Expr; 3 | import sys.FileSystem; 4 | import sys.io.Process; 5 | 6 | using StringTools; 7 | 8 | class Macro { 9 | // meh... 10 | public macro static function getDoxPath():Expr { 11 | var output = getProcessOutput('haxelib', ['--global', 'path', 'dox']); 12 | for (line in output.split("\n")) { 13 | var path = Path.normalize(line.trim()); 14 | if (FileSystem.exists(path)) { 15 | var path = Path.directory(Path.removeTrailingSlashes(path.trim())); 16 | return macro $v{path}; 17 | } 18 | } 19 | throw "dox path not found"; 20 | } 21 | 22 | static function getProcessOutput(cmd:String, ?args:Array):String { 23 | try { 24 | var process = new Process(cmd, args); 25 | var output = ""; 26 | 27 | try { 28 | output = process.stdout.readAll().toString(); 29 | } catch (_:Dynamic) {} 30 | 31 | process.close(); 32 | return output; 33 | } catch (_:Dynamic) { 34 | return ""; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /api-generator/theme/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Codename Theme", 3 | "author": "Codename-Engine" 4 | } 5 | -------------------------------------------------------------------------------- /api-generator/theme/templates/404.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 3 | 8 | 9 |

404 Page not found

10 | 11 |

Page not found, sorry.

12 | 13 | ::end:: 14 | -------------------------------------------------------------------------------- /api-generator/theme/templates/abstract.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 25 | 26 |
27 |
28 | ::raw type.doc:: 29 |
30 | 31 | ::if type.impl != null:: 32 | $$printClassBody(::type.impl::) 33 | ::end:: 34 |
35 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/class.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 59 |
60 |
61 | ::raw type.doc:: 62 |
63 | $$printClassBody(::type::) 64 | 65 | $$printInheritedFields(::type::) 66 |
67 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/class_field.mtt: -------------------------------------------------------------------------------- 1 | ::if (field.doc != null && field.doc != "

") || !field.isOverride:: 2 | 3 |
4 | ::if field.line != null:: 5 | 6 | View in GitHub 7 | 8 | ::end:: 9 | 10 | 11 | 12 |

$$printFieldSignature(::field::,::isStatic::,::type::)

13 | ::if field.overloads != null:: 14 | ::foreach field field.overloads:: 15 |

$$printFieldSignature(::field::,::isStatic::,::type::)

16 | ::end:: 17 | ::end:: 18 | 19 | $$printDeprecation(::field::) 20 | $$printFieldPlatforms(::field::) 21 | 22 | ::if field.doc != null:: 23 |
::raw field.doc::
24 | ::end:: 25 |
26 | 27 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/doc.mtt: -------------------------------------------------------------------------------- 1 | ::if info.deprecated != null:: 2 |
3 | Deprecated: ::raw info.deprecated.doc:: 4 |
5 | ::end:: 6 | 7 | ::raw info.doc:: 8 | 9 | ::if info.params.length > 0:: 10 |

Parameters:

11 | 12 | ::foreach param info.params:: 13 | 14 | ::end:: 15 |
::param.value::::raw param.doc::
16 | ::end:: 17 | 18 | ::if info.returns != null:: 19 |

Returns:

20 |
21 | ::raw info.returns.doc:: 22 |
23 | ::end:: 24 | 25 | ::if info.throws.length > 0:: 26 |

Throws:

27 | 28 | ::foreach throws info.throws:: 29 | 30 | ::end:: 31 |
::throws.value::::raw throws.doc::
32 | ::end:: 33 | 34 | ::if info.events.length > 0:: 35 |

Events:

36 | 37 | ::foreach event info.events:: 38 | 39 | ::end:: 40 |
::event.value::::raw event.doc::
41 | ::end:: 42 | 43 | ::if info.since != null:: 44 |
45 | Available since ::raw info.since.doc::. 46 |
47 | ::end:: 48 | 49 | ::if info.sees.length > 0:: 50 |

See also:

51 |
    52 | ::foreach see info.sees:: 53 |
  • ::raw see.doc::
  • 54 | ::end:: 55 |
56 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/enum.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 13 |
14 |
15 | ::raw type.doc:: 16 |
17 | ::if type.constructors.length > 0:: 18 |

Values

19 |
20 | ::foreach ctor type.constructors:: 21 | ::use "enum_field.mtt"::::end:: 22 | ::end:: 23 |
24 | ::end:: 25 |
26 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/enum_field.mtt: -------------------------------------------------------------------------------- 1 |
2 |

3 | 4 | 5 | ::ctor.name:: 6 | 7 | ::if ctor.args != null:: 8 | (::foreach arg ctor.args::::arg.name:::$$printLinkedType(::arg.t::,::false::)::if !repeat.arg.last::, ::end::::end::) 9 | ::end:: 10 | 11 |

12 | $$printDeprecation(::ctor::) 13 | $$printFieldPlatforms(::ctor::) 14 | 15 |
16 | ::raw ctor.doc:: 17 |
18 |
-------------------------------------------------------------------------------- /api-generator/theme/templates/extra-headers.mtt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/api-generator/theme/templates/extra-headers.mtt -------------------------------------------------------------------------------- /api-generator/theme/templates/footer-old.mtt: -------------------------------------------------------------------------------- 1 |
2 | 39 |
-------------------------------------------------------------------------------- /api-generator/theme/templates/footer.mtt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/api-generator/theme/templates/footer.mtt -------------------------------------------------------------------------------- /api-generator/theme/templates/header.mtt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 20 | 21 | 22 | ::api.currentPageName::::if api.config.pageTitle !=null:: - ::api.config.pageTitle::::end:: 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | ::use "meta_description.mtt"::::end:: 49 | 50 | ::use "extra-headers.mtt"::::end:: 51 | -------------------------------------------------------------------------------- /api-generator/theme/templates/main.mtt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $$comment(::" use theme color or fallback "::) 5 | ::set themeColor="0xFAFAFA":: 6 | ::if (api.isDefined("themeColor"))::::set themeColor=api.getValue("themeColor")::::end:: 7 | 8 | $$comment(::" use textcolor from settings, otherwise create a contrasting color to theme color "::) 9 | ::set textColor="0xFFFFFF":: 10 | ::if (api.isDefined("textColor"))::::set textColor=api.getValue("textColor"):: 11 | ::elseif (api.std.parseInt(themeColor) > 7829367)::::set textColor="0x000000"::::end:: 12 | 13 | ::use "header.mtt"::::end:: 14 | 15 |
16 | ::use "topbar.mtt"::::end:: 17 |
18 |
19 | 49 |
::raw __content__::
50 |
51 | 52 | ::use "footer.mtt"::::end:: 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /api-generator/theme/templates/nav.mtt: -------------------------------------------------------------------------------- 1 | 2 | ::switch tree:: 3 |
  • 4 | ::set pack = api.getTreePack(tree):: 5 | 6 | ::api.getTreeName(tree):: 7 | ::if pack != "":: 8 |  - ::pack:: 9 | ::end:: 10 | 11 |
  • 12 | ::case:: 13 | ::set name = args[0]:: 14 |
  • 17 | 18 | 19 | ::api.getTreeName(tree):: 20 | 21 | 26 |
  • 27 | ::end:: 28 |
    29 | var navContent=''; -------------------------------------------------------------------------------- /api-generator/theme/templates/package.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 3 | ::use 'package_description.mtt'::::end:: 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | ::foreach tree subs:: 15 | ::set name = api.getTreeName(tree):: 16 | ::set treeType = api.getTreeType(tree):: 17 | 18 | ::if (treeType=="package"):: 19 | 23 | ::else:: 24 | 27 | 30 | 33 | ::end:: 34 | 35 | ::end:: 36 | 37 |
    9 | 10 | .. 11 |
    20 | 21 | ::name:: 22 | 25 | $$printTreeType(::treeType::) 26 | 28 | ::name:: 29 | 31 | ::raw api.getTreeShortDesc(tree):: 32 |
    38 | 39 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/package_description.mtt: -------------------------------------------------------------------------------- 1 | ::if api.isDefined("version") && full == "":: 2 |

    ::api.currentPageName:: version ::api.getValue('version')::

    3 | ::else:: 4 |

    ::api.currentPageName::

    5 | ::end:: 6 |

    ::api.getValue("description")::

    7 | $$getPackageDescription() -------------------------------------------------------------------------------- /api-generator/theme/templates/related_types.mtt: -------------------------------------------------------------------------------- 1 | ::title:: 2 | ::foreach info infos:: 3 | $$printLinkedPath(::info.path::,::null::,::false::)::if !repeat.info.last::, ::end:: 4 | ::end:: -------------------------------------------------------------------------------- /api-generator/theme/templates/topbar.mtt: -------------------------------------------------------------------------------- 1 |
    2 | 3 | Codename Logo 4 | Codename Logo 5 | 6 |

    ::api.currentPageName::

    7 |
    8 | APIWikiTools 9 |
    10 |
    -------------------------------------------------------------------------------- /api-generator/theme/templates/typedef.mtt: -------------------------------------------------------------------------------- 1 | ::use 'main.mtt':: 2 | 13 | 14 |
    15 |
    16 | ::raw type.doc:: 17 |
    18 | 19 | ::set multiplePlatforms = api.lambda.array(type.types).length > 1:: 20 | ::foreach platform type.types.keys():: 21 | ::set platformType = type.types.get(platform):: 22 | ::if multiplePlatforms:: 23 |

    ::platform::

    24 | ::end:: 25 | ::switch platformType:: 26 | ::if !multiplePlatforms::

    Alias

    ::end:: 27 |
    28 |
    29 | alias for $$printLinkedType(::platformType::,::true::) 30 |
    31 |
    32 | ::case 5:: 33 | ::if !multiplePlatforms::

    Fields

    ::end:: 34 |
    35 | ::switch platformType:: 36 | ::case 5:: 37 | ::if args[0].length == 0:: 38 | empty structure 39 | ::else:: 40 | ::foreach field args[0]:: 41 | ::use "class_field.mtt"::::end:: 42 | ::end:: 43 | ::end:: 44 | ::end:: 45 |
    46 | ::end:: 47 | ::end:: 48 |
    49 | ::end:: -------------------------------------------------------------------------------- /cspell.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2", 3 | "language": "en", 4 | "words": [ 5 | "allowtransparency", 6 | "antialiasing", 7 | "apos", 8 | "athis", 9 | "autoplay", 10 | "bvec", 11 | "camx", 12 | "camxoffset", 13 | "camy", 14 | "camyoffset", 15 | "charpos", 16 | "codenameengine", 17 | "colorwheel", 18 | "coordv", 19 | "ctype", 20 | "cutscene", 21 | "cutscenes", 22 | "dialoguebox", 23 | "doctag", 24 | "downscroll", 25 | "esque", 26 | "evenodd", 27 | "fargs", 28 | "flixel", 29 | "floatingchat", 30 | "fontawesome", 31 | "fonticons", 32 | "frakits", 33 | "freeplay", 34 | "funkin", 35 | "furries", 36 | "gamage", 37 | "gamebanana", 38 | "gameover", 39 | "gameplay", 40 | "giscus", 41 | "glsl", 42 | "haha", 43 | "haxe", 44 | "haxeflixel", 45 | "haxelib", 46 | "healthbar", 47 | "healthicon", 48 | "hitbox", 49 | "hitsound", 50 | "hitsounds", 51 | "hljs", 52 | "hscript", 53 | "hxargs", 54 | "hxml", 55 | "hxparse", 56 | "hxtemplo", 57 | "hxvlc", 58 | "ivec", 59 | "kade", 60 | "keybind", 61 | "kofi", 62 | "lastmod", 63 | "longerer", 64 | "lunarcleint", 65 | "lxml", 66 | "modchart", 67 | "modders", 68 | "nbsp", 69 | "ndll", 70 | "ndlls", 71 | "neko", 72 | "nojs", 73 | "notetype", 74 | "notetypes", 75 | "nowrap", 76 | "onclick", 77 | "openfl", 78 | "packsep", 79 | "pico", 80 | "playstate", 81 | "prio", 82 | "rsaquo", 83 | "rtti", 84 | "safeish", 85 | "savedata", 86 | "scalex", 87 | "scaley", 88 | "scrollx", 89 | "scrolly", 90 | "selectpicker", 91 | "senpai", 92 | "shadertoy", 93 | "sizex", 94 | "sizey", 95 | "skewx", 96 | "skewy", 97 | "softcoding", 98 | "sploosh", 99 | "spritesheet", 100 | "spritesheets", 101 | "srcs", 102 | "stackable", 103 | "stageback", 104 | "stagecurtains", 105 | "stagefront", 106 | "strumline", 107 | "strumlines", 108 | "stylesheet", 109 | "substate", 110 | "substates", 111 | "swordcube", 112 | "tankman", 113 | "textcolor", 114 | "titlescreen", 115 | "topbar", 116 | "toplevel", 117 | "tweens", 118 | "urlset", 119 | "uvec", 120 | "viewsource", 121 | "yoshi", 122 | "yoshman" 123 | ], 124 | "ignoreRegExpList": [ 125 | "author: .*", 126 | "Contributors: .*" 127 | ], 128 | "ignorePaths": [ 129 | "export/**/*", 130 | "featured-mods/**", 131 | "donators.json", 132 | "api-generator/api/**" 133 | ], 134 | "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json" 135 | } 136 | -------------------------------------------------------------------------------- /featured-mods/1shot-collection/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/1shot-collection/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/1shot-collection/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/1shot-collection/cover.jpg -------------------------------------------------------------------------------- /featured-mods/1shot-collection/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Crimson: 1Shot Collection", 3 | "description": "1shoting demo yes", 4 | "author": "END_SELLA/denkibell/Sclux/MrPan", 5 | "version": "0.01a", 6 | "link": "https://gamebanana.com/mods/567837", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-01-11T01:40:39Z", 10 | 11 | "userTags": ["normal", "dreams", "yume-nikki", "undertale"], 12 | 13 | "tags": ["softcoded"] 14 | } -------------------------------------------------------------------------------- /featured-mods/67lmd/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/67lmd/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/67lmd/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/67lmd/cover.jpg -------------------------------------------------------------------------------- /featured-mods/67lmd/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "67LMD", 3 | "description": "Fight against two members of the Project: Afternight team!", 4 | "author": "67Originite", 5 | "version": "1.0.0", 6 | "link": "https://gamejolt.com/games/67LMD/955534", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-09T13:32:34.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-normal", "length-short", "long-desc"] 12 | } -------------------------------------------------------------------------------- /featured-mods/analog-funkin/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/analog-funkin/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/analog-funkin/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/analog-funkin/cover.jpg -------------------------------------------------------------------------------- /featured-mods/analog-funkin/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Analog Funkin'", 3 | "description": "After purchasing a VCR from a stranger, he decides to try it out. Without any hesitation he tries to insert the first tape, unbeknownst to him the events that were about to transpire...", 4 | "author": "TackSFM", 5 | "version": "v1.0.3", 6 | "link":"https://gamebanana.com/mods/381966", 7 | "source": "", 8 | "lastUpdated": "2025-05-05T01:35:00Z", 9 | "tags": ["admin-pick", "loved", "featured", "softcoded", "longerer-desc"] 10 | } 11 | -------------------------------------------------------------------------------- /featured-mods/ananke/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/ananke/cover.jpg -------------------------------------------------------------------------------- /featured-mods/ananke/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ANANKE", 3 | "description": "Game that was on an old Apple II computer I got my hands on.", 4 | "author": "Fanclub Team", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/534552", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-08-10T21:35:40.000Z", 10 | 11 | "tags": ["hardcoded", "difficulty-hard", "length-medium", "long-desc"] 12 | } -------------------------------------------------------------------------------- /featured-mods/bad-egg/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/bad-egg/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/bad-egg/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/bad-egg/cover.jpg -------------------------------------------------------------------------------- /featured-mods/bad-egg/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BAD EGG", 3 | "description": "Bad Egg is a oneshot horror mod for Codename Engine inspired by Hypno's Lullaby. We hope you enjoy.", 4 | "author": "Angel & Others", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/552606", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-11-01T16:34:28.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "difficulty-normal", "length-short"] 12 | } -------------------------------------------------------------------------------- /featured-mods/bamber-davey/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/bamber-davey/cover.jpg -------------------------------------------------------------------------------- /featured-mods/bamber-davey/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VS. Bamber & Davey", 3 | "description": "A take on Dave & Bambi following a different vision. What antics will they be in?", 4 | "author": "Team Reimagination", 5 | "version": "unreleased", 6 | "link": "https://glitchdotsmh.itch.io/bnd", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded", "long-title", "long-desc","difficulty-hard", "length-long"], 12 | "userTags": ["dave-and-bambi", "bamber-and-davey", "team-reimagination"] 13 | } -------------------------------------------------------------------------------- /featured-mods/cubical-saturday/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/cubical-saturday/cover.png -------------------------------------------------------------------------------- /featured-mods/cubical-saturday/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sword's Cubical Saturday", 3 | "description": "a rather silly universe\ngo experience it please <3", 4 | "author": "swordcube", 5 | "version": "unreleased", 6 | "link": "https://twitter.com/the_cubical_guy", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": [ 12 | "upcoming", 13 | "softcoded", 14 | "long-title" 15 | ], 16 | 17 | "userTags": [ 18 | "cubical", 19 | "sword", 20 | "swordcube", 21 | "saturday" 22 | ] 23 | } -------------------------------------------------------------------------------- /featured-mods/cyber-sensation/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/cyber-sensation/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/cyber-sensation/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/cyber-sensation/cover.jpg -------------------------------------------------------------------------------- /featured-mods/cyber-sensation/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Cyber Sensation", 3 | "description": "The Malware Breakout", 4 | "author": "TaeYai", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/499844", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-03-11T05:35:52.000Z", 10 | 11 | "tags": ["loved", "admin-pick", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/demigod-duel/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/demigod-duel/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/demigod-duel/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/demigod-duel/cover.jpg -------------------------------------------------------------------------------- /featured-mods/demigod-duel/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Demigod Duel", 3 | "description": "A fanmade expansion of the VS Shaggy mod", 4 | "author": "jacoborwhatev1, ShagLSSJ, and others", 5 | "version": "unreleased", 6 | "link": "https://gamejolt.com/games/demigodduel/670712", 7 | "source": "", 8 | "lastUpdated": "unreleased", 9 | "tags": ["upcoming", "softcoded", "difficulty-hard"] 10 | } -------------------------------------------------------------------------------- /featured-mods/dustin/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/dustin/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/dustin/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/dustin/cover.jpg -------------------------------------------------------------------------------- /featured-mods/dustin/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Friday Night Dustin'", 3 | "description": "sans dusttale", 4 | "author": "chuf & others", 5 | "version": "unreleased", 6 | "link": "https://gamebanana.com/mods/431667", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded", "length-very-long", "difficulty-hard"] 12 | } -------------------------------------------------------------------------------- /featured-mods/final-space/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/final-space/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/final-space/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/final-space/cover.jpg -------------------------------------------------------------------------------- /featured-mods/final-space/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Final Space | Death Sentence", 3 | "description": "You would choose him over your own father?", 4 | "author": "RodrigoX159", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/497162", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-02-21T23:38:00.000Z", 10 | 11 | "tags": ["hardcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/fnf-doomspire/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/fnf-doomspire/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/fnf-doomspire/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/fnf-doomspire/cover.jpg -------------------------------------------------------------------------------- /featured-mods/fnf-doomspire/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF: Doomspire", 3 | "description": "Rap against your favourite bloxxers! BOOm", 4 | "author": "TheYazgan & diteso", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/496457", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-02-18T10:59:00.000Z", 10 | 11 | "tags": ["hardcoded", "long-desc"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/fnf-other-halloween/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/fnf-other-halloween/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/fnf-other-halloween/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/fnf-other-halloween/cover.jpg -------------------------------------------------------------------------------- /featured-mods/fnf-other-halloween/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF Other Halloween", 3 | "description": "Something strange is happening, wasn't it October 31st yesterday?", 4 | "author": "EstudiOmega", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/476755", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-31T18:23:15.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "long-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/fnf-vs-sonic.exe/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/fnf-vs-sonic.exe/cover.jpg -------------------------------------------------------------------------------- /featured-mods/fnf-vs-sonic.exe/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF VS Sonic.EXE", 3 | "description": "Will you beat these strange hedgehogs or succumb to the pressure?", 4 | "author": "NexusVGM, Rasqel and UnderBoi", 5 | "version": "2.5.0", 6 | "link": "https://gamejolt.com/games/vssonicexe/909133", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-03T14:12:18.000Z", 10 | 11 | "tags": ["hardcoded", "long-desc"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/funkalis/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkalis/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funkalis/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FUNKALIS", 3 | "description": "A mod inspired by SIGNALIS", 4 | "author": "EwaTheBlue", 5 | "version": "1.0", 6 | "link": "https://gamebanana.com/mods/551598", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-27T19:45:12.000Z", 10 | 11 | "tags": ["hardcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/funkin-drones/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkin-drones/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/funkin-drones/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkin-drones/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funkin-drones/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Funkin Drones", 3 | "description": "Explore the dark and intense world of Murder Drones", 4 | "author": "Tsaku", 5 | "version": "Hotfix - Demo", 6 | "link": "https://gamebanana.com/mods/537438", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-25T01:31:54.000Z", 10 | 11 | "tags": ["featured", "loved", "softcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/funky-phenomena/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funky-phenomena/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funky-phenomena/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Funky Phenomena", 3 | "description": "The Freakiest And Funkiest Boiled One Mod.", 4 | "author": "MerilynCist", 5 | "version": "0.0.0", 6 | "link": "https://twitter.com/funky_phen", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/funkyfs/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkyfs/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/funkyfs/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkyfs/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funkyfs/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Funky Friend Server", 3 | "description": "A mod about a ...bunch of friends???? ", 4 | "author": "Tobicm_", 5 | "version": "0.3.1", 6 | "link": "https://gamebanana.com/mods/472600", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-04-03T09:44:16.000Z", 10 | 11 | "tags": ["softcoded", "long-title"] 12 | } -------------------------------------------------------------------------------- /featured-mods/funkyfsJJ/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkyfsJJ/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/funkyfsJJ/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funkyfsJJ/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funkyfsJJ/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF: Funky Friend Server - JOLLY JINGLES", 3 | "description": "This is an official spinoff dlc for the FNF Mod, Funky Friend Server!", 4 | "author": "Tobicm_", 5 | "version": "1.0", 6 | "link": "https://gamebanana.com/mods/564423", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-25T06:12:56.000Z", 10 | 11 | "tags": ["softcoded", "longer-title"] 12 | } -------------------------------------------------------------------------------- /featured-mods/funny-mod/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funny-mod/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/funny-mod/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/funny-mod/cover.jpg -------------------------------------------------------------------------------- /featured-mods/funny-mod/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF: Funny Mod", 3 | "description": "birthday mod for our good friend flowerbox !! (art by @Akishrooom, bg by @v1zko)", 4 | "author": "v1z", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/592748", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-05-05T21:38:00.000Z", 10 | 11 | "tags": ["softcoded", "length-short"], 12 | "userTags": ["roblox", "twoshot"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/gorefield/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/gorefield/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/gorefield/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/gorefield/cover.jpg -------------------------------------------------------------------------------- /featured-mods/gorefield/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Gorefield", 3 | "description": "Gorefield is Here!", 4 | "author": "Jloor", 5 | "version": "2.0.0", 6 | "link": "https://gamebanana.com/mods/501201", 7 | "source": "https://github.com/lunarcleint/gorefield", 8 | 9 | "lastUpdated": "2024-03-16T04:58:47.000Z", 10 | 11 | "tags": ["loved", "admin-pick", "softcoded", "hardcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/hellfire-blazin'/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/hellfire-blazin'/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/hellfire-blazin'/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/hellfire-blazin'/cover.jpg -------------------------------------------------------------------------------- /featured-mods/hellfire-blazin'/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hellfire Blazin'", 3 | "description": "'After years of waiting finally I have something to show for it!' - Takibi", 4 | "author": "Takibi, Lux_Ful", 5 | "version": "0.1.0", 6 | "link": "https://gamebanana.com/mods/551906", 7 | "source": "https://github.com/NeeEoo/hellfire-blazin", 8 | 9 | "lastUpdated": "2024-10-31T23:23:55.000Z", 10 | 11 | "tags": ["admin-pick", "softcoded", "length-medium", "difficulty-normal", "long-desc"], 12 | "userTags": ["OC", "Original Character", "Furry"] 13 | } -------------------------------------------------------------------------------- /featured-mods/hello-again-john-doe/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/hello-again-john-doe/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/hello-again-john-doe/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/hello-again-john-doe/cover.jpg -------------------------------------------------------------------------------- /featured-mods/hello-again-john-doe/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello again john doe", 3 | "description": "Well it seems as though John Doe is here AGAIN. Fan mod of infry's hello john doe. (Art by @hihipix)", 4 | "author": "SoupSkid", 5 | "version": "1.6.9 (april fools hotfix)", 6 | "link": "https://gamebanana.com/mods/580725", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-04-01T17:06:00.000Z", 10 | 11 | "tags": ["admin-pick", "softcoded", "long-title", "long-desc"], 12 | "userTags": ["hello-john-doe", "roblox"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/imposter-mania/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/imposter-mania/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/imposter-mania/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/imposter-mania/cover.jpg -------------------------------------------------------------------------------- /featured-mods/imposter-mania/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Impostor! Mania", 3 | "description": "IMPOSTOR!!!", 4 | "author": "ThatGirlNoelle_", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/515415", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-08-27T22:01:20.000Z", 10 | 11 | "tags": ["loved", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/indiscretions/cover-old.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/indiscretions/cover-old.jpg -------------------------------------------------------------------------------- /featured-mods/indiscretions/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/indiscretions/cover.jpg -------------------------------------------------------------------------------- /featured-mods/indiscretions/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "indiscretions: volume 1", 3 | "description": "spun out over you.", 4 | "author": "Vibreee", 5 | "version": "1.1.0", 6 | "link": "https://gamebanana.com/mods/544976", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-31T23:53:09.000Z", 10 | 11 | "tags": ["premium", "featured", "softcoded", "long-title", "centered-desc", "centered-title"] 12 | } -------------------------------------------------------------------------------- /featured-mods/irida/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/irida/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/irida/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/irida/cover.jpg -------------------------------------------------------------------------------- /featured-mods/irida/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Jeffy's Infinite Irida", 3 | "description": "jeff boy", 4 | "author": "Boing Bingus, Betasheep", 5 | "version": "unreleased", 6 | "link": "https://fridaynightfunking.fandom.com/wiki/Jeffy%27s_Infinite_Irida", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/it-was-good/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/it-was-good/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/it-was-good/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/it-was-good/cover.jpg -------------------------------------------------------------------------------- /featured-mods/it-was-good/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dead air: IT WAS GOOD", 3 | "description": "Where have the teletubbies gone?

    a dead air inspired oneshot slendytubbies mod", 4 | "author": "Nep", 5 | "version": "1.0", 6 | "link": "https://gamebanana.com/mods/549658", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-19T16:34:00.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "long-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/kosan!/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/kosan!/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/kosan!/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/kosan!/cover.jpg -------------------------------------------------------------------------------- /featured-mods/kosan!/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF: Kosan! (Ramadan Update)", 3 | "description": "KOSAN! RAMADHAN UPDATE OUT NOW ON! This mod is inspired by the Kosan Jodent discord server. (ada indonesia cuy)", 4 | "author": "Valen Pratama", 5 | "version": "2.5.0", 6 | "link": "https://gamebanana.com/mods/519312", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-03-09T03:56:00.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-hard", "long-title"] 12 | } -------------------------------------------------------------------------------- /featured-mods/lethal-me-company/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/lethal-me-company/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/lethal-me-company/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/lethal-me-company/cover.jpg -------------------------------------------------------------------------------- /featured-mods/lethal-me-company/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LETHAL ME COMPANY", 3 | "description": "[rerollRoxy's] lethal company mod hope you like it", 4 | "author": "rerollRoxy", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/528733", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-07-17T22:48:33.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "long-title"] 12 | } -------------------------------------------------------------------------------- /featured-mods/mediocrity/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/mediocrity/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/mediocrity/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/mediocrity/cover.jpg -------------------------------------------------------------------------------- /featured-mods/mediocrity/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mediocrity", 3 | "description": "The demo for a No More Innocence mod...", 4 | "author": "usb_port_2", 5 | "version": "0.6.0", 6 | "link": "https://gamebanana.com/mods/504999", 7 | "source": "https://github.com/usb-port-2/mediocrity-modpack", 8 | 9 | "lastUpdated": "2024-04-09T20:18:02.000Z", 10 | 11 | "tags": ["softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/mistful-crimson-morning/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/mistful-crimson-morning/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/mistful-crimson-morning/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/mistful-crimson-morning/cover.jpg -------------------------------------------------------------------------------- /featured-mods/mistful-crimson-morning/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mistful Crimson Morning", 3 | "description": "The demo for Squidward's Suicide (Red Mist)", 4 | "author": "Stonesteve & VanillaVani", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/387663", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-06-03T17:31:00.000Z", 10 | 11 | "tags": ["softcoded"], 12 | "userTags": ["spongebob", "squidward", "suicide"] 13 | } -------------------------------------------------------------------------------- /featured-mods/monday-noon-moving/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/monday-noon-moving/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/monday-noon-moving/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/monday-noon-moving/cover.jpg -------------------------------------------------------------------------------- /featured-mods/monday-noon-moving/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Monday Noon Moving", 3 | "description": "Its Spooky Month!", 4 | "author": "Koifee", 5 | "version": "1.5.0", 6 | "link": "https://gamebanana.com/mods/337823", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-09-06T00:06:03.000Z", 10 | 11 | "tags": ["featured"] 12 | } -------------------------------------------------------------------------------- /featured-mods/monster-of-monsters/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/monster-of-monsters/cover.png -------------------------------------------------------------------------------- /featured-mods/monster-of-monsters/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Godzilla: MONSTER of MONSTERS", 3 | "description": "Mod based on Nes Godzilla Creepypasta", 4 | "author": "Fanclub Team", 5 | "version": "1.0", 6 | "link": "https://gamebanana.com/mods/410249", 7 | "updatesLink": "https://x.com/MadnessCombat14", 8 | "source": "", 9 | 10 | "lastUpdated": "2024-10-29T01:13:02.000Z", 11 | 12 | "tags": ["hardcoded", "longer-title", "long-desc"] 13 | } -------------------------------------------------------------------------------- /featured-mods/myths-of-yamaha/cover-high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/myths-of-yamaha/cover-high.png -------------------------------------------------------------------------------- /featured-mods/myths-of-yamaha/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/myths-of-yamaha/cover.jpg -------------------------------------------------------------------------------- /featured-mods/myths-of-yamaha/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Myths Of Yamaha", 3 | "description": "Semi exe mod that's very accurate to the source materials their songs are based off.\nfᵢₙ𝒹 ₜₕₑ ᶠₒᵤₙₜₐᵢₙ.", 4 | "author": "Məh", 5 | "version": "0.0.0", 6 | "link": "https://gamebanana.com/mods/569957", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-01-19T17:54:00.000Z", 10 | 11 | "tags": ["softcoded", "long-desc"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/pajama-party/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/pajama-party/cover.png -------------------------------------------------------------------------------- /featured-mods/pajama-party/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PJ Party.", 3 | "description": "DON'T SLEEP.. YOU GOTTA STAY UP!", 4 | "author": "douyhe", 5 | "version": "unreleased", 6 | "link": "https://x.com/hashtag/pjpartyfnf?f=live", 7 | "source": "https://x.com/toolbox64/", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/parallax-redefined/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/parallax-redefined/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/parallax-redefined/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/parallax-redefined/cover.jpg -------------------------------------------------------------------------------- /featured-mods/parallax-redefined/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Parallax: Redefined", 3 | "description": "A New Challenge Awaits You In The Redefined Universe.", 4 | "author": "harbingerbeats & others", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/561701", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-12T03:10:06.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "difficulty-hard", "length-short"] 12 | } -------------------------------------------------------------------------------- /featured-mods/pillar-funkin/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/pillar-funkin/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/pillar-funkin/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/pillar-funkin/cover.jpg -------------------------------------------------------------------------------- /featured-mods/pillar-funkin/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pillar Funkin'", 3 | "description": "HOTFIX RELEASED!! This mod features several monsters from Pillar Chase 2 such as; Rosemary, Vapor, Uncle Samsonite, and more! There are some... secret songs, if you can find them!", 4 | "author": "LuigiChaser & Stalebaguette & EmiliaFumo", 5 | "version": "0.5.2", 6 | "link": "https://gamebanana.com/mods/582155", 7 | "source": "", 8 | "lastUpdated": "2025-04-29T01:50:14.000Z", 9 | "tags": [ 10 | "softcoded", 11 | "difficulty-normal", 12 | "length-medium", 13 | "longer-desc" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /featured-mods/poldhub/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/poldhub/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/poldhub/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/poldhub/cover.jpg -------------------------------------------------------------------------------- /featured-mods/poldhub/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PoldHub", 3 | "description": "A totally normal italian mod about a famous streamer...", 4 | "author": "Prince", 5 | "version": "Demo v2.0.1", 6 | "link": "https://poldhub.github.io/", 7 | "source": "https://github.com/PoldHub", 8 | 9 | "lastUpdated": "2025-05-13T20:46:02.000Z", 10 | 11 | "tags": ["admin-pick", "softcoded", "length-very-long", "difficulty-expert"], 12 | "userTags": ["Poldo", "Italian", "Streamer", "Metal"] 13 | } -------------------------------------------------------------------------------- /featured-mods/press-c-for-a-meaty-surprise/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/press-c-for-a-meaty-surprise/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/press-c-for-a-meaty-surprise/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/press-c-for-a-meaty-surprise/cover.jpg -------------------------------------------------------------------------------- /featured-mods/press-c-for-a-meaty-surprise/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Press C for a Meaty Surprise", 3 | "description": "I need to Press C!", 4 | "author": "NGC Studio & Techy!Harcvuk", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/596518", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-05-25T12:30:58.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-medium", "length-medium", "long-title"], 12 | "userTags": ["ngc", "2eaked", "birthday-gift"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/project-chinos-chaos/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/project-chinos-chaos/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/project-chinos-chaos/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/project-chinos-chaos/cover.jpg -------------------------------------------------------------------------------- /featured-mods/project-chinos-chaos/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Project: Chino's Chaos", 3 | "description": "A mod based off of the Chino's Animated animations.", 4 | "author": "NebulaStellaNova", 5 | "version": "1.1.0", 6 | "link": "https://gamebanana.com/mods/545648", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-15T02:01:24.000Z", 10 | 11 | "tags": ["softcoded", "long-desc", "long-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/punch-punch-funkin'/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/punch-punch-funkin'/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/punch-punch-funkin'/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/punch-punch-funkin'/cover.jpg -------------------------------------------------------------------------------- /featured-mods/punch-punch-funkin'/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PUNCH PUNCH FUNKIN'", 3 | "description": "Let's Train!", 4 | "author": "GasterMania, ResurrectionSolar & HeroEyad", 5 | "version": "unreleased", 6 | "link": "https://gamebanana.com/wips/91513", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded"], 12 | "userTags": ["gogo", "speedoru"] 13 | } -------------------------------------------------------------------------------- /featured-mods/rone-resurrection/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/rone-resurrection/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/rone-resurrection/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/rone-resurrection/cover.jpg -------------------------------------------------------------------------------- /featured-mods/rone-resurrection/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rone Resurrection", 3 | "description": "bambi burger mod", 4 | "author": "phoneyo", 5 | "version": "0.0.2", 6 | "link": "https://gamebanana.com/mods/506115", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-06-05T22:16:55.000Z", 10 | 11 | "tags": ["softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/scary-bamber/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/scary-bamber/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/scary-bamber/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/scary-bamber/cover.jpg -------------------------------------------------------------------------------- /featured-mods/scary-bamber/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VS. Bamber & Davey: TOO SLOP.", 3 | "description": "The most unfunny halloween special ever.", 4 | "author": "Team Reimagination", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/550300", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-22T18:59:00Z", 10 | 11 | "tags": ["softcoded", "longer-title", "difficulty-hard", "length-short"], 12 | "userTags": ["dave-and-bambi", "bamber-and-davey", "team-reimagination", "scary", "sonic.exe", "exe", "creepypasta", "little-herobrine-im-cumming-in-your-mom"] 13 | } -------------------------------------------------------------------------------- /featured-mods/seezees-box/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/seezees-box/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/seezees-box/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/seezees-box/cover.jpg -------------------------------------------------------------------------------- /featured-mods/seezees-box/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Seezee's Box", 3 | "description": "Can you find the secret of the box?", 4 | "author": "Seezee", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/594264", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-05-13T23:24:05.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-normal", "length-medium"], 12 | "userTags": ["multi-pack", "ron", "bob"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/shaggy-alternative-universe/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/shaggy-alternative-universe/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/shaggy-alternative-universe/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/shaggy-alternative-universe/cover.jpg -------------------------------------------------------------------------------- /featured-mods/shaggy-alternative-universe/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Shaggy's Alternative Universe", 3 | "description": "saggy", 4 | "author": "death1nsurance & TheZoroForce240", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/382037", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-07-07T17:08:13.000Z", 10 | 11 | "tags": ["softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/silly-roblox-mod/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/silly-roblox-mod/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/silly-roblox-mod/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/silly-roblox-mod/cover.jpg -------------------------------------------------------------------------------- /featured-mods/silly-roblox-mod/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SILLY ROBLOX MOD", 3 | "description": "Rap against silly robloxians!", 4 | "author": "TAUFEI", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/496274", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-02-17T15:54:00.000Z", 10 | 11 | "tags": ["hardcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/skullfunk/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/skullfunk/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/skullfunk/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/skullfunk/cover.jpg -------------------------------------------------------------------------------- /featured-mods/skullfunk/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Skullfunk", 3 | "description": "a one-shot based on the flash game 'the skullkid'", 4 | "author": "Corleyrecord", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/542197", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-09-14T21:10:54.000Z", 10 | 11 | "tags": ["softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/spooky-fools/cover-high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/spooky-fools/cover-high.png -------------------------------------------------------------------------------- /featured-mods/spooky-fools/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/spooky-fools/cover.jpg -------------------------------------------------------------------------------- /featured-mods/spooky-fools/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SPOOKY FOOLS", 3 | "description": "how spooky ARE these fools?", 4 | "author": "SMJ0fficial", 5 | "version": "0.0.5", 6 | "link": "https://gamebanana.com/mods/552491", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-10-31T15:47:57.000Z", 10 | 11 | "tags": ["softcoded-no-modpack-download"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/sunday-night-at-subway/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sunday-night-at-subway/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/sunday-night-at-subway/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sunday-night-at-subway/cover.jpg -------------------------------------------------------------------------------- /featured-mods/sunday-night-at-subway/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SUNDAY NIGHT @ SUBWAY", 3 | "description": "Another Day, Another Night", 4 | "author": "Ncy", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/562964", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-12-19T17:56:00.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-medium", "length-medium"] 12 | } -------------------------------------------------------------------------------- /featured-mods/sunday-night-plumbin/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sunday-night-plumbin/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/sunday-night-plumbin/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sunday-night-plumbin/cover.jpg -------------------------------------------------------------------------------- /featured-mods/sunday-night-plumbin/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sunday Night Plumbin", 3 | "description": "Sunday Night Plumbing is a Mario.exe-themed mod for FNF", 4 | "author": "Raynnard", 5 | "version": "unreleased", 6 | "link": "https://x.com/exefunkin", 7 | 8 | "lastUpdated": "unreleased", 9 | 10 | "tags": ["upcoming", "softcoded","length-long", "difficulty-hard", "long-desc", "long-title"] 11 | } 12 | -------------------------------------------------------------------------------- /featured-mods/sundays-desolation/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sundays-desolation/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/sundays-desolation/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/sundays-desolation/cover.jpg -------------------------------------------------------------------------------- /featured-mods/sundays-desolation/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sunday's Desolation", 3 | "description": "A fanmade Wednesday's Infidelity mod based off of D-Side concepts and the Untold Loneliness song.", 4 | "author": "GusDeGreat & Ragnaroswar", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/483496", 7 | "source": "", 8 | 9 | "lastUpdated": "2023-12-10T12:29:00.000Z", 10 | 11 | "tags": ["hardcoded", "longer-desc", "long-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/super-funkin-galaxy/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/super-funkin-galaxy/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/super-funkin-galaxy/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/super-funkin-galaxy/cover.jpg -------------------------------------------------------------------------------- /featured-mods/super-funkin-galaxy/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Super Funkin' Galaxy", 3 | "description": "Super Funkin' Galaxy is a project that aims to combine the worlds of Friday Night Funkin' and Super Mario Galaxy into one!", 4 | "author": "SFG64 and The SFG Team", 5 | "version": "unreleased", 6 | "link": "https://funkingalaxy.com", 7 | 8 | "lastUpdated": "unreleased", 9 | 10 | "tags": ["upcoming", "hardcoded", "softcoded", "long-title", "long-desc"] 11 | } -------------------------------------------------------------------------------- /featured-mods/the-basement-show/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/the-basement-show/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/the-basement-show/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/the-basement-show/cover.jpg -------------------------------------------------------------------------------- /featured-mods/the-basement-show/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Basement Show", 3 | "description": "vs evil mouse mod", 4 | "author": "The Basement Team", 5 | "version": "unreleased", 6 | "link": "https://x.com/maxplay_games", 7 | "source": "https://github.com/Sropical/TheBasementShowRCDL-Outdated-", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "length-long", "hardcoded"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/timeless-daydream/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/timeless-daydream/cover.jpg -------------------------------------------------------------------------------- /featured-mods/timeless-daydream/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Timeless Daydream", 3 | "description": "this timeless sure is daydream!", 4 | "author": "usb_port_2", 5 | "version": "1.123744638576", 6 | "link": "https://gamebanana.com/mods/541724", 7 | "source": "https://github.com/usb-port-2/timeless-daydream", 8 | 9 | "lastUpdated": "2024-09-17T19:37:16.000Z", 10 | 11 | "tags": ["softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/trains-and-traitors/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/trains-and-traitors/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/trains-and-traitors/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/trains-and-traitors/cover.jpg -------------------------------------------------------------------------------- /featured-mods/trains-and-traitors/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Trains and Traitors", 3 | "description": "Cartoon and mafia in a single mod", 4 | "author": "BitfoxOriginal", 5 | "version": "1.0.0", 6 | "link": "https://gamebanana.com/mods/480277", 7 | "source": "", 8 | 9 | "lastUpdated": "2023-11-21T22:31:33.000Z", 10 | 11 | "tags": ["admin-pick", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/untitled-jeen-mod/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/untitled-jeen-mod/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/untitled-jeen-mod/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/untitled-jeen-mod/cover.jpg -------------------------------------------------------------------------------- /featured-mods/untitled-jeen-mod/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FNF: UNTITLED JEEN MOD", 3 | "description": "something stupid I dunno", 4 | "author": "Nataliejeen", 5 | "version": "unreleased", 6 | "link": "https://gamebanana.com/mods/545849", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded", "long-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/untitledimpostorretake/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/untitledimpostorretake/cover.jpg -------------------------------------------------------------------------------- /featured-mods/untitledimpostorretake/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Untitled Impostor Retake", 3 | "description": "An AU of Vs Impostor, Crewmate Challenge, and Vs Richard Plus!", 4 | "author": "Sophsillin", 5 | "version": "unreleased", 6 | "link": "https://twitter.com/ImpostorRetake", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded", "long-desc", "longer-title"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/virtual-masks/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/virtual-masks/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/virtual-masks/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/virtual-masks/cover.jpg -------------------------------------------------------------------------------- /featured-mods/virtual-masks/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Virtual Masks", 3 | "description": "A mod about challenging the talents of the Virtual City!", 4 | "author": "VM Team", 5 | "version": "0.1.1", 6 | "link": "https://gamebanana.com/mods/581659", 7 | "source": "", 8 | "lastUpdated": "2025-03-16T01:37:08.000Z", 9 | "tags": ["softcoded", "difficulty-normal", "length-short", "admin-pick"], 10 | "userTags": ["Virtual", "Masks", "Futuristic", "OC", "Original Character"] 11 | } 12 | -------------------------------------------------------------------------------- /featured-mods/vs-evil-fcked-up-bocchi/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-evil-fcked-up-bocchi/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/vs-evil-fcked-up-bocchi/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-evil-fcked-up-bocchi/cover.jpg -------------------------------------------------------------------------------- /featured-mods/vs-evil-fcked-up-bocchi/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vs Evil F*cked Up Bocchi", 3 | "description": "no longer a guitarhero...,", 4 | "author": "Care (usb_port_2)", 5 | "version": "unreleased", 6 | "link": "https://gamebanana.com/mods/556103", 7 | "source": "", 8 | "lastUpdated": "2024-11-20T23:20:16.000Z", 9 | "tags": ["softcoded"] 10 | } 11 | -------------------------------------------------------------------------------- /featured-mods/vs-ross/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-ross/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/vs-ross/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-ross/cover.jpg -------------------------------------------------------------------------------- /featured-mods/vs-ross/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vs Ross V2", 3 | "description": "Those are some baaaad piggies!", 4 | "author": "CeloCogumelo & the Vs Ross Crew", 5 | "version": "unreleased", 6 | "link": "https://x.com/vsrossv2", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded", "hardcoded", "difficulty-hard", "length-medium"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/vs-scotty.exe/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-scotty.exe/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/vs-scotty.exe/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-scotty.exe/cover.jpg -------------------------------------------------------------------------------- /featured-mods/vs-scotty.exe/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vs Scotty.exe", 3 | "description": "MR (Multiple Republics) was in a forest scavenging for berries.\nLittle do they know that their scavenge would soon end futile.", 4 | "author": "SCOTTYFAN117221 (Jikkenthe10th & GalaxyChan)", 5 | "version": "1.0", 6 | "link": "https://gamebanana.com/mods/555042", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-11-15T11:08:47.000Z", 10 | 11 | "tags": ["longer-desc", "length-short", "difficulty-normal", "softcoded"], 12 | "userTags": ["joke", "lyrics"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/vs-zucco/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-zucco/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/vs-zucco/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/vs-zucco/cover.jpg -------------------------------------------------------------------------------- /featured-mods/vs-zucco/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vs. Zucco", 3 | "description": "Next OC mod, but good.", 4 | "author": "szymibymi", 5 | "version": "unreleased", 6 | "link": "https://x.com/FnfZucco", 7 | "source": "", 8 | 9 | "lastUpdated": "unreleased", 10 | 11 | "tags": ["upcoming", "softcoded"] 12 | } -------------------------------------------------------------------------------- /featured-mods/wbs-crisis/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/wbs-crisis/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/wbs-crisis/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/wbs-crisis/cover.jpg -------------------------------------------------------------------------------- /featured-mods/wbs-crisis/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WB's Crisis", 3 | "description": "WB'S Crisis is a slightly scary FNF's mod. Similarly, it belongs to a part of Tom And Jerry.", 4 | "author": "WBs Crisis Team(MS-ZYang)", 5 | "version": "v1.0", 6 | "link": "https://gamebanana.com/mods/588091", 7 | "source": "https://github.com/WB-s-Crisis/WB-S-Crisis", 8 | 9 | "lastUpdated": "2025-04-13T17:35:00.000Z", 10 | 11 | "tags": ["hardcoded", "difficulty-normal"] 12 | } 13 | -------------------------------------------------------------------------------- /featured-mods/yege-the-game/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/yege-the-game/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/yege-the-game/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/yege-the-game/cover.jpg -------------------------------------------------------------------------------- /featured-mods/yege-the-game/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Yege - The Game", 3 | "description": "A parody of the original Sonic.EXE", 4 | "author": "NGC Studio", 5 | "version": "1.0.0a", 6 | "link": "https://gamejolt.com/games/yege-the-game/976332", 7 | "source": "", 8 | 9 | "lastUpdated": "2025-02-27T19:11:31.000Z", 10 | 11 | "tags": ["softcoded", "difficulty-medium", "length-medium", "admin-pick"], 12 | "userTags": ["ngc", "2eaked", "birthday-gift"] 13 | } 14 | -------------------------------------------------------------------------------- /featured-mods/ytp-invasion/cover-high.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/ytp-invasion/cover-high.jpg -------------------------------------------------------------------------------- /featured-mods/ytp-invasion/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/featured-mods/ytp-invasion/cover.jpg -------------------------------------------------------------------------------- /featured-mods/ytp-invasion/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "YTP Invasion", 3 | "description": "Because YOUTUBE is WHERE THE POOP IS...", 4 | "author": "StashClub", 5 | "version": "3.1.0", 6 | "link": "https://gamebanana.com/mods/338983", 7 | "source": "", 8 | 9 | "lastUpdated": "2024-09-06T00:06:03.000Z", 10 | 11 | "tags": ["loved", "admin-pick"] 12 | } -------------------------------------------------------------------------------- /giscus.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultCommentOrder": "newest" 3 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codename-website", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "private": true, 6 | "directories": { 7 | "doc": "docs" 8 | }, 9 | "scripts": { 10 | "build": "node ./src/index.js", 11 | "build:full": "node ./src/index.js --full", 12 | "build:actions": "node ./src/index.js --full --actions", 13 | "watch": "node ./src/index.js --watch" 14 | }, 15 | "author": "", 16 | "license": "ISC", 17 | "description": "", 18 | "dependencies": { 19 | "dompurify": "^3.2.4", 20 | "gray-matter": "^4.0.3", 21 | "handlebars": "^4.7.8", 22 | "highlight.js": "^11.11.1", 23 | "jsdom": "^26.0.0", 24 | "remarkable": "^2.0.1", 25 | "terser": "^5.37.0" 26 | }, 27 | "devDependencies": { 28 | "clean-css": "^5.3.3", 29 | "sass": "^1.83.4" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/_style-vars.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | --primary-color: #b265bd; 3 | --secondary-color: #43206e; 4 | --background-primary-color: #2d1e32; 5 | --background-secondary-color: #211625; 6 | --list-background-color: #150e17; 7 | --text-color: white; 8 | --scrollbar-color: #302235; 9 | --code-background: #130d15; 10 | } 11 | 12 | * { 13 | font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu; 14 | color: var(--text-color); 15 | scrollbar-color: var(--scrollbar-color) var(--background-secondary-color); 16 | } 17 | 18 | .hide-nojs { 19 | display: initial; 20 | } 21 | 22 | .nojs .hide-nojs { 23 | display: none; 24 | } -------------------------------------------------------------------------------- /src/build.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var hljs = require('highlight.js'); 3 | var haxeFormat = require('./syntax/haxeFormat.js'); 4 | var wiki = require('./pages/wiki.build.js'); 5 | var tools = require('../tools/tools.build.js'); 6 | var apiDocs = require('./pages/api-docs/apiDocs.build.js'); 7 | var indexPage = require('./pages/index.build.js'); 8 | var sitemap = require("./sitemap.build.js"); 9 | var notFound = require("./pages/404.build.js"); 10 | 11 | var { copyDir, compileSass, compileJs, setGlobals } = require('./utils.js'); 12 | 13 | var isFullBuild = process.argv.includes('--full'); 14 | process.argv = process.argv.filter(arg => arg != '--full'); 15 | 16 | var isWatch = process.argv.includes('--watch'); 17 | process.argv = process.argv.filter(arg => arg != '--watch'); 18 | 19 | var isFirstRun = process.argv.includes('--first-run'); 20 | process.argv = process.argv.filter(arg => arg != '--first-run'); 21 | 22 | var isRelease = process.argv.includes('--release') || isFullBuild; 23 | process.argv = process.argv.filter(arg => arg != '--release'); 24 | 25 | var isActions = process.argv.includes('--actions'); 26 | process.argv = process.argv.filter(arg => arg != '--actions'); 27 | 28 | setGlobals({isFullBuild, isWatch, isFirstRun, isRelease, isActions}); 29 | 30 | hljs.registerLanguage('haxe', haxeFormat); 31 | 32 | var pageDir = process.argv[2] || "./"; 33 | var exportPath = "./export/" + (process.argv[3] || ''); 34 | 35 | if(!pageDir.endsWith('/')) pageDir += '/'; 36 | if(!exportPath.endsWith('/')) exportPath += '/'; 37 | 38 | if (!fs.existsSync(exportPath)) { 39 | fs.mkdirSync(exportPath, {recursive: true}); 40 | } 41 | 42 | console.log("Building pages..."); 43 | 44 | copyDir("./src/img/", exportPath + "/img/"); 45 | 46 | compileSass("./src/style.scss", exportPath + "/style.css"); 47 | compileSass("./src/style_v2.scss", exportPath + "/style_v2.css"); 48 | compileSass("./src/pages/wiki.scss", exportPath + "/wiki.css"); 49 | compileSass("./src/pages/index.scss", exportPath + "/index.css"); 50 | compileSass("./src/giscus-theme.scss", exportPath + "/giscus-theme.css"); 51 | compileSass("./src/pages/ko-fi.scss", exportPath + "/ko-fi.css"); 52 | compileSass("./tools/tools.scss", exportPath + "/tools.css"); 53 | 54 | compileJs("./src/pages/featuredMods.js", exportPath + "/featuredMods.js"); 55 | compileJs("./src/pages/wiki.js", exportPath + "/wiki.js"); 56 | 57 | copyDir("./src/toplevel/", exportPath + "/"); 58 | 59 | indexPage.buildHtml(pageDir, exportPath); // builds into / 60 | tools.buildHtml(pageDir, exportPath); // builds into /tools 61 | wiki.buildHtml(pageDir, exportPath); // builds into /wiki 62 | notFound.buildHtml(pageDir, exportPath); // builds into /404.html 63 | if(isFirstRun) { 64 | if(isFullBuild) { 65 | apiDocs.buildHtml(pageDir, exportPath); // builds into /api-docs 66 | } else { 67 | console.log("Skipping API Docs build (not full build)..."); 68 | apiDocs.buildNotBuilt(pageDir, exportPath); // builds into /api-docs 69 | } 70 | } else { 71 | apiDocs.alwaysRun(exportPath + "/api-docs/"); 72 | } 73 | 74 | if(isFirstRun && isFullBuild) { 75 | } 76 | sitemap.buildFile(pageDir, exportPath); // builds into /sitemap.xml 77 | 78 | console.log("Build completed."); -------------------------------------------------------------------------------- /src/giscus-theme.scss: -------------------------------------------------------------------------------- 1 | @use "root/_style-vars.scss"; 2 | 3 | *, 4 | ::after, 5 | ::before { 6 | border: none; 7 | } 8 | 9 | .gsc-comment-box-tabs { 10 | border: none !important; 11 | 12 | button { 13 | font-weight: 600; 14 | border-radius: 0 !important; 15 | border: solid rgba(0, 0, 0, 0.2) 2px !important; 16 | background: rgba(0, 0, 0, 0.2); 17 | } 18 | } 19 | 20 | .color-box-border-info { 21 | border: none; 22 | } 23 | 24 | .gsc-comment-box-is-reply { 25 | border: none !important; 26 | } 27 | 28 | .gsc-comment-box-tabs button.color-text-secondary { 29 | color: gray; 30 | font-weight: 400; 31 | } 32 | 33 | .btn-primary { 34 | background: var(--primary-color); 35 | padding: 5px 16px; 36 | border-radius: 0 !important; 37 | border: solid rgba(0, 0, 0, 0.2) 2px !important; 38 | } 39 | 40 | .gsc-comment-box-bottom { 41 | .btn-primary:disabled { 42 | color: gray; 43 | background: rgba(0, 0, 0, 0.2); 44 | } 45 | 46 | button:not(.btn-primary) { 47 | background: rgba(0, 0, 0, 0.2); 48 | } 49 | } 50 | 51 | .gsc-reactions-popover { 52 | border: solid rgba(0, 0, 0, 0.2) 2px !important; 53 | background: var(--list-background-color) !important; 54 | border-radius: 0 !important; 55 | 56 | &.open::before { 57 | color: #0e0a11 !important; 58 | } 59 | } 60 | 61 | .gsc-timeline { 62 | background: var(--list-background-color); 63 | gap: 0 !important; 64 | } 65 | 66 | .gsc-comment { 67 | border: solid rgba(0, 0, 0, 0.2) 2px; 68 | 69 | >div { 70 | border: none; 71 | } 72 | } 73 | 74 | .gsc-reply-box { 75 | border-top: none; 76 | 77 | button { 78 | border: solid rgba(0, 0, 0, 0.2) 2px; 79 | background: rgba(0, 0, 0, 0.2); 80 | border-radius: 0 !important; 81 | } 82 | } 83 | 84 | .gsc-comment-box:not(.gsc-comment-box-is-reply) { 85 | border-radius: 0 !important; 86 | border: solid rgba(0, 0, 0, 0.2) 2px !important; 87 | background: var(--list-background-color) !important; 88 | } 89 | 90 | .gsc-comment-box-write { 91 | border-radius: 0 !important; 92 | border: solid rgba(0, 0, 0, 0.2) 2px; 93 | background: rgba(0, 0, 0, 0.2); 94 | } 95 | 96 | .gsc-comment-box-textarea { 97 | border-bottom: dotted 3px rgba(0, 0, 0, 0.5) !important; 98 | border: none; 99 | border-radius: 0 !important; 100 | } 101 | 102 | .gsc-comment-box-textarea-extras { 103 | border: none; 104 | border-radius: 0 !important; 105 | } 106 | 107 | .gsc-upvote-button { 108 | display: none !important; 109 | } 110 | 111 | button:hover:not(button:disabled) { 112 | filter: brightness(125%); 113 | backdrop-filter: brightness(125%); 114 | } 115 | 116 | .btn-primary:hover { 117 | filter: brightness(125%); 118 | backdrop-filter: brightness(125%); 119 | background-color: var(--primary-color); 120 | } 121 | 122 | .gsc-comment img { 123 | //max-width: 75% !important; 124 | width: 25px; 125 | margin-right: 0.5em; 126 | } -------------------------------------------------------------------------------- /src/img/PhantomMuff Full Letters 1.1.5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/PhantomMuff Full Letters 1.1.5.ttf -------------------------------------------------------------------------------- /src/img/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/banner.png -------------------------------------------------------------------------------- /src/img/codename-animated-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/codename-animated-icon.gif -------------------------------------------------------------------------------- /src/img/codename-animated-icon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/codename-animated-icon.webp -------------------------------------------------------------------------------- /src/img/codename-animated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/codename-animated.gif -------------------------------------------------------------------------------- /src/img/codename-animated.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/codename-animated.webp -------------------------------------------------------------------------------- /src/img/external-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/icons/Bluesky_Logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/img/icons/discord.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/icons/github-142-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | github [#142] 6 | Created with Sketch. 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/img/icons/twitter-154-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | twitter [#154] 6 | Created with Sketch. 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/img/icons/youtube-168-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | youtube [#168] 6 | Created with Sketch. 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/img/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/image.png -------------------------------------------------------------------------------- /src/img/logo-banner-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/logo-banner-mini.png -------------------------------------------------------------------------------- /src/img/logo-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/logo-banner.png -------------------------------------------------------------------------------- /src/img/logo-cne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/logo-cne.png -------------------------------------------------------------------------------- /src/img/missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/missing.png -------------------------------------------------------------------------------- /src/img/os/android.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/os/apple.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/os/linux.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/os/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/question.png -------------------------------------------------------------------------------- /src/img/sidebar_pointer(1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sidebar_pointer(1).png -------------------------------------------------------------------------------- /src/img/sidebar_pointer_mobile(1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sidebar_pointer_mobile(1).png -------------------------------------------------------------------------------- /src/img/sparkle-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sparkle-bottom.gif -------------------------------------------------------------------------------- /src/img/sparkle-bottom.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sparkle-bottom.webp -------------------------------------------------------------------------------- /src/img/sparkle-top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sparkle-top.gif -------------------------------------------------------------------------------- /src/img/sparkle-top.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/sparkle-top.webp -------------------------------------------------------------------------------- /src/img/top-bar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/img/top-bar-bg.png -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var { spawn } = require('child_process'); 3 | 4 | var isFullBuild = process.argv.includes('--full'); 5 | process.argv = process.argv.filter(arg => arg != '--full'); 6 | 7 | var isWatch = process.argv.includes('--watch'); 8 | process.argv = process.argv.filter(arg => arg != '--watch'); 9 | 10 | var isRelease = process.argv.includes('--release') || isFullBuild; 11 | process.argv = process.argv.filter(arg => arg != '--release'); 12 | 13 | var isActions = process.argv.includes('--actions'); 14 | process.argv = process.argv.filter(arg => arg != '--actions'); 15 | 16 | var firstRun = true; 17 | 18 | function startChild() { 19 | console.log('Starting build process...'); 20 | 21 | var args = process.argv.slice(2); 22 | 23 | if(isFullBuild) { 24 | args.push('--full'); 25 | } 26 | if(isWatch) { 27 | args.push('--watch'); 28 | } 29 | if(isRelease) { 30 | args.push('--release'); 31 | } 32 | if(firstRun) { 33 | args.push('--first-run'); 34 | firstRun = false; 35 | } 36 | if(isActions) { 37 | args.push('--actions'); 38 | } 39 | 40 | child = spawn('node', ['src/build.js', ...args], { 41 | stdio: 'inherit' 42 | }); 43 | 44 | child.on('exit', function (code) { 45 | if(isWatch) { 46 | console.log("Watching for file changes... Press Ctrl+C to stop."); 47 | } 48 | }); 49 | } 50 | 51 | function restartChild() { 52 | if (child) { 53 | console.log('Restarting build process...'); 54 | child.kill(); 55 | } 56 | startChild(); 57 | } 58 | 59 | startChild(); 60 | 61 | if (isWatch) { 62 | var watchDirs = [ 63 | './featured-mods/', 64 | './src/', 65 | // './api-generator/theme/', 66 | './donators.json', 67 | './tools/', 68 | './wiki/' 69 | ]; 70 | 71 | for(const dir of watchDirs) { 72 | fs.watch(dir, { recursive: true }, (eventType, filename) => { 73 | if (filename) { 74 | console.log(`${filename} changed. Rebuilding...`); 75 | restartChild(); 76 | } 77 | }); 78 | } 79 | 80 | setInterval(() => {}, 1000); 81 | } -------------------------------------------------------------------------------- /src/pages/404.build.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | 3 | var { fixHtmlRefs, copyDir, parseTemplate, htmlToString } = require("../utils.js"); 4 | 5 | var header = fs.readFileSync("./src/pages/templates/header.html", 'utf8'); 6 | 7 | function buildHtml(_pageDir, _exportPath) { 8 | var pageDir = _pageDir + "/"; 9 | var exportPath = _exportPath + "/"; 10 | if (!fs.existsSync(exportPath)) { 11 | fs.mkdirSync(exportPath, {recursive: true}); 12 | } 13 | console.log("Building 404 Page"); 14 | 15 | var path = "./src/pages/404.html"; 16 | var outPath = exportPath + "404.html"; 17 | var templatePage = fs.readFileSync(path, 'utf8'); 18 | var vars = { 19 | pageTitle: "Page Not Found", 20 | title: "Page Not Found", 21 | header: header, 22 | }; 23 | 24 | let html = parseTemplate(templatePage, vars); 25 | 26 | var dom = fixHtmlRefs(html, pageDir, _pageDir); 27 | 28 | //console.log(data); 29 | fs.writeFileSync( 30 | outPath, 31 | htmlToString(dom), 32 | 'utf8' 33 | ); 34 | } 35 | 36 | module.exports = { 37 | buildHtml: buildHtml 38 | } -------------------------------------------------------------------------------- /src/pages/api-docs/apiDocs.build.js: -------------------------------------------------------------------------------- 1 | var { getGlobals } = require("../../utils.js"); 2 | var path = require("path"); 3 | var fs = require('fs'); 4 | const { execSync } = require('child_process'); 5 | 6 | var { fixHtmlRefs, copyDir, parseTemplate, compileJs, htmlToString, compileSass } = require("../../utils.js"); 7 | var header = fs.readFileSync("./src/pages/templates/header.html", 'utf8') 8 | 9 | const apiGenerator = path.join(__dirname, "..", "..", '..', 'api-generator'); 10 | 11 | function alwaysRun(exportPath) { 12 | if (!fs.existsSync(exportPath)) { 13 | fs.mkdirSync(exportPath, {recursive: true}); 14 | } 15 | var prevPath = path.join(exportPath, ".."); 16 | compileJs("./src/pages/api-docs/resources/highlighter.js", exportPath + "highlighter.js"); 17 | compileJs("./src/pages/api-docs/resources/index.js", exportPath + "index.js"); 18 | compileSass("./src/pages/api-docs/resources/api-docs.scss", prevPath + "/api-docs.css"); 19 | } 20 | 21 | function buildHtml(_pageDir, _exportPath) { 22 | var pageDir = _pageDir + "api-docs/"; 23 | var exportPath = _exportPath + "api-docs/"; 24 | alwaysRun(exportPath); 25 | console.log("Building Api Docs"); 26 | console.log("Using api generator at " + apiGenerator); 27 | 28 | var { isActions } = getGlobals(); 29 | 30 | //if(isWatch) { 31 | // build with haxe 32 | var args = [ 33 | "haxe", 34 | "dox.hxml", 35 | ]; 36 | if(isActions) { 37 | args.push("--define ACTIONS"); 38 | } 39 | execSync(args.join(" "), {cwd: apiGenerator}, function(error, stdout, stderr) { 40 | console.log(stdout); 41 | }); 42 | //} else { 43 | // // build with neko 44 | // execSync("neko bin/main.n", {cwd: apiGenerator}, function(error, stdout, stderr) { 45 | // console.log(stdout); 46 | // }); 47 | //} 48 | 49 | //copyDir("./src/pages/api-docs/", exportPath); 50 | } 51 | 52 | function buildNotBuilt(_pageDir, _exportPath) { 53 | var pageDir = _pageDir + "api-docs/"; 54 | var exportPath = _exportPath + "api-docs/"; 55 | alwaysRun(exportPath); 56 | 57 | var html = fs.readFileSync("./src/pages/api-docs/not-built.html", 'utf8'); 58 | html = parseTemplate(html, { 59 | title: "API Docs", 60 | header: header 61 | }); 62 | let doc = fixHtmlRefs(html, pageDir, _pageDir); 63 | fs.writeFileSync(exportPath + "/index.html", htmlToString(doc), 'utf8'); 64 | } 65 | 66 | module.exports = { 67 | buildHtml: buildHtml, 68 | buildNotBuilt: buildNotBuilt, 69 | alwaysRun: alwaysRun 70 | } -------------------------------------------------------------------------------- /src/pages/api-docs/not-built.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Home - Codename Engine Docs 7 | 8 | 9 | 10 | 11 | 12 |
    13 | {{{ parse header }}} 14 |
    15 |
    16 |
    17 |
    18 | 22 |
    23 |

    This page is not built yet.

    24 |

    To build it, run npm run build:full in the root directory.

    25 |

    If this page shows up, on production, please report it on GitHub.

    26 |
    27 |
    28 | 29 | -------------------------------------------------------------------------------- /src/pages/api-docs/resources/highlighter.js: -------------------------------------------------------------------------------- 1 | //! highlighter adapted/modified from code.haxe.org 2 | //! cleaned up by Ne_Eo 3 | (function () { "use strict"; 4 | var EReg = function(r,opt) { 5 | opt = opt.split("u").join(""); 6 | this.r = new RegExp(r,opt); 7 | }; 8 | EReg.prototype = { 9 | replace: function(s,by) { 10 | return s.replace(this.r,by); 11 | } 12 | }; 13 | var keywords = ["abstract","break","case","cast","catch","class","continue","default","do","dynamic","else","enum","extends","extern","false","final","for","function","if","implements","import","in","inline","interface","macro","new","operator","overload","override","package","private","public","return","static","switch","this","throw","true","try","typedef","untyped","using","var","while"]; 14 | var keywords1 = new EReg("\\b(" + keywords.join("|") + ")\\b","g"); 15 | var vals = ["null","true","false","this"]; 16 | var vals1 = new EReg("\\b(" + vals.join("|") + ")\\b","g"); 17 | var types = new EReg("\\b([A-Z][a-zA-Z0-9]*)\\b","g"); 18 | var strReg = new EReg("(\"[^\"]*\")","g") 19 | var commentReg = new EReg("(//.+?)(\n|$)","g"); 20 | var blockCmtReg = new EReg("(/\\*\\*?(.|\n)+?\\*?\\*/)","g"); 21 | function syntaxHighlight(html) { 22 | html = keywords1.replace(html,"$1"); 23 | html = vals1.replace(html,"$1"); 24 | html = types.replace(html,"$1"); 25 | html = strReg.replace(html,"$1"); 26 | html = commentReg.replace(html,"$1$2"); 27 | html = blockCmtReg.replace(html,"$1"); 28 | return html; 29 | }; 30 | 31 | 32 | var items = window.document.body.querySelectorAll("pre code"); 33 | var len = items.length; 34 | for(var i = 0; i < len; i++) { 35 | var el = items[i]; 36 | if(el.className.indexOf("highlighted") != -1) { 37 | continue; 38 | } 39 | 40 | el.innerHTML = syntaxHighlight(el.innerHTML); 41 | el.className += " highlighted"; 42 | } 43 | 44 | })(); -------------------------------------------------------------------------------- /src/pages/ko-fi.scss: -------------------------------------------------------------------------------- 1 | .floatingchat-donate-button { 2 | border-radius: 0px!important; 3 | -webkit-border-radius: 0px!important; 4 | -moz-border-radius: 0px!important; 5 | -ms-border-radius: 0px!important; 6 | -o-border-radius: 0px!important; 7 | 8 | border: solid rgba(0, 0, 0, 0.2) 2px; 9 | 10 | padding: 0 10px; 11 | 12 | span { 13 | display: none; 14 | } 15 | 16 | &:hover { 17 | filter: brightness(140%); 18 | backdrop-filter: brightness(140%); 19 | 20 | img { 21 | filter: brightness(71.4285714286%); // to counteract the filter above (1/1.40) 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/templates/footer.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/templates/header.html: -------------------------------------------------------------------------------- 1 |
    2 | 3 | Codename Logo 4 | Codename Logo 5 | 6 |

    {{ safeish title }}

    7 |
    8 | APIWikiTools 9 |
    10 |
    -------------------------------------------------------------------------------- /src/pages/wiki.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | "use strict"; 3 | function getRelativeTimeString( 4 | date, // Date | number 5 | lang = "en" // navigator.language 6 | ) { 7 | const timeMs = typeof date === "number" ? date : date.getTime(); 8 | const deltaSeconds = Math.round((timeMs - Date.now()) / 1000); 9 | const cutoffs = [60, 3600, 86400, 86400 * 7, 86400 * 30, 86400 * 365, Infinity]; 10 | const units = ["second", "minute", "hour", "day", "week", "month", "year"]; 11 | const unitIndex = cutoffs.findIndex(cutoff => cutoff > Math.abs(deltaSeconds)); 12 | const divisor = unitIndex ? cutoffs[unitIndex - 1] : 1; 13 | const rtf = new Intl.RelativeTimeFormat(lang, { numeric: "auto" }); 14 | return rtf.format(Math.floor(deltaSeconds / divisor), units[unitIndex]); 15 | } 16 | 17 | var lastUpdated = [document.getElementById("last-updated")]; 18 | if(lastUpdated.length > 0 && window.Intl) { 19 | lastUpdated.forEach(lastUpdated => { 20 | var time = lastUpdated.getAttribute("data-time"); 21 | lastUpdated.textContent = getRelativeTimeString(new Date(time)); 22 | }); 23 | } 24 | })(); -------------------------------------------------------------------------------- /src/sitemap.template.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | {{#each links}} 8 | 9 | {{link}} 10 | {{#if time}} 11 | {{time}} 12 | {{/if}} 13 | {{#if prio}} 14 | {{prio}} 15 | {{/if}} 16 | 17 | {{/each}} 18 | -------------------------------------------------------------------------------- /src/style_v2.scss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: PhantomMuff; 3 | src: url("img/PhantomMuff Full Letters 1.1.5.ttf"); 4 | } 5 | body { 6 | background: url(img/image.png) center center no-repeat, var(--background-primary-color); 7 | background-size: cover; 8 | background-blend-mode: multiply; 9 | } 10 | * { 11 | font-family: PhantomMuff,-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu; 12 | text-shadow: 1px 1px 2px var(--secondary-color); 13 | } 14 | .default-button { 15 | color: var(--text-color); 16 | text-decoration: none; 17 | //display: block; 18 | padding: .7em; 19 | border: 2px solid rgba(0, 0, 0, .2); 20 | border-radius: 999em; 21 | background: radial-gradient(var(--primary-color) 20%, var(--secondary-color)); 22 | background-size: 250% 200%; 23 | background-position: center 60%; 24 | } 25 | header { 26 | & > div { 27 | background: none; 28 | & > a { 29 | border-radius: 999em; 30 | background: var(--background-primary-color); 31 | margin: 6% 0.2em; 32 | height: auto; 33 | } 34 | } 35 | } 36 | .content { 37 | background: none; 38 | z-index: 0; 39 | position: relative; 40 | pointer-events: none; 41 | * { 42 | position: relative; 43 | z-index: 1; 44 | pointer-events: auto; 45 | } 46 | &::before { 47 | content: " "; 48 | position: absolute; 49 | top: 0; 50 | left: 0; 51 | width: 100%; 52 | height: 100%; 53 | border: none; 54 | background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .2)) 50% 50%/calc(100% - 4px) calc(100% - 4px) no-repeat, 55 | linear-gradient(312deg, rgba(151,56,56,0), rgba(151,56,56,0) 45%, #58345e5e 46%, #b265bd5e 68%, #43206e5e 69%, #43206e5e 100%), 56 | linear-gradient(0deg, rgba(0,255,255,0) 14%, #43206e5e 57%, #b265bd5e 100%); 57 | background-size: cover; 58 | opacity: 0.3; 59 | border-radius: 0px; 60 | padding: 19px; 61 | box-sizing: border-box; 62 | z-index: -1; 63 | pointer-events: none; 64 | } 65 | &::after { 66 | content: " "; 67 | position: absolute; 68 | top: 0; 69 | left: 0; 70 | width: 100%; 71 | height: 100%; 72 | border: none; 73 | background: linear-gradient(312deg, rgba(151,56,56,0) 45%, #b265bd 68%, #43206e 100%), 74 | linear-gradient(0deg, rgba(0,255,255,0) 14%, #43206e 57%, #b265bd 100%); 75 | border-radius: 0px; 76 | padding: 1px; 77 | box-sizing: border-box; 78 | z-index: 0; 79 | mask: linear-gradient(#fff 0 0) content-box, 80 | linear-gradient(#fff 0 0) border-box; 81 | mask-composite: exclude; 82 | pointer-events: none; 83 | } 84 | } 85 | 86 | .sidebar-list-item a { 87 | &::before { 88 | text-shadow: none; 89 | } 90 | &.selected::before { 91 | border-radius: 999em; 92 | background: radial-gradient(var(--primary-color) 20%, var(--secondary-color)); 93 | background-size: 250% 200%; 94 | background-position: center 60%; 95 | } 96 | } -------------------------------------------------------------------------------- /src/toplevel/.gitattributes: -------------------------------------------------------------------------------- 1 | sitemap.xml linguist-generated -------------------------------------------------------------------------------- /src/toplevel/.well-known/discord: -------------------------------------------------------------------------------- 1 | dh=aaa379730f679b2e69c56d930fd0a76db78d75e4 -------------------------------------------------------------------------------- /src/toplevel/6662987d066b4c09b12a50964d0f47bf.txt: -------------------------------------------------------------------------------- 1 | 6662987d066b4c09b12a50964d0f47bf -------------------------------------------------------------------------------- /src/toplevel/BingSiteAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | C519E79D6B66D76672F6F0426EF15624 4 | -------------------------------------------------------------------------------- /src/toplevel/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/apple-touch-icon.png -------------------------------------------------------------------------------- /src/toplevel/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/favicon-16x16.png -------------------------------------------------------------------------------- /src/toplevel/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/favicon-32x32.png -------------------------------------------------------------------------------- /src/toplevel/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/favicon-96x96.png -------------------------------------------------------------------------------- /src/toplevel/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/favicon.ico -------------------------------------------------------------------------------- /src/toplevel/file-uploads/freeplay-bf-icon-example.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/file-uploads/freeplay-bf-icon-example.zip -------------------------------------------------------------------------------- /src/toplevel/og-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/og-icon.png -------------------------------------------------------------------------------- /src/toplevel/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /404.html 3 | 4 | User-agent: * 5 | Allow: / 6 | 7 | Sitemap: https://codename-engine.com/sitemap.xml -------------------------------------------------------------------------------- /src/toplevel/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"Codename Engine","short_name":"Codename","icons":[{"src":"/web-app-manifest-192x192.png","sizes":"192x192","type":"image/png","purpose":"maskable"},{"src":"/web-app-manifest-512x512.png","sizes":"512x512","type":"image/png","purpose":"maskable"}],"theme_color":"#b265bd","background_color":"#2d1e32","display":"standalone"} -------------------------------------------------------------------------------- /src/toplevel/web-app-manifest-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/web-app-manifest-192x192.png -------------------------------------------------------------------------------- /src/toplevel/web-app-manifest-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/src/toplevel/web-app-manifest-512x512.png -------------------------------------------------------------------------------- /tools/event-packer/index.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var form = document.getElementById("event-packer-form"); 3 | form.addEventListener("submit", function (e) { 4 | e.preventDefault(); 5 | 6 | var eventFile = document.getElementById("event-file").files[0]; 7 | var eventParams = document.getElementById("event-params").files[0]; 8 | var eventImage = document.getElementById("event-image").files[0]; 9 | var separator = '________PACKSEP________'; 10 | 11 | var promises = [readFile(eventFile), readFile(eventParams)]; 12 | if(eventImage) { 13 | promises.push(getImageBase64(eventImage)); 14 | } 15 | 16 | // TODO: add compression by converting 4 spaces to tabs, and more 17 | 18 | Promise.all(promises) 19 | .then(([hscriptText, jsonFileText, imageDataURL]) => { 20 | //if(!imageDataURL) { 21 | // imageDataURL = "assets/images/editors/charter/event-icons/Unknown.png"; 22 | //} 23 | var toPack = [ 24 | eventFile.name, 25 | hscriptText, 26 | jsonFileText 27 | ]; 28 | if(imageDataURL) { 29 | toPack.push(imageDataURL); 30 | } 31 | 32 | var packText = toPack.join(separator); 33 | 34 | saveFile(packText, eventFile.name.replace(/\.(hx|hscript|hxs|hsc)$/, ".pack")); 35 | }) 36 | .catch(error => console.error("Error processing files:", error)); 37 | }); 38 | 39 | function readFile(file) { 40 | return new Promise((resolve, reject) => { 41 | var reader = new FileReader(); 42 | reader.onload = () => resolve(reader.result); 43 | reader.onerror = reject; 44 | reader.readAsText(file); 45 | }); 46 | } 47 | 48 | function getImageBase64(file) { 49 | return new Promise((resolve, reject) => { 50 | var reader = new FileReader(); 51 | reader.onload = function () { 52 | if(!file.name.endsWith(".png")) { 53 | var img = new Image(); 54 | img.onload = function () { 55 | var canvas = document.createElement("canvas"); 56 | canvas.width = img.width; 57 | canvas.height = img.height; 58 | var ctx = canvas.getContext("2d"); 59 | ctx.drawImage(img, 0, 0); 60 | 61 | var pngDataUrl = canvas.toDataURL("image/png"); 62 | resolve(pngDataUrl.split(',')[1]); 63 | }; 64 | img.onerror = reject; 65 | img.src = reader.result; 66 | } 67 | else { 68 | resolve(reader.result.split(',')[1]); 69 | } 70 | }; 71 | reader.onerror = reject; 72 | reader.readAsDataURL(file); // Read the image as a Data URL 73 | }); 74 | } 75 | 76 | function saveFile(content, filename) { 77 | var blob = new Blob([content], { type: "text/plain;charset=utf-8" }); 78 | var link = document.createElement("a"); 79 | link.href = URL.createObjectURL(blob); 80 | link.download = filename; 81 | document.body.appendChild(link); 82 | link.click(); 83 | document.body.removeChild(link); 84 | } 85 | })(); -------------------------------------------------------------------------------- /tools/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Home - Codename Engine Tools 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
    42 | {{{ parse header }}} 43 |
    44 |
    45 |
    46 |

    Tools

    47 |
    48 | {{#each tools}} 49 | 59 | {{/each}} 60 |
    61 |
    62 |
    63 | 64 | -------------------------------------------------------------------------------- /tools/tools.build.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var { fixHtmlRefs, htmlToString, parseTemplate, compileJs } = require("../src/utils.js"); 3 | 4 | var header = fs.readFileSync("./src/pages/templates/header.html", 'utf8') 5 | 6 | const tools = [ 7 | { 8 | link: "index", 9 | title: "Home", 10 | desc: "Home of the tools", 11 | internal: true 12 | }, 13 | { 14 | link: "event-packer", 15 | title: "Event Packer", 16 | desc: "Tool to pack events for the engine" 17 | }, 18 | { 19 | link: "https://neeeoo.github.io/funkin-packer/", 20 | title: "Funkin Packer", 21 | desc: "Tool to pack and repack spritesheets", 22 | external: true, 23 | }, 24 | { 25 | link: "psych-char-converter", 26 | title: "Psych Character Converter", 27 | desc: "Convert characters from Psych Engine to Codename Engine", 28 | }, 29 | { 30 | link: "https://tools.rotato.app/compress", 31 | title: "Video Compressor", 32 | desc: "Compress videos to reduce their size
    (Warning: this is not a lossless compression)", 33 | external: true, 34 | } 35 | ]; 36 | 37 | function buildHtml(_pageDir, _exportPath) { 38 | var pageDir = _pageDir + "tools/"; 39 | var exportPath = _exportPath + "tools/"; 40 | if (!fs.existsSync(exportPath)) { 41 | fs.mkdirSync(exportPath, {recursive: true}); 42 | } 43 | console.log("Building Tools"); 44 | 45 | var displayTools = tools.filter(tool => !tool.internal); 46 | 47 | for(const tool of tools) { 48 | if(tool.external) { 49 | continue; 50 | } 51 | var path = "./tools/" + tool.link + "/index.html"; 52 | var outPath = exportPath + tool.link + "/index.html"; 53 | if(tool.link == "index") { 54 | path = "./tools/index.html"; 55 | outPath = exportPath + "index.html"; 56 | } 57 | 58 | var filePath = outPath.split("/"); 59 | filePath.pop(); 60 | filePath = filePath.join("/"); 61 | 62 | if (!fs.existsSync(filePath)) { 63 | fs.mkdirSync(filePath, {recursive: true}); 64 | } 65 | 66 | if(fs.existsSync(path.replace(/\.html$/, ".js"))) { 67 | var scriptPath = path.replace(/\.html$/, ".js"); 68 | 69 | compileJs(scriptPath, outPath.replace(/\.html$/, ".js")); 70 | } 71 | 72 | var templatePage = fs.readFileSync(path, 'utf8'); 73 | var vars = { 74 | title: tool.title, 75 | header: header, 76 | tools: displayTools 77 | }; 78 | console.log(tool.link); 79 | 80 | let html = parseTemplate(templatePage, vars); 81 | 82 | var dom = fixHtmlRefs(html, pageDir, _pageDir); 83 | 84 | //console.log(data); 85 | fs.writeFileSync( 86 | outPath, 87 | htmlToString(dom), 88 | 'utf8' 89 | ); 90 | } 91 | } 92 | 93 | module.exports = { 94 | buildHtml: buildHtml 95 | } -------------------------------------------------------------------------------- /webserver.bat: -------------------------------------------------------------------------------- 1 | python3 -m http.server 4030 --bind 127.0.0.1 --directory export -------------------------------------------------------------------------------- /webserver.sh: -------------------------------------------------------------------------------- 1 | python3 -m http.server 4030 --directory export -------------------------------------------------------------------------------- /wiki/How to navigate the engine-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-1.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-2.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-3.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-4.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-5.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-6.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-7.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-8.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine-9.png -------------------------------------------------------------------------------- /wiki/How to navigate the engine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/How to navigate the engine.png -------------------------------------------------------------------------------- /wiki/differences.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains the differences between the other FNF engines. 4 | lastUpdated: 2024-09-18T14:11:35.000Z 5 | title: Differences between the other FNF engines 6 | --- 7 | # Differences between the other FNF engines. 8 | 9 | ### First of all, **this engine does not have built-in LUA scripting**, unlike Psych Engine. 10 | 11 | Codename engine is based on **Base Game's week 6 code** (AKA. version 0.2.7.1), and shows heavy modifications from the original source (for example, optimized PlayState ~1400 lines, rewritten systems etc.). It is not a fork of any other engines and hasn't taken code from other engines either. 12 | 13 | Compared to the usual engines (Psych Engine, FPS plus), these are the few differences that makes it stand out: 14 | - Scripting system is specifically HScript Improved, a custom fork made by the developers themselves. 15 | - Uses forks of popular libraries tailored specifically for the engine for the goal of better optimization. 16 | - Modding system and softcoding is as capable as source coding. 17 | - Focuses heavily on optimization, and encourages its users to also take on optimization practices. 18 | - Bloated, in the sense that it offers as many modding tools as possible without changing the core gameplay and the base to mod on. 19 | - Allows modularity using addons and mods that apply on top of the core mod. 20 | - Advanced editors which allows for possibly better experience and easiness when creating the mod. 21 | 22 | ###### Please keep in mind that, despite these differences, we do not consider our engine to be any better than the others and this page exists purely for people to distinguish our engine from the other engines in the community. -------------------------------------------------------------------------------- /wiki/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits & Ne_Eo 3 | desc: Main Page to the Wiki 4 | title: Home 5 | lastUpdated: 2024-10-12T18:34:34.185Z 6 | --- 7 | # Welcome to the Codename Engine Wiki 8 | Here is documentation on functions of the engine (gameplay and modding), and how to use them for your mod. 9 | 10 | ### Navigation is done via this sidebar! 11 | 12 | 13 | 14 | 15 | Credits: 16 | - Ne_Eo - some styling and basically making the entire structure of the website. 17 | - Frakits - useless documentation and tons of styling. 18 | - Nex_isDumb - other documentations, keeping the api up to date (mostly) plus few other stuff. 19 | - swordcube - helping hand for documentation. 20 | - Care or usb_port_2 - helped with keeping my sanity. 21 | 22 | If you wanna see who made a specific page check below at the bottom of the page above the comments. 23 | 24 | **PSA**. if you wish to contribute to this website, whether it be a page modification or adding a brand new page, visit the GitHub Repository and contribute via pull requests. (contributions are heavily encouraged, as we're not able to cover all possible cases.) You can also click the button below to edit the page on GitHub. 25 | 26 | -------------------------------------------------------------------------------- /wiki/modding/Cutscenes or Dialogues.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/Cutscenes or Dialogues.png -------------------------------------------------------------------------------- /wiki/modding/characters/editor-features.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to use the character editor 4 | lastUpdated: 2024-08-26T13:35:32.000Z 5 | title: Character Editor Features 6 | --- 7 | # Additional oh fuck this is not the chart editor file -------------------------------------------------------------------------------- /wiki/modding/hardcoding/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: This page explains how to hardcode stuff in your mod! 3 | lastUpdated: 2024-10-10T12:39:50.000Z 4 | title: Hardcoding 5 | --- 6 | # Hardcoding 7 | 8 | You don't need to do this, but if you want to, you can do it. 9 | 10 | The engine provides a lot of ways to do stuff without needing to hardcode it. 11 | 12 | Like custom classes, custom options, custom states, etc. 13 | 14 | If you need access to C++ code you can use NDLL Scripts to do it. -------------------------------------------------------------------------------- /wiki/modding/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/index.png -------------------------------------------------------------------------------- /wiki/modding/making-custom-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/making-custom-icons.png -------------------------------------------------------------------------------- /wiki/modding/note-splashes-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/note-splashes-1.png -------------------------------------------------------------------------------- /wiki/modding/note-splashes-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/note-splashes-2.png -------------------------------------------------------------------------------- /wiki/modding/note-splashes.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/note-splashes.webm -------------------------------------------------------------------------------- /wiki/modding/scripting/3d-rendering.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: This page explains how to use 3D rendering in your mod! 3 | lastUpdated: 2024-09-11T15:57:10.000Z 4 | title: 3D rendering 5 | --- 6 | # 3D rendering 7 | 8 | coming soon, its in the engine, but not yet documented -------------------------------------------------------------------------------- /wiki/modding/scripting/Custom Options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/scripting/Custom Options.png -------------------------------------------------------------------------------- /wiki/modding/scripting/State or Substate Scripts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/scripting/State or Substate Scripts.png -------------------------------------------------------------------------------- /wiki/modding/scripting/custom-classes.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Ne_Eo & Frakits 3 | desc: This page explains how to create custom classes for your mod! 4 | lastUpdated: 2024-09-11T09:37:50.000Z 5 | title: Custom Classes 6 | --- 7 | # Custom Classes 8 | 9 | Custom classes can be made either inside the script you need it in or you can make a script file corresponding with the name of the class in ``./source``, and using import to import it. 10 | 11 | Here is a basic Song Script code that uses it: 12 | ```haxe 13 | class SpecialSprite extends FlxSprite { 14 | public var customValue:String = null; 15 | public function new(?x:Float = 0, ?y:Float = 0, ?graphic:FlxGraphicAsset, customValue:String) { // it also has to start with the same arguments as the super class, (limitation for now) 16 | super(x, y, graphic); // this does nothing currently, its purely visual for now, but it will be used in the future 17 | this.customValue = customValue; 18 | //other code stuff 19 | } 20 | 21 | public override function update(elapsed) { 22 | super.update(elapsed); 23 | } 24 | } 25 | 26 | function create() { 27 | var spr = new SpecialSprite(200, 400, null, "powerful"); 28 | add(spr); 29 | } 30 | ``` 31 | 32 | ## Particularities 33 | As of writing this, this system is very limited and also presents some defects. For example: 34 | - You cannot extend FlxGroups or other typed classes *(the ones that end with a ````)*. 35 | - Classes that override a class needs to have the same arguments on the constructor as the class it overrides. Same when creating the instance of the class. 36 | - Compiled Classes that do not override a function in their code cannot have that function overridden by custom classes. For example, you can't override the `draw` method in a custom class that extends FlxParticle, because FlxParticle does not override `draw`. 37 | - all variables need to be public in order to be accessed inside the class. 38 | - static variables are not supported. (yet) 39 | - static functions are not supported. (yet) 40 | - private variables are not supported. They act as public variables. 41 | - private functions are not supported. They act as public functions. 42 | - You cannot extend a custom class. (yet) 43 | - You can only extend a class that is in the packages, `flixel`, `funkin` -------------------------------------------------------------------------------- /wiki/modding/scripting/custom-transitions.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: BerGP 3 | desc: This page explains how to use Custom Transitions 4 | lastUpdated: 2025-02-08T23:47:46.390Z 5 | title: Custom Transitions 6 | --- 7 | # Custom Transitions 8 | 9 | ##

    Custom State Transitions

    10 | 11 | Transition scripts allow for making your own transition, or modifying the existing one, all without source coding a bit.
    12 | To do so, you must load it from a Script *(anyone really)*. 13 | ```haxe 14 | MusicBeatTransition.script = 'data/scripts/customTransition'; 15 | ``` 16 | This snippet would load from ``./data/scripts`` looking for the ``customTransition.hx`` script. 17 | 18 | You can mod the transition in any way you'd like. For example, making the transition go left to right: 19 | ```haxe 20 | function postCreate(event) { 21 | transitionTween.cancel(); // Disabling original tween 22 | 23 | // Rotating Sprites 24 | transitionSprite.angle = event.transOut ? -90 : 90; 25 | transitionSprite.setGraphicSize(transitionCamera.height, transitionCamera.width); transitionSprite.updateHitbox(); // Once with switched angle, proportions need to go along 26 | transitionSprite.screenCenter(); 27 | blackSpr.setPosition(event.transOut ? -transitionCamera.width : transitionCamera.width, 0); // Doing X instead of Y tween 28 | // Updating camera direction to change X instead of Y 29 | transitionCamera.flipY = false; 30 | transitionCamera.flipX = !event.transOut; 31 | transitionCamera.scroll.set(transitionCamera.width); 32 | 33 | transitionTween = FlxTween.tween(transitionCamera.scroll, {x: -transitionCamera.width}, 2/3, {ease: FlxEase.sineOut, onComplete: (_) -> finish()}); 34 | } 35 | ``` 36 | Or even, cancelling the base one for one of your own: 37 | ```haxe 38 | function create(event) { 39 | event.cancel(); 40 | 41 | // your code here 42 | } 43 | ``` 44 | It's all up to preference. 45 | 46 | *(Note: ``event`` has more parameters, and there exists other calls. Check All Script Calls, to learn more)* 47 | 48 | ##

    Skipping Prevental

    49 | 50 | In Codename Engine, you can skip transitions by holding SHIFT.
    51 | But as always, it's possible to avoid it. 52 | 53 | To prevent it, disable ``allowSkip`` 54 | ```haxe 55 | function create(event) { 56 | allowSkip = false; 57 | 58 | // transition code below 59 | } 60 | ``` -------------------------------------------------------------------------------- /wiki/modding/scripting/global-scripts.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to use Global Scripts 4 | lastUpdated: 2024-08-31T12:09:41.000Z 5 | title: Global Scripts 6 | --- 7 | # Global Scripts 8 | Global Scripts always run during the game, doesn't matter in which state or where, it always runs. *(runs from when the mod is loaded/game opened up until the game is closed/different mod is loaded)*
    9 | You can make one by creating a file in ``./data/`` called ``global.hx`` 10 | 11 | Global Scripts are useful for certain things, for example, here's the default code in the base's global script: 12 | ```haxe 13 | function update(elapsed:Float) 14 | if (FlxG.keys.justPressed.F5) FlxG.resetState(); 15 | ``` 16 | Which makes it so that pressing F5 will refresh any state you are currently in. 17 | 18 | Or a different example: 19 | ```haxe 20 | static var cashAmount:Float = 0; 21 | static var playerTitle = "poor"; 22 | 23 | function update(elapsed:Float) { 24 | if (cashAmount > 1000000) playerTitle = "millionaire"; 25 | } 26 | ``` 27 | This basic example shows how you can use static variables and trigger actions depending on them. As you can see, these variables are accessible in any script, so you can basically use them in any PlayState Scripts and State Scripts too. 28 | 29 | Useful script snippets for modders contains a few useful code snippets that take advantage of Global Scripts. -------------------------------------------------------------------------------- /wiki/modding/scripting/hxvlc.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to play videos using hxvlc 4 | lastUpdated: 2024-09-01T14:39:03.000Z 5 | title: Using hxvlc for videos 6 | --- 7 | # Using hxvlc for videos 8 | 9 | Using hxvlc, you can display videos anywhere, and can be used as a sprite as well. 10 | 11 | To get started, you get 2 choices: 12 | - FlxVideo which runs based on flash bitmap, and 13 | - FlxVideoSprite which runs based on an FlxSprite. 14 | 15 | Using an FlxVideo looks something like this: 16 | ```haxe 17 | import hxvlc.flixel.FlxVideo; 18 | var video:FlxVideo = new FlxVideo(); 19 | video.onEndReached.add(function():Void 20 | { 21 | video.dispose(); 22 | 23 | FlxG.removeChild(video); 24 | }); 25 | FlxG.addChildBelowMouse(video); 26 | 27 | if (video.load(Paths.video("video"))) 28 | new FlxTimer().start(0.001, (_) -> video.play()); 29 | ``` 30 | And using an FlxVideoSprite looks like this: 31 | ```haxe 32 | import hxvlc.flixel.FlxVideoSprite; 33 | var video:FlxVideoSprite = new FlxVideoSprite(0, 0); 34 | video.antialiasing = true; 35 | video.bitmap.onFormatSetup.add(function():Void 36 | { 37 | if (video.bitmap != null && video.bitmap.bitmapData != null) 38 | { 39 | final scale:Float = Math.min(FlxG.width / video.bitmap.bitmapData.width, FlxG.height / video.bitmap.bitmapData.height); 40 | 41 | video.setGraphicSize(video.bitmap.bitmapData.width * scale, video.bitmap.bitmapData.height * scale); 42 | video.updateHitbox(); 43 | video.screenCenter(); 44 | } 45 | }); 46 | video.bitmap.onEndReached.add(video.destroy); 47 | add(video); 48 | 49 | if (video.load(Paths.video("video"))) 50 | new FlxTimer().start(0.001, (_) -> video.play()); 51 | ``` 52 | These will load the video ``./videos/video.mp4``, and display it on the screen. 53 | 54 | Other thing to note is that when you type Paths.video("video"), keep in mind that you can write the extension next to the path, which let's you load filetypes other than .mp4. 55 | 56 | *(btw tiny thing to also note is that if your video suffers from huge file size i recommend using .webm instead of .mp4)* 57 | -------------------------------------------------------------------------------- /wiki/modding/scripting/ndll-scripting.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: This page explains how to use NDLLs 3 | lastUpdated: 2024-09-10T12:35:22.000Z 4 | title: NDLL Scripting 5 | --- 6 | # NDLL Scripting 7 | 8 | Not documented yet. 9 | 10 | Please read the example project [here](https://github.com/CodenameCrew/ndll-example) for now. 11 | 12 | Outdated documentation on [NekoVM](https://nekovm.org/doc/ffi/) 13 | 14 | Up to date documentation on [the example project](https://github.com/CodenameCrew/ndll-example/blob/master/project/common/ExternalInterface.cpp) 15 | 16 | If you are unsure about what stuffs work check [here](https://github.com/HaxeFoundation/hxcpp/blob/master/src/hx/CFFI.cpp) -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/Events or Notetype Scripts-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/scripting/playstate-scripts/Events or Notetype Scripts-1.png -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/Events or Notetype Scripts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/scripting/playstate-scripts/Events or Notetype Scripts.png -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/Week 6 Dialogue.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/scripting/playstate-scripts/Week 6 Dialogue.webm -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/character-stage-scripts.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to create character/stage scripts 4 | lastUpdated: 2024-09-02T18:14:26.000Z 5 | title: Character/Stage Scripts 6 | --- 7 | # Character/Stage Scripts 8 | 9 | Character/Stage Scripts run alongside them, or something like that. 10 | 11 | ##

    Character Scripts

    12 | You can create one of those by making a Script file alongside your character's XML data file *(``./data/characters/``)*
    13 | In these scripts you don't need to specify the character, since the character becomes the Script's parent. 14 | 15 | Here's an example of a Character Script that makes the character spin..: 16 | ```haxe 17 | function update(elapsed) { 18 | angle += elapsed * 10; 19 | } 20 | ``` 21 | 22 | ##

    Stage Scripts

    23 | Creating one of those also goes next to the Stage XML data file *(``./data/stages/``)*.
    24 | This script also takes the Stage as it's parent, thus not needing to use stage.getSprite(), instead, sprites becomes the variables 25 | 26 | Here's an example: 27 | ```haxe 28 | function postCreate() { 29 | // animatedObject has already been defined in the XML file. 30 | animatedObject.frames = Paths.getFrames("animatedObject"); 31 | animatedObject.animation.addByPrefix("idle", "idle", 24, true); 32 | animatedObject.animation.play("idle"); 33 | } 34 | ``` -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/gameplay-scripts.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to use Gameplay Scripts in your mod! 4 | lastUpdated: 2025-05-02T18:08:41.000Z 5 | title: Gameplay Scripts 6 | --- 7 | # Gameplay Scripts 8 | 9 | ##

    Gameplay scripts run during gameplay *(yep)*

    10 | 11 | You can run Gameplay Scripts in **a song**, by putting the scripts in ``./songs/YOUR SONG/scripts``, or run them in **every song**, by putting them in the ``./songs`` folder itself. 12 | 13 | Gameplay Scripts can change the gameplay in various ways. For example, here's how you can hide the player character: 14 | ```haxe 15 | function create() { 16 | boyfriend.visible = false; 17 | } 18 | ```` 19 | 20 | Or how to create a normal sprite: 21 | 22 | ```haxe 23 | function create() { 24 | var sprite = new FlxSprite(x, y).loadGraphic(Paths.image("my new sprite")); // Picks the PNG image from the ./images folder 25 | } 26 | ``` 27 | 28 | If you notice, this looks slightly like source code, aside from the usual override function or super.create(), which do not exist in our scripting language.
    29 | If you're already familiar with source coding, scripting will feel like a breeze. If not… well… prepare to learn! 30 | 31 | ##

    Particularities

    32 | 33 | ### Accessing characters 34 | 35 | Characters are actually accessed differently. Due to the modularity of having more than one Strumline, and more than one character in a Strumline, characters are accessible like this: 36 | 37 | ```haxe 38 | trace(strumLines.members[0].characters[0]); // Opponent character 39 | trace(strumLines.members[1].characters[0]); // Player character 40 | trace(strumLines.members[2].characters[0]); // Girlfriend character 41 | ``` 42 | 43 | Though we’ve also established a few shortcuts to avoid typing this much code: 44 | 45 | ```haxe 46 | trace(dad); 47 | trace(boyfriend); 48 | trace(gf); 49 | ``` 50 | 51 | ### Replacing `mustHitSection` 52 | 53 | Sections do not exist, and therefore, `mustHitSection` no longer works. As a workaround, you can use `curCameraTarget` instead: 54 | 55 | ```haxe 56 | if (curCameraTarget == 1) // Equivalent to mustHitSection == true 57 | ``` 58 | 59 | ### Difficulty-Based Scripts 60 | 61 | You can also add **Difficulty Based scripts** by placing them in a subfolder named after the difficulty inside the song’s scripts folder.
    62 | For example the scripts inside `songs/dadbattle/scripts/erect/` will only get loaded if the current difficulty is `erect`. 63 | 64 | -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to use PlayState Scripts in your mod! 4 | lastUpdated: 2024-09-01T10:52:51.000Z 5 | title: PlayState Scripts 6 | --- 7 | # PlayState Scripts 8 | PlayState Scripts can do various things, check out these articles: 9 | - Gameplay Scripts 10 | - Events/Notetype Scripts 11 | - Character/Stage Scripts 12 | - Cutscenes/Dialogue Scripts 13 | - Pause/Game Over Scripts 14 | 15 | *(we seriously have nothing to note here)* 16 | -------------------------------------------------------------------------------- /wiki/modding/scripting/playstate-scripts/pause-gameover-scripts.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits & usb_port_2 3 | desc: This page explains how to use Pause and Game Over Scripts in your mod! 4 | lastUpdated: 2024-08-31T18:37:25.000Z 5 | title: Pause and Game Over Scripts 6 | --- 7 | # Pause and Game Over Scripts 8 | 9 | ##

    Pause Scripts

    10 | Pause Scripts can change the pause menu, either entirely or tiny bits of it.
    11 | To use one, you have to load it from a Script *(any script can do, even Song Scripts)*. 12 | ```haxe 13 | PauseSubState.script = 'data/scripts/pause'; 14 | ``` 15 | This code points to the script that can be found in ``./data/scripts/`` and is called ``pause.hx``. 16 | 17 | You can do many things in this script. For example, this is how you can override it and have your own entirely custom pause menu here: 18 | ```haxe 19 | function create(event) { 20 | event.cancel(); 21 | 22 | camera = pauseCam = new FlxCamera(); 23 | pauseCam.bgColor = FlxColor.TRANSPARENT; 24 | FlxG.cameras.add(pauseCam, false); 25 | 26 | // your code here 27 | } 28 | ``` 29 | *(``create``'s event has more parameters than that. Check for All of the script calls, and for calls other than ``create``)*
    30 | This script will prevent the base pause menu from loading and allows you to add whatever you want to it. 31 | 32 | Important functions to use when coding the pause menu: 33 | - close(); - Closes the pause menu, resumes gameplay. 34 | - FlxG.switchState(new PlayState()); - Reloads the state, restarts the song. 35 | 36 | ##

    Game Over Scripts

    37 | Game over scripts work the same as Pause Scripts, though presents some differences. 38 | This is how you load one: 39 | ```haxe 40 | GameOverSubstate.script = "data/scripts/gameover" 41 | ``` 42 | This code points to the script that can be found in ``./data/scripts/`` and is called ``gameover.hx``. 43 | 44 | Here's an example of playing a video when the player dies: 45 | ```haxe 46 | function create(event) { 47 | event.cancel(); // cancels out initializing characters and stuff 48 | 49 | deathVideo = new FlxVideo(); 50 | deathVideo.onEndReached.add(deathVideo.dispose); 51 | var path = Paths.file("videos/death.mp4"); 52 | deathVideo.load(Assets.getPath(path)); 53 | deathVideo.play(); 54 | } 55 | ``` 56 | 57 | ``create``'s event has even more parameters for changing SFX and other stuff. Check for All of the script calls, and for calls other than ``create``. -------------------------------------------------------------------------------- /wiki/modding/scripting/script-snippets.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: This page contains useful script snippets for modders 3 | lastUpdated: 2024-09-02T18:14:26.000Z 4 | title: Script Snippets 5 | --- 6 | # Useful script snippets for modders 7 | Some features don't exist in our engine, luckily, we can script them in! 8 | 9 | ## Song Scripts 10 | 11 | idk bro 12 | 13 | ## Global Scripts 14 | 15 | ## Replace pre-existing states with custom states. 16 | ```haxe 17 | var redirectStates:Map = [ 18 | TitleState => "CustomTitleState" 19 | ]; 20 | 21 | function preStateSwitch() { 22 | for (redirectState in redirectStates.keys()) 23 | if (Std.isOfType(FlxG.game._requestedState, redirectState)) 24 | FlxG.game._requestedState = new ModState(redirectStates.get(redirectState)); 25 | } 26 | ``` 27 | 28 | 50 | 51 | ## to be filled with other snippets -------------------------------------------------------------------------------- /wiki/modding/scripting/scripted-assets-libraries.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: This page explains how to use scripted assets libraries 3 | lastUpdated: 2024-09-10T12:35:22.000Z 4 | title: Scripted Assets Libraries 5 | --- 6 | # Scripted Assets Libraries 7 | 8 | Not documented yet. 9 | 10 | Please read the [source code](https://github.com/CodenameCrew/CodenameEngine/blob/main/source/funkin/backend/assets/ScriptedAssetLibrary.hx) for now. -------------------------------------------------------------------------------- /wiki/modding/scripting/state-substate-scripts.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: This page explains how to modify the engine's states and substates 4 | lastUpdated: 2024-09-05T18:39:28.000Z 5 | title: State/Substate Scripts 6 | --- 7 | # State/Substate Scripts 8 | State/Substate Scripts are scripts that can change any state or substate of the game.
    9 | You can change the Main Menu, the Freeplay Menu and even the Chart Editor. 10 | 11 | ##

    Modifying a pre-existing State/Substate

    12 | 13 | To get started, make a Script in ``./data/states`` and name it corresponding to the state/substate you want to change. 14 | 15 | For example, if you decide to change the Main Menu, make a Script like this ``./data/states/MainMenuState.hx``
    16 | A basic Main Menu modification looks like this: 17 | ```haxe 18 | function postCreate() { 19 | forceCenterX = false; // disable the code that centers the menu buttons. 20 | for (i=>button in menuItems.members) { 21 | button.x += Math.sin(i) * 300; // move buttons 22 | } 23 | } 24 | ``` 25 | This code results in the menu looking like this. 26 | 27 | Image showing the menu buttons being moved 28 | 29 | You can do this with every State/Substate of course, but keep in mind you have to study the state's code first before modifying it. *(you can find the code in Codename Engine's Repository)*
    30 | *Also look for All of the script calls for menu script calls* 31 | 32 | ##

    Creating custom States/Substates

    33 | 34 | You can also create entirely custom ones too! By putting them in the same ``./data/states/`` folder, you create new ModStates/ModSubstates. 35 | 36 | Accessing them is done via this piece of code: 37 | ```haxe 38 | FlxG.switchState(new ModState("MyCustomState")); // assuming we have made a new Script ./data/states/MyCustomState.hx 39 | ``` 40 | or this code 41 | ```haxe 42 | openSubState(new ModSubState("MyCustomSubstate")) // assuming we have made a new Script ./data/states/MyCustomSubstate.hx 43 | ``` 44 | -------------------------------------------------------------------------------- /wiki/modding/songs/Add Camera Zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Add Camera Zoom.png -------------------------------------------------------------------------------- /wiki/modding/songs/Add Camera Zoom.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Add Camera Zoom.webm -------------------------------------------------------------------------------- /wiki/modding/songs/Alt Animation Toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Alt Animation Toggle.png -------------------------------------------------------------------------------- /wiki/modding/songs/Alt Animation Toggle.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Alt Animation Toggle.webm -------------------------------------------------------------------------------- /wiki/modding/songs/BPM Change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/BPM Change.png -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Flash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Flash.png -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Flash.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Flash.webm -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Modulo Change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Modulo Change.png -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Modulo Change.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Modulo Change.webm -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Movement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Movement.png -------------------------------------------------------------------------------- /wiki/modding/songs/Camera Movement.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Camera Movement.webm -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-1.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-10.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-11.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-12.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-13.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-14.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-15.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-16.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-2.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-3.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-4.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-5.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-6.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-7.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-8.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features-9.png -------------------------------------------------------------------------------- /wiki/modding/songs/Chart Editor Features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Chart Editor Features.png -------------------------------------------------------------------------------- /wiki/modding/songs/HScript Call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/HScript Call.png -------------------------------------------------------------------------------- /wiki/modding/songs/Play Animation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Play Animation.png -------------------------------------------------------------------------------- /wiki/modding/songs/Play Animation.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Play Animation.webm -------------------------------------------------------------------------------- /wiki/modding/songs/Scroll Speed Change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Scroll Speed Change.png -------------------------------------------------------------------------------- /wiki/modding/songs/Scroll Speed Change.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/Scroll Speed Change.webm -------------------------------------------------------------------------------- /wiki/modding/songs/displaying-songs.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: BerGP 3 | desc: How to get songs showing in game 4 | title: Displaying Songs 5 | lastUpdated: 2025-02-08T23:45:46.603Z 6 | --- 7 | # Displaying Songs 8 | 9 | ##

    Week Song

    10 | 11 | Simply add a <song> node to your week xml, containing the song name. 12 | 13 | ```xml 14 | song-name 15 | ``` 16 | 17 | *(if you wanna learn more about week xmls, consider taking a read into it)* 18 | 19 | ##

    Freeplay Exclusive

    20 | 21 | Or if you prefer not to use weeks, just create your song normally and it'll automatically appear in freeplay. 22 | 23 | And optionally, you can make use of ``./data/freeplaySonglist.txt``, it follows a similar format to ``./data/weeks/weeks.txt``. 24 | ``` 25 | song-name 26 | other-song 27 | 28 | hot-milk 29 | # This is a comment 30 | ``` 31 | It serves to tell Freeplay what songs to show and in what order. 32 | 33 | You can add comments to the list by using a pound sign (``#``) at the start of the line. 34 | -------------------------------------------------------------------------------- /wiki/modding/songs/index-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index-1.png -------------------------------------------------------------------------------- /wiki/modding/songs/index-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index-2.png -------------------------------------------------------------------------------- /wiki/modding/songs/index-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index-3.png -------------------------------------------------------------------------------- /wiki/modding/songs/index-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index-4.png -------------------------------------------------------------------------------- /wiki/modding/songs/index-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index-5.png -------------------------------------------------------------------------------- /wiki/modding/songs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Frakits 3 | desc: How to make songs. 4 | lastUpdated: 2024-08-26T13:35:32.000Z 5 | title: Creating songs 6 | --- 7 | # Creating Songs. 8 | 9 | Creating songs is very simple, there's currently 2 ways of making them, and we will be focusing on the in-engine way for now. 10 | 11 | ##

    Creating the song itself.

    12 | 13 | Image showing the New Song option in Chart Selection 14 | 15 | Creating a song using the New Song option when entering Chart Editor selection will bring up this menu. This is self-explanatory, just put the song name there, the bpm, time signature, the audio files and you're done here. 16 | (Vocals are optional here but we forgot to fix a bug haha) 17 | 18 | Image showing the menu data section of the New Song option 19 | 20 | Proceeding to the next page after inputting our audio files, we arrive at this. This is where we input our meta data, though also self-explanatory and not much to explain.
    21 | Pressing Save & Close and Congratulations your song has been made! 22 | 23 | ##

    Creating difficulties for the song.

    24 | 25 | Although we have made our song, it's still missing the charts. This is where creating difficulties take place. 26 | 27 | Image showing the Strumline Creation menu 28 | 29 | Upon selecting New Difficulty, after selecting on our newly created song, brings us to this window. Now this looks overwhelming at first, but keep in mind you only have to focus on the top part the most.
    Looking at the top part we can change the difficulty name, the stage and the scroll speed. Once you're done filling those you can proceed with pressing Save & Close, and your difficulty will be created.
    *(If you're curious about the bottom part, see Chart Editor Features)* 30 | 31 | ##

    Opening the chart editor.

    32 | 33 | Image showing the Chart Editor 34 | 35 | Opening the chart editor is done by selecting one of the song's difficulties displayed. After that, you'll be presented with the Chart Editor. After doing the charting work, you can proceed to saving the chart. 36 | 37 | Image showing the file menu 38 | 39 | As you can see, there's a lot of options on how to save the chart, but for now only focus on the first 2 save options. Of course, you get to save without having to deal with a file dialogue, as the engine will automatically save the chart on the correct charts folder.
    While saving normally is highly recommended, we also offer the option to save separately. 40 | 41 | Now that you've learned to make and chart a song, you can proceed to Chart Editor Features, to learn about advanced features. 42 | 43 | ##

    ADDITIONAL. Different audio per difficulty.

    44 | 45 | If you ever wanted to make an erect-esque difficulty, the engine allows for that without scripting it in.
    Simply add the alternative audio files and rename it to have a ``-difficulty`` at the end. (``Voices-difficulty.ogg`` and ``Inst-difficulty.ogg``). 46 | 47 | Image showing the file explorer with 4 files: Inst.ogg, Inst-erect.ogg, Voices.ogg and Voices-erect.ogg -------------------------------------------------------------------------------- /wiki/modding/songs/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodenameCrew/codename-website/be2330670c61c02e48c532cc9b6fad6b8a25142d/wiki/modding/songs/index.png -------------------------------------------------------------------------------- /wiki/modding/stages/stage-extensions.md: -------------------------------------------------------------------------------- 1 | --- 2 | desc: How to make stage extensions. 3 | lastUpdated: 2024-09-19T21:06:37.000Z 4 | title: Stage Extensions 5 | --- 6 | # Stage Extensions 7 | 8 | idk should this be in scripting? 9 | 10 | todo: document this -------------------------------------------------------------------------------- /wiki/modding/weeks/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: BerGP 3 | desc: How to make custom weeks 4 | title: Weeks 5 | lastUpdated: 2025-02-08T23:46:14.246Z 6 | --- 7 | # Creating Weeks 8 | Weeks have to be created manually currently, sorry. 9 | 10 | ##

    The XML

    11 | 12 | Make the xml under ``./data/weeks/weeks/``. This seems complicated but trust me, it's quite easy to learn. 13 | ```xml 14 | 15 | Pico 16 | Philly Nice 17 | Blammed 18 | 19 | ``` 20 | The Week XML above is from Week 3. Your week xml will likely follow a similar format. 21 | 22 | First goes the "parent node", <week>. That's where the options for the week are defined. 23 | ```xml 24 | 25 | ``` 26 | 27 | So far, possible options to set there are: 28 | - ``name``, which updates the title text for the week (usually on the top right in the Story Mode menu) 29 | - ``chars``, which controls what characters are shown when selecting the week *(in the order of ``opponent,boyfriend,girlfriend``, no spaces)*. 30 | - ``sprite``, which tells the engine what image to use for the week button *(has to be at ``menus/storymenu/weeks/``)*. When excluded, the xml filename will be used. 31 | 32 | ##

    weeks.txt

    33 | 34 | There exists an optional text file you can use to sort the weeks. It goes under ``./data/weeks/``. 35 |
    All you gotta do to order the weeks is just type their file names in the order you'd like: 36 | ``` 37 | week4 38 | week2 39 | week6 40 | ``` 41 | This example would order the weeks as Week 4 going first, Week 2 going second and Week 6 being last. 42 | 43 | You can add comments to the list by using a pound sign (``#``) at the start of the line. 44 | 45 | ##

    Song Node (<song>)

    46 | 47 | To make songs appear, you have to type them following this format: 48 | ```xml 49 | song-name 50 | ``` 51 | The example above would make there be a ``song-name`` named song under the songs list. 52 | 53 | *(note that order is important, cause it'll follow in-game)* 54 | 55 | ##

    Difficulty Node (<difficulty>)

    56 | 57 | You do have control over which difficulties your week will have. It's as simple as making a difficulty node for each difficulty: 58 | ```xml 59 | 60 | 61 | 62 | 63 | 64 | ``` 65 | This would make the week have ``easy``, ``normal``, ``hard``, ``erect`` and ``nightmare`` as difficulty options. 66 | 67 | Custom difficulties are also supported. Just remember to have their image at ``menus/storymenu/difficulties/`` with the name in lowercase *(``menus/storymenu/difficulties/erect`` for example)*. -------------------------------------------------------------------------------- /wiki/modding/weeks/week-characters.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: BerGP 3 | desc: How to make custom Story Menu characters. 4 | title: Week Characters 5 | lastUpdated: 2025-02-09T00:10:03.482Z 6 | --- 7 | 8 | # Week Character 9 | Similar to a character, we gotta make a xml to have him displaying nicely. The folder this time is ``./data/weeks/characters/``. 10 | 11 | ##

    XML, The How

    12 | 13 | ```xml 14 | 15 | ``` 16 | 17 | This time it's something more simple. The only node we have here is the "parent" one — <char>. 18 | 19 | The options available are: 20 | - ``scale``, which scaling to apply to the character. Has a default of 1 when excluded. 21 | - ``x``, X offset. Defaults to 0. 22 | - ``y``, Y offset. Also defaults to 0. 23 | - ``sprite``, which spritesheet to use for the character. When excluded, it defaults to ``menus/storymenu/characters/`` + the xml filename. -------------------------------------------------------------------------------- /wiki/troubleshooting.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Ne_Eo 3 | desc: This page explains how to fix common issues. 4 | lastUpdated: 2025-01-08T23:43:42.123Z 5 | title: Troubleshooting 6 | --- 7 | # Troubleshooting 8 | 9 | ##

    My notes are only appearing on the left side of the screen.

    10 | 11 | Open the strumline options and for the bf strumline set the X ratio to 0.75, and for the dad strumline set the X ratio to 0.25. 12 | 13 | ##

    The character editor is buggy.

    14 | 15 | Please have some patience as we are working on fixing the issues that are causing this. 16 | 17 | ##

    Rotating a strum moves the notes.

    18 | 19 | To prevent this behavior, you can do strum.noteAngle = 0; 20 | 21 | ##

    Velocity/Acceleration doesn't move my sprite

    22 | 23 | You need to set `sprite.moves = true;` to make it move, its automatically enabled if you set the property using <property /> on `velocity.x` and `velocity.y` or `acceleration.x` and `acceleration.y` in the stage xml. 24 | 25 | We made it turned off automatically to optimize the game since it's useless to have it running for sprites that don't use it. 26 | 27 | ##

    FlxBar doesn't work

    28 | 29 | This is likely due to you are doing 30 | ```haxe 31 | var variable:Float = 0; 32 | 33 | bar = new FlxBar(x, y, FlxBarFillDirection.LEFT_TO_RIGHT, 400, 20, this, "variable"); 34 | 35 | variable = 50; 36 | ``` 37 | 38 | When you should be doing 39 | ```haxe 40 | var barData = { 41 | variable: 0, 42 | } 43 | 44 | bar = new FlxBar(x, y, FlxBarFillDirection.LEFT_TO_RIGHT, 400, 20, barData, "variable"); // The change was changing `this` to `barData` 45 | 46 | o.variable = 50; 47 | ``` 48 | 49 | The reason this happens is because the `this` variable points to PlayState.instance, instead of what you expect to be the script, and even if you do `__script__` it still sadly won't work since FlxBar doesn't check variables in the script. 50 | 51 | Small tip: if you want the bar to be smooth you should do `bar.unbounded = true;` 52 | 53 | 54 | ##

    Atlas animations don't work

    55 | 56 | This could be due to multiple reasons, but one of the most common ones are that you are using `sprite.animation.play("animation")` instead of `sprite.playAnim("animation")`. 57 | If you are using the raw FlxAnimate class then you need to use `sprite.anim.play("animation")` instead. 58 | 59 | ##

    The "stage" variable doesn't work

    60 | 61 | This could be because you are using a stage xml with a sprite with the name "stage", this issue only happens in the stage script. 62 | 63 | To fix this, rename the sprite to something else. 64 | 65 | ##

    I get a git clone error

    66 | 67 | This is a known issue with the repository, and is being worked on. 68 | 69 | For now you can use the following command to fix it: 70 | 71 | ```txt 72 | git config --global http.postBuffer 524288000 73 | ``` 74 | -------------------------------------------------------------------------------- /wiki/wiki.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["index", "Home"], 3 | ["navigation", "How to navigate the engine"], 4 | ["differences", "Differences between other FNF engines"], 5 | ["faq", "FAQ"], 6 | ["troubleshooting", "Troubleshooting"], 7 | ["modding/index", "Modding The Engine", [ 8 | ["songs/index", "Creating songs", [ 9 | ["editor-features", "Chart Editor Features"], 10 | ["events", "Chart Events"], 11 | ["displaying-songs", "Displaying Songs"] 12 | ]], 13 | ["weeks/index", "Creating weeks", [ 14 | ["week-characters", "Character Creation"] 15 | ]], 16 | ["characters/index", "Creating characters", [ 17 | ["editor-features", "Character Editor Features - UNFINISHED"] 18 | ]], 19 | ["stages/index", "Creating Stages", [ 20 | ["stage-extensions", "Stage Extensions - UNFINISHED"] 21 | ]], 22 | ["making-custom-icons", "Making Custom Icons"], 23 | ["cutscenes-dialogues", "Cutscenes/Dialogues"], 24 | ["note-splashes", "Note Splashes"], 25 | ["scripting/index", "Scripting", [ 26 | ["playstate-scripts/index", "PlayState Scripts", [ 27 | ["gameplay-scripts", "Gameplay Scripts"], 28 | ["events-notetypes-scripts", "Events/Notetype Scripts"], 29 | ["cutscenes-dialogue-scripts", "Cutscenes/Dialogue Scripts"], 30 | ["character-stage-scripts", "Character/Stage Scripts"], 31 | ["pause-gameover-scripts", "Pause/Game Over Scripts"] 32 | ]], 33 | ["state-substate-scripts", "State/Substate Scripts"], 34 | ["global-scripts", "Global Scripts"], 35 | ["shaders", "Shaders"], 36 | ["hxvlc", "Using hxvlc for videos"], 37 | ["custom-options", "Custom Options"], 38 | ["custom-classes", "Custom Classes"], 39 | ["3d-rendering", "3D rendering - UNFINISHED"], 40 | ["script-calls", "All of the script calls - UNFINISHED"], 41 | ["script-snippets", "Useful script snippets for modders - UNFINISHED"], 42 | ["scripted-assets-libraries", "Scripted Assets Libraries - UNFINISHED"], 43 | ["ndll-scripting", "NDLL Scripting - UNFINISHED"], 44 | ["custom-transitions", "Custom Transitions"] 45 | ]], 46 | ["hardcoding/index", "Hardcoding - UNFINISHED"] 47 | ]] 48 | ] --------------------------------------------------------------------------------