aboutsummaryrefslogtreecommitdiff
path: root/engines/gargoyle/frotz/glk_interface.h
diff options
context:
space:
mode:
authorPaul Gilbert2018-11-13 19:47:07 -0800
committerPaul Gilbert2018-12-08 19:05:59 -0800
commit1fb931fbd950324754536ee0b33ed0b91f68c9a2 (patch)
treea00c388b39ece9d327f9ddff4109f8795f8aa3a8 /engines/gargoyle/frotz/glk_interface.h
parent7d670ff157fbc3df45f70f9e7a5b537b3d13152b (diff)
downloadscummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.tar.gz
scummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.tar.bz2
scummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.zip
GLK: Changing gargoyle folder to glk
Diffstat (limited to 'engines/gargoyle/frotz/glk_interface.h')
-rw-r--r--engines/gargoyle/frotz/glk_interface.h195
1 files changed, 0 insertions, 195 deletions
diff --git a/engines/gargoyle/frotz/glk_interface.h b/engines/gargoyle/frotz/glk_interface.h
deleted file mode 100644
index 5393c5de10..0000000000
--- a/engines/gargoyle/frotz/glk_interface.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef GARGOYLE_FROTZ_GLK_INTERFACE
-#define GARGOYLE_FROTZ_GLK_INTERFACE
-
-#include "gargoyle/glk.h"
-#include "gargoyle/frotz/mem.h"
-
-namespace Gargoyle {
-namespace Frotz {
-
-enum SoundEffect {
- EFFECT_PREPARE = 1,
- EFFECT_PLAY = 2,
- EFFECT_STOP = 3,
- EFFECT_FINISH_WITH = 4
-};
-
-enum RestartAction {
- RESTART_BEGIN = 0,
- RESTART_WPROP_SET = 1,
- RESTART_END = 2
-};
-
-
-/**
- * Implements an intermediate interface on top of the GLK layer, providing screen
- * and sound effect handling
- */
-class GlkInterface : public Glk, public virtual UserOptions, public virtual Mem {
-public:
- zchar statusline[256];
- int oldstyle;
- int curstyle;
- int cury;
- int curx;
- int fixforced;
-
- int curr_fg;
- int curr_bg;
- int curr_font;
- int prev_font;
- int temp_font;
-
- int curr_status_ht;
- int mach_status_ht;
-
- winid_t gos_status;
- winid_t gos_upper;
- winid_t gos_lower;
- winid_t gos_curwin;
- int gos_linepending;
- zchar *gos_linebuf;
- winid_t gos_linewin;
- schanid_t gos_channel;
-
- // Current window and mouse data
- int cwin;
- int mwin;
- int mouse_y;
- int mouse_x;
- int menu_selected;
-
- // IO streams
- bool ostream_screen;
- bool ostream_script;
- bool ostream_memory;
- bool ostream_record;
- bool istream_replay;
- bool message;
-
- // Window attributes
- bool enable_wrapping;
- bool enable_scripting;
- bool enable_scrolling;
- bool enable_buffering;
-
- // Sound fields
- int next_sample;
- int next_volume;
-
- bool _soundLocked;
- bool _soundPlaying;
-protected:
- int os_char_width(zchar z);
- int os_string_width(const zchar *s);
- int os_string_length(zchar *s);
- void os_prepare_sample(int a);
- void os_finish_with_sample(int a);
-
- /**
- * Play the given sample at the given volume (ranging from 1 to 8 and
- * 255 meaning a default volume). The sound is played once or several
- * times in the background (255 meaning forever). In Z-code 3 the
- * repeats value is always 0 and the number of repeats is taken from
- * the sound file itself. The end_of_sound function is called as soon
- * as the sound finishes.
- */
- void os_start_sample(int number, int volume, int repeats, zword eos);
-
- void os_stop_sample(int a);
- void os_beep(int volume);
-
- /**
- * Call the IO interface to play a sample.
- */
- void start_sample(int number, int volume, int repeats, zword eos);
-
- void start_next_sample();
- void gos_update_width();
- void gos_update_height();
- void reset_status_ht();
- void erase_window(zword w);
- void split_window(zword lines);
- void restart_screen();
-
- /**
- * statusline overflowed the window size ... bad game!
- * so ... split status text into regions, reformat and print anew.
- */
- void packspaces(zchar *src, zchar *dst);
-
- void smartstatusline();
-
- /**
- * Cancels any pending line
- */
- void gos_cancel_pending_line();
-
- /**
- * Called during game restarts
- */
- void os_restart_game(RestartAction) {}
-
- /**
- * Reads the mouse buttons
- */
- zword os_read_mouse() {
- // Not implemented
- return 0;
- }
-
- void os_scrollback_char(zchar z) {
- // Not implemented
- }
-
- void os_scrollback_erase(int amount) {
- // Not implemented
- }
-
- /**
- * Waits for a keypress
- */
- zchar os_read_key(int timeout, bool show_cursor);
-
- /**
- * Waits for the user to type an input line
- */
- zchar os_read_line(int max, zchar *buf, int timeout, int width, int continued);
-public:
- /**
- * Constructor
- */
- GlkInterface(OSystem *syst, const GargoyleGameDescription *gameDesc);
-
- /**
- * Initialization
- */
- void initialize();
-};
-
-} // End of namespace Frotz
-} // End of namespace Gargoyle
-
-#endif