diff options
author | Joost Peters | 2003-04-20 21:56:58 +0000 |
---|---|---|
committer | Joost Peters | 2003-04-20 21:56:58 +0000 |
commit | be4915078fee70c81888ecf5757e529d1675b948 (patch) | |
tree | 6686ec4fae0f771cec14982b75d91ca21e0f4485 /sky/text.cpp | |
parent | 54c95e809950d8ee2cf9483fb8e9ac8b3355484c (diff) | |
download | scummvm-rg350-be4915078fee70c81888ecf5757e529d1675b948.tar.gz scummvm-rg350-be4915078fee70c81888ecf5757e529d1675b948.tar.bz2 scummvm-rg350-be4915078fee70c81888ecf5757e529d1675b948.zip |
added v0.0331 text decoder
svn-id: r7045
Diffstat (limited to 'sky/text.cpp')
-rw-r--r-- | sky/text.cpp | 628 |
1 files changed, 628 insertions, 0 deletions
diff --git a/sky/text.cpp b/sky/text.cpp index fc3d5fbd4d..e1152de215 100644 --- a/sky/text.cpp +++ b/sky/text.cpp @@ -1351,6 +1351,634 @@ e8fb: } +char SkyText_v00331::getTextChar() { + + //This code is based on disassembly of the v0.0331 binary. + + if (getTBit()) + goto f3db; + if (getTBit()) + goto f39c; + if (getTBit()) + goto f38f; + + return (char)0x20; + +f38f: + if (getTBit()) + goto f399; + + return (char)0x65; + +f399: + return (char)0x61; + +f39c: + if (getTBit()) + goto f3c4; + if (getTBit()) + goto f3b7; + if (getTBit()) + goto f3b4; + + return (char)0x6f; + +f3b4: + return (char)0x73; + +f3b7: + if (getTBit()) + goto f3c1; + + return (char)0x74; + +f3c1: + return (char)0x6e; + +f3c4: + if (getTBit()) + goto f3d8; + if (getTBit()) + goto f3d5; + + return (char)0x2e; + +f3d5: + return (char)0x69; + +f3d8: + return (char)0x72; + +f3db: + if (getTBit()) + goto f453; + if (getTBit()) + goto f414; + if (getTBit()) + goto f407; + if (getTBit()) + goto f404; + if (getTBit()) + goto f401; + + return (char)0x0; + +f401: + return (char)0x45; + +f404: + return (char)0x75; + +f407: + if (getTBit()) + goto f411; + + return (char)0x6d; + +f411: + return (char)0x41; + +f414: + if (getTBit()) + goto f43c; + if (getTBit()) + goto f42f; + if (getTBit()) + goto f42c; + + return (char)0x6c; + +f42c: + return (char)0x49; + +f42f: + if (getTBit()) + goto f439; + + return (char)0x64; + +f439: + return (char)0x52; + +f43c: + if (getTBit()) + goto f450; + if (getTBit()) + goto f44d; + + return (char)0x4e; + +f44d: + return (char)0x53; + +f450: + return (char)0x54; + +f453: + if (getTBit()) + goto f4cb; + if (getTBit()) + goto f48c; + if (getTBit()) + goto f47f; + if (getTBit()) + goto f47c; + if (getTBit()) + goto f479; + + return (char)0x4f; + +f479: + return (char)0x68; + +f47c: + return (char)0x63; + +f47f: + if (getTBit()) + goto f489; + + return (char)0x44; + +f489: + return (char)0x67; + +f48c: + if (getTBit()) + goto f4b4; + if (getTBit()) + goto f4a7; + if (getTBit()) + goto f4a4; + + return (char)0x4c; + +f4a4: + return (char)0x43; + +f4a7: + if (getTBit()) + goto f4b1; + + return (char)0x70; + +f4b1: + return (char)0x55; + +f4b4: + if (getTBit()) + goto f4c8; + if (getTBit()) + goto f4c5; + + return (char)0x21; + +f4c5: + return (char)0x79; + +f4c8: + return (char)0x4d; + +f4cb: + if (getTBit()) + goto f52f; + if (getTBit()) + goto f504; + if (getTBit()) + goto f4f7; + if (getTBit()) + goto f4f4; + if (getTBit()) + goto f4f1; + + return (char)0x50; + +f4f1: + return (char)0x76; + +f4f4: + return (char)0x48; + +f4f7: + if (getTBit()) + goto f501; + + return (char)0x3f; + +f501: + return (char)0x62; + +f504: + if (getTBit()) + goto f522; + if (getTBit()) + goto f51f; + if (getTBit()) + goto f51c; + + return (char)0x27; + +f51c: + return (char)0x66; + +f51f: + return (char)0x2c; + +f522: + if (getTBit()) + goto f52c; + + return (char)0x47; + +f52c: + return (char)0x42; + +f52f: + if (getTBit()) + goto f593; + if (getTBit()) + goto f568; + if (getTBit()) + goto f55b; + if (getTBit()) + goto f558; + if (getTBit()) + goto f555; + + return (char)0x56; + +f555: + return (char)0x6b; + +f558: + return (char)0x46; + +f55b: + if (getTBit()) + goto f565; + + return (char)0x71; + +f565: + return (char)0x2a; + +f568: + if (getTBit()) + goto f586; + if (getTBit()) + goto f583; + if (getTBit()) + goto f580; + + return (char)0x77; + +f580: + return (char)0x4b; + +f583: + return (char)0x2d; + +f586: + if (getTBit()) + goto f590; + + return (char)0x57; + +f590: + return (char)0x4a; + +f593: + if (getTBit()) + goto f5ed; + if (getTBit()) + goto f5c2; + if (getTBit()) + goto f5b5; + if (getTBit()) + goto f5b2; + + return (char)0x7a; + +f5b2: + return (char)0x2b; + +f5b5: + if (getTBit()) + goto f5bf; + + return (char)0x59; + +f5bf: + return (char)0x6a; + +f5c2: + if (getTBit()) + goto f5e0; + if (getTBit()) + goto f5dd; + if (getTBit()) + goto f5da; + + return (char)0x85; + +f5da: + return (char)0x29; + +f5dd: + return (char)0x51; + +f5e0: + if (getTBit()) + goto f5ea; + + return (char)0x5a; + +f5ea: + return (char)0x7e; + +f5ed: + if (getTBit()) + goto f65b; + if (getTBit()) + goto f626; + if (getTBit()) + goto f619; + if (getTBit()) + goto f616; + if (getTBit()) + goto f613; + + return (char)0x8b; + +f613: + return (char)0x3c; + +f616: + return (char)0x8a; + +f619: + if (getTBit()) + goto f623; + + return (char)0x7f; + +f623: + return (char)0x3a; + +f626: + if (getTBit()) + goto f644; + if (getTBit()) + goto f641; + if (getTBit()) + goto f63e; + + return (char)0x87; + +f63e: + return (char)0x23; + +f641: + return (char)0x78; + +f644: + if (getTBit()) + goto f658; + if (getTBit()) + goto f655; + + return (char)0x58; + +f655: + return (char)0x91; + +f658: + return (char)0x83; + +f65b: + if (getTBit()) + goto f6bf; + if (getTBit()) + goto f694; + if (getTBit()) + goto f687; + if (getTBit()) + goto f684; + if (getTBit()) + goto f681; + + return (char)0x88; + +f681: + return (char)0x60; + +f684: + return (char)0x32; + +f687: + if (getTBit()) + goto f691; + + return (char)0x30; + +f691: + return (char)0x31; + +f694: + if (getTBit()) + goto f6b2; + if (getTBit()) + goto f6af; + if (getTBit()) + goto f6ac; + + return (char)0x28; + +f6ac: + return (char)0x2f; + +f6af: + return (char)0x5d; + +f6b2: + if (getTBit()) + goto f6bc; + + return (char)0x3d; + +f6bc: + return (char)0x86; + +f6bf: + if (getTBit()) + goto f70f; + if (getTBit()) + goto f6ee; + if (getTBit()) + goto f6e1; + if (getTBit()) + goto f6de; + + return (char)0x5e; + +f6de: + return (char)0x33; + +f6e1: + if (getTBit()) + goto f6eb; + + return (char)0x39; + +f6eb: + return (char)0x34; + +f6ee: + if (getTBit()) + goto f702; + if (getTBit()) + goto f6ff; + + return (char)0x7d; + +f6ff: + return (char)0x38; + +f702: + if (getTBit()) + goto f70c; + + return (char)0x5c; + +f70c: + return (char)0x22; + +f70f: + if (getTBit()) + goto f755; + if (getTBit()) + goto f73e; + if (getTBit()) + goto f731; + if (getTBit()) + goto f72e; + + return (char)0x3e; + +f72e: + return (char)0x26; + +f731: + if (getTBit()) + goto f73b; + + return (char)0x8d; + +f73b: + return (char)0x7b; + +f73e: + if (getTBit()) + goto f752; + if (getTBit()) + goto f74f; + + return (char)0x35; + +f74f: + return (char)0x36; + +f752: + return (char)0x8f; + +f755: + if (getTBit()) + goto f791; + if (getTBit()) + goto f77a; + if (getTBit()) + goto f777; + if (getTBit()) + goto f774; + + return (char)0x8e; + +f774: + return (char)0x8c; + +f777: + return (char)0x37; + +f77a: + if (getTBit()) + goto f78e; + if (getTBit()) + goto f78b; + + return (char)0x89; + +f78b: + return (char)0x24; + +f78e: + return (char)0x92; + +f791: + if (getTBit()) + goto f7b9; + if (getTBit()) + goto f7ac; + if (getTBit()) + goto f7a9; + + return (char)0x5b; + +f7a9: + return (char)0x80; + +f7ac: + if (getTBit()) + goto f7b6; + + return (char)0x81; + +f7b6: + return (char)0x40; + +f7b9: + if (getTBit()) + goto f7cd; + if (getTBit()) + goto f7ca; + + return (char)0x5f; + +f7ca: + return (char)0x82; + +f7cd: + if (getTBit()) + goto f7d7; + + return (char)0x25; + +f7d7: + if (getTBit()) + goto f7e1; + + return (char)0x9; + +f7e1: + if (getTBit()) + goto f7eb; + + return (char)0x3b; + +f7eb: + return (char)0x7c; + +} + char SkyText_v00372::getTextChar() { //This code is based on the original sources |