diff options
author | Max Horn | 2002-12-31 17:28:51 +0000 |
---|---|---|
committer | Max Horn | 2002-12-31 17:28:51 +0000 |
commit | a03b353dca2197e6a1da7882188af2391daefb15 (patch) | |
tree | 784dbd8477886932a38a7017f9fdce38ef0f9ddb /scumm | |
parent | 8bbbf4cbaf34b6671e62c5ffa57450bc0272230c (diff) | |
download | scummvm-rg350-a03b353dca2197e6a1da7882188af2391daefb15.tar.gz scummvm-rg350-a03b353dca2197e6a1da7882188af2391daefb15.tar.bz2 scummvm-rg350-a03b353dca2197e6a1da7882188af2391daefb15.zip |
implemented o8_getDateTime
svn-id: r6295
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 8 | ||||
-rw-r--r-- | scumm/script_v8.cpp | 19 | ||||
-rw-r--r-- | scumm/scumm.h | 2 | ||||
-rw-r--r-- | scumm/vars.cpp | 12 |
4 files changed, 28 insertions, 13 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 27ae5a3393..4a5d3318fa 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -439,6 +439,14 @@ protected: void o8_getObjectImageHeight(); void o8_getStringWidth(); + + /* V8 Scumm Vars */ + byte VAR_TIMEDATE_YEAR; + byte VAR_TIMEDATE_MONTH; + byte VAR_TIMEDATE_DAY; + byte VAR_TIMEDATE_HOUR; + byte VAR_TIMEDATE_MINUTE; + byte VAR_TIMEDATE_SECOND; }; diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp index e04cf8c06f..9255b7d1f8 100644 --- a/scumm/script_v8.cpp +++ b/scumm/script_v8.cpp @@ -30,11 +30,8 @@ #include "smush/player.h" #include "smush/scumm_renderer.h" -/* - * NO, we do NOT support CMI yet :-) This file is mostly a placeholder and a place - * to grow real support in. For now, only a few opcodes are implemented, and they - * might even be wrong... so don't hold your breath. - */ +#include <time.h> + #define OPCODE(x) { &Scumm_v8::x, #x } @@ -1294,7 +1291,17 @@ void Scumm_v8::o8_system() void Scumm_v8::o8_getDateTime() { - warning("o8_getDateTime()"); + struct tm *t; + time_t now = time(NULL); + + t = localtime(&now); + + _vars[VAR_TIMEDATE_YEAR] = t->tm_year; + _vars[VAR_TIMEDATE_MONTH] = t->tm_mon; + _vars[VAR_TIMEDATE_DAY] = t->tm_mday; + _vars[VAR_TIMEDATE_HOUR] = t->tm_hour; + _vars[VAR_TIMEDATE_MINUTE] = t->tm_min; + _vars[VAR_TIMEDATE_SECOND] = t->tm_sec; } void Scumm_v8::o8_startVideo() diff --git a/scumm/scumm.h b/scumm/scumm.h index 0a70e86e0b..2b1e1eb854 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -934,7 +934,7 @@ public: byte VAR_ME; byte VAR_NUM_ACTOR; byte VAR_CURRENT_LIGHTS; - byte VAR_CURRENTDRIVE; + byte VAR_CURRENTDRIVE; // How about merging this with VAR_CURRENTDISK? byte VAR_CURRENTDISK; byte VAR_TMR_1; byte VAR_TMR_2; diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 60723223f0..f76a2dbb06 100644 --- a/scumm/vars.cpp +++ b/scumm/vars.cpp @@ -227,12 +227,12 @@ void Scumm_v8::setupScummVars() VAR_HAVE_MSG = 15; VAR_MOUSE_BUTTONS = 16; - // VAR_TIMEDATE_YEAR = 24; - // VAR_TIMEDATE_MONTH = 25; - // VAR_TIMEDATE_DAY = 26; - // VAR_TIMEDATE_HOUR = 27; - // VAR_TIMEDATE_MINUTE = 28; - // VAR_TIMEDATE_SECOND = 29; + VAR_TIMEDATE_YEAR = 24; + VAR_TIMEDATE_MONTH = 25; + VAR_TIMEDATE_DAY = 26; + VAR_TIMEDATE_HOUR = 27; + VAR_TIMEDATE_MINUTE = 28; + VAR_TIMEDATE_SECOND = 29; //VAR_OVERRIDE = 30; // Oops. 30 has something to do with overrides, but this isn't it.. VAR_ROOM = 31; |