If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Speedy Blupi 2/RAM map
Jump to navigation
Jump to search
The following article is a RAM map for Speedy Blupi 2.
This table compares addresses for two versions of the game: Speedy Blupi 2 version 2.2 English (as available on blupi.org), and Speedy Eggbert 2 version 1.x English. Italicized names are speculative; non-italicized names directly match the Planet Blupi source code.
Globals
Address | Datatype | Symbol | Info | |
---|---|---|---|---|
Blupi | Eggbert | |||
435030 | int | g_speedRate | How many iterations of events are processed in one frame. Default is 1. Multiplicative with CEvent.m_speed | |
435034 | int | g_timerInterval | Target frame time in milliseconds. Default is 50 ms (20 fps) | |
435038 | int | g_mouseType | ||
43503c | UINT | g_lastPhase | ||
48a3c8 | char[260] | g_CDPath | MAX_PATH is 260 | |
48a4cc | ||||
48a4d0 | ||||
48a4d4 | ||||
48a4d8 | 48ebf8 | CEvent * | g_pEvent | Event handler |
48a4dc | 48ebfc | CPixmap * | g_pPixmap | Graphics handler |
48a4e0 | 48ec00 | CSound * | g_pSound | Sound handler |
48a4e4 | 48ec04 | CNetwork * | g_pNetwork | Netplay handler |
48a4e8 | 48ec08 | CMovie * | g_pMovie | Video playback handler (leftover) |
48a4ec | 48ec0c | CDecor * | g_pDecor | Gameplay handler |
48a4f0 | BOOL | g_bFullScreen | ||
48a4f4 | BOOL | g_bBenchmarkSuccess | Whether the PC is deemed strong enough for 16-bit graphics. | |
48a4f8 | BOOL | g_bTrueColor | ||
48a4fc | BOOL | g_bTrueColorDecor | ||
48a500 | BOOL | g_bCDAudio | If TRUE, forego all MIDI playback and instead play the corresponding track on an audio CD. (unused) | |
48a504 | int | g_benchmark | The numeric result of the performance benchmark (seemingly measured by the number of images drawn within a time interval?) | |
48a508 | ||||
48a50c | BOOL | g_bActive | Whether the application window is focused. | |
48a510 | BOOL | g_bTermInit | TRUE when the application is done initializing.
FALSE when starting up (loading graphics, doing benchmark, etc). |
CEvent class
Address | Datatype | Symbol | Info | |
---|---|---|---|---|
Blupi | Eggbert | |||
0004 | int | m_joyID | DInput device ID for joystick | |
041C | int | m_gamer | Currently selected player file index; [1..8] | |
0420 | int | m_textHiliStart | Index of first highlighted character in text input box | |
0424 | int | m_textHiliEnd | Index of last highlighted character in text input box | |
0428 | int | m_textCursorIndex | Position of text cursor in text box | |
042c | char[100] | m_textInput | Text input box contents | |
0490 | char[100] | m_playerName | Current player file name | |
0904 | char[100][256] | m_filenameBuffer | Buffer for custom level filenames in C:\User. Only the first 100 files are shown. | |
6d04 | ||||
6d08 | ||||
6d0c | int | m_userDirectoryIndex | ||
6d10 | ||||
6d14 | int | m_lives | Number of extra lives | |
6d18 | int | m_speed | How many iterations of events are processed in one frame. Default is 1. F5/F6 keys toggle between 1x and 2x. Multiplicative with g_speedRate | |
6d1c | int | m_mission | ||
6d20 | int | m_private | ||
6d24 | int | m_multi | ||
6d28 | int | m_phase | ||
6d2c | int | m_index | ||
6d30 | ||||
6d34 | ||||
6d38 | BOOL | m_bPrivate | ||
6d3c | BOOL | m_bMulti | ||
6d40 | BOOL | m_bAccessBuild | Whether the XMISSION (xnjttjpo) cheat is enabled, allowing the player to edit the singleplayer campaign. | |
6d44 | ||||
6d48 | m_mouseType | |||
6d4c | HINSTANCE | m_hInstance | ||
6d50 | HWND | m_hWnd | ||
6d54 | CPixmap * | m_pPixmap | ||
6d58 | CDecor * | m_pDecor | ||
6d5c | CSound * | m_pSound | ||
6d60 | CNetwork * | m_pNetwork | ||
6d64 | CMovie * | m_pMovie | ||
6d68 | char[260] | m_movieToStart | Filename of the currently loaded AVI file. MAX_PATH is 260. (unused) | |
6d6c | int | m_phaseAfterMovie | Which Phase to switch to after AVI playback is done. | |
6d70 | Button[40] | m_buttons | Menu buttons on the current screen. | |
9494 | int | m_input | Bitmap of current player input. If a demo is running, this represents the input of the demo. | |
9860 | POINT | m_oldMousePos | ||
98c0 | POINT | m_posToolTips | Screen coordinates of the currently visible UI tooltip. | |
98c4 | char[50] | m_textToolTips | Current UI tooltip text. | |
992c | int | m_mouseSprite | ||
9930 | BOOL | m_bWaitMouse | ||
9934 | BOOL | m_bHideMouse | ||
9938 | BOOL | m_bFillMouse | ||
993c | BOOL | m_bShowMouse | ||
9940 | int | m_tryPhase | ||
9944 | int | m_rankCheat | Which cheat the player is currently typing. Since every cheat begins with a unique letter, any given input can only correspond to one cheat. | |
9948 | int | m_posCheat | ||
9964 | BOOL | m_bDemoRec | TRUE if a demo is being recorded. | |
9968 | BOOL | m_bDemoPlay | TRUE if a demo is being played back. | |
996c | DemoEvent * | m_pDemoBuffer | Pointer to the currently processing demo event | |
9970 | int | m_demoTime | Demo playback frame counter | |
9974 | int | m_demoIndex | The index of the current input event in the demo | |
9978 | int | m_demoEnd | ||
997c | int | m_demoNumber | The index of the currently playing demo in the queue. | |
9980 | ||||
9984 | ||||
9988 | char[100][5] | m_chatZone | Netplay chat log buffer. | |
9b7c | char[100] | m_text | Currently active tutorial text. |