User Tools

Site Tools


development:technical-details:patches:powermode-2003

PowerMode 2003

PowerMode 2003, also known as Mega Patch 2003, is a patch made by firesta for RPG Maker 2003 v. 1.09.

This patch changes the behaviour of the variables 1 to 8 to open menus, tracks the mouse and keyboard status, does calculations and handles picture angles. It also skips the logo and title screen, allows the mouse to be used in menus, and changes the top and bottom transparency properties of pictures.

This patch is supported by the EasyRPG Player in the continuous build of the version 0.8.1.1 since May 31, 2026. The EasyRPG Player recognises a game as a PowerMode 2003 game if a file named warp.dll is present in the folder of the game, or if the PowerMode2003 flag is set through the EasyRPG.ini file or through command line. Mouse and keyboard controls are not available on all platforms, and can require to plug or connect an external device to use them: see Platform Differences to check which platforms are compatible.

A test suite of the patch made for the EasyRPG Player is available as part of the TestGame project, and can be used as reference if needed:

Games using it: Super Mario Portal

Properties

FIXME Verify all properties to make sure they match what the patch does.

Global changes

Title skip

When the patch is used, the logo and title scenes are automatically skipped.

Mouse controls

The left and right mouse buttons are remapped to game keys: the left mouse button works like an action key, and the right mouse button works like a cancel key.

Picture transparency changes

As the patch was made for the non-English version of RPG Maker 2003, pictures displayed on the screen have two transparency values, a top transparency and a bottom transparency.

The patch changes the behaviours of those transparency properties:

  • The top transparency parameter adjusts the transparency of the entire picture, similar to what is done in RPG Maker 2000 and in the English version of RPG Maker 2003.
  • The bottom transparency dictates how a picture should rotate if the picture uses the rotation property: if the value is below 50, it will rotate clockwise (default RPG Maker behaviour), and if it is 50 or above, the picture will rotate counterclockwise.

Audio formats

FIXME

Variable changes

Save and system operations (variable 1)

The variable 1 is always equal to either 0 or 1 when using the patch: it will be equal to 0 if no save file exists, and 1 if at least one save file exists.

If the variable 1 is attempted to be changed to the value 254, the game will close.

If the variable 1 is attempted to be changed to the value 255 and that at least one save file exists, the load menu will open.

Mouse coordinates (variables 2 and 3)

If the value of the variable 3 is attempted to be changed, the variable 2 will receive the X coordinate of the mouse while variable 3 will receive the Y coordinate of the mouse.

Keyboard tracking (variable 4)

When attempting to set the value of variable 4 to 0, the value written to variable 4 will instead be the one of the key pressed with the smallest ID, and 0 will be returned if no key is pressed.

For instance, if variable 4 is attempted to be set to 0 and that the user is only pressing the left shift key, the value returned will be 16, as it corresponds to the ID of the Shift key. The value returned will not be 160 (value of the left shift key) as it is bigger than the smallest key ID pressed.

When attempting to set the value of variable 4 to another value, the value that will be written to variable 4 will be 0, or said value if its corresponding key is pressed.

For instance, if variable 4 is attempted to be set to 160, the value written to variable 4 will either be 0 if the left shift key is not pressed, or 160 if the left shift key is pressed.

The keys that can be used and their ID correspond to the Virtual-Key Codes. You can find a list of keys with their value correspondance here:

Value Key
1 Left mouse button
2 Right mouse button
3 Control-break processing
4 Middle Mouse button
5 X1 Mouse button
6 X2 Mouse button
8 Backspace
9 Tab
12 Clear
13 Enter
16 Shift
17 Ctrl
18 Alt
19 Pause
20 CapsLock
21 IME Kana mode/IME Hangul mode
22 IME On
23 IME Junja mode
24 IME final mode
25 IME Hanja mode/IME Kanji mode
26 IME Off
27 Esc
28 IME convert
29 IME nonconvert
30 IME accept
31 IME mode change request
32 Space
33 PageUp
34 PageDown
35 End
36 Home
37 Left
38 Up
39 Right
40 Down
41 SELECT key
42 PRINT key
43 EXECUTE key
44 PRINT SCREEN key
45 INS key
46 DEL key
47 HELP key
48 0 (non-Numpad)
49 1 (non-Numpad)
50 2 (non-Numpad)
51 3 (non-Numpad)
52 4 (non-Numpad)
53 5 (non-Numpad)
54 6 (non-Numpad)
55 7 (non-Numpad)
56 8 (non-Numpad)
57 9 (non-Numpad)
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 Left Windows key
92 Right Windows key
93 Applications key
95 Computer Sleep key
96 0 (Numpad)
97 1 (Numpad)
98 2 (Numpad)
99 3 (Numpad)
100 4 (Numpad)
101 5 (Numpad)
102 6 (Numpad)
103 7 (Numpad)
104 8 (Numpad)
105 9 (Numpad)
106 * (Numpad)
107 + (Numpad)
108 , (Numpad - keyboard specific)
109 - (Numpad)
110 . (Numpad)
111 / (Numpad)
112 F1
113 F2
114 F3
115 F4
116 F5
117 F6
118 F7
119 F8
120 F9
121 F10
122 F11
123 F12
124 F13
125 F14
126 F15
127 F16
128 F17
129 F18
130 F19
131 F20
132 F21
133 F22
134 F23
135 F24
144 Numlock
145 ScrollLock
146~150 OEM specific
160 Left Shift key
161 Right Shift key
162 Left Ctrl key
163 Right Ctrl key
164 Left Alt key
165 Right Alt key
166 Browser Back key
167 Browser Forward key
168 Browser Refresh key
169 Browser Stop key
170 Browser Search key
171 Browser Favorites key
172 Browser Start and Home key
173 Volume Mute key
174 Volume Down key
175 Volume Up key
176 Next Track key
177 Previous Track key
178 Stop Media key
179 Play/Pause Media key
180 Start Mail key
181 Select Media key
182 Start Application 1 key
183 Start Application 2 key
186 ;: (US standard keyboard, key varies per keyboard)
187 +
188 ,
189 - (US standard keyboard, key varies per keyboard)
190 .
191 /? (US standard keyboard, key varies per keyboard)
192 `~ (US standard keyboard, key varies per keyboard)
219 [{ (US standard keyboard, key varies per keyboard)
220 \\ (US standard keyboard, key varies per keyboard)
221 ]} (US standard keyboard, key varies per keyboard)
222 '" (US standard keyboard, key varies per keyboard)
223 Unspecified Miscellanous key (varies per keyboard)
225 OEM specific
226 <> (US standard keyboard, key varies per keyboard)
227~228 OEM specific
229 IME PROCESS key
230 OEM specific
231 VK_PACKET
233~245 OEM specific
246 Attn key
247 CrSel key
248 ExSel key
249 Erase EOF key
250 Play key
251 Zoom key
253 PA1 key
254 Clear key

Math operations (variables 5 to 7)

By setting the variable 7 to a value between 1 and 4, operations will be done on the variables 5 and 6:

  • If variable 7 is set to 1, the cos and sin of the value in variable 5 will be calculated, with the cos being output in variable 5 and the sin in variable 6.
  • If variable 7 is set to 2, the tangent of the value in variable 5 will be calculated to be output in variable 6.
  • If variable 7 is set to 3, the square root of the value in variable 5 will be calculated, with the natural part of the square root output in variable 5 and the fractional part in variable 6.
  • If variable 7 is set to 4, the value of variable 5 will be divided by the value of variable 6, with the natural part of the quotient output in variable 5 and the fractional part in variable 6.

Fixed picture rotation (variable 8)

FIXME Verify the angle range on the original patch (0~255 or 0~256?).

If the variable 8 is set to a value of 11 or above, pictures using the rotate parameter will no longer rotate, and instead will be displayed a fixed angle. The fixed angle value is picked from the variable pointed by variable 8, as well as the 49 variables present after it (the original RPG Maker 2003 only supported 50 picture slots, so those 50 variables cover all pictures), and accepts values on a 0~255 range.

For instance, if variable 8 is equal to 101, the picture of ID 1 will have its fixed angle value picked from variable 101, the picture of ID 2 from variable 102, and so on up to the picture of ID 50 with the variable 150.

If the variable 8 is set to a value below 11, pictures with the rotate parameter will rotate as usual.

References and further reading

development/technical-details/patches/powermode-2003.txt · Last modified: by carbonara

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki