Template:Engine calls: Difference between revisions
m make mwparserfromhell happy |
cutscene stuff |
||
(One intermediate revision by the same user not shown) | |||
Line 418: | Line 418: | ||
Only visuals (obj), does not affect colission | Only visuals (obj), does not affect colission | ||
|- | |- | ||
| 0x2a8c || 1__ || | | 0x2a8c || 1__ || Camera_SetBounds2(min_x, max_x, min_y, max_y) // How is this different to Camera_SetBounds()? | ||
|- | |- | ||
| 0x2aab || 1__ || | | 0x2aab || 1__ || | ||
Line 534: | Line 534: | ||
| 0x3590 || 1__ || | | 0x3590 || 1__ || | ||
|- | |- | ||
| 0x3613 || 123 || | | 0x3613 || 123 || Django_Lock() - Takes the player's control away, mostly for cutscenes. | ||
|- | |- | ||
| 0x3620 || __3 || | | 0x3620 || __3 || | ||
Line 750: | Line 750: | ||
| 0x4bef || 1__ || | | 0x4bef || 1__ || | ||
|- | |- | ||
| 0x4c4d || 123 || | | 0x4c4d || 123 || Django_Unlock() - Undoes the effect of engine call 0x3613. | ||
|- | |- | ||
| 0x4cbb || 123 || | | 0x4cbb || 123 || | ||
Line 810: | Line 810: | ||
| 0x5365 || 123 || | | 0x5365 || 123 || | ||
|- | |- | ||
| 0x53bf || 123 || | | 0x53bf || 123 || Sound_PlayMusic(i=sound ID) - Plays music. Exactly the same as engine call 0xe7ca. | ||
|- | |- | ||
| 0x53f4 || 1__ || | | 0x53f4 || 1__ || | ||
Line 1,261: | Line 1,261: | ||
| 0x7df5 || 1__ || | | 0x7df5 || 1__ || | ||
|- | |- | ||
| 0x7e33 || 123 || | | 0x7e33 || 123 || Elevator_Start(n=elevator ID, m=direction (1=down, 2=up, others?)) | ||
|- | |- | ||
| 0x7e73 || _23 || | | 0x7e73 || _23 || | ||
Line 1,283: | Line 1,283: | ||
| 0x806a || 1__ || | | 0x806a || 1__ || | ||
|- | |- | ||
| 0x8071 || 123 || | | 0x8071 || 123 || Camera_PanTo(p=(x,y,z), f=duration_frames, R=callback script ID (optional)) - For cutscenes | ||
|- | |- | ||
| 0x8089 || 123 || Map_SpawnLoadingZoneIndicator(n=loading_zone_id) | | 0x8089 || 123 || Map_SpawnLoadingZoneIndicator(n=loading_zone_id) | ||
Line 1,379: | Line 1,379: | ||
| 0x89c6 || _23 || | | 0x89c6 || _23 || | ||
|- | |- | ||
| 0x8a05 || 1__ || | | 0x8a05 || 1__ || Django_Emote(...) - Displays an emote over Django's head, like an exclamation mark or a question mark.<br> | ||
i: Django index (optional, for multiplayer)<br> | |||
m: Emote (0=blue !, 1=white !, 2=white ?, ...)<br> | |||
t: Speed (only used for certain emotes, like the speech bubble) | |||
|- | |- | ||
| 0x8a21 || _2_ || | | 0x8a21 || _2_ || | ||
Line 1,476: | Line 1,479: | ||
| 0x9311 || 123 || | | 0x9311 || 123 || | ||
|- | |- | ||
| 0x933c || 123 || | | 0x933c || 123 || Django_MoveTo(p=(x,y,z), e=callback script ID, d=?) - Causes Django to walk somewhere. Mostly for cutscenes. | ||
|- | |- | ||
| 0x9386 || _2_ || | | 0x9386 || _2_ || | ||
Line 1,596: | Line 1,599: | ||
| 0xa169 || 1__ || | | 0xa169 || 1__ || | ||
|- | |- | ||
| 0xa16f || 123 || | | 0xa16f || 123 || ElevatorController_Create() - Call this before creating any elevators with engine call 0xa4fc | ||
|- | |- | ||
| 0xa1af || 1__ || | | 0xa1af || 1__ || | ||
Line 1,628: | Line 1,631: | ||
| 0xa46e || __3 || | | 0xa46e || __3 || | ||
|- | |- | ||
| 0xa4fc || 123 || | | 0xa4fc || 123 || Elevator_Create(...)<br> | ||
Creates an elevator. This only works after calling engine call 0xa16f. There are many possible keywords, this is just a subset:<br> | |||
r: Spawn point. Should be 3 values: (path_id, 0, 0). The zeroes probably mean something. The path_id sets the spawn point of the elevator, that should be a [[Collision_map_file#Paths|path]] with 1 node. Only the X/Y coordinates of the node are relevant.<br> | |||
Y: height range and initial position of the elevator. The order is (probably) min_y, max_y, initial_y.<br> | |||
n: ID of the elevator. Used for controlling them later.<br> | |||
f: Set to 0 or Django does strange things.<br> | |||
m: Seems to affect how the callback (keyword R) gets called? 6 seems to be a safe value.<br> | |||
k: Should be 2, 0 makes weird lava elevators, other values crash the game?<br> | |||
R: Callback script ID, will be called when the elevator reaches its destination (but only if Django is on it?)<br> | |||
s: Speed. The most common value is 16.<br> | |||
T: Graphics. 1 is a basic iron platform, 0/2/3 are other options, there may be even mroe.<br> | |||
|- | |- | ||
| 0xa58d || 1__ || | | 0xa58d || 1__ || | ||
Line 1,768: | Line 1,781: | ||
| 0xb189 || _2_ || | | 0xb189 || _2_ || | ||
|- | |- | ||
| 0xb1c4 || 123 || | | 0xb1c4 || 123 || Elevator_Shake(n=elevator ID) - Shakes an elevator for 1 frame | ||
|- | |- | ||
| 0xb1f3 || __3 || | | 0xb1f3 || __3 || | ||
Line 1,890: | Line 1,903: | ||
| 0xc15e || 123 || | | 0xc15e || 123 || | ||
|- | |- | ||
| 0xc1f2 || 123 || | | 0xc1f2 || 123 || Enemy_Sleep(n=enemy id) - Makes an enemy fall asleep | ||
|- | |- | ||
| 0xc233 || _23 || | | 0xc233 || _23 || | ||
Line 2,241: | Line 2,254: | ||
| 0xe7bc || __3 || | | 0xe7bc || __3 || | ||
|- | |- | ||
| 0xe7ca || 123 || | | 0xe7ca || 123 || Sound_PlaySfx(i=sound ID) - Plays a sound effect. Exactly the same as engine call 0x53bf. | ||
|- | |- | ||
| 0xe832 || __3 || | | 0xe832 || __3 || | ||
Line 2,371: | Line 2,384: | ||
| 0xf33f || _2_ || | | 0xf33f || _2_ || | ||
|- | |- | ||
| 0xf341 || 123 || | | 0xf341 || 123 || Camera_Reset(f=duration_frames, R=callback script ID (optional)) - Centers the camera on Django (useful to undo engine call 0x3824) | ||
|- | |- | ||
| 0xf3a3 || __3 || | | 0xf3a3 || __3 || |
Latest revision as of 21:37, 4 June 2025
Please document all engine calls (control 0x9906 and control 0xb745 opcodes) on this page only. Changes you make here will be automatically merged into Engine calls (Boktai 1), Engine calls (Boktai 2), and Engine calls (Boktai 3) daily by a bot (so it may take a bit until your changes show up).
DO NOT add/remove columns to the next table as that will confuse the bot. You should only edit the "Description" column. Ask User:Raphi if you need to edit anything else.
ID | Games | Description |
---|---|---|
0x0074 | _2_ | |
0x0101 | _2_ | |
0x0153 | 1__ | |
0x01ab | __3 | |
0x0238 | _2_ | |
0x025e | _23 | |
0x0272 | 123 | |
0x0293 | __3 | |
0x02a7 | __3 | |
0x02c1 | 1__ | |
0x0314 | __3 | |
0x0353 | _2_ | |
0x03aa | __3 | |
0x03ca | 123 | |
0x0412 | __3 | |
0x0447 | 123 | |
0x04cd | 1__ | |
0x04e2 | 1__ | |
0x054a | _23 | |
0x055a | __3 | |
0x056e | __3 | |
0x0581 | 1__ | |
0x058d | _23 | |
0x05a5 | 123 | |
0x05e2 | _2_ | |
0x05f4 | 1__ | |
0x061e | 123 | |
0x0622 | 1__ | |
0x0623 | _2_ | |
0x063b | 1__ | Camera_SetBounds(min_x, max_x, min_y, max_y) |
0x064e | 12_ | |
0x065b | 1__ | |
0x06d0 | 1__ | |
0x0706 | 1__ | |
0x0740 | 123 | |
0x075c | _23 | |
0x0796 | 1__ | |
0x07a6 | 1__ | |
0x07b6 | 1__ | |
0x07c6 | 1__ | |
0x0866 | 123 | |
0x08d9 | 1__ | |
0x08f4 | _2_ | |
0x08f6 | 1__ | |
0x090a | 1__ | |
0x0929 | 1__ | |
0x0955 | 123 | |
0x09ea | _2_ | |
0x09f8 | __3 | |
0x0ac7 | _23 | |
0x0ad8 | _23 | |
0x0b49 | __3 | |
0x0b50 | 123 | |
0x0bce | _23 | |
0x0bfd | _23 | |
0x0bfe | __3 | |
0x0c1a | 1__ | |
0x0c1b | _23 | |
0x0cd4 | 123 | |
0x0dbf | 1__ | |
0x0e15 | 123 | |
0x0e37 | 123 | |
0x0e76 | 123 | |
0x0e7c | _2_ | |
0x0ee4 | 123 | |
0x0f48 | 1__ | |
0x0f87 | __3 | |
0x0fa4 | 1__ | |
0x0fc5 | _2_ | |
0x0feb | 1__ | Crow_SetAggro(?) |
0x1022 | __3 | |
0x1057 | 1__ | |
0x10e9 | 1__ | |
0x1188 | 1__ | |
0x11c8 | 1__ | |
0x11d4 | 123 | Video_LoadTileSet(t=type, c=part ids, d=tile set file id, m=tile map file id, s=load offset)
t: Type; only two relevant cases: If 0 (=BG0), then load offset will be forced to 0x400 tiles, irrespective of the m and s keywords. Otherwise, the m and s keywords are used. |
0x11d9 | _23 | |
0x11f7 | 1__ | |
0x1225 | 1__ | |
0x1231 | 1__ | |
0x12c4 | 123 | |
0x1320 | 123 | |
0x1343 | _23 | |
0x135d | 1__ | |
0x138e | 123 | |
0x13ac | _2_ | |
0x13d9 | 1__ | |
0x1422 | 123 | |
0x1488 | 123 | |
0x149f | 1__ | |
0x1500 | 123 | |
0x150f | 12_ | |
0x152e | 1__ | |
0x1595 | __3 | |
0x15a9 | _2_ | |
0x15b3 | 123 | |
0x15de | __3 | |
0x15ec | 1__ | |
0x15ed | _23 | |
0x1606 | __3 | |
0x162e | _23 | |
0x164d | _23 | |
0x166e | 1_3 | |
0x1693 | 123 | |
0x1722 | __3 | |
0x172b | _2_ | |
0x172d | 123 | |
0x1744 | _23 | |
0x1745 | __3 | |
0x174c | 1__ | |
0x1778 | 1__ | |
0x180b | _23 | |
0x1833 | 123 | |
0x184b | _23 | Camera_ConnectToTilemap(...) - Positions the camera on the tile map (call every frame) |
0x184d | __3 | |
0x1866 | 1__ | |
0x1870 | _23 | |
0x1887 | _23 | |
0x18f6 | 1__ | Spawn Muspell |
0x1909 | __3 | |
0x191a | 1__ | |
0x194a | __3 | |
0x19cc | _23 | |
0x1a35 | 123 | |
0x1a4f | 1__ | |
0x1aa0 | 1__ | |
0x1ad7 | 1__ | |
0x1aea | 1__ | |
0x1b0f | __3 | |
0x1b24 | _2_ | |
0x1b77 | _23 | |
0x1b88 | __3 | |
0x1bee | _23 | |
0x1c21 | 1__ | |
0x1c36 | 1__ | |
0x1c3e | 123 | |
0x1c43 | 1__ | |
0x1c5e | 1__ | |
0x1c64 | 123 | Textbox_Open(r=string ref) |
0x1c82 | __3 | |
0x1cd6 | __3 | |
0x1d39 | 1__ | |
0x1d61 | __3 | |
0x1dbe | 123 | |
0x1e6e | __3 | |
0x1e93 | __3 | |
0x1e97 | _23 | |
0x1e98 | _23 | |
0x1ea2 | 1__ | |
0x1ea4 | _2_ | |
0x1ed1 | _2_ | |
0x1f0b | 1__ | |
0x1f3b | _23 | |
0x1f44 | 1__ | |
0x1f48 | 1__ | |
0x1f65 | _23 | |
0x1f6c | 1__ | |
0x1f99 | 1__ | |
0x1fba | __3 | |
0x20da | 1__ | |
0x2118 | 1__ | |
0x2141 | 123 | |
0x2207 | _23 | |
0x2223 | 1__ | |
0x225b | 123 | |
0x22ef | 1__ | |
0x22f3 | 1__ | |
0x2306 | _2_ | |
0x233f | __3 | |
0x2354 | _23 | |
0x237a | _2_ | |
0x2388 | __3 | |
0x23f4 | __3 | |
0x24e1 | __3 | |
0x2502 | _23 | |
0x2571 | 123 | |
0x2572 | __3 | |
0x2575 | 123 | |
0x2593 | _23 | |
0x25aa | 1__ | |
0x25f3 | _2_ | |
0x264f | 1__ | |
0x2687 | __3 | |
0x26b3 | 1__ | |
0x2734 | __3 | |
0x2740 | _23 | |
0x274e | _23 | |
0x277a | _2_ | |
0x2804 | __3 | |
0x2863 | __3 | |
0x286b | 123 | |
0x286e | 1__ | |
0x286f | _23 | |
0x287d | __3 | |
0x28cb | 123 | |
0x2924 | 123 | |
0x296b | 1__ | |
0x296e | __3 | |
0x297e | __3 | |
0x29ee | __3 | |
0x29f1 | _23 | |
0x2a83 | 1__ | Spawn_block_visual(?, t=?, i=?, p=position)
Only visuals (obj), does not affect colission |
0x2a8c | 1__ | Camera_SetBounds2(min_x, max_x, min_y, max_y) // How is this different to Camera_SetBounds()? |
0x2aab | 1__ | |
0x2b06 | _2_ | |
0x2b42 | 1__ | |
0x2b68 | _2_ | |
0x2b8c | 123 | |
0x2bde | __3 | |
0x2c04 | __3 | |
0x2c15 | 1__ | |
0x2c8a | __3 | |
0x2d25 | 1__ | |
0x2d2b | _23 | |
0x2d30 | _23 | |
0x2d36 | _23 | |
0x2d87 | __3 | |
0x2d8f | 12_ | |
0x2e05 | 1__ | |
0x2e1c | _23 | |
0x2f01 | 123 | Time_GetType(result: u8*)
0, 4, 5 = night, else = day |
0x2f51 | 123 | |
0x2fa0 | _23 | |
0x2fa5 | 123 | |
0x2fe4 | 123 | |
0x3004 | _2_ | |
0x300f | 123 | |
0x3019 | _23 | |
0x3050 | 1_3 | |
0x305a | 123 | Inventory_GiveItem(i=item_id, n=amount) |
0x3062 | 123 | |
0x30a3 | 123 | |
0x30ac | __3 | |
0x30ad | 123 | Map_LoadMap(p=Map file ID, ...=?) |
0x30c9 | 1__ | |
0x30cc | _2_ | |
0x3117 | _23 | |
0x3178 | 1__ | |
0x317b | __3 | |
0x3198 | 1__ | |
0x31a8 | __3 | |
0x31fe | _23 | |
0x31ff | 123 | |
0x320c | 123 | |
0x3215 | 123 | |
0x327d | 1__ | |
0x329b | 123 | |
0x32bd | 1__ | |
0x3361 | 12_ | |
0x33aa | _23 | |
0x33c4 | 12_ | |
0x33ff | __3 | |
0x3469 | 123 | int rand(p=divisor)
If divisor is 0, returns the RNG value directly. Otherwise returns RNG % divsior (TODO: there's some additional shifting going on if p is set) |
0x34c2 | _23 | |
0x34ea | _23 | |
0x352d | _23 | TextBox_SetExtend(n, text) - Access via <EXTEND=n> tags |
0x3535 | 123 | Map_LoadGraphics(t=?, c=?, d=?) |
0x3578 | __3 | |
0x3590 | 1__ | |
0x3613 | 123 | Django_Lock() - Takes the player's control away, mostly for cutscenes. |
0x3620 | __3 | |
0x364d | 123 | |
0x3699 | _2_ | |
0x3705 | _23 | |
0x374d | 1__ | |
0x3757 | _23 | |
0x377d | 123 | |
0x382f | __3 | |
0x38d0 | 1__ | |
0x3960 | __3 | |
0x39c6 | __3 | |
0x3a31 | __3 | |
0x3a3c | 1__ | |
0x3a5d | 123 | Inventory_RemoveItem(i=item, n=amount) |
0x3a89 | _23 | |
0x3b80 | 1__ | |
0x3bfb | 1__ | |
0x3c3e | _2_ | |
0x3c47 | 123 | |
0x3c48 | 123 | |
0x3c8d | 123 | |
0x3c9f | __3 | |
0x3d0c | _23 | |
0x3d17 | 123 | |
0x3d1e | 1__ | |
0x3d38 | __3 | |
0x3d64 | __3 | |
0x3d6b | __3 | |
0x3d91 | __3 | |
0x3da2 | __3 | |
0x3db0 | _23 | |
0x3db8 | 123 | |
0x3dba | 1__ | |
0x3df7 | 123 | |
0x3e17 | 123 | |
0x3e1f | 123 | |
0x3e3c | 1__ | |
0x3e42 | 1__ | |
0x3e91 | 123 | |
0x3e92 | 1__ | |
0x3e93 | _23 | |
0x3ea2 | 123 | |
0x3ed0 | 123 | |
0x3edd | 1__ | |
0x3edf | 1__ | |
0x3eec | 1__ | |
0x3f3b | _23 | |
0x3f4b | _2_ | |
0x3f74 | __3 | |
0x3f96 | _2_ | |
0x3f99 | 123 | |
0x3ffd | _2_ | |
0x4043 | __3 | |
0x4063 | _23 | |
0x409d | _23 | |
0x40a6 | _2_ | |
0x40d7 | 123 | |
0x40f8 | 123 | |
0x4127 | 123 | |
0x41d3 | _2_ | |
0x4235 | _23 | |
0x4260 | __3 | |
0x4263 | 1__ | |
0x42ef | _2_ | |
0x42f5 | __3 | |
0x430d | 123 | setTimeout(?, t=frame count, a=args (to p/e), p=callback function id, e=callback block)
Set either p or e, not both. Return a value > 0 to re-arm the timeout. |
0x4350 | 1__ | |
0x435e | _23 | |
0x4365 | 1__ | |
0x4383 | 123 | |
0x43a0 | 123 | |
0x43d6 | _23 | |
0x440f | _23 | |
0x4456 | 1__ | |
0x44bc | __3 | |
0x44bf | _23 | |
0x44cd | _23 | |
0x44d3 | 1__ | |
0x4561 | 123 | |
0x45a9 | 1__ | |
0x4631 | 123 | |
0x4666 | 1__ | |
0x4674 | 1__ | |
0x46af | 1__ | |
0x46b4 | __3 | |
0x472e | __3 | |
0x4759 | _23 | |
0x47da | 1__ | |
0x48b3 | 123 | |
0x48f0 | 1__ | |
0x490f | _23 | |
0x4963 | __3 | |
0x498d | 1__ | |
0x4a0a | __3 | |
0x4a16 | _23 | |
0x4a1c | 1__ | |
0x4a25 | __3 | |
0x4a8d | _23 | |
0x4ab1 | _2_ | |
0x4ae0 | 1__ | |
0x4ae5 | 123 | Load background palette file (p=3x palette file ids) |
0x4b15 | 12_ | |
0x4b39 | _23 | |
0x4b41 | 123 | |
0x4b57 | _23 | |
0x4bef | 1__ | |
0x4c4d | 123 | Django_Unlock() - Undoes the effect of engine call 0x3613. |
0x4cbb | 123 | |
0x4ccd | 123 | |
0x4cd8 | __3 | |
0x4cdd | _23 | |
0x4d12 | __3 | |
0x4d4d | 123 | OBJ palette related(?, p=?) |
0x4d88 | _23 | |
0x4dab | 1__ | |
0x4ddf | _23 | |
0x4e22 | _23 | |
0x4e30 | 123 | |
0x4e69 | _23 | |
0x4ebf | _23 | |
0x4ec6 | 1__ | |
0x4ec9 | __3 | |
0x4ed4 | 123 | |
0x4f5c | 12_ | |
0x4fd1 | _23 | |
0x501b | _2_ | |
0x5153 | __3 | |
0x515d | _23 | |
0x517b | _2_ | |
0x522c | _2_ | |
0x5234 | __3 | |
0x5276 | 123 | |
0x5292 | 12_ | |
0x52bf | _23 | |
0x5335 | __3 | |
0x5365 | 123 | |
0x53bf | 123 | Sound_PlayMusic(i=sound ID) - Plays music. Exactly the same as engine call 0xe7ca. |
0x53f4 | 1__ | |
0x5460 | _2_ | |
0x546c | _2_ | |
0x546d | __3 | |
0x5470 | _2_ | |
0x54c1 | _23 | |
0x54df | _23 | |
0x54f4 | 1__ | |
0x5512 | 1__ | |
0x5517 | _23 | |
0x5534 | 1__ | |
0x554b | 123 | |
0x556a | 1__ | |
0x55a3 | 1__ | |
0x55c2 | 123 | |
0x55c5 | _2_ | |
0x55e9 | __3 | |
0x5610 | 1__ | |
0x5645 | _2_ | |
0x5695 | 1__ | |
0x5699 | 1__ | |
0x56ad | _2_ | |
0x56dc | _2_ | |
0x571d | _2_ | |
0x5734 | __3 | |
0x5764 | 1__ | |
0x577e | __3 | |
0x582b | __3 | |
0x5844 | 123 | |
0x5856 | __3 | |
0x585f | __3 | |
0x58d7 | 123 | |
0x5933 | 123 | |
0x5941 | _23 | |
0x5986 | _23 | |
0x598e | 1__ | |
0x59a8 | 1__ | |
0x59d9 | 1__ | |
0x5a23 | 1__ | |
0x5a36 | 123 | |
0x5a7d | 1__ | |
0x5b01 | 123 | |
0x5c0b | 123 | |
0x5c70 | 1__ | |
0x5c9e | 123 | With 0 parameters: Back up stat & world structs (see RAM map). With 1+ parameters: Back up specific pointers from the stat & world structs. |
0x5cbb | __3 | |
0x5cc4 | _23 | |
0x5ccc | 123 | |
0x5d02 | __3 | |
0x5d10 | 1__ | |
0x5d5f | __3 | |
0x5d66 | 1__ | |
0x5d74 | 123 | |
0x5da5 | _2_ | |
0x5de8 | 1__ | |
0x5e27 | _2_ | |
0x5e34 | 1__ | |
0x5e6e | __3 | |
0x5e71 | 1__ | |
0x5f5f | 123 | |
0x5f70 | __3 | |
0x5f89 | 1__ | |
0x5fce | 1__ | |
0x5fda | _23 | |
0x5ff4 | 1__ | |
0x6057 | 123 | |
0x6095 | 1__ | |
0x60b7 | 1__ | |
0x60fb | _23 | |
0x60fd | __3 | |
0x610a | _2_ | |
0x6116 | 1__ | |
0x612e | 123 | |
0x6131 | 1__ | |
0x6145 | 1__ | |
0x619c | 123 | |
0x61a0 | _23 | Solar Bank interest rate calcuation |
0x61a3 | 1__ | |
0x6205 | 1__ | |
0x6206 | 123 | |
0x6219 | 1__ | |
0x6255 | 1__ | |
0x6273 | _23 | |
0x6299 | __3 | |
0x62aa | _23 | |
0x62bc | 12_ | |
0x62c5 | __3 | |
0x62eb | __3 | |
0x6367 | _2_ | |
0x6389 | __3 | |
0x6393 | 1__ | |
0x63ef | 1__ | |
0x6414 | _23 | |
0x641d | _2_ | |
0x6487 | 123 | |
0x648f | __3 | |
0x650b | _23 | Create password menu |
0x654a | __3 | |
0x65e1 | _23 | |
0x65e2 | _23 | |
0x65ee | __3 | |
0x6603 | 1__ | |
0x661e | __3 | |
0x6632 | 1__ | |
0x6676 | 1__ | |
0x667c | 123 | |
0x6688 | _2_ | |
0x669e | 1__ | |
0x673c | 1__ | |
0x6779 | __3 | |
0x6790 | _23 | |
0x67c8 | 1__ | |
0x680e | _23 | |
0x6866 | __3 | |
0x686e | 123 | |
0x6913 | 123 | |
0x6978 | 12_ | |
0x6979 | 1__ | |
0x6987 | 1__ | |
0x6992 | 1__ | |
0x69cd | 123 | |
0x6a0f | __3 | |
0x6a37 | __3 | |
0x6a8a | 1__ | |
0x6aff | 123 | |
0x6b24 | _23 | |
0x6b25 | 1__ | |
0x6bee | 1__ | |
0x6c19 | 1__ | |
0x6c37 | 1__ | |
0x6cbe | _23 | |
0x6d54 | 1__ | |
0x6d69 | 123 | |
0x6e11 | __3 | |
0x6e34 | 1__ | |
0x6e4e | 1__ | |
0x6e7d | _23 | |
0x6e80 | 1__ | |
0x6f85 | _23 | |
0x7017 | _2_ | |
0x706d | _2_ | |
0x70b6 | __3 | |
0x70c6 | _23 | |
0x7117 | _2_ | |
0x71ba | _23 | |
0x71c6 | _23 | |
0x71e7 | _23 | |
0x71e9 | 1__ | |
0x7202 | 1__ | |
0x723e | _23 | |
0x7245 | __3 | |
0x727f | 123 | |
0x7300 | _23 | |
0x730a | _23 | |
0x7314 | __3 | |
0x7318 | 1__ | |
0x7325 | 1__ | int Inventory_GetAmount(i=item_id) |
0x7348 | _23 | |
0x734c | __3 | |
0x738e | 1__ | |
0x73fe | _23 | |
0x7443 | 1__ | |
0x744f | _23 | |
0x74d9 | 1__ | |
0x752d | 1__ | |
0x7539 | 123 | |
0x7566 | _23 | |
0x7595 | 1__ | |
0x75af | 123 | |
0x75b7 | _23 | |
0x75b9 | _2_ | |
0x75d0 | __3 | |
0x75df | 1__ | |
0x7636 | 123 | Loop(a=argument count of callback, r=number of executions, d=data to loop over, e=callback block)
This is complicated, need some examples... keywords "a" and "r" are always required, keyword "d" is optional: if provided, the loop behaves like a "for each" loop over the provided data, if not provided it behaves like a "for" loop between 0 and r. |
0x7653 | 1__ | |
0x7659 | 123 | |
0x76f4 | 1__ | |
0x773f | 1__ | |
0x774b | 1__ | |
0x775d | 1__ | |
0x778b | 123 | |
0x779f | 123 | |
0x7806 | _23 | |
0x7843 | _23 | |
0x7844 | __3 | |
0x789e | __3 | |
0x78c9 | _2_ | |
0x78ee | 123 | |
0x7905 | __3 | |
0x7923 | 1__ | |
0x7935 | 123 | InitArray(indexed-ptr, values...)
Copies values into the indexed-ptr. Partial writes are supported (you can specify less values than the size of the indexed-ptr). |
0x794c | 123 | |
0x7957 | 1__ | |
0x7974 | _23 | |
0x7978 | __3 | Load player's selected region when loading a save file |
0x7999 | _2_ | |
0x79b7 | 123 | |
0x79ec | 123 | |
0x7a0a | _23 | |
0x7a25 | _23 | |
0x7a27 | 123 | Video_LoadTileMap(d=file id, t=type, n=layer count, i=layer indices, c=layer IDs)
d: Tile map file ID |
0x7a75 | 123 | |
0x7a77 | 123 | |
0x7a82 | _23 | |
0x7b7d | _2_ | |
0x7b9f | 12_ | |
0x7bbc | __3 | |
0x7c56 | __3 | |
0x7c62 | _23 | |
0x7c9b | 1__ | |
0x7ca2 | __3 | |
0x7ce7 | _23 | |
0x7cea | 1__ | |
0x7cfc | 1__ | |
0x7d38 | 1__ | |
0x7d7c | 1__ | |
0x7d90 | _23 | |
0x7d9e | 1__ | |
0x7ddf | 1__ | |
0x7df5 | 1__ | |
0x7e33 | 123 | Elevator_Start(n=elevator ID, m=direction (1=down, 2=up, others?)) |
0x7e73 | _23 | |
0x7eba | 12_ | |
0x7f44 | 123 | |
0x7f5e | 123 | |
0x7f67 | 123 | |
0x7f87 | __3 | |
0x7fdd | __3 | |
0x7fed | 1__ | |
0x800c | _2_ | |
0x806a | 1__ | |
0x8071 | 123 | Camera_PanTo(p=(x,y,z), f=duration_frames, R=callback script ID (optional)) - For cutscenes |
0x8089 | 123 | Map_SpawnLoadingZoneIndicator(n=loading_zone_id) |
0x80e2 | __3 | |
0x80e3 | 1__ | |
0x814c | _23 | |
0x8153 | 123 | |
0x815c | _23 | |
0x8192 | __3 | |
0x819c | 1__ | |
0x81c4 | 123 | |
0x81c7 | __3 | |
0x820b | _23 | |
0x8211 | 1__ | |
0x822a | 1__ | |
0x827a | _23 | |
0x82b3 | _23 | |
0x82b7 | _23 | |
0x82c8 | _23 | |
0x8337 | _23 | |
0x839b | 1__ | |
0x83b2 | _23 | |
0x83e5 | _2_ | |
0x83e7 | _23 | |
0x83f9 | 1__ | Textbox_CloseChoices(m=?) |
0x8400 | _23 | |
0x8459 | _23 | |
0x84cf | __3 | |
0x852d | __3 | |
0x85c3 | __3 | |
0x8602 | _23 | |
0x86f3 | _23 | |
0x8779 | 1__ | |
0x877f | _23 | |
0x87ad | 1__ | |
0x87e4 | 123 | |
0x87fe | _2_ | |
0x883a | _23 | |
0x886b | 1__ | |
0x8872 | 1__ | |
0x8894 | _2_ | |
0x889d | 1__ | |
0x88b7 | _2_ | |
0x8918 | _23 | |
0x893c | __3 | |
0x8944 | __3 | |
0x8954 | _23 | |
0x898d | _23 | |
0x89c6 | _23 | |
0x8a05 | 1__ | Django_Emote(...) - Displays an emote over Django's head, like an exclamation mark or a question mark. i: Django index (optional, for multiplayer) |
0x8a21 | _2_ | |
0x8a51 | 1__ | |
0x8aab | 123 | |
0x8af6 | _23 | |
0x8b1e | __3 | |
0x8b67 | 123 | |
0x8b8e | _2_ | |
0x8c35 | _2_ | |
0x8cc7 | _2_ | |
0x8cf4 | 1__ | |
0x8cfe | _2_ | |
0x8d2d | _2_ | |
0x8d5c | 123 | |
0x8d63 | __3 | |
0x8d76 | __3 | |
0x8dd9 | 1__ | |
0x8df9 | 1__ | |
0x8e2f | 1__ | |
0x8e6a | 1__ | |
0x8e9f | _2_ | |
0x8ea3 | _23 | |
0x8ec8 | _2_ | |
0x8ecd | _23 | |
0x8f1e | 1__ | |
0x8f3f | 1__ | |
0x8f41 | 123 | |
0x8fa3 | _23 | |
0x8fcc | __3 | |
0x904b | _23 | |
0x9053 | 123 | |
0x9066 | __3 | |
0x906f | 1__ | |
0x9079 | __3 | |
0x90b4 | 123 | |
0x90bd | 1__ | |
0x9129 | __3 | |
0x9146 | 123 | |
0x917f | __3 | |
0x919e | 1__ | |
0x91a0 | 1__ | |
0x920f | _2_ | |
0x9276 | 1__ | Textbox_Confirm(?, m=?, r=string, p=callback)
p1 in callback = answer |
0x9284 | _23 | |
0x92be | _23 | |
0x92ed | _2_ | |
0x930f | 123 | |
0x9311 | 123 | |
0x933c | 123 | Django_MoveTo(p=(x,y,z), e=callback script ID, d=?) - Causes Django to walk somewhere. Mostly for cutscenes. |
0x9386 | _2_ | |
0x93dd | 1__ | |
0x94b4 | 1__ | |
0x94d9 | 12_ | |
0x94eb | _2_ | |
0x9519 | 123 | |
0x9531 | _23 | |
0x95a8 | 123 | |
0x95f8 | 123 | |
0x9671 | 1__ | |
0x96cd | __3 | |
0x9700 | 123 | |
0x975e | __3 | |
0x9763 | 123 | |
0x9769 | 123 | |
0x9791 | 1__ | |
0x980b | _2_ | |
0x9817 | _23 | |
0x9836 | 1__ | |
0x983a | _2_ | |
0x9882 | __3 | |
0x9898 | 1__ | |
0x98cb | __3 | |
0x98d8 | __3 | |
0x98ec | _23 | |
0x997b | _23 | |
0x99ca | 123 | |
0x99f8 | _23 | |
0x99fa | 123 | |
0x9a9f | 12_ | |
0x9ac8 | _23 | |
0x9ae3 | 1__ | |
0x9b3e | __3 | |
0x9bc7 | _23 | |
0x9c0c | 1__ | |
0x9c24 | __3 | |
0x9c2c | __3 | |
0x9c3f | _23 | |
0x9cc2 | __3 | |
0x9cf3 | 1__ | |
0x9d20 | 1__ | |
0x9dfe | _23 | |
0x9e27 | 1__ | |
0x9e41 | 1__ | |
0x9e8b | 123 | |
0x9e8d | _23 | |
0x9ec0 | 12_ | |
0x9f1b | __3 | |
0x9f67 | 1__ | |
0x9f6b | 1__ | |
0x9fb7 | 123 | |
0x9ffd | _23 | |
0xa046 | __3 | |
0xa062 | _2_ | |
0xa06f | 1__ | |
0xa0a6 | _2_ | |
0xa10a | __3 | |
0xa133 | _2_ | |
0xa169 | 1__ | |
0xa16f | 123 | ElevatorController_Create() - Call this before creating any elevators with engine call 0xa4fc |
0xa1af | 1__ | |
0xa1d7 | 12_ | |
0xa222 | 123 | |
0xa225 | __3 | |
0xa23d | 1__ | |
0xa285 | _2_ | |
0xa288 | _2_ | |
0xa2db | __3 | |
0xa2e1 | _23 | |
0xa2e4 | 123 | |
0xa301 | 123 | |
0xa39f | 123 | |
0xa3aa | 123 | |
0xa3b3 | 123 | |
0xa46e | __3 | |
0xa4fc | 123 | Elevator_Create(...) Creates an elevator. This only works after calling engine call 0xa16f. There are many possible keywords, this is just a subset: |
0xa58d | 1__ | |
0xa5d0 | 1__ | |
0xa5e2 | 1__ | |
0xa61c | 123 | |
0xa628 | 123 | |
0xa630 | 1__ | |
0xa67b | __3 | |
0xa687 | _2_ | |
0xa69d | __3 | |
0xa72a | 1__ | |
0xa76d | _23 | |
0xa7ce | _23 | |
0xa7d0 | 1__ | |
0xa7f9 | 1__ | |
0xa801 | __3 | |
0xa864 | _23 | |
0xa874 | 1__ | |
0xa8cb | __3 | |
0xa8f1 | 123 | |
0xa8f4 | 1__ | |
0xa92e | __3 | |
0xa939 | 1__ | |
0xa995 | _23 | |
0xa99f | 123 | |
0xa9bc | 1__ | |
0xaa62 | _23 | |
0xaa65 | _2_ | |
0xab3c | 123 | TextBox_SetVar(n, value) - Access via <VAR=n> tags in strings |
0xab41 | 123 | |
0xab4e | _2_ | |
0xab8e | 123 | |
0xab9c | 123 | |
0xac17 | 1__ | |
0xac78 | 1__ | |
0xac8c | 1__ | |
0xac98 | 12_ | |
0xaca8 | 1__ | |
0xace3 | _23 | |
0xad03 | _23 | |
0xadb3 | 1__ | |
0xadb6 | 123 | |
0xadd2 | 123 | TextBox_EnableAutoAdvance(?, delay_frames) |
0xae32 | 1__ | |
0xae36 | 1__ | |
0xae3a | 123 | |
0xae4e | _23 | |
0xae71 | 123 | |
0xae8b | 1__ | |
0xaeb2 | 123 | |
0xaecc | 1__ | |
0xaee2 | 1__ | |
0xaf10 | __3 | |
0xaf33 | _23 | |
0xaf43 | _23 | |
0xaf7a | 1__ | |
0xaf8e | _23 | |
0xb002 | 1__ | |
0xb005 | _23 | |
0xb00f | 1__ | |
0xb02f | 1__ | |
0xb06e | __3 | |
0xb0aa | __3 | |
0xb0b4 | _2_ | |
0xb0bc | _23 | |
0xb0ce | __3 | |
0xb0d0 | __3 | |
0xb0ff | 1__ | |
0xb164 | _23 | |
0xb189 | _2_ | |
0xb1c4 | 123 | Elevator_Shake(n=elevator ID) - Shakes an elevator for 1 frame |
0xb1f3 | __3 | |
0xb294 | _2_ | |
0xb369 | 1__ | Carmilla: Spawn mirror block |
0xb3d1 | _23 | |
0xb3d7 | 123 | |
0xb3e4 | 1__ | |
0xb3e7 | 1__ | |
0xb3fe | 1__ | |
0xb426 | _23 | |
0xb45f | _23 | |
0xb47e | _23 | |
0xb4b4 | 123 | |
0xb50d | 123 | |
0xb511 | 1__ | |
0xb55a | 123 | |
0xb5bd | 1__ | |
0xb603 | _23 | |
0xb639 | 123 | Unknown? Must be called for enemy spawning to work |
0xb683 | _23 | |
0xb6ce | 123 | |
0xb6eb | 1__ | |
0xb6ff | 12_ | |
0xb75d | __3 | |
0xb762 | 1__ | |
0xb76c | _23 | |
0xb838 | 123 | |
0xb83e | _23 | |
0xb85f | _2_ | |
0xb86d | 1__ | |
0xb87b | 123 | |
0xb88c | _2_ | |
0xb8b9 | 123 | |
0xb8c7 | 123 | |
0xb8fe | 1__ | |
0xba1c | 1__ | |
0xba1d | __3 | |
0xba36 | _2_ | |
0xba4b | _2_ | |
0xbb01 | 123 | |
0xbb34 | _23 | |
0xbbaa | 123 | |
0xbc12 | __3 | |
0xbc5e | 1__ | |
0xbcc8 | 1__ | |
0xbcd2 | __3 | |
0xbd3d | __3 | |
0xbd45 | 1__ | |
0xbd6b | 1__ | |
0xbd74 | _2_ | |
0xbe46 | 12_ | |
0xbec2 | 123 | |
0xbef5 | 123 | |
0xbf96 | 1__ | |
0xc015 | _23 | |
0xc036 | __3 | |
0xc077 | __3 | |
0xc0b0 | 123 | Camera_Create() |
0xc12a | 123 | |
0xc12d | _23 | |
0xc15e | 123 | |
0xc1f2 | 123 | Enemy_Sleep(n=enemy id) - Makes an enemy fall asleep |
0xc233 | _23 | |
0xc23d | 1__ | |
0xc272 | __3 | |
0xc281 | __3 | |
0xc347 | _2_ | |
0xc358 | 1__ | |
0xc3a7 | __3 | |
0xc3bc | _23 | |
0xc419 | 123 | |
0xc438 | 123 | |
0xc46e | _23 | |
0xc4d9 | 1__ | |
0xc52a | __3 | |
0xc551 | 1__ | |
0xc556 | 123 | |
0xc5bd | __3 | |
0xc5d8 | _2_ | |
0xc60f | 123 | |
0xc673 | _23 | |
0xc6aa | 123 | Textbox_CloseBox(m=?)
Without ‘m’ this is a nop? |
0xc765 | _23 | |
0xc783 | _2_ | |
0xc795 | 1__ | |
0xc7dc | _23 | |
0xc814 | _2_ | |
0xc8d1 | __3 | |
0xc913 | __3 | |
0xc946 | _23 | |
0xc959 | 1__ | |
0xc9bc | _2_ | |
0xc9c1 | 1__ | |
0xc9f1 | 1__ | |
0xca0a | 1__ | |
0xca3d | 123 | |
0xca53 | 1__ | |
0xca73 | _2_ | |
0xca7d | 123 | |
0xca93 | 1__ | |
0xca9a | __3 | |
0xcabd | 1__ | |
0xcaee | 123 | |
0xcafe | _23 | |
0xcb19 | __3 | |
0xcb30 | 123 | |
0xcbb0 | _23 | |
0xcc28 | 123 | |
0xcc36 | __3 | |
0xcc8d | __3 | |
0xccc4 | 1__ | |
0xccd3 | _23 | |
0xccd9 | _23 | |
0xcd57 | _2_ | |
0xce28 | _2_ | |
0xcece | 1__ | bool Inventory_HasGunPart(p=type, i=index)
index: 0=lens, 1=frame, 2=grenades (always returns false), 3=battery |
0xced9 | _23 | |
0xcf43 | 1__ | |
0xcf58 | _23 | |
0xcf79 | _2_ | |
0xcf82 | _2_ | |
0xcfd2 | __3 | |
0xd017 | __3 | |
0xd056 | 1__ | |
0xd070 | 1__ | |
0xd0c3 | _23 | |
0xd0c7 | 123 | |
0xd0ce | 123 | |
0xd0ee | 1__ | |
0xd169 | 123 | |
0xd179 | 1__ | |
0xd1c0 | _23 | |
0xd21e | 1__ | |
0xd229 | _2_ | |
0xd24b | _23 | |
0xd25f | _23 | |
0xd285 | _23 | |
0xd317 | 1__ | |
0xd37f | _2_ | |
0xd3a9 | _23 | |
0xd3da | 1__ | |
0xd401 | 123 | |
0xd40e | _23 | |
0xd42e | 1__ | |
0xd438 | _2_ | |
0xd455 | 1__ | |
0xd459 | __3 | |
0xd4b5 | _2_ | |
0xd4df | 1__ | |
0xd4e3 | 123 | |
0xd53d | _23 | |
0xd562 | _23 | |
0xd5ae | 1__ | |
0xd60a | 1__ | |
0xd6d4 | 1__ | |
0xd6f7 | 123 | |
0xd774 | _23 | |
0xd7f4 | _23 | |
0xd826 | __3 | |
0xd852 | 123 | |
0xd854 | _23 | |
0xd8af | 1__ | |
0xd8df | _2_ | |
0xd916 | _23 | |
0xd935 | _23 | |
0xd968 | __3 | |
0xd972 | 1_3 | Spawn the Count |
0xd991 | 1__ | |
0xd9ae | 123 | |
0xd9b5 | 1__ | Give gun part silently (p=part, i=id)
p: lens=0, frame=1, battery=3, 2=??? |
0xd9b7 | _23 | |
0xd9d3 | _23 | |
0xda0b | _23 | |
0xda0e | __3 | |
0xda19 | _23 | |
0xda44 | 1__ | |
0xda5a | 123 | |
0xdaa4 | _2_ | |
0xdaeb | 1__ | |
0xdb6c | _23 | |
0xdb8d | __3 | |
0xdc21 | 123 | |
0xdd0e | _23 | |
0xdd91 | 123 | |
0xddcf | 123 | Spawn chest? |
0xddd0 | _23 | |
0xddee | _23 | |
0xddf8 | 123 | |
0xdea2 | _23 | |
0xded5 | _23 | |
0xdee4 | 1__ | |
0xdf38 | 1__ | |
0xdf50 | 1__ | |
0xdf85 | _23 | |
0xdfab | _23 | |
0xdfc6 | _23 | |
0xdfdc | __3 | |
0xe00d | __3 | |
0xe019 | 123 | |
0xe02a | 123 | |
0xe02e | _23 | |
0xe043 | __3 | |
0xe06a | _2_ | |
0xe078 | 1__ | |
0xe083 | _23 | GiveMagic(m=magic) |
0xe0a5 | 123 | |
0xe0e1 | _2_ | |
0xe118 | 1__ | |
0xe131 | _23 | |
0xe14b | 12_ | |
0xe18f | __3 | |
0xe1c6 | 123 | |
0xe1fe | 1__ | |
0xe212 | 1__ | |
0xe23f | __3 | |
0xe28b | 123 | |
0xe33a | 1__ | |
0xe3b3 | __3 | |
0xe3ee | __3 | |
0xe415 | 1__ | |
0xe417 | 1__ | |
0xe435 | 123 | |
0xe4a3 | _23 | |
0xe4a6 | 1__ | |
0xe4b1 | 123 | |
0xe534 | _23 | |
0xe588 | 1__ | |
0xe68e | 1__ | |
0xe6ca | _23 | |
0xe6f2 | 123 | |
0xe70e | _2_ | |
0xe756 | _2_ | |
0xe77c | _23 | |
0xe7bc | __3 | |
0xe7ca | 123 | Sound_PlaySfx(i=sound ID) - Plays a sound effect. Exactly the same as engine call 0x53bf. |
0xe832 | __3 | |
0xe881 | __3 | |
0xe95a | 1__ | |
0xe95e | 1__ | |
0xe990 | _2_ | |
0xe9d3 | 123 | |
0xe9da | _2_ | |
0xe9e2 | _23 | |
0xea00 | _23 | |
0xea96 | _23 | |
0xeaa0 | 1__ | |
0xeaac | 123 | |
0xeaaf | 123 | |
0xeab4 | _23 | |
0xeb42 | _23 | |
0xebf1 | __3 | |
0xebff | _23 | |
0xec1f | 123 | |
0xec2a | 123 | |
0xec35 | 1__ | |
0xec5b | 123 | |
0xec71 | __3 | |
0xec74 | 1__ | |
0xec7d | 1__ | |
0xec96 | _2_ | |
0xed07 | _2_ | |
0xed13 | 1__ | |
0xed1f | _23 | |
0xed2e | _23 | |
0xedda | 1__ | |
0xede2 | 123 | |
0xee18 | 123 | |
0xee34 | 1__ | |
0xef19 | 123 | |
0xef1f | __3 | |
0xef66 | 123 | |
0xef6f | _23 | |
0xef7c | 1__ | |
0xefb0 | 1__ | |
0xefbf | 1__ | |
0xefd1 | _23 | |
0xefe6 | 123 | |
0xf00c | 1__ | UI_CreateItemNotification(p=position, t=sprite?) |
0xf024 | __3 | |
0xf03c | 1__ | |
0xf04a | 123 | |
0xf04b | 123 | |
0xf083 | __3 | |
0xf0c3 | 1__ | |
0xf0cc | 123 | |
0xf11c | _23 | |
0xf156 | _23 | |
0xf159 | 1__ | |
0xf1f9 | _23 | |
0xf200 | _23 | |
0xf223 | 1__ | |
0xf246 | __3 | |
0xf272 | 1__ | |
0xf2af | 1__ | |
0xf2b3 | 1__ | |
0xf2d6 | 1__ | |
0xf2f7 | 1__ | |
0xf31a | __3 | |
0xf33f | _2_ | |
0xf341 | 123 | Camera_Reset(f=duration_frames, R=callback script ID (optional)) - Centers the camera on Django (useful to undo engine call 0x3824) |
0xf3a3 | __3 | |
0xf3e4 | __3 | |
0xf404 | 123 | |
0xf41a | _23 | |
0xf426 | __3 | |
0xf5eb | 123 | |
0xf5f2 | 1__ | |
0xf61b | 1__ | |
0xf639 | __3 | |
0xf661 | _23 | |
0xf6ad | 1__ | |
0xf6cf | __3 | |
0xf6d3 | __3 | |
0xf7a7 | 1__ | |
0xf836 | _23 | |
0xf86e | __3 | |
0xf8b1 | 1__ | |
0xf8be | _23 | |
0xf8d7 | 1__ | |
0xf982 | _2_ | |
0xf993 | _23 | |
0xf9d7 | __3 | |
0xf9f1 | _2_ | |
0xfa5d | 123 | |
0xfb4a | __3 | |
0xfb53 | _2_ | |
0xfb6b | 1__ | |
0xfb8c | _23 | |
0xfbc1 | 123 | |
0xfbe5 | _2_ | |
0xfc96 | __3 | |
0xfcd9 | __3 | |
0xfd12 | _2_ | |
0xfd59 | 1__ | |
0xfd6b | 123 | |
0xfd86 | _23 | |
0xfdd0 | 1__ | |
0xfe36 | 1__ | |
0xfe3f | __3 | |
0xfe88 | __3 | |
0xfe92 | __3 | |
0xfea2 | __3 | |
0xfebb | 123 | |
0xfee0 | 123 | |
0xfee1 | 1__ | |
0xfef2 | _2_ | |
0xff7f | 1__ |