aboutsummaryrefslogtreecommitdiff
path: root/engines/gargoyle
diff options
context:
space:
mode:
authordreammaster2018-11-10 05:42:22 +0000
committerPaul Gilbert2018-12-08 19:05:59 -0800
commita8e656a5de01e18697fa4f0086215d11d9143197 (patch)
tree95387943edd3e57d8db031534dc4105de05e525c /engines/gargoyle
parent5ddf55da6cb9ba283229d2a06014ab5b88f6bfb4 (diff)
downloadscummvm-rg350-a8e656a5de01e18697fa4f0086215d11d9143197.tar.gz
scummvm-rg350-a8e656a5de01e18697fa4f0086215d11d9143197.tar.bz2
scummvm-rg350-a8e656a5de01e18697fa4f0086215d11d9143197.zip
GLK: astyle formatting
Diffstat (limited to 'engines/gargoyle')
-rw-r--r--engines/gargoyle/conf.cpp58
-rw-r--r--engines/gargoyle/detection.cpp24
-rw-r--r--engines/gargoyle/detection_tables.h2
-rw-r--r--engines/gargoyle/events.cpp111
-rw-r--r--engines/gargoyle/events.h44
-rw-r--r--engines/gargoyle/fonts.h32
-rw-r--r--engines/gargoyle/gargoyle.cpp8
-rw-r--r--engines/gargoyle/gargoyle.h16
-rw-r--r--engines/gargoyle/glk.cpp48
-rw-r--r--engines/gargoyle/glk.h40
-rw-r--r--engines/gargoyle/glk_types.h10
-rw-r--r--engines/gargoyle/scott/scott.cpp186
-rw-r--r--engines/gargoyle/scott/scott.h34
-rw-r--r--engines/gargoyle/screen.h4
-rw-r--r--engines/gargoyle/selection.cpp10
-rw-r--r--engines/gargoyle/selection.h4
-rw-r--r--engines/gargoyle/streams.cpp67
-rw-r--r--engines/gargoyle/streams.h42
-rw-r--r--engines/gargoyle/unicode.cpp7
-rw-r--r--engines/gargoyle/unicode.h2
-rw-r--r--engines/gargoyle/unicode_gen.cpp7325
-rw-r--r--engines/gargoyle/unicode_gen.h784
-rw-r--r--engines/gargoyle/window_graphics.cpp6
-rw-r--r--engines/gargoyle/window_graphics.h18
-rw-r--r--engines/gargoyle/window_pair.cpp24
-rw-r--r--engines/gargoyle/window_text_buffer.cpp801
-rw-r--r--engines/gargoyle/window_text_buffer.h30
-rw-r--r--engines/gargoyle/window_text_grid.cpp46
-rw-r--r--engines/gargoyle/window_text_grid.h36
-rw-r--r--engines/gargoyle/windows.cpp56
-rw-r--r--engines/gargoyle/windows.h80
31 files changed, 5058 insertions, 4897 deletions
diff --git a/engines/gargoyle/conf.cpp b/engines/gargoyle/conf.cpp
index 7add133cba..9a0d6482aa 100644
--- a/engines/gargoyle/conf.cpp
+++ b/engines/gargoyle/conf.cpp
@@ -35,31 +35,31 @@ const byte SCROLL_BG[3] = { 0xb0, 0xb0, 0xb0 };
const byte SCROLL_FG[3] = { 0x80, 0x80, 0x80 };
WindowStyle T_STYLES[style_NUMSTYLES] = {
- { PROPR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Normal
- { PROPI,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Emphasized
- { MONOR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Preformatted
- { PROPB,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Header
- { PROPB,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Subheader
- { PROPZ,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Alert
- { PROPR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< Note
- { PROPR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< BlockQuote
- { PROPB,{ 0xff,0xff,0xff },{ 0x00,0x60,0x00 }, 0 }, ///< Input
- { MONOR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< User1
- { MONOR,{ 0xff,0xff,0xff },{ 0x00,0x00,0x00 }, 0 }, ///< User2
+ { PROPR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Normal
+ { PROPI, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Emphasized
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Preformatted
+ { PROPB, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Header
+ { PROPB, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Subheader
+ { PROPZ, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Alert
+ { PROPR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< Note
+ { PROPR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< BlockQuote
+ { PROPB, { 0xff, 0xff, 0xff }, { 0x00, 0x60, 0x00 }, 0 }, ///< Input
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< User1
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x00, 0x00, 0x00 }, 0 }, ///< User2
};
WindowStyle G_STYLES[style_NUMSTYLES] = {
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Normal
- { MONOI,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Emphasized
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Preformatted
- { MONOB,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Header
- { MONOB,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Subheader
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Alert
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Note
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< BlockQuote
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< Input
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< User1
- { MONOR,{ 0xff,0xff,0xff },{ 0x60,0x60,0x60 }, 0 }, ///< User2
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Normal
+ { MONOI, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Emphasized
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Preformatted
+ { MONOB, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Header
+ { MONOB, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Subheader
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Alert
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Note
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< BlockQuote
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< Input
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< User1
+ { MONOR, { 0xff, 0xff, 0xff }, { 0x60, 0x60, 0x60 }, 0 }, ///< User2
};
Conf *g_conf;
@@ -122,7 +122,7 @@ Conf::Conf() {
get("tmarginx", _tMarginX, 7);
get("tmarginy", _tMarginY, 7);
get("gamma", _gamma, 1.0);
-
+
get("caretcolor", _caretColor);
get("caretcolor", _caretSave);
get("linkcolor", _linkColor, BLUE);
@@ -235,9 +235,15 @@ void Conf::parseColor(const Common::String &str, byte *color) {
char r[3], g[3], b[3];
if (str.size() == 6) {
- r[0] = str[0]; r[1] = str[1]; r[2] = 0;
- g[0] = str[2]; g[1] = str[3]; g[2] = 0;
- b[0] = str[4]; b[1] = str[5]; b[2] = 0;
+ r[0] = str[0];
+ r[1] = str[1];
+ r[2] = 0;
+ g[0] = str[2];
+ g[1] = str[3];
+ g[2] = 0;
+ b[0] = str[4];
+ b[1] = str[5];
+ b[2] = 0;
color[0] = strtol(r, nullptr, 16);
color[1] = strtol(g, nullptr, 16);
diff --git a/engines/gargoyle/detection.cpp b/engines/gargoyle/detection.cpp
index af7cfc6b34..4363c4607c 100644
--- a/engines/gargoyle/detection.cpp
+++ b/engines/gargoyle/detection.cpp
@@ -125,20 +125,20 @@ public:
bool GargoyleMetaEngine::hasFeature(MetaEngineFeature f) const {
return
- (f == kSupportsListSaves) ||
- (f == kSupportsLoadingDuringStartup) ||
- (f == kSupportsDeleteSave) ||
- (f == kSavesSupportMetaInfo) ||
- (f == kSavesSupportCreationDate) ||
- (f == kSavesSupportPlayTime) ||
- (f == kSimpleSavesNames);
+ (f == kSupportsListSaves) ||
+ (f == kSupportsLoadingDuringStartup) ||
+ (f == kSupportsDeleteSave) ||
+ (f == kSavesSupportMetaInfo) ||
+ (f == kSavesSupportCreationDate) ||
+ (f == kSavesSupportPlayTime) ||
+ (f == kSimpleSavesNames);
}
bool Gargoyle::GargoyleEngine::hasFeature(EngineFeature f) const {
return
- (f == kSupportsRTL) ||
- (f == kSupportsLoadingDuringRuntime) ||
- (f == kSupportsSavingDuringRuntime);
+ (f == kSupportsRTL) ||
+ (f == kSupportsLoadingDuringRuntime) ||
+ (f == kSupportsSavingDuringRuntime);
}
bool GargoyleMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
@@ -255,7 +255,7 @@ ADDetectedGames GargoyleMetaEngine::detectGame(const Common::FSNode &parent, con
}
#if PLUGIN_ENABLED_DYNAMIC(GARGOYLE)
- REGISTER_PLUGIN_DYNAMIC(Gargoyle, PLUGIN_TYPE_ENGINE, GargoyleMetaEngine);
+REGISTER_PLUGIN_DYNAMIC(Gargoyle, PLUGIN_TYPE_ENGINE, GargoyleMetaEngine);
#else
- REGISTER_PLUGIN_STATIC(GARGOYLE, PLUGIN_TYPE_ENGINE, GargoyleMetaEngine);
+REGISTER_PLUGIN_STATIC(GARGOYLE, PLUGIN_TYPE_ENGINE, GargoyleMetaEngine);
#endif
diff --git a/engines/gargoyle/detection_tables.h b/engines/gargoyle/detection_tables.h
index 780cfe284d..777d4db96b 100644
--- a/engines/gargoyle/detection_tables.h
+++ b/engines/gargoyle/detection_tables.h
@@ -21,7 +21,7 @@
*/
namespace Gargoyle {
-
+
static const GargoyleGameDescription gameDescriptions[] = {
{
{
diff --git a/engines/gargoyle/events.cpp b/engines/gargoyle/events.cpp
index 520b6f22e5..6c0cd71985 100644
--- a/engines/gargoyle/events.cpp
+++ b/engines/gargoyle/events.cpp
@@ -54,7 +54,7 @@ const byte ARROW[] = {
};
Events::Events() : _forceClick(false), _currentEvent(nullptr), _cursorId(CURSOR_NONE),
- _timerMilli(0), _timerTimeExpiry(0), _priorFrameTime(0), _frameCounter(0) {
+ _timerMilli(0), _timerTimeExpiry(0), _priorFrameTime(0), _frameCounter(0) {
initializeCursors();
}
@@ -239,34 +239,85 @@ void Events::handleKeyDown(const Common::KeyState &ks) {
return;
switch (ks.keycode) {
- case Common::KEYCODE_RETURN: windows.inputHandleKey(keycode_Return); break;
- case Common::KEYCODE_BACKSPACE: windows.inputHandleKey(keycode_Delete); break;
- case Common::KEYCODE_DELETE: windows.inputHandleKey(keycode_Erase); break;
- case Common::KEYCODE_TAB: windows.inputHandleKey(keycode_Tab); break;
- case Common::KEYCODE_PAGEUP: windows.inputHandleKey(keycode_PageUp); break;
- case Common::KEYCODE_PAGEDOWN: windows.inputHandleKey(keycode_PageDown); break;
- case Common::KEYCODE_HOME: windows.inputHandleKey(keycode_Home); break;
- case Common::KEYCODE_END: windows.inputHandleKey(keycode_End); break;
- case Common::KEYCODE_LEFT: windows.inputHandleKey(keycode_Left); break;
- case Common::KEYCODE_RIGHT: windows.inputHandleKey(keycode_Right); break;
- case Common::KEYCODE_UP: windows.inputHandleKey(keycode_Up); break;
- case Common::KEYCODE_DOWN: windows.inputHandleKey(keycode_Down); break;
- case Common::KEYCODE_ESCAPE: windows.inputHandleKey(keycode_Escape); break;
- case Common::KEYCODE_F1: windows.inputHandleKey(keycode_Func1); break;
- case Common::KEYCODE_F2: windows.inputHandleKey(keycode_Func2); break;
- case Common::KEYCODE_F3: windows.inputHandleKey(keycode_Func3); break;
- case Common::KEYCODE_F4: windows.inputHandleKey(keycode_Func4); break;
- case Common::KEYCODE_F5: windows.inputHandleKey(keycode_Func5); break;
- case Common::KEYCODE_F6: windows.inputHandleKey(keycode_Func6); break;
- case Common::KEYCODE_F7: windows.inputHandleKey(keycode_Func7); break;
- case Common::KEYCODE_F8: windows.inputHandleKey(keycode_Func8); break;
- case Common::KEYCODE_F9: windows.inputHandleKey(keycode_Func9); break;
- case Common::KEYCODE_F10: windows.inputHandleKey(keycode_Func10); break;
- case Common::KEYCODE_F11: windows.inputHandleKey(keycode_Func11); break;
- case Common::KEYCODE_F12: windows.inputHandleKey(keycode_Func12); break;
+ case Common::KEYCODE_RETURN:
+ windows.inputHandleKey(keycode_Return);
+ break;
+ case Common::KEYCODE_BACKSPACE:
+ windows.inputHandleKey(keycode_Delete);
+ break;
+ case Common::KEYCODE_DELETE:
+ windows.inputHandleKey(keycode_Erase);
+ break;
+ case Common::KEYCODE_TAB:
+ windows.inputHandleKey(keycode_Tab);
+ break;
+ case Common::KEYCODE_PAGEUP:
+ windows.inputHandleKey(keycode_PageUp);
+ break;
+ case Common::KEYCODE_PAGEDOWN:
+ windows.inputHandleKey(keycode_PageDown);
+ break;
+ case Common::KEYCODE_HOME:
+ windows.inputHandleKey(keycode_Home);
+ break;
+ case Common::KEYCODE_END:
+ windows.inputHandleKey(keycode_End);
+ break;
+ case Common::KEYCODE_LEFT:
+ windows.inputHandleKey(keycode_Left);
+ break;
+ case Common::KEYCODE_RIGHT:
+ windows.inputHandleKey(keycode_Right);
+ break;
+ case Common::KEYCODE_UP:
+ windows.inputHandleKey(keycode_Up);
+ break;
+ case Common::KEYCODE_DOWN:
+ windows.inputHandleKey(keycode_Down);
+ break;
+ case Common::KEYCODE_ESCAPE:
+ windows.inputHandleKey(keycode_Escape);
+ break;
+ case Common::KEYCODE_F1:
+ windows.inputHandleKey(keycode_Func1);
+ break;
+ case Common::KEYCODE_F2:
+ windows.inputHandleKey(keycode_Func2);
+ break;
+ case Common::KEYCODE_F3:
+ windows.inputHandleKey(keycode_Func3);
+ break;
+ case Common::KEYCODE_F4:
+ windows.inputHandleKey(keycode_Func4);
+ break;
+ case Common::KEYCODE_F5:
+ windows.inputHandleKey(keycode_Func5);
+ break;
+ case Common::KEYCODE_F6:
+ windows.inputHandleKey(keycode_Func6);
+ break;
+ case Common::KEYCODE_F7:
+ windows.inputHandleKey(keycode_Func7);
+ break;
+ case Common::KEYCODE_F8:
+ windows.inputHandleKey(keycode_Func8);
+ break;
+ case Common::KEYCODE_F9:
+ windows.inputHandleKey(keycode_Func9);
+ break;
+ case Common::KEYCODE_F10:
+ windows.inputHandleKey(keycode_Func10);
+ break;
+ case Common::KEYCODE_F11:
+ windows.inputHandleKey(keycode_Func11);
+ break;
+ case Common::KEYCODE_F12:
+ windows.inputHandleKey(keycode_Func12);
+ break;
default:
- windows.inputHandleKey(ks.ascii); break;
- break;
+ windows.inputHandleKey(ks.ascii);
+ break;
+ break;
}
}
@@ -317,8 +368,8 @@ void Events::waitForPress() {
g_system->delayMillis(10);
checkForNextFrameCounter();
} while (!g_vm->shouldQuit() && e.type != Common::EVENT_KEYDOWN &&
- e.type != Common::EVENT_LBUTTONDOWN && e.type != Common::EVENT_RBUTTONDOWN &&
- e.type != Common::EVENT_MBUTTONDOWN);
+ e.type != Common::EVENT_LBUTTONDOWN && e.type != Common::EVENT_RBUTTONDOWN &&
+ e.type != Common::EVENT_MBUTTONDOWN);
}
void Events::setCursor(CursorId cursorId) {
diff --git a/engines/gargoyle/events.h b/engines/gargoyle/events.h
index f91c91b242..b69cd04c34 100644
--- a/engines/gargoyle/events.h
+++ b/engines/gargoyle/events.h
@@ -50,7 +50,7 @@ enum EvType {
evtype_VolumeNotify = 9,
// ScummVM custom events
- evtype_Quit = 99
+ evtype_Quit = 99
};
/**
@@ -115,7 +115,9 @@ struct Event {
/**
* Constructor
*/
- Event() { clear(); }
+ Event() {
+ clear();
+ }
/**
* Constructor
@@ -139,7 +141,9 @@ struct Event {
/**
* Boolean cast to allow checking whether event is filled out
*/
- operator bool() const { return type != evtype_None; }
+ operator bool() const {
+ return type != evtype_None;
+ }
};
typedef Event event_t;
@@ -161,16 +165,16 @@ class Events {
Common::Point _hotspot;
};
private:
- EventQueue _eventsPolled; ///< User generated events
- EventQueue _eventsLogged; ///< Custom events generated by game code
- Event *_currentEvent; ///< Event pointer passed during event retrieval
- uint32 _priorFrameTime; ///< Time of prior game frame
- uint32 _frameCounter; ///< Frame counter
- bool _redraw; ///< Screen needed redrawing
- CursorId _cursorId; ///< Current cursor Id
- Surface _cursors[4]; ///< Cursor pixel data
- uint _timerMilli; ///< Time in milliseconds between timer events
- uint _timerTimeExpiry; ///< When to trigger next timer event
+ EventQueue _eventsPolled; ///< User generated events
+ EventQueue _eventsLogged; ///< Custom events generated by game code
+ Event *_currentEvent; ///< Event pointer passed during event retrieval
+ uint32 _priorFrameTime; ///< Time of prior game frame
+ uint32 _frameCounter; ///< Frame counter
+ bool _redraw; ///< Screen needed redrawing
+ CursorId _cursorId; ///< Current cursor Id
+ Surface _cursors[4]; ///< Cursor pixel data
+ uint _timerMilli; ///< Time in milliseconds between timer events
+ uint _timerTimeExpiry; ///< When to trigger next timer event
private:
/**
* Initialize the cursor graphics
@@ -247,17 +251,23 @@ public:
/**
* Get the total number of frames played
*/
- uint32 getTotalPlayTicks() const { return _frameCounter; }
+ uint32 getTotalPlayTicks() const {
+ return _frameCounter;
+ }
/**
* Set the total number of frames played
*/
- void Events::setTotalPlayTicks(uint frames) { _frameCounter = frames; }
+ void Events::setTotalPlayTicks(uint frames) {
+ _frameCounter = frames;
+ }
/**
* Flags the screen for redrawing
*/
- void redraw() { _redraw = true; }
+ void redraw() {
+ _redraw = true;
+ }
/**
* Sets the current cursor
@@ -266,7 +276,7 @@ public:
/**
* Set a timer interval
- * @param milli Time in millieseconds for intervals, or 0 for off
+ * @param milli Time in millieseconds for intervals, or 0 for off
*/
void setTimerInterval(uint milli);
diff --git a/engines/gargoyle/fonts.h b/engines/gargoyle/fonts.h
index 1437bd8152..737618e41d 100644
--- a/engines/gargoyle/fonts.h
+++ b/engines/gargoyle/fonts.h
@@ -76,39 +76,39 @@ public:
/**
* Draws a string using the specified font at the given co-ordinates
- * @param pos Position for the bottom-left corner the text will be drawn with
- * @param fontIdx Which font to use
- * @param rgb RGB tuplet specifying the text color
- * @param text The text to draw
- * @param spw ??
+ * @param pos Position for the bottom-left corner the text will be drawn with
+ * @param fontIdx Which font to use
+ * @param rgb RGB tuplet specifying the text color
+ * @param text The text to draw
+ * @param spw ??
*/
int drawString(const Point &pos, int fontIdx, const byte *rgb, const Common::String &text, int spw = 0);
/**
* Draws a unicode string using the specified font at the given co-ordinates
- * @param pos Position for the bottom-left corner the text will be drawn with
- * @param fontIdx Which font to use
- * @param rgb RGB tuplet specifying the text color
- * @param text The text to draw
- * @param spw ??
+ * @param pos Position for the bottom-left corner the text will be drawn with
+ * @param fontIdx Which font to use
+ * @param rgb RGB tuplet specifying the text color
+ * @param text The text to draw
+ * @param spw ??
*/
int drawStringUni(const Point &pos, int fontIdx, const byte *rgb, const Common::U32String &text, int spw = 0);
/**
* Get the width in pixels of a string
* @param fontIdx Which font to use
- * @param text Text to get the width of
- * @param spw Delta X
- * @returns Width of string multiplied by GLI_SUBPIX
+ * @param text Text to get the width of
+ * @param spw Delta X
+ * @returns Width of string multiplied by GLI_SUBPIX
*/
size_t stringWidth(int fontIdx, const Common::String &text, int spw = 0);
/**
* Get the width in pixels of a unicode string
* @param fontIdx Which font to use
- * @param text Text to get the width of
- * @param spw Delta X
- * @returns Width of string multiplied by GLI_SUBPIX
+ * @param text Text to get the width of
+ * @param spw Delta X
+ * @returns Width of string multiplied by GLI_SUBPIX
*/
size_t stringWidthUni(int fontIdx, const Common::U32String &text, int spw = 0);
};
diff --git a/engines/gargoyle/gargoyle.cpp b/engines/gargoyle/gargoyle.cpp
index 9c00937185..021323cd6a 100644
--- a/engines/gargoyle/gargoyle.cpp
+++ b/engines/gargoyle/gargoyle.cpp
@@ -42,10 +42,10 @@ namespace Gargoyle {
GargoyleEngine *g_vm;
GargoyleEngine::GargoyleEngine(OSystem *syst, const GargoyleGameDescription *gameDesc) :
- _gameDescription(gameDesc), Engine(syst), _random("Gargoyle"), _clipboard(nullptr),
- _conf(nullptr), _events(nullptr), _picList(nullptr), _screen(nullptr),
- _selection(nullptr), _windows(nullptr), _copySelect(false), _terminated(false),
- gli_unregister_obj(nullptr), gli_register_arr(nullptr), gli_unregister_arr(nullptr) {
+ _gameDescription(gameDesc), Engine(syst), _random("Gargoyle"), _clipboard(nullptr),
+ _conf(nullptr), _events(nullptr), _picList(nullptr), _screen(nullptr),
+ _selection(nullptr), _windows(nullptr), _copySelect(false), _terminated(false),
+ gli_unregister_obj(nullptr), gli_register_arr(nullptr), gli_unregister_arr(nullptr) {
g_vm = this;
}
diff --git a/engines/gargoyle/gargoyle.h b/engines/gargoyle/gargoyle.h
index 793a353d08..e131be17d2 100644
--- a/engines/gargoyle/gargoyle.h
+++ b/engines/gargoyle/gargoyle.h
@@ -62,8 +62,8 @@ enum InterpreterType {
enum GargoyleDebugChannels {
kDebugCore = 1 << 0,
- kDebugScripts = 1 << 1,
- kDebugGraphics = 1 << 2,
+ kDebugScripts = 1 << 1,
+ kDebugGraphics = 1 << 2,
kDebugSound = 1 << 3
};
@@ -125,12 +125,16 @@ public:
/**
* Returns true if a savegame can be loaded
*/
- virtual bool canLoadGameStateCurrently() override { return true; }
+ virtual bool canLoadGameStateCurrently() override {
+ return true;
+ }
/**
* Returns true if the game can be saved
*/
- virtual bool canSaveGameStateCurrently() override { return true; }
+ virtual bool canSaveGameStateCurrently() override {
+ return true;
+ }
/**
* Returns the bitset of game features
@@ -165,7 +169,9 @@ public:
/**
* Return the game engine's target name
*/
- const Common::String &getTargetName() const { return _targetName; }
+ const Common::String &getTargetName() const {
+ return _targetName;
+ }
/**
* Display a message in a GUI dialog
diff --git a/engines/gargoyle/glk.cpp b/engines/gargoyle/glk.cpp
index 25ce3cc45e..58293f7902 100644
--- a/engines/gargoyle/glk.cpp
+++ b/engines/gargoyle/glk.cpp
@@ -34,8 +34,8 @@
namespace Gargoyle {
-Glk::Glk(OSystem *syst, const GargoyleGameDescription *gameDesc) :
- GargoyleEngine(syst, gameDesc), _gliFirstEvent(false) {
+Glk::Glk(OSystem *syst, const GargoyleGameDescription *gameDesc) :
+ GargoyleEngine(syst, gameDesc), _gliFirstEvent(false) {
// Set uppercase/lowercase tables
int ix, res;
for (ix = 0; ix < 256; ix++) {
@@ -59,7 +59,7 @@ Glk::Glk(OSystem *syst, const GargoyleGameDescription *gameDesc) :
}
void Glk::glk_exit(void) {
- glk_put_string("[ press any key to exit ]");
+ glk_put_string("[ press any key to exit ]");
_events->waitForPress();
quitGame();
@@ -194,7 +194,7 @@ void Glk::glk_window_set_arrangement(winid_t win, glui32 method, glui32 size, wi
}
void Glk::glk_window_get_arrangement(winid_t win, glui32 *method,
- glui32 *size, winid_t *keyWin) {
+ glui32 *size, winid_t *keyWin) {
if (win) {
win->getArrangement(method, size, keyWin);
} else {
@@ -586,30 +586,30 @@ bool Glk::glk_style_measure(winid_t win, glui32 style, glui32 hint, glui32 *resu
case stylehint_Weight:
*result =
- (styles[style].font == PROPB || styles[style].font == PROPZ ||
- styles[style].font == MONOB || styles[style].font == MONOZ);
+ (styles[style].font == PROPB || styles[style].font == PROPZ ||
+ styles[style].font == MONOB || styles[style].font == MONOZ);
break;
case stylehint_Oblique:
*result =
- (styles[style].font == PROPI || styles[style].font == PROPZ ||
- styles[style].font == MONOI || styles[style].font == MONOZ);
+ (styles[style].font == PROPI || styles[style].font == PROPZ ||
+ styles[style].font == MONOI || styles[style].font == MONOZ);
break;
case stylehint_Proportional:
*result =
- (styles[style].font == PROPR || styles[style].font == PROPI ||
- styles[style].font == PROPB || styles[style].font == PROPZ);
+ (styles[style].font == PROPR || styles[style].font == PROPI ||
+ styles[style].font == PROPB || styles[style].font == PROPZ);
break;
case stylehint_TextColor:
*result =
- (styles[style].fg[0] << 16) | (styles[style].fg[1] << 8) | (styles[style].fg[2]);
+ (styles[style].fg[0] << 16) | (styles[style].fg[1] << 8) | (styles[style].fg[2]);
break;
case stylehint_BackColor:
*result =
- (styles[style].bg[0] << 16) | (styles[style].bg[1] << 8) | (styles[style].bg[2]);
+ (styles[style].bg[0] << 16) | (styles[style].bg[1] << 8) | (styles[style].bg[2]);
break;
case stylehint_ReverseColor:
@@ -681,7 +681,7 @@ void Glk::glk_select(event_t *event) {
_windows->inputGuessFocus();
_gliFirstEvent = true;
}
-
+
_events->getEvent(event, false);
}
@@ -702,7 +702,7 @@ void Glk::glk_request_line_event(winid_t win, char *buf, glui32 maxlen, glui32 i
if (!win) {
warning("request_line_event: invalid ref");
} else if (win->_charRequest || win->_lineRequest || win->_charRequestUni
- || win->_lineRequestUni) {
+ || win->_lineRequestUni) {
warning("request_line_event: window already has keyboard request");
} else {
win->requestLineEvent(buf, maxlen, initlen);
@@ -713,7 +713,7 @@ void Glk::glk_request_char_event(winid_t win) {
if (!win) {
warning("request_char_event: invalid ref");
} else if (win->_charRequest || win->_lineRequest || win->_charRequestUni
- || win->_lineRequestUni) {
+ || win->_lineRequestUni) {
warning("request_char_event: window already has keyboard request");
} else {
win->requestCharEvent();
@@ -777,7 +777,7 @@ glui32 Glk::glk_buffer_to_upper_case_uni(glui32 *buf, glui32 len, glui32 numchar
}
glui32 Glk::glk_buffer_to_title_case_uni(glui32 *buf, glui32 len,
- glui32 numchars, glui32 lowerrest) {
+ glui32 numchars, glui32 lowerrest) {
return bufferChangeCase(buf, len, numchars, CASE_TITLE, COND_LINESTART, lowerrest);
}
@@ -840,7 +840,7 @@ glui32 Glk::glk_get_line_stream_uni(strid_t str, glui32 *buf, glui32 len) {
return str->getLineUni(buf, len);
} else {
warning("get_line_stream_uni: invalid ref");
- return (glui32 )-1;
+ return (glui32) - 1;
}
}
@@ -856,7 +856,7 @@ void Glk::glk_request_char_event_uni(winid_t win) {
if (!win) {
warning("request_char_event_uni: invalid ref");
} else if (win->_charRequest || win->_lineRequest || win->_charRequestUni
- || win->_lineRequestUni) {
+ || win->_lineRequestUni) {
warning("request_char_event_uni: window already has keyboard request");
} else {
win->requestCharEvent();
@@ -867,7 +867,7 @@ void Glk::glk_request_line_event_uni(winid_t win, glui32 *buf, glui32 maxlen, gl
if (!win) {
warning("request_line_event_uni: invalid ref");
} else if (win->_charRequest || win->_lineRequest || win->_charRequestUni
- || win->_lineRequestUni) {
+ || win->_lineRequestUni) {
warning("request_line_event_uni: window already has keyboard request");
} else {
win->requestLineEventUni(buf, maxlen, initlen);
@@ -875,7 +875,7 @@ void Glk::glk_request_line_event_uni(winid_t win, glui32 *buf, glui32 maxlen, gl
}
glui32 Glk::glk_buffer_canon_decompose_uni(glui32 *buf, glui32 len,
- glui32 numchars) {
+ glui32 numchars) {
// TODO
return 0;
}
@@ -901,7 +901,7 @@ glui32 Glk::glk_image_draw(winid_t win, glui32 image, glsi32 val1, glsi32 val2)
}
glui32 Glk::glk_image_draw_scaled(winid_t win, glui32 image, glsi32 val1, glsi32 val2,
- glui32 width, glui32 height) {
+ glui32 width, glui32 height) {
if (!win) {
warning("image_draw_scaled: invalid ref");
} else if (g_conf->_graphics) {
@@ -950,7 +950,7 @@ void Glk::glk_window_erase_rect(winid_t win, glsi32 left, glsi32 top, glui32 wid
}
void Glk::glk_window_fill_rect(winid_t win, glui32 color, glsi32 left, glsi32 top,
- glui32 width, glui32 height) {
+ glui32 width, glui32 height) {
if (!win) {
warning("window_fill_rect: invalid ref");
} else {
@@ -1013,7 +1013,7 @@ schanid_t Glk::glk_schannel_create_ext(glui32 rock, glui32 volume) {
}
glui32 Glk::glk_schannel_play_multi(schanid_t *chanarray, glui32 chancount,
- glui32 *sndarray, glui32 soundcount, glui32 notify) {
+ glui32 *sndarray, glui32 soundcount, glui32 notify) {
// TODO
return 0;
}
@@ -1027,7 +1027,7 @@ void Glk::glk_schannel_unpause(schanid_t chan) {
}
void Glk::glk_schannel_set_volume_ext(schanid_t chan, glui32 vol,
- glui32 duration, glui32 notify) {
+ glui32 duration, glui32 notify) {
// TODO
}
diff --git a/engines/gargoyle/glk.h b/engines/gargoyle/glk.h
index eb3e68d9a6..b14546c684 100644
--- a/engines/gargoyle/glk.h
+++ b/engines/gargoyle/glk.h
@@ -63,14 +63,14 @@ public:
* Open a new window
*/
winid_t glk_window_open(winid_t split, glui32 method, glui32 size,
- glui32 wintype, glui32 rock = 0) const;
+ glui32 wintype, glui32 rock = 0) const;
void glk_window_close(winid_t win, stream_result_t *result);
void glk_window_get_size(winid_t win, glui32 *width, glui32 *height);
void glk_window_set_arrangement(winid_t win, glui32 method,
- glui32 size, winid_t keyWin);
+ glui32 size, winid_t keyWin);
void glk_window_get_arrangement(winid_t win, glui32 *method,
- glui32 *size, winid_t *keyWin);
+ glui32 *size, winid_t *keyWin);
winid_t glk_window_iterate(winid_t win, glui32 *rock);
glui32 glk_window_get_rock(winid_t win);
glui32 glk_window_get_type(winid_t win);
@@ -108,7 +108,7 @@ public:
glui32 glk_get_buffer_stream(strid_t str, char *buf, glui32 len);
void glk_stylehint_set(glui32 wintype, glui32 styl, glui32 hint,
- glsi32 val);
+ glsi32 val);
void glk_stylehint_clear(glui32 wintype, glui32 style, glui32 hint);
glui32 glk_style_distinguish(winid_t win, glui32 style1, glui32 style2);
bool glk_style_measure(winid_t win, glui32 style, glui32 hint, glui32 *result);
@@ -129,7 +129,7 @@ public:
void glk_request_timer_events(glui32 millisecs);
void glk_request_line_event(winid_t win, char *buf, glui32 maxlen,
- glui32 initlen);
+ glui32 initlen);
void glk_request_char_event(winid_t win);
void glk_request_mouse_event(winid_t win);
@@ -143,19 +143,19 @@ public:
#ifdef GLK_MODULE_LINE_TERMINATORS
void glk_set_terminators_line_event(winid_t win, glui32 *keycodes,
- glui32 count);
+ glui32 count);
#endif /* GLK_MODULE_LINE_TERMINATORS */
- /** \addtogroup Unicode
+ /** \addtogroup Unicode
* @{
*/
glui32 glk_buffer_to_lower_case_uni(glui32 *buf, glui32 len,
- glui32 numchars);
+ glui32 numchars);
glui32 glk_buffer_to_upper_case_uni(glui32 *buf, glui32 len,
- glui32 numchars);
+ glui32 numchars);
glui32 glk_buffer_to_title_case_uni(glui32 *buf, glui32 len,
- glui32 numchars, glui32 lowerrest);
+ glui32 numchars, glui32 lowerrest);
void glk_put_char_uni(glui32 ch);
void glk_put_string_uni(glui32 *s);
@@ -173,16 +173,16 @@ public:
void glk_request_char_event_uni(winid_t win);
void glk_request_line_event_uni(winid_t win, glui32 *buf,
- glui32 maxlen, glui32 initlen);
+ glui32 maxlen, glui32 initlen);
/** @}*/
#ifdef GLK_MODULE_UNICODE_NORM
glui32 glk_buffer_canon_decompose_uni(glui32 *buf, glui32 len,
- glui32 numchars);
+ glui32 numchars);
glui32 glk_buffer_canon_normalize_uni(glui32 *buf, glui32 len,
- glui32 numchars);
+ glui32 numchars);
#endif /* GLK_MODULE_UNICODE_NORM */
@@ -190,15 +190,15 @@ public:
glui32 glk_image_draw(winid_t win, glui32 image, glsi32 val1, glsi32 val2);
glui32 glk_image_draw_scaled(winid_t win, glui32 image,
- glsi32 val1, glsi32 val2, glui32 width, glui32 height);
+ glsi32 val1, glsi32 val2, glui32 width, glui32 height);
glui32 glk_image_get_info(glui32 image, glui32 *width, glui32 *height);
void glk_window_flow_break(winid_t win);
void glk_window_erase_rect(winid_t win,
- glsi32 left, glsi32 top, glui32 width, glui32 height);
+ glsi32 left, glsi32 top, glui32 width, glui32 height);
void glk_window_fill_rect(winid_t win, glui32 color,
- glsi32 left, glsi32 top, glui32 width, glui32 height);
+ glsi32 left, glsi32 top, glui32 width, glui32 height);
void glk_window_set_background_color(winid_t win, glui32 color);
#endif /* GLK_MODULE_IMAGE */
@@ -212,7 +212,7 @@ public:
glui32 glk_schannel_play(schanid_t chan, glui32 snd);
glui32 glk_schannel_play_ext(schanid_t chan, glui32 snd, glui32 repeats,
- glui32 notify);
+ glui32 notify);
void glk_schannel_stop(schanid_t chan);
void glk_schannel_set_volume(schanid_t chan, glui32 vol);
@@ -224,11 +224,11 @@ public:
schanid_t glk_schannel_create_ext(glui32 rock, glui32 volume);
glui32 glk_schannel_play_multi(schanid_t *chanarray, glui32 chancount,
- glui32 *sndarray, glui32 soundcount, glui32 notify);
+ glui32 *sndarray, glui32 soundcount, glui32 notify);
void glk_schannel_pause(schanid_t chan);
void glk_schannel_unpause(schanid_t chan);
void glk_schannel_set_volume_ext(schanid_t chan, glui32 vol,
- glui32 duration, glui32 notify);
+ glui32 duration, glui32 notify);
#endif /* GLK_MODULE_SOUND2 */
#endif /* GLK_MODULE_SOUND */
@@ -258,7 +258,7 @@ public:
#endif /* GLK_MODULE_DATETIME */
/* XXX non-official Glk functions that may or may not exist */
- #define GARGLK 1
+#define GARGLK 1
const char *garglk_fileref_get_name(frefid_t fref) const;
diff --git a/engines/gargoyle/glk_types.h b/engines/gargoyle/glk_types.h
index 6dd8504326..7258e693c4 100644
--- a/engines/gargoyle/glk_types.h
+++ b/engines/gargoyle/glk_types.h
@@ -169,7 +169,7 @@ enum StyleHint {
* These constants define the classes of opaque objects. It's a bit ugly to put
* them in this header file, since more classes may be added in the future.
* But if you find yourself stuck with an obsolete version of this file,
- * adding new class definitions will be easy enough -- they will be numbered
+ * adding new class definitions will be easy enough -- they will be numbered
* sequentially, and the numeric constants can be found in the Glk specification.
*/
enum giDisp {
@@ -180,10 +180,10 @@ enum giDisp {
};
enum zcolor {
- zcolor_Transparent = (uint32)-4,
- zcolor_Cursor = (uint32)-3,
- zcolor_Current = (uint32)-2,
- zcolor_Default = (uint32)-1
+ zcolor_Transparent = (uint32) - 4,
+ zcolor_Cursor = (uint32) - 3,
+ zcolor_Current = (uint32) - 2,
+ zcolor_Default = (uint32) - 1
};
#ifdef GLK_MODULE_IMAGE
diff --git a/engines/gargoyle/scott/scott.cpp b/engines/gargoyle/scott/scott.cpp
index 8728cdb46d..329cfb334e 100644
--- a/engines/gargoyle/scott/scott.cpp
+++ b/engines/gargoyle/scott/scott.cpp
@@ -27,9 +27,9 @@ namespace Gargoyle {
namespace Scott {
Scott::Scott(OSystem *syst, const GargoyleGameDescription *gameDesc) : Glk(syst, gameDesc),
- Items(nullptr), Rooms(nullptr), Verbs(nullptr), Nouns(nullptr), Messages(nullptr),
- Actions(nullptr), CurrentCounter(0), SavedRoom(0), Options(0), Width(0), TopHeight(0),
- split_screen(true), Bottom(0), Top(0), BitFlags(0) {
+ Items(nullptr), Rooms(nullptr), Verbs(nullptr), Nouns(nullptr), Messages(nullptr),
+ Actions(nullptr), CurrentCounter(0), SavedRoom(0), Options(0), Width(0), TopHeight(0),
+ split_screen(true), Bottom(0), Top(0), BitFlags(0) {
Common::fill(&NounText[0], &NounText[16], '\0');
Common::fill(&Counters[0], &Counters[16], 0);
Common::fill(&RoomSaved[0], &RoomSaved[16], 0);
@@ -107,19 +107,19 @@ Distributed under the GNU software license\n\n");
if (GameHeader.LightTime < 1) {
BitFlags |= (1 << LIGHTOUTBIT);
if (Items[LIGHT_SOURCE].Location == CARRIED ||
- Items[LIGHT_SOURCE].Location == MyLoc) {
- if (Options&SCOTTLIGHT)
+ Items[LIGHT_SOURCE].Location == MyLoc) {
+ if (Options & SCOTTLIGHT)
output("Light has run out! ");
else
output("Your light has run out. ");
}
- if (Options&PREHISTORIC_LAMP)
+ if (Options & PREHISTORIC_LAMP)
Items[LIGHT_SOURCE].Location = DESTROYED;
} else if (GameHeader.LightTime < 25) {
if (Items[LIGHT_SOURCE].Location == CARRIED ||
- Items[LIGHT_SOURCE].Location == MyLoc) {
+ Items[LIGHT_SOURCE].Location == MyLoc) {
- if (Options&SCOTTLIGHT) {
+ if (Options & SCOTTLIGHT) {
output("Light runs out in ");
outputNumber(GameHeader.LightTime);
output(" turns. ");
@@ -208,7 +208,7 @@ int Scott::countCarried(void) {
const char *Scott::mapSynonym(const char *word) {
int n = 1;
const char *tp;
- static char lastword[16]; // Last non synonym
+ static char lastword[16]; // Last non synonym
while (n <= GameHeader.NumWords) {
tp = Nouns[n];
if (*tp == '*')
@@ -231,7 +231,7 @@ int Scott::matchUpItem(const char *text, int loc) {
while (ct <= GameHeader.NumItems) {
if (Items[ct].AutoGet && Items[ct].Location == loc &&
- xstrncasecmp(Items[ct].AutoGet, word, GameHeader.WordLength) == 0)
+ xstrncasecmp(Items[ct].AutoGet, word, GameHeader.WordLength) == 0)
return ct;
ct++;
}
@@ -293,27 +293,27 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
Action *ap;
Room *rp;
Item *ip;
-
+
// Load the header
readInts(f, 12, &unused, &ni, &na, &nw, &nr, &mc, &pr, &tr, &wl, &lt, &mn, &trm);
GameHeader.NumItems = ni;
- Items = (Item *)memAlloc(sizeof(Item)*(ni + 1));
+ Items = (Item *)memAlloc(sizeof(Item) * (ni + 1));
GameHeader.NumActions = na;
- Actions = (Action *)memAlloc(sizeof(Action)*(na + 1));
+ Actions = (Action *)memAlloc(sizeof(Action) * (na + 1));
GameHeader.NumWords = nw;
GameHeader.WordLength = wl;
- Verbs = (const char **)memAlloc(sizeof(char *)*(nw + 1));
- Nouns = (const char **)memAlloc(sizeof(char *)*(nw + 1));
+ Verbs = (const char **)memAlloc(sizeof(char *) * (nw + 1));
+ Nouns = (const char **)memAlloc(sizeof(char *) * (nw + 1));
GameHeader.NumRooms = nr;
- Rooms = (Room *)memAlloc(sizeof(Room)*(nr + 1));
+ Rooms = (Room *)memAlloc(sizeof(Room) * (nr + 1));
GameHeader.MaxCarry = mc;
GameHeader.PlayerRoom = pr;
GameHeader.Treasures = tr;
GameHeader.LightTime = lt;
LightRefill = lt;
GameHeader.NumMessages = mn;
- Messages = (const char **)memAlloc(sizeof(char *)*(mn + 1));
+ Messages = (const char **)memAlloc(sizeof(char *) * (mn + 1));
GameHeader.TreasureRoom = trm;
// Load the actions
@@ -323,14 +323,14 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
debug("Reading %d actions.", na);
while (ct < na + 1) {
readInts(f, 8,
- &ap->Vocab,
- &ap->Condition[0],
- &ap->Condition[1],
- &ap->Condition[2],
- &ap->Condition[3],
- &ap->Condition[4],
- &ap->action[0],
- &ap->action[1]);
+ &ap->Vocab,
+ &ap->Condition[0],
+ &ap->Condition[1],
+ &ap->Condition[2],
+ &ap->Condition[3],
+ &ap->Condition[4],
+ &ap->action[0],
+ &ap->action[1]);
ap++;
ct++;
}
@@ -338,7 +338,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
ct = 0;
if (loud)
debug("Reading %d word pairs.", nw);
- while (ct<nw + 1) {
+ while (ct < nw + 1) {
Verbs[ct] = readString(f);
Nouns[ct] = readString(f);
ct++;
@@ -347,11 +347,11 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
rp = Rooms;
if (loud)
debug("Reading %d rooms.", nr);
- while (ct<nr + 1) {
+ while (ct < nr + 1) {
readInts(f, 6,
- &rp->Exits[0], &rp->Exits[1], &rp->Exits[2],
- &rp->Exits[3], &rp->Exits[4], &rp->Exits[5]);
-
+ &rp->Exits[0], &rp->Exits[1], &rp->Exits[2],
+ &rp->Exits[3], &rp->Exits[4], &rp->Exits[5]);
+
rp->Text = readString(f);
ct++;
rp++;
@@ -360,7 +360,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
ct = 0;
if (loud)
debug("Reading %d messages.", mn);
- while (ct<mn + 1) {
+ while (ct < mn + 1) {
Messages[ct] = readString(f);
ct++;
}
@@ -389,7 +389,7 @@ void Scott::loadDatabase(Common::SeekableReadStream *f, bool loud) {
}
ct = 0;
// Discard Comment Strings
- while (ct<na + 1) {
+ while (ct < na + 1) {
free(readString(f));
ct++;
}
@@ -420,9 +420,9 @@ void Scott::look(void) {
if (split_screen)
glk_window_clear(Top);
- if ((BitFlags&(1 << DARKBIT)) && Items[LIGHT_SOURCE].Location != CARRIED
- && Items[LIGHT_SOURCE].Location != MyLoc) {
- if (Options&YOUARE)
+ if ((BitFlags & (1 << DARKBIT)) && Items[LIGHT_SOURCE].Location != CARRIED
+ && Items[LIGHT_SOURCE].Location != MyLoc) {
+ if (Options & YOUARE)
display(Top, "You can't see. It is too dark!\n");
else
display(Top, "I can't see. It is too dark!\n");
@@ -434,7 +434,7 @@ void Scott::look(void) {
if (*r->Text == '*')
display(Top, "%s\n", r->Text + 1);
else {
- if (Options&YOUARE)
+ if (Options & YOUARE)
display(Top, "You are in a %s\n", r->Text);
else
display(Top, "I'm in a %s\n", r->Text);
@@ -443,9 +443,8 @@ void Scott::look(void) {
ct = 0;
f = 0;
display(Top, "\nObvious exits: ");
- while (ct<6) {
- if (r->Exits[ct] != 0)
- {
+ while (ct < 6) {
+ if (r->Exits[ct] != 0) {
if (f == 0)
f = 1;
else
@@ -532,7 +531,7 @@ void Scott::lineInput(char *buf, size_t n) {
void Scott::saveGame(void) {
frefid_t ref = glk_fileref_create_by_prompt(fileusage_TextMode | fileusage_SavedGame,
- filemode_Write, 0);
+ filemode_Write, 0);
if (ref == nullptr)
return;
@@ -557,8 +556,8 @@ Common::Error Scott::saveGameState(int slot, const Common::String &desc) {
}
msg = Common::String::format("%lu %d %hd %d %d %hd\n",
- BitFlags, (BitFlags&(1 << DARKBIT)) ? 1 : 0,
- MyLoc, CurrentCounter, SavedRoom, GameHeader.LightTime);
+ BitFlags, (BitFlags & (1 << DARKBIT)) ? 1 : 0,
+ MyLoc, CurrentCounter, SavedRoom, GameHeader.LightTime);
glk_put_string_stream(file, msg.c_str());
for (int ct = 0; ct <= GameHeader.NumItems; ct++) {
@@ -574,7 +573,7 @@ Common::Error Scott::saveGameState(int slot, const Common::String &desc) {
void Scott::loadGame(void) {
frefid_t ref = glk_fileref_create_by_prompt(fileusage_TextMode | fileusage_SavedGame,
- filemode_Read, 0);
+ filemode_Read, 0);
if (ref == nullptr)
return;
@@ -597,15 +596,15 @@ Common::Error Scott::loadGameState(int slot) {
if (file == nullptr)
return Common::kReadingFailed;
- for (ct = 0; ct<16; ct++) {
+ for (ct = 0; ct < 16; ct++) {
glk_get_line_stream(file, buf, sizeof buf);
sscanf(buf, "%d %d", &Counters[ct], &RoomSaved[ct]);
}
glk_get_line_stream(file, buf, sizeof buf);
sscanf(buf, "%ld %hd %d %d %d %d\n",
- &BitFlags, &darkFlag, &MyLoc, &CurrentCounter, &SavedRoom,
- &GameHeader.LightTime);
+ &BitFlags, &darkFlag, &MyLoc, &CurrentCounter, &SavedRoom,
+ &GameHeader.LightTime);
// Backward compatibility
if (darkFlag)
@@ -634,7 +633,7 @@ int Scott::getInput(int *vb, int *no) {
num = sscanf(buf, "%9s %9s", verb, noun);
} while (num == 0 || *buf == '\n');
-
+
if (xstrcasecmp(verb, "restore") == 0) {
loadGame();
return -1;
@@ -643,14 +642,28 @@ int Scott::getInput(int *vb, int *no) {
*noun = 0;
if (*noun == 0 && strlen(verb) == 1) {
switch (Common::isUpper((unsigned char)*verb) ? tolower((unsigned char)*verb) : *verb) {
- case 'n':strcpy(verb, "NORTH"); break;
- case 'e':strcpy(verb, "EAST"); break;
- case 's':strcpy(verb, "SOUTH"); break;
- case 'w':strcpy(verb, "WEST"); break;
- case 'u':strcpy(verb, "UP"); break;
- case 'd':strcpy(verb, "DOWN"); break;
+ case 'n':
+ strcpy(verb, "NORTH");
+ break;
+ case 'e':
+ strcpy(verb, "EAST");
+ break;
+ case 's':
+ strcpy(verb, "SOUTH");
+ break;
+ case 'w':
+ strcpy(verb, "WEST");
+ break;
+ case 'u':
+ strcpy(verb, "UP");
+ break;
+ case 'd':
+ strcpy(verb, "DOWN");
+ break;
// Brian Howarth interpreter also supports this
- case 'i':strcpy(verb, "INVENTORY"); break;
+ case 'i':
+ strcpy(verb, "INVENTORY");
+ break;
}
}
nc = whichWord(verb, Nouns);
@@ -668,7 +681,7 @@ int Scott::getInput(int *vb, int *no) {
}
} while (vc == -1);
- strcpy(NounText, noun); // Needed by GET/DROP hack
+ strcpy(NounText, noun); // Needed by GET/DROP hack
return 0;
}
@@ -678,7 +691,7 @@ int Scott::performLine(int ct) {
int act[4];
int cc = 0;
- while (cc<5) {
+ while (cc < 5) {
int cv, dv;
cv = Actions[ct].Condition[cc];
dv = cv / 20;
@@ -696,8 +709,8 @@ int Scott::performLine(int ct) {
return 0;
break;
case 3:
- if (Items[dv].Location != CARRIED&&
- Items[dv].Location != MyLoc)
+ if (Items[dv].Location != CARRIED &&
+ Items[dv].Location != MyLoc)
return 0;
break;
case 4:
@@ -717,11 +730,11 @@ int Scott::performLine(int ct) {
return 0;
break;
case 8:
- if ((BitFlags&(1 << dv)) == 0)
+ if ((BitFlags & (1 << dv)) == 0)
return 0;
break;
case 9:
- if (BitFlags&(1 << dv))
+ if (BitFlags & (1 << dv))
return 0;
break;
case 10:
@@ -745,7 +758,7 @@ int Scott::performLine(int ct) {
return 0;
break;
case 15:
- if (CurrentCounter>dv)
+ if (CurrentCounter > dv)
return 0;
break;
case 16:
@@ -778,8 +791,7 @@ int Scott::performLine(int ct) {
act[2] /= 150;
cc = 0;
pptr = 0;
- while (cc<4)
- {
+ while (cc < 4) {
if (act[cc] >= 1 && act[cc] < 52) {
output(Messages[act[cc]]);
output("\n");
@@ -825,7 +837,7 @@ int Scott::performLine(int ct) {
BitFlags &= ~(1 << param[pptr++]);
break;
case 61:
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You are dead.\n");
else
output("I am dead.\n");
@@ -850,11 +862,11 @@ doneit:
int n = 0;
while (i <= GameHeader.NumItems) {
if (Items[i].Location == GameHeader.TreasureRoom &&
- *Items[i].Text == '*')
+ *Items[i].Text == '*')
n++;
i++;
}
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You have stored ");
else
output("I've stored ");
@@ -871,7 +883,7 @@ doneit:
case 66: {
int i = 0;
int f = 0;
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You are carrying:\n");
else
output("I'm carrying:\n");
@@ -999,7 +1011,7 @@ doneit:
break;
default:
error("Unknown action %d [Param begins %d %d]\n",
- act[cc], param[pptr], param[pptr + 1]);
+ act[cc], param[pptr], param[pptr + 1]);
break;
}
}
@@ -1011,8 +1023,8 @@ doneit:
}
int Scott::performActions(int vb, int no) {
- static int disable_sysfunc = 0; // Recursion lock
- int d = BitFlags&(1 << DARKBIT);
+ static int disable_sysfunc = 0; // Recursion lock
+ int d = BitFlags & (1 << DARKBIT);
int ct = 0;
int fl;
@@ -1024,7 +1036,7 @@ int Scott::performActions(int vb, int no) {
if (vb == 1 && no >= 1 && no <= 6) {
int nl;
if (Items[LIGHT_SOURCE].Location == MyLoc ||
- Items[LIGHT_SOURCE].Location == CARRIED)
+ Items[LIGHT_SOURCE].Location == CARRIED)
d = 0;
if (d)
output("Dangerous to move in the dark! ");
@@ -1034,13 +1046,13 @@ int Scott::performActions(int vb, int no) {
return 0;
}
if (d) {
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You fell down and broke your neck. ");
else
output("I fell down and broke my neck. ");
glk_exit();
}
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You can't go in that direction. ");
else
output("I can't go in that direction. ");
@@ -1053,16 +1065,16 @@ int Scott::performActions(int vb, int no) {
vv = Actions[ct].Vocab;
// Think this is now right. If a line we run has an action73
// run all following lines with vocab of 0,0
- if (vb != 0 && (doagain&&vv != 0))
+ if (vb != 0 && (doagain && vv != 0))
break;
// Oops.. added this minor cockup fix 1.11
if (vb != 0 && !doagain && fl == 0)
break;
nv = vv % 150;
vv /= 150;
- if ((vv == vb) || (doagain&&Actions[ct].Vocab == 0)) {
+ if ((vv == vb) || (doagain && Actions[ct].Vocab == 0)) {
if ((vv == 0 && randomPercent(nv)) || doagain ||
- (vv != 0 && (nv == no || nv == 0))) {
+ (vv != 0 && (nv == no || nv == 0))) {
int f2;
if (fl == -1)
fl = -2;
@@ -1088,7 +1100,7 @@ int Scott::performActions(int vb, int no) {
if (fl != 0 && disable_sysfunc == 0) {
int item;
if (Items[LIGHT_SOURCE].Location == MyLoc ||
- Items[LIGHT_SOURCE].Location == CARRIED)
+ Items[LIGHT_SOURCE].Location == CARRIED)
d = 0;
if (vb == 10 || vb == 18) {
// Yes they really _are_ hardcoded values
@@ -1104,11 +1116,11 @@ int Scott::performActions(int vb, int no) {
while (i <= GameHeader.NumItems) {
if (Items[i].Location == MyLoc && Items[i].AutoGet != nullptr && Items[i].AutoGet[0] != '*') {
no = whichWord(Items[i].AutoGet, Nouns);
- disable_sysfunc = 1; // Don't recurse into auto get !
- performActions(vb, no); // Recursively check each items table code
+ disable_sysfunc = 1; // Don't recurse into auto get !
+ performActions(vb, no); // Recursively check each items table code
disable_sysfunc = 0;
if (countCarried() == GameHeader.MaxCarry) {
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You are carrying too much. ");
else
output("I've too much to carry. ");
@@ -1130,7 +1142,7 @@ int Scott::performActions(int vb, int no) {
return 0;
}
if (countCarried() == GameHeader.MaxCarry) {
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("You are carrying too much. ");
else
output("I've too much to carry. ");
@@ -1138,7 +1150,7 @@ int Scott::performActions(int vb, int no) {
}
item = matchUpItem(NounText, MyLoc);
if (item == -1) {
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("It is beyond your power to do that. ");
else
output("It's beyond my power to do that. ");
@@ -1175,7 +1187,7 @@ int Scott::performActions(int vb, int no) {
}
item = matchUpItem(NounText, CARRIED);
if (item == -1) {
- if (Options&YOUARE)
+ if (Options & YOUARE)
output("It's beyond your power to do that.\n");
else
output("It's beyond my power to do that.\n");
@@ -1193,8 +1205,8 @@ int Scott::performActions(int vb, int no) {
int Scott::xstrcasecmp(const char *s1, const char *s2) {
const unsigned char
- *us1 = (const unsigned char *)s1,
- *us2 = (const unsigned char *)s2;
+ *us1 = (const unsigned char *)s1,
+ *us2 = (const unsigned char *)s2;
while (tolower(*us1) == tolower(*us2++))
if (*us1++ == '\0')
@@ -1205,8 +1217,8 @@ int Scott::xstrcasecmp(const char *s1, const char *s2) {
int Scott::xstrncasecmp(const char *s1, const char *s2, size_t n) {
if (n != 0) {
const unsigned char
- *us1 = (const unsigned char *)s1,
- *us2 = (const unsigned char *)s2;
+ *us1 = (const unsigned char *)s1,
+ *us2 = (const unsigned char *)s2;
do {
if (tolower(*us1) != tolower(*us2++))
diff --git a/engines/gargoyle/scott/scott.h b/engines/gargoyle/scott/scott.h
index 81847cce3f..0ff8d3318b 100644
--- a/engines/gargoyle/scott/scott.h
+++ b/engines/gargoyle/scott/scott.h
@@ -24,7 +24,7 @@
#define GARGOYLE_SCOTT
/*
- * Controlling block
+ * Controlling block
*/
#include "common/scummsys.h"
@@ -33,28 +33,28 @@
namespace Gargoyle {
namespace Scott {
-#define LIGHT_SOURCE 9 // Always 9 how odd
-#define CARRIED 255 // Carried
-#define DESTROYED 0 // Destroyed
-#define DARKBIT 15
-#define LIGHTOUTBIT 16 // Light gone out
+#define LIGHT_SOURCE 9 // Always 9 how odd
+#define CARRIED 255 // Carried
+#define DESTROYED 0 // Destroyed
+#define DARKBIT 15
+#define LIGHTOUTBIT 16 // Light gone out
enum GameOption {
- YOUARE = 1, ///< You are not I am
- SCOTTLIGHT = 2, ///< Authentic Scott Adams light messages
- DEBUGGING = 4, ///< Info from database load
- TRS80_STYLE = 8, ///< Display in style used on TRS-80
- PREHISTORIC_LAMP = 16 ///< Destroy the lamp (very old databases)
+ YOUARE = 1, ///< You are not I am
+ SCOTTLIGHT = 2, ///< Authentic Scott Adams light messages
+ DEBUGGING = 4, ///< Info from database load
+ TRS80_STYLE = 8, ///< Display in style used on TRS-80
+ PREHISTORIC_LAMP = 16 ///< Destroy the lamp (very old databases)
};
-#define TRS80_LINE "\n<------------------------------------------------------------>\n"
-#define MyLoc (GameHeader.PlayerRoom)
+#define TRS80_LINE "\n<------------------------------------------------------------>\n"
+#define MyLoc (GameHeader.PlayerRoom)
struct Header {
- int Unknown;
+ int Unknown;
int NumItems;
int NumActions;
- int NumWords; ///< Smaller of verb/noun is padded to same size
+ int NumWords; ///< Smaller of verb/noun is padded to same size
int NumRooms;
int MaxCarry;
int PlayerRoom;
@@ -90,7 +90,7 @@ struct Room {
};
struct Item {
- char *Text; // PORTABILITY WARNING: THESE TWO MUST BE 8 BIT VALUES.
+ char *Text; // PORTABILITY WARNING: THESE TWO MUST BE 8 BIT VALUES.
byte Location;
byte InitialLoc;
char *AutoGet;
@@ -125,7 +125,7 @@ private:
int SavedRoom;
int RoomSaved[16]; ///< Range unknown
int Options; ///< Option flags set
- int Width; ///< Terminal width
+ int Width; ///< Terminal width
int TopHeight; ///< Height of top window
bool split_screen;
diff --git a/engines/gargoyle/screen.h b/engines/gargoyle/screen.h
index d7631efccf..aa43b1bfdb 100644
--- a/engines/gargoyle/screen.h
+++ b/engines/gargoyle/screen.h
@@ -54,8 +54,8 @@ public:
/**
* Draws the text input caret at the given position
- * @remarks The position specifies the caret's bottom-left corner,
- * and the X position is in multiples of GLI_SUBPIX
+ * @remarks The position specifies the caret's bottom-left corner,
+ * and the X position is in multiples of GLI_SUBPIX
*/
void drawCaret(const Point &pos);
};
diff --git a/engines/gargoyle/selection.cpp b/engines/gargoyle/selection.cpp
index 8ad3b76716..27cfbe7083 100644
--- a/engines/gargoyle/selection.cpp
+++ b/engines/gargoyle/selection.cpp
@@ -112,9 +112,9 @@ void WindowMask::putHyperlink(glui32 linkval, uint x0, uint y0, uint x1, uint y1
}
if (tx0 >= _hor
- || tx1 >= _hor
- || ty0 >= _ver || ty1 >= _ver
- || !_links[tx0] || !_links[tx1]) {
+ || tx1 >= _hor
+ || ty0 >= _ver || ty1 >= _ver
+ || !_links[tx0] || !_links[tx1]) {
warning("putHyperlink: invalid range given");
return;
}
@@ -190,7 +190,7 @@ void Selection::clearSelection() {
bool Selection::checkSelection(const Rect &r) const {
Rect select(MIN(_select.left, _select.right), MAX(_select.left, _select.right),
- MIN(_select.top, _select.bottom), MAX(_select.top, _select.bottom));
+ MIN(_select.top, _select.bottom), MAX(_select.top, _select.bottom));
if (select.isEmpty())
return false;
@@ -218,7 +218,7 @@ bool Selection::getSelection(const Rect &r, int *rx0, int *rx1) const {
row_selected = false;
if ((cy0 >= upper && cy0 <= lower)
- || (cy1 >= upper && cy1 <= lower))
+ || (cy1 >= upper && cy1 <= lower))
row_selected = true;
if (row >= cy0 && row <= cy1)
diff --git a/engines/gargoyle/selection.h b/engines/gargoyle/selection.h
index 2d3a208ee4..a82af6d2a0 100644
--- a/engines/gargoyle/selection.h
+++ b/engines/gargoyle/selection.h
@@ -92,13 +92,13 @@ class Selection : public Clipboard, public WindowMask {
public:
/**
* Start selecting an area of the screen
- * @param pos Position to start selection area at
+ * @param pos Position to start selection area at
*/
void startSelection(const Point &pos);
/**
* Move the end point of the selection area
- * @param pos Position to end selection area at
+ * @param pos Position to end selection area at
*/
void moveSelection(const Point &pos);
diff --git a/engines/gargoyle/streams.cpp b/engines/gargoyle/streams.cpp
index b3012720d5..75fb205591 100644
--- a/engines/gargoyle/streams.cpp
+++ b/engines/gargoyle/streams.cpp
@@ -33,8 +33,8 @@
namespace Gargoyle {
Stream::Stream(Streams *streams, bool readable, bool writable, uint32 rock, bool unicode) :
- _streams(streams), _readable(readable), _writable(writable), _readCount(0),
- _writeCount(0), _prev(nullptr), _next(nullptr), _rock(0) {
+ _streams(streams), _readable(readable), _writable(writable), _readCount(0),
+ _writeCount(0), _prev(nullptr), _next(nullptr), _rock(0) {
}
Stream::~Stream() {
@@ -174,7 +174,7 @@ void WindowStream::unputBuffer(const char *buf, size_t len) {
}
}
- for (lx = 0, cx = buf + len - 1; lx<len; lx++, cx--) {
+ for (lx = 0, cx = buf + len - 1; lx < len; lx++, cx--) {
if (!_window->unputCharUni(*cx))
break;
_writeCount--;
@@ -200,7 +200,7 @@ void WindowStream::unputBufferUni(const glui32 *buf, size_t len) {
}
}
- for (lx = 0, cx = buf + len - 1; lx<len; lx++, cx--) {
+ for (lx = 0, cx = buf + len - 1; lx < len; lx++, cx--) {
if (!_window->unputCharUni(*cx))
break;
_writeCount--;
@@ -245,7 +245,7 @@ void WindowStream::setZColors(glui32 fg, glui32 bg) {
_window->_attr.fgcolor = 0;
Windows::_overrideFgSet = false;
Windows::_overrideFgVal = 0;
-
+
Common::copy(g_conf->_moreSave, g_conf->_moreSave + 3, g_conf->_moreColor);
Common::copy(g_conf->_caretSave, g_conf->_caretSave + 3, g_conf->_caretColor);
Common::copy(g_conf->_linkSave, g_conf->_linkSave + 3, g_conf->_linkColor);
@@ -254,7 +254,7 @@ void WindowStream::setZColors(glui32 fg, glui32 bg) {
_window->_attr.fgcolor = fg;
Windows::_overrideFgSet = true;
Windows::_overrideFgVal = fg;
-
+
Common::copy(fore, fore + 3, g_conf->_moreColor);
Common::copy(fore, fore + 3, g_conf->_caretColor);
Common::copy(fore, fore + 3, g_conf->_linkColor);
@@ -302,8 +302,8 @@ void WindowStream::setReverseVideo(bool reverse) {
/*--------------------------------------------------------------------------*/
MemoryStream::MemoryStream(Streams *streams, void *buf, size_t buflen, FileMode mode, uint32 rock, bool unicode) :
- Stream(streams, mode != filemode_Write, mode != filemode_Read, rock, unicode),
- _buf(buf), _bufLen(buflen), _bufPtr(buf) {
+ Stream(streams, mode != filemode_Write, mode != filemode_Read, rock, unicode),
+ _buf(buf), _bufLen(buflen), _bufPtr(buf) {
assert(_buf && _bufLen);
assert(mode == filemode_Read || mode == filemode_Write || mode == filemode_ReadWrite);
@@ -363,8 +363,7 @@ void MemoryStream::putBuffer(const char *buf, size_t len) {
} else {
if (!_unicode) {
unsigned char *bp = (unsigned char *)_bufPtr;
- if (bp + len > (unsigned char *)_bufEnd)
- {
+ if (bp + len > (unsigned char *)_bufEnd) {
lx = (bp + len) - (unsigned char *)_bufEnd;
if (lx < len)
len -= lx;
@@ -374,7 +373,7 @@ void MemoryStream::putBuffer(const char *buf, size_t len) {
if (len) {
memmove(bp, buf, len);
bp += len;
- if (bp >(unsigned char *)_bufEof)
+ if (bp > (unsigned char *)_bufEof)
_bufEof = bp;
}
_bufPtr = bp;
@@ -392,7 +391,7 @@ void MemoryStream::putBuffer(const char *buf, size_t len) {
for (i = 0; i < len; i++)
bp[i] = buf[i];
bp += len;
- if (bp >(glui32 *)_bufEof)
+ if (bp > (glui32 *)_bufEof)
_bufEof = bp;
}
_bufPtr = bp;
@@ -444,7 +443,7 @@ void MemoryStream::putBufferUni(const uint32 *buf, size_t len) {
if (len) {
memmove(bp, buf, len * 4);
bp += len;
- if (bp >(glui32 *)_bufEof)
+ if (bp > (glui32 *)_bufEof)
_bufEof = bp;
}
_bufPtr = bp;
@@ -460,8 +459,7 @@ glui32 MemoryStream::getPosition() const {
}
void MemoryStream::setPosition(glui32 pos, glui32 seekMode) {
- if (!_unicode)
- {
+ if (!_unicode) {
if (seekMode == seekmode_Current)
pos = ((unsigned char *)_bufPtr - (unsigned char *)_buf) + pos;
else if (seekMode == seekmode_End)
@@ -556,7 +554,7 @@ glui32 MemoryStream::getBuffer(char *buf, glui32 len) {
if (len) {
memcpy(buf, bp, len);
bp += len;
- if (bp >(unsigned char *)_bufEof)
+ if (bp > (unsigned char *)_bufEof)
_bufEof = bp;
}
@@ -601,8 +599,7 @@ glui32 MemoryStream::getBufferUni(glui32 *buf, glui32 len) {
} else {
if (!_unicode) {
unsigned char *bp = (unsigned char *)_bufPtr;
- if (bp + len > (unsigned char *)_bufEnd)
- {
+ if (bp + len > (unsigned char *)_bufEnd) {
glui32 lx;
lx = (bp + len) - (unsigned char *)_bufEnd;
if (lx < len)
@@ -615,7 +612,7 @@ glui32 MemoryStream::getBufferUni(glui32 *buf, glui32 len) {
for (i = 0; i < len; i++)
buf[i] = bp[i];
bp += len;
- if (bp >(unsigned char *)_bufEof)
+ if (bp > (unsigned char *)_bufEof)
_bufEof = bp;
}
_readCount += len;
@@ -633,7 +630,7 @@ glui32 MemoryStream::getBufferUni(glui32 *buf, glui32 len) {
if (len) {
memcpy(buf, bp, len * 4);
bp += len;
- if (bp >(glui32 *)_bufEof)
+ if (bp > (glui32 *)_bufEof)
_bufEof = bp;
}
_readCount += len;
@@ -761,8 +758,8 @@ glui32 MemoryStream::getLineUni(glui32 *ubuf, glui32 len) {
/*--------------------------------------------------------------------------*/
FileStream::FileStream(Streams *streams, frefid_t fref, glui32 fmode, glui32 rock, bool unicode) :
- Stream(streams, fmode == filemode_Read, fmode != filemode_Read, rock, unicode), _lastOp(0),
- _textFile(fref->_textMode), _inFile(nullptr), _outFile(nullptr), _inStream(nullptr) {
+ Stream(streams, fmode == filemode_Read, fmode != filemode_Read, rock, unicode), _lastOp(0),
+ _textFile(fref->_textMode), _inFile(nullptr), _outFile(nullptr), _inStream(nullptr) {
Common::String fname = fref->_slotNumber == -1 ? fref->_filename : fref->getSaveName();
if (fmode == filemode_Write || fmode == filemode_ReadWrite || fmode == filemode_WriteAppend) {
@@ -789,7 +786,7 @@ FileStream::FileStream(Streams *streams, frefid_t fref, glui32 fmode, glui32 roc
if (!readSavegameHeader(_inStream, header))
error("Invalid savegame");
if (header._interpType != g_vm->getInterpreterType() || header._language != g_vm->getLanguage()
- || header._md5 != g_vm->getGameMD5())
+ || header._md5 != g_vm->getGameMD5())
error("Savegame is for a different game");
g_vm->_events->setTotalPlayTicks(header._totalFrames);
@@ -873,7 +870,7 @@ void FileStream::putBufferUni(const uint32 *buf, size_t len) {
ensureOp(filemode_Write);
- for (size_t lx = 0; lx<len; lx++) {
+ for (size_t lx = 0; lx < len; lx++) {
glui32 ch = buf[lx];
if (!_unicode) {
if (ch >= 0x100)
@@ -1005,7 +1002,7 @@ void FileStream::setPosition(glui32 pos, glui32 seekMode) {
_lastOp = 0;
if (_unicode)
pos *= 4;
-
+
if (_inStream) {
_inStream->seek(pos, SEEK_SET);
} else {
@@ -1100,7 +1097,7 @@ glui32 FileStream::getBuffer(char *buf, glui32 len) {
return res;
} else if (_textFile) {
glui32 lx;
- for (lx = 0; lx<len; lx++) {
+ for (lx = 0; lx < len; lx++) {
glui32 ch;
ch = getCharUtf8();
if (ch == -1)
@@ -1148,7 +1145,7 @@ glui32 FileStream::getBufferUni(glui32 *buf, glui32 len) {
ensureOp(filemode_Read);
if (!_unicode) {
glui32 lx;
- for (lx = 0; lx<len; lx++) {
+ for (lx = 0; lx < len; lx++) {
int res;
glui32 ch;
res = _inStream->readByte();
@@ -1161,7 +1158,7 @@ glui32 FileStream::getBufferUni(glui32 *buf, glui32 len) {
return lx;
} else if (_textFile) {
glui32 lx;
- for (lx = 0; lx<len; lx++) {
+ for (lx = 0; lx < len; lx++) {
glui32 ch;
ch = getCharUtf8();
if (ch == -1)
@@ -1172,8 +1169,7 @@ glui32 FileStream::getBufferUni(glui32 *buf, glui32 len) {
return lx;
} else {
glui32 lx;
- for (lx = 0; lx<len; lx++)
- {
+ for (lx = 0; lx < len; lx++) {
int res;
glui32 ch;
res = _inStream->readByte();
@@ -1477,8 +1473,7 @@ frefid_t Streams::createByPrompt(glui32 usage, FileMode fmode, glui32 rock) {
Common::String desc = dialog->getResultString();
return createRef(slot, desc, usage, rock);
}
- }
- else if (fmode == filemode_Read) {
+ } else if (fmode == filemode_Read) {
// Load a savegame slot
GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Restore game:"), _("Restore"), false);
@@ -1486,8 +1481,7 @@ frefid_t Streams::createByPrompt(glui32 usage, FileMode fmode, glui32 rock) {
if (slot >= 0) {
return createRef(slot, "", usage, rock);
}
- }
- else {
+ } else {
error("Unsupport file mode");
}
break;
@@ -1527,7 +1521,7 @@ frefid_t Streams::createRef(const Common::String &filename, glui32 usage, glui32
frefid_t Streams::createTemp(glui32 usage, glui32 rock) {
return createRef(Common::String::format("%s.tmp", g_vm->getTargetName().c_str()),
- usage, rock);
+ usage, rock);
}
frefid_t Streams::createFromRef(frefid_t fref, glui32 usage, glui32 rock) {
@@ -1579,8 +1573,7 @@ bool FileReference::exists() const {
if (Common::File::exists(_filename))
return true;
filename = _filename;
- }
- else {
+ } else {
filename = getSaveName();
}
diff --git a/engines/gargoyle/streams.h b/engines/gargoyle/streams.h
index c8b69631a0..8a497e08cb 100644
--- a/engines/gargoyle/streams.h
+++ b/engines/gargoyle/streams.h
@@ -159,7 +159,9 @@ public:
/**
* Get the rock value for the stream
*/
- uint32 getRock() const { return _rock; }
+ uint32 getRock() const {
+ return _rock;
+ }
/**
* Fill out the total amount read and/or written
@@ -217,7 +219,9 @@ public:
putCharUni('\n');
}
- virtual glui32 getPosition() const { return 0; }
+ virtual glui32 getPosition() const {
+ return 0;
+ }
virtual void setPosition(glui32 pos, glui32 seekMode) {}
@@ -226,32 +230,44 @@ public:
/**
* Get a character from the stream
*/
- virtual glsi32 getChar() { return -1; }
+ virtual glsi32 getChar() {
+ return -1;
+ }
/**
* Get a unicode character from the stream
*/
- virtual glsi32 getCharUni() { return -1; }
+ virtual glsi32 getCharUni() {
+ return -1;
+ }
/**
* Get a buffer
*/
- virtual glui32 getBuffer(char *buf, glui32 len) { return 0; }
+ virtual glui32 getBuffer(char *buf, glui32 len) {
+ return 0;
+ }
/**
* Get a unicode buffer
*/
- virtual glui32 getBufferUni(glui32 *buf, glui32 len) { return 0; }
+ virtual glui32 getBufferUni(glui32 *buf, glui32 len) {
+ return 0;
+ }
/**
* Get a line
*/
- virtual glui32 getLine(char *buf, glui32 len) { return 0; }
+ virtual glui32 getLine(char *buf, glui32 len) {
+ return 0;
+ }
/**
* Get a unicode line
*/
- virtual glui32 getLineUni(glui32 *ubuf, glui32 len) { return 0; }
+ virtual glui32 getLineUni(glui32 *ubuf, glui32 len) {
+ return 0;
+ }
/**
* Set a hyperlink
@@ -341,11 +357,11 @@ public:
*/
class MemoryStream : public Stream {
private:
- void *_buf; ///< unsigned char* for latin1, glui32* for unicode
+ void *_buf; ///< unsigned char* for latin1, glui32* for unicode
void *_bufPtr;
void *_bufEnd;
void *_bufEof;
- size_t _bufLen; ///< # of bytes for latin1, # of 4-byte words for unicode
+ size_t _bufLen; ///< # of bytes for latin1, # of 4-byte words for unicode
public:
/**
* Constructor
@@ -416,7 +432,7 @@ private:
Common::OutSaveFile *_outFile;
Common::InSaveFile *_inFile;
Common::SeekableReadStream *_inStream;
- uint32 _lastOp; ///< 0, filemode_Write, or filemode_Read
+ uint32 _lastOp; ///< 0, filemode_Write, or filemode_Read
bool _textFile;
private:
/**
@@ -577,7 +593,9 @@ public:
/**
* Gets the current output stream
*/
- Stream *getCurrent() const { return _currentStream; }
+ Stream *getCurrent() const {
+ return _currentStream;
+ }
/**
* Prompt for a savegame to load or save, and populate a file reference from the result
diff --git a/engines/gargoyle/unicode.cpp b/engines/gargoyle/unicode.cpp
index c783915cde..f32093b2f5 100644
--- a/engines/gargoyle/unicode.cpp
+++ b/engines/gargoyle/unicode.cpp
@@ -34,7 +34,7 @@ size_t strlen_uni(const uint32 *s) {
}
glui32 bufferChangeCase(glui32 *buf, glui32 len, glui32 numchars, BufferChangeCase destcase,
- BufferChangeCond cond, int changerest) {
+ BufferChangeCond cond, int changerest) {
glui32 ix, jx;
glui32 *outbuf;
glui32 *newoutbuf;
@@ -92,8 +92,7 @@ glui32 bufferChangeCase(glui32 *buf, glui32 len, glui32 numchars, BufferChangeCa
res = block[ch & 0xFF][target];
}
- if (res != 0xFFFFFFFF || res == ch)
- {
+ if (res != 0xFFFFFFFF || res == ch) {
/* simple case */
if (outcount < len)
outbuf[outcount] = res;
@@ -130,7 +129,7 @@ glui32 bufferChangeCase(glui32 *buf, glui32 len, glui32 numchars, BufferChangeCa
outbuf = newoutbuf;
}
- for (jx = 0; jx<speccount; jx++) {
+ for (jx = 0; jx < speccount; jx++) {
if (outcount < len)
outbuf[outcount] = ptr[jx];
outcount++;
diff --git a/engines/gargoyle/unicode.h b/engines/gargoyle/unicode.h
index 2392c1afa1..e9fa9280d9 100644
--- a/engines/gargoyle/unicode.h
+++ b/engines/gargoyle/unicode.h
@@ -44,7 +44,7 @@ size_t strlen_uni(const uint32 *s);
*converted string should have contained.
*/
extern glui32 bufferChangeCase(glui32 *buf, glui32 len,
- glui32 numchars, BufferChangeCase destcase, BufferChangeCond cond, int changerest);
+ glui32 numchars, BufferChangeCase destcase, BufferChangeCond cond, int changerest);
} // End of namespace Gargoyle
diff --git a/engines/gargoyle/unicode_gen.cpp b/engines/gargoyle/unicode_gen.cpp
index c9ad57097f..56e44c350f 100644
--- a/engines/gargoyle/unicode_gen.cpp
+++ b/engines/gargoyle/unicode_gen.cpp
@@ -3861,3325 +3861,3325 @@ gli_case_special_t unigen_special_0xfb16 = { 857, 860, 862 };
gli_case_special_t unigen_special_0xfb17 = { 865, 868, 870 };
#define RETURN_COMBINING_CLASS(ch) \
-switch ((glui32)(ch) >> 8) { \
-case 3: \
-switch (ch) { \
- case 820: \
- case 821: \
- case 822: \
- case 823: \
- case 824: \
- return 1; \
- case 801: \
- case 802: \
- case 807: \
- case 808: \
- return 202; \
- case 795: \
- return 216; \
- case 790: \
- case 791: \
- case 792: \
- case 793: \
- case 796: \
- case 797: \
- case 798: \
- case 799: \
- case 800: \
- case 803: \
- case 804: \
- case 805: \
- case 806: \
- case 809: \
- case 810: \
- case 811: \
- case 812: \
- case 813: \
- case 814: \
- case 815: \
- case 816: \
- case 817: \
- case 818: \
- case 819: \
- case 825: \
- case 826: \
- case 827: \
- case 828: \
- case 839: \
- case 840: \
- case 841: \
- case 845: \
- case 846: \
- case 851: \
- case 852: \
- case 853: \
- case 854: \
- return 220; \
- case 768: \
- case 769: \
- case 770: \
- case 771: \
- case 772: \
- case 773: \
- case 774: \
- case 775: \
- case 776: \
- case 777: \
- case 778: \
- case 779: \
- case 780: \
- case 781: \
- case 782: \
- case 783: \
- case 784: \
- case 785: \
- case 786: \
- case 787: \
- case 788: \
- case 829: \
- case 830: \
- case 831: \
- case 832: \
- case 833: \
- case 834: \
- case 835: \
- case 836: \
- case 838: \
- case 842: \
- case 843: \
- case 844: \
- case 848: \
- case 849: \
- case 850: \
- case 855: \
- case 867: \
- case 868: \
- case 869: \
- case 870: \
- case 871: \
- case 872: \
- case 873: \
- case 874: \
- case 875: \
- case 876: \
- case 877: \
- case 878: \
- case 879: \
- return 230; \
- case 789: \
- case 794: \
- return 232; \
- case 863: \
- case 866: \
- return 233; \
- case 861: \
- case 862: \
- case 864: \
- case 865: \
- return 234; \
- case 837: \
- return 240; \
-} \
-return 0; \
-case 4: \
-switch (ch) { \
- case 1155: \
- case 1156: \
- case 1157: \
- case 1158: \
- return 230; \
-} \
-return 0; \
-case 5: \
-switch (ch) { \
- case 1456: \
- return 10; \
- case 1457: \
- return 11; \
- case 1458: \
- return 12; \
- case 1459: \
- return 13; \
- case 1460: \
- return 14; \
- case 1461: \
- return 15; \
- case 1462: \
- return 16; \
- case 1463: \
- return 17; \
- case 1464: \
- return 18; \
- case 1465: \
- return 19; \
- case 1467: \
- return 20; \
- case 1468: \
- return 21; \
- case 1469: \
- return 22; \
- case 1471: \
- return 23; \
- case 1473: \
- return 24; \
- case 1474: \
- return 25; \
- case 1425: \
- case 1430: \
- case 1435: \
- case 1443: \
- case 1444: \
- case 1445: \
- case 1446: \
- case 1447: \
- case 1450: \
- return 220; \
- case 1434: \
- case 1453: \
- return 222; \
- case 1454: \
- return 228; \
- case 1426: \
- case 1427: \
- case 1428: \
- case 1429: \
- case 1431: \
- case 1432: \
- case 1433: \
- case 1436: \
- case 1437: \
- case 1438: \
- case 1439: \
- case 1440: \
- case 1441: \
- case 1448: \
- case 1449: \
- case 1451: \
- case 1452: \
- case 1455: \
- case 1476: \
- return 230; \
-} \
-return 0; \
-case 6: \
-switch (ch) { \
- case 1611: \
- return 27; \
- case 1612: \
- return 28; \
- case 1613: \
- return 29; \
- case 1614: \
- return 30; \
- case 1615: \
- return 31; \
- case 1616: \
- return 32; \
- case 1617: \
- return 33; \
- case 1618: \
- return 34; \
- case 1648: \
- return 35; \
- case 1621: \
- case 1622: \
- case 1763: \
- case 1770: \
- case 1773: \
- return 220; \
- case 1552: \
- case 1553: \
- case 1554: \
- case 1555: \
- case 1556: \
- case 1557: \
- case 1619: \
- case 1620: \
- case 1623: \
- case 1624: \
- case 1750: \
- case 1751: \
- case 1752: \
- case 1753: \
- case 1754: \
- case 1755: \
- case 1756: \
- case 1759: \
- case 1760: \
- case 1761: \
- case 1762: \
- case 1764: \
- case 1767: \
- case 1768: \
- case 1771: \
- case 1772: \
- return 230; \
-} \
-return 0; \
-case 7: \
-switch (ch) { \
- case 1809: \
- return 36; \
- case 1841: \
- case 1844: \
- case 1847: \
- case 1848: \
- case 1849: \
- case 1851: \
- case 1852: \
- case 1854: \
- case 1858: \
- case 1860: \
- case 1862: \
- case 1864: \
- return 220; \
- case 1840: \
- case 1842: \
- case 1843: \
- case 1845: \
- case 1846: \
- case 1850: \
- case 1853: \
- case 1855: \
- case 1856: \
- case 1857: \
- case 1859: \
- case 1861: \
- case 1863: \
- case 1865: \
- case 1866: \
- return 230; \
-} \
-return 0; \
-case 9: \
-switch (ch) { \
- case 2364: \
- case 2492: \
- return 7; \
- case 2381: \
- case 2509: \
- return 9; \
- case 2386: \
- return 220; \
- case 2385: \
- case 2387: \
- case 2388: \
- return 230; \
-} \
-return 0; \
-case 10: \
-switch (ch) { \
- case 2620: \
- case 2748: \
- return 7; \
- case 2637: \
- case 2765: \
- return 9; \
-} \
-return 0; \
-case 11: \
-switch (ch) { \
- case 2876: \
- return 7; \
- case 2893: \
- case 3021: \
- return 9; \
-} \
-return 0; \
-case 12: \
-switch (ch) { \
- case 3260: \
- return 7; \
- case 3149: \
- case 3277: \
- return 9; \
- case 3157: \
- return 84; \
- case 3158: \
- return 91; \
-} \
-return 0; \
-case 13: \
-switch (ch) { \
- case 3405: \
- case 3530: \
- return 9; \
-} \
-return 0; \
-case 14: \
-switch (ch) { \
- case 3642: \
- return 9; \
- case 3640: \
- case 3641: \
- return 103; \
- case 3656: \
- case 3657: \
- case 3658: \
- case 3659: \
- return 107; \
- case 3768: \
- case 3769: \
- return 118; \
- case 3784: \
- case 3785: \
- case 3786: \
- case 3787: \
- return 122; \
-} \
-return 0; \
-case 15: \
-switch (ch) { \
- case 3972: \
- return 9; \
- case 3953: \
- return 129; \
- case 3954: \
- case 3962: \
- case 3963: \
- case 3964: \
- case 3965: \
- case 3968: \
- return 130; \
- case 3956: \
- return 132; \
- case 3897: \
- return 216; \
- case 3864: \
- case 3865: \
- case 3893: \
- case 3895: \
- case 4038: \
- return 220; \
- case 3970: \
- case 3971: \
- case 3974: \
- case 3975: \
- return 230; \
-} \
-return 0; \
-case 16: \
-switch (ch) { \
- case 4151: \
- return 7; \
- case 4153: \
- return 9; \
-} \
-return 0; \
-case 23: \
-switch (ch) { \
- case 5908: \
- case 5940: \
- case 6098: \
- return 9; \
- case 6109: \
- return 230; \
-} \
-return 0; \
-case 24: \
-switch (ch) { \
- case 6313: \
- return 228; \
-} \
-return 0; \
-case 25: \
-switch (ch) { \
- case 6459: \
- return 220; \
- case 6457: \
- return 222; \
- case 6458: \
- return 230; \
-} \
-return 0; \
-case 32: \
-switch (ch) { \
- case 8402: \
- case 8403: \
- case 8408: \
- case 8409: \
- case 8410: \
- case 8421: \
- case 8422: \
- case 8426: \
- return 1; \
- case 8424: \
- return 220; \
- case 8400: \
- case 8401: \
- case 8404: \
- case 8405: \
- case 8406: \
- case 8407: \
- case 8411: \
- case 8412: \
- case 8417: \
- case 8423: \
- case 8425: \
- return 230; \
-} \
-return 0; \
-case 48: \
-switch (ch) { \
- case 12441: \
- case 12442: \
- return 8; \
- case 12330: \
- return 218; \
- case 12333: \
- return 222; \
- case 12334: \
- case 12335: \
- return 224; \
- case 12331: \
- return 228; \
- case 12332: \
- return 232; \
-} \
-return 0; \
-case 251: \
-switch (ch) { \
- case 64286: \
- return 26; \
-} \
-return 0; \
-case 254: \
-switch (ch) { \
- case 65056: \
- case 65057: \
- case 65058: \
- case 65059: \
- return 230; \
-} \
-return 0; \
-case 465: \
-switch (ch) { \
- case 119143: \
- case 119144: \
- case 119145: \
- return 1; \
- case 119141: \
- case 119142: \
- case 119150: \
- case 119151: \
- case 119152: \
- case 119153: \
- case 119154: \
- return 216; \
- case 119163: \
- case 119164: \
- case 119165: \
- case 119166: \
- case 119167: \
- case 119168: \
- case 119169: \
- case 119170: \
- case 119178: \
- case 119179: \
- return 220; \
- case 119149: \
- return 226; \
- case 119173: \
- case 119174: \
- case 119175: \
- case 119176: \
- case 119177: \
- case 119210: \
- case 119211: \
- case 119212: \
- case 119213: \
- return 230; \
-} \
-return 0; \
-} \
-return 0;
+ switch ((glui32)(ch) >> 8) { \
+ case 3: \
+ switch (ch) { \
+ case 820: \
+ case 821: \
+ case 822: \
+ case 823: \
+ case 824: \
+ return 1; \
+ case 801: \
+ case 802: \
+ case 807: \
+ case 808: \
+ return 202; \
+ case 795: \
+ return 216; \
+ case 790: \
+ case 791: \
+ case 792: \
+ case 793: \
+ case 796: \
+ case 797: \
+ case 798: \
+ case 799: \
+ case 800: \
+ case 803: \
+ case 804: \
+ case 805: \
+ case 806: \
+ case 809: \
+ case 810: \
+ case 811: \
+ case 812: \
+ case 813: \
+ case 814: \
+ case 815: \
+ case 816: \
+ case 817: \
+ case 818: \
+ case 819: \
+ case 825: \
+ case 826: \
+ case 827: \
+ case 828: \
+ case 839: \
+ case 840: \
+ case 841: \
+ case 845: \
+ case 846: \
+ case 851: \
+ case 852: \
+ case 853: \
+ case 854: \
+ return 220; \
+ case 768: \
+ case 769: \
+ case 770: \
+ case 771: \
+ case 772: \
+ case 773: \
+ case 774: \
+ case 775: \
+ case 776: \
+ case 777: \
+ case 778: \
+ case 779: \
+ case 780: \
+ case 781: \
+ case 782: \
+ case 783: \
+ case 784: \
+ case 785: \
+ case 786: \
+ case 787: \
+ case 788: \
+ case 829: \
+ case 830: \
+ case 831: \
+ case 832: \
+ case 833: \
+ case 834: \
+ case 835: \
+ case 836: \
+ case 838: \
+ case 842: \
+ case 843: \
+ case 844: \
+ case 848: \
+ case 849: \
+ case 850: \
+ case 855: \
+ case 867: \
+ case 868: \
+ case 869: \
+ case 870: \
+ case 871: \
+ case 872: \
+ case 873: \
+ case 874: \
+ case 875: \
+ case 876: \
+ case 877: \
+ case 878: \
+ case 879: \
+ return 230; \
+ case 789: \
+ case 794: \
+ return 232; \
+ case 863: \
+ case 866: \
+ return 233; \
+ case 861: \
+ case 862: \
+ case 864: \
+ case 865: \
+ return 234; \
+ case 837: \
+ return 240; \
+ } \
+ return 0; \
+ case 4: \
+ switch (ch) { \
+ case 1155: \
+ case 1156: \
+ case 1157: \
+ case 1158: \
+ return 230; \
+ } \
+ return 0; \
+ case 5: \
+ switch (ch) { \
+ case 1456: \
+ return 10; \
+ case 1457: \
+ return 11; \
+ case 1458: \
+ return 12; \
+ case 1459: \
+ return 13; \
+ case 1460: \
+ return 14; \
+ case 1461: \
+ return 15; \
+ case 1462: \
+ return 16; \
+ case 1463: \
+ return 17; \
+ case 1464: \
+ return 18; \
+ case 1465: \
+ return 19; \
+ case 1467: \
+ return 20; \
+ case 1468: \
+ return 21; \
+ case 1469: \
+ return 22; \
+ case 1471: \
+ return 23; \
+ case 1473: \
+ return 24; \
+ case 1474: \
+ return 25; \
+ case 1425: \
+ case 1430: \
+ case 1435: \
+ case 1443: \
+ case 1444: \
+ case 1445: \
+ case 1446: \
+ case 1447: \
+ case 1450: \
+ return 220; \
+ case 1434: \
+ case 1453: \
+ return 222; \
+ case 1454: \
+ return 228; \
+ case 1426: \
+ case 1427: \
+ case 1428: \
+ case 1429: \
+ case 1431: \
+ case 1432: \
+ case 1433: \
+ case 1436: \
+ case 1437: \
+ case 1438: \
+ case 1439: \
+ case 1440: \
+ case 1441: \
+ case 1448: \
+ case 1449: \
+ case 1451: \
+ case 1452: \
+ case 1455: \
+ case 1476: \
+ return 230; \
+ } \
+ return 0; \
+ case 6: \
+ switch (ch) { \
+ case 1611: \
+ return 27; \
+ case 1612: \
+ return 28; \
+ case 1613: \
+ return 29; \
+ case 1614: \
+ return 30; \
+ case 1615: \
+ return 31; \
+ case 1616: \
+ return 32; \
+ case 1617: \
+ return 33; \
+ case 1618: \
+ return 34; \
+ case 1648: \
+ return 35; \
+ case 1621: \
+ case 1622: \
+ case 1763: \
+ case 1770: \
+ case 1773: \
+ return 220; \
+ case 1552: \
+ case 1553: \
+ case 1554: \
+ case 1555: \
+ case 1556: \
+ case 1557: \
+ case 1619: \
+ case 1620: \
+ case 1623: \
+ case 1624: \
+ case 1750: \
+ case 1751: \
+ case 1752: \
+ case 1753: \
+ case 1754: \
+ case 1755: \
+ case 1756: \
+ case 1759: \
+ case 1760: \
+ case 1761: \
+ case 1762: \
+ case 1764: \
+ case 1767: \
+ case 1768: \
+ case 1771: \
+ case 1772: \
+ return 230; \
+ } \
+ return 0; \
+ case 7: \
+ switch (ch) { \
+ case 1809: \
+ return 36; \
+ case 1841: \
+ case 1844: \
+ case 1847: \
+ case 1848: \
+ case 1849: \
+ case 1851: \
+ case 1852: \
+ case 1854: \
+ case 1858: \
+ case 1860: \
+ case 1862: \
+ case 1864: \
+ return 220; \
+ case 1840: \
+ case 1842: \
+ case 1843: \
+ case 1845: \
+ case 1846: \
+ case 1850: \
+ case 1853: \
+ case 1855: \
+ case 1856: \
+ case 1857: \
+ case 1859: \
+ case 1861: \
+ case 1863: \
+ case 1865: \
+ case 1866: \
+ return 230; \
+ } \
+ return 0; \
+ case 9: \
+ switch (ch) { \
+ case 2364: \
+ case 2492: \
+ return 7; \
+ case 2381: \
+ case 2509: \
+ return 9; \
+ case 2386: \
+ return 220; \
+ case 2385: \
+ case 2387: \
+ case 2388: \
+ return 230; \
+ } \
+ return 0; \
+ case 10: \
+ switch (ch) { \
+ case 2620: \
+ case 2748: \
+ return 7; \
+ case 2637: \
+ case 2765: \
+ return 9; \
+ } \
+ return 0; \
+ case 11: \
+ switch (ch) { \
+ case 2876: \
+ return 7; \
+ case 2893: \
+ case 3021: \
+ return 9; \
+ } \
+ return 0; \
+ case 12: \
+ switch (ch) { \
+ case 3260: \
+ return 7; \
+ case 3149: \
+ case 3277: \
+ return 9; \
+ case 3157: \
+ return 84; \
+ case 3158: \
+ return 91; \
+ } \
+ return 0; \
+ case 13: \
+ switch (ch) { \
+ case 3405: \
+ case 3530: \
+ return 9; \
+ } \
+ return 0; \
+ case 14: \
+ switch (ch) { \
+ case 3642: \
+ return 9; \
+ case 3640: \
+ case 3641: \
+ return 103; \
+ case 3656: \
+ case 3657: \
+ case 3658: \
+ case 3659: \
+ return 107; \
+ case 3768: \
+ case 3769: \
+ return 118; \
+ case 3784: \
+ case 3785: \
+ case 3786: \
+ case 3787: \
+ return 122; \
+ } \
+ return 0; \
+ case 15: \
+ switch (ch) { \
+ case 3972: \
+ return 9; \
+ case 3953: \
+ return 129; \
+ case 3954: \
+ case 3962: \
+ case 3963: \
+ case 3964: \
+ case 3965: \
+ case 3968: \
+ return 130; \
+ case 3956: \
+ return 132; \
+ case 3897: \
+ return 216; \
+ case 3864: \
+ case 3865: \
+ case 3893: \
+ case 3895: \
+ case 4038: \
+ return 220; \
+ case 3970: \
+ case 3971: \
+ case 3974: \
+ case 3975: \
+ return 230; \
+ } \
+ return 0; \
+ case 16: \
+ switch (ch) { \
+ case 4151: \
+ return 7; \
+ case 4153: \
+ return 9; \
+ } \
+ return 0; \
+ case 23: \
+ switch (ch) { \
+ case 5908: \
+ case 5940: \
+ case 6098: \
+ return 9; \
+ case 6109: \
+ return 230; \
+ } \
+ return 0; \
+ case 24: \
+ switch (ch) { \
+ case 6313: \
+ return 228; \
+ } \
+ return 0; \
+ case 25: \
+ switch (ch) { \
+ case 6459: \
+ return 220; \
+ case 6457: \
+ return 222; \
+ case 6458: \
+ return 230; \
+ } \
+ return 0; \
+ case 32: \
+ switch (ch) { \
+ case 8402: \
+ case 8403: \
+ case 8408: \
+ case 8409: \
+ case 8410: \
+ case 8421: \
+ case 8422: \
+ case 8426: \
+ return 1; \
+ case 8424: \
+ return 220; \
+ case 8400: \
+ case 8401: \
+ case 8404: \
+ case 8405: \
+ case 8406: \
+ case 8407: \
+ case 8411: \
+ case 8412: \
+ case 8417: \
+ case 8423: \
+ case 8425: \
+ return 230; \
+ } \
+ return 0; \
+ case 48: \
+ switch (ch) { \
+ case 12441: \
+ case 12442: \
+ return 8; \
+ case 12330: \
+ return 218; \
+ case 12333: \
+ return 222; \
+ case 12334: \
+ case 12335: \
+ return 224; \
+ case 12331: \
+ return 228; \
+ case 12332: \
+ return 232; \
+ } \
+ return 0; \
+ case 251: \
+ switch (ch) { \
+ case 64286: \
+ return 26; \
+ } \
+ return 0; \
+ case 254: \
+ switch (ch) { \
+ case 65056: \
+ case 65057: \
+ case 65058: \
+ case 65059: \
+ return 230; \
+ } \
+ return 0; \
+ case 465: \
+ switch (ch) { \
+ case 119143: \
+ case 119144: \
+ case 119145: \
+ return 1; \
+ case 119141: \
+ case 119142: \
+ case 119150: \
+ case 119151: \
+ case 119152: \
+ case 119153: \
+ case 119154: \
+ return 216; \
+ case 119163: \
+ case 119164: \
+ case 119165: \
+ case 119166: \
+ case 119167: \
+ case 119168: \
+ case 119169: \
+ case 119170: \
+ case 119178: \
+ case 119179: \
+ return 220; \
+ case 119149: \
+ return 226; \
+ case 119173: \
+ case 119174: \
+ case 119175: \
+ case 119176: \
+ case 119177: \
+ case 119210: \
+ case 119211: \
+ case 119212: \
+ case 119213: \
+ return 230; \
+ } \
+ return 0; \
+ } \
+ return 0;
#define RETURN_COMPOSITION(ch1, ch2) \
-switch ((glui32)(ch1) >> 8) { \
-case 0: \
-switch (ch1) { \
- case 60: \
- switch (ch2) { \
- case 824: return 8814; \
- } \
- return 0; \
- case 61: \
- switch (ch2) { \
- case 824: return 8800; \
- } \
- return 0; \
- case 62: \
- switch (ch2) { \
- case 824: return 8815; \
- } \
- return 0; \
- case 65: \
- switch (ch2) { \
- case 768: return 192; \
- case 769: return 193; \
- case 770: return 194; \
- case 771: return 195; \
- case 772: return 256; \
- case 774: return 258; \
- case 775: return 550; \
- case 776: return 196; \
- case 777: return 7842; \
- case 778: return 197; \
- case 780: return 461; \
- case 783: return 512; \
- case 785: return 514; \
- case 803: return 7840; \
- case 805: return 7680; \
- case 808: return 260; \
- } \
- return 0; \
- case 66: \
- switch (ch2) { \
- case 775: return 7682; \
- case 803: return 7684; \
- case 817: return 7686; \
- } \
- return 0; \
- case 67: \
- switch (ch2) { \
- case 769: return 262; \
- case 770: return 264; \
- case 775: return 266; \
- case 780: return 268; \
- case 807: return 199; \
- } \
- return 0; \
- case 68: \
- switch (ch2) { \
- case 775: return 7690; \
- case 780: return 270; \
- case 803: return 7692; \
- case 807: return 7696; \
- case 813: return 7698; \
- case 817: return 7694; \
- } \
- return 0; \
- case 69: \
- switch (ch2) { \
- case 768: return 200; \
- case 769: return 201; \
- case 770: return 202; \
- case 771: return 7868; \
- case 772: return 274; \
- case 774: return 276; \
- case 775: return 278; \
- case 776: return 203; \
- case 777: return 7866; \
- case 780: return 282; \
- case 783: return 516; \
- case 785: return 518; \
- case 803: return 7864; \
- case 807: return 552; \
- case 808: return 280; \
- case 813: return 7704; \
- case 816: return 7706; \
- } \
- return 0; \
- case 70: \
- switch (ch2) { \
- case 775: return 7710; \
- } \
- return 0; \
- case 71: \
- switch (ch2) { \
- case 769: return 500; \
- case 770: return 284; \
- case 772: return 7712; \
- case 774: return 286; \
- case 775: return 288; \
- case 780: return 486; \
- case 807: return 290; \
- } \
- return 0; \
- case 72: \
- switch (ch2) { \
- case 770: return 292; \
- case 775: return 7714; \
- case 776: return 7718; \
- case 780: return 542; \
- case 803: return 7716; \
- case 807: return 7720; \
- case 814: return 7722; \
- } \
- return 0; \
- case 73: \
- switch (ch2) { \
- case 768: return 204; \
- case 769: return 205; \
- case 770: return 206; \
- case 771: return 296; \
- case 772: return 298; \
- case 774: return 300; \
- case 775: return 304; \
- case 776: return 207; \
- case 777: return 7880; \
- case 780: return 463; \
- case 783: return 520; \
- case 785: return 522; \
- case 803: return 7882; \
- case 808: return 302; \
- case 816: return 7724; \
- } \
- return 0; \
- case 74: \
- switch (ch2) { \
- case 770: return 308; \
- } \
- return 0; \
- case 75: \
- switch (ch2) { \
- case 769: return 7728; \
- case 780: return 488; \
- case 803: return 7730; \
- case 807: return 310; \
- case 817: return 7732; \
- } \
- return 0; \
- case 76: \
- switch (ch2) { \
- case 769: return 313; \
- case 780: return 317; \
- case 803: return 7734; \
- case 807: return 315; \
- case 813: return 7740; \
- case 817: return 7738; \
- } \
- return 0; \
- case 77: \
- switch (ch2) { \
- case 769: return 7742; \
- case 775: return 7744; \
- case 803: return 7746; \
- } \
- return 0; \
- case 78: \
- switch (ch2) { \
- case 768: return 504; \
- case 769: return 323; \
- case 771: return 209; \
- case 775: return 7748; \
- case 780: return 327; \
- case 803: return 7750; \
- case 807: return 325; \
- case 813: return 7754; \
- case 817: return 7752; \
- } \
- return 0; \
- case 79: \
- switch (ch2) { \
- case 768: return 210; \
- case 769: return 211; \
- case 770: return 212; \
- case 771: return 213; \
- case 772: return 332; \
- case 774: return 334; \
- case 775: return 558; \
- case 776: return 214; \
- case 777: return 7886; \
- case 779: return 336; \
- case 780: return 465; \
- case 783: return 524; \
- case 785: return 526; \
- case 795: return 416; \
- case 803: return 7884; \
- case 808: return 490; \
- } \
- return 0; \
- case 80: \
- switch (ch2) { \
- case 769: return 7764; \
- case 775: return 7766; \
- } \
- return 0; \
- case 82: \
- switch (ch2) { \
- case 769: return 340; \
- case 775: return 7768; \
- case 780: return 344; \
- case 783: return 528; \
- case 785: return 530; \
- case 803: return 7770; \
- case 807: return 342; \
- case 817: return 7774; \
- } \
- return 0; \
- case 83: \
- switch (ch2) { \
- case 769: return 346; \
- case 770: return 348; \
- case 775: return 7776; \
- case 780: return 352; \
- case 803: return 7778; \
- case 806: return 536; \
- case 807: return 350; \
- } \
- return 0; \
- case 84: \
- switch (ch2) { \
- case 775: return 7786; \
- case 780: return 356; \
- case 803: return 7788; \
- case 806: return 538; \
- case 807: return 354; \
- case 813: return 7792; \
- case 817: return 7790; \
- } \
- return 0; \
- case 85: \
- switch (ch2) { \
- case 768: return 217; \
- case 769: return 218; \
- case 770: return 219; \
- case 771: return 360; \
- case 772: return 362; \
- case 774: return 364; \
- case 776: return 220; \
- case 777: return 7910; \
- case 778: return 366; \
- case 779: return 368; \
- case 780: return 467; \
- case 783: return 532; \
- case 785: return 534; \
- case 795: return 431; \
- case 803: return 7908; \
- case 804: return 7794; \
- case 808: return 370; \
- case 813: return 7798; \
- case 816: return 7796; \
- } \
- return 0; \
- case 86: \
- switch (ch2) { \
- case 771: return 7804; \
- case 803: return 7806; \
- } \
- return 0; \
- case 87: \
- switch (ch2) { \
- case 768: return 7808; \
- case 769: return 7810; \
- case 770: return 372; \
- case 775: return 7814; \
- case 776: return 7812; \
- case 803: return 7816; \
- } \
- return 0; \
- case 88: \
- switch (ch2) { \
- case 775: return 7818; \
- case 776: return 7820; \
- } \
- return 0; \
- case 89: \
- switch (ch2) { \
- case 768: return 7922; \
- case 769: return 221; \
- case 770: return 374; \
- case 771: return 7928; \
- case 772: return 562; \
- case 775: return 7822; \
- case 776: return 376; \
- case 777: return 7926; \
- case 803: return 7924; \
- } \
- return 0; \
- case 90: \
- switch (ch2) { \
- case 769: return 377; \
- case 770: return 7824; \
- case 775: return 379; \
- case 780: return 381; \
- case 803: return 7826; \
- case 817: return 7828; \
- } \
- return 0; \
- case 97: \
- switch (ch2) { \
- case 768: return 224; \
- case 769: return 225; \
- case 770: return 226; \
- case 771: return 227; \
- case 772: return 257; \
- case 774: return 259; \
- case 775: return 551; \
- case 776: return 228; \
- case 777: return 7843; \
- case 778: return 229; \
- case 780: return 462; \
- case 783: return 513; \
- case 785: return 515; \
- case 803: return 7841; \
- case 805: return 7681; \
- case 808: return 261; \
- } \
- return 0; \
- case 98: \
- switch (ch2) { \
- case 775: return 7683; \
- case 803: return 7685; \
- case 817: return 7687; \
- } \
- return 0; \
- case 99: \
- switch (ch2) { \
- case 769: return 263; \
- case 770: return 265; \
- case 775: return 267; \
- case 780: return 269; \
- case 807: return 231; \
- } \
- return 0; \
- case 100: \
- switch (ch2) { \
- case 775: return 7691; \
- case 780: return 271; \
- case 803: return 7693; \
- case 807: return 7697; \
- case 813: return 7699; \
- case 817: return 7695; \
- } \
- return 0; \
- case 101: \
- switch (ch2) { \
- case 768: return 232; \
- case 769: return 233; \
- case 770: return 234; \
- case 771: return 7869; \
- case 772: return 275; \
- case 774: return 277; \
- case 775: return 279; \
- case 776: return 235; \
- case 777: return 7867; \
- case 780: return 283; \
- case 783: return 517; \
- case 785: return 519; \
- case 803: return 7865; \
- case 807: return 553; \
- case 808: return 281; \
- case 813: return 7705; \
- case 816: return 7707; \
- } \
- return 0; \
- case 102: \
- switch (ch2) { \
- case 775: return 7711; \
- } \
- return 0; \
- case 103: \
- switch (ch2) { \
- case 769: return 501; \
- case 770: return 285; \
- case 772: return 7713; \
- case 774: return 287; \
- case 775: return 289; \
- case 780: return 487; \
- case 807: return 291; \
- } \
- return 0; \
- case 104: \
- switch (ch2) { \
- case 770: return 293; \
- case 775: return 7715; \
- case 776: return 7719; \
- case 780: return 543; \
- case 803: return 7717; \
- case 807: return 7721; \
- case 814: return 7723; \
- case 817: return 7830; \
- } \
- return 0; \
- case 105: \
- switch (ch2) { \
- case 768: return 236; \
- case 769: return 237; \
- case 770: return 238; \
- case 771: return 297; \
- case 772: return 299; \
- case 774: return 301; \
- case 776: return 239; \
- case 777: return 7881; \
- case 780: return 464; \
- case 783: return 521; \
- case 785: return 523; \
- case 803: return 7883; \
- case 808: return 303; \
- case 816: return 7725; \
- } \
- return 0; \
- case 106: \
- switch (ch2) { \
- case 770: return 309; \
- case 780: return 496; \
- } \
- return 0; \
- case 107: \
- switch (ch2) { \
- case 769: return 7729; \
- case 780: return 489; \
- case 803: return 7731; \
- case 807: return 311; \
- case 817: return 7733; \
- } \
- return 0; \
- case 108: \
- switch (ch2) { \
- case 769: return 314; \
- case 780: return 318; \
- case 803: return 7735; \
- case 807: return 316; \
- case 813: return 7741; \
- case 817: return 7739; \
- } \
- return 0; \
- case 109: \
- switch (ch2) { \
- case 769: return 7743; \
- case 775: return 7745; \
- case 803: return 7747; \
- } \
- return 0; \
- case 110: \
- switch (ch2) { \
- case 768: return 505; \
- case 769: return 324; \
- case 771: return 241; \
- case 775: return 7749; \
- case 780: return 328; \
- case 803: return 7751; \
- case 807: return 326; \
- case 813: return 7755; \
- case 817: return 7753; \
- } \
- return 0; \
- case 111: \
- switch (ch2) { \
- case 768: return 242; \
- case 769: return 243; \
- case 770: return 244; \
- case 771: return 245; \
- case 772: return 333; \
- case 774: return 335; \
- case 775: return 559; \
- case 776: return 246; \
- case 777: return 7887; \
- case 779: return 337; \
- case 780: return 466; \
- case 783: return 525; \
- case 785: return 527; \
- case 795: return 417; \
- case 803: return 7885; \
- case 808: return 491; \
- } \
- return 0; \
- case 112: \
- switch (ch2) { \
- case 769: return 7765; \
- case 775: return 7767; \
- } \
- return 0; \
- case 114: \
- switch (ch2) { \
- case 769: return 341; \
- case 775: return 7769; \
- case 780: return 345; \
- case 783: return 529; \
- case 785: return 531; \
- case 803: return 7771; \
- case 807: return 343; \
- case 817: return 7775; \
- } \
- return 0; \
- case 115: \
- switch (ch2) { \
- case 769: return 347; \
- case 770: return 349; \
- case 775: return 7777; \
- case 780: return 353; \
- case 803: return 7779; \
- case 806: return 537; \
- case 807: return 351; \
- } \
- return 0; \
- case 116: \
- switch (ch2) { \
- case 775: return 7787; \
- case 776: return 7831; \
- case 780: return 357; \
- case 803: return 7789; \
- case 806: return 539; \
- case 807: return 355; \
- case 813: return 7793; \
- case 817: return 7791; \
- } \
- return 0; \
- case 117: \
- switch (ch2) { \
- case 768: return 249; \
- case 769: return 250; \
- case 770: return 251; \
- case 771: return 361; \
- case 772: return 363; \
- case 774: return 365; \
- case 776: return 252; \
- case 777: return 7911; \
- case 778: return 367; \
- case 779: return 369; \
- case 780: return 468; \
- case 783: return 533; \
- case 785: return 535; \
- case 795: return 432; \
- case 803: return 7909; \
- case 804: return 7795; \
- case 808: return 371; \
- case 813: return 7799; \
- case 816: return 7797; \
- } \
- return 0; \
- case 118: \
- switch (ch2) { \
- case 771: return 7805; \
- case 803: return 7807; \
- } \
- return 0; \
- case 119: \
- switch (ch2) { \
- case 768: return 7809; \
- case 769: return 7811; \
- case 770: return 373; \
- case 775: return 7815; \
- case 776: return 7813; \
- case 778: return 7832; \
- case 803: return 7817; \
- } \
- return 0; \
- case 120: \
- switch (ch2) { \
- case 775: return 7819; \
- case 776: return 7821; \
- } \
- return 0; \
- case 121: \
- switch (ch2) { \
- case 768: return 7923; \
- case 769: return 253; \
- case 770: return 375; \
- case 771: return 7929; \
- case 772: return 563; \
- case 775: return 7823; \
- case 776: return 255; \
- case 777: return 7927; \
- case 778: return 7833; \
- case 803: return 7925; \
- } \
- return 0; \
- case 122: \
- switch (ch2) { \
- case 769: return 378; \
- case 770: return 7825; \
- case 775: return 380; \
- case 780: return 382; \
- case 803: return 7827; \
- case 817: return 7829; \
- } \
- return 0; \
- case 168: \
- switch (ch2) { \
- case 768: return 8173; \
- case 769: return 901; \
- case 834: return 8129; \
- } \
- return 0; \
- case 194: \
- switch (ch2) { \
- case 768: return 7846; \
- case 769: return 7844; \
- case 771: return 7850; \
- case 777: return 7848; \
- } \
- return 0; \
- case 196: \
- switch (ch2) { \
- case 772: return 478; \
- } \
- return 0; \
- case 197: \
- switch (ch2) { \
- case 769: return 506; \
- } \
- return 0; \
- case 198: \
- switch (ch2) { \
- case 769: return 508; \
- case 772: return 482; \
- } \
- return 0; \
- case 199: \
- switch (ch2) { \
- case 769: return 7688; \
- } \
- return 0; \
- case 202: \
- switch (ch2) { \
- case 768: return 7872; \
- case 769: return 7870; \
- case 771: return 7876; \
- case 777: return 7874; \
- } \
- return 0; \
- case 207: \
- switch (ch2) { \
- case 769: return 7726; \
- } \
- return 0; \
- case 212: \
- switch (ch2) { \
- case 768: return 7890; \
- case 769: return 7888; \
- case 771: return 7894; \
- case 777: return 7892; \
- } \
- return 0; \
- case 213: \
- switch (ch2) { \
- case 769: return 7756; \
- case 772: return 556; \
- case 776: return 7758; \
- } \
- return 0; \
- case 214: \
- switch (ch2) { \
- case 772: return 554; \
- } \
- return 0; \
- case 216: \
- switch (ch2) { \
- case 769: return 510; \
- } \
- return 0; \
- case 220: \
- switch (ch2) { \
- case 768: return 475; \
- case 769: return 471; \
- case 772: return 469; \
- case 780: return 473; \
- } \
- return 0; \
- case 226: \
- switch (ch2) { \
- case 768: return 7847; \
- case 769: return 7845; \
- case 771: return 7851; \
- case 777: return 7849; \
- } \
- return 0; \
- case 228: \
- switch (ch2) { \
- case 772: return 479; \
- } \
- return 0; \
- case 229: \
- switch (ch2) { \
- case 769: return 507; \
- } \
- return 0; \
- case 230: \
- switch (ch2) { \
- case 769: return 509; \
- case 772: return 483; \
- } \
- return 0; \
- case 231: \
- switch (ch2) { \
- case 769: return 7689; \
- } \
- return 0; \
- case 234: \
- switch (ch2) { \
- case 768: return 7873; \
- case 769: return 7871; \
- case 771: return 7877; \
- case 777: return 7875; \
- } \
- return 0; \
- case 239: \
- switch (ch2) { \
- case 769: return 7727; \
- } \
- return 0; \
- case 244: \
- switch (ch2) { \
- case 768: return 7891; \
- case 769: return 7889; \
- case 771: return 7895; \
- case 777: return 7893; \
- } \
- return 0; \
- case 245: \
- switch (ch2) { \
- case 769: return 7757; \
- case 772: return 557; \
- case 776: return 7759; \
- } \
- return 0; \
- case 246: \
- switch (ch2) { \
- case 772: return 555; \
- } \
- return 0; \
- case 248: \
- switch (ch2) { \
- case 769: return 511; \
- } \
- return 0; \
- case 252: \
- switch (ch2) { \
- case 768: return 476; \
- case 769: return 472; \
- case 772: return 470; \
- case 780: return 474; \
- } \
- return 0; \
-} \
-return 0; \
-case 1: \
-switch (ch1) { \
- case 258: \
- switch (ch2) { \
- case 768: return 7856; \
- case 769: return 7854; \
- case 771: return 7860; \
- case 777: return 7858; \
- } \
- return 0; \
- case 259: \
- switch (ch2) { \
- case 768: return 7857; \
- case 769: return 7855; \
- case 771: return 7861; \
- case 777: return 7859; \
- } \
- return 0; \
- case 274: \
- switch (ch2) { \
- case 768: return 7700; \
- case 769: return 7702; \
- } \
- return 0; \
- case 275: \
- switch (ch2) { \
- case 768: return 7701; \
- case 769: return 7703; \
- } \
- return 0; \
- case 332: \
- switch (ch2) { \
- case 768: return 7760; \
- case 769: return 7762; \
- } \
- return 0; \
- case 333: \
- switch (ch2) { \
- case 768: return 7761; \
- case 769: return 7763; \
- } \
- return 0; \
- case 346: \
- switch (ch2) { \
- case 775: return 7780; \
- } \
- return 0; \
- case 347: \
- switch (ch2) { \
- case 775: return 7781; \
- } \
- return 0; \
- case 352: \
- switch (ch2) { \
- case 775: return 7782; \
- } \
- return 0; \
- case 353: \
- switch (ch2) { \
- case 775: return 7783; \
- } \
- return 0; \
- case 360: \
- switch (ch2) { \
- case 769: return 7800; \
- } \
- return 0; \
- case 361: \
- switch (ch2) { \
- case 769: return 7801; \
- } \
- return 0; \
- case 362: \
- switch (ch2) { \
- case 776: return 7802; \
- } \
- return 0; \
- case 363: \
- switch (ch2) { \
- case 776: return 7803; \
- } \
- return 0; \
- case 383: \
- switch (ch2) { \
- case 775: return 7835; \
- } \
- return 0; \
- case 416: \
- switch (ch2) { \
- case 768: return 7900; \
- case 769: return 7898; \
- case 771: return 7904; \
- case 777: return 7902; \
- case 803: return 7906; \
- } \
- return 0; \
- case 417: \
- switch (ch2) { \
- case 768: return 7901; \
- case 769: return 7899; \
- case 771: return 7905; \
- case 777: return 7903; \
- case 803: return 7907; \
- } \
- return 0; \
- case 431: \
- switch (ch2) { \
- case 768: return 7914; \
- case 769: return 7912; \
- case 771: return 7918; \
- case 777: return 7916; \
- case 803: return 7920; \
- } \
- return 0; \
- case 432: \
- switch (ch2) { \
- case 768: return 7915; \
- case 769: return 7913; \
- case 771: return 7919; \
- case 777: return 7917; \
- case 803: return 7921; \
- } \
- return 0; \
- case 439: \
- switch (ch2) { \
- case 780: return 494; \
- } \
- return 0; \
- case 490: \
- switch (ch2) { \
- case 772: return 492; \
- } \
- return 0; \
- case 491: \
- switch (ch2) { \
- case 772: return 493; \
- } \
- return 0; \
-} \
-return 0; \
-case 2: \
-switch (ch1) { \
- case 550: \
- switch (ch2) { \
- case 772: return 480; \
- } \
- return 0; \
- case 551: \
- switch (ch2) { \
- case 772: return 481; \
- } \
- return 0; \
- case 552: \
- switch (ch2) { \
- case 774: return 7708; \
- } \
- return 0; \
- case 553: \
- switch (ch2) { \
- case 774: return 7709; \
- } \
- return 0; \
- case 558: \
- switch (ch2) { \
- case 772: return 560; \
- } \
- return 0; \
- case 559: \
- switch (ch2) { \
- case 772: return 561; \
- } \
- return 0; \
- case 658: \
- switch (ch2) { \
- case 780: return 495; \
- } \
- return 0; \
-} \
-return 0; \
-case 3: \
-switch (ch1) { \
- case 776: \
- switch (ch2) { \
- case 769: return 836; \
- } \
- return 0; \
- case 913: \
- switch (ch2) { \
- case 768: return 8122; \
- case 769: return 902; \
- case 772: return 8121; \
- case 774: return 8120; \
- case 787: return 7944; \
- case 788: return 7945; \
- case 837: return 8124; \
- } \
- return 0; \
- case 917: \
- switch (ch2) { \
- case 768: return 8136; \
- case 769: return 904; \
- case 787: return 7960; \
- case 788: return 7961; \
- } \
- return 0; \
- case 919: \
- switch (ch2) { \
- case 768: return 8138; \
- case 769: return 905; \
- case 787: return 7976; \
- case 788: return 7977; \
- case 837: return 8140; \
- } \
- return 0; \
- case 921: \
- switch (ch2) { \
- case 768: return 8154; \
- case 769: return 906; \
- case 772: return 8153; \
- case 774: return 8152; \
- case 776: return 938; \
- case 787: return 7992; \
- case 788: return 7993; \
- } \
- return 0; \
- case 927: \
- switch (ch2) { \
- case 768: return 8184; \
- case 769: return 908; \
- case 787: return 8008; \
- case 788: return 8009; \
- } \
- return 0; \
- case 929: \
- switch (ch2) { \
- case 788: return 8172; \
- } \
- return 0; \
- case 933: \
- switch (ch2) { \
- case 768: return 8170; \
- case 769: return 910; \
- case 772: return 8169; \
- case 774: return 8168; \
- case 776: return 939; \
- case 788: return 8025; \
- } \
- return 0; \
- case 937: \
- switch (ch2) { \
- case 768: return 8186; \
- case 769: return 911; \
- case 787: return 8040; \
- case 788: return 8041; \
- case 837: return 8188; \
- } \
- return 0; \
- case 940: \
- switch (ch2) { \
- case 837: return 8116; \
- } \
- return 0; \
- case 942: \
- switch (ch2) { \
- case 837: return 8132; \
- } \
- return 0; \
- case 945: \
- switch (ch2) { \
- case 768: return 8048; \
- case 769: return 940; \
- case 772: return 8113; \
- case 774: return 8112; \
- case 787: return 7936; \
- case 788: return 7937; \
- case 834: return 8118; \
- case 837: return 8115; \
- } \
- return 0; \
- case 949: \
- switch (ch2) { \
- case 768: return 8050; \
- case 769: return 941; \
- case 787: return 7952; \
- case 788: return 7953; \
- } \
- return 0; \
- case 951: \
- switch (ch2) { \
- case 768: return 8052; \
- case 769: return 942; \
- case 787: return 7968; \
- case 788: return 7969; \
- case 834: return 8134; \
- case 837: return 8131; \
- } \
- return 0; \
- case 953: \
- switch (ch2) { \
- case 768: return 8054; \
- case 769: return 943; \
- case 772: return 8145; \
- case 774: return 8144; \
- case 776: return 970; \
- case 787: return 7984; \
- case 788: return 7985; \
- case 834: return 8150; \
- } \
- return 0; \
- case 959: \
- switch (ch2) { \
- case 768: return 8056; \
- case 769: return 972; \
- case 787: return 8000; \
- case 788: return 8001; \
- } \
- return 0; \
- case 961: \
- switch (ch2) { \
- case 787: return 8164; \
- case 788: return 8165; \
- } \
- return 0; \
- case 965: \
- switch (ch2) { \
- case 768: return 8058; \
- case 769: return 973; \
- case 772: return 8161; \
- case 774: return 8160; \
- case 776: return 971; \
- case 787: return 8016; \
- case 788: return 8017; \
- case 834: return 8166; \
- } \
- return 0; \
- case 969: \
- switch (ch2) { \
- case 768: return 8060; \
- case 769: return 974; \
- case 787: return 8032; \
- case 788: return 8033; \
- case 834: return 8182; \
- case 837: return 8179; \
- } \
- return 0; \
- case 970: \
- switch (ch2) { \
- case 768: return 8146; \
- case 769: return 912; \
- case 834: return 8151; \
- } \
- return 0; \
- case 971: \
- switch (ch2) { \
- case 768: return 8162; \
- case 769: return 944; \
- case 834: return 8167; \
- } \
- return 0; \
- case 974: \
- switch (ch2) { \
- case 837: return 8180; \
- } \
- return 0; \
- case 978: \
- switch (ch2) { \
- case 769: return 979; \
- case 776: return 980; \
- } \
- return 0; \
-} \
-return 0; \
-case 4: \
-switch (ch1) { \
- case 1030: \
- switch (ch2) { \
- case 776: return 1031; \
- } \
- return 0; \
- case 1040: \
- switch (ch2) { \
- case 774: return 1232; \
- case 776: return 1234; \
- } \
- return 0; \
- case 1043: \
- switch (ch2) { \
- case 769: return 1027; \
- } \
- return 0; \
- case 1045: \
- switch (ch2) { \
- case 768: return 1024; \
- case 774: return 1238; \
- case 776: return 1025; \
- } \
- return 0; \
- case 1046: \
- switch (ch2) { \
- case 774: return 1217; \
- case 776: return 1244; \
- } \
- return 0; \
- case 1047: \
- switch (ch2) { \
- case 776: return 1246; \
- } \
- return 0; \
- case 1048: \
- switch (ch2) { \
- case 768: return 1037; \
- case 772: return 1250; \
- case 774: return 1049; \
- case 776: return 1252; \
- } \
- return 0; \
- case 1050: \
- switch (ch2) { \
- case 769: return 1036; \
- } \
- return 0; \
- case 1054: \
- switch (ch2) { \
- case 776: return 1254; \
- } \
- return 0; \
- case 1059: \
- switch (ch2) { \
- case 772: return 1262; \
- case 774: return 1038; \
- case 776: return 1264; \
- case 779: return 1266; \
- } \
- return 0; \
- case 1063: \
- switch (ch2) { \
- case 776: return 1268; \
- } \
- return 0; \
- case 1067: \
- switch (ch2) { \
- case 776: return 1272; \
- } \
- return 0; \
- case 1069: \
- switch (ch2) { \
- case 776: return 1260; \
- } \
- return 0; \
- case 1072: \
- switch (ch2) { \
- case 774: return 1233; \
- case 776: return 1235; \
- } \
- return 0; \
- case 1075: \
- switch (ch2) { \
- case 769: return 1107; \
- } \
- return 0; \
- case 1077: \
- switch (ch2) { \
- case 768: return 1104; \
- case 774: return 1239; \
- case 776: return 1105; \
- } \
- return 0; \
- case 1078: \
- switch (ch2) { \
- case 774: return 1218; \
- case 776: return 1245; \
- } \
- return 0; \
- case 1079: \
- switch (ch2) { \
- case 776: return 1247; \
- } \
- return 0; \
- case 1080: \
- switch (ch2) { \
- case 768: return 1117; \
- case 772: return 1251; \
- case 774: return 1081; \
- case 776: return 1253; \
- } \
- return 0; \
- case 1082: \
- switch (ch2) { \
- case 769: return 1116; \
- } \
- return 0; \
- case 1086: \
- switch (ch2) { \
- case 776: return 1255; \
- } \
- return 0; \
- case 1091: \
- switch (ch2) { \
- case 772: return 1263; \
- case 774: return 1118; \
- case 776: return 1265; \
- case 779: return 1267; \
- } \
- return 0; \
- case 1095: \
- switch (ch2) { \
- case 776: return 1269; \
- } \
- return 0; \
- case 1099: \
- switch (ch2) { \
- case 776: return 1273; \
- } \
- return 0; \
- case 1101: \
- switch (ch2) { \
- case 776: return 1261; \
- } \
- return 0; \
- case 1110: \
- switch (ch2) { \
- case 776: return 1111; \
- } \
- return 0; \
- case 1140: \
- switch (ch2) { \
- case 783: return 1142; \
- } \
- return 0; \
- case 1141: \
- switch (ch2) { \
- case 783: return 1143; \
- } \
- return 0; \
- case 1240: \
- switch (ch2) { \
- case 776: return 1242; \
- } \
- return 0; \
- case 1241: \
- switch (ch2) { \
- case 776: return 1243; \
- } \
- return 0; \
- case 1256: \
- switch (ch2) { \
- case 776: return 1258; \
- } \
- return 0; \
- case 1257: \
- switch (ch2) { \
- case 776: return 1259; \
- } \
- return 0; \
-} \
-return 0; \
-case 5: \
-switch (ch1) { \
- case 1488: \
- switch (ch2) { \
- case 1463: return 64302; \
- case 1464: return 64303; \
- case 1468: return 64304; \
- } \
- return 0; \
- case 1489: \
- switch (ch2) { \
- case 1468: return 64305; \
- case 1471: return 64332; \
- } \
- return 0; \
- case 1490: \
- switch (ch2) { \
- case 1468: return 64306; \
- } \
- return 0; \
- case 1491: \
- switch (ch2) { \
- case 1468: return 64307; \
- } \
- return 0; \
- case 1492: \
- switch (ch2) { \
- case 1468: return 64308; \
- } \
- return 0; \
- case 1493: \
- switch (ch2) { \
- case 1465: return 64331; \
- case 1468: return 64309; \
- } \
- return 0; \
- case 1494: \
- switch (ch2) { \
- case 1468: return 64310; \
- } \
- return 0; \
- case 1496: \
- switch (ch2) { \
- case 1468: return 64312; \
- } \
- return 0; \
- case 1497: \
- switch (ch2) { \
- case 1460: return 64285; \
- case 1468: return 64313; \
- } \
- return 0; \
- case 1498: \
- switch (ch2) { \
- case 1468: return 64314; \
- } \
- return 0; \
- case 1499: \
- switch (ch2) { \
- case 1468: return 64315; \
- case 1471: return 64333; \
- } \
- return 0; \
- case 1500: \
- switch (ch2) { \
- case 1468: return 64316; \
- } \
- return 0; \
- case 1502: \
- switch (ch2) { \
- case 1468: return 64318; \
- } \
- return 0; \
- case 1504: \
- switch (ch2) { \
- case 1468: return 64320; \
- } \
- return 0; \
- case 1505: \
- switch (ch2) { \
- case 1468: return 64321; \
- } \
- return 0; \
- case 1507: \
- switch (ch2) { \
- case 1468: return 64323; \
- } \
- return 0; \
- case 1508: \
- switch (ch2) { \
- case 1468: return 64324; \
- case 1471: return 64334; \
- } \
- return 0; \
- case 1510: \
- switch (ch2) { \
- case 1468: return 64326; \
- } \
- return 0; \
- case 1511: \
- switch (ch2) { \
- case 1468: return 64327; \
- } \
- return 0; \
- case 1512: \
- switch (ch2) { \
- case 1468: return 64328; \
- } \
- return 0; \
- case 1513: \
- switch (ch2) { \
- case 1468: return 64329; \
- case 1473: return 64298; \
- case 1474: return 64299; \
- } \
- return 0; \
- case 1514: \
- switch (ch2) { \
- case 1468: return 64330; \
- } \
- return 0; \
- case 1522: \
- switch (ch2) { \
- case 1463: return 64287; \
- } \
- return 0; \
-} \
-return 0; \
-case 6: \
-switch (ch1) { \
- case 1575: \
- switch (ch2) { \
- case 1619: return 1570; \
- case 1620: return 1571; \
- case 1621: return 1573; \
- } \
- return 0; \
- case 1608: \
- switch (ch2) { \
- case 1620: return 1572; \
- } \
- return 0; \
- case 1610: \
- switch (ch2) { \
- case 1620: return 1574; \
- } \
- return 0; \
- case 1729: \
- switch (ch2) { \
- case 1620: return 1730; \
- } \
- return 0; \
- case 1746: \
- switch (ch2) { \
- case 1620: return 1747; \
- } \
- return 0; \
- case 1749: \
- switch (ch2) { \
- case 1620: return 1728; \
- } \
- return 0; \
-} \
-return 0; \
-case 9: \
-switch (ch1) { \
- case 2325: \
- switch (ch2) { \
- case 2364: return 2392; \
- } \
- return 0; \
- case 2326: \
- switch (ch2) { \
- case 2364: return 2393; \
- } \
- return 0; \
- case 2327: \
- switch (ch2) { \
- case 2364: return 2394; \
- } \
- return 0; \
- case 2332: \
- switch (ch2) { \
- case 2364: return 2395; \
- } \
- return 0; \
- case 2337: \
- switch (ch2) { \
- case 2364: return 2396; \
- } \
- return 0; \
- case 2338: \
- switch (ch2) { \
- case 2364: return 2397; \
- } \
- return 0; \
- case 2344: \
- switch (ch2) { \
- case 2364: return 2345; \
- } \
- return 0; \
- case 2347: \
- switch (ch2) { \
- case 2364: return 2398; \
- } \
- return 0; \
- case 2351: \
- switch (ch2) { \
- case 2364: return 2399; \
- } \
- return 0; \
- case 2352: \
- switch (ch2) { \
- case 2364: return 2353; \
- } \
- return 0; \
- case 2355: \
- switch (ch2) { \
- case 2364: return 2356; \
- } \
- return 0; \
- case 2465: \
- switch (ch2) { \
- case 2492: return 2524; \
- } \
- return 0; \
- case 2466: \
- switch (ch2) { \
- case 2492: return 2525; \
- } \
- return 0; \
- case 2479: \
- switch (ch2) { \
- case 2492: return 2527; \
- } \
- return 0; \
- case 2503: \
- switch (ch2) { \
- case 2494: return 2507; \
- case 2519: return 2508; \
- } \
- return 0; \
-} \
-return 0; \
-case 10: \
-switch (ch1) { \
- case 2582: \
- switch (ch2) { \
- case 2620: return 2649; \
- } \
- return 0; \
- case 2583: \
- switch (ch2) { \
- case 2620: return 2650; \
- } \
- return 0; \
- case 2588: \
- switch (ch2) { \
- case 2620: return 2651; \
- } \
- return 0; \
- case 2603: \
- switch (ch2) { \
- case 2620: return 2654; \
- } \
- return 0; \
- case 2610: \
- switch (ch2) { \
- case 2620: return 2611; \
- } \
- return 0; \
- case 2616: \
- switch (ch2) { \
- case 2620: return 2614; \
- } \
- return 0; \
-} \
-return 0; \
-case 11: \
-switch (ch1) { \
- case 2849: \
- switch (ch2) { \
- case 2876: return 2908; \
- } \
- return 0; \
- case 2850: \
- switch (ch2) { \
- case 2876: return 2909; \
- } \
- return 0; \
- case 2887: \
- switch (ch2) { \
- case 2878: return 2891; \
- case 2902: return 2888; \
- case 2903: return 2892; \
- } \
- return 0; \
- case 2962: \
- switch (ch2) { \
- case 3031: return 2964; \
- } \
- return 0; \
- case 3014: \
- switch (ch2) { \
- case 3006: return 3018; \
- case 3031: return 3020; \
- } \
- return 0; \
- case 3015: \
- switch (ch2) { \
- case 3006: return 3019; \
- } \
- return 0; \
-} \
-return 0; \
-case 12: \
-switch (ch1) { \
- case 3142: \
- switch (ch2) { \
- case 3158: return 3144; \
- } \
- return 0; \
- case 3263: \
- switch (ch2) { \
- case 3285: return 3264; \
- } \
- return 0; \
- case 3270: \
- switch (ch2) { \
- case 3266: return 3274; \
- case 3285: return 3271; \
- case 3286: return 3272; \
- } \
- return 0; \
- case 3274: \
- switch (ch2) { \
- case 3285: return 3275; \
- } \
- return 0; \
-} \
-return 0; \
-case 13: \
-switch (ch1) { \
- case 3398: \
- switch (ch2) { \
- case 3390: return 3402; \
- case 3415: return 3404; \
- } \
- return 0; \
- case 3399: \
- switch (ch2) { \
- case 3390: return 3403; \
- } \
- return 0; \
- case 3545: \
- switch (ch2) { \
- case 3530: return 3546; \
- case 3535: return 3548; \
- case 3551: return 3550; \
- } \
- return 0; \
- case 3548: \
- switch (ch2) { \
- case 3530: return 3549; \
- } \
- return 0; \
-} \
-return 0; \
-case 15: \
-switch (ch1) { \
- case 3904: \
- switch (ch2) { \
- case 4021: return 3945; \
- } \
- return 0; \
- case 3906: \
- switch (ch2) { \
- case 4023: return 3907; \
- } \
- return 0; \
- case 3916: \
- switch (ch2) { \
- case 4023: return 3917; \
- } \
- return 0; \
- case 3921: \
- switch (ch2) { \
- case 4023: return 3922; \
- } \
- return 0; \
- case 3926: \
- switch (ch2) { \
- case 4023: return 3927; \
- } \
- return 0; \
- case 3931: \
- switch (ch2) { \
- case 4023: return 3932; \
- } \
- return 0; \
- case 3953: \
- switch (ch2) { \
- case 3954: return 3955; \
- case 3956: return 3957; \
- case 3968: return 3969; \
- } \
- return 0; \
- case 3984: \
- switch (ch2) { \
- case 4021: return 4025; \
- } \
- return 0; \
- case 3986: \
- switch (ch2) { \
- case 4023: return 3987; \
- } \
- return 0; \
- case 3996: \
- switch (ch2) { \
- case 4023: return 3997; \
- } \
- return 0; \
- case 4001: \
- switch (ch2) { \
- case 4023: return 4002; \
- } \
- return 0; \
- case 4006: \
- switch (ch2) { \
- case 4023: return 4007; \
- } \
- return 0; \
- case 4011: \
- switch (ch2) { \
- case 4023: return 4012; \
- } \
- return 0; \
- case 4018: \
- switch (ch2) { \
- case 3968: return 3958; \
- } \
- return 0; \
- case 4019: \
- switch (ch2) { \
- case 3968: return 3960; \
- } \
- return 0; \
-} \
-return 0; \
-case 16: \
-switch (ch1) { \
- case 4133: \
- switch (ch2) { \
- case 4142: return 4134; \
- } \
- return 0; \
-} \
-return 0; \
-case 30: \
-switch (ch1) { \
- case 7734: \
- switch (ch2) { \
- case 772: return 7736; \
- } \
- return 0; \
- case 7735: \
- switch (ch2) { \
- case 772: return 7737; \
- } \
- return 0; \
- case 7770: \
- switch (ch2) { \
- case 772: return 7772; \
- } \
- return 0; \
- case 7771: \
- switch (ch2) { \
- case 772: return 7773; \
- } \
- return 0; \
- case 7778: \
- switch (ch2) { \
- case 775: return 7784; \
- } \
- return 0; \
- case 7779: \
- switch (ch2) { \
- case 775: return 7785; \
- } \
- return 0; \
- case 7840: \
- switch (ch2) { \
- case 770: return 7852; \
- case 774: return 7862; \
- } \
- return 0; \
- case 7841: \
- switch (ch2) { \
- case 770: return 7853; \
- case 774: return 7863; \
- } \
- return 0; \
- case 7864: \
- switch (ch2) { \
- case 770: return 7878; \
- } \
- return 0; \
- case 7865: \
- switch (ch2) { \
- case 770: return 7879; \
- } \
- return 0; \
- case 7884: \
- switch (ch2) { \
- case 770: return 7896; \
- } \
- return 0; \
- case 7885: \
- switch (ch2) { \
- case 770: return 7897; \
- } \
- return 0; \
-} \
-return 0; \
-case 31: \
-switch (ch1) { \
- case 7936: \
- switch (ch2) { \
- case 768: return 7938; \
- case 769: return 7940; \
- case 834: return 7942; \
- case 837: return 8064; \
- } \
- return 0; \
- case 7937: \
- switch (ch2) { \
- case 768: return 7939; \
- case 769: return 7941; \
- case 834: return 7943; \
- case 837: return 8065; \
- } \
- return 0; \
- case 7938: \
- switch (ch2) { \
- case 837: return 8066; \
- } \
- return 0; \
- case 7939: \
- switch (ch2) { \
- case 837: return 8067; \
- } \
- return 0; \
- case 7940: \
- switch (ch2) { \
- case 837: return 8068; \
- } \
- return 0; \
- case 7941: \
- switch (ch2) { \
- case 837: return 8069; \
- } \
- return 0; \
- case 7942: \
- switch (ch2) { \
- case 837: return 8070; \
- } \
- return 0; \
- case 7943: \
- switch (ch2) { \
- case 837: return 8071; \
- } \
- return 0; \
- case 7944: \
- switch (ch2) { \
- case 768: return 7946; \
- case 769: return 7948; \
- case 834: return 7950; \
- case 837: return 8072; \
- } \
- return 0; \
- case 7945: \
- switch (ch2) { \
- case 768: return 7947; \
- case 769: return 7949; \
- case 834: return 7951; \
- case 837: return 8073; \
- } \
- return 0; \
- case 7946: \
- switch (ch2) { \
- case 837: return 8074; \
- } \
- return 0; \
- case 7947: \
- switch (ch2) { \
- case 837: return 8075; \
- } \
- return 0; \
- case 7948: \
- switch (ch2) { \
- case 837: return 8076; \
- } \
- return 0; \
- case 7949: \
- switch (ch2) { \
- case 837: return 8077; \
- } \
- return 0; \
- case 7950: \
- switch (ch2) { \
- case 837: return 8078; \
- } \
- return 0; \
- case 7951: \
- switch (ch2) { \
- case 837: return 8079; \
- } \
- return 0; \
- case 7952: \
- switch (ch2) { \
- case 768: return 7954; \
- case 769: return 7956; \
- } \
- return 0; \
- case 7953: \
- switch (ch2) { \
- case 768: return 7955; \
- case 769: return 7957; \
- } \
- return 0; \
- case 7960: \
- switch (ch2) { \
- case 768: return 7962; \
- case 769: return 7964; \
- } \
- return 0; \
- case 7961: \
- switch (ch2) { \
- case 768: return 7963; \
- case 769: return 7965; \
- } \
- return 0; \
- case 7968: \
- switch (ch2) { \
- case 768: return 7970; \
- case 769: return 7972; \
- case 834: return 7974; \
- case 837: return 8080; \
- } \
- return 0; \
- case 7969: \
- switch (ch2) { \
- case 768: return 7971; \
- case 769: return 7973; \
- case 834: return 7975; \
- case 837: return 8081; \
- } \
- return 0; \
- case 7970: \
- switch (ch2) { \
- case 837: return 8082; \
- } \
- return 0; \
- case 7971: \
- switch (ch2) { \
- case 837: return 8083; \
- } \
- return 0; \
- case 7972: \
- switch (ch2) { \
- case 837: return 8084; \
- } \
- return 0; \
- case 7973: \
- switch (ch2) { \
- case 837: return 8085; \
- } \
- return 0; \
- case 7974: \
- switch (ch2) { \
- case 837: return 8086; \
- } \
- return 0; \
- case 7975: \
- switch (ch2) { \
- case 837: return 8087; \
- } \
- return 0; \
- case 7976: \
- switch (ch2) { \
- case 768: return 7978; \
- case 769: return 7980; \
- case 834: return 7982; \
- case 837: return 8088; \
- } \
- return 0; \
- case 7977: \
- switch (ch2) { \
- case 768: return 7979; \
- case 769: return 7981; \
- case 834: return 7983; \
- case 837: return 8089; \
- } \
- return 0; \
- case 7978: \
- switch (ch2) { \
- case 837: return 8090; \
- } \
- return 0; \
- case 7979: \
- switch (ch2) { \
- case 837: return 8091; \
- } \
- return 0; \
- case 7980: \
- switch (ch2) { \
- case 837: return 8092; \
- } \
- return 0; \
- case 7981: \
- switch (ch2) { \
- case 837: return 8093; \
- } \
- return 0; \
- case 7982: \
- switch (ch2) { \
- case 837: return 8094; \
- } \
- return 0; \
- case 7983: \
- switch (ch2) { \
- case 837: return 8095; \
- } \
- return 0; \
- case 7984: \
- switch (ch2) { \
- case 768: return 7986; \
- case 769: return 7988; \
- case 834: return 7990; \
- } \
- return 0; \
- case 7985: \
- switch (ch2) { \
- case 768: return 7987; \
- case 769: return 7989; \
- case 834: return 7991; \
- } \
- return 0; \
- case 7992: \
- switch (ch2) { \
- case 768: return 7994; \
- case 769: return 7996; \
- case 834: return 7998; \
- } \
- return 0; \
- case 7993: \
- switch (ch2) { \
- case 768: return 7995; \
- case 769: return 7997; \
- case 834: return 7999; \
- } \
- return 0; \
- case 8000: \
- switch (ch2) { \
- case 768: return 8002; \
- case 769: return 8004; \
- } \
- return 0; \
- case 8001: \
- switch (ch2) { \
- case 768: return 8003; \
- case 769: return 8005; \
- } \
- return 0; \
- case 8008: \
- switch (ch2) { \
- case 768: return 8010; \
- case 769: return 8012; \
- } \
- return 0; \
- case 8009: \
- switch (ch2) { \
- case 768: return 8011; \
- case 769: return 8013; \
- } \
- return 0; \
- case 8016: \
- switch (ch2) { \
- case 768: return 8018; \
- case 769: return 8020; \
- case 834: return 8022; \
- } \
- return 0; \
- case 8017: \
- switch (ch2) { \
- case 768: return 8019; \
- case 769: return 8021; \
- case 834: return 8023; \
- } \
- return 0; \
- case 8025: \
- switch (ch2) { \
- case 768: return 8027; \
- case 769: return 8029; \
- case 834: return 8031; \
- } \
- return 0; \
- case 8032: \
- switch (ch2) { \
- case 768: return 8034; \
- case 769: return 8036; \
- case 834: return 8038; \
- case 837: return 8096; \
- } \
- return 0; \
- case 8033: \
- switch (ch2) { \
- case 768: return 8035; \
- case 769: return 8037; \
- case 834: return 8039; \
- case 837: return 8097; \
- } \
- return 0; \
- case 8034: \
- switch (ch2) { \
- case 837: return 8098; \
- } \
- return 0; \
- case 8035: \
- switch (ch2) { \
- case 837: return 8099; \
- } \
- return 0; \
- case 8036: \
- switch (ch2) { \
- case 837: return 8100; \
- } \
- return 0; \
- case 8037: \
- switch (ch2) { \
- case 837: return 8101; \
- } \
- return 0; \
- case 8038: \
- switch (ch2) { \
- case 837: return 8102; \
- } \
- return 0; \
- case 8039: \
- switch (ch2) { \
- case 837: return 8103; \
- } \
- return 0; \
- case 8040: \
- switch (ch2) { \
- case 768: return 8042; \
- case 769: return 8044; \
- case 834: return 8046; \
- case 837: return 8104; \
- } \
- return 0; \
- case 8041: \
- switch (ch2) { \
- case 768: return 8043; \
- case 769: return 8045; \
- case 834: return 8047; \
- case 837: return 8105; \
- } \
- return 0; \
- case 8042: \
- switch (ch2) { \
- case 837: return 8106; \
- } \
- return 0; \
- case 8043: \
- switch (ch2) { \
- case 837: return 8107; \
- } \
- return 0; \
- case 8044: \
- switch (ch2) { \
- case 837: return 8108; \
- } \
- return 0; \
- case 8045: \
- switch (ch2) { \
- case 837: return 8109; \
- } \
- return 0; \
- case 8046: \
- switch (ch2) { \
- case 837: return 8110; \
- } \
- return 0; \
- case 8047: \
- switch (ch2) { \
- case 837: return 8111; \
- } \
- return 0; \
- case 8048: \
- switch (ch2) { \
- case 837: return 8114; \
- } \
- return 0; \
- case 8052: \
- switch (ch2) { \
- case 837: return 8130; \
- } \
- return 0; \
- case 8060: \
- switch (ch2) { \
- case 837: return 8178; \
- } \
- return 0; \
- case 8118: \
- switch (ch2) { \
- case 837: return 8119; \
- } \
- return 0; \
- case 8127: \
- switch (ch2) { \
- case 768: return 8141; \
- case 769: return 8142; \
- case 834: return 8143; \
- } \
- return 0; \
- case 8134: \
- switch (ch2) { \
- case 837: return 8135; \
- } \
- return 0; \
- case 8182: \
- switch (ch2) { \
- case 837: return 8183; \
- } \
- return 0; \
- case 8190: \
- switch (ch2) { \
- case 768: return 8157; \
- case 769: return 8158; \
- case 834: return 8159; \
- } \
- return 0; \
-} \
-return 0; \
-case 33: \
-switch (ch1) { \
- case 8592: \
- switch (ch2) { \
- case 824: return 8602; \
- } \
- return 0; \
- case 8594: \
- switch (ch2) { \
- case 824: return 8603; \
- } \
- return 0; \
- case 8596: \
- switch (ch2) { \
- case 824: return 8622; \
- } \
- return 0; \
- case 8656: \
- switch (ch2) { \
- case 824: return 8653; \
- } \
- return 0; \
- case 8658: \
- switch (ch2) { \
- case 824: return 8655; \
- } \
- return 0; \
- case 8660: \
- switch (ch2) { \
- case 824: return 8654; \
- } \
- return 0; \
-} \
-return 0; \
-case 34: \
-switch (ch1) { \
- case 8707: \
- switch (ch2) { \
- case 824: return 8708; \
- } \
- return 0; \
- case 8712: \
- switch (ch2) { \
- case 824: return 8713; \
- } \
- return 0; \
- case 8715: \
- switch (ch2) { \
- case 824: return 8716; \
- } \
- return 0; \
- case 8739: \
- switch (ch2) { \
- case 824: return 8740; \
- } \
- return 0; \
- case 8741: \
- switch (ch2) { \
- case 824: return 8742; \
- } \
- return 0; \
- case 8764: \
- switch (ch2) { \
- case 824: return 8769; \
- } \
- return 0; \
- case 8771: \
- switch (ch2) { \
- case 824: return 8772; \
- } \
- return 0; \
- case 8773: \
- switch (ch2) { \
- case 824: return 8775; \
- } \
- return 0; \
- case 8776: \
- switch (ch2) { \
- case 824: return 8777; \
- } \
- return 0; \
- case 8781: \
- switch (ch2) { \
- case 824: return 8813; \
- } \
- return 0; \
- case 8801: \
- switch (ch2) { \
- case 824: return 8802; \
- } \
- return 0; \
- case 8804: \
- switch (ch2) { \
- case 824: return 8816; \
- } \
- return 0; \
- case 8805: \
- switch (ch2) { \
- case 824: return 8817; \
- } \
- return 0; \
- case 8818: \
- switch (ch2) { \
- case 824: return 8820; \
- } \
- return 0; \
- case 8819: \
- switch (ch2) { \
- case 824: return 8821; \
- } \
- return 0; \
- case 8822: \
- switch (ch2) { \
- case 824: return 8824; \
- } \
- return 0; \
- case 8823: \
- switch (ch2) { \
- case 824: return 8825; \
- } \
- return 0; \
- case 8826: \
- switch (ch2) { \
- case 824: return 8832; \
- } \
- return 0; \
- case 8827: \
- switch (ch2) { \
- case 824: return 8833; \
- } \
- return 0; \
- case 8828: \
- switch (ch2) { \
- case 824: return 8928; \
- } \
- return 0; \
- case 8829: \
- switch (ch2) { \
- case 824: return 8929; \
- } \
- return 0; \
- case 8834: \
- switch (ch2) { \
- case 824: return 8836; \
- } \
- return 0; \
- case 8835: \
- switch (ch2) { \
- case 824: return 8837; \
- } \
- return 0; \
- case 8838: \
- switch (ch2) { \
- case 824: return 8840; \
- } \
- return 0; \
- case 8839: \
- switch (ch2) { \
- case 824: return 8841; \
- } \
- return 0; \
- case 8849: \
- switch (ch2) { \
- case 824: return 8930; \
- } \
- return 0; \
- case 8850: \
- switch (ch2) { \
- case 824: return 8931; \
- } \
- return 0; \
- case 8866: \
- switch (ch2) { \
- case 824: return 8876; \
- } \
- return 0; \
- case 8872: \
- switch (ch2) { \
- case 824: return 8877; \
- } \
- return 0; \
- case 8873: \
- switch (ch2) { \
- case 824: return 8878; \
- } \
- return 0; \
- case 8875: \
- switch (ch2) { \
- case 824: return 8879; \
- } \
- return 0; \
- case 8882: \
- switch (ch2) { \
- case 824: return 8938; \
- } \
- return 0; \
- case 8883: \
- switch (ch2) { \
- case 824: return 8939; \
- } \
- return 0; \
- case 8884: \
- switch (ch2) { \
- case 824: return 8940; \
- } \
- return 0; \
- case 8885: \
- switch (ch2) { \
- case 824: return 8941; \
- } \
- return 0; \
-} \
-return 0; \
-case 42: \
-switch (ch1) { \
- case 10973: \
- switch (ch2) { \
- case 824: return 10972; \
- } \
- return 0; \
-} \
-return 0; \
-case 48: \
-switch (ch1) { \
- case 12358: \
- switch (ch2) { \
- case 12441: return 12436; \
- } \
- return 0; \
- case 12363: \
- switch (ch2) { \
- case 12441: return 12364; \
- } \
- return 0; \
- case 12365: \
- switch (ch2) { \
- case 12441: return 12366; \
- } \
- return 0; \
- case 12367: \
- switch (ch2) { \
- case 12441: return 12368; \
- } \
- return 0; \
- case 12369: \
- switch (ch2) { \
- case 12441: return 12370; \
- } \
- return 0; \
- case 12371: \
- switch (ch2) { \
- case 12441: return 12372; \
- } \
- return 0; \
- case 12373: \
- switch (ch2) { \
- case 12441: return 12374; \
- } \
- return 0; \
- case 12375: \
- switch (ch2) { \
- case 12441: return 12376; \
- } \
- return 0; \
- case 12377: \
- switch (ch2) { \
- case 12441: return 12378; \
- } \
- return 0; \
- case 12379: \
- switch (ch2) { \
- case 12441: return 12380; \
- } \
- return 0; \
- case 12381: \
- switch (ch2) { \
- case 12441: return 12382; \
- } \
- return 0; \
- case 12383: \
- switch (ch2) { \
- case 12441: return 12384; \
- } \
- return 0; \
- case 12385: \
- switch (ch2) { \
- case 12441: return 12386; \
- } \
- return 0; \
- case 12388: \
- switch (ch2) { \
- case 12441: return 12389; \
- } \
- return 0; \
- case 12390: \
- switch (ch2) { \
- case 12441: return 12391; \
- } \
- return 0; \
- case 12392: \
- switch (ch2) { \
- case 12441: return 12393; \
- } \
- return 0; \
- case 12399: \
- switch (ch2) { \
- case 12441: return 12400; \
- case 12442: return 12401; \
- } \
- return 0; \
- case 12402: \
- switch (ch2) { \
- case 12441: return 12403; \
- case 12442: return 12404; \
- } \
- return 0; \
- case 12405: \
- switch (ch2) { \
- case 12441: return 12406; \
- case 12442: return 12407; \
- } \
- return 0; \
- case 12408: \
- switch (ch2) { \
- case 12441: return 12409; \
- case 12442: return 12410; \
- } \
- return 0; \
- case 12411: \
- switch (ch2) { \
- case 12441: return 12412; \
- case 12442: return 12413; \
- } \
- return 0; \
- case 12445: \
- switch (ch2) { \
- case 12441: return 12446; \
- } \
- return 0; \
- case 12454: \
- switch (ch2) { \
- case 12441: return 12532; \
- } \
- return 0; \
- case 12459: \
- switch (ch2) { \
- case 12441: return 12460; \
- } \
- return 0; \
- case 12461: \
- switch (ch2) { \
- case 12441: return 12462; \
- } \
- return 0; \
- case 12463: \
- switch (ch2) { \
- case 12441: return 12464; \
- } \
- return 0; \
- case 12465: \
- switch (ch2) { \
- case 12441: return 12466; \
- } \
- return 0; \
- case 12467: \
- switch (ch2) { \
- case 12441: return 12468; \
- } \
- return 0; \
- case 12469: \
- switch (ch2) { \
- case 12441: return 12470; \
- } \
- return 0; \
- case 12471: \
- switch (ch2) { \
- case 12441: return 12472; \
- } \
- return 0; \
- case 12473: \
- switch (ch2) { \
- case 12441: return 12474; \
- } \
- return 0; \
- case 12475: \
- switch (ch2) { \
- case 12441: return 12476; \
- } \
- return 0; \
- case 12477: \
- switch (ch2) { \
- case 12441: return 12478; \
- } \
- return 0; \
- case 12479: \
- switch (ch2) { \
- case 12441: return 12480; \
- } \
- return 0; \
- case 12481: \
- switch (ch2) { \
- case 12441: return 12482; \
- } \
- return 0; \
- case 12484: \
- switch (ch2) { \
- case 12441: return 12485; \
- } \
- return 0; \
- case 12486: \
- switch (ch2) { \
- case 12441: return 12487; \
- } \
- return 0; \
- case 12488: \
- switch (ch2) { \
- case 12441: return 12489; \
- } \
- return 0; \
- case 12495: \
- switch (ch2) { \
- case 12441: return 12496; \
- case 12442: return 12497; \
- } \
- return 0; \
- case 12498: \
- switch (ch2) { \
- case 12441: return 12499; \
- case 12442: return 12500; \
- } \
- return 0; \
- case 12501: \
- switch (ch2) { \
- case 12441: return 12502; \
- case 12442: return 12503; \
- } \
- return 0; \
- case 12504: \
- switch (ch2) { \
- case 12441: return 12505; \
- case 12442: return 12506; \
- } \
- return 0; \
- case 12507: \
- switch (ch2) { \
- case 12441: return 12508; \
- case 12442: return 12509; \
- } \
- return 0; \
- case 12527: \
- switch (ch2) { \
- case 12441: return 12535; \
- } \
- return 0; \
- case 12528: \
- switch (ch2) { \
- case 12441: return 12536; \
- } \
- return 0; \
- case 12529: \
- switch (ch2) { \
- case 12441: return 12537; \
- } \
- return 0; \
- case 12530: \
- switch (ch2) { \
- case 12441: return 12538; \
- } \
- return 0; \
- case 12541: \
- switch (ch2) { \
- case 12441: return 12542; \
- } \
- return 0; \
-} \
-return 0; \
-case 251: \
-switch (ch1) { \
- case 64329: \
- switch (ch2) { \
- case 1473: return 64300; \
- case 1474: return 64301; \
- } \
- return 0; \
-} \
-return 0; \
-case 465: \
-switch (ch1) { \
- case 119127: \
- switch (ch2) { \
- case 119141: return 119134; \
- } \
- return 0; \
- case 119128: \
- switch (ch2) { \
- case 119141: return 119135; \
- } \
- return 0; \
- case 119135: \
- switch (ch2) { \
- case 119150: return 119136; \
- case 119151: return 119137; \
- case 119152: return 119138; \
- case 119153: return 119139; \
- case 119154: return 119140; \
- } \
- return 0; \
- case 119225: \
- switch (ch2) { \
- case 119141: return 119227; \
- } \
- return 0; \
- case 119226: \
- switch (ch2) { \
- case 119141: return 119228; \
- } \
- return 0; \
- case 119227: \
- switch (ch2) { \
- case 119150: return 119229; \
- case 119151: return 119231; \
- } \
- return 0; \
- case 119228: \
- switch (ch2) { \
- case 119150: return 119230; \
- case 119151: return 119232; \
- } \
- return 0; \
-} \
-return 0; \
-} \
-return 0;
+ switch ((glui32)(ch1) >> 8) { \
+ case 0: \
+ switch (ch1) { \
+ case 60: \
+ switch (ch2) { \
+ case 824: return 8814; \
+ } \
+ return 0; \
+ case 61: \
+ switch (ch2) { \
+ case 824: return 8800; \
+ } \
+ return 0; \
+ case 62: \
+ switch (ch2) { \
+ case 824: return 8815; \
+ } \
+ return 0; \
+ case 65: \
+ switch (ch2) { \
+ case 768: return 192; \
+ case 769: return 193; \
+ case 770: return 194; \
+ case 771: return 195; \
+ case 772: return 256; \
+ case 774: return 258; \
+ case 775: return 550; \
+ case 776: return 196; \
+ case 777: return 7842; \
+ case 778: return 197; \
+ case 780: return 461; \
+ case 783: return 512; \
+ case 785: return 514; \
+ case 803: return 7840; \
+ case 805: return 7680; \
+ case 808: return 260; \
+ } \
+ return 0; \
+ case 66: \
+ switch (ch2) { \
+ case 775: return 7682; \
+ case 803: return 7684; \
+ case 817: return 7686; \
+ } \
+ return 0; \
+ case 67: \
+ switch (ch2) { \
+ case 769: return 262; \
+ case 770: return 264; \
+ case 775: return 266; \
+ case 780: return 268; \
+ case 807: return 199; \
+ } \
+ return 0; \
+ case 68: \
+ switch (ch2) { \
+ case 775: return 7690; \
+ case 780: return 270; \
+ case 803: return 7692; \
+ case 807: return 7696; \
+ case 813: return 7698; \
+ case 817: return 7694; \
+ } \
+ return 0; \
+ case 69: \
+ switch (ch2) { \
+ case 768: return 200; \
+ case 769: return 201; \
+ case 770: return 202; \
+ case 771: return 7868; \
+ case 772: return 274; \
+ case 774: return 276; \
+ case 775: return 278; \
+ case 776: return 203; \
+ case 777: return 7866; \
+ case 780: return 282; \
+ case 783: return 516; \
+ case 785: return 518; \
+ case 803: return 7864; \
+ case 807: return 552; \
+ case 808: return 280; \
+ case 813: return 7704; \
+ case 816: return 7706; \
+ } \
+ return 0; \
+ case 70: \
+ switch (ch2) { \
+ case 775: return 7710; \
+ } \
+ return 0; \
+ case 71: \
+ switch (ch2) { \
+ case 769: return 500; \
+ case 770: return 284; \
+ case 772: return 7712; \
+ case 774: return 286; \
+ case 775: return 288; \
+ case 780: return 486; \
+ case 807: return 290; \
+ } \
+ return 0; \
+ case 72: \
+ switch (ch2) { \
+ case 770: return 292; \
+ case 775: return 7714; \
+ case 776: return 7718; \
+ case 780: return 542; \
+ case 803: return 7716; \
+ case 807: return 7720; \
+ case 814: return 7722; \
+ } \
+ return 0; \
+ case 73: \
+ switch (ch2) { \
+ case 768: return 204; \
+ case 769: return 205; \
+ case 770: return 206; \
+ case 771: return 296; \
+ case 772: return 298; \
+ case 774: return 300; \
+ case 775: return 304; \
+ case 776: return 207; \
+ case 777: return 7880; \
+ case 780: return 463; \
+ case 783: return 520; \
+ case 785: return 522; \
+ case 803: return 7882; \
+ case 808: return 302; \
+ case 816: return 7724; \
+ } \
+ return 0; \
+ case 74: \
+ switch (ch2) { \
+ case 770: return 308; \
+ } \
+ return 0; \
+ case 75: \
+ switch (ch2) { \
+ case 769: return 7728; \
+ case 780: return 488; \
+ case 803: return 7730; \
+ case 807: return 310; \
+ case 817: return 7732; \
+ } \
+ return 0; \
+ case 76: \
+ switch (ch2) { \
+ case 769: return 313; \
+ case 780: return 317; \
+ case 803: return 7734; \
+ case 807: return 315; \
+ case 813: return 7740; \
+ case 817: return 7738; \
+ } \
+ return 0; \
+ case 77: \
+ switch (ch2) { \
+ case 769: return 7742; \
+ case 775: return 7744; \
+ case 803: return 7746; \
+ } \
+ return 0; \
+ case 78: \
+ switch (ch2) { \
+ case 768: return 504; \
+ case 769: return 323; \
+ case 771: return 209; \
+ case 775: return 7748; \
+ case 780: return 327; \
+ case 803: return 7750; \
+ case 807: return 325; \
+ case 813: return 7754; \
+ case 817: return 7752; \
+ } \
+ return 0; \
+ case 79: \
+ switch (ch2) { \
+ case 768: return 210; \
+ case 769: return 211; \
+ case 770: return 212; \
+ case 771: return 213; \
+ case 772: return 332; \
+ case 774: return 334; \
+ case 775: return 558; \
+ case 776: return 214; \
+ case 777: return 7886; \
+ case 779: return 336; \
+ case 780: return 465; \
+ case 783: return 524; \
+ case 785: return 526; \
+ case 795: return 416; \
+ case 803: return 7884; \
+ case 808: return 490; \
+ } \
+ return 0; \
+ case 80: \
+ switch (ch2) { \
+ case 769: return 7764; \
+ case 775: return 7766; \
+ } \
+ return 0; \
+ case 82: \
+ switch (ch2) { \
+ case 769: return 340; \
+ case 775: return 7768; \
+ case 780: return 344; \
+ case 783: return 528; \
+ case 785: return 530; \
+ case 803: return 7770; \
+ case 807: return 342; \
+ case 817: return 7774; \
+ } \
+ return 0; \
+ case 83: \
+ switch (ch2) { \
+ case 769: return 346; \
+ case 770: return 348; \
+ case 775: return 7776; \
+ case 780: return 352; \
+ case 803: return 7778; \
+ case 806: return 536; \
+ case 807: return 350; \
+ } \
+ return 0; \
+ case 84: \
+ switch (ch2) { \
+ case 775: return 7786; \
+ case 780: return 356; \
+ case 803: return 7788; \
+ case 806: return 538; \
+ case 807: return 354; \
+ case 813: return 7792; \
+ case 817: return 7790; \
+ } \
+ return 0; \
+ case 85: \
+ switch (ch2) { \
+ case 768: return 217; \
+ case 769: return 218; \
+ case 770: return 219; \
+ case 771: return 360; \
+ case 772: return 362; \
+ case 774: return 364; \
+ case 776: return 220; \
+ case 777: return 7910; \
+ case 778: return 366; \
+ case 779: return 368; \
+ case 780: return 467; \
+ case 783: return 532; \
+ case 785: return 534; \
+ case 795: return 431; \
+ case 803: return 7908; \
+ case 804: return 7794; \
+ case 808: return 370; \
+ case 813: return 7798; \
+ case 816: return 7796; \
+ } \
+ return 0; \
+ case 86: \
+ switch (ch2) { \
+ case 771: return 7804; \
+ case 803: return 7806; \
+ } \
+ return 0; \
+ case 87: \
+ switch (ch2) { \
+ case 768: return 7808; \
+ case 769: return 7810; \
+ case 770: return 372; \
+ case 775: return 7814; \
+ case 776: return 7812; \
+ case 803: return 7816; \
+ } \
+ return 0; \
+ case 88: \
+ switch (ch2) { \
+ case 775: return 7818; \
+ case 776: return 7820; \
+ } \
+ return 0; \
+ case 89: \
+ switch (ch2) { \
+ case 768: return 7922; \
+ case 769: return 221; \
+ case 770: return 374; \
+ case 771: return 7928; \
+ case 772: return 562; \
+ case 775: return 7822; \
+ case 776: return 376; \
+ case 777: return 7926; \
+ case 803: return 7924; \
+ } \
+ return 0; \
+ case 90: \
+ switch (ch2) { \
+ case 769: return 377; \
+ case 770: return 7824; \
+ case 775: return 379; \
+ case 780: return 381; \
+ case 803: return 7826; \
+ case 817: return 7828; \
+ } \
+ return 0; \
+ case 97: \
+ switch (ch2) { \
+ case 768: return 224; \
+ case 769: return 225; \
+ case 770: return 226; \
+ case 771: return 227; \
+ case 772: return 257; \
+ case 774: return 259; \
+ case 775: return 551; \
+ case 776: return 228; \
+ case 777: return 7843; \
+ case 778: return 229; \
+ case 780: return 462; \
+ case 783: return 513; \
+ case 785: return 515; \
+ case 803: return 7841; \
+ case 805: return 7681; \
+ case 808: return 261; \
+ } \
+ return 0; \
+ case 98: \
+ switch (ch2) { \
+ case 775: return 7683; \
+ case 803: return 7685; \
+ case 817: return 7687; \
+ } \
+ return 0; \
+ case 99: \
+ switch (ch2) { \
+ case 769: return 263; \
+ case 770: return 265; \
+ case 775: return 267; \
+ case 780: return 269; \
+ case 807: return 231; \
+ } \
+ return 0; \
+ case 100: \
+ switch (ch2) { \
+ case 775: return 7691; \
+ case 780: return 271; \
+ case 803: return 7693; \
+ case 807: return 7697; \
+ case 813: return 7699; \
+ case 817: return 7695; \
+ } \
+ return 0; \
+ case 101: \
+ switch (ch2) { \
+ case 768: return 232; \
+ case 769: return 233; \
+ case 770: return 234; \
+ case 771: return 7869; \
+ case 772: return 275; \
+ case 774: return 277; \
+ case 775: return 279; \
+ case 776: return 235; \
+ case 777: return 7867; \
+ case 780: return 283; \
+ case 783: return 517; \
+ case 785: return 519; \
+ case 803: return 7865; \
+ case 807: return 553; \
+ case 808: return 281; \
+ case 813: return 7705; \
+ case 816: return 7707; \
+ } \
+ return 0; \
+ case 102: \
+ switch (ch2) { \
+ case 775: return 7711; \
+ } \
+ return 0; \
+ case 103: \
+ switch (ch2) { \
+ case 769: return 501; \
+ case 770: return 285; \
+ case 772: return 7713; \
+ case 774: return 287; \
+ case 775: return 289; \
+ case 780: return 487; \
+ case 807: return 291; \
+ } \
+ return 0; \
+ case 104: \
+ switch (ch2) { \
+ case 770: return 293; \
+ case 775: return 7715; \
+ case 776: return 7719; \
+ case 780: return 543; \
+ case 803: return 7717; \
+ case 807: return 7721; \
+ case 814: return 7723; \
+ case 817: return 7830; \
+ } \
+ return 0; \
+ case 105: \
+ switch (ch2) { \
+ case 768: return 236; \
+ case 769: return 237; \
+ case 770: return 238; \
+ case 771: return 297; \
+ case 772: return 299; \
+ case 774: return 301; \
+ case 776: return 239; \
+ case 777: return 7881; \
+ case 780: return 464; \
+ case 783: return 521; \
+ case 785: return 523; \
+ case 803: return 7883; \
+ case 808: return 303; \
+ case 816: return 7725; \
+ } \
+ return 0; \
+ case 106: \
+ switch (ch2) { \
+ case 770: return 309; \
+ case 780: return 496; \
+ } \
+ return 0; \
+ case 107: \
+ switch (ch2) { \
+ case 769: return 7729; \
+ case 780: return 489; \
+ case 803: return 7731; \
+ case 807: return 311; \
+ case 817: return 7733; \
+ } \
+ return 0; \
+ case 108: \
+ switch (ch2) { \
+ case 769: return 314; \
+ case 780: return 318; \
+ case 803: return 7735; \
+ case 807: return 316; \
+ case 813: return 7741; \
+ case 817: return 7739; \
+ } \
+ return 0; \
+ case 109: \
+ switch (ch2) { \
+ case 769: return 7743; \
+ case 775: return 7745; \
+ case 803: return 7747; \
+ } \
+ return 0; \
+ case 110: \
+ switch (ch2) { \
+ case 768: return 505; \
+ case 769: return 324; \
+ case 771: return 241; \
+ case 775: return 7749; \
+ case 780: return 328; \
+ case 803: return 7751; \
+ case 807: return 326; \
+ case 813: return 7755; \
+ case 817: return 7753; \
+ } \
+ return 0; \
+ case 111: \
+ switch (ch2) { \
+ case 768: return 242; \
+ case 769: return 243; \
+ case 770: return 244; \
+ case 771: return 245; \
+ case 772: return 333; \
+ case 774: return 335; \
+ case 775: return 559; \
+ case 776: return 246; \
+ case 777: return 7887; \
+ case 779: return 337; \
+ case 780: return 466; \
+ case 783: return 525; \
+ case 785: return 527; \
+ case 795: return 417; \
+ case 803: return 7885; \
+ case 808: return 491; \
+ } \
+ return 0; \
+ case 112: \
+ switch (ch2) { \
+ case 769: return 7765; \
+ case 775: return 7767; \
+ } \
+ return 0; \
+ case 114: \
+ switch (ch2) { \
+ case 769: return 341; \
+ case 775: return 7769; \
+ case 780: return 345; \
+ case 783: return 529; \
+ case 785: return 531; \
+ case 803: return 7771; \
+ case 807: return 343; \
+ case 817: return 7775; \
+ } \
+ return 0; \
+ case 115: \
+ switch (ch2) { \
+ case 769: return 347; \
+ case 770: return 349; \
+ case 775: return 7777; \
+ case 780: return 353; \
+ case 803: return 7779; \
+ case 806: return 537; \
+ case 807: return 351; \
+ } \
+ return 0; \
+ case 116: \
+ switch (ch2) { \
+ case 775: return 7787; \
+ case 776: return 7831; \
+ case 780: return 357; \
+ case 803: return 7789; \
+ case 806: return 539; \
+ case 807: return 355; \
+ case 813: return 7793; \
+ case 817: return 7791; \
+ } \
+ return 0; \
+ case 117: \
+ switch (ch2) { \
+ case 768: return 249; \
+ case 769: return 250; \
+ case 770: return 251; \
+ case 771: return 361; \
+ case 772: return 363; \
+ case 774: return 365; \
+ case 776: return 252; \
+ case 777: return 7911; \
+ case 778: return 367; \
+ case 779: return 369; \
+ case 780: return 468; \
+ case 783: return 533; \
+ case 785: return 535; \
+ case 795: return 432; \
+ case 803: return 7909; \
+ case 804: return 7795; \
+ case 808: return 371; \
+ case 813: return 7799; \
+ case 816: return 7797; \
+ } \
+ return 0; \
+ case 118: \
+ switch (ch2) { \
+ case 771: return 7805; \
+ case 803: return 7807; \
+ } \
+ return 0; \
+ case 119: \
+ switch (ch2) { \
+ case 768: return 7809; \
+ case 769: return 7811; \
+ case 770: return 373; \
+ case 775: return 7815; \
+ case 776: return 7813; \
+ case 778: return 7832; \
+ case 803: return 7817; \
+ } \
+ return 0; \
+ case 120: \
+ switch (ch2) { \
+ case 775: return 7819; \
+ case 776: return 7821; \
+ } \
+ return 0; \
+ case 121: \
+ switch (ch2) { \
+ case 768: return 7923; \
+ case 769: return 253; \
+ case 770: return 375; \
+ case 771: return 7929; \
+ case 772: return 563; \
+ case 775: return 7823; \
+ case 776: return 255; \
+ case 777: return 7927; \
+ case 778: return 7833; \
+ case 803: return 7925; \
+ } \
+ return 0; \
+ case 122: \
+ switch (ch2) { \
+ case 769: return 378; \
+ case 770: return 7825; \
+ case 775: return 380; \
+ case 780: return 382; \
+ case 803: return 7827; \
+ case 817: return 7829; \
+ } \
+ return 0; \
+ case 168: \
+ switch (ch2) { \
+ case 768: return 8173; \
+ case 769: return 901; \
+ case 834: return 8129; \
+ } \
+ return 0; \
+ case 194: \
+ switch (ch2) { \
+ case 768: return 7846; \
+ case 769: return 7844; \
+ case 771: return 7850; \
+ case 777: return 7848; \
+ } \
+ return 0; \
+ case 196: \
+ switch (ch2) { \
+ case 772: return 478; \
+ } \
+ return 0; \
+ case 197: \
+ switch (ch2) { \
+ case 769: return 506; \
+ } \
+ return 0; \
+ case 198: \
+ switch (ch2) { \
+ case 769: return 508; \
+ case 772: return 482; \
+ } \
+ return 0; \
+ case 199: \
+ switch (ch2) { \
+ case 769: return 7688; \
+ } \
+ return 0; \
+ case 202: \
+ switch (ch2) { \
+ case 768: return 7872; \
+ case 769: return 7870; \
+ case 771: return 7876; \
+ case 777: return 7874; \
+ } \
+ return 0; \
+ case 207: \
+ switch (ch2) { \
+ case 769: return 7726; \
+ } \
+ return 0; \
+ case 212: \
+ switch (ch2) { \
+ case 768: return 7890; \
+ case 769: return 7888; \
+ case 771: return 7894; \
+ case 777: return 7892; \
+ } \
+ return 0; \
+ case 213: \
+ switch (ch2) { \
+ case 769: return 7756; \
+ case 772: return 556; \
+ case 776: return 7758; \
+ } \
+ return 0; \
+ case 214: \
+ switch (ch2) { \
+ case 772: return 554; \
+ } \
+ return 0; \
+ case 216: \
+ switch (ch2) { \
+ case 769: return 510; \
+ } \
+ return 0; \
+ case 220: \
+ switch (ch2) { \
+ case 768: return 475; \
+ case 769: return 471; \
+ case 772: return 469; \
+ case 780: return 473; \
+ } \
+ return 0; \
+ case 226: \
+ switch (ch2) { \
+ case 768: return 7847; \
+ case 769: return 7845; \
+ case 771: return 7851; \
+ case 777: return 7849; \
+ } \
+ return 0; \
+ case 228: \
+ switch (ch2) { \
+ case 772: return 479; \
+ } \
+ return 0; \
+ case 229: \
+ switch (ch2) { \
+ case 769: return 507; \
+ } \
+ return 0; \
+ case 230: \
+ switch (ch2) { \
+ case 769: return 509; \
+ case 772: return 483; \
+ } \
+ return 0; \
+ case 231: \
+ switch (ch2) { \
+ case 769: return 7689; \
+ } \
+ return 0; \
+ case 234: \
+ switch (ch2) { \
+ case 768: return 7873; \
+ case 769: return 7871; \
+ case 771: return 7877; \
+ case 777: return 7875; \
+ } \
+ return 0; \
+ case 239: \
+ switch (ch2) { \
+ case 769: return 7727; \
+ } \
+ return 0; \
+ case 244: \
+ switch (ch2) { \
+ case 768: return 7891; \
+ case 769: return 7889; \
+ case 771: return 7895; \
+ case 777: return 7893; \
+ } \
+ return 0; \
+ case 245: \
+ switch (ch2) { \
+ case 769: return 7757; \
+ case 772: return 557; \
+ case 776: return 7759; \
+ } \
+ return 0; \
+ case 246: \
+ switch (ch2) { \
+ case 772: return 555; \
+ } \
+ return 0; \
+ case 248: \
+ switch (ch2) { \
+ case 769: return 511; \
+ } \
+ return 0; \
+ case 252: \
+ switch (ch2) { \
+ case 768: return 476; \
+ case 769: return 472; \
+ case 772: return 470; \
+ case 780: return 474; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 1: \
+ switch (ch1) { \
+ case 258: \
+ switch (ch2) { \
+ case 768: return 7856; \
+ case 769: return 7854; \
+ case 771: return 7860; \
+ case 777: return 7858; \
+ } \
+ return 0; \
+ case 259: \
+ switch (ch2) { \
+ case 768: return 7857; \
+ case 769: return 7855; \
+ case 771: return 7861; \
+ case 777: return 7859; \
+ } \
+ return 0; \
+ case 274: \
+ switch (ch2) { \
+ case 768: return 7700; \
+ case 769: return 7702; \
+ } \
+ return 0; \
+ case 275: \
+ switch (ch2) { \
+ case 768: return 7701; \
+ case 769: return 7703; \
+ } \
+ return 0; \
+ case 332: \
+ switch (ch2) { \
+ case 768: return 7760; \
+ case 769: return 7762; \
+ } \
+ return 0; \
+ case 333: \
+ switch (ch2) { \
+ case 768: return 7761; \
+ case 769: return 7763; \
+ } \
+ return 0; \
+ case 346: \
+ switch (ch2) { \
+ case 775: return 7780; \
+ } \
+ return 0; \
+ case 347: \
+ switch (ch2) { \
+ case 775: return 7781; \
+ } \
+ return 0; \
+ case 352: \
+ switch (ch2) { \
+ case 775: return 7782; \
+ } \
+ return 0; \
+ case 353: \
+ switch (ch2) { \
+ case 775: return 7783; \
+ } \
+ return 0; \
+ case 360: \
+ switch (ch2) { \
+ case 769: return 7800; \
+ } \
+ return 0; \
+ case 361: \
+ switch (ch2) { \
+ case 769: return 7801; \
+ } \
+ return 0; \
+ case 362: \
+ switch (ch2) { \
+ case 776: return 7802; \
+ } \
+ return 0; \
+ case 363: \
+ switch (ch2) { \
+ case 776: return 7803; \
+ } \
+ return 0; \
+ case 383: \
+ switch (ch2) { \
+ case 775: return 7835; \
+ } \
+ return 0; \
+ case 416: \
+ switch (ch2) { \
+ case 768: return 7900; \
+ case 769: return 7898; \
+ case 771: return 7904; \
+ case 777: return 7902; \
+ case 803: return 7906; \
+ } \
+ return 0; \
+ case 417: \
+ switch (ch2) { \
+ case 768: return 7901; \
+ case 769: return 7899; \
+ case 771: return 7905; \
+ case 777: return 7903; \
+ case 803: return 7907; \
+ } \
+ return 0; \
+ case 431: \
+ switch (ch2) { \
+ case 768: return 7914; \
+ case 769: return 7912; \
+ case 771: return 7918; \
+ case 777: return 7916; \
+ case 803: return 7920; \
+ } \
+ return 0; \
+ case 432: \
+ switch (ch2) { \
+ case 768: return 7915; \
+ case 769: return 7913; \
+ case 771: return 7919; \
+ case 777: return 7917; \
+ case 803: return 7921; \
+ } \
+ return 0; \
+ case 439: \
+ switch (ch2) { \
+ case 780: return 494; \
+ } \
+ return 0; \
+ case 490: \
+ switch (ch2) { \
+ case 772: return 492; \
+ } \
+ return 0; \
+ case 491: \
+ switch (ch2) { \
+ case 772: return 493; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 2: \
+ switch (ch1) { \
+ case 550: \
+ switch (ch2) { \
+ case 772: return 480; \
+ } \
+ return 0; \
+ case 551: \
+ switch (ch2) { \
+ case 772: return 481; \
+ } \
+ return 0; \
+ case 552: \
+ switch (ch2) { \
+ case 774: return 7708; \
+ } \
+ return 0; \
+ case 553: \
+ switch (ch2) { \
+ case 774: return 7709; \
+ } \
+ return 0; \
+ case 558: \
+ switch (ch2) { \
+ case 772: return 560; \
+ } \
+ return 0; \
+ case 559: \
+ switch (ch2) { \
+ case 772: return 561; \
+ } \
+ return 0; \
+ case 658: \
+ switch (ch2) { \
+ case 780: return 495; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 3: \
+ switch (ch1) { \
+ case 776: \
+ switch (ch2) { \
+ case 769: return 836; \
+ } \
+ return 0; \
+ case 913: \
+ switch (ch2) { \
+ case 768: return 8122; \
+ case 769: return 902; \
+ case 772: return 8121; \
+ case 774: return 8120; \
+ case 787: return 7944; \
+ case 788: return 7945; \
+ case 837: return 8124; \
+ } \
+ return 0; \
+ case 917: \
+ switch (ch2) { \
+ case 768: return 8136; \
+ case 769: return 904; \
+ case 787: return 7960; \
+ case 788: return 7961; \
+ } \
+ return 0; \
+ case 919: \
+ switch (ch2) { \
+ case 768: return 8138; \
+ case 769: return 905; \
+ case 787: return 7976; \
+ case 788: return 7977; \
+ case 837: return 8140; \
+ } \
+ return 0; \
+ case 921: \
+ switch (ch2) { \
+ case 768: return 8154; \
+ case 769: return 906; \
+ case 772: return 8153; \
+ case 774: return 8152; \
+ case 776: return 938; \
+ case 787: return 7992; \
+ case 788: return 7993; \
+ } \
+ return 0; \
+ case 927: \
+ switch (ch2) { \
+ case 768: return 8184; \
+ case 769: return 908; \
+ case 787: return 8008; \
+ case 788: return 8009; \
+ } \
+ return 0; \
+ case 929: \
+ switch (ch2) { \
+ case 788: return 8172; \
+ } \
+ return 0; \
+ case 933: \
+ switch (ch2) { \
+ case 768: return 8170; \
+ case 769: return 910; \
+ case 772: return 8169; \
+ case 774: return 8168; \
+ case 776: return 939; \
+ case 788: return 8025; \
+ } \
+ return 0; \
+ case 937: \
+ switch (ch2) { \
+ case 768: return 8186; \
+ case 769: return 911; \
+ case 787: return 8040; \
+ case 788: return 8041; \
+ case 837: return 8188; \
+ } \
+ return 0; \
+ case 940: \
+ switch (ch2) { \
+ case 837: return 8116; \
+ } \
+ return 0; \
+ case 942: \
+ switch (ch2) { \
+ case 837: return 8132; \
+ } \
+ return 0; \
+ case 945: \
+ switch (ch2) { \
+ case 768: return 8048; \
+ case 769: return 940; \
+ case 772: return 8113; \
+ case 774: return 8112; \
+ case 787: return 7936; \
+ case 788: return 7937; \
+ case 834: return 8118; \
+ case 837: return 8115; \
+ } \
+ return 0; \
+ case 949: \
+ switch (ch2) { \
+ case 768: return 8050; \
+ case 769: return 941; \
+ case 787: return 7952; \
+ case 788: return 7953; \
+ } \
+ return 0; \
+ case 951: \
+ switch (ch2) { \
+ case 768: return 8052; \
+ case 769: return 942; \
+ case 787: return 7968; \
+ case 788: return 7969; \
+ case 834: return 8134; \
+ case 837: return 8131; \
+ } \
+ return 0; \
+ case 953: \
+ switch (ch2) { \
+ case 768: return 8054; \
+ case 769: return 943; \
+ case 772: return 8145; \
+ case 774: return 8144; \
+ case 776: return 970; \
+ case 787: return 7984; \
+ case 788: return 7985; \
+ case 834: return 8150; \
+ } \
+ return 0; \
+ case 959: \
+ switch (ch2) { \
+ case 768: return 8056; \
+ case 769: return 972; \
+ case 787: return 8000; \
+ case 788: return 8001; \
+ } \
+ return 0; \
+ case 961: \
+ switch (ch2) { \
+ case 787: return 8164; \
+ case 788: return 8165; \
+ } \
+ return 0; \
+ case 965: \
+ switch (ch2) { \
+ case 768: return 8058; \
+ case 769: return 973; \
+ case 772: return 8161; \
+ case 774: return 8160; \
+ case 776: return 971; \
+ case 787: return 8016; \
+ case 788: return 8017; \
+ case 834: return 8166; \
+ } \
+ return 0; \
+ case 969: \
+ switch (ch2) { \
+ case 768: return 8060; \
+ case 769: return 974; \
+ case 787: return 8032; \
+ case 788: return 8033; \
+ case 834: return 8182; \
+ case 837: return 8179; \
+ } \
+ return 0; \
+ case 970: \
+ switch (ch2) { \
+ case 768: return 8146; \
+ case 769: return 912; \
+ case 834: return 8151; \
+ } \
+ return 0; \
+ case 971: \
+ switch (ch2) { \
+ case 768: return 8162; \
+ case 769: return 944; \
+ case 834: return 8167; \
+ } \
+ return 0; \
+ case 974: \
+ switch (ch2) { \
+ case 837: return 8180; \
+ } \
+ return 0; \
+ case 978: \
+ switch (ch2) { \
+ case 769: return 979; \
+ case 776: return 980; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 4: \
+ switch (ch1) { \
+ case 1030: \
+ switch (ch2) { \
+ case 776: return 1031; \
+ } \
+ return 0; \
+ case 1040: \
+ switch (ch2) { \
+ case 774: return 1232; \
+ case 776: return 1234; \
+ } \
+ return 0; \
+ case 1043: \
+ switch (ch2) { \
+ case 769: return 1027; \
+ } \
+ return 0; \
+ case 1045: \
+ switch (ch2) { \
+ case 768: return 1024; \
+ case 774: return 1238; \
+ case 776: return 1025; \
+ } \
+ return 0; \
+ case 1046: \
+ switch (ch2) { \
+ case 774: return 1217; \
+ case 776: return 1244; \
+ } \
+ return 0; \
+ case 1047: \
+ switch (ch2) { \
+ case 776: return 1246; \
+ } \
+ return 0; \
+ case 1048: \
+ switch (ch2) { \
+ case 768: return 1037; \
+ case 772: return 1250; \
+ case 774: return 1049; \
+ case 776: return 1252; \
+ } \
+ return 0; \
+ case 1050: \
+ switch (ch2) { \
+ case 769: return 1036; \
+ } \
+ return 0; \
+ case 1054: \
+ switch (ch2) { \
+ case 776: return 1254; \
+ } \
+ return 0; \
+ case 1059: \
+ switch (ch2) { \
+ case 772: return 1262; \
+ case 774: return 1038; \
+ case 776: return 1264; \
+ case 779: return 1266; \
+ } \
+ return 0; \
+ case 1063: \
+ switch (ch2) { \
+ case 776: return 1268; \
+ } \
+ return 0; \
+ case 1067: \
+ switch (ch2) { \
+ case 776: return 1272; \
+ } \
+ return 0; \
+ case 1069: \
+ switch (ch2) { \
+ case 776: return 1260; \
+ } \
+ return 0; \
+ case 1072: \
+ switch (ch2) { \
+ case 774: return 1233; \
+ case 776: return 1235; \
+ } \
+ return 0; \
+ case 1075: \
+ switch (ch2) { \
+ case 769: return 1107; \
+ } \
+ return 0; \
+ case 1077: \
+ switch (ch2) { \
+ case 768: return 1104; \
+ case 774: return 1239; \
+ case 776: return 1105; \
+ } \
+ return 0; \
+ case 1078: \
+ switch (ch2) { \
+ case 774: return 1218; \
+ case 776: return 1245; \
+ } \
+ return 0; \
+ case 1079: \
+ switch (ch2) { \
+ case 776: return 1247; \
+ } \
+ return 0; \
+ case 1080: \
+ switch (ch2) { \
+ case 768: return 1117; \
+ case 772: return 1251; \
+ case 774: return 1081; \
+ case 776: return 1253; \
+ } \
+ return 0; \
+ case 1082: \
+ switch (ch2) { \
+ case 769: return 1116; \
+ } \
+ return 0; \
+ case 1086: \
+ switch (ch2) { \
+ case 776: return 1255; \
+ } \
+ return 0; \
+ case 1091: \
+ switch (ch2) { \
+ case 772: return 1263; \
+ case 774: return 1118; \
+ case 776: return 1265; \
+ case 779: return 1267; \
+ } \
+ return 0; \
+ case 1095: \
+ switch (ch2) { \
+ case 776: return 1269; \
+ } \
+ return 0; \
+ case 1099: \
+ switch (ch2) { \
+ case 776: return 1273; \
+ } \
+ return 0; \
+ case 1101: \
+ switch (ch2) { \
+ case 776: return 1261; \
+ } \
+ return 0; \
+ case 1110: \
+ switch (ch2) { \
+ case 776: return 1111; \
+ } \
+ return 0; \
+ case 1140: \
+ switch (ch2) { \
+ case 783: return 1142; \
+ } \
+ return 0; \
+ case 1141: \
+ switch (ch2) { \
+ case 783: return 1143; \
+ } \
+ return 0; \
+ case 1240: \
+ switch (ch2) { \
+ case 776: return 1242; \
+ } \
+ return 0; \
+ case 1241: \
+ switch (ch2) { \
+ case 776: return 1243; \
+ } \
+ return 0; \
+ case 1256: \
+ switch (ch2) { \
+ case 776: return 1258; \
+ } \
+ return 0; \
+ case 1257: \
+ switch (ch2) { \
+ case 776: return 1259; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 5: \
+ switch (ch1) { \
+ case 1488: \
+ switch (ch2) { \
+ case 1463: return 64302; \
+ case 1464: return 64303; \
+ case 1468: return 64304; \
+ } \
+ return 0; \
+ case 1489: \
+ switch (ch2) { \
+ case 1468: return 64305; \
+ case 1471: return 64332; \
+ } \
+ return 0; \
+ case 1490: \
+ switch (ch2) { \
+ case 1468: return 64306; \
+ } \
+ return 0; \
+ case 1491: \
+ switch (ch2) { \
+ case 1468: return 64307; \
+ } \
+ return 0; \
+ case 1492: \
+ switch (ch2) { \
+ case 1468: return 64308; \
+ } \
+ return 0; \
+ case 1493: \
+ switch (ch2) { \
+ case 1465: return 64331; \
+ case 1468: return 64309; \
+ } \
+ return 0; \
+ case 1494: \
+ switch (ch2) { \
+ case 1468: return 64310; \
+ } \
+ return 0; \
+ case 1496: \
+ switch (ch2) { \
+ case 1468: return 64312; \
+ } \
+ return 0; \
+ case 1497: \
+ switch (ch2) { \
+ case 1460: return 64285; \
+ case 1468: return 64313; \
+ } \
+ return 0; \
+ case 1498: \
+ switch (ch2) { \
+ case 1468: return 64314; \
+ } \
+ return 0; \
+ case 1499: \
+ switch (ch2) { \
+ case 1468: return 64315; \
+ case 1471: return 64333; \
+ } \
+ return 0; \
+ case 1500: \
+ switch (ch2) { \
+ case 1468: return 64316; \
+ } \
+ return 0; \
+ case 1502: \
+ switch (ch2) { \
+ case 1468: return 64318; \
+ } \
+ return 0; \
+ case 1504: \
+ switch (ch2) { \
+ case 1468: return 64320; \
+ } \
+ return 0; \
+ case 1505: \
+ switch (ch2) { \
+ case 1468: return 64321; \
+ } \
+ return 0; \
+ case 1507: \
+ switch (ch2) { \
+ case 1468: return 64323; \
+ } \
+ return 0; \
+ case 1508: \
+ switch (ch2) { \
+ case 1468: return 64324; \
+ case 1471: return 64334; \
+ } \
+ return 0; \
+ case 1510: \
+ switch (ch2) { \
+ case 1468: return 64326; \
+ } \
+ return 0; \
+ case 1511: \
+ switch (ch2) { \
+ case 1468: return 64327; \
+ } \
+ return 0; \
+ case 1512: \
+ switch (ch2) { \
+ case 1468: return 64328; \
+ } \
+ return 0; \
+ case 1513: \
+ switch (ch2) { \
+ case 1468: return 64329; \
+ case 1473: return 64298; \
+ case 1474: return 64299; \
+ } \
+ return 0; \
+ case 1514: \
+ switch (ch2) { \
+ case 1468: return 64330; \
+ } \
+ return 0; \
+ case 1522: \
+ switch (ch2) { \
+ case 1463: return 64287; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 6: \
+ switch (ch1) { \
+ case 1575: \
+ switch (ch2) { \
+ case 1619: return 1570; \
+ case 1620: return 1571; \
+ case 1621: return 1573; \
+ } \
+ return 0; \
+ case 1608: \
+ switch (ch2) { \
+ case 1620: return 1572; \
+ } \
+ return 0; \
+ case 1610: \
+ switch (ch2) { \
+ case 1620: return 1574; \
+ } \
+ return 0; \
+ case 1729: \
+ switch (ch2) { \
+ case 1620: return 1730; \
+ } \
+ return 0; \
+ case 1746: \
+ switch (ch2) { \
+ case 1620: return 1747; \
+ } \
+ return 0; \
+ case 1749: \
+ switch (ch2) { \
+ case 1620: return 1728; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 9: \
+ switch (ch1) { \
+ case 2325: \
+ switch (ch2) { \
+ case 2364: return 2392; \
+ } \
+ return 0; \
+ case 2326: \
+ switch (ch2) { \
+ case 2364: return 2393; \
+ } \
+ return 0; \
+ case 2327: \
+ switch (ch2) { \
+ case 2364: return 2394; \
+ } \
+ return 0; \
+ case 2332: \
+ switch (ch2) { \
+ case 2364: return 2395; \
+ } \
+ return 0; \
+ case 2337: \
+ switch (ch2) { \
+ case 2364: return 2396; \
+ } \
+ return 0; \
+ case 2338: \
+ switch (ch2) { \
+ case 2364: return 2397; \
+ } \
+ return 0; \
+ case 2344: \
+ switch (ch2) { \
+ case 2364: return 2345; \
+ } \
+ return 0; \
+ case 2347: \
+ switch (ch2) { \
+ case 2364: return 2398; \
+ } \
+ return 0; \
+ case 2351: \
+ switch (ch2) { \
+ case 2364: return 2399; \
+ } \
+ return 0; \
+ case 2352: \
+ switch (ch2) { \
+ case 2364: return 2353; \
+ } \
+ return 0; \
+ case 2355: \
+ switch (ch2) { \
+ case 2364: return 2356; \
+ } \
+ return 0; \
+ case 2465: \
+ switch (ch2) { \
+ case 2492: return 2524; \
+ } \
+ return 0; \
+ case 2466: \
+ switch (ch2) { \
+ case 2492: return 2525; \
+ } \
+ return 0; \
+ case 2479: \
+ switch (ch2) { \
+ case 2492: return 2527; \
+ } \
+ return 0; \
+ case 2503: \
+ switch (ch2) { \
+ case 2494: return 2507; \
+ case 2519: return 2508; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 10: \
+ switch (ch1) { \
+ case 2582: \
+ switch (ch2) { \
+ case 2620: return 2649; \
+ } \
+ return 0; \
+ case 2583: \
+ switch (ch2) { \
+ case 2620: return 2650; \
+ } \
+ return 0; \
+ case 2588: \
+ switch (ch2) { \
+ case 2620: return 2651; \
+ } \
+ return 0; \
+ case 2603: \
+ switch (ch2) { \
+ case 2620: return 2654; \
+ } \
+ return 0; \
+ case 2610: \
+ switch (ch2) { \
+ case 2620: return 2611; \
+ } \
+ return 0; \
+ case 2616: \
+ switch (ch2) { \
+ case 2620: return 2614; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 11: \
+ switch (ch1) { \
+ case 2849: \
+ switch (ch2) { \
+ case 2876: return 2908; \
+ } \
+ return 0; \
+ case 2850: \
+ switch (ch2) { \
+ case 2876: return 2909; \
+ } \
+ return 0; \
+ case 2887: \
+ switch (ch2) { \
+ case 2878: return 2891; \
+ case 2902: return 2888; \
+ case 2903: return 2892; \
+ } \
+ return 0; \
+ case 2962: \
+ switch (ch2) { \
+ case 3031: return 2964; \
+ } \
+ return 0; \
+ case 3014: \
+ switch (ch2) { \
+ case 3006: return 3018; \
+ case 3031: return 3020; \
+ } \
+ return 0; \
+ case 3015: \
+ switch (ch2) { \
+ case 3006: return 3019; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 12: \
+ switch (ch1) { \
+ case 3142: \
+ switch (ch2) { \
+ case 3158: return 3144; \
+ } \
+ return 0; \
+ case 3263: \
+ switch (ch2) { \
+ case 3285: return 3264; \
+ } \
+ return 0; \
+ case 3270: \
+ switch (ch2) { \
+ case 3266: return 3274; \
+ case 3285: return 3271; \
+ case 3286: return 3272; \
+ } \
+ return 0; \
+ case 3274: \
+ switch (ch2) { \
+ case 3285: return 3275; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 13: \
+ switch (ch1) { \
+ case 3398: \
+ switch (ch2) { \
+ case 3390: return 3402; \
+ case 3415: return 3404; \
+ } \
+ return 0; \
+ case 3399: \
+ switch (ch2) { \
+ case 3390: return 3403; \
+ } \
+ return 0; \
+ case 3545: \
+ switch (ch2) { \
+ case 3530: return 3546; \
+ case 3535: return 3548; \
+ case 3551: return 3550; \
+ } \
+ return 0; \
+ case 3548: \
+ switch (ch2) { \
+ case 3530: return 3549; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 15: \
+ switch (ch1) { \
+ case 3904: \
+ switch (ch2) { \
+ case 4021: return 3945; \
+ } \
+ return 0; \
+ case 3906: \
+ switch (ch2) { \
+ case 4023: return 3907; \
+ } \
+ return 0; \
+ case 3916: \
+ switch (ch2) { \
+ case 4023: return 3917; \
+ } \
+ return 0; \
+ case 3921: \
+ switch (ch2) { \
+ case 4023: return 3922; \
+ } \
+ return 0; \
+ case 3926: \
+ switch (ch2) { \
+ case 4023: return 3927; \
+ } \
+ return 0; \
+ case 3931: \
+ switch (ch2) { \
+ case 4023: return 3932; \
+ } \
+ return 0; \
+ case 3953: \
+ switch (ch2) { \
+ case 3954: return 3955; \
+ case 3956: return 3957; \
+ case 3968: return 3969; \
+ } \
+ return 0; \
+ case 3984: \
+ switch (ch2) { \
+ case 4021: return 4025; \
+ } \
+ return 0; \
+ case 3986: \
+ switch (ch2) { \
+ case 4023: return 3987; \
+ } \
+ return 0; \
+ case 3996: \
+ switch (ch2) { \
+ case 4023: return 3997; \
+ } \
+ return 0; \
+ case 4001: \
+ switch (ch2) { \
+ case 4023: return 4002; \
+ } \
+ return 0; \
+ case 4006: \
+ switch (ch2) { \
+ case 4023: return 4007; \
+ } \
+ return 0; \
+ case 4011: \
+ switch (ch2) { \
+ case 4023: return 4012; \
+ } \
+ return 0; \
+ case 4018: \
+ switch (ch2) { \
+ case 3968: return 3958; \
+ } \
+ return 0; \
+ case 4019: \
+ switch (ch2) { \
+ case 3968: return 3960; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 16: \
+ switch (ch1) { \
+ case 4133: \
+ switch (ch2) { \
+ case 4142: return 4134; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 30: \
+ switch (ch1) { \
+ case 7734: \
+ switch (ch2) { \
+ case 772: return 7736; \
+ } \
+ return 0; \
+ case 7735: \
+ switch (ch2) { \
+ case 772: return 7737; \
+ } \
+ return 0; \
+ case 7770: \
+ switch (ch2) { \
+ case 772: return 7772; \
+ } \
+ return 0; \
+ case 7771: \
+ switch (ch2) { \
+ case 772: return 7773; \
+ } \
+ return 0; \
+ case 7778: \
+ switch (ch2) { \
+ case 775: return 7784; \
+ } \
+ return 0; \
+ case 7779: \
+ switch (ch2) { \
+ case 775: return 7785; \
+ } \
+ return 0; \
+ case 7840: \
+ switch (ch2) { \
+ case 770: return 7852; \
+ case 774: return 7862; \
+ } \
+ return 0; \
+ case 7841: \
+ switch (ch2) { \
+ case 770: return 7853; \
+ case 774: return 7863; \
+ } \
+ return 0; \
+ case 7864: \
+ switch (ch2) { \
+ case 770: return 7878; \
+ } \
+ return 0; \
+ case 7865: \
+ switch (ch2) { \
+ case 770: return 7879; \
+ } \
+ return 0; \
+ case 7884: \
+ switch (ch2) { \
+ case 770: return 7896; \
+ } \
+ return 0; \
+ case 7885: \
+ switch (ch2) { \
+ case 770: return 7897; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 31: \
+ switch (ch1) { \
+ case 7936: \
+ switch (ch2) { \
+ case 768: return 7938; \
+ case 769: return 7940; \
+ case 834: return 7942; \
+ case 837: return 8064; \
+ } \
+ return 0; \
+ case 7937: \
+ switch (ch2) { \
+ case 768: return 7939; \
+ case 769: return 7941; \
+ case 834: return 7943; \
+ case 837: return 8065; \
+ } \
+ return 0; \
+ case 7938: \
+ switch (ch2) { \
+ case 837: return 8066; \
+ } \
+ return 0; \
+ case 7939: \
+ switch (ch2) { \
+ case 837: return 8067; \
+ } \
+ return 0; \
+ case 7940: \
+ switch (ch2) { \
+ case 837: return 8068; \
+ } \
+ return 0; \
+ case 7941: \
+ switch (ch2) { \
+ case 837: return 8069; \
+ } \
+ return 0; \
+ case 7942: \
+ switch (ch2) { \
+ case 837: return 8070; \
+ } \
+ return 0; \
+ case 7943: \
+ switch (ch2) { \
+ case 837: return 8071; \
+ } \
+ return 0; \
+ case 7944: \
+ switch (ch2) { \
+ case 768: return 7946; \
+ case 769: return 7948; \
+ case 834: return 7950; \
+ case 837: return 8072; \
+ } \
+ return 0; \
+ case 7945: \
+ switch (ch2) { \
+ case 768: return 7947; \
+ case 769: return 7949; \
+ case 834: return 7951; \
+ case 837: return 8073; \
+ } \
+ return 0; \
+ case 7946: \
+ switch (ch2) { \
+ case 837: return 8074; \
+ } \
+ return 0; \
+ case 7947: \
+ switch (ch2) { \
+ case 837: return 8075; \
+ } \
+ return 0; \
+ case 7948: \
+ switch (ch2) { \
+ case 837: return 8076; \
+ } \
+ return 0; \
+ case 7949: \
+ switch (ch2) { \
+ case 837: return 8077; \
+ } \
+ return 0; \
+ case 7950: \
+ switch (ch2) { \
+ case 837: return 8078; \
+ } \
+ return 0; \
+ case 7951: \
+ switch (ch2) { \
+ case 837: return 8079; \
+ } \
+ return 0; \
+ case 7952: \
+ switch (ch2) { \
+ case 768: return 7954; \
+ case 769: return 7956; \
+ } \
+ return 0; \
+ case 7953: \
+ switch (ch2) { \
+ case 768: return 7955; \
+ case 769: return 7957; \
+ } \
+ return 0; \
+ case 7960: \
+ switch (ch2) { \
+ case 768: return 7962; \
+ case 769: return 7964; \
+ } \
+ return 0; \
+ case 7961: \
+ switch (ch2) { \
+ case 768: return 7963; \
+ case 769: return 7965; \
+ } \
+ return 0; \
+ case 7968: \
+ switch (ch2) { \
+ case 768: return 7970; \
+ case 769: return 7972; \
+ case 834: return 7974; \
+ case 837: return 8080; \
+ } \
+ return 0; \
+ case 7969: \
+ switch (ch2) { \
+ case 768: return 7971; \
+ case 769: return 7973; \
+ case 834: return 7975; \
+ case 837: return 8081; \
+ } \
+ return 0; \
+ case 7970: \
+ switch (ch2) { \
+ case 837: return 8082; \
+ } \
+ return 0; \
+ case 7971: \
+ switch (ch2) { \
+ case 837: return 8083; \
+ } \
+ return 0; \
+ case 7972: \
+ switch (ch2) { \
+ case 837: return 8084; \
+ } \
+ return 0; \
+ case 7973: \
+ switch (ch2) { \
+ case 837: return 8085; \
+ } \
+ return 0; \
+ case 7974: \
+ switch (ch2) { \
+ case 837: return 8086; \
+ } \
+ return 0; \
+ case 7975: \
+ switch (ch2) { \
+ case 837: return 8087; \
+ } \
+ return 0; \
+ case 7976: \
+ switch (ch2) { \
+ case 768: return 7978; \
+ case 769: return 7980; \
+ case 834: return 7982; \
+ case 837: return 8088; \
+ } \
+ return 0; \
+ case 7977: \
+ switch (ch2) { \
+ case 768: return 7979; \
+ case 769: return 7981; \
+ case 834: return 7983; \
+ case 837: return 8089; \
+ } \
+ return 0; \
+ case 7978: \
+ switch (ch2) { \
+ case 837: return 8090; \
+ } \
+ return 0; \
+ case 7979: \
+ switch (ch2) { \
+ case 837: return 8091; \
+ } \
+ return 0; \
+ case 7980: \
+ switch (ch2) { \
+ case 837: return 8092; \
+ } \
+ return 0; \
+ case 7981: \
+ switch (ch2) { \
+ case 837: return 8093; \
+ } \
+ return 0; \
+ case 7982: \
+ switch (ch2) { \
+ case 837: return 8094; \
+ } \
+ return 0; \
+ case 7983: \
+ switch (ch2) { \
+ case 837: return 8095; \
+ } \
+ return 0; \
+ case 7984: \
+ switch (ch2) { \
+ case 768: return 7986; \
+ case 769: return 7988; \
+ case 834: return 7990; \
+ } \
+ return 0; \
+ case 7985: \
+ switch (ch2) { \
+ case 768: return 7987; \
+ case 769: return 7989; \
+ case 834: return 7991; \
+ } \
+ return 0; \
+ case 7992: \
+ switch (ch2) { \
+ case 768: return 7994; \
+ case 769: return 7996; \
+ case 834: return 7998; \
+ } \
+ return 0; \
+ case 7993: \
+ switch (ch2) { \
+ case 768: return 7995; \
+ case 769: return 7997; \
+ case 834: return 7999; \
+ } \
+ return 0; \
+ case 8000: \
+ switch (ch2) { \
+ case 768: return 8002; \
+ case 769: return 8004; \
+ } \
+ return 0; \
+ case 8001: \
+ switch (ch2) { \
+ case 768: return 8003; \
+ case 769: return 8005; \
+ } \
+ return 0; \
+ case 8008: \
+ switch (ch2) { \
+ case 768: return 8010; \
+ case 769: return 8012; \
+ } \
+ return 0; \
+ case 8009: \
+ switch (ch2) { \
+ case 768: return 8011; \
+ case 769: return 8013; \
+ } \
+ return 0; \
+ case 8016: \
+ switch (ch2) { \
+ case 768: return 8018; \
+ case 769: return 8020; \
+ case 834: return 8022; \
+ } \
+ return 0; \
+ case 8017: \
+ switch (ch2) { \
+ case 768: return 8019; \
+ case 769: return 8021; \
+ case 834: return 8023; \
+ } \
+ return 0; \
+ case 8025: \
+ switch (ch2) { \
+ case 768: return 8027; \
+ case 769: return 8029; \
+ case 834: return 8031; \
+ } \
+ return 0; \
+ case 8032: \
+ switch (ch2) { \
+ case 768: return 8034; \
+ case 769: return 8036; \
+ case 834: return 8038; \
+ case 837: return 8096; \
+ } \
+ return 0; \
+ case 8033: \
+ switch (ch2) { \
+ case 768: return 8035; \
+ case 769: return 8037; \
+ case 834: return 8039; \
+ case 837: return 8097; \
+ } \
+ return 0; \
+ case 8034: \
+ switch (ch2) { \
+ case 837: return 8098; \
+ } \
+ return 0; \
+ case 8035: \
+ switch (ch2) { \
+ case 837: return 8099; \
+ } \
+ return 0; \
+ case 8036: \
+ switch (ch2) { \
+ case 837: return 8100; \
+ } \
+ return 0; \
+ case 8037: \
+ switch (ch2) { \
+ case 837: return 8101; \
+ } \
+ return 0; \
+ case 8038: \
+ switch (ch2) { \
+ case 837: return 8102; \
+ } \
+ return 0; \
+ case 8039: \
+ switch (ch2) { \
+ case 837: return 8103; \
+ } \
+ return 0; \
+ case 8040: \
+ switch (ch2) { \
+ case 768: return 8042; \
+ case 769: return 8044; \
+ case 834: return 8046; \
+ case 837: return 8104; \
+ } \
+ return 0; \
+ case 8041: \
+ switch (ch2) { \
+ case 768: return 8043; \
+ case 769: return 8045; \
+ case 834: return 8047; \
+ case 837: return 8105; \
+ } \
+ return 0; \
+ case 8042: \
+ switch (ch2) { \
+ case 837: return 8106; \
+ } \
+ return 0; \
+ case 8043: \
+ switch (ch2) { \
+ case 837: return 8107; \
+ } \
+ return 0; \
+ case 8044: \
+ switch (ch2) { \
+ case 837: return 8108; \
+ } \
+ return 0; \
+ case 8045: \
+ switch (ch2) { \
+ case 837: return 8109; \
+ } \
+ return 0; \
+ case 8046: \
+ switch (ch2) { \
+ case 837: return 8110; \
+ } \
+ return 0; \
+ case 8047: \
+ switch (ch2) { \
+ case 837: return 8111; \
+ } \
+ return 0; \
+ case 8048: \
+ switch (ch2) { \
+ case 837: return 8114; \
+ } \
+ return 0; \
+ case 8052: \
+ switch (ch2) { \
+ case 837: return 8130; \
+ } \
+ return 0; \
+ case 8060: \
+ switch (ch2) { \
+ case 837: return 8178; \
+ } \
+ return 0; \
+ case 8118: \
+ switch (ch2) { \
+ case 837: return 8119; \
+ } \
+ return 0; \
+ case 8127: \
+ switch (ch2) { \
+ case 768: return 8141; \
+ case 769: return 8142; \
+ case 834: return 8143; \
+ } \
+ return 0; \
+ case 8134: \
+ switch (ch2) { \
+ case 837: return 8135; \
+ } \
+ return 0; \
+ case 8182: \
+ switch (ch2) { \
+ case 837: return 8183; \
+ } \
+ return 0; \
+ case 8190: \
+ switch (ch2) { \
+ case 768: return 8157; \
+ case 769: return 8158; \
+ case 834: return 8159; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 33: \
+ switch (ch1) { \
+ case 8592: \
+ switch (ch2) { \
+ case 824: return 8602; \
+ } \
+ return 0; \
+ case 8594: \
+ switch (ch2) { \
+ case 824: return 8603; \
+ } \
+ return 0; \
+ case 8596: \
+ switch (ch2) { \
+ case 824: return 8622; \
+ } \
+ return 0; \
+ case 8656: \
+ switch (ch2) { \
+ case 824: return 8653; \
+ } \
+ return 0; \
+ case 8658: \
+ switch (ch2) { \
+ case 824: return 8655; \
+ } \
+ return 0; \
+ case 8660: \
+ switch (ch2) { \
+ case 824: return 8654; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 34: \
+ switch (ch1) { \
+ case 8707: \
+ switch (ch2) { \
+ case 824: return 8708; \
+ } \
+ return 0; \
+ case 8712: \
+ switch (ch2) { \
+ case 824: return 8713; \
+ } \
+ return 0; \
+ case 8715: \
+ switch (ch2) { \
+ case 824: return 8716; \
+ } \
+ return 0; \
+ case 8739: \
+ switch (ch2) { \
+ case 824: return 8740; \
+ } \
+ return 0; \
+ case 8741: \
+ switch (ch2) { \
+ case 824: return 8742; \
+ } \
+ return 0; \
+ case 8764: \
+ switch (ch2) { \
+ case 824: return 8769; \
+ } \
+ return 0; \
+ case 8771: \
+ switch (ch2) { \
+ case 824: return 8772; \
+ } \
+ return 0; \
+ case 8773: \
+ switch (ch2) { \
+ case 824: return 8775; \
+ } \
+ return 0; \
+ case 8776: \
+ switch (ch2) { \
+ case 824: return 8777; \
+ } \
+ return 0; \
+ case 8781: \
+ switch (ch2) { \
+ case 824: return 8813; \
+ } \
+ return 0; \
+ case 8801: \
+ switch (ch2) { \
+ case 824: return 8802; \
+ } \
+ return 0; \
+ case 8804: \
+ switch (ch2) { \
+ case 824: return 8816; \
+ } \
+ return 0; \
+ case 8805: \
+ switch (ch2) { \
+ case 824: return 8817; \
+ } \
+ return 0; \
+ case 8818: \
+ switch (ch2) { \
+ case 824: return 8820; \
+ } \
+ return 0; \
+ case 8819: \
+ switch (ch2) { \
+ case 824: return 8821; \
+ } \
+ return 0; \
+ case 8822: \
+ switch (ch2) { \
+ case 824: return 8824; \
+ } \
+ return 0; \
+ case 8823: \
+ switch (ch2) { \
+ case 824: return 8825; \
+ } \
+ return 0; \
+ case 8826: \
+ switch (ch2) { \
+ case 824: return 8832; \
+ } \
+ return 0; \
+ case 8827: \
+ switch (ch2) { \
+ case 824: return 8833; \
+ } \
+ return 0; \
+ case 8828: \
+ switch (ch2) { \
+ case 824: return 8928; \
+ } \
+ return 0; \
+ case 8829: \
+ switch (ch2) { \
+ case 824: return 8929; \
+ } \
+ return 0; \
+ case 8834: \
+ switch (ch2) { \
+ case 824: return 8836; \
+ } \
+ return 0; \
+ case 8835: \
+ switch (ch2) { \
+ case 824: return 8837; \
+ } \
+ return 0; \
+ case 8838: \
+ switch (ch2) { \
+ case 824: return 8840; \
+ } \
+ return 0; \
+ case 8839: \
+ switch (ch2) { \
+ case 824: return 8841; \
+ } \
+ return 0; \
+ case 8849: \
+ switch (ch2) { \
+ case 824: return 8930; \
+ } \
+ return 0; \
+ case 8850: \
+ switch (ch2) { \
+ case 824: return 8931; \
+ } \
+ return 0; \
+ case 8866: \
+ switch (ch2) { \
+ case 824: return 8876; \
+ } \
+ return 0; \
+ case 8872: \
+ switch (ch2) { \
+ case 824: return 8877; \
+ } \
+ return 0; \
+ case 8873: \
+ switch (ch2) { \
+ case 824: return 8878; \
+ } \
+ return 0; \
+ case 8875: \
+ switch (ch2) { \
+ case 824: return 8879; \
+ } \
+ return 0; \
+ case 8882: \
+ switch (ch2) { \
+ case 824: return 8938; \
+ } \
+ return 0; \
+ case 8883: \
+ switch (ch2) { \
+ case 824: return 8939; \
+ } \
+ return 0; \
+ case 8884: \
+ switch (ch2) { \
+ case 824: return 8940; \
+ } \
+ return 0; \
+ case 8885: \
+ switch (ch2) { \
+ case 824: return 8941; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 42: \
+ switch (ch1) { \
+ case 10973: \
+ switch (ch2) { \
+ case 824: return 10972; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 48: \
+ switch (ch1) { \
+ case 12358: \
+ switch (ch2) { \
+ case 12441: return 12436; \
+ } \
+ return 0; \
+ case 12363: \
+ switch (ch2) { \
+ case 12441: return 12364; \
+ } \
+ return 0; \
+ case 12365: \
+ switch (ch2) { \
+ case 12441: return 12366; \
+ } \
+ return 0; \
+ case 12367: \
+ switch (ch2) { \
+ case 12441: return 12368; \
+ } \
+ return 0; \
+ case 12369: \
+ switch (ch2) { \
+ case 12441: return 12370; \
+ } \
+ return 0; \
+ case 12371: \
+ switch (ch2) { \
+ case 12441: return 12372; \
+ } \
+ return 0; \
+ case 12373: \
+ switch (ch2) { \
+ case 12441: return 12374; \
+ } \
+ return 0; \
+ case 12375: \
+ switch (ch2) { \
+ case 12441: return 12376; \
+ } \
+ return 0; \
+ case 12377: \
+ switch (ch2) { \
+ case 12441: return 12378; \
+ } \
+ return 0; \
+ case 12379: \
+ switch (ch2) { \
+ case 12441: return 12380; \
+ } \
+ return 0; \
+ case 12381: \
+ switch (ch2) { \
+ case 12441: return 12382; \
+ } \
+ return 0; \
+ case 12383: \
+ switch (ch2) { \
+ case 12441: return 12384; \
+ } \
+ return 0; \
+ case 12385: \
+ switch (ch2) { \
+ case 12441: return 12386; \
+ } \
+ return 0; \
+ case 12388: \
+ switch (ch2) { \
+ case 12441: return 12389; \
+ } \
+ return 0; \
+ case 12390: \
+ switch (ch2) { \
+ case 12441: return 12391; \
+ } \
+ return 0; \
+ case 12392: \
+ switch (ch2) { \
+ case 12441: return 12393; \
+ } \
+ return 0; \
+ case 12399: \
+ switch (ch2) { \
+ case 12441: return 12400; \
+ case 12442: return 12401; \
+ } \
+ return 0; \
+ case 12402: \
+ switch (ch2) { \
+ case 12441: return 12403; \
+ case 12442: return 12404; \
+ } \
+ return 0; \
+ case 12405: \
+ switch (ch2) { \
+ case 12441: return 12406; \
+ case 12442: return 12407; \
+ } \
+ return 0; \
+ case 12408: \
+ switch (ch2) { \
+ case 12441: return 12409; \
+ case 12442: return 12410; \
+ } \
+ return 0; \
+ case 12411: \
+ switch (ch2) { \
+ case 12441: return 12412; \
+ case 12442: return 12413; \
+ } \
+ return 0; \
+ case 12445: \
+ switch (ch2) { \
+ case 12441: return 12446; \
+ } \
+ return 0; \
+ case 12454: \
+ switch (ch2) { \
+ case 12441: return 12532; \
+ } \
+ return 0; \
+ case 12459: \
+ switch (ch2) { \
+ case 12441: return 12460; \
+ } \
+ return 0; \
+ case 12461: \
+ switch (ch2) { \
+ case 12441: return 12462; \
+ } \
+ return 0; \
+ case 12463: \
+ switch (ch2) { \
+ case 12441: return 12464; \
+ } \
+ return 0; \
+ case 12465: \
+ switch (ch2) { \
+ case 12441: return 12466; \
+ } \
+ return 0; \
+ case 12467: \
+ switch (ch2) { \
+ case 12441: return 12468; \
+ } \
+ return 0; \
+ case 12469: \
+ switch (ch2) { \
+ case 12441: return 12470; \
+ } \
+ return 0; \
+ case 12471: \
+ switch (ch2) { \
+ case 12441: return 12472; \
+ } \
+ return 0; \
+ case 12473: \
+ switch (ch2) { \
+ case 12441: return 12474; \
+ } \
+ return 0; \
+ case 12475: \
+ switch (ch2) { \
+ case 12441: return 12476; \
+ } \
+ return 0; \
+ case 12477: \
+ switch (ch2) { \
+ case 12441: return 12478; \
+ } \
+ return 0; \
+ case 12479: \
+ switch (ch2) { \
+ case 12441: return 12480; \
+ } \
+ return 0; \
+ case 12481: \
+ switch (ch2) { \
+ case 12441: return 12482; \
+ } \
+ return 0; \
+ case 12484: \
+ switch (ch2) { \
+ case 12441: return 12485; \
+ } \
+ return 0; \
+ case 12486: \
+ switch (ch2) { \
+ case 12441: return 12487; \
+ } \
+ return 0; \
+ case 12488: \
+ switch (ch2) { \
+ case 12441: return 12489; \
+ } \
+ return 0; \
+ case 12495: \
+ switch (ch2) { \
+ case 12441: return 12496; \
+ case 12442: return 12497; \
+ } \
+ return 0; \
+ case 12498: \
+ switch (ch2) { \
+ case 12441: return 12499; \
+ case 12442: return 12500; \
+ } \
+ return 0; \
+ case 12501: \
+ switch (ch2) { \
+ case 12441: return 12502; \
+ case 12442: return 12503; \
+ } \
+ return 0; \
+ case 12504: \
+ switch (ch2) { \
+ case 12441: return 12505; \
+ case 12442: return 12506; \
+ } \
+ return 0; \
+ case 12507: \
+ switch (ch2) { \
+ case 12441: return 12508; \
+ case 12442: return 12509; \
+ } \
+ return 0; \
+ case 12527: \
+ switch (ch2) { \
+ case 12441: return 12535; \
+ } \
+ return 0; \
+ case 12528: \
+ switch (ch2) { \
+ case 12441: return 12536; \
+ } \
+ return 0; \
+ case 12529: \
+ switch (ch2) { \
+ case 12441: return 12537; \
+ } \
+ return 0; \
+ case 12530: \
+ switch (ch2) { \
+ case 12441: return 12538; \
+ } \
+ return 0; \
+ case 12541: \
+ switch (ch2) { \
+ case 12441: return 12542; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 251: \
+ switch (ch1) { \
+ case 64329: \
+ switch (ch2) { \
+ case 1473: return 64300; \
+ case 1474: return 64301; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ case 465: \
+ switch (ch1) { \
+ case 119127: \
+ switch (ch2) { \
+ case 119141: return 119134; \
+ } \
+ return 0; \
+ case 119128: \
+ switch (ch2) { \
+ case 119141: return 119135; \
+ } \
+ return 0; \
+ case 119135: \
+ switch (ch2) { \
+ case 119150: return 119136; \
+ case 119151: return 119137; \
+ case 119152: return 119138; \
+ case 119153: return 119139; \
+ case 119154: return 119140; \
+ } \
+ return 0; \
+ case 119225: \
+ switch (ch2) { \
+ case 119141: return 119227; \
+ } \
+ return 0; \
+ case 119226: \
+ switch (ch2) { \
+ case 119141: return 119228; \
+ } \
+ return 0; \
+ case 119227: \
+ switch (ch2) { \
+ case 119150: return 119229; \
+ case 119151: return 119231; \
+ } \
+ return 0; \
+ case 119228: \
+ switch (ch2) { \
+ case 119150: return 119230; \
+ case 119151: return 119232; \
+ } \
+ return 0; \
+ } \
+ return 0; \
+ } \
+ return 0;
glui32 unigen_decomp_data[3247] = {
0x41, 0x300, 0x41, 0x301, 0x41, 0x302, 0x41, 0x303,
@@ -7587,7 +7587,8 @@ glui32 unigen_decomp_data[3247] = {
0x980b, 0x9829, 0x295b6, 0x98e2, 0x4b33, 0x9929, 0x99a7, 0x99c2,
0x99fe, 0x4bce, 0x29b30, 0x9b12, 0x9c40, 0x9cfd, 0x4cce, 0x4ced,
0x9d67, 0x2a0ce, 0x4cf8, 0x2a105, 0x2a20e, 0x2a291, 0x9ebb, 0x4d56,
- 0x9ef9, 0x9efe, 0x9f05, 0x9f0f, 0x9f16, 0x9f3b, 0x2a600, };
+ 0x9ef9, 0x9efe, 0x9f05, 0x9f0f, 0x9f16, 0x9f3b, 0x2a600,
+};
gli_decomp_block_t unigen_decomp_block_0x0[256] = {
{ 0, 0 },
@@ -11475,351 +11476,351 @@ gli_decomp_block_t unigen_decomp_block_0x2fa[256] = {
};
#define GET_DECOMP_BLOCK(ch, blockptr) \
-switch ((glui32)(ch) >> 8) { \
- case 0x0: \
- *blockptr = unigen_decomp_block_0x0; \
- break; \
- case 0x1: \
- *blockptr = unigen_decomp_block_0x1; \
- break; \
- case 0x2: \
- *blockptr = unigen_decomp_block_0x2; \
- break; \
- case 0x3: \
- *blockptr = unigen_decomp_block_0x3; \
- break; \
- case 0x4: \
- *blockptr = unigen_decomp_block_0x4; \
- break; \
- case 0x1e: \
- *blockptr = unigen_decomp_block_0x1e; \
- break; \
- case 0x1f: \
- *blockptr = unigen_decomp_block_0x1f; \
- break; \
- case 0x22: \
- *blockptr = unigen_decomp_block_0x22; \
- break; \
- case 0x30: \
- *blockptr = unigen_decomp_block_0x30; \
- break; \
- case 0xf9: \
- *blockptr = unigen_decomp_block_0xf9; \
- break; \
- case 0xfa: \
- *blockptr = unigen_decomp_block_0xfa; \
- break; \
- case 0xfb: \
- *blockptr = unigen_decomp_block_0xfb; \
- break; \
- case 0x2f8: \
- *blockptr = unigen_decomp_block_0x2f8; \
- break; \
- case 0x2f9: \
- *blockptr = unigen_decomp_block_0x2f9; \
- break; \
- case 0x2fa: \
- *blockptr = unigen_decomp_block_0x2fa; \
- break; \
- default: \
- *blockptr = nullptr; \
-}
+ switch ((glui32)(ch) >> 8) { \
+ case 0x0: \
+ *blockptr = unigen_decomp_block_0x0; \
+ break; \
+ case 0x1: \
+ *blockptr = unigen_decomp_block_0x1; \
+ break; \
+ case 0x2: \
+ *blockptr = unigen_decomp_block_0x2; \
+ break; \
+ case 0x3: \
+ *blockptr = unigen_decomp_block_0x3; \
+ break; \
+ case 0x4: \
+ *blockptr = unigen_decomp_block_0x4; \
+ break; \
+ case 0x1e: \
+ *blockptr = unigen_decomp_block_0x1e; \
+ break; \
+ case 0x1f: \
+ *blockptr = unigen_decomp_block_0x1f; \
+ break; \
+ case 0x22: \
+ *blockptr = unigen_decomp_block_0x22; \
+ break; \
+ case 0x30: \
+ *blockptr = unigen_decomp_block_0x30; \
+ break; \
+ case 0xf9: \
+ *blockptr = unigen_decomp_block_0xf9; \
+ break; \
+ case 0xfa: \
+ *blockptr = unigen_decomp_block_0xfa; \
+ break; \
+ case 0xfb: \
+ *blockptr = unigen_decomp_block_0xfb; \
+ break; \
+ case 0x2f8: \
+ *blockptr = unigen_decomp_block_0x2f8; \
+ break; \
+ case 0x2f9: \
+ *blockptr = unigen_decomp_block_0x2f9; \
+ break; \
+ case 0x2fa: \
+ *blockptr = unigen_decomp_block_0x2fa; \
+ break; \
+ default: \
+ *blockptr = nullptr; \
+ }
#define GET_DECOMP_SPECIAL(ch, countptr, posptr) \
-switch (ch) { \
- case 0x622: \
- *countptr = 2; *posptr = 686; \
- break; \
- case 0x623: \
- *countptr = 2; *posptr = 688; \
- break; \
- case 0x624: \
- *countptr = 2; *posptr = 690; \
- break; \
- case 0x625: \
- *countptr = 2; *posptr = 692; \
- break; \
- case 0x626: \
- *countptr = 2; *posptr = 694; \
- break; \
- case 0x6c0: \
- *countptr = 2; *posptr = 696; \
- break; \
- case 0x6c2: \
- *countptr = 2; *posptr = 698; \
- break; \
- case 0x6d3: \
- *countptr = 2; *posptr = 700; \
- break; \
- case 0x929: \
- *countptr = 2; *posptr = 702; \
- break; \
- case 0x931: \
- *countptr = 2; *posptr = 704; \
- break; \
- case 0x934: \
- *countptr = 2; *posptr = 706; \
- break; \
- case 0x958: \
- *countptr = 2; *posptr = 708; \
- break; \
- case 0x959: \
- *countptr = 2; *posptr = 710; \
- break; \
- case 0x95a: \
- *countptr = 2; *posptr = 712; \
- break; \
- case 0x95b: \
- *countptr = 2; *posptr = 714; \
- break; \
- case 0x95c: \
- *countptr = 2; *posptr = 716; \
- break; \
- case 0x95d: \
- *countptr = 2; *posptr = 718; \
- break; \
- case 0x95e: \
- *countptr = 2; *posptr = 720; \
- break; \
- case 0x95f: \
- *countptr = 2; *posptr = 722; \
- break; \
- case 0x9cb: \
- *countptr = 2; *posptr = 724; \
- break; \
- case 0x9cc: \
- *countptr = 2; *posptr = 726; \
- break; \
- case 0x9dc: \
- *countptr = 2; *posptr = 728; \
- break; \
- case 0x9dd: \
- *countptr = 2; *posptr = 730; \
- break; \
- case 0x9df: \
- *countptr = 2; *posptr = 732; \
- break; \
- case 0xa33: \
- *countptr = 2; *posptr = 734; \
- break; \
- case 0xa36: \
- *countptr = 2; *posptr = 736; \
- break; \
- case 0xa59: \
- *countptr = 2; *posptr = 738; \
- break; \
- case 0xa5a: \
- *countptr = 2; *posptr = 740; \
- break; \
- case 0xa5b: \
- *countptr = 2; *posptr = 742; \
- break; \
- case 0xa5e: \
- *countptr = 2; *posptr = 744; \
- break; \
- case 0xb48: \
- *countptr = 2; *posptr = 746; \
- break; \
- case 0xb4b: \
- *countptr = 2; *posptr = 748; \
- break; \
- case 0xb4c: \
- *countptr = 2; *posptr = 750; \
- break; \
- case 0xb5c: \
- *countptr = 2; *posptr = 752; \
- break; \
- case 0xb5d: \
- *countptr = 2; *posptr = 754; \
- break; \
- case 0xb94: \
- *countptr = 2; *posptr = 756; \
- break; \
- case 0xbca: \
- *countptr = 2; *posptr = 758; \
- break; \
- case 0xbcb: \
- *countptr = 2; *posptr = 760; \
- break; \
- case 0xbcc: \
- *countptr = 2; *posptr = 762; \
- break; \
- case 0xc48: \
- *countptr = 2; *posptr = 764; \
- break; \
- case 0xcc0: \
- *countptr = 2; *posptr = 766; \
- break; \
- case 0xcc7: \
- *countptr = 2; *posptr = 768; \
- break; \
- case 0xcc8: \
- *countptr = 2; *posptr = 770; \
- break; \
- case 0xcca: \
- *countptr = 2; *posptr = 772; \
- break; \
- case 0xccb: \
- *countptr = 3; *posptr = 774; \
- break; \
- case 0xd4a: \
- *countptr = 2; *posptr = 777; \
- break; \
- case 0xd4b: \
- *countptr = 2; *posptr = 779; \
- break; \
- case 0xd4c: \
- *countptr = 2; *posptr = 781; \
- break; \
- case 0xdda: \
- *countptr = 2; *posptr = 783; \
- break; \
- case 0xddc: \
- *countptr = 2; *posptr = 785; \
- break; \
- case 0xddd: \
- *countptr = 3; *posptr = 787; \
- break; \
- case 0xdde: \
- *countptr = 2; *posptr = 790; \
- break; \
- case 0xf43: \
- *countptr = 2; *posptr = 792; \
- break; \
- case 0xf4d: \
- *countptr = 2; *posptr = 794; \
- break; \
- case 0xf52: \
- *countptr = 2; *posptr = 796; \
- break; \
- case 0xf57: \
- *countptr = 2; *posptr = 798; \
- break; \
- case 0xf5c: \
- *countptr = 2; *posptr = 800; \
- break; \
- case 0xf69: \
- *countptr = 2; *posptr = 802; \
- break; \
- case 0xf73: \
- *countptr = 2; *posptr = 804; \
- break; \
- case 0xf75: \
- *countptr = 2; *posptr = 806; \
- break; \
- case 0xf76: \
- *countptr = 2; *posptr = 808; \
- break; \
- case 0xf78: \
- *countptr = 2; *posptr = 810; \
- break; \
- case 0xf81: \
- *countptr = 2; *posptr = 812; \
- break; \
- case 0xf93: \
- *countptr = 2; *posptr = 814; \
- break; \
- case 0xf9d: \
- *countptr = 2; *posptr = 816; \
- break; \
- case 0xfa2: \
- *countptr = 2; *posptr = 818; \
- break; \
- case 0xfa7: \
- *countptr = 2; *posptr = 820; \
- break; \
- case 0xfac: \
- *countptr = 2; *posptr = 822; \
- break; \
- case 0xfb9: \
- *countptr = 2; *posptr = 824; \
- break; \
- case 0x1026: \
- *countptr = 2; *posptr = 826; \
- break; \
- case 0x2000: \
- *countptr = 1; *posptr = 2037; \
- break; \
- case 0x2001: \
- *countptr = 1; *posptr = 2038; \
- break; \
- case 0x2126: \
- *countptr = 1; *posptr = 2039; \
- break; \
- case 0x212a: \
- *countptr = 1; *posptr = 2040; \
- break; \
- case 0x212b: \
- *countptr = 2; *posptr = 2041; \
- break; \
- case 0x219a: \
- *countptr = 2; *posptr = 2043; \
- break; \
- case 0x219b: \
- *countptr = 2; *posptr = 2045; \
- break; \
- case 0x21ae: \
- *countptr = 2; *posptr = 2047; \
- break; \
- case 0x21cd: \
- *countptr = 2; *posptr = 2049; \
- break; \
- case 0x21ce: \
- *countptr = 2; *posptr = 2051; \
- break; \
- case 0x21cf: \
- *countptr = 2; *posptr = 2053; \
- break; \
- case 0x2329: \
- *countptr = 1; *posptr = 2131; \
- break; \
- case 0x232a: \
- *countptr = 1; *posptr = 2132; \
- break; \
- case 0x2adc: \
- *countptr = 2; *posptr = 2133; \
- break; \
- case 0x1d15e: \
- *countptr = 2; *posptr = 2670; \
- break; \
- case 0x1d15f: \
- *countptr = 2; *posptr = 2672; \
- break; \
- case 0x1d160: \
- *countptr = 3; *posptr = 2674; \
- break; \
- case 0x1d161: \
- *countptr = 3; *posptr = 2677; \
- break; \
- case 0x1d162: \
- *countptr = 3; *posptr = 2680; \
- break; \
- case 0x1d163: \
- *countptr = 3; *posptr = 2683; \
- break; \
- case 0x1d164: \
- *countptr = 3; *posptr = 2686; \
- break; \
- case 0x1d1bb: \
- *countptr = 2; *posptr = 2689; \
- break; \
- case 0x1d1bc: \
- *countptr = 2; *posptr = 2691; \
- break; \
- case 0x1d1bd: \
- *countptr = 3; *posptr = 2693; \
- break; \
- case 0x1d1be: \
- *countptr = 3; *posptr = 2696; \
- break; \
- case 0x1d1bf: \
- *countptr = 3; *posptr = 2699; \
- break; \
- case 0x1d1c0: \
- *countptr = 3; *posptr = 2702; \
- break; \
- default: \
- *countptr = 0; \
-}
+ switch (ch) { \
+ case 0x622: \
+ *countptr = 2; *posptr = 686; \
+ break; \
+ case 0x623: \
+ *countptr = 2; *posptr = 688; \
+ break; \
+ case 0x624: \
+ *countptr = 2; *posptr = 690; \
+ break; \
+ case 0x625: \
+ *countptr = 2; *posptr = 692; \
+ break; \
+ case 0x626: \
+ *countptr = 2; *posptr = 694; \
+ break; \
+ case 0x6c0: \
+ *countptr = 2; *posptr = 696; \
+ break; \
+ case 0x6c2: \
+ *countptr = 2; *posptr = 698; \
+ break; \
+ case 0x6d3: \
+ *countptr = 2; *posptr = 700; \
+ break; \
+ case 0x929: \
+ *countptr = 2; *posptr = 702; \
+ break; \
+ case 0x931: \
+ *countptr = 2; *posptr = 704; \
+ break; \
+ case 0x934: \
+ *countptr = 2; *posptr = 706; \
+ break; \
+ case 0x958: \
+ *countptr = 2; *posptr = 708; \
+ break; \
+ case 0x959: \
+ *countptr = 2; *posptr = 710; \
+ break; \
+ case 0x95a: \
+ *countptr = 2; *posptr = 712; \
+ break; \
+ case 0x95b: \
+ *countptr = 2; *posptr = 714; \
+ break; \
+ case 0x95c: \
+ *countptr = 2; *posptr = 716; \
+ break; \
+ case 0x95d: \
+ *countptr = 2; *posptr = 718; \
+ break; \
+ case 0x95e: \
+ *countptr = 2; *posptr = 720; \
+ break; \
+ case 0x95f: \
+ *countptr = 2; *posptr = 722; \
+ break; \
+ case 0x9cb: \
+ *countptr = 2; *posptr = 724; \
+ break; \
+ case 0x9cc: \
+ *countptr = 2; *posptr = 726; \
+ break; \
+ case 0x9dc: \
+ *countptr = 2; *posptr = 728; \
+ break; \
+ case 0x9dd: \
+ *countptr = 2; *posptr = 730; \
+ break; \
+ case 0x9df: \
+ *countptr = 2; *posptr = 732; \
+ break; \
+ case 0xa33: \
+ *countptr = 2; *posptr = 734; \
+ break; \
+ case 0xa36: \
+ *countptr = 2; *posptr = 736; \
+ break; \
+ case 0xa59: \
+ *countptr = 2; *posptr = 738; \
+ break; \
+ case 0xa5a: \
+ *countptr = 2; *posptr = 740; \
+ break; \
+ case 0xa5b: \
+ *countptr = 2; *posptr = 742; \
+ break; \
+ case 0xa5e: \
+ *countptr = 2; *posptr = 744; \
+ break; \
+ case 0xb48: \
+ *countptr = 2; *posptr = 746; \
+ break; \
+ case 0xb4b: \
+ *countptr = 2; *posptr = 748; \
+ break; \
+ case 0xb4c: \
+ *countptr = 2; *posptr = 750; \
+ break; \
+ case 0xb5c: \
+ *countptr = 2; *posptr = 752; \
+ break; \
+ case 0xb5d: \
+ *countptr = 2; *posptr = 754; \
+ break; \
+ case 0xb94: \
+ *countptr = 2; *posptr = 756; \
+ break; \
+ case 0xbca: \
+ *countptr = 2; *posptr = 758; \
+ break; \
+ case 0xbcb: \
+ *countptr = 2; *posptr = 760; \
+ break; \
+ case 0xbcc: \
+ *countptr = 2; *posptr = 762; \
+ break; \
+ case 0xc48: \
+ *countptr = 2; *posptr = 764; \
+ break; \
+ case 0xcc0: \
+ *countptr = 2; *posptr = 766; \
+ break; \
+ case 0xcc7: \
+ *countptr = 2; *posptr = 768; \
+ break; \
+ case 0xcc8: \
+ *countptr = 2; *posptr = 770; \
+ break; \
+ case 0xcca: \
+ *countptr = 2; *posptr = 772; \
+ break; \
+ case 0xccb: \
+ *countptr = 3; *posptr = 774; \
+ break; \
+ case 0xd4a: \
+ *countptr = 2; *posptr = 777; \
+ break; \
+ case 0xd4b: \
+ *countptr = 2; *posptr = 779; \
+ break; \
+ case 0xd4c: \
+ *countptr = 2; *posptr = 781; \
+ break; \
+ case 0xdda: \
+ *countptr = 2; *posptr = 783; \
+ break; \
+ case 0xddc: \
+ *countptr = 2; *posptr = 785; \
+ break; \
+ case 0xddd: \
+ *countptr = 3; *posptr = 787; \
+ break; \
+ case 0xdde: \
+ *countptr = 2; *posptr = 790; \
+ break; \
+ case 0xf43: \
+ *countptr = 2; *posptr = 792; \
+ break; \
+ case 0xf4d: \
+ *countptr = 2; *posptr = 794; \
+ break; \
+ case 0xf52: \
+ *countptr = 2; *posptr = 796; \
+ break; \
+ case 0xf57: \
+ *countptr = 2; *posptr = 798; \
+ break; \
+ case 0xf5c: \
+ *countptr = 2; *posptr = 800; \
+ break; \
+ case 0xf69: \
+ *countptr = 2; *posptr = 802; \
+ break; \
+ case 0xf73: \
+ *countptr = 2; *posptr = 804; \
+ break; \
+ case 0xf75: \
+ *countptr = 2; *posptr = 806; \
+ break; \
+ case 0xf76: \
+ *countptr = 2; *posptr = 808; \
+ break; \
+ case 0xf78: \
+ *countptr = 2; *posptr = 810; \
+ break; \
+ case 0xf81: \
+ *countptr = 2; *posptr = 812; \
+ break; \
+ case 0xf93: \
+ *countptr = 2; *posptr = 814; \
+ break; \
+ case 0xf9d: \
+ *countptr = 2; *posptr = 816; \
+ break; \
+ case 0xfa2: \
+ *countptr = 2; *posptr = 818; \
+ break; \
+ case 0xfa7: \
+ *countptr = 2; *posptr = 820; \
+ break; \
+ case 0xfac: \
+ *countptr = 2; *posptr = 822; \
+ break; \
+ case 0xfb9: \
+ *countptr = 2; *posptr = 824; \
+ break; \
+ case 0x1026: \
+ *countptr = 2; *posptr = 826; \
+ break; \
+ case 0x2000: \
+ *countptr = 1; *posptr = 2037; \
+ break; \
+ case 0x2001: \
+ *countptr = 1; *posptr = 2038; \
+ break; \
+ case 0x2126: \
+ *countptr = 1; *posptr = 2039; \
+ break; \
+ case 0x212a: \
+ *countptr = 1; *posptr = 2040; \
+ break; \
+ case 0x212b: \
+ *countptr = 2; *posptr = 2041; \
+ break; \
+ case 0x219a: \
+ *countptr = 2; *posptr = 2043; \
+ break; \
+ case 0x219b: \
+ *countptr = 2; *posptr = 2045; \
+ break; \
+ case 0x21ae: \
+ *countptr = 2; *posptr = 2047; \
+ break; \
+ case 0x21cd: \
+ *countptr = 2; *posptr = 2049; \
+ break; \
+ case 0x21ce: \
+ *countptr = 2; *posptr = 2051; \
+ break; \
+ case 0x21cf: \
+ *countptr = 2; *posptr = 2053; \
+ break; \
+ case 0x2329: \
+ *countptr = 1; *posptr = 2131; \
+ break; \
+ case 0x232a: \
+ *countptr = 1; *posptr = 2132; \
+ break; \
+ case 0x2adc: \
+ *countptr = 2; *posptr = 2133; \
+ break; \
+ case 0x1d15e: \
+ *countptr = 2; *posptr = 2670; \
+ break; \
+ case 0x1d15f: \
+ *countptr = 2; *posptr = 2672; \
+ break; \
+ case 0x1d160: \
+ *countptr = 3; *posptr = 2674; \
+ break; \
+ case 0x1d161: \
+ *countptr = 3; *posptr = 2677; \
+ break; \
+ case 0x1d162: \
+ *countptr = 3; *posptr = 2680; \
+ break; \
+ case 0x1d163: \
+ *countptr = 3; *posptr = 2683; \
+ break; \
+ case 0x1d164: \
+ *countptr = 3; *posptr = 2686; \
+ break; \
+ case 0x1d1bb: \
+ *countptr = 2; *posptr = 2689; \
+ break; \
+ case 0x1d1bc: \
+ *countptr = 2; *posptr = 2691; \
+ break; \
+ case 0x1d1bd: \
+ *countptr = 3; *posptr = 2693; \
+ break; \
+ case 0x1d1be: \
+ *countptr = 3; *posptr = 2696; \
+ break; \
+ case 0x1d1bf: \
+ *countptr = 3; *posptr = 2699; \
+ break; \
+ case 0x1d1c0: \
+ *countptr = 3; *posptr = 2702; \
+ break; \
+ default: \
+ *countptr = 0; \
+ }
} // End of namespace Gargoyle
diff --git a/engines/gargoyle/unicode_gen.h b/engines/gargoyle/unicode_gen.h
index 1539ec49cd..7c86e9b39f 100644
--- a/engines/gargoyle/unicode_gen.h
+++ b/engines/gargoyle/unicode_gen.h
@@ -28,400 +28,400 @@
namespace Gargoyle {
#define GET_CASE_BLOCK(ch, blockptr) \
-switch ((glui32)(ch) >> 8) { \
-case 0x0: \
- *blockptr = unigen_case_block_0x0; \
- break; \
-case 0x1: \
- *blockptr = unigen_case_block_0x1; \
- break; \
-case 0x2: \
- *blockptr = unigen_case_block_0x2; \
- break; \
-case 0x3: \
- *blockptr = unigen_case_block_0x3; \
- break; \
-case 0x4: \
- *blockptr = unigen_case_block_0x4; \
- break; \
-case 0x5: \
- *blockptr = unigen_case_block_0x5; \
- break; \
-case 0x1e: \
- *blockptr = unigen_case_block_0x1e; \
- break; \
-case 0x1f: \
- *blockptr = unigen_case_block_0x1f; \
- break; \
-case 0x21: \
- *blockptr = unigen_case_block_0x21; \
- break; \
-case 0x24: \
- *blockptr = unigen_case_block_0x24; \
- break; \
-case 0xfb: \
- *blockptr = unigen_case_block_0xfb; \
- break; \
-case 0xff: \
- *blockptr = unigen_case_block_0xff; \
- break; \
-case 0x104: \
- *blockptr = unigen_case_block_0x104; \
- break; \
-default: \
- *blockptr = nullptr; \
-}
+ switch ((glui32)(ch) >> 8) { \
+ case 0x0: \
+ *blockptr = unigen_case_block_0x0; \
+ break; \
+ case 0x1: \
+ *blockptr = unigen_case_block_0x1; \
+ break; \
+ case 0x2: \
+ *blockptr = unigen_case_block_0x2; \
+ break; \
+ case 0x3: \
+ *blockptr = unigen_case_block_0x3; \
+ break; \
+ case 0x4: \
+ *blockptr = unigen_case_block_0x4; \
+ break; \
+ case 0x5: \
+ *blockptr = unigen_case_block_0x5; \
+ break; \
+ case 0x1e: \
+ *blockptr = unigen_case_block_0x1e; \
+ break; \
+ case 0x1f: \
+ *blockptr = unigen_case_block_0x1f; \
+ break; \
+ case 0x21: \
+ *blockptr = unigen_case_block_0x21; \
+ break; \
+ case 0x24: \
+ *blockptr = unigen_case_block_0x24; \
+ break; \
+ case 0xfb: \
+ *blockptr = unigen_case_block_0xfb; \
+ break; \
+ case 0xff: \
+ *blockptr = unigen_case_block_0xff; \
+ break; \
+ case 0x104: \
+ *blockptr = unigen_case_block_0x104; \
+ break; \
+ default: \
+ *blockptr = nullptr; \
+ }
#define GET_CASE_SPECIAL(ch, specptr) \
-switch (ch) { \
-case 0xdf: \
- *specptr = unigen_special_0xdf; \
- break; \
-case 0x130: \
- *specptr = unigen_special_0x130; \
- break; \
-case 0x149: \
- *specptr = unigen_special_0x149; \
- break; \
-case 0x1c4: \
- *specptr = unigen_special_0x1c4; \
- break; \
-case 0x1c5: \
- *specptr = unigen_special_0x1c5; \
- break; \
-case 0x1c6: \
- *specptr = unigen_special_0x1c6; \
- break; \
-case 0x1c7: \
- *specptr = unigen_special_0x1c7; \
- break; \
-case 0x1c8: \
- *specptr = unigen_special_0x1c8; \
- break; \
-case 0x1c9: \
- *specptr = unigen_special_0x1c9; \
- break; \
-case 0x1ca: \
- *specptr = unigen_special_0x1ca; \
- break; \
-case 0x1cb: \
- *specptr = unigen_special_0x1cb; \
- break; \
-case 0x1cc: \
- *specptr = unigen_special_0x1cc; \
- break; \
-case 0x1f0: \
- *specptr = unigen_special_0x1f0; \
- break; \
-case 0x1f1: \
- *specptr = unigen_special_0x1f1; \
- break; \
-case 0x1f2: \
- *specptr = unigen_special_0x1f2; \
- break; \
-case 0x1f3: \
- *specptr = unigen_special_0x1f3; \
- break; \
-case 0x390: \
- *specptr = unigen_special_0x390; \
- break; \
-case 0x3b0: \
- *specptr = unigen_special_0x3b0; \
- break; \
-case 0x587: \
- *specptr = unigen_special_0x587; \
- break; \
-case 0x1e96: \
- *specptr = unigen_special_0x1e96; \
- break; \
-case 0x1e97: \
- *specptr = unigen_special_0x1e97; \
- break; \
-case 0x1e98: \
- *specptr = unigen_special_0x1e98; \
- break; \
-case 0x1e99: \
- *specptr = unigen_special_0x1e99; \
- break; \
-case 0x1e9a: \
- *specptr = unigen_special_0x1e9a; \
- break; \
-case 0x1f50: \
- *specptr = unigen_special_0x1f50; \
- break; \
-case 0x1f52: \
- *specptr = unigen_special_0x1f52; \
- break; \
-case 0x1f54: \
- *specptr = unigen_special_0x1f54; \
- break; \
-case 0x1f56: \
- *specptr = unigen_special_0x1f56; \
- break; \
-case 0x1f80: \
- *specptr = unigen_special_0x1f80; \
- break; \
-case 0x1f81: \
- *specptr = unigen_special_0x1f81; \
- break; \
-case 0x1f82: \
- *specptr = unigen_special_0x1f82; \
- break; \
-case 0x1f83: \
- *specptr = unigen_special_0x1f83; \
- break; \
-case 0x1f84: \
- *specptr = unigen_special_0x1f84; \
- break; \
-case 0x1f85: \
- *specptr = unigen_special_0x1f85; \
- break; \
-case 0x1f86: \
- *specptr = unigen_special_0x1f86; \
- break; \
-case 0x1f87: \
- *specptr = unigen_special_0x1f87; \
- break; \
-case 0x1f88: \
- *specptr = unigen_special_0x1f88; \
- break; \
-case 0x1f89: \
- *specptr = unigen_special_0x1f89; \
- break; \
-case 0x1f8a: \
- *specptr = unigen_special_0x1f8a; \
- break; \
-case 0x1f8b: \
- *specptr = unigen_special_0x1f8b; \
- break; \
-case 0x1f8c: \
- *specptr = unigen_special_0x1f8c; \
- break; \
-case 0x1f8d: \
- *specptr = unigen_special_0x1f8d; \
- break; \
-case 0x1f8e: \
- *specptr = unigen_special_0x1f8e; \
- break; \
-case 0x1f8f: \
- *specptr = unigen_special_0x1f8f; \
- break; \
-case 0x1f90: \
- *specptr = unigen_special_0x1f90; \
- break; \
-case 0x1f91: \
- *specptr = unigen_special_0x1f91; \
- break; \
-case 0x1f92: \
- *specptr = unigen_special_0x1f92; \
- break; \
-case 0x1f93: \
- *specptr = unigen_special_0x1f93; \
- break; \
-case 0x1f94: \
- *specptr = unigen_special_0x1f94; \
- break; \
-case 0x1f95: \
- *specptr = unigen_special_0x1f95; \
- break; \
-case 0x1f96: \
- *specptr = unigen_special_0x1f96; \
- break; \
-case 0x1f97: \
- *specptr = unigen_special_0x1f97; \
- break; \
-case 0x1f98: \
- *specptr = unigen_special_0x1f98; \
- break; \
-case 0x1f99: \
- *specptr = unigen_special_0x1f99; \
- break; \
-case 0x1f9a: \
- *specptr = unigen_special_0x1f9a; \
- break; \
-case 0x1f9b: \
- *specptr = unigen_special_0x1f9b; \
- break; \
-case 0x1f9c: \
- *specptr = unigen_special_0x1f9c; \
- break; \
-case 0x1f9d: \
- *specptr = unigen_special_0x1f9d; \
- break; \
-case 0x1f9e: \
- *specptr = unigen_special_0x1f9e; \
- break; \
-case 0x1f9f: \
- *specptr = unigen_special_0x1f9f; \
- break; \
-case 0x1fa0: \
- *specptr = unigen_special_0x1fa0; \
- break; \
-case 0x1fa1: \
- *specptr = unigen_special_0x1fa1; \
- break; \
-case 0x1fa2: \
- *specptr = unigen_special_0x1fa2; \
- break; \
-case 0x1fa3: \
- *specptr = unigen_special_0x1fa3; \
- break; \
-case 0x1fa4: \
- *specptr = unigen_special_0x1fa4; \
- break; \
-case 0x1fa5: \
- *specptr = unigen_special_0x1fa5; \
- break; \
-case 0x1fa6: \
- *specptr = unigen_special_0x1fa6; \
- break; \
-case 0x1fa7: \
- *specptr = unigen_special_0x1fa7; \
- break; \
-case 0x1fa8: \
- *specptr = unigen_special_0x1fa8; \
- break; \
-case 0x1fa9: \
- *specptr = unigen_special_0x1fa9; \
- break; \
-case 0x1faa: \
- *specptr = unigen_special_0x1faa; \
- break; \
-case 0x1fab: \
- *specptr = unigen_special_0x1fab; \
- break; \
-case 0x1fac: \
- *specptr = unigen_special_0x1fac; \
- break; \
-case 0x1fad: \
- *specptr = unigen_special_0x1fad; \
- break; \
-case 0x1fae: \
- *specptr = unigen_special_0x1fae; \
- break; \
-case 0x1faf: \
- *specptr = unigen_special_0x1faf; \
- break; \
-case 0x1fb2: \
- *specptr = unigen_special_0x1fb2; \
- break; \
-case 0x1fb3: \
- *specptr = unigen_special_0x1fb3; \
- break; \
-case 0x1fb4: \
- *specptr = unigen_special_0x1fb4; \
- break; \
-case 0x1fb6: \
- *specptr = unigen_special_0x1fb6; \
- break; \
-case 0x1fb7: \
- *specptr = unigen_special_0x1fb7; \
- break; \
-case 0x1fbc: \
- *specptr = unigen_special_0x1fbc; \
- break; \
-case 0x1fc2: \
- *specptr = unigen_special_0x1fc2; \
- break; \
-case 0x1fc3: \
- *specptr = unigen_special_0x1fc3; \
- break; \
-case 0x1fc4: \
- *specptr = unigen_special_0x1fc4; \
- break; \
-case 0x1fc6: \
- *specptr = unigen_special_0x1fc6; \
- break; \
-case 0x1fc7: \
- *specptr = unigen_special_0x1fc7; \
- break; \
-case 0x1fcc: \
- *specptr = unigen_special_0x1fcc; \
- break; \
-case 0x1fd2: \
- *specptr = unigen_special_0x1fd2; \
- break; \
-case 0x1fd3: \
- *specptr = unigen_special_0x1fd3; \
- break; \
-case 0x1fd6: \
- *specptr = unigen_special_0x1fd6; \
- break; \
-case 0x1fd7: \
- *specptr = unigen_special_0x1fd7; \
- break; \
-case 0x1fe2: \
- *specptr = unigen_special_0x1fe2; \
- break; \
-case 0x1fe3: \
- *specptr = unigen_special_0x1fe3; \
- break; \
-case 0x1fe4: \
- *specptr = unigen_special_0x1fe4; \
- break; \
-case 0x1fe6: \
- *specptr = unigen_special_0x1fe6; \
- break; \
-case 0x1fe7: \
- *specptr = unigen_special_0x1fe7; \
- break; \
-case 0x1ff2: \
- *specptr = unigen_special_0x1ff2; \
- break; \
-case 0x1ff3: \
- *specptr = unigen_special_0x1ff3; \
- break; \
-case 0x1ff4: \
- *specptr = unigen_special_0x1ff4; \
- break; \
-case 0x1ff6: \
- *specptr = unigen_special_0x1ff6; \
- break; \
-case 0x1ff7: \
- *specptr = unigen_special_0x1ff7; \
- break; \
-case 0x1ffc: \
- *specptr = unigen_special_0x1ffc; \
- break; \
-case 0xfb00: \
- *specptr = unigen_special_0xfb00; \
- break; \
-case 0xfb01: \
- *specptr = unigen_special_0xfb01; \
- break; \
-case 0xfb02: \
- *specptr = unigen_special_0xfb02; \
- break; \
-case 0xfb03: \
- *specptr = unigen_special_0xfb03; \
- break; \
-case 0xfb04: \
- *specptr = unigen_special_0xfb04; \
- break; \
-case 0xfb05: \
- *specptr = unigen_special_0xfb05; \
- break; \
-case 0xfb06: \
- *specptr = unigen_special_0xfb06; \
- break; \
-case 0xfb13: \
- *specptr = unigen_special_0xfb13; \
- break; \
-case 0xfb14: \
- *specptr = unigen_special_0xfb14; \
- break; \
-case 0xfb15: \
- *specptr = unigen_special_0xfb15; \
- break; \
-case 0xfb16: \
- *specptr = unigen_special_0xfb16; \
- break; \
-case 0xfb17: \
- *specptr = unigen_special_0xfb17; \
- break; \
-default: \
- *specptr = nullptr; \
-}
+ switch (ch) { \
+ case 0xdf: \
+ *specptr = unigen_special_0xdf; \
+ break; \
+ case 0x130: \
+ *specptr = unigen_special_0x130; \
+ break; \
+ case 0x149: \
+ *specptr = unigen_special_0x149; \
+ break; \
+ case 0x1c4: \
+ *specptr = unigen_special_0x1c4; \
+ break; \
+ case 0x1c5: \
+ *specptr = unigen_special_0x1c5; \
+ break; \
+ case 0x1c6: \
+ *specptr = unigen_special_0x1c6; \
+ break; \
+ case 0x1c7: \
+ *specptr = unigen_special_0x1c7; \
+ break; \
+ case 0x1c8: \
+ *specptr = unigen_special_0x1c8; \
+ break; \
+ case 0x1c9: \
+ *specptr = unigen_special_0x1c9; \
+ break; \
+ case 0x1ca: \
+ *specptr = unigen_special_0x1ca; \
+ break; \
+ case 0x1cb: \
+ *specptr = unigen_special_0x1cb; \
+ break; \
+ case 0x1cc: \
+ *specptr = unigen_special_0x1cc; \
+ break; \
+ case 0x1f0: \
+ *specptr = unigen_special_0x1f0; \
+ break; \
+ case 0x1f1: \
+ *specptr = unigen_special_0x1f1; \
+ break; \
+ case 0x1f2: \
+ *specptr = unigen_special_0x1f2; \
+ break; \
+ case 0x1f3: \
+ *specptr = unigen_special_0x1f3; \
+ break; \
+ case 0x390: \
+ *specptr = unigen_special_0x390; \
+ break; \
+ case 0x3b0: \
+ *specptr = unigen_special_0x3b0; \
+ break; \
+ case 0x587: \
+ *specptr = unigen_special_0x587; \
+ break; \
+ case 0x1e96: \
+ *specptr = unigen_special_0x1e96; \
+ break; \
+ case 0x1e97: \
+ *specptr = unigen_special_0x1e97; \
+ break; \
+ case 0x1e98: \
+ *specptr = unigen_special_0x1e98; \
+ break; \
+ case 0x1e99: \
+ *specptr = unigen_special_0x1e99; \
+ break; \
+ case 0x1e9a: \
+ *specptr = unigen_special_0x1e9a; \
+ break; \
+ case 0x1f50: \
+ *specptr = unigen_special_0x1f50; \
+ break; \
+ case 0x1f52: \
+ *specptr = unigen_special_0x1f52; \
+ break; \
+ case 0x1f54: \
+ *specptr = unigen_special_0x1f54; \
+ break; \
+ case 0x1f56: \
+ *specptr = unigen_special_0x1f56; \
+ break; \
+ case 0x1f80: \
+ *specptr = unigen_special_0x1f80; \
+ break; \
+ case 0x1f81: \
+ *specptr = unigen_special_0x1f81; \
+ break; \
+ case 0x1f82: \
+ *specptr = unigen_special_0x1f82; \
+ break; \
+ case 0x1f83: \
+ *specptr = unigen_special_0x1f83; \
+ break; \
+ case 0x1f84: \
+ *specptr = unigen_special_0x1f84; \
+ break; \
+ case 0x1f85: \
+ *specptr = unigen_special_0x1f85; \
+ break; \
+ case 0x1f86: \
+ *specptr = unigen_special_0x1f86; \
+ break; \
+ case 0x1f87: \
+ *specptr = unigen_special_0x1f87; \
+ break; \
+ case 0x1f88: \
+ *specptr = unigen_special_0x1f88; \
+ break; \
+ case 0x1f89: \
+ *specptr = unigen_special_0x1f89; \
+ break; \
+ case 0x1f8a: \
+ *specptr = unigen_special_0x1f8a; \
+ break; \
+ case 0x1f8b: \
+ *specptr = unigen_special_0x1f8b; \
+ break; \
+ case 0x1f8c: \
+ *specptr = unigen_special_0x1f8c; \
+ break; \
+ case 0x1f8d: \
+ *specptr = unigen_special_0x1f8d; \
+ break; \
+ case 0x1f8e: \
+ *specptr = unigen_special_0x1f8e; \
+ break; \
+ case 0x1f8f: \
+ *specptr = unigen_special_0x1f8f; \
+ break; \
+ case 0x1f90: \
+ *specptr = unigen_special_0x1f90; \
+ break; \
+ case 0x1f91: \
+ *specptr = unigen_special_0x1f91; \
+ break; \
+ case 0x1f92: \
+ *specptr = unigen_special_0x1f92; \
+ break; \
+ case 0x1f93: \
+ *specptr = unigen_special_0x1f93; \
+ break; \
+ case 0x1f94: \
+ *specptr = unigen_special_0x1f94; \
+ break; \
+ case 0x1f95: \
+ *specptr = unigen_special_0x1f95; \
+ break; \
+ case 0x1f96: \
+ *specptr = unigen_special_0x1f96; \
+ break; \
+ case 0x1f97: \
+ *specptr = unigen_special_0x1f97; \
+ break; \
+ case 0x1f98: \
+ *specptr = unigen_special_0x1f98; \
+ break; \
+ case 0x1f99: \
+ *specptr = unigen_special_0x1f99; \
+ break; \
+ case 0x1f9a: \
+ *specptr = unigen_special_0x1f9a; \
+ break; \
+ case 0x1f9b: \
+ *specptr = unigen_special_0x1f9b; \
+ break; \
+ case 0x1f9c: \
+ *specptr = unigen_special_0x1f9c; \
+ break; \
+ case 0x1f9d: \
+ *specptr = unigen_special_0x1f9d; \
+ break; \
+ case 0x1f9e: \
+ *specptr = unigen_special_0x1f9e; \
+ break; \
+ case 0x1f9f: \
+ *specptr = unigen_special_0x1f9f; \
+ break; \
+ case 0x1fa0: \
+ *specptr = unigen_special_0x1fa0; \
+ break; \
+ case 0x1fa1: \
+ *specptr = unigen_special_0x1fa1; \
+ break; \
+ case 0x1fa2: \
+ *specptr = unigen_special_0x1fa2; \
+ break; \
+ case 0x1fa3: \
+ *specptr = unigen_special_0x1fa3; \
+ break; \
+ case 0x1fa4: \
+ *specptr = unigen_special_0x1fa4; \
+ break; \
+ case 0x1fa5: \
+ *specptr = unigen_special_0x1fa5; \
+ break; \
+ case 0x1fa6: \
+ *specptr = unigen_special_0x1fa6; \
+ break; \
+ case 0x1fa7: \
+ *specptr = unigen_special_0x1fa7; \
+ break; \
+ case 0x1fa8: \
+ *specptr = unigen_special_0x1fa8; \
+ break; \
+ case 0x1fa9: \
+ *specptr = unigen_special_0x1fa9; \
+ break; \
+ case 0x1faa: \
+ *specptr = unigen_special_0x1faa; \
+ break; \
+ case 0x1fab: \
+ *specptr = unigen_special_0x1fab; \
+ break; \
+ case 0x1fac: \
+ *specptr = unigen_special_0x1fac; \
+ break; \
+ case 0x1fad: \
+ *specptr = unigen_special_0x1fad; \
+ break; \
+ case 0x1fae: \
+ *specptr = unigen_special_0x1fae; \
+ break; \
+ case 0x1faf: \
+ *specptr = unigen_special_0x1faf; \
+ break; \
+ case 0x1fb2: \
+ *specptr = unigen_special_0x1fb2; \
+ break; \
+ case 0x1fb3: \
+ *specptr = unigen_special_0x1fb3; \
+ break; \
+ case 0x1fb4: \
+ *specptr = unigen_special_0x1fb4; \
+ break; \
+ case 0x1fb6: \
+ *specptr = unigen_special_0x1fb6; \
+ break; \
+ case 0x1fb7: \
+ *specptr = unigen_special_0x1fb7; \
+ break; \
+ case 0x1fbc: \
+ *specptr = unigen_special_0x1fbc; \
+ break; \
+ case 0x1fc2: \
+ *specptr = unigen_special_0x1fc2; \
+ break; \
+ case 0x1fc3: \
+ *specptr = unigen_special_0x1fc3; \
+ break; \
+ case 0x1fc4: \
+ *specptr = unigen_special_0x1fc4; \
+ break; \
+ case 0x1fc6: \
+ *specptr = unigen_special_0x1fc6; \
+ break; \
+ case 0x1fc7: \
+ *specptr = unigen_special_0x1fc7; \
+ break; \
+ case 0x1fcc: \
+ *specptr = unigen_special_0x1fcc; \
+ break; \
+ case 0x1fd2: \
+ *specptr = unigen_special_0x1fd2; \
+ break; \
+ case 0x1fd3: \
+ *specptr = unigen_special_0x1fd3; \
+ break; \
+ case 0x1fd6: \
+ *specptr = unigen_special_0x1fd6; \
+ break; \
+ case 0x1fd7: \
+ *specptr = unigen_special_0x1fd7; \
+ break; \
+ case 0x1fe2: \
+ *specptr = unigen_special_0x1fe2; \
+ break; \
+ case 0x1fe3: \
+ *specptr = unigen_special_0x1fe3; \
+ break; \
+ case 0x1fe4: \
+ *specptr = unigen_special_0x1fe4; \
+ break; \
+ case 0x1fe6: \
+ *specptr = unigen_special_0x1fe6; \
+ break; \
+ case 0x1fe7: \
+ *specptr = unigen_special_0x1fe7; \
+ break; \
+ case 0x1ff2: \
+ *specptr = unigen_special_0x1ff2; \
+ break; \
+ case 0x1ff3: \
+ *specptr = unigen_special_0x1ff3; \
+ break; \
+ case 0x1ff4: \
+ *specptr = unigen_special_0x1ff4; \
+ break; \
+ case 0x1ff6: \
+ *specptr = unigen_special_0x1ff6; \
+ break; \
+ case 0x1ff7: \
+ *specptr = unigen_special_0x1ff7; \
+ break; \
+ case 0x1ffc: \
+ *specptr = unigen_special_0x1ffc; \
+ break; \
+ case 0xfb00: \
+ *specptr = unigen_special_0xfb00; \
+ break; \
+ case 0xfb01: \
+ *specptr = unigen_special_0xfb01; \
+ break; \
+ case 0xfb02: \
+ *specptr = unigen_special_0xfb02; \
+ break; \
+ case 0xfb03: \
+ *specptr = unigen_special_0xfb03; \
+ break; \
+ case 0xfb04: \
+ *specptr = unigen_special_0xfb04; \
+ break; \
+ case 0xfb05: \
+ *specptr = unigen_special_0xfb05; \
+ break; \
+ case 0xfb06: \
+ *specptr = unigen_special_0xfb06; \
+ break; \
+ case 0xfb13: \
+ *specptr = unigen_special_0xfb13; \
+ break; \
+ case 0xfb14: \
+ *specptr = unigen_special_0xfb14; \
+ break; \
+ case 0xfb15: \
+ *specptr = unigen_special_0xfb15; \
+ break; \
+ case 0xfb16: \
+ *specptr = unigen_special_0xfb16; \
+ break; \
+ case 0xfb17: \
+ *specptr = unigen_special_0xfb17; \
+ break; \
+ default: \
+ *specptr = nullptr; \
+ }
typedef glui32 gli_case_block_t[2]; ///< upper, lower
typedef glui32 gli_case_special_t[3]; ///< upper, lower, title
diff --git a/engines/gargoyle/window_graphics.cpp b/engines/gargoyle/window_graphics.cpp
index a0d8b6ddba..322d642a1b 100644
--- a/engines/gargoyle/window_graphics.cpp
+++ b/engines/gargoyle/window_graphics.cpp
@@ -28,7 +28,7 @@
namespace Gargoyle {
GraphicsWindow::GraphicsWindow(Windows *windows, uint32 rock) : Window(windows, rock),
-_w(0), _h(0), _dirty(false), _surface(nullptr) {
+ _w(0), _h(0), _dirty(false), _surface(nullptr) {
_type = wintype_Graphics;
Common::copy(&_bgColor[0], &_bgColor[3], _bgnd);
}
@@ -66,7 +66,7 @@ void GraphicsWindow::rearrange(const Rect &box) {
bothhgt = newhgt;
newSurface = new Graphics::ManagedSurface(newwid, newhgt,
- Graphics::PixelFormat(3, 8, 8, 8, 0, 16, 8, 0, 0));
+ Graphics::PixelFormat(3, 8, 8, 8, 0, 16, 8, 0, 0));
// If the new surface is equal or bigger than the old one, copy it over
if (_surface && bothwid && bothhgt)
@@ -98,7 +98,7 @@ void GraphicsWindow::redraw() {
}
glui32 GraphicsWindow::drawPicture(glui32 image, glsi32 xpos, glsi32 ypos, int scale,
- glui32 imagewidth, glui32 imageheight) {
+ glui32 imagewidth, glui32 imageheight) {
Picture *pic = Picture::load(image);
glui32 hyperlink = _attr.hyper;
diff --git a/engines/gargoyle/window_graphics.h b/engines/gargoyle/window_graphics.h
index ebcf45b195..67963bc9a1 100644
--- a/engines/gargoyle/window_graphics.h
+++ b/engines/gargoyle/window_graphics.h
@@ -53,7 +53,7 @@ public:
virtual ~GraphicsWindow();
glui32 drawPicture(glui32 image, glsi32 xpos, glsi32 ypos, int scale,
- glui32 imagewidth, glui32 imageheight);
+ glui32 imagewidth, glui32 imageheight);
/**
* Rearranges the window
@@ -75,16 +75,24 @@ public:
/**
* Cancel a mouse event
*/
- virtual void cancelMouseEvent() override { _mouseRequest = false; }
+ virtual void cancelMouseEvent() override {
+ _mouseRequest = false;
+ }
/**
* Cancel a hyperlink event
*/
- virtual void cancelHyperlinkEvent() override { _hyperRequest = false; }
+ virtual void cancelHyperlinkEvent() override {
+ _hyperRequest = false;
+ }
- virtual void requestMouseEvent() override { _mouseRequest = true; }
+ virtual void requestMouseEvent() override {
+ _mouseRequest = true;
+ }
- virtual void requestHyperlinkEvent() override { _hyperRequest = true; }
+ virtual void requestHyperlinkEvent() override {
+ _hyperRequest = true;
+ }
/**
* Redraw the window
diff --git a/engines/gargoyle/window_pair.cpp b/engines/gargoyle/window_pair.cpp
index 33914c5fe7..9bd562ddb9 100644
--- a/engines/gargoyle/window_pair.cpp
+++ b/engines/gargoyle/window_pair.cpp
@@ -28,13 +28,13 @@
namespace Gargoyle {
PairWindow::PairWindow(Windows *windows, glui32 method, Window *key, glui32 size) :
- Window(windows, 0),
- _dir(method & winmethod_DirMask),
- _division(method & winmethod_DivisionMask),
- _wBorder((method & winmethod_BorderMask) == winmethod_Border),
- _vertical(_dir == winmethod_Left || _dir == winmethod_Right),
- _backward(_dir == winmethod_Left || _dir == winmethod_Above),
- _key(key), _size(size), _keyDamage(0), _child1(nullptr), _child2(nullptr) {
+ Window(windows, 0),
+ _dir(method & winmethod_DirMask),
+ _division(method & winmethod_DivisionMask),
+ _wBorder((method & winmethod_BorderMask) == winmethod_Border),
+ _vertical(_dir == winmethod_Left || _dir == winmethod_Right),
+ _backward(_dir == winmethod_Left || _dir == winmethod_Above),
+ _key(key), _size(size), _keyDamage(0), _child1(nullptr), _child2(nullptr) {
_type = wintype_Pair;
}
@@ -128,19 +128,19 @@ void PairWindow::redraw() {
Window *child = !_backward ? _child1 : _child2;
Rect box(child->_bbox.left, child->_yAdj ? child->_bbox.top - child->_yAdj : child->_bbox.top,
- child->_bbox.right, child->_bbox.bottom);
+ child->_bbox.right, child->_bbox.bottom);
if (_vertical) {
int xBord = _wBorder ? g_conf->_wBorderX : 0;
int xPad = (g_conf->_wPaddingX - xBord) / 2;
-
+
g_vm->_screen->fillRect(Rect(box.right + xPad, box.top, box.right + xPad + xBord, box.bottom),
- g_conf->_borderColor);
+ g_conf->_borderColor);
} else {
int yBord = _wBorder ? g_conf->_wBorderY : 0;
int yPad = (g_conf->_wPaddingY - yBord) / 2;
g_vm->_screen->fillRect(Rect(box.left, box.bottom + yPad, box.right, box.bottom + yPad + yBord),
- g_conf->_borderColor);
+ g_conf->_borderColor);
}
}
@@ -200,7 +200,7 @@ void PairWindow::setArrangement(glui32 method, glui32 size, Window *keyWin) {
}
if (keyWin && dynamic_cast<BlankWindow *>(keyWin)
- && (method & winmethod_DivisionMask) == winmethod_Fixed) {
+ && (method & winmethod_DivisionMask) == winmethod_Fixed) {
warning("setArrangement: a Blank window cannot have a fixed size");
return;
}
diff --git a/engines/gargoyle/window_text_buffer.cpp b/engines/gargoyle/window_text_buffer.cpp
index 7e65059169..ca891672ab 100644
--- a/engines/gargoyle/window_text_buffer.cpp
+++ b/engines/gargoyle/window_text_buffer.cpp
@@ -37,11 +37,11 @@ namespace Gargoyle {
TextBufferWindow::TextBufferWindow(Windows *windows, uint32 rock) : Window(windows, rock),
- _historyPos(0), _historyFirst(0), _historyPresent(0), _lastSeen(0), _scrollPos(0),
- _scrollMax(0), _scrollBack(SCROLLBACK), _width(-1), _height(-1), _inBuf(nullptr),
- _lineTerminators(nullptr), _echoLineInput(true), _ladjw(0), _radjw(0), _ladjn(0),
- _radjn(0), _numChars(0), _chars(nullptr), _attrs(nullptr),
- _spaced(0), _dashed(0), _copyBuf(0), _copyPos(0) {
+ _historyPos(0), _historyFirst(0), _historyPresent(0), _lastSeen(0), _scrollPos(0),
+ _scrollMax(0), _scrollBack(SCROLLBACK), _width(-1), _height(-1), _inBuf(nullptr),
+ _lineTerminators(nullptr), _echoLineInput(true), _ladjw(0), _radjw(0), _ladjn(0),
+ _radjn(0), _numChars(0), _chars(nullptr), _attrs(nullptr),
+ _spaced(0), _dashed(0), _copyBuf(0), _copyPos(0) {
_type = wintype_TextBuffer;
Common::fill(&_history[0], &_history[HISTORYLEN], nullptr);
@@ -306,11 +306,11 @@ void TextBufferWindow::putText(const char *buf, int len, int pos, int oldlen) {
if (diff != 0 && pos + oldlen < _numChars) {
memmove(_chars + pos + len,
- _chars + pos + oldlen,
- (_numChars - (pos + oldlen)) * 4);
+ _chars + pos + oldlen,
+ (_numChars - (pos + oldlen)) * 4);
memmove(_attrs + pos + len,
- _attrs + pos + oldlen,
- (_numChars - (pos + oldlen)) * sizeof(Attributes));
+ _attrs + pos + oldlen,
+ (_numChars - (pos + oldlen)) * sizeof(Attributes));
}
if (len > 0) {
for (int i = 0; i < len; i++) {
@@ -338,11 +338,11 @@ void TextBufferWindow::putTextUni(const glui32 *buf, int len, int pos, int oldle
if (diff != 0 && pos + oldlen < _numChars) {
memmove(_chars + pos + len,
- _chars + pos + oldlen,
- (_numChars - (pos + oldlen)) * 4);
+ _chars + pos + oldlen,
+ (_numChars - (pos + oldlen)) * 4);
memmove(_attrs + pos + len,
- _attrs + pos + oldlen,
- (_numChars - (pos + oldlen)) * sizeof(Attributes));
+ _attrs + pos + oldlen,
+ (_numChars - (pos + oldlen)) * sizeof(Attributes));
}
if (len > 0) {
int i;
@@ -442,8 +442,8 @@ void TextBufferWindow::putCharUni(glui32 ch) {
}
if (g_conf->_spaces && _attr.style != style_Preformatted
- && _styles[_attr.style].bg == color
- && !_styles[_attr.style].reverse) {
+ && _styles[_attr.style].bg == color
+ && !_styles[_attr.style].reverse) {
// turn (period space space) into (period space)
if (g_conf->_spaces == 1) {
if (ch == '.')
@@ -480,8 +480,8 @@ void TextBufferWindow::putCharUni(glui32 ch) {
// kill spaces at the end for line width calculation
linelen = _numChars;
while (linelen > 1 && _chars[linelen - 1] == ' '
- && _styles[_attrs[linelen - 1].style].bg == color
- && !_styles[_attrs[linelen - 1].style].reverse)
+ && _styles[_attrs[linelen - 1].style].bg == color
+ && !_styles[_attrs[linelen - 1].style].reverse)
linelen--;
if (calcWidth(_chars, _attrs, 0, linelen, -1) >= pw) {
@@ -567,8 +567,8 @@ void TextBufferWindow::click(const Point &newPos) {
int gs = false;
if (_lineRequest || _charRequest
- || _lineRequestUni || _charRequestUni
- || _moreRequest || _scrollRequest)
+ || _lineRequestUni || _charRequestUni
+ || _moreRequest || _scrollRequest)
_windows->setFocus(this);
if (_hyperRequest) {
@@ -743,14 +743,14 @@ void TextBufferWindow::cancelLineEvent(Event *ev) {
len = inmax;
if (!unicode) {
- for (ix = 0; ix<len; ix++) {
+ for (ix = 0; ix < len; ix++) {
glui32 ch = _chars[_inFence + ix];
if (ch > 0xff)
ch = '?';
((char *)inbuf)[ix] = (char)ch;
}
} else {
- for (ix = 0; ix<len; ix++)
+ for (ix = 0; ix < len; ix++)
((glui32 *)inbuf)[ix] = _chars[_inFence + ix];
}
@@ -782,379 +782,379 @@ void TextBufferWindow::cancelLineEvent(Event *ev) {
}
void TextBufferWindow::redraw() {
- TextBufferRow *ln;
- int linelen;
- int nsp, spw, pw;
- int x0, y0, x1, y1;
- int x, y, w;
- int a, b;
- glui32 link;
- int font;
- unsigned char *color;
- int i;
- int hx0, hx1, hy0, hy1;
- int selrow, selchar, sx0, sx1, selleft, selright;
+ TextBufferRow *ln;
+ int linelen;
+ int nsp, spw, pw;
+ int x0, y0, x1, y1;
+ int x, y, w;
+ int a, b;
+ glui32 link;
+ int font;
+ unsigned char *color;
+ int i;
+ int hx0, hx1, hy0, hy1;
+ int selrow, selchar, sx0, sx1, selleft, selright;
bool selBuf;
- int tx, tsc, tsw, lsc, rsc;
+ int tx, tsc, tsw, lsc, rsc;
Screen &screen = *g_vm->_screen;
Window::redraw();
- _lines[0]._len = _numChars;
+ _lines[0]._len = _numChars;
sx0 = sx1 = selleft = selright = 0;
ln = new TextBufferRow();
- if (!ln)
- return;
-
- x0 = (_bbox.left + g_conf->_tMarginX) * GLI_SUBPIX;
- x1 = (_bbox.right - g_conf->_tMarginX - g_conf->_scrollWidth) * GLI_SUBPIX;
- y0 = _bbox.top + g_conf->_tMarginY;
- y1 = _bbox.bottom - g_conf->_tMarginY;
-
- pw = x1 - x0 - 2 * GLI_SUBPIX;
-
- // check if any part of buffer is selected
- selBuf = g_vm->_selection->checkSelection(Rect(x0 / GLI_SUBPIX, y0, x1 / GLI_SUBPIX, y1));
-
- for (i = _scrollPos + _height - 1; i >= _scrollPos; i--) {
- // top of line
- y = y0 + (_height - (i - _scrollPos) - 1) * g_conf->_leading;
-
- // check if part of line is selected
- if (selBuf) {
- selrow = g_vm->_selection->getSelection(Rect(x0 / GLI_SUBPIX, y,
- x1 / GLI_SUBPIX, y + g_conf->_leading), &sx0, &sx1);
- selleft = (sx0 == x0/GLI_SUBPIX);
- selright = (sx1 == x1/GLI_SUBPIX);
- } else {
- selrow = false;
- }
-
- // mark selected line dirty
- if (selrow)
- _lines[i]._dirty = true;
-
- memcpy(ln, &_lines[i], sizeof(TextBufferRow));
-
- // skip if we can
- if (!ln->_dirty && !ln->_repaint && !Windows::_forceRedraw && _scrollPos == 0)
- continue;
-
- // repaint previously selected lines if needed
- if (ln->_repaint && !Windows::_forceRedraw)
- _windows->redrawRect(Rect(x0 / GLI_SUBPIX, y,
- x1/GLI_SUBPIX, y + g_conf->_leading));
-
- // keep selected line dirty and flag for repaint
- if (!selrow) {
- _lines[i]._dirty = false;
- _lines[i]._repaint = false;
- } else {
- _lines[i]._repaint = true;
- }
-
- // leave bottom line blank for [more] prompt
- if (i == _scrollPos && i > 0)
- continue;
-
- linelen = ln->_len;
-
- // kill spaces at the end unless they're a different color
- color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
- while (i > 0 && linelen > 1 && ln->_chars[linelen-1] == ' '
- && _styles[ln->_attrs[linelen-1].style].bg == color
- && !_styles[ln->_attrs[linelen-1].style].reverse)
- linelen --;
-
- // kill characters that would overwrite the scroll bar
- while (linelen > 1 && calcWidth(ln->_chars, ln->_attrs, 0, linelen, -1) >= pw)
- linelen --;
-
- /*
- * count spaces and width for justification
- */
- if (g_conf->_justify && !ln->_newLine && i > 0) {
- for (a = 0, nsp = 0; a < linelen; a++)
- if (ln->_chars[a] == ' ')
- nsp ++;
- w = calcWidth(ln->_chars, ln->_attrs, 0, linelen, 0);
- if (nsp)
- spw = (x1 - x0 - ln->_lm - ln->_rm - 2 * SLOP - w) / nsp;
- else
- spw = 0;
- } else {
- spw = -1;
- }
-
- // find and highlight selected characters
- if (selrow && !Windows::_claimSelect) {
- lsc = 0;
- rsc = 0;
- selchar = false;
- // optimized case for all chars selected
- if (selleft && selright) {
- rsc = linelen > 0 ? linelen - 1 : 0;
- selchar = calcWidth(ln->_chars, ln->_attrs, lsc, rsc, spw)/GLI_SUBPIX;
- } else {
- // optimized case for leftmost char selected
- if (selleft) {
- tsc = linelen > 0 ? linelen - 1 : 0;
- selchar = calcWidth(ln->_chars, ln->_attrs, lsc, tsc, spw)/GLI_SUBPIX;
- } else {
- // find the substring contained by the selection
- tx = (x0 + SLOP + ln->_lm)/GLI_SUBPIX;
- // measure string widths until we find left char
- for (tsc = 0; tsc < linelen; tsc++) {
- tsw = calcWidth(ln->_chars, ln->_attrs, 0, tsc, spw)/GLI_SUBPIX;
- if (tsw + tx >= sx0 ||
- tsw + tx + GLI_SUBPIX >= sx0 && ln->_chars[tsc] != ' ') {
- lsc = tsc;
- selchar = true;
- break;
- }
- }
- }
- if (selchar) {
- // optimized case for rightmost char selected
- if (selright) {
- rsc = linelen > 0 ? linelen - 1 : 0;
- } else {
- // measure string widths until we find right char
- for (tsc = lsc; tsc < linelen; tsc++) {
- tsw = calcWidth(ln->_chars, ln->_attrs, lsc, tsc, spw)/GLI_SUBPIX;
- if (tsw + sx0 < sx1)
- rsc = tsc;
- }
- if (lsc && !rsc)
- rsc = lsc;
- }
- }
- }
- // reverse colors for selected chars
- if (selchar) {
- for (tsc = lsc; tsc <= rsc; tsc++) {
- ln->_attrs[tsc].reverse = !ln->_attrs[tsc].reverse;
- _copyBuf[_copyPos] = ln->_chars[tsc];
- _copyPos++;
- }
- }
- // add newline if we reach the end of the line
- if (ln->_len == 0 || ln->_len == (rsc+1)) {
- _copyBuf[_copyPos] = '\n';
- _copyPos++;
- }
- }
-
- // clear any stored hyperlink coordinates
- g_vm->_selection->putHyperlink(0, x0/GLI_SUBPIX, y,
- x1/GLI_SUBPIX, y + g_conf->_leading);
-
- /*
- * fill in background colors
- */
- color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
- screen.fillRect(Rect::fromXYWH(x0 / GLI_SUBPIX, y, (x1-x0) / GLI_SUBPIX, g_conf->_leading),
- color);
-
- x = x0 + SLOP + ln->_lm;
- a = 0;
- for (b = 0; b < linelen; b++) {
- if (ln->_attrs[a] != ln->_attrs[b]) {
- link = ln->_attrs[a].hyper;
- font = ln->_attrs[a].attrFont(_styles);
- color = ln->_attrs[a].attrBg(_styles);
- w = screen.stringWidthUni(font, Common::U32String(ln->_chars + a, b - a), spw);
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, w / GLI_SUBPIX, g_conf->_leading),
- color);
- if (link) {
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX + 1, y + g_conf->_baseLine + 1,
- w / GLI_SUBPIX + 1, g_conf->_linkStyle), g_conf->_linkColor);
- g_vm->_selection->putHyperlink(link, x/GLI_SUBPIX, y,
- x/GLI_SUBPIX + w/GLI_SUBPIX,
- y + g_conf->_leading);
- }
- x += w;
- a = b;
- }
- }
- link = ln->_attrs[a].hyper;
- font = ln->_attrs[a].attrFont(_styles);
- color = ln->_attrs[a].attrBg(_styles);
- w = screen.stringWidthUni(font, Common::U32String(ln->_chars + a, b - a), spw);
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, w / GLI_SUBPIX, g_conf->_leading), color);
- if (link) {
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX + 1, y + g_conf->_baseLine + 1,
- w/GLI_SUBPIX + 1, g_conf->_linkStyle), g_conf->_linkColor);
- g_vm->_selection->putHyperlink(link, x / GLI_SUBPIX, y,
- x / GLI_SUBPIX + w / GLI_SUBPIX,
- y + g_conf->_leading);
- }
- x += w;
-
- color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, x1/GLI_SUBPIX - x/GLI_SUBPIX, g_conf->_leading), color);
-
- /*
- * draw caret
- */
-
- if (_windows->getFocusWindow() == this && i == 0 && (_lineRequest || _lineRequestUni)) {
- w = calcWidth(_chars, _attrs, 0, _inCurs, spw);
- if (w < pw - g_conf->_caretShape * 2 * GLI_SUBPIX)
- screen.drawCaret(Point(x0 + SLOP + ln->_lm + w, y + g_conf->_baseLine));
- }
-
- /*
- * draw text
- */
-
- x = x0 + SLOP + ln->_lm;
- a = 0;
- for (b = 0; b < linelen; b++) {
- if (ln->_attrs[a] != ln->_attrs[b]) {
- link = ln->_attrs[a].hyper;
- font = ln->_attrs[a].attrFont(_styles);
- color = link ? g_conf->_linkColor : ln->_attrs[a].attrFg(_styles);
- x = screen.drawStringUni(Point(x, y + g_conf->_baseLine),
- font, color, Common::U32String(ln->_chars + a, b - a), spw);
- a = b;
- }
- }
- link = ln->_attrs[a].hyper;
- font = ln->_attrs[a].attrFont(_styles);
- color = link ? g_conf->_linkColor : ln->_attrs[a].attrFg(_styles);
- screen.drawStringUni(Point(x, y + g_conf->_baseLine), font, color, Common::U32String(ln->_chars + a, linelen - a), spw);
- }
-
- /*
- * draw more prompt
- */
- if (_scrollPos && _height > 1) {
- x = x0 + SLOP;
- y = y0 + (_height - 1) * g_conf->_leading;
-
- g_vm->_selection->putHyperlink(0, x0/GLI_SUBPIX, y,
- x1/GLI_SUBPIX, y + g_conf->_leading);
-
- color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
- screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, x1 / GLI_SUBPIX - x / GLI_SUBPIX, g_conf->_leading), color);
-
- w = screen.stringWidth(g_conf->_moreFont, g_conf->_morePrompt);
-
- if (g_conf->_moreAlign == 1)
+ if (!ln)
+ return;
+
+ x0 = (_bbox.left + g_conf->_tMarginX) * GLI_SUBPIX;
+ x1 = (_bbox.right - g_conf->_tMarginX - g_conf->_scrollWidth) * GLI_SUBPIX;
+ y0 = _bbox.top + g_conf->_tMarginY;
+ y1 = _bbox.bottom - g_conf->_tMarginY;
+
+ pw = x1 - x0 - 2 * GLI_SUBPIX;
+
+ // check if any part of buffer is selected
+ selBuf = g_vm->_selection->checkSelection(Rect(x0 / GLI_SUBPIX, y0, x1 / GLI_SUBPIX, y1));
+
+ for (i = _scrollPos + _height - 1; i >= _scrollPos; i--) {
+ // top of line
+ y = y0 + (_height - (i - _scrollPos) - 1) * g_conf->_leading;
+
+ // check if part of line is selected
+ if (selBuf) {
+ selrow = g_vm->_selection->getSelection(Rect(x0 / GLI_SUBPIX, y,
+ x1 / GLI_SUBPIX, y + g_conf->_leading), &sx0, &sx1);
+ selleft = (sx0 == x0 / GLI_SUBPIX);
+ selright = (sx1 == x1 / GLI_SUBPIX);
+ } else {
+ selrow = false;
+ }
+
+ // mark selected line dirty
+ if (selrow)
+ _lines[i]._dirty = true;
+
+ memcpy(ln, &_lines[i], sizeof(TextBufferRow));
+
+ // skip if we can
+ if (!ln->_dirty && !ln->_repaint && !Windows::_forceRedraw && _scrollPos == 0)
+ continue;
+
+ // repaint previously selected lines if needed
+ if (ln->_repaint && !Windows::_forceRedraw)
+ _windows->redrawRect(Rect(x0 / GLI_SUBPIX, y,
+ x1 / GLI_SUBPIX, y + g_conf->_leading));
+
+ // keep selected line dirty and flag for repaint
+ if (!selrow) {
+ _lines[i]._dirty = false;
+ _lines[i]._repaint = false;
+ } else {
+ _lines[i]._repaint = true;
+ }
+
+ // leave bottom line blank for [more] prompt
+ if (i == _scrollPos && i > 0)
+ continue;
+
+ linelen = ln->_len;
+
+ // kill spaces at the end unless they're a different color
+ color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
+ while (i > 0 && linelen > 1 && ln->_chars[linelen - 1] == ' '
+ && _styles[ln->_attrs[linelen - 1].style].bg == color
+ && !_styles[ln->_attrs[linelen - 1].style].reverse)
+ linelen --;
+
+ // kill characters that would overwrite the scroll bar
+ while (linelen > 1 && calcWidth(ln->_chars, ln->_attrs, 0, linelen, -1) >= pw)
+ linelen --;
+
+ /*
+ * count spaces and width for justification
+ */
+ if (g_conf->_justify && !ln->_newLine && i > 0) {
+ for (a = 0, nsp = 0; a < linelen; a++)
+ if (ln->_chars[a] == ' ')
+ nsp ++;
+ w = calcWidth(ln->_chars, ln->_attrs, 0, linelen, 0);
+ if (nsp)
+ spw = (x1 - x0 - ln->_lm - ln->_rm - 2 * SLOP - w) / nsp;
+ else
+ spw = 0;
+ } else {
+ spw = -1;
+ }
+
+ // find and highlight selected characters
+ if (selrow && !Windows::_claimSelect) {
+ lsc = 0;
+ rsc = 0;
+ selchar = false;
+ // optimized case for all chars selected
+ if (selleft && selright) {
+ rsc = linelen > 0 ? linelen - 1 : 0;
+ selchar = calcWidth(ln->_chars, ln->_attrs, lsc, rsc, spw) / GLI_SUBPIX;
+ } else {
+ // optimized case for leftmost char selected
+ if (selleft) {
+ tsc = linelen > 0 ? linelen - 1 : 0;
+ selchar = calcWidth(ln->_chars, ln->_attrs, lsc, tsc, spw) / GLI_SUBPIX;
+ } else {
+ // find the substring contained by the selection
+ tx = (x0 + SLOP + ln->_lm) / GLI_SUBPIX;
+ // measure string widths until we find left char
+ for (tsc = 0; tsc < linelen; tsc++) {
+ tsw = calcWidth(ln->_chars, ln->_attrs, 0, tsc, spw) / GLI_SUBPIX;
+ if (tsw + tx >= sx0 ||
+ tsw + tx + GLI_SUBPIX >= sx0 && ln->_chars[tsc] != ' ') {
+ lsc = tsc;
+ selchar = true;
+ break;
+ }
+ }
+ }
+ if (selchar) {
+ // optimized case for rightmost char selected
+ if (selright) {
+ rsc = linelen > 0 ? linelen - 1 : 0;
+ } else {
+ // measure string widths until we find right char
+ for (tsc = lsc; tsc < linelen; tsc++) {
+ tsw = calcWidth(ln->_chars, ln->_attrs, lsc, tsc, spw) / GLI_SUBPIX;
+ if (tsw + sx0 < sx1)
+ rsc = tsc;
+ }
+ if (lsc && !rsc)
+ rsc = lsc;
+ }
+ }
+ }
+ // reverse colors for selected chars
+ if (selchar) {
+ for (tsc = lsc; tsc <= rsc; tsc++) {
+ ln->_attrs[tsc].reverse = !ln->_attrs[tsc].reverse;
+ _copyBuf[_copyPos] = ln->_chars[tsc];
+ _copyPos++;
+ }
+ }
+ // add newline if we reach the end of the line
+ if (ln->_len == 0 || ln->_len == (rsc + 1)) {
+ _copyBuf[_copyPos] = '\n';
+ _copyPos++;
+ }
+ }
+
+ // clear any stored hyperlink coordinates
+ g_vm->_selection->putHyperlink(0, x0 / GLI_SUBPIX, y,
+ x1 / GLI_SUBPIX, y + g_conf->_leading);
+
+ /*
+ * fill in background colors
+ */
+ color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
+ screen.fillRect(Rect::fromXYWH(x0 / GLI_SUBPIX, y, (x1 - x0) / GLI_SUBPIX, g_conf->_leading),
+ color);
+
+ x = x0 + SLOP + ln->_lm;
+ a = 0;
+ for (b = 0; b < linelen; b++) {
+ if (ln->_attrs[a] != ln->_attrs[b]) {
+ link = ln->_attrs[a].hyper;
+ font = ln->_attrs[a].attrFont(_styles);
+ color = ln->_attrs[a].attrBg(_styles);
+ w = screen.stringWidthUni(font, Common::U32String(ln->_chars + a, b - a), spw);
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, w / GLI_SUBPIX, g_conf->_leading),
+ color);
+ if (link) {
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX + 1, y + g_conf->_baseLine + 1,
+ w / GLI_SUBPIX + 1, g_conf->_linkStyle), g_conf->_linkColor);
+ g_vm->_selection->putHyperlink(link, x / GLI_SUBPIX, y,
+ x / GLI_SUBPIX + w / GLI_SUBPIX,
+ y + g_conf->_leading);
+ }
+ x += w;
+ a = b;
+ }
+ }
+ link = ln->_attrs[a].hyper;
+ font = ln->_attrs[a].attrFont(_styles);
+ color = ln->_attrs[a].attrBg(_styles);
+ w = screen.stringWidthUni(font, Common::U32String(ln->_chars + a, b - a), spw);
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, w / GLI_SUBPIX, g_conf->_leading), color);
+ if (link) {
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX + 1, y + g_conf->_baseLine + 1,
+ w / GLI_SUBPIX + 1, g_conf->_linkStyle), g_conf->_linkColor);
+ g_vm->_selection->putHyperlink(link, x / GLI_SUBPIX, y,
+ x / GLI_SUBPIX + w / GLI_SUBPIX,
+ y + g_conf->_leading);
+ }
+ x += w;
+
+ color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, x1 / GLI_SUBPIX - x / GLI_SUBPIX, g_conf->_leading), color);
+
+ /*
+ * draw caret
+ */
+
+ if (_windows->getFocusWindow() == this && i == 0 && (_lineRequest || _lineRequestUni)) {
+ w = calcWidth(_chars, _attrs, 0, _inCurs, spw);
+ if (w < pw - g_conf->_caretShape * 2 * GLI_SUBPIX)
+ screen.drawCaret(Point(x0 + SLOP + ln->_lm + w, y + g_conf->_baseLine));
+ }
+
+ /*
+ * draw text
+ */
+
+ x = x0 + SLOP + ln->_lm;
+ a = 0;
+ for (b = 0; b < linelen; b++) {
+ if (ln->_attrs[a] != ln->_attrs[b]) {
+ link = ln->_attrs[a].hyper;
+ font = ln->_attrs[a].attrFont(_styles);
+ color = link ? g_conf->_linkColor : ln->_attrs[a].attrFg(_styles);
+ x = screen.drawStringUni(Point(x, y + g_conf->_baseLine),
+ font, color, Common::U32String(ln->_chars + a, b - a), spw);
+ a = b;
+ }
+ }
+ link = ln->_attrs[a].hyper;
+ font = ln->_attrs[a].attrFont(_styles);
+ color = link ? g_conf->_linkColor : ln->_attrs[a].attrFg(_styles);
+ screen.drawStringUni(Point(x, y + g_conf->_baseLine), font, color, Common::U32String(ln->_chars + a, linelen - a), spw);
+ }
+
+ /*
+ * draw more prompt
+ */
+ if (_scrollPos && _height > 1) {
+ x = x0 + SLOP;
+ y = y0 + (_height - 1) * g_conf->_leading;
+
+ g_vm->_selection->putHyperlink(0, x0 / GLI_SUBPIX, y,
+ x1 / GLI_SUBPIX, y + g_conf->_leading);
+
+ color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
+ screen.fillRect(Rect::fromXYWH(x / GLI_SUBPIX, y, x1 / GLI_SUBPIX - x / GLI_SUBPIX, g_conf->_leading), color);
+
+ w = screen.stringWidth(g_conf->_moreFont, g_conf->_morePrompt);
+
+ if (g_conf->_moreAlign == 1)
// center
- x = x0 + SLOP + (x1 - x0 - w - SLOP * 2) / 2;
- if (g_conf->_moreAlign == 2)
+ x = x0 + SLOP + (x1 - x0 - w - SLOP * 2) / 2;
+ if (g_conf->_moreAlign == 2)
// right
- x = x1 - SLOP - w;
+ x = x1 - SLOP - w;
- color = Windows::_overrideFgSet ? g_conf->_moreColor : _fgColor;
+ color = Windows::_overrideFgSet ? g_conf->_moreColor : _fgColor;
screen.drawString(Point(x, y + g_conf->_baseLine),
- g_conf->_moreFont, color, g_conf->_morePrompt);
- y1 = y; // don't want pictures overdrawing "[more]"
-
- // try to claim the focus
- _moreRequest = true;
- Windows::_moreFocus = true;
- } else {
- _moreRequest = false;
- y1 = y0 + _height * g_conf->_leading;
- }
-
- /*
- * draw the images
- */
- for (i = 0; i < _scrollBack; i++) {
- memcpy(ln, &_lines[i], sizeof(TextBufferRow));
-
- y = y0 + (_height - (i - _scrollPos) - 1) * g_conf->_leading;
-
- if (ln->_lPic) {
- if (y < y1 && y + ln->_lPic->h > y0) {
- ln->_lPic->drawPicture(x0/GLI_SUBPIX, y, x0/GLI_SUBPIX, y0, x1/GLI_SUBPIX, y1);
- link = ln->_lHyper;
- hy0 = y > y0 ? y : y0;
- hy1 = y + ln->_lPic->h < y1 ? y + ln->_lPic->h : y1;
- hx0 = x0/GLI_SUBPIX;
- hx1 = x0/GLI_SUBPIX + ln->_lPic->w < x1/GLI_SUBPIX
- ? x0/GLI_SUBPIX + ln->_lPic->w
- : x1/GLI_SUBPIX;
- g_vm->_selection->putHyperlink(link, hx0, hy0, hx1, hy1);
- }
- }
-
- if (ln->_rPic) {
- if (y < y1 && y + ln->_rPic->h > y0) {
- ln->_rPic->drawPicture(x1/GLI_SUBPIX - ln->_rPic->w, y,
- x0/GLI_SUBPIX, y0, x1/GLI_SUBPIX, y1);
- link = ln->_rHyper;
- hy0 = y > y0 ? y : y0;
- hy1 = y + ln->_rPic->h < y1 ? y + ln->_rPic->h : y1;
- hx0 = x1/GLI_SUBPIX - ln->_rPic->w > x0/GLI_SUBPIX
- ? x1/GLI_SUBPIX - ln->_rPic->w
- : x0/GLI_SUBPIX;
- hx1 = x1/GLI_SUBPIX;
- g_vm->_selection->putHyperlink(link, hx0, hy0, hx1, hy1);
- }
- }
- }
-
- /*
- * Draw the scrollbar
- */
-
- // try to claim scroll keys
- _scrollRequest = _scrollMax > _height;
-
- if (_scrollRequest && g_conf->_scrollWidth) {
- int t0, t1;
- x0 = _bbox.right - g_conf->_scrollWidth;
- x1 = _bbox.right;
- y0 = _bbox.top + g_conf->_tMarginY;
- y1 = _bbox.bottom - g_conf->_tMarginY;
-
- g_vm->_selection->putHyperlink(0, x0, y0, x1, y1);
-
- y0 += g_conf->_scrollWidth / 2;
- y1 -= g_conf->_scrollWidth / 2;
-
- // pos = thbot, pos - ht = thtop, max = wtop, 0 = wbot
- t0 = (_scrollMax - _scrollPos) - (_height - 1);
- t1 = (_scrollMax - _scrollPos);
- if (_scrollMax > _height) {
- t0 = t0 * (y1 - y0) / _scrollMax + y0;
- t1 = t1 * (y1 - y0) / _scrollMax + y0;
- } else {
- t0 = t1 = y0;
- }
-
- screen.fillRect(Rect::fromXYWH(x0 + 1, y0, x1-x0 - 2, y1 - y0), g_conf->_scrollBg);
- screen.fillRect(Rect::fromXYWH(x0 + 1, t0, x1-x0 - 2, t1 - t0), g_conf->_scrollFg);
-
- for (i = 0; i < g_conf->_scrollWidth / 2 + 1; i++) {
- screen.fillRect(Rect::fromXYWH(x0 + g_conf->_scrollWidth / 2 - i,
- y0 - g_conf->_scrollWidth/2 + i, i * 2, 1), g_conf->_scrollFg);
- screen.fillRect(Rect::fromXYWH(x0 + g_conf->_scrollWidth / 2 - i,
- y1 + g_conf->_scrollWidth / 2 - i, i * 2, 1), g_conf->_scrollFg);
- }
- }
-
- // Keep track of selected text to be ready when user copies it to the clipboard
- if (selBuf && _copyPos) {
- Windows::_claimSelect = true;
+ g_conf->_moreFont, color, g_conf->_morePrompt);
+ y1 = y; // don't want pictures overdrawing "[more]"
+
+ // try to claim the focus
+ _moreRequest = true;
+ Windows::_moreFocus = true;
+ } else {
+ _moreRequest = false;
+ y1 = y0 + _height * g_conf->_leading;
+ }
+
+ /*
+ * draw the images
+ */
+ for (i = 0; i < _scrollBack; i++) {
+ memcpy(ln, &_lines[i], sizeof(TextBufferRow));
+
+ y = y0 + (_height - (i - _scrollPos) - 1) * g_conf->_leading;
+
+ if (ln->_lPic) {
+ if (y < y1 && y + ln->_lPic->h > y0) {
+ ln->_lPic->drawPicture(x0 / GLI_SUBPIX, y, x0 / GLI_SUBPIX, y0, x1 / GLI_SUBPIX, y1);
+ link = ln->_lHyper;
+ hy0 = y > y0 ? y : y0;
+ hy1 = y + ln->_lPic->h < y1 ? y + ln->_lPic->h : y1;
+ hx0 = x0 / GLI_SUBPIX;
+ hx1 = x0 / GLI_SUBPIX + ln->_lPic->w < x1 / GLI_SUBPIX
+ ? x0 / GLI_SUBPIX + ln->_lPic->w
+ : x1 / GLI_SUBPIX;
+ g_vm->_selection->putHyperlink(link, hx0, hy0, hx1, hy1);
+ }
+ }
+
+ if (ln->_rPic) {
+ if (y < y1 && y + ln->_rPic->h > y0) {
+ ln->_rPic->drawPicture(x1 / GLI_SUBPIX - ln->_rPic->w, y,
+ x0 / GLI_SUBPIX, y0, x1 / GLI_SUBPIX, y1);
+ link = ln->_rHyper;
+ hy0 = y > y0 ? y : y0;
+ hy1 = y + ln->_rPic->h < y1 ? y + ln->_rPic->h : y1;
+ hx0 = x1 / GLI_SUBPIX - ln->_rPic->w > x0 / GLI_SUBPIX
+ ? x1 / GLI_SUBPIX - ln->_rPic->w
+ : x0 / GLI_SUBPIX;
+ hx1 = x1 / GLI_SUBPIX;
+ g_vm->_selection->putHyperlink(link, hx0, hy0, hx1, hy1);
+ }
+ }
+ }
+
+ /*
+ * Draw the scrollbar
+ */
+
+ // try to claim scroll keys
+ _scrollRequest = _scrollMax > _height;
+
+ if (_scrollRequest && g_conf->_scrollWidth) {
+ int t0, t1;
+ x0 = _bbox.right - g_conf->_scrollWidth;
+ x1 = _bbox.right;
+ y0 = _bbox.top + g_conf->_tMarginY;
+ y1 = _bbox.bottom - g_conf->_tMarginY;
+
+ g_vm->_selection->putHyperlink(0, x0, y0, x1, y1);
+
+ y0 += g_conf->_scrollWidth / 2;
+ y1 -= g_conf->_scrollWidth / 2;
+
+ // pos = thbot, pos - ht = thtop, max = wtop, 0 = wbot
+ t0 = (_scrollMax - _scrollPos) - (_height - 1);
+ t1 = (_scrollMax - _scrollPos);
+ if (_scrollMax > _height) {
+ t0 = t0 * (y1 - y0) / _scrollMax + y0;
+ t1 = t1 * (y1 - y0) / _scrollMax + y0;
+ } else {
+ t0 = t1 = y0;
+ }
+
+ screen.fillRect(Rect::fromXYWH(x0 + 1, y0, x1 - x0 - 2, y1 - y0), g_conf->_scrollBg);
+ screen.fillRect(Rect::fromXYWH(x0 + 1, t0, x1 - x0 - 2, t1 - t0), g_conf->_scrollFg);
+
+ for (i = 0; i < g_conf->_scrollWidth / 2 + 1; i++) {
+ screen.fillRect(Rect::fromXYWH(x0 + g_conf->_scrollWidth / 2 - i,
+ y0 - g_conf->_scrollWidth / 2 + i, i * 2, 1), g_conf->_scrollFg);
+ screen.fillRect(Rect::fromXYWH(x0 + g_conf->_scrollWidth / 2 - i,
+ y1 + g_conf->_scrollWidth / 2 - i, i * 2, 1), g_conf->_scrollFg);
+ }
+ }
+
+ // Keep track of selected text to be ready when user copies it to the clipboard
+ if (selBuf && _copyPos) {
+ Windows::_claimSelect = true;
g_vm->_clipboard->clipboardStore(Common::U32String(_copyBuf, _copyPos));
- for (i = 0; i < _copyPos; i++)
- _copyBuf[i] = 0;
- _copyPos = 0;
- }
+ for (i = 0; i < _copyPos; i++)
+ _copyBuf[i] = 0;
+ _copyPos = 0;
+ }
- // no more prompt means all text has been seen
- if (!_moreRequest)
- _lastSeen = 0;
+ // no more prompt means all text has been seen
+ if (!_moreRequest)
+ _lastSeen = 0;
- delete ln;
+ delete ln;
}
int TextBufferWindow::acceptScroll(glui32 arg) {
@@ -1209,8 +1209,8 @@ void TextBufferWindow::acceptReadChar(glui32 arg) {
_scrollPos = 0;
if (_scrollPos
- || arg == keycode_PageUp
- || arg == keycode_MouseWheelUp) {
+ || arg == keycode_PageUp
+ || arg == keycode_MouseWheelUp) {
acceptScroll(arg);
return;
}
@@ -1286,7 +1286,7 @@ void TextBufferWindow::acceptReadLine(glui32 arg) {
_historyPos += HISTORYLEN;
cx = _history[_historyPos];
putTextUni(cx, cx ? strlen_uni(cx) : 0, _inFence,
- _numChars - _inFence);
+ _numChars - _inFence);
break;
case keycode_Down:
@@ -1297,7 +1297,7 @@ void TextBufferWindow::acceptReadLine(glui32 arg) {
_historyPos -= HISTORYLEN;
cx = _history[_historyPos];
putTextUni(cx, cx ? strlen_uni(cx) : 0, _inFence,
- _numChars - _inFence);
+ _numChars - _inFence);
break;
// Cursor movement keys, during line input.
@@ -1441,14 +1441,14 @@ void TextBufferWindow::acceptLine(glui32 keycode) {
len = inmax;
if (!unicode) {
- for (ix = 0; ix<len; ix++) {
+ for (ix = 0; ix < len; ix++) {
glui32 ch = _chars[_inFence + ix];
if (ch > 0xff)
ch = '?';
((char *)inbuf)[ix] = (char)ch;
}
} else {
- for (ix = 0; ix<len; ix++)
+ for (ix = 0; ix < len; ix++)
((glui32 *)inbuf)[ix] = _chars[_inFence + ix];
}
@@ -1483,13 +1483,26 @@ void TextBufferWindow::acceptLine(glui32 keycode) {
bool TextBufferWindow::leftquote(glui32 c) {
switch (c) {
- case '(': case '[':
+ case '(':
+ case '[':
// The following are Unicode characters in the "Separator, Space" category.
- case 0x0020: case 0x00a0: case 0x1680: case 0x2000:
- case 0x2001: case 0x2002: case 0x2003: case 0x2004:
- case 0x2005: case 0x2006: case 0x2007: case 0x2008:
- case 0x2009: case 0x200a: case 0x202f: case 0x205f:
+ case 0x0020:
+ case 0x00a0:
+ case 0x1680:
+ case 0x2000:
+ case 0x2001:
+ case 0x2002:
+ case 0x2003:
+ case 0x2004:
+ case 0x2005:
+ case 0x2006:
+ case 0x2007:
+ case 0x2008:
+ case 0x2009:
+ case 0x200a:
+ case 0x202f:
+ case 0x205f:
case 0x3000:
return true;
default:
@@ -1502,7 +1515,7 @@ void TextBufferWindow::scrollOneLine(bool forced) {
_scrollMax++;
if (_scrollMax > _scrollBack - 1
- || _lastSeen > _scrollBack - 1)
+ || _lastSeen > _scrollBack - 1)
scrollResize();
if (_lastSeen >= _height)
@@ -1581,7 +1594,7 @@ void TextBufferWindow::scrollResize() {
}
int TextBufferWindow::calcWidth(glui32 *chars, Attributes *attrs, int startchar,
- int numChars, int spw) {
+ int numChars, int spw) {
Screen &screen = *g_vm->_screen;
int w = 0;
int a, b;
@@ -1590,7 +1603,7 @@ int TextBufferWindow::calcWidth(glui32 *chars, Attributes *attrs, int startchar,
for (b = startchar; b < numChars; b++) {
if (attrs[a] != attrs[b]) {
w += screen.stringWidthUni(attrs[a].attrFont(_styles),
- Common::U32String(chars + a, b - a), spw);
+ Common::U32String(chars + a, b - a), spw);
a = b;
}
}
@@ -1615,8 +1628,8 @@ void TextBufferWindow::flowBreak() {
/*--------------------------------------------------------------------------*/
TextBufferWindow::TextBufferRow::TextBufferRow() : _len(0), _newLine(0), _dirty(false),
- _repaint(false), _lPic(nullptr), _rPic(nullptr), _lHyper(0), _rHyper(0),
- _lm(0), _rm(0) {
+ _repaint(false), _lPic(nullptr), _rPic(nullptr), _lHyper(0), _rHyper(0),
+ _lm(0), _rm(0) {
Common::fill(&_chars[0], &_chars[TBLINELEN], 0);
}
diff --git a/engines/gargoyle/window_text_buffer.h b/engines/gargoyle/window_text_buffer.h
index 9f0e20c0c1..199aeb42f6 100644
--- a/engines/gargoyle/window_text_buffer.h
+++ b/engines/gargoyle/window_text_buffer.h
@@ -99,7 +99,7 @@ public:
glui32 *_chars; ///< alias to lines[0].chars
Attributes *_attrs; ///< alias to lines[0].attrs
- ///< adjust margins temporarily for images
+ ///< adjust margins temporarily for images
int _ladjw;
int _ladjn;
int _radjw;
@@ -195,7 +195,9 @@ public:
/**
* Cancel a hyperlink event
*/
- virtual void cancelHyperlinkEvent() override { _hyperRequest = false; }
+ virtual void cancelHyperlinkEvent() override {
+ _hyperRequest = false;
+ }
/**
* Redraw the window
@@ -208,22 +210,34 @@ public:
virtual void getSize(glui32 *width, glui32 *height) const override;
- virtual void requestCharEvent() override { _charRequest = true; }
+ virtual void requestCharEvent() override {
+ _charRequest = true;
+ }
- virtual void requestCharEventUni() override { _charRequestUni = true; }
+ virtual void requestCharEventUni() override {
+ _charRequestUni = true;
+ }
- virtual void setEchoLineEvent(glui32 val) override { _echoLineInput = val != 0; }
+ virtual void setEchoLineEvent(glui32 val) override {
+ _echoLineInput = val != 0;
+ }
- virtual void requestHyperlinkEvent() override { _hyperRequest = true; }
+ virtual void requestHyperlinkEvent() override {
+ _hyperRequest = true;
+ }
- virtual void cancelCharEvent() override { _charRequest = _charRequestUni = false; }
+ virtual void cancelCharEvent() override {
+ _charRequest = _charRequestUni = false;
+ }
virtual void flowBreak() override;
/**
* Returns a pointer to the styles for the window
*/
- virtual const WindowStyle *getStyles() const override { return _styles; }
+ virtual const WindowStyle *getStyles() const override {
+ return _styles;
+ }
};
} // End of namespace Gargoyle
diff --git a/engines/gargoyle/window_text_grid.cpp b/engines/gargoyle/window_text_grid.cpp
index 1e5e41dd53..c232fb11da 100644
--- a/engines/gargoyle/window_text_grid.cpp
+++ b/engines/gargoyle/window_text_grid.cpp
@@ -193,7 +193,7 @@ void TextGridWindow::click(const Point &newPos) {
int y = newPos.y - _bbox.top;
if (_lineRequest || _charRequest || _lineRequestUni || _charRequestUni
- || _moreRequest || _scrollRequest)
+ || _moreRequest || _scrollRequest)
_windows->setFocus(this);
if (_mouseRequest) {
@@ -205,8 +205,7 @@ void TextGridWindow::click(const Point &newPos) {
if (_hyperRequest) {
glui32 linkval = g_vm->_selection->getHyperlink(newPos);
- if (linkval)
- {
+ if (linkval) {
g_vm->_events->store(evtype_Hyperlink, this, linkval, 0);
_hyperRequest = false;
if (g_conf->_safeClicks)
@@ -216,8 +215,7 @@ void TextGridWindow::click(const Point &newPos) {
}
void TextGridWindow::requestLineEvent(char *buf, glui32 maxlen, glui32 initlen) {
- if (_charRequest || _lineRequest || _charRequestUni || _lineRequestUni)
- {
+ if (_charRequest || _lineRequest || _charRequestUni || _lineRequestUni) {
warning("request_line_event: window already has keyboard request");
return;
}
@@ -292,7 +290,7 @@ void TextGridWindow::requestLineEventUni(glui32 *buf, glui32 maxlen, glui32 init
if (initlen) {
TextGridRow *ln = &(_lines[_inOrgY]);
- for (glui32 ix = 0; ix<initlen; ix++) {
+ for (glui32 ix = 0; ix < initlen; ix++) {
ln->_attrs[_inOrgX + ix].set(style_Input);
ln->_chars[_inOrgX + ix] = buf[ix];
}
@@ -304,7 +302,7 @@ void TextGridWindow::requestLineEventUni(glui32 *buf, glui32 maxlen, glui32 init
touch(_inOrgY);
}
-
+
if (_lineTerminatorsBase && _termCt) {
_lineTerminators = new glui32[_termCt + 1];
@@ -341,8 +339,7 @@ void TextGridWindow::cancelLineEvent(Event *ev) {
inarrayrock = _inArrayRock;
if (!unicode) {
- for (ix = 0; ix<_inLen; ix++)
- {
+ for (ix = 0; ix < _inLen; ix++) {
glui32 ch = ln->_chars[_inOrgX + ix];
if (ch > 0xff)
ch = '?';
@@ -351,7 +348,7 @@ void TextGridWindow::cancelLineEvent(Event *ev) {
if (_echoStream)
_echoStream->echoLine((char *)_inBuf, _inLen);
} else {
- for (ix = 0; ix<_inLen; ix++)
+ for (ix = 0; ix < _inLen; ix++)
((glui32 *)inbuf)[ix] = ln->_chars[_inOrgX + ix];
if (_echoStream)
_echoStream->echoLineUni((glui32 *)inbuf, _inLen);
@@ -386,8 +383,7 @@ void TextGridWindow::cancelLineEvent(Event *ev) {
void TextGridWindow::acceptReadChar(glui32 arg) {
glui32 key;
- switch (arg)
- {
+ switch (arg) {
case keycode_Erase:
key = keycode_Delete;
break;
@@ -398,8 +394,7 @@ void TextGridWindow::acceptReadChar(glui32 arg) {
key = arg;
}
- if (key > 0xff && key < (0xffffffff - keycode_MAXVAL + 1))
- {
+ if (key > 0xff && key < (0xffffffff - keycode_MAXVAL + 1)) {
if (!(_charRequestUni) || key > 0x10ffff)
key = keycode_Unknown;
}
@@ -425,12 +420,12 @@ void TextGridWindow::acceptLine(glui32 keycode) {
inarrayrock = _inArrayRock;
if (!unicode) {
- for (ix = 0; ix<_inLen; ix++)
+ for (ix = 0; ix < _inLen; ix++)
((char *)inbuf)[ix] = (char)ln->_chars[_inOrgX + ix];
if (_echoStream)
_echoStream->echoLine((char *)inbuf, _inLen);
} else {
- for (ix = 0; ix<_inLen; ix++)
+ for (ix = 0; ix < _inLen; ix++)
((glui32 *)inbuf)[ix] = ln->_chars[_inOrgX + ix];
if (_echoStream)
_echoStream->echoLineUni((glui32 *)inbuf, _inLen);
@@ -440,8 +435,7 @@ void TextGridWindow::acceptLine(glui32 keycode) {
_curX = 0;
_attr = _origAttr;
- if (_lineTerminators)
- {
+ if (_lineTerminators) {
glui32 val2 = keycode;
if (val2 == keycode_Return)
val2 = 0;
@@ -487,7 +481,7 @@ void TextGridWindow::acceptReadLine(glui32 arg) {
return;
if (_inCurs <= 0)
return;
- for (ix = _inCurs; ix<_inLen; ix++)
+ for (ix = _inCurs; ix < _inLen; ix++)
ln->_chars[_inOrgX + ix - 1] = ln->_chars[_inOrgX + ix];
ln->_chars[_inOrgX + _inLen - 1] = ' ';
_inCurs--;
@@ -499,7 +493,7 @@ void TextGridWindow::acceptReadLine(glui32 arg) {
return;
if (_inCurs >= _inLen)
return;
- for (ix = _inCurs; ix<_inLen - 1; ix++)
+ for (ix = _inCurs; ix < _inLen - 1; ix++)
ln->_chars[_inOrgX + ix] = ln->_chars[_inOrgX + ix + 1];
ln->_chars[_inOrgX + _inLen - 1] = ' ';
_inLen--;
@@ -508,7 +502,7 @@ void TextGridWindow::acceptReadLine(glui32 arg) {
case keycode_Escape:
if (_inLen <= 0)
return;
- for (ix = 0; ix<_inLen; ix++)
+ for (ix = 0; ix < _inLen; ix++)
ln->_chars[_inOrgX + ix] = ' ';
_inLen = 0;
_inCurs = 0;
@@ -553,7 +547,7 @@ void TextGridWindow::acceptReadLine(glui32 arg) {
if (g_conf->_caps && (arg > 0x60 && arg < 0x7b))
arg -= 0x20;
- for (ix = _inLen; ix>_inCurs; ix--)
+ for (ix = _inLen; ix > _inCurs; ix--)
ln->_chars[_inOrgX + ix] = ln->_chars[_inOrgX + ix - 1];
ln->_attrs[_inOrgX + _inLen].set(style_Input);
ln->_chars[_inOrgX + _inCurs] = arg;
@@ -607,11 +601,11 @@ void TextGridWindow::redraw() {
for (k = a, o = x; k < b; k++, o += g_conf->_cellW) {
screen.drawStringUni(Point(o * GLI_SUBPIX, y + g_conf->_baseLine), font,
- fgcolor, Common::U32String(&ln->_chars[k], 1), -1);
+ fgcolor, Common::U32String(&ln->_chars[k], 1), -1);
}
if (link) {
screen.fillRect(Rect::fromXYWH(x, y + g_conf->_baseLine + 1, w,
- g_conf->_linkStyle), g_conf->_linkColor);
+ g_conf->_linkStyle), g_conf->_linkColor);
g_vm->_selection->putHyperlink(link, x, y, x + w, y + g_conf->_leading);
}
@@ -629,11 +623,11 @@ void TextGridWindow::redraw() {
for (k = a, o = x; k < b; k++, o += g_conf->_cellW) {
screen.drawStringUni(Point(o * GLI_SUBPIX, y + g_conf->_baseLine), font,
- fgcolor, Common::U32String(&ln->_chars[k], 1));
+ fgcolor, Common::U32String(&ln->_chars[k], 1));
}
if (link) {
screen.fillRect(Rect::fromXYWH(x, y + g_conf->_baseLine + 1, w, g_conf->_linkStyle),
- g_conf->_linkColor);
+ g_conf->_linkColor);
g_vm->_selection->putHyperlink(link, x, y, x + w, y + g_conf->_leading);
}
}
diff --git a/engines/gargoyle/window_text_grid.h b/engines/gargoyle/window_text_grid.h
index 8470c36fd2..fa9fe8b18b 100644
--- a/engines/gargoyle/window_text_grid.h
+++ b/engines/gargoyle/window_text_grid.h
@@ -57,7 +57,7 @@ private:
void touch(int line);
/**
- * Return or enter, during line input. Ends line input.
+ * Return or enter, during line input. Ends line input.
*/
void acceptLine(glui32 keycode);
public:
@@ -66,7 +66,7 @@ public:
int _curX, _curY; ///< the window cursor position
- ///< for line input
+ ///< for line input
void *_inBuf; ///< unsigned char* for latin1, glui32* for unicode
int _inOrgX, _inOrgY;
int _inMax;
@@ -125,7 +125,9 @@ public:
/**
* Cancel a hyperlink event
*/
- virtual void cancelHyperlinkEvent() override { _hyperRequest = false; }
+ virtual void cancelHyperlinkEvent() override {
+ _hyperRequest = false;
+ }
/**
* Redraw the window
@@ -138,7 +140,9 @@ public:
virtual void getSize(glui32 *width, glui32 *height) const override;
- virtual void requestCharEvent() override { _charRequest = true; }
+ virtual void requestCharEvent() override {
+ _charRequest = true;
+ }
/**
* Prepare for inputing a line
@@ -158,20 +162,32 @@ public:
/**
* Cancel a mouse event
*/
- virtual void cancelMouseEvent() override { _mouseRequest = false; }
+ virtual void cancelMouseEvent() override {
+ _mouseRequest = false;
+ }
- virtual void requestCharEventUni() override { _charRequestUni = true; }
+ virtual void requestCharEventUni() override {
+ _charRequestUni = true;
+ }
- virtual void requestMouseEvent() override { _mouseRequest = true; }
+ virtual void requestMouseEvent() override {
+ _mouseRequest = true;
+ }
- virtual void requestHyperlinkEvent() override { _hyperRequest = true; }
+ virtual void requestHyperlinkEvent() override {
+ _hyperRequest = true;
+ }
- virtual void cancelCharEvent() override { _charRequest = _charRequestUni = false; }
+ virtual void cancelCharEvent() override {
+ _charRequest = _charRequestUni = false;
+ }
/**
* Returns a pointer to the styles for the window
*/
- virtual const WindowStyle *getStyles() const override { return _styles; }
+ virtual const WindowStyle *getStyles() const override {
+ return _styles;
+ }
};
} // End of namespace Gargoyle
diff --git a/engines/gargoyle/windows.cpp b/engines/gargoyle/windows.cpp
index 5bf2b3eac9..883e3d6da4 100644
--- a/engines/gargoyle/windows.cpp
+++ b/engines/gargoyle/windows.cpp
@@ -52,7 +52,7 @@ byte Windows::_zcolor_Bright[3];
/*--------------------------------------------------------------------------*/
Windows::Windows(Graphics::Screen *screen) : _screen(screen), _windowList(nullptr),
- _rootWin(nullptr), _focusWin(nullptr) {
+ _rootWin(nullptr), _focusWin(nullptr) {
_overrideReverse = false;
_overrideFgSet = false;
_overrideBgSet = false;
@@ -71,7 +71,7 @@ Windows::Windows(Graphics::Screen *screen) : _screen(screen), _windowList(nullpt
}
Window *Windows::windowOpen(Window *splitwin, glui32 method, glui32 size,
- glui32 wintype, glui32 rock) {
+ glui32 wintype, glui32 rock) {
Window *newwin, *oldparent;
PairWindow *pairWin;
glui32 val;
@@ -93,23 +93,20 @@ Window *Windows::windowOpen(Window *splitwin, glui32 method, glui32 size,
}
val = (method & winmethod_DivisionMask);
- if (val != winmethod_Fixed && val != winmethod_Proportional)
- {
+ if (val != winmethod_Fixed && val != winmethod_Proportional) {
warning("window_open: invalid method (not fixed or proportional)");
return nullptr;
}
val = (method & winmethod_DirMask);
if (val != winmethod_Above && val != winmethod_Below
- && val != winmethod_Left && val != winmethod_Right)
- {
+ && val != winmethod_Left && val != winmethod_Right) {
warning("window_open: invalid method (bad direction)");
return nullptr;
}
oldparent = splitwin->_parent;
- if (oldparent && oldparent->_type != wintype_Pair)
- {
+ if (oldparent && oldparent->_type != wintype_Pair) {
warning("window_open: parent window is not Pair");
return nullptr;
}
@@ -283,8 +280,8 @@ void Windows::inputGuessFocus() {
do {
if (altWin
- && (altWin->_lineRequest || altWin->_charRequest ||
- altWin->_lineRequestUni || altWin->_charRequestUni))
+ && (altWin->_lineRequest || altWin->_charRequest ||
+ altWin->_lineRequestUni || altWin->_charRequestUni))
break;
altWin = iterateTreeOrder(altWin);
} while (altWin != _focusWin);
@@ -311,12 +308,11 @@ void Windows::inputMoreFocus() {
void Windows::inputNextFocus() {
Window *altWin = _focusWin;
- do
- {
+ do {
altWin = iterateTreeOrder(altWin);
if (altWin
- && (altWin->_lineRequest || altWin->_charRequest ||
- altWin->_lineRequestUni || altWin->_charRequestUni))
+ && (altWin->_lineRequest || altWin->_charRequest ||
+ altWin->_lineRequestUni || altWin->_charRequestUni))
break;
} while (altWin != _focusWin);
@@ -485,10 +481,10 @@ Window *Windows::iterateTreeOrder(Window *win) {
/*--------------------------------------------------------------------------*/
Window::Window(Windows *windows, glui32 rock) : _windows(windows), _rock(rock),
- _type(0), _parent(nullptr), _next(nullptr), _prev(nullptr), _yAdj(0),
- _lineRequest(0), _lineRequestUni(0), _charRequest(0), _charRequestUni(0),
- _mouseRequest(0), _hyperRequest(0), _moreRequest(0), _scrollRequest(0), _imageLoaded(0),
- _echoLineInputBase(true), _lineTerminatorsBase(nullptr), _termCt(0), _echoStream(nullptr) {
+ _type(0), _parent(nullptr), _next(nullptr), _prev(nullptr), _yAdj(0),
+ _lineRequest(0), _lineRequestUni(0), _charRequest(0), _charRequestUni(0),
+ _mouseRequest(0), _hyperRequest(0), _moreRequest(0), _scrollRequest(0), _imageLoaded(0),
+ _echoLineInputBase(true), _lineTerminatorsBase(nullptr), _termCt(0), _echoStream(nullptr) {
_attr.fgset = 0;
_attr.bgset = 0;
_attr.reverse = 0;
@@ -509,7 +505,7 @@ Window::~Window() {
if (g_vm->gli_unregister_obj)
(*g_vm->gli_unregister_obj)(this, gidisp_Class_Window, _dispRock);
-
+
_echoStream = nullptr;
delete _stream;
@@ -704,14 +700,14 @@ byte *Attributes::attrBg(WindowStyle *styles) {
if (zfset && zfore != Windows::_zcolor_fg) {
Windows::_zcolor_Foreground[0] = (zfore >> 16) & 0xff;
Windows::_zcolor_Foreground[1] = (zfore >> 8) & 0xff;
- Windows::_zcolor_Foreground[2] = (zfore)& 0xff;
+ Windows::_zcolor_Foreground[2] = (zfore) & 0xff;
Windows::_zcolor_fg = zfore;
}
if (zbset && zback != Windows::_zcolor_bg) {
Windows::_zcolor_Background[0] = (zback >> 16) & 0xff;
Windows::_zcolor_Background[1] = (zback >> 8) & 0xff;
- Windows::_zcolor_Background[2] = (zback)& 0xff;
+ Windows::_zcolor_Background[2] = (zback) & 0xff;
Windows::_zcolor_bg = zback;
}
@@ -726,11 +722,10 @@ byte *Attributes::attrBg(WindowStyle *styles) {
return Windows::rgbShift(Windows::_zcolor_Foreground);
else
return Windows::_zcolor_Foreground;
+ else if (zbset && !memcmp(styles[style].fg, Windows::_zcolor_Background, 3))
+ return Windows::_zcolor_LightGrey;
else
- if (zbset && !memcmp(styles[style].fg, Windows::_zcolor_Background, 3))
- return Windows::_zcolor_LightGrey;
- else
- return styles[style].fg;
+ return styles[style].fg;
}
}
@@ -746,14 +741,14 @@ byte *Attributes::attrFg(WindowStyle *styles) {
if (zfset && zfore != Windows::_zcolor_fg) {
Windows::_zcolor_Foreground[0] = (zfore >> 16) & 0xff;
Windows::_zcolor_Foreground[1] = (zfore >> 8) & 0xff;
- Windows::_zcolor_Foreground[2] = (zfore)& 0xff;
+ Windows::_zcolor_Foreground[2] = (zfore) & 0xff;
Windows::_zcolor_fg = zfore;
}
if (zbset && zback != Windows::_zcolor_bg) {
Windows::_zcolor_Background[0] = (zback >> 16) & 0xff;
Windows::_zcolor_Background[1] = (zback >> 8) & 0xff;
- Windows::_zcolor_Background[2] = (zback)& 0xff;
+ Windows::_zcolor_Background[2] = (zback) & 0xff;
Windows::_zcolor_bg = zback;
}
@@ -763,11 +758,10 @@ byte *Attributes::attrFg(WindowStyle *styles) {
return Windows::rgbShift(Windows::_zcolor_Foreground);
else
return Windows::_zcolor_Foreground;
+ else if (zbset && !memcmp(styles[style].fg, Windows::_zcolor_Background, 3))
+ return Windows::_zcolor_LightGrey;
else
- if (zbset && !memcmp(styles[style].fg, Windows::_zcolor_Background, 3))
- return Windows::_zcolor_LightGrey;
- else
- return styles[style].fg;
+ return styles[style].fg;
} else {
if (zbset)
return Windows::_zcolor_Background;
diff --git a/engines/gargoyle/windows.h b/engines/gargoyle/windows.h
index 0e4020bb76..4838d7b245 100644
--- a/engines/gargoyle/windows.h
+++ b/engines/gargoyle/windows.h
@@ -63,7 +63,9 @@ public:
/**
* Dereference
*/
- Window *operator*() const { return _current; }
+ Window *operator*() const {
+ return _current;
+ }
/**
* Move to next
@@ -73,17 +75,21 @@ public:
/**
* Equality test
*/
- bool operator==(const iterator &i) { return _current == i._current; }
+ bool operator==(const iterator &i) {
+ return _current == i._current;
+ }
/**
* Inequality test
*/
- bool operator!=(const iterator &i) { return _current != i._current; }
+ bool operator!=(const iterator &i) {
+ return _current != i._current;
+ }
};
friend class iterator;
private:
Graphics::Screen *_screen;
- Window * _windowList; ///< List of all windows
+ Window *_windowList; ///< List of all windows
Window *_rootWin; ///< The topmost window
Window *_focusWin; ///< The window selected by the player
bool _drawSelect;
@@ -149,7 +155,7 @@ public:
* Open a new window
*/
Window *windowOpen(Window *splitwin, glui32 method, glui32 size,
- glui32 wintype, glui32 rock);
+ glui32 wintype, glui32 rock);
/**
* Close an existing window
@@ -159,17 +165,23 @@ public:
/**
* Return the root window
*/
- Window *getRoot() const { return _rootWin; }
+ Window *getRoot() const {
+ return _rootWin;
+ }
/**
* Gets the focused window
*/
- Window *getFocusWindow() const { return _focusWin; }
+ Window *getFocusWindow() const {
+ return _focusWin;
+ }
/**
* Setst the focused window
*/
- void setFocus(Window *win) { _focusWin = win; }
+ void setFocus(Window *win) {
+ _focusWin = win;
+ }
/**
* Pick first window which might want input. This is called after every keystroke.
@@ -188,7 +200,9 @@ public:
void selectionChanged();
- void clearClaimSelect() { _claimSelect = false; }
+ void clearClaimSelect() {
+ _claimSelect = false;
+ }
/**
* Rearrange windows
@@ -207,12 +221,16 @@ public:
/**
* Get an iterator that will move over the tree
*/
- iterator begin() { return iterator(this, _windowList); }
+ iterator begin() {
+ return iterator(this, _windowList);
+ }
/**
* Returns the end point of window iteration
*/
- iterator end() { return iterator(this, nullptr); }
+ iterator end() {
+ return iterator(this, nullptr);
+ }
};
/**
@@ -272,14 +290,14 @@ struct WindowStyle {
* Window attributes
*/
struct Attributes {
- unsigned fgset : 1;
- unsigned bgset : 1;
- unsigned reverse : 1;
- unsigned : 1;
- unsigned style : 4;
- unsigned fgcolor : 24;
- unsigned bgcolor : 24;
- unsigned hyper : 32;
+ unsigned fgset : 1;
+ unsigned bgset : 1;
+ unsigned reverse : 1;
+ unsigned : 1;
+ unsigned style : 4;
+ unsigned fgcolor : 24;
+ unsigned bgcolor : 24;
+ unsigned hyper : 32;
/**
* Constructor
@@ -306,16 +324,16 @@ struct Attributes {
*/
bool operator==(const Attributes &src) {
return fgset == src.fgset && bgset == src.bgset && reverse == src.reverse
- && style == src.style && fgcolor == src.fgcolor && bgcolor == src.bgcolor
- && hyper == src.hyper;
+ && style == src.style && fgcolor == src.fgcolor && bgcolor == src.bgcolor
+ && hyper == src.hyper;
}
/**
* Inequality comparison
*/
bool operator!=(const Attributes &src) {
return fgset != src.fgset || bgset != src.bgset || reverse != src.reverse
- || style != src.style || fgcolor != src.fgcolor || bgcolor != src.bgcolor
- || hyper != src.hyper;
+ || style != src.style || fgcolor != src.fgcolor || bgcolor != src.bgcolor
+ || hyper != src.hyper;
}
/**
@@ -331,7 +349,9 @@ struct Attributes {
/**
* Get the font for the current font style
*/
- FACES attrFont(WindowStyle *styles) const { return styles[style].font; }
+ FACES attrFont(WindowStyle *styles) const {
+ return styles[style].font;
+ }
};
/**
@@ -391,12 +411,16 @@ public:
/**
* Rearranges the window
*/
- virtual void rearrange(const Rect &box) { _bbox = box; }
+ virtual void rearrange(const Rect &box) {
+ _bbox = box;
+ }
/**
* Get window split size within parent pair window
*/
- virtual glui32 getSplit(glui32 size, bool vertical) const { return 0; }
+ virtual glui32 getSplit(glui32 size, bool vertical) const {
+ return 0;
+ }
/**
* Write a character
@@ -406,7 +430,9 @@ public:
/**
* Unput a unicode character
*/
- virtual bool unputCharUni(uint32 ch) { return false; }
+ virtual bool unputCharUni(uint32 ch) {
+ return false;
+ }
/**
* Move the cursor