aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.h
diff options
context:
space:
mode:
authorMax Horn2010-06-10 15:25:36 +0000
committerMax Horn2010-06-10 15:25:36 +0000
commit874151f5d12d86557dbea3bde180dbba0dfd4a2c (patch)
tree264fd939d56d028a3fcd1fee4489ba8c9e75eecf /engines/sci/engine/kernel.h
parent8295eb09cd7f0a62359631ab4b1975b2b6364bf3 (diff)
downloadscummvm-rg350-874151f5d12d86557dbea3bde180dbba0dfd4a2c.tar.gz
scummvm-rg350-874151f5d12d86557dbea3bde180dbba0dfd4a2c.tar.bz2
scummvm-rg350-874151f5d12d86557dbea3bde180dbba0dfd4a2c.zip
SCI: Cleanup kernel signature code a bit.
* Moved KSIG_SPEC_* from kernel.h to kernel.cpp * Clarified the comment on KSIG_SPEC_* a bit * Changed the other KSIG_ #defines into an enum * Removed KSIG_TERMINATOR and KSIG_SPEC_ARITMETIC (sic) svn-id: r49578
Diffstat (limited to 'engines/sci/engine/kernel.h')
-rw-r--r--engines/sci/engine/kernel.h40
1 files changed, 12 insertions, 28 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index c5513f1240..fc4b51f4ee 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -95,36 +95,20 @@ struct List; // from segment.h
//#define DISABLE_VALIDATIONS // enable to stop validation checks
// ---- Kernel signatures -----------------------------------------------------
-#define KSIG_TERMINATOR 0
-
-// Uncompiled signatures
-#define KSIG_SPEC_ARITMETIC 'i'
-#define KSIG_SPEC_LIST 'l'
-#define KSIG_SPEC_NODE 'n'
-#define KSIG_SPEC_OBJECT 'o'
-#define KSIG_SPEC_REF 'r' // Said Specs and strings
-#define KSIG_SPEC_ARITHMETIC 'i'
-#define KSIG_SPEC_NULL 'z'
-#define KSIG_SPEC_ANY '.'
-#define KSIG_SPEC_ELLIPSIS '*' // Arbitrarily more TYPED arguments
-
-#define KSIG_SPEC_SUM_DONE ('a' - 'A') // Use small letters to indicate end of sum type
-/* Use capital letters for sum types, e.g.
-** "LNoLr" for a function which takes two arguments:
-** (1) list, node or object
-** (2) list or ref
-*/
+
// Compiled signatures
-#define KSIG_LIST 0x01
-#define KSIG_NODE 0x02
-#define KSIG_OBJECT 0x04
-#define KSIG_REF 0x08
-#define KSIG_ARITHMETIC 0x10
-
-#define KSIG_NULL 0x40
-#define KSIG_ANY 0x5f
-#define KSIG_ELLIPSIS 0x80
+enum {
+ KSIG_LIST = 0x01,
+ KSIG_NODE = 0x02,
+ KSIG_OBJECT = 0x04,
+ KSIG_REF = 0x08,
+ KSIG_ARITHMETIC = 0x10,
+ KSIG_NULL = 0x40,
+ KSIG_ANY = 0x5f,
+ KSIG_ELLIPSIS = 0x80
+};
+
// ----------------------------------------------------------------------------
/* Generic description: */