diff --git a/Codes.xml b/Codes.xml index bec9abd..af05e21 100644 --- a/Codes.xml +++ b/Codes.xml @@ -4348,4 +4348,257 @@ 041B4CF4 4800004C + + qol + recommended + Pattern Selector + パターン選択 + sup39[サポミク] + 0.1.3 + Feb 06, 2022 + + ![Preview](/img/PatternSelector/preview.jpg) + + Ⓑ is the cursor to select the pattern, + and the three digits are the numbers representing the pattern. + See [#Pattern](#pattern) for more information. + + | Combination | Result | + |---------------|-------------------------------------------------| + |L + D-Pad Left |Move cursor(Ⓑ) one digit to the left | + |L + D-Pad Right|Move cursor(Ⓑ) one digit to the right | + |L + D-Pad Up |Increase the number at the right of the cursor(Ⓑ)| + |L + D-Pad Down |Decrease the number at the right of the cursor(Ⓑ)| + + When the cursor(Ⓑ) is not shown, you can press L+D-Pad Left/Right to make it appear. + + ## Pattern {#pattern} + ### Chain Chomp (PV4) + + Use the [1st digit]{.emph} to select the pattern. The 2nd and 3rd are ignored. + + |1st digit|Direction at the beginning| + |:-------:|:------------------------:| + | 1 | ← | + | 2 | ↑ | + | 3 | → | + | o.w. | Random | + + ### Chain Chomplets (PV1) + Each digit represents the pattern of each Chain Chomplet. + Numbers not on the graph (e.g. 0) mean random. + + #### 1st digit + %object[]{data="/img/PatternSelector/PV1-1.svg"} + + #### 2nd digit + %object[]{data="/img/PatternSelector/PV1-2.svg"} + + #### 3rd digit + %object[]{data="/img/PatternSelector/PV1-3.svg"} + + + ![プレビュー](/img/PatternSelector/preview.jpg) + + Ⓑはパターンを選択するためのカーソルであり、三つの数字はパターンの番号を表します。 + 各パターンの番号は[#パターン](#pattern)を参照してください。 + + | ボタン | 動作 | + |--------------|------------------------------| + |L + 十字キー左|カーソル(Ⓑ)を左一桁に移動 | + |L + 十字キー右|カーソル(Ⓑ)を右一桁に移動 | + |L + 十字キー上|カーソル(Ⓑ)の右の数字を1増やす| + |L + 十字キー下|カーソル(Ⓑ)の右の数字を1減らす| + + カーソル(Ⓑ)が表示されない時、L+十字キー左/右を押せば出てきます。 + + ## パターン {#pattern} + ### ワンワン(PV4) + + [1桁目]{.emph}でパターンを選択します。2桁目と3桁目は無視されます。 + + | 1桁目 | 最初の向き | + |:-------:|:----------:| + | 1 | ← | + | 2 | ↑ | + | 3 | → | + | その他 | ランダム | + + ### キャンキャン(PV1) + 各桁は各キャンキャンのパターンを表します。図上にない数字(例えば0)はランダムを表します。 + + #### 1桁目 + %object[]{data="/img/PatternSelector/PV1-1.svg"} + + #### 2桁目 + %object[]{data="/img/PatternSelector/PV1-2.svg"} + + #### 3桁目 + %object[]{data="/img/PatternSelector/PV1-3.svg"} + + + + 077F0238 00000114 + 9421FED8 7C0802A6 + BF810118 7C7F1B78 + 9001012C 7C9E2378 + 90C100B8 7CBD2B78 + 90E100BC 7D1C4378 + 912100C0 914100C4 + 40860024 D82100C8 + D84100D0 D86100D8 + D88100E0 D8A100E8 + D8C100F0 D8E100F8 + D9010100 39200600 + 390100BC B12100A0 + 39210130 912100A4 + 392100A8 912100A8 + 808D97F8 38E100B8 + 7FA6EB78 38A00000 + 38610008 6FDE8000 + 4A826AF5 3D204330 + 91210108 3D40817F + 93C1010C 6FFF8000 + C00A0348 38610070 + C9810108 91210110 + 3D20817F 93E10114 + FC4C0028 C0690344 + C9810110 93A10064 + FC2C0028 93A10060 + 4A8A43E9 38800000 + 38610070 4A8BD419 + 38C100A0 7F85E378 + 388000FF 38610008 + 4A826951 38610008 + 38210128 BB81FFF0 + 80010004 7C0803A6 + 4A826AEC 00000000 + 59800004 00000000 + + 0420675C 495F2A79 + 0424F32C 495A9CED + 077F9018 000003BA + 81460000 3D20803E + 392987C0 7C0A4800 + 40A20124 81260004 + 89290013 28090031 + 418200C4 28090032 + 4182003C 28090030 + 40A2007C 2C040021 + 3D208180 89299001 + 41820094 2C040026 + 4182006C 2C04001D + 40A2005C 28090003 + 41820144 28090004 + 48000048 2C04001D + 3D208180 89299000 + 4182002C 2C040021 + 40820034 28090001 + 41820114 3929FFFE + 5529063E 28090001 + 4181001C 38600020 + 4E800020 28090002 + 418200FC 28090003 + 418200FC 38C0FFFF + 4AA6715C 28090001 + 418200D4 3929FFFE + 5529063E 28090002 + 41A1FFE4 38600025 + 4E800020 28090002 + 418200BC 3929FFFD + 4BFFFFA8 2C040002 + 3D208180 89299002 + 4182002C 2C040008 + 40A2FFB4 28090001 + 418200AC 3929FFFE + 5529063E 28090001 + 41A1FF9C 38600007 + 4E800020 28090002 + 41820094 28090003 + 40A2FF84 38600001 + 4E800020 3D20803E + 3929A9C0 7C0A4800 + 4082FF6C 2C05FFFF + 40A2FF64 3D208180 + 89499000 2C0A0000 + 41A2FF54 39200003 + 3860001E 7D2A4B96 + 1D290003 7D295050 + 28090001 4D820020 + 28090002 38600020 + 4C820020 3860006E + 4E800020 38600050 + 4E800020 38600045 + 4E800020 38600062 + 4E800020 3860001C + 4E800020 38600051 + 4E800020 38600036 + 4E800020 9421FFE0 + 7C0802A6 BFC10018 + 7C7E1B78 90010024 + 4A83C041 3D208040 + A3E90D50 3D208180 + 281F0041 40A2007C + 3D408180 A14A9010 + 714A0041 2C0A0041 + 41820014 8949900C + 394A0003 554A07BE + 9949900C 281F0044 + 8909900C 408200D0 + 3D408180 A14A9010 + 714A0044 2C0A0044 + 418200BC 28080003 + 40A2000C 39400000 + 9949900C 88E9900C + 3D408180 394A9000 + 38C00004 7D0A38AE + 2C080000 41820068 + 3908FFFF 4800005C + 281F0042 8949900C + 4182005C 281F0048 + 40A2FF9C 3D008180 + A1089010 71080048 + 2C080048 41820060 + 280A0003 40A2000C + 39400000 9949900C + 88E9900C 3D408180 + 394A9000 38C00000 + 7D0A38AE 28080003 + 4181000C 39080001 + 5506063E 7CCA39AE + 48000024 3D008180 + A1089010 71080042 + 2C080042 41820010 + 394A0001 554A07BE + 9949900C 88E9900C + 39200023 2C070000 + 41820008 39200020 + 28070001 3D008180 + 89489000 38C00023 + 41820008 38C00020 + 28070002 39089000 + 88880001 38A00023 + 41820008 38A00020 + 89080002 38600010 + 90A10010 38E0FFFF + 91010014 3D008180 + 9081000C 390893BC + 90C10008 38A00014 + 38C0FFFF 38800140 + 4CC63182 4BFF6EC5 + 80010024 3D208180 + 7FC3F378 B3E99010 + 7C0803A6 83C10018 + 83E1001C 38210020 + 4A83BE90 838BFFF0 + 83ABFFF4 83CBFFF8 + 800B0004 83EBFFFC + 7C0803A6 7D615B78 + 4E800020 50617474 + 65726E20 25632558 + 25632558 25632558 + 00000000 00000000 + 0424F324 7FE6FB78 + + diff --git a/Readme.md b/Readme.md index 92e802f..f7260d8 100644 --- a/Readme.md +++ b/Readme.md @@ -37,7 +37,7 @@ Some codes store some states in the games memory starting from address 0x817F000 | ![](./docs/unallocated.svg) | `0x24` | `0x93` | Not Allocated | | ![](./docs/reserved.svg) | `0x94` | `0xA3` | QF Timer: Coordinates of the Text box (LTRB) | | ![](./docs/reserved.svg) | `0xA4` | `0xB0` | QF Timer: Timer Format String | -| ![](./docs/reserved.svg) | `0xB0` | `0xB0` | QF Timer: (Unused) | +| ![](./docs/reserved.svg) | `0xB1` | `0xB1` | QF Timer: (Unused) | | ![](./docs/reserved.svg) | `0xB2` | `0xB2` | QF Timer: Stop at QFT Offset | | ![](./docs/reserved.svg) | `0xB3` | `0xB3` | QF Timer: Restart Flag | | ![](./docs/reserved.svg) | `0xB4` | `0xB7` | QF Timer: Cumulative time of previous areas since last reset (QFT Offset) | @@ -49,8 +49,9 @@ Some codes store some states in the games memory starting from address 0x817F000 | ![](./docs/reserved.svg) | `0x102` | `0x10B` | Ingame Timer: Stopwatch Backup | | ![](./docs/reserved.svg) | `0x10C` | `0x10C` | Ingame Timer: Stop Stopwatch Flag | | ![](./docs/buffer.svg) | `0x10D` | `0x10F` | Buffer (Ingame Timer) | -| ![](./docs/reserved.svg) | `0x110` | `0xA4F` | QF Timer: Timer Textbox | -| ![](./docs/unallocated.svg) | `0xA50` | `0xFFF` | Not Allocated | +| ![](./docs/reserved.svg) | `0x110` | `0x237` | QF Timer: Timer Textbox | +| ![](./docs/reserved.svg) | `0x238` | `0x34B` | General Function (`drawText`) | +| ![](./docs/unallocated.svg) | `0x34C` | `0xFFF` | Not Allocated | ### Adding translations diff --git a/package-lock.json b/package-lock.json index 9a0861c..d3364a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,8 @@ "vuedraggable": "^2.24.3" }, "devDependencies": { + "@sup39/markdown-it-attr": "^1.2.2", + "@sup39/markdown-it-inline-tag": "^1.0.1", "@vuepress/plugin-back-to-top": "1.9.7", "@vuepress/plugin-medium-zoom": "1.9.7", "jsdom": "19.0.0", @@ -1694,6 +1696,18 @@ "node": ">=6" } }, + "node_modules/@sup39/markdown-it-attr": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@sup39/markdown-it-attr/-/markdown-it-attr-1.2.2.tgz", + "integrity": "sha512-B4vq2D4SJzduHStuKxyMZF5XnMZx/TibMfr3YjS0vbrnhhAA39nxF/NKqhyC0lOt5rjMKMAKUvtoucV/JSbUQA==", + "dev": true + }, + "node_modules/@sup39/markdown-it-inline-tag": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@sup39/markdown-it-inline-tag/-/markdown-it-inline-tag-1.0.1.tgz", + "integrity": "sha512-p0KI1y1WcPkVZYYkZczelUn8LpLvS69KVl+aqb3onF/v6mFLYJDVrkg3AsXXux7Wk7i5fvzwypAYMcpNwkoz5A==", + "dev": true + }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -17602,6 +17616,18 @@ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", "dev": true }, + "@sup39/markdown-it-attr": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@sup39/markdown-it-attr/-/markdown-it-attr-1.2.2.tgz", + "integrity": "sha512-B4vq2D4SJzduHStuKxyMZF5XnMZx/TibMfr3YjS0vbrnhhAA39nxF/NKqhyC0lOt5rjMKMAKUvtoucV/JSbUQA==", + "dev": true + }, + "@sup39/markdown-it-inline-tag": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@sup39/markdown-it-inline-tag/-/markdown-it-inline-tag-1.0.1.tgz", + "integrity": "sha512-p0KI1y1WcPkVZYYkZczelUn8LpLvS69KVl+aqb3onF/v6mFLYJDVrkg3AsXXux7Wk7i5fvzwypAYMcpNwkoz5A==", + "dev": true + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", diff --git a/package.json b/package.json index 73e1073..477e215 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ }, "license": "Apache-2.0", "devDependencies": { + "@sup39/markdown-it-attr": "^1.2.2", + "@sup39/markdown-it-inline-tag": "^1.0.1", "@vuepress/plugin-back-to-top": "1.9.7", "@vuepress/plugin-medium-zoom": "1.9.7", "jsdom": "19.0.0", @@ -32,5 +34,7 @@ "dependencies": { "vuedraggable": "^2.24.3" }, - "pre-commit": ["precommit"] + "pre-commit": [ + "precommit" + ] } diff --git a/scripts/inject_codes.js b/scripts/inject_codes.js index b9ba465..86fd1ea 100644 --- a/scripts/inject_codes.js +++ b/scripts/inject_codes.js @@ -5,7 +5,7 @@ const vuepressContainerPlugin = require('vuepress-plugin-container'); // These plugins have to match the ones used as extensions in .vuepress/config.js const md = require('@vuepress/markdown')({ - plugins: ['attrs'], + plugins: ['@sup39/markdown-it-attr', '@sup39/markdown-it-inline-tag'], }); const themePlugins = require(path.join(__dirname, '../site/.vuepress/data/themePlugins.json')); diff --git a/site/.vuepress/config.js b/site/.vuepress/config.js index 125c99f..aa75c96 100755 --- a/site/.vuepress/config.js +++ b/site/.vuepress/config.js @@ -18,7 +18,8 @@ module.exports = { */ markdown: { extendMarkdown: (md) => { - md.use(require('markdown-it-attrs')); + md.use(require('@sup39/markdown-it-inline-tag')); + md.use(require('@sup39/markdown-it-attr')); }, }, diff --git a/site/.vuepress/public/img/PatternSelector/PV1-1.svg b/site/.vuepress/public/img/PatternSelector/PV1-1.svg new file mode 100644 index 0000000..1756107 --- /dev/null +++ b/site/.vuepress/public/img/PatternSelector/PV1-1.svg @@ -0,0 +1,21 @@ + + + + + + + 1 + + + + 2 + + + + 3 + + + + + + diff --git a/site/.vuepress/public/img/PatternSelector/PV1-2.svg b/site/.vuepress/public/img/PatternSelector/PV1-2.svg new file mode 100644 index 0000000..c942561 --- /dev/null +++ b/site/.vuepress/public/img/PatternSelector/PV1-2.svg @@ -0,0 +1,25 @@ + + + + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + + + diff --git a/site/.vuepress/public/img/PatternSelector/PV1-3.svg b/site/.vuepress/public/img/PatternSelector/PV1-3.svg new file mode 100644 index 0000000..840f93b --- /dev/null +++ b/site/.vuepress/public/img/PatternSelector/PV1-3.svg @@ -0,0 +1,21 @@ + + + + + + + 1 + + + + 2 + + + + 3 + + + + + + diff --git a/site/.vuepress/public/img/PatternSelector/PV1-base.jpg b/site/.vuepress/public/img/PatternSelector/PV1-base.jpg new file mode 100644 index 0000000..546c98f Binary files /dev/null and b/site/.vuepress/public/img/PatternSelector/PV1-base.jpg differ diff --git a/site/.vuepress/public/img/PatternSelector/PV1.css b/site/.vuepress/public/img/PatternSelector/PV1.css new file mode 100644 index 0000000..af98be8 --- /dev/null +++ b/site/.vuepress/public/img/PatternSelector/PV1.css @@ -0,0 +1,13 @@ +text { + text-anchor: middle; + dominant-baseline: central; + font-size: 200px; + fill: #f00; +} +.arrow { + fill: #f009; +} +.start circle { + r: 400; + fill: #f009; +} diff --git a/site/.vuepress/public/img/PatternSelector/preview.jpg b/site/.vuepress/public/img/PatternSelector/preview.jpg new file mode 100644 index 0000000..c330b14 Binary files /dev/null and b/site/.vuepress/public/img/PatternSelector/preview.jpg differ