aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2009-02-15 22:01:09 +0000
committerMax Horn2009-02-15 22:01:09 +0000
commit4eff1002f99c15c213144c2aef1bf49c1bbb65e6 (patch)
treeadbd8d3dd57f02f95e4cdd1a3716cf99a0b2d761 /engines
parent7a72318a12bec184885beeef9b58b5f968c7b3bc (diff)
downloadscummvm-rg350-4eff1002f99c15c213144c2aef1bf49c1bbb65e6.tar.gz
scummvm-rg350-4eff1002f99c15c213144c2aef1bf49c1bbb65e6.tar.bz2
scummvm-rg350-4eff1002f99c15c213144c2aef1bf49c1bbb65e6.zip
SCI: Got rid of a nasty hack where class, delete, new were re#defined because FreeSCI used these C++ keywords for variable names
svn-id: r38312
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/game.cpp6
-rw-r--r--engines/sci/engine/kernel.cpp4
-rw-r--r--engines/sci/engine/kgraphics.cpp2
-rw-r--r--engines/sci/engine/vm.cpp24
-rw-r--r--engines/sci/include/kernel.h2
-rw-r--r--engines/sci/include/old_objects.h8
-rw-r--r--engines/sci/include/resource.h5
-rw-r--r--engines/sci/include/vm.h8
-rw-r--r--engines/sci/scicore/script.cpp2
-rw-r--r--engines/sci/scicore/vocab.cpp4
10 files changed, 24 insertions, 41 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp
index fc24727c55..ccf720f927 100644
--- a/engines/sci/engine/game.cpp
+++ b/engines/sci/engine/game.cpp
@@ -305,13 +305,13 @@ game_init_sound(state_t *s, int sound_flags)
/* Maps a class ID to the script the corresponding class is contained in */
/* Returns the script number suggested by vocab.996, or -1 if there's none */
static int
-suggested_script(resource_t *res, unsigned int class)
+suggested_script(resource_t *res, unsigned int classId)
{
int offset;
- if (!res || class >= res->size >> 2)
+ if (!res || classId >= res->size >> 2)
return -1;
- offset = 2 + (class << 2);
+ offset = 2 + (classId << 2);
return getInt16(res->data + offset);
}
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp
index 538bdcd60c..1c403f0a40 100644
--- a/engines/sci/engine/kernel.cpp
+++ b/engines/sci/engine/kernel.cpp
@@ -499,7 +499,7 @@ k_Unknown(state_t *s, int funct_nr, int argc, reg_t *argv)
} else switch(kfunct_mappers[funct_nr].type) {
case KF_NEW:
- return kfunct_mappers[funct_nr].new.fun(s, funct_nr, argc, argv);
+ return kfunct_mappers[funct_nr].sig_pair.fun(s, funct_nr, argc, argv);
case KF_NONE:
default:
@@ -907,7 +907,7 @@ script_map_kernel(state_t *s)
break;
case KF_NEW:
- s->kfunct_table[functnr] = kfunct_mappers[found].new;
+ s->kfunct_table[functnr] = kfunct_mappers[found].sig_pair;
kernel_compile_signature(&(s->kfunct_table[functnr].signature));
++mapped;
break;
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index e011fdbcf7..0d12e40d6f 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -1997,7 +1997,7 @@ _k_view_list_dispose_loop(state_t *s, list_t *list, gfxw_dyn_view_t *widget,
}
if (is_object(s, obj)) {
- if (invoke_selector(INV_SEL(obj, delete, 1), 0))
+ if (invoke_selector(INV_SEL(obj, delete_, 1), 0))
SCIkwarn(SCIkWARNING, "Object at "PREG" requested deletion, but does not have"
" a delete funcselector\n", PRINT_REG(obj));
if (_k_animate_ran) {
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index c9c4560d67..b19d07a7d1 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -230,7 +230,7 @@ script_error(state_t *s, const char *file, int line, const char *reason)
reg_t
get_class_address(state_t *s, int classnr, int lock, reg_t caller)
{
- class_t *class = s->classtable + classnr;
+ class_t *the_class = s->classtable + classnr;
if (NULL == s) {
sciprintf("vm.c: get_class_address(): NULL passed for \"s\"\n");
@@ -239,26 +239,26 @@ get_class_address(state_t *s, int classnr, int lock, reg_t caller)
if (classnr < 0
|| s->classtable_size <= classnr
- || class->script < 0) {
+ || the_class->script < 0) {
sciprintf("[VM] Attempt to dereference class %x, which doesn't exist (max %x)\n",
classnr, s->classtable_size);
script_error_flag = script_debug_flag = 1;
return NULL_REG;
} else {
- if (!class->reg.segment) {
- script_get_segment(s, class->script, lock);
+ if (!the_class->reg.segment) {
+ script_get_segment(s, the_class->script, lock);
- if (!class->reg.segment) {
+ if (!the_class->reg.segment) {
sciprintf("[VM] Trying to instantiate class %x by instantiating script 0x%x (%03d) failed;"
- " Entering debugger.\n", classnr, class->script);
+ " Entering debugger.\n", classnr, the_class->script);
script_error_flag = script_debug_flag = 1;
return NULL_REG;
}
} else
- if (caller.segment != class->reg.segment)
- sm_increment_lockers(&s->seg_manager, class->reg.segment, SEG_ID);
+ if (caller.segment != the_class->reg.segment)
+ sm_increment_lockers(&s->seg_manager, the_class->reg.segment, SEG_ID);
- return class->reg;
+ return the_class->reg;
}
}
@@ -458,11 +458,11 @@ send_selector(state_t *s, reg_t send_obj, reg_t work_obj,
{ /* Argument is supplied -> Selector should be set */
if (print_send_action) {
- reg_t val = *varp;
- reg_t new = argp[1];
+ reg_t oldReg = *varp;
+ reg_t newReg = argp[1];
sciprintf("[write to selector: change "PREG" to "PREG"]\n",
- PRINT_REG(val), PRINT_REG(new));
+ PRINT_REG(oldReg), PRINT_REG(newReg));
print_send_action = 0;
}
send_calls[send_calls_nr].address.var = varp; /* register the call */
diff --git a/engines/sci/include/kernel.h b/engines/sci/include/kernel.h
index 6c4b15926c..7737973a78 100644
--- a/engines/sci/include/kernel.h
+++ b/engines/sci/include/kernel.h
@@ -392,7 +392,7 @@ typedef struct {
typedef struct {
int type; /* KF_* */
const char *name;
- kfunct_sig_pair_t new;
+ kfunct_sig_pair_t sig_pair;
} sci_kernel_function_t;
extern sci_kernel_function_t kfunct_mappers[];
diff --git a/engines/sci/include/old_objects.h b/engines/sci/include/old_objects.h
index 850e489a83..e735a4dbc9 100644
--- a/engines/sci/include/old_objects.h
+++ b/engines/sci/include/old_objects.h
@@ -4,12 +4,6 @@
#include <sciresource.h>
#include <util.h>
-#ifdef __cplusplus
-# define new new_
-# define delete delete_
-# define class class_
-#endif /* __cplusplus */
-
typedef FLEXARRAY(script_opcode,int number;) script_method;
typedef struct object_
@@ -33,7 +27,7 @@ typedef struct object_
typedef struct
{
int id;
- object* class;
+ object* classID;
byte* heap;
int offset;
} instance;
diff --git a/engines/sci/include/resource.h b/engines/sci/include/resource.h
index 88df611e59..24b7c716c7 100644
--- a/engines/sci/include/resource.h
+++ b/engines/sci/include/resource.h
@@ -212,11 +212,6 @@ putInt16(byte* dest, int src)
** (int) src: value to write
*/
-#ifdef _cplusplus
-# define delete _freesci_cplusplus_workaround_delete
-# define new _freesci_cplusplus_workaround_new
-#endif
-
#define SCI_MEMTEST memtest(__FILE__, __LINE__)
/*-- queues --*/
diff --git a/engines/sci/include/vm.h b/engines/sci/include/vm.h
index 31141126ff..863d9c2186 100644
--- a/engines/sci/include/vm.h
+++ b/engines/sci/include/vm.h
@@ -39,12 +39,6 @@
#ifndef _SCI_VM_H
#define _SCI_VM_H
-#ifdef __cplusplus
-# define new new_
-# define delete delete_
-# define class class_
-#endif /* __cplusplus */
-
#define VM_STACK_SIZE 0x1000
/* Number of bytes to be allocated for the stack */
@@ -338,7 +332,7 @@ typedef struct {
selector_t caller, moveDone, moveSpeed; /* Used for DoBresen */
- selector_t delete; /* Called by Animate() to dispose a view object */
+ selector_t delete_; /* Called by Animate() to dispose a view object */
selector_t vol;
selector_t pri;
diff --git a/engines/sci/scicore/script.cpp b/engines/sci/scicore/script.cpp
index b54c0e52c3..c2d0027fbe 100644
--- a/engines/sci/scicore/script.cpp
+++ b/engines/sci/scicore/script.cpp
@@ -151,7 +151,7 @@ script_map_selectors(state_t *s, selector_map_t *map)
FIND_SELECTOR(type, "type");
FIND_SELECTOR(state, "state");
FIND_SELECTOR(doit, "doit");
- FIND_SELECTOR(delete, "delete");
+ FIND_SELECTOR(delete_, "delete");
FIND_SELECTOR(signal, "signal");
FIND_SELECTOR(underBits, "underBits");
FIND_SELECTOR(canBeHere, "canBeHere");
diff --git a/engines/sci/scicore/vocab.cpp b/engines/sci/scicore/vocab.cpp
index c712fdf4b5..b5b14c8e80 100644
--- a/engines/sci/scicore/vocab.cpp
+++ b/engines/sci/scicore/vocab.cpp
@@ -471,8 +471,8 @@ vocab_build_simple_parse_tree(parse_tree_node_t *nodes, result_word_t *words, in
int i, length, pos = 0;
for (i = 0; i < words_nr; ++i) {
- if (words[i].class != VOCAB_CLASS_ANYWORD) {
- nodes[pos].type = words[i].class;
+ if (words[i].classID != VOCAB_CLASS_ANYWORD) {
+ nodes[pos].type = words[i].classID;
nodes[pos].content.value = words[i].group;
pos += 2; /* Link information is filled in below */
}