diff options
Diffstat (limited to 'backends/gp32/gp32.h')
-rw-r--r-- | backends/gp32/gp32.h | 203 |
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(); -}; |