diff --git a/Codes.xml b/Codes.xml index 0a323a9..c1a6c8d 100644 --- a/Codes.xml +++ b/Codes.xml @@ -1237,12 +1237,9 @@
- metadata
- PASDisplay
- Position/angle/speed display
- Position/Winkel/Geschw. Display
- Affichage de position/angle/vitesse
- 位置/角度/速度表示
- Noki Doki, sup39(サポミク)
- 1.4
- Mar 24, 2022
- drawText
- drawText
-
- Shows Mario's position, angle and speed at any given time.
-
- ::: warning
- This code is not compatible with the Speed Display code.
- :::
-
-
- Zeigt Mario's Position, Winkel und Geschwindigkeit jederzeit auf dem Bildschirm an.
-
- ::: warning
- Dieser Code ist nicht kompatibel mit dem Geschwindigkeits-Display Code
- :::
-
- Affiche la position, l'angle et la vitesse de Mario à tout moment.
- 常に「マリオの位置」「マリオの角度」「マリオの速度」を表示します。
-
-
-
-
-
-
- metadata
- SpeedDisplay
- Speed display
- Geschwindigkeits-Display
- Affichage de vitesse
- 速度表示
- Noki Doki, sup39(サポミク)
- 1.5
- Mar 24, 2022
- drawText
- drawText
-
- Shows Mario's speed at any given time.
-
- ::: warning
- This code is not compatible with the Position/Angle/Speed Display code.
- :::
-
-
- Zeigt Mario's Geschwindigkeit jederzeit auf dem Bildschirm an.
-
- ::: warning
- Dieser Code ist nicht kompatibel mit dem Position/Winkel/Gewschw. Display Code
- :::
-
- Affiche la vitesse de Mario à tout moment.
- 常に「マリオの速度」を表示します。
-
-
-
-
-
metadata
CustomizedDisplay
- Customized display
+ Customized Display
カスタマイズ表示
sup39(サポミク)
0.3
- Oct 30, 2022
+ Jan 28, 2023
drawText
Shows metadata at any given time.
- ::: warning
- This code is not compatible with other Display codes.
- :::
-
- ::: warning
- The preview is based on NTSC-J's font data, and may be inaccurate for NTSC-U and PAL.
- In addition, some characters may not shown properly.
- :::
-
#### Format
Use `< ID-of-the-data | format | value-shown-in-preview >` to display a metadata.
@@ -3252,8 +2804,12 @@
For float data, you can set the *format* to `.{digit}` to specify how many digits to show.
%details[
- %summary[All printable characters (for NTSC-J)]
- ![Printable charaters](/img/preview/font-jp.png){style="background:black"}
+ %summary[All printable characters (in NTSC-J)]
+ ![Printable charaters](/img/preview/font-JP.png){style="background:black"}
+ ]
+ %details[
+ %summary[All printable characters (in PAL)]
+ ![Printable charaters](/img/preview/font-EU.png){style="background:black"}
]
#### Preview
@@ -3281,8 +2837,12 @@
また、全てのひらがなとカタカナ及び一部の漢字の表示も可能です。
%details[
- %summary[表示可能な文字一覧:]
- ![表示可能な文字一覧](/img/preview/font-jp.png){style="background:black"}
+ %summary[表示可能な文字一覧(初期版・後期版)]
+ ![表示可能な文字一覧(初期版・後期版)](/img/preview/font-JP.png){style="background:black;padding:8px"}
+ ]
+ %details[
+ %summary[表示可能な文字一覧(欧州版)]
+ ![表示可能な文字一覧(欧州版)](/img/preview/font-EU.png){style="background:black;padding:8px"}
]
#### プレビュー
@@ -3771,7 +3331,7 @@
パターン選択
sup39(サポミク)
0.3
- Oct 30, 2022
+ Jan 28, 2023
drawText
Ⓑ is the cursor to select the pattern,
@@ -3852,122 +3412,228 @@
%object[]{data="/img/PatternSelector/PV1-3.svg"}
+
+
@@ -3997,161 +3663,140 @@
lib
drawText
sup39(サポミク)
- 0.2.0
- Mar 25, 2022
+ 0.3
+ Jan 02, 2023
- ```c
- void drawText(int x, int y, int fontSize, uint32_t colorTop, uint32_t colorBot, const char *fmt, ...);
- ```
+ ```c
+ typedef struct {
+ int16_t x;
+ int16_t y;
+ uint32_t fontSize;
+ uint32_t colorTop;
+ uint32_t colorBot;
+ } DrawTextOpt;
+ void drawText(DrawTextOpt *opt, const char *fmt, ...);
+ ```
-
-
-
+ 077F0238 000000D4
+ 9421FF08 7C0802A6
+ BFC100F0 7C7F1B78
+ 900100FC 7C9E2378
+ 90A10088 90C1008C
+ 90E10090 91010094
+ 91210098 9141009C
+ D82100A0 D84100A8
+ D86100B0 D88100B8
+ D8A100C0 D8C100C8
+ D8E100D0 D90100D8
+ 39200200 80DF0004
+ B1210070 39200000
+ 39210100 91210074
+ 39210080 91210078
+ 808D97F8 391F000C
+ 38FF0008 38A00000
+ 38610008 4A826AF9
+ 813F0004 38610008
+ 91210064 91210060
+ A95F0000 388000FF
+ 91410024 7FC5F378
+ E01F5000 38C10070
+ F001002C 38000000
+ 90010034 4A826985
+ BBC100F0 382100F8
+ 80010004 7C0803A6
+ 4E800020 00000000
+
+
+
+
InstantRestart
diff --git a/Readme.md b/Readme.md
index f6ec0b0..fa9e1d9 100644
--- a/Readme.md
+++ b/Readme.md
@@ -47,7 +47,9 @@ Some codes store some states in the games memory starting from address 0x817F000
| ![](./docs/reserved.svg) | `0x14` | `0x15` | DPad Functions: Stored Angle (Mario) |
| ![](./docs/reserved.svg) | `0x16` | `0x1B` | DPad Functions: Stored Position (Camera) |
| ![](./docs/reserved.svg) | `0x20` | `0x23` | Coin Count Savestate: Coin Count |
-| ![](./docs/unallocated.svg) | `0x24` | `0x93` | Not Allocated |
+| ![](./docs/reserved.svg) | `0x24` | `0x26` | Pattern Selector: Selected Pattern Numbers |
+| ![](./docs/reserved.svg) | `0x27` | `0x27` | Pattern Selector: Cursor Position |
+| ![](./docs/unallocated.svg) | `0x28` | `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` | `0xB1` | QF Timer: (Unused) |
diff --git a/Removed-Codes.xml b/Removed-Codes.xml
index a753450..b673557 100644
--- a/Removed-Codes.xml
+++ b/Removed-Codes.xml
@@ -533,4 +533,424 @@
60000000 00000000
+
+ metadata
+ PASDisplay
+ Position/angle/speed display
+ Position/Winkel/Geschw. Display
+ Affichage de position/angle/vitesse
+ 位置/角度/速度表示
+ Noki Doki, sup39(サポミク)
+ 1.4
+ Mar 24, 2022
+ drawText
+ drawText
+
+ Shows Mario's position, angle and speed at any given time.
+
+ ::: warning
+ This code is not compatible with the Speed Display code.
+ :::
+
+
+ Zeigt Mario's Position, Winkel und Geschwindigkeit jederzeit auf dem Bildschirm an.
+
+ ::: warning
+ Dieser Code ist nicht kompatibel mit dem Geschwindigkeits-Display Code
+ :::
+
+ Affiche la position, l'angle et la vitesse de Mario à tout moment.
+ 常に「マリオの位置」「マリオの角度」「マリオの速度」を表示します。
+
+
+
+
+
+
+ metadata
+ SpeedDisplay
+ Speed display
+ Geschwindigkeits-Display
+ Affichage de vitesse
+ 速度表示
+ Noki Doki, sup39(サポミク)
+ 1.5
+ Mar 24, 2022
+ drawText
+ drawText
+
+ Shows Mario's speed at any given time.
+
+ ::: warning
+ This code is not compatible with the Position/Angle/Speed Display code.
+ :::
+
+
+ Zeigt Mario's Geschwindigkeit jederzeit auf dem Bildschirm an.
+
+ ::: warning
+ Dieser Code ist nicht kompatibel mit dem Position/Winkel/Gewschw. Display Code
+ :::
+
+ Affiche la vitesse de Mario à tout moment.
+ 常に「マリオの速度」を表示します。
+
+
+
+
+
diff --git a/changelog.md b/changelog.md
index 10f9223..d68968b 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,13 @@
# Changelog
+## Jan 28, 2023
+### Rewrote 'drawText'
+- Reduced parameters to struct pointer + format string + varargs
+- Rewrote QFT, Pattern Selector, Customized Display with the new drawText function
+### Improved Preview
+- Added PAL font (TODO: NTSC-U)
+- Merged P/A/S Display and Speed Display to Customized Display
+- Provided background options to Pattern Selector and Customized Display
+
## Jan 10, 2023
### Updated 'Quarterframe Timer'
Added the following options to freeze QFT:
diff --git a/site/.vuepress/components/Generator.vue b/site/.vuepress/components/Generator.vue
index 8de2526..d55e4d6 100644
--- a/site/.vuepress/components/Generator.vue
+++ b/site/.vuepress/components/Generator.vue
@@ -136,8 +136,6 @@ export default {
this.codeConfigs = {
qft: getConfigQFT(),
PatternSelector: getConfigPS(),
- SpeedDisplay: {},
- PASDisplay: {},
CustomizedDisplay: getConfigCD(this.version),
};
},
@@ -222,7 +220,10 @@ export default {
.filter(code => !(code.category === category && exclusive))
.map(code => code.id));
ids.add(id);
- return Object.fromEntries(Object.entries(this.codeConfigs).filter(([id]) => ids.has(id)));
+ return {
+ ...Object.fromEntries(Object.entries(this.codeConfigs).filter(([id]) => ids.has(id))),
+ _version: this.selectedVersion,
+ };
},
},
};
diff --git a/site/.vuepress/components/Preview.vue b/site/.vuepress/components/Preview.vue
index 8a52383..282f5e5 100644
--- a/site/.vuepress/components/Preview.vue
+++ b/site/.vuepress/components/Preview.vue
@@ -1,82 +1,30 @@