From 4ad7f20b77cd7239d43f1b2c61ea424d0d826ffa Mon Sep 17 00:00:00 2001 From: Arnaud Boutonné Date: Sat, 12 Feb 2011 14:37:59 +0000 Subject: HUGO: little optimization in decodeString(), cleanup svn-id: r55894 --- engines/hugo/display.h | 14 +++++++------- engines/hugo/schedule.cpp | 14 ++++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) (limited to 'engines') diff --git a/engines/hugo/display.h b/engines/hugo/display.h index fd008cc97e..ff49661536 100644 --- a/engines/hugo/display.h +++ b/engines/hugo/display.h @@ -36,18 +36,18 @@ namespace Hugo { enum overlayState_t {kOvlUndef, kOvlForeground, kOvlBackground}; // Overlay state -struct rect_t { // Rectangle used in Display list - int16 x; // Position in dib - int16 y; // Position in dib - int16 dx; // width - int16 dy; // height -}; - static const int kCenter = -1; // Used to center text in x class Screen { public: + struct rect_t { // Rectangle used in Display list + int16 x; // Position in dib + int16 y; // Position in dib + int16 dx; // width + int16 dy; // height + }; + Screen(HugoEngine *vm); virtual ~Screen(); diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp index 789bff7d34..b31cab6819 100644 --- a/engines/hugo/schedule.cpp +++ b/engines/hugo/schedule.cpp @@ -1427,10 +1427,11 @@ void Scheduler_v1d::promptAction(act *action) { void Scheduler_v1d::decodeString(char *line) { debugC(1, kDebugSchedule, "decodeString(%s)", line); - static const char *cypher = getCypher(); + static const Common::String cypher = getCypher(); - for(uint16 i = 0; i < strlen(line); i++) { - line[i] = (line[i] + cypher[i]) % '~'; + uint16 linelength = strlen(line); + for(uint16 i = 0; i < linelength; i++) { + line[i] = (line[i] + cypher.c_str()[i % cypher.size()]) % '~'; if (line[i] < ' ') line[i] += ' '; } @@ -1479,10 +1480,11 @@ void Scheduler_v2d::promptAction(act *action) { void Scheduler_v2d::decodeString(char *line) { debugC(1, kDebugSchedule, "decodeString(%s)", line); - static const char *cypher = getCypher(); + static const Common::String cypher = getCypher(); - for (uint16 i = 0; i < strlen(line); i++) - line[i] -= cypher[i % strlen(cypher)]; + int16 lineLength = strlen(line); + for (uint16 i = 0; i < lineLength; i++) + line[i] -= cypher.c_str()[i % cypher.size()]; debugC(1, kDebugSchedule, "result : %s", line); } -- cgit v1.2.3