PoC i18n
This commit is contained in:
parent
194dcd1a3e
commit
307054e480
20 changed files with 3632 additions and 54 deletions
|
@ -9,7 +9,7 @@ const md = require('@vuepress/markdown')({
|
||||||
});
|
});
|
||||||
|
|
||||||
const themePlugins = require(path.join(__dirname, '../site/.vuepress/data/themePlugins.json'));
|
const themePlugins = require(path.join(__dirname, '../site/.vuepress/data/themePlugins.json'));
|
||||||
const locales = require(path.join(__dirname, '../site/.vuepress/data/locales.json'));
|
const locales = require(path.join(__dirname, '../site/.vuepress/i18n/locales.json'));
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
const JSON_FILE_PATH = path.join(__dirname, '../site/.vuepress/data/gameVersions.json');
|
const JSON_FILE_PATH = path.join(__dirname, '../site/.vuepress/data/gameVersions.json');
|
||||||
|
|
|
@ -1,30 +1,45 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<h3 v-if="anchor" :id="headerId">
|
<h3>{{ translatedCode.title }}</h3>
|
||||||
<a :href="`#${headerId}`" class="header-anchor">#</a>
|
|
||||||
{{ code.title }}
|
|
||||||
</h3>
|
|
||||||
<h3 v-else>{{ code.title }}</h3>
|
|
||||||
<div class="metadata">
|
<div class="metadata">
|
||||||
<span>Version: {{ code.version }} ({{ code.date }})</span>
|
<span
|
||||||
<span v-if="code.author.includes(',')">Authors: {{ code.author }}</span>
|
>{{ getLabel('codeinfo.version') }} {{ translatedCode.version }} ({{
|
||||||
<span v-else>Author: {{ code.author }}</span>
|
translatedCode.date
|
||||||
|
}})</span
|
||||||
|
>
|
||||||
|
<span v-if="code.author.includes(',')"
|
||||||
|
>{{ getLabel('codeinfo.authors') }} {{ translatedCode.author }}</span
|
||||||
|
>
|
||||||
|
<span v-else>{{ getLabel('codeinfo.author') }} {{ translatedCode.author }}</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="description" v-html="code.description"></p>
|
<p class="description" v-html="translatedCode.description"></p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import locales from '../i18n/locales.json';
|
||||||
|
import { translate, translateCode } from '../i18n/localeHelper';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
anchor: { type: Boolean },
|
anchor: { type: Boolean },
|
||||||
code: { type: Object },
|
code: { type: Object },
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
code: function () {
|
||||||
|
this.translatedCode = translateCode(this.code);
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
headerId: this.code.title.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-'),
|
translatedCode: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
getLabel(key) {
|
||||||
|
return translate(key, this.$lang);
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,14 @@
|
||||||
@click="toggle(code)"
|
@click="toggle(code)"
|
||||||
@mouseover="inspect(code)"
|
@mouseover="inspect(code)"
|
||||||
>
|
>
|
||||||
{{ code.title }}
|
{{ getCodeTitle(code) }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { translateCode } from '../i18n/localeHelper';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
codes: { type: Array },
|
codes: { type: Array },
|
||||||
|
@ -32,6 +34,9 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getCodeTitle(code) {
|
||||||
|
return translateCode(code, this.$lang).title;
|
||||||
|
},
|
||||||
toggle(code) {
|
toggle(code) {
|
||||||
code.selected = !code.selected;
|
code.selected = !code.selected;
|
||||||
this.onSelectionChanged(this.availableCodes.filter((c) => c.selected));
|
this.onSelectionChanged(this.availableCodes.filter((c) => c.selected));
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
<div>
|
<div>
|
||||||
<section class="config">
|
<section class="config">
|
||||||
<div>
|
<div>
|
||||||
<span>Game Version:</span>
|
<span>{{ getLabel('generatorconfig.gameversion') }}</span>
|
||||||
<VersionSelect :onChange="onVersionChanged" :selectedValue="selectedVersion" />
|
<VersionSelect :onChange="onVersionChanged" :selectedValue="selectedVersion" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>Download Format:</span>
|
<span>{{ getLabel('generatorconfig.downloadformat') }}</span>
|
||||||
<FormatSelect :onChange="onFormatChanged" :selectedValue="selectedFormat" />
|
<FormatSelect :onChange="onFormatChanged" :selectedValue="selectedFormat" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>Use Stage Loader:</span>
|
<span>{{ getLabel('generatorconfig.usestageloader') }}</span>
|
||||||
<SelectComponent
|
<SelectComponent
|
||||||
:options="useStageLoaderOptions"
|
:options="useStageLoaderOptions"
|
||||||
:onChange="onStageLoaderChanged"
|
:onChange="onStageLoaderChanged"
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>Download:</span>
|
<span>{{ getLabel('common.download') }}</span>
|
||||||
<DownloadButton
|
<DownloadButton
|
||||||
:codes="selectedCheats"
|
:codes="selectedCheats"
|
||||||
:stageLoaderCode="selectedStageLoader"
|
:stageLoaderCode="selectedStageLoader"
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<hr />
|
<hr />
|
||||||
<section>
|
<section>
|
||||||
<div v-if="codes && codes.length > 0">
|
<div v-if="codes && codes.length > 0">
|
||||||
<h3>Available Codes</h3>
|
<h3>{{ getLabel('headers.codelist') }}</h3>
|
||||||
<CodeList
|
<CodeList
|
||||||
:codes="codes"
|
:codes="codes"
|
||||||
:onSelectionChanged="onCheatSelectionChanged"
|
:onSelectionChanged="onCheatSelectionChanged"
|
||||||
|
@ -39,45 +39,41 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="prevent-shrink" v-if="codes && codes.length > 0 && useStageLoader">
|
<div class="prevent-shrink" v-if="codes && codes.length > 0 && useStageLoader">
|
||||||
<h3>Stage Loader</h3>
|
<h3>{{ getLabel('headers.stageloader') }}</h3>
|
||||||
<StageLoader :fastCodes="stageLoaderCodes" :onChange="onStageLoaderCodeChanged" />
|
<StageLoader :fastCodes="stageLoaderCodes" :onChange="onStageLoaderCodeChanged" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="codes && codes.length > 0" class="help">
|
<div v-if="codes && codes.length > 0" class="help">
|
||||||
<h3>Help</h3>
|
<h3>{{ getLabel('headers.help') }}</h3>
|
||||||
<CodeInfo v-if="!!inspectingCode" :code="inspectingCode" />
|
<CodeInfo v-if="!!inspectingCode" :code="inspectingCode" />
|
||||||
<div v-else>Select your codes from the list on the left.</div>
|
<div v-else>{{ getLabel('misc.defaulthelpmessage') }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="selectedVersion == null" class="help">
|
<div v-if="selectedVersion == null" class="help">
|
||||||
<h1>Super Mario Sunshine Practice File Generator</h1>
|
<h1>{{ getLabel('landingpage.title') }}</h1>
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p v-html="getLabel('landingpage.summary')" />
|
||||||
This is a cheatfile generator for Super Mario Sunshine speedrun practice. If this is
|
|
||||||
your first time using the generator we highly recommend to check out the
|
|
||||||
<a href="/guide.html" target="_blank">guide</a> first. Visit the
|
|
||||||
<a href="/guide.html#troubleshooting" target="_blank">the troubleshooting section</a>
|
|
||||||
if you encounter any issues.
|
|
||||||
</p>
|
|
||||||
<div>
|
<div>
|
||||||
<h3>The SMS Speedrunning Community</h3>
|
<h3>{{ getLabel('landingpage.community') }}</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://discord.gg/9dGJWEc" target="_blank" rel="noopener">Discord</a>
|
<a href="https://discord.gg/9dGJWEc" target="_blank" rel="noopener">{{
|
||||||
|
getLabel('landingpage.links.discord')
|
||||||
|
}}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://speedrun.com/sms" target="_blank" rel="noopener"
|
<a href="https://speedrun.com/sms" target="_blank" rel="noopener">{{
|
||||||
>Speedrun.com Leaderboards</a
|
getLabel('landingpage.links.src')
|
||||||
>
|
}}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://twitter.com/SMSCommunity" target="_blank" rel="noopener"
|
<a href="https://twitter.com/SMSCommunity" target="_blank" rel="noopener">{{
|
||||||
>Twitter: @SMSCommunity</a
|
getLabel('landingpage.links.twitter')
|
||||||
>
|
}}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.twitch.tv/SunshineCommunity" target="_blank" rel="noopener"
|
<a href="https://www.twitch.tv/SunshineCommunity" target="_blank" rel="noopener">{{
|
||||||
>Twitch: SunshineCommunity</a
|
getLabel('landingpage.links.twitch')
|
||||||
>
|
}}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -122,6 +118,8 @@ import DownloadButton from './DownloadButton';
|
||||||
// Data
|
// Data
|
||||||
import gameVersions from '../data/gameVersions.json';
|
import gameVersions from '../data/gameVersions.json';
|
||||||
|
|
||||||
|
import { translate } from '../i18n/localeHelper';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -139,7 +137,13 @@ export default {
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
console.log('Hello', this.$lang);
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getLabel(key) {
|
||||||
|
return translate(key, this.$lang);
|
||||||
|
},
|
||||||
onVersionChanged(e) {
|
onVersionChanged(e) {
|
||||||
this.selectedVersion = e;
|
this.selectedVersion = e;
|
||||||
this.selectedCheats = [];
|
this.selectedCheats = [];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<span>Remove Dialogue:</span>
|
<span>{{ getLabel('stageloader.removedialogue.label') }}</span>
|
||||||
<SelectComponent
|
<SelectComponent
|
||||||
:options="removeDialogueOptions"
|
:options="removeDialogueOptions"
|
||||||
:onChange="onRemoveDialogueSelectionChanged"
|
:onChange="onRemoveDialogueSelectionChanged"
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<span>Skippable FMVs:</span>
|
<span>{{ getLabel('stageloader.skippablefmvs.label') }}</span>
|
||||||
<SelectComponent
|
<SelectComponent
|
||||||
:options="skippableFMVsOptions"
|
:options="skippableFMVsOptions"
|
||||||
:onChange="onSkippableFMVsSelectionChanged"
|
:onChange="onSkippableFMVsSelectionChanged"
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<span>Level Order:</span>
|
<span>{{ getLabel('stageloader.levelorder.label') }}</span>
|
||||||
<SelectComponent
|
<SelectComponent
|
||||||
:options="levelOrderOptions"
|
:options="levelOrderOptions"
|
||||||
:onChange="onLevelOrderSelectionChanged"
|
:onChange="onLevelOrderSelectionChanged"
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<span>Post Game:</span>
|
<span>{{ getLabel('stageloader.postgame.label') }}</span>
|
||||||
<SelectComponent
|
<SelectComponent
|
||||||
:disabled="levelOrderSelection === 'random'"
|
:disabled="levelOrderSelection === 'random'"
|
||||||
:options="postGameOptions"
|
:options="postGameOptions"
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<span>Route:</span>
|
<span>{{ getLabel('stageloader.route') }}</span>
|
||||||
<ul class="level-select">
|
<ul class="level-select">
|
||||||
<draggable
|
<draggable
|
||||||
v-model="selectedRoute"
|
v-model="selectedRoute"
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<div class="config">
|
<div class="config">
|
||||||
<div class="sub">
|
<div class="sub">
|
||||||
<GroupSelectComponent
|
<GroupSelectComponent
|
||||||
placeholder="Choose a level.."
|
:placeholder="getLabel('stageloader.levelselectplaceholder')"
|
||||||
:optGroups="stageLoaderLevelOptions"
|
:optGroups="stageLoaderLevelOptions"
|
||||||
:onChange="onStageLoaderLevelSelected"
|
:onChange="onStageLoaderLevelSelected"
|
||||||
selectedValue="placeholder"
|
selectedValue="placeholder"
|
||||||
|
@ -69,11 +69,11 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="sub">
|
<div class="sub">
|
||||||
<ButtonComponent label="Clear List" :onClick="onClearList" />
|
<ButtonComponent :label="getLabel('stageloader.clear')" :onClick="onClearList" />
|
||||||
</div>
|
</div>
|
||||||
<div class="sub">
|
<div class="sub">
|
||||||
<GroupSelectComponent
|
<GroupSelectComponent
|
||||||
placeholder="Load a preset.."
|
:placeholder="getLabel('stageloader.loadpresetplaceholder')"
|
||||||
:optGroups="stageLoaderPresetOptions"
|
:optGroups="stageLoaderPresetOptions"
|
||||||
:onChange="onStageLoaderPresetSelected"
|
:onChange="onStageLoaderPresetSelected"
|
||||||
selectedValue="placeholder"
|
selectedValue="placeholder"
|
||||||
|
@ -96,6 +96,7 @@ import stageLoaderPresets from '../data/stageLoaderPresets.json';
|
||||||
|
|
||||||
// Util
|
// Util
|
||||||
import generateStageLoaderCode from './scripts/generateStageLoadercode';
|
import generateStageLoaderCode from './scripts/generateStageLoadercode';
|
||||||
|
import { translate } from '../i18n/localeHelper';
|
||||||
|
|
||||||
// Lib
|
// Lib
|
||||||
import draggable from 'vuedraggable';
|
import draggable from 'vuedraggable';
|
||||||
|
@ -148,6 +149,9 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getLabel(key) {
|
||||||
|
return translate(key, this.$lang);
|
||||||
|
},
|
||||||
onRemoveDialogueSelectionChanged(e) {
|
onRemoveDialogueSelectionChanged(e) {
|
||||||
this.removeDialogSelection = e;
|
this.removeDialogSelection = e;
|
||||||
this.updateCode();
|
this.updateCode();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const { description } = require('../../package');
|
const { description } = require('../../package');
|
||||||
const themePlugins = require('./data/themePlugins.json');
|
const themePlugins = require('./data/themePlugins.json');
|
||||||
const locales = require('./data/locales.json');
|
const locales = require('./i18n/locales.json');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
title: 'GCT Generator',
|
title: 'GCT Generator',
|
||||||
|
|
File diff suppressed because it is too large
Load diff
47
site/.vuepress/i18n/de-CH.json
Normal file
47
site/.vuepress/i18n/de-CH.json
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
"help": "Hilfe",
|
||||||
|
"download": "Herunterladen",
|
||||||
|
"codeinfo": {
|
||||||
|
"author": "Autor:",
|
||||||
|
"authors": "Autoren:",
|
||||||
|
"version": "Version:"
|
||||||
|
},
|
||||||
|
"generatorconfig": {
|
||||||
|
"gameversion": "Spiel-Version:",
|
||||||
|
"downloadformat": "Download Format:",
|
||||||
|
"usestageloader": "Stage Loader verwenden:"
|
||||||
|
},
|
||||||
|
"landingpage": {
|
||||||
|
"title": "Super Mario Sunshine Practice File Generator",
|
||||||
|
"summary": "This is a cheatfile generator for Super Mario Sunshine speedrun practice. If this is your first time using the generator we highly recommend to check out the <a href='/guide.html' target='_blank'>guide</a> first. Visit the <a href='/guide.html#troubleshooting' target='_blank'>the troubleshooting section</a> if you encounter any issues.",
|
||||||
|
"community": "Die SMS Speedrunning Community",
|
||||||
|
"links": {
|
||||||
|
"discord": "Discord",
|
||||||
|
"twitter": "Twitter: @SMSCommunity",
|
||||||
|
"twitch": "Twitch: SunshineCommunity",
|
||||||
|
"src": "Speedrun.com Ranglisten"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stageloader": {
|
||||||
|
"levelorder": {
|
||||||
|
"label": "Level Reihenfolge:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"removedialogue": {
|
||||||
|
"label": "Dialoge entfernen:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"skippablefmvs": {
|
||||||
|
"label": "Überspringbare FMVs:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"postgame": {
|
||||||
|
"label": "Nach der Route:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"levelselectplaceholder": "Wähle ein Level..",
|
||||||
|
"loadpresetplaceholder": "Lade eine Vorlage..",
|
||||||
|
"route": "Route",
|
||||||
|
"clear": "Liste leeren"
|
||||||
|
}
|
||||||
|
}
|
56
site/.vuepress/i18n/en-US.json
Normal file
56
site/.vuepress/i18n/en-US.json
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
"common": {
|
||||||
|
"download": "Download"
|
||||||
|
},
|
||||||
|
"headers": {
|
||||||
|
"codelist": "Available Codes",
|
||||||
|
"help": "Help",
|
||||||
|
"stageloader": "Stage Loader"
|
||||||
|
},
|
||||||
|
"codeinfo": {
|
||||||
|
"author": "Author:",
|
||||||
|
"authors": "Authors:",
|
||||||
|
"version": "Version:"
|
||||||
|
},
|
||||||
|
"generatorconfig": {
|
||||||
|
"gameversion": "Game Version:",
|
||||||
|
"downloadformat": "Download Format:",
|
||||||
|
"usestageloader": "Use Stage Loader"
|
||||||
|
},
|
||||||
|
"landingpage": {
|
||||||
|
"title": "Super Mario Sunshine Practice File Generator",
|
||||||
|
"summary": "This is a cheatfile generator for Super Mario Sunshine speedrun practice. If this is your first time using the generator we highly recommend to check out the <a href='/guide.html' target='_blank'>guide</a> first. Visit the <a href='/guide.html#troubleshooting' target='_blank'>the troubleshooting section</a> if you encounter any issues.",
|
||||||
|
"community": "The SMS Speedrunning Community",
|
||||||
|
"links": {
|
||||||
|
"discord": "Discord",
|
||||||
|
"twitter": "Twitter: @SMSCommunity",
|
||||||
|
"twitch": "Twitch: SunshineCommunity",
|
||||||
|
"src": "Speedrun.com Leaderboards"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stageloader": {
|
||||||
|
"levelorder": {
|
||||||
|
"label": "Level Order",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"removedialogue": {
|
||||||
|
"label": "Remove Dialogue:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"skippablefmvs": {
|
||||||
|
"label": "Skippable FMVs:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"postgame": {
|
||||||
|
"label": "Post-Game:",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"levelselectplaceholder": "Choose a level..",
|
||||||
|
"loadpresetplaceholder": "Load a preset..",
|
||||||
|
"route": "Route",
|
||||||
|
"clear": "Clear List"
|
||||||
|
},
|
||||||
|
"misc": {
|
||||||
|
"defaulthelpmessage": "Select your codes from the list on the left"
|
||||||
|
}
|
||||||
|
}
|
59
site/.vuepress/i18n/localeHelper.js
Normal file
59
site/.vuepress/i18n/localeHelper.js
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
import enUS from './en-US.json';
|
||||||
|
import deCH from './de-CH.json';
|
||||||
|
|
||||||
|
const translations = {
|
||||||
|
enUS,
|
||||||
|
deCH,
|
||||||
|
};
|
||||||
|
|
||||||
|
const getNestedProp = (obj, path) => {
|
||||||
|
const props = path.split('.');
|
||||||
|
|
||||||
|
try {
|
||||||
|
let currentProp = obj[props[0]];
|
||||||
|
|
||||||
|
for (let i = 1; i < props.length; i++) {
|
||||||
|
currentProp = currentProp[props[i]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return currentProp;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const translateCodeProp = (code, prop, locale, fallbackLocale, html = false) => {
|
||||||
|
const targetProp = html ? 'html' : 'content';
|
||||||
|
const title = code[prop].find((t) => t.lang === locale);
|
||||||
|
const fallbackTitle = code[prop].find((t) => t.lang === fallbackLocale);
|
||||||
|
|
||||||
|
if (title && title[targetProp]) code[prop] = title[targetProp];
|
||||||
|
else if (fallbackTitle && fallbackTitle[targetProp]) code[prop] = fallbackTitle[targetProp];
|
||||||
|
else code[prop] = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
const translateInternal = (identifier, locale) => {
|
||||||
|
if (locale) {
|
||||||
|
const localeId = locale.replace('-', '');
|
||||||
|
if (translations[localeId] != null) {
|
||||||
|
const translatedAttribute = getNestedProp(translations[localeId], identifier);
|
||||||
|
if (translatedAttribute) return translatedAttribute;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const translate = (identifier, locale, fallbackLocale = 'en-US') => {
|
||||||
|
const translatedAttribute = translateInternal(identifier, locale);
|
||||||
|
if (translatedAttribute) return translatedAttribute;
|
||||||
|
return translateInternal(identifier, fallbackLocale);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const translateCode = (code, locale, fallbackLocale = 'en-US') => {
|
||||||
|
const cpy = {};
|
||||||
|
Object.assign(cpy, code);
|
||||||
|
|
||||||
|
translateCodeProp(cpy, 'title', locale, fallbackLocale);
|
||||||
|
translateCodeProp(cpy, 'description', locale, fallbackLocale, true);
|
||||||
|
return cpy;
|
||||||
|
};
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
"/": {
|
"/": {
|
||||||
"fallback": "true",
|
|
||||||
"lang": "en-US",
|
"lang": "en-US",
|
||||||
"title": "GCT Generator",
|
"title": "GCT Generator",
|
||||||
"nav": [
|
"nav": [
|
|
@ -8,3 +8,189 @@ editLink: false
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage randomizer and the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Authors: Ralf, Psychonauter_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Stage Randomizer (Experimental)
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 11, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in randomized order. This code is not compatible with the Level Select or Fast Any% code.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -12,3 +12,182 @@ This site refers to version 1.0 of the NTSC-J release. For version 1.1 [click th
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a non-Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, ParadoxKarl, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Authors: Ralf, Psychonauter_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -12,3 +12,182 @@ This site refers to version 1.1 of the NTSC-J release. For version 1.0 [click th
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a non-Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Jan 17, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, ParadoxKarl, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 18, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Ralf, Noki Doki_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -8,3 +8,182 @@ editLink: false
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Author: Unknown_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Author: Ralf_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
editLink: false
|
editLink: false
|
||||||
---
|
---
|
||||||
|
|
||||||
# Code Reference
|
# Code Referenz
|
||||||
|
|
||||||
<VersionCards />
|
<VersionCards />
|
||||||
|
|
|
@ -8,3 +8,174 @@ editLink: false
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Funktionen
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
D-Pad Funktionen
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage randomizer and the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Authors: Ralf, Psychonauter_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Stage Randomizer (Experimental)
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 11, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in randomized order. This code is not compatible with the Level Select or Fast Any% code.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -12,3 +12,182 @@ This site refers to version 1.0 of the NTSC-J release. For version 1.1 [click th
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a non-Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, ParadoxKarl, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Authors: Ralf, Psychonauter_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -12,3 +12,182 @@ This site refers to version 1.1 of the NTSC-J release. For version 1.0 [click th
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Authors: Unknown, Noki Doki_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a non-Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Jan 17, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, ParadoxKarl, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 18, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 17, 2018)_
|
||||||
|
_Authors: Ralf, Noki Doki_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
|
@ -8,3 +8,182 @@ editLink: false
|
||||||
## List of available codes
|
## List of available codes
|
||||||
|
|
||||||
<!-- injectionpoint -->
|
<!-- injectionpoint -->
|
||||||
|
|
||||||
|
### Any Fruit Opens Yoshi Eggs
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2018)_
|
||||||
|
_Author: Unknown_
|
||||||
|
|
||||||
|
Allows opening Yoshi eggs with a different fruit than the one depicted.
|
||||||
|
|
||||||
|
### DPad Functions
|
||||||
|
|
||||||
|
_Version: 2.5 (Apr 3, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57_
|
||||||
|
|
||||||
|
Allows various game modifications through a set of button combinations:
|
||||||
|
|
||||||
|
| Combination | Result |
|
||||||
|
| --------------- | ------------------------------------------- |
|
||||||
|
| D-Pad Left | Save Mario's current position |
|
||||||
|
| D-Pad Right | Load Mario's position |
|
||||||
|
| D-Pad Up | Replace all dialog with a single "!!!" line |
|
||||||
|
| D-Pad Down | Restore Dialog Boxes |
|
||||||
|
| B + D-Pad Left | Lock Rocket Nozzle |
|
||||||
|
| B + D-Pad Right | Lock Turbo Nozzle |
|
||||||
|
| B + D-Pad Up | Lock Hover Nozzle |
|
||||||
|
| B + D-Pad Down | Release Nozzle Lock |
|
||||||
|
| X + D-Pad Left | No FLUDD in secrets |
|
||||||
|
| X + D-Pad Right | FLUDD in all secrets |
|
||||||
|
| X + D-Pad Down | FLUDD in completed secrets (default) |
|
||||||
|
| X + D-Pad Up | Regrab last held object |
|
||||||
|
|
||||||
|
### Disable Blue Coin Flag
|
||||||
|
|
||||||
|
_Version: 1.1 (Sep 05, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.
|
||||||
|
|
||||||
|
### Enable Exit Area Everywhere
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 30, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enables 'Exit Area' on Plaza and Airstrip.
|
||||||
|
|
||||||
|
### FMV Skips
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 20, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Allows skipping FMVs without having to watch them once first.
|
||||||
|
|
||||||
|
### Fast Any%
|
||||||
|
|
||||||
|
_Version: 1.4 (Feb 16, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Loads stages in any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes). This code is not compatible with the Level Select or Stage Loader code.
|
||||||
|
|
||||||
|
### Fix Memory Card Encoding
|
||||||
|
|
||||||
|
_Version: 2.0 (Jun 25, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Enable this if your Nintendont saves do not work on your other loader (e.g. Gecko OS on a Japanese console).
|
||||||
|
|
||||||
|
### Force Plaza Events
|
||||||
|
|
||||||
|
_Version: 1.0 (Mar 8, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded. Nozzle unlock events take precedence over Yoshi's if their conditions are met.
|
||||||
|
|
||||||
|
### Free Pause
|
||||||
|
|
||||||
|
_Version: 1.1 (Nov 12, 2017)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows you to pause mid-air and during cutscenes.
|
||||||
|
|
||||||
|
### Infinite Juice
|
||||||
|
|
||||||
|
_Version: 1.0 (Apr 5, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents Yoshi from despawning by running out of juice.
|
||||||
|
|
||||||
|
### Infinite Lives
|
||||||
|
|
||||||
|
_Version: 2.0 (Feb 28, 2020)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Prevents the life counter from decreasing.
|
||||||
|
|
||||||
|
### Intro skip
|
||||||
|
|
||||||
|
_Version: 1.0 (Jun 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.
|
||||||
|
|
||||||
|
### Level Select
|
||||||
|
|
||||||
|
_Version: 1.14 (May 8, 2020)_
|
||||||
|
_Authors: Psychonauter, Dan Salvato, Noki Doki_
|
||||||
|
|
||||||
|
Allows warping to other levels when starting a file or when exiting level by holding the combination until the screen turns black.
|
||||||
|
This code is not compatible with the Fast Any%, Stage Loader or Stage Randomizer code.
|
||||||
|
|
||||||
|
Codes:
|
||||||
|
|
||||||
|
![Level Select Combinations](/img/levelselect.png){width=500}
|
||||||
|
|
||||||
|
### Mute Background Music
|
||||||
|
|
||||||
|
_Version: 1.0 (Jan 28, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Mutes background music, but keeps SFX on.
|
||||||
|
|
||||||
|
### Position/angle/speed display
|
||||||
|
|
||||||
|
_Version: 1.3 (Oct 28, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Shows Mario's position, angle and speed at any given time.
|
||||||
|
|
||||||
|
### Remove Save Boxes
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 02, 2017)_
|
||||||
|
_Author: Psychonauter_
|
||||||
|
|
||||||
|
Removes all saveboxes.
|
||||||
|
|
||||||
|
### Replace Episode names with their ID
|
||||||
|
|
||||||
|
_Version: 1.1 (Feb 13, 2018)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)
|
||||||
|
|
||||||
|
### Respawn One-Time Shines
|
||||||
|
|
||||||
|
_Version: 1.0 (Aug 19, 2019)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.
|
||||||
|
|
||||||
|
### Shine Get Timer
|
||||||
|
|
||||||
|
_Version: 2.0 (Oct 11, 2019)_
|
||||||
|
_Authors: Psychonauter, Noki Doki_
|
||||||
|
|
||||||
|
Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).
|
||||||
|
The timer pauses during loading times.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Requires the Level Select code, Fast Any% or Stage Loader to be active.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Shine Outfit
|
||||||
|
|
||||||
|
_Version: 1.0 (Oct 23, 2017)_
|
||||||
|
_Author: Ralf_
|
||||||
|
|
||||||
|
Always wear shine outfit and sunglasses.
|
||||||
|
|
||||||
|
### Unlock Nozzles
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 12, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks all nozzle boxes.
|
||||||
|
|
||||||
|
### Unlock Yoshi
|
||||||
|
|
||||||
|
_Version: 1.0 (Feb 10, 2018)_
|
||||||
|
_Author: Noki Doki_
|
||||||
|
|
||||||
|
Unlocks Yoshi everywhere.
|
||||||
|
|
Loading…
Reference in a new issue