aboutsummaryrefslogtreecommitdiff
path: root/backends/gp32/gp32.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/gp32/gp32.h')
-rw-r--r--backends/gp32/gp32.h203
1 files changed, 0 insertions, 203 deletions
diff --git a/backends/gp32/gp32.h b/backends/gp32/gp32.h
deleted file mode 100644
index d58f894157..0000000000
--- a/backends/gp32/gp32.h
+++ /dev/null
@@ -1,203 +0,0 @@
-#include "common/stdafx.h"
-#include "common/scummsys.h"
-#include "common/system.h"
-#include "common/scummsys.h"
-#include "common/stdafx.h"
-#include "common/engine.h"
-#include "scumm/saveload.h"
-#include "common/scaler.h"
-
-extern "C" {
- #include "gpdebug.h"
-}
-
-#include "gpsdl.h" // hehe :)
-
-class OSystem_GP32 : public OSystem {
-public:
- // Set colors of the palette
- void set_palette(const byte *colors, uint start, uint num);
-
- // Set the size of the video bitmap.
- // Typically, 320x200
- void init_size(uint w, uint h);
-
- // Draw a bitmap to screen.
- // The screen will not be updated to reflect the new bitmap
- void copy_rect(const byte *buf, int pitch, int x, int y, int w, int h);
-
- // Moves the screen content around by the given amount of pixels
- // but only the top height pixel rows, the rest stays untouched
- void move_screen(int dx, int dy, int height);
-
- // Update the dirty areas of the screen
- void update_screen();
-
- // Either show or hide the mouse cursor
- bool show_mouse(bool visible);
-
- // Set the position of the mouse cursor
- void set_mouse_pos(int x, int y);
-
- // Set the bitmap that's used when drawing the cursor.
- void set_mouse_cursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y);
-
- // Shaking is used in SCUMM. Set current shake position.
- void set_shake_pos(int shake_pos);
-
- // Get the number of milliseconds since the program was started.
- uint32 get_msecs();
-
- // Delay for a specified amount of milliseconds
- void delay_msecs(uint msecs);
-
- // Create a thread
- void *create_thread(ThreadProc *proc, void *param);
-
- // Get the next event.
- // Returns true if an event was retrieved.
- bool poll_event(Event *event);
-
- // Set the function to be invoked whenever samples need to be generated
- // Format is the sample type format.
- // Only 16-bit signed mode is needed for simon & scumm
- bool set_sound_proc(void *param, SoundProc *proc, byte format);
-
- // Get or set a property
- uint32 property(int param, Property *value);
-
- // Poll cdrom status
- // Returns true if cd audio is playing
- bool poll_cdrom();
-
- // Play cdrom audio track
- void play_cdrom(int track, int num_loops, int start_frame, int end_frame);
-
- // Stop cdrom audio track
- void stop_cdrom();
-
- // Update cdrom audio status
- void update_cdrom();
-
- // Add a new callback timer
- void set_timer(int timer, int (*callback)(int));
-
- // Mutex handling
- void *create_mutex(void);
- void lock_mutex(void *mutex);
- void unlock_mutex(void *mutex);
- void delete_mutex(void *mutex);
-
- // Quit
- void quit();
-
- // Overlay
- void show_overlay();
- void hide_overlay();
- void clear_overlay();
- void grab_overlay(int16 *buf, int pitch);
- void copy_rect_overlay(const int16 *buf, int pitch, int x, int y, int w, int h);
-
- static OSystem *create(int gfx_mode, bool full_screen);
-private:
- typedef void ScalerProc(uint8 *srcPtr, uint32 srcPitch, uint8 *deltaPtr,
- uint8 *dstPtr, uint32 dstPitch, int width, int height);
-
- SDL_Surface *sdl_tmpscreen; // temporary screen (for scalers/overlay)
- SDL_Surface *sdl_hwscreen; // hardware screen
- bool _overlay_visible;
-
- ScalerProc *_scaler_proc;
-
- int TMP_SCREEN_WIDTH;
-
- //uint msec_start;
- //uint32 get_ticks();
-
- ///OSystem_GP32(); // eh?
- /// ~OSystem_GP32();
-
- // unseen game screen
- SDL_Surface *_screen;
- int _screenWidth, _screenHeight;
-
- // CD Audio
- ///SDL_CD *_cdrom;
- int cd_track, cd_num_loops, cd_start_frame, cd_end_frame;
- uint32 cd_end_time, cd_stop_time, cd_next_second;
-
- enum {
- DF_WANT_RECT_OPTIM = 1 << 0,
- DF_UPDATE_EXPAND_1_PIXEL = 1 << 3
- };
-
- bool _forceFull; // Force full redraw on next update_screen
- int _scaleFactor;
- int _mode;
- bool _full_screen;
- uint32 _mode_flags;
-
- enum {
- NUM_DIRTY_RECT = 100,
-
- MAX_MOUSE_W = 40,
- MAX_MOUSE_H = 40,
- MAX_SCALING = 3
- };
-
- // Dirty rect managment
- SDL_Rect _dirty_rect_list[100];
- int _num_dirty_rects;
- uint32 *_dirty_checksums;
- bool cksum_valid;
- int CKSUM_NUM;
-
- // Keyboard mouse emulation
- struct KbdMouse {
- int16 x, y, x_vel, y_vel, x_max, y_max, x_down_count, y_down_count;
- uint32 last_time, delay_time, x_down_time, y_down_time;
- } km;
-
- struct MousePos {
- int16 x, y, w, h;
- };
-
- bool _mouseVisible;
- bool _mouseDrawn;
- byte *_mouseData;
- byte *_mouseBackup;
- MousePos _mouse_cur_state;
- MousePos _mouse_old_state;
- int16 _mouseHotspotX;
- int16 _mouseHotspotY;
-
- // Shake mode
- int _currentShakePos;
- int _newShakePos;
-
- // Palette data
- SDL_Color *_currentPalette;
- uint _paletteDirtyStart, _paletteDirtyEnd;
-
-
- void add_dirty_rgn_auto(const byte *buf);
- void mk_checksums(const byte *buf);
-
- static void fill_sound(void *userdata, Uint8 * stream, int len);
-
- void add_dirty_rect(int x, int y, int w, int h);
-
- void draw_mouse();
- void undraw_mouse();
-
- void load_gfx_mode();
- void unload_gfx_mode();
- void hotswap_gfx_mode();
-
- void get_screen_image(byte *buf);
-
- void setup_icon();
- void kbd_mouse();
-
- static OSystem_GP32 *create();
-};