Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Celeste 64 Fuji Code Mod Template

This is a Template that can be used to create a code mod for the Celeste 64 Fuji Mod Loader. This template gives you a basic C# project that can be compiled into a code mod which can be loaded by Fuji.

Clone the template

To get started, you may either git clone the template, or click the green "Use this template" button on the repository home page (direct link) to add it as a repository on your GitHub account.

If you do not wish to use git, you can also just download this template project as a zip, and unzip it.

Preparing for code modding

This template is built to not care about where you put it, however there's two things to note:

  1. The most convenient solution is putting the template inside your Fuji installation's Mods folder. This allows your editor to seek out the Celeste64 binary and enables hot reloading with no extra effort on your part.
  2. If you choose to develop elsewhere, then:
  • Set an environment variable FujiDir pointing to the location of a Fuji installation
  • Or, if you feel like it, paste the Celeste64.dll directly into your mod's Source folder.
  • Hot reloading will not work unless you take the care to set up a symlink yourself.

You should also consider renaming the mod folder to something unique representing your mod.

Editing the template

Rename the Source/FujiCodeMod.csproj file to match the name of your mod.

Inside the csproj file, we recommend that you set the AssemblyName property to the name/ID of your mod.

Rename the Source/TemplateGameMod.cs file to a name that better represents your mod (i.e. MyModGameMod.cs). Rename the class inside the file to match it as well.

Delete or Rename the Source/TemplateModSettings.cs file depending on if your mod will have settings to let thee player configure things.

In Fuji.json, edit all of the fields to match the details of your mod.

This file (README.md) may be edited or deleted. By default, it will be excluded from the published version of your mod.

Building and Publishing

To build the mod, build your project (In CLI: dotnet build from the Source folder). You should see the mod DLL pop up in Libraries, and assuming everything's set up correctly, Fuji will hot reload the mod.

To prepare your mod for release, publish your project (In CLI: dotnet publish from the Source folder). This will output a zipped version of your mod that is ready to release. Feel free to rename the zip, and consider looking through the files in the zip to delete any extra files you don't want included.

Tip

If you wish to preserve the source code of the mod when releasing it, pass the PreserveSource property with a value of true. e.g. dotnet publish -property:PreserveSource=true

If you do preserve the source code, the bin, obj, and .vs folders will be removed automatically for you.

By default, the .git folder, the .gitignore file, and the README.md file will also be excluded from your zipped mod after publishing it.

Note: This template is still a work in progress, and may change and evolve over time.

About

Code Mod Template for the Celeste 64 Fuji Mod Loader

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages