[Scummvm-cvs-logs] scummvm master -> 2eddd72fbf0a482319e4790dc9eb8cd220ae05ec
urukgit
urukgit at users.noreply.github.com
Wed Aug 13 20:02:06 CEST 2014
This automated email contains information about 12 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
528ed79575 CGE2: Make impossible to dereference nullptr in sndDigiStart().
3b342a21c6 CGE2: Eliminate inferred misuse of enums in Sprite::labVal().
3e8041d54b CGE2: Fix comparing _spr->file against null in runCommand().
45e8078dab CGE2: Don't allow Sprite::step() to dereference nullptr-s.
8e7279f5ac CGE2: Fix possible string overflow in setEye().
8b1ffab95b CGE2: Fix possible string overflow in Bitmap's constructor.
8e22ef9b6d CGE2: Fix possible string overflow in Hero::expand().
fecabc039e CGE2: Initialize every member in Talk's every constructor.
277f844f09 CGE2: Initialize _maxDist in Hero's constructor.
547ad696f2 CGE2: Initialize _h and _w in every constuctor of Bitmap.
e52c14b8d9 CGE2: Remove unused variable from System.
2eddd72fbf CGE2: Initialize _startGameSlot.
Commit: 528ed79575d9086bc61f3f9507567f38b1e05c9b
https://github.com/scummvm/scummvm/commit/528ed79575d9086bc61f3f9507567f38b1e05c9b
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T17:30:40+02:00
Commit Message:
CGE2: Make impossible to dereference nullptr in sndDigiStart().
Changed paths:
engines/cge2/sound.cpp
diff --git a/engines/cge2/sound.cpp b/engines/cge2/sound.cpp
index c34eb00..a3accdf 100644
--- a/engines/cge2/sound.cpp
+++ b/engines/cge2/sound.cpp
@@ -99,7 +99,7 @@ void Sound::sndDigiStart(SmpInfo *PSmpInfo, Audio::Mixer::SoundType soundType) {
handle = &_speechHandle;
break;
default:
- break;
+ error("Wrong sound type passed to sndDigiStart()");
}
// Start the new sound
Commit: 3b342a21c61010698e6b4829ed80857f06904ad9
https://github.com/scummvm/scummvm/commit/3b342a21c61010698e6b4829ed80857f06904ad9
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T17:39:09+02:00
Commit Message:
CGE2: Eliminate inferred misuse of enums in Sprite::labVal().
Changed paths:
engines/cge2/vga13h.cpp
diff --git a/engines/cge2/vga13h.cpp b/engines/cge2/vga13h.cpp
index 3308831..9141f42 100644
--- a/engines/cge2/vga13h.cpp
+++ b/engines/cge2/vga13h.cpp
@@ -252,7 +252,7 @@ int Sprite::labVal(Action snq, int lab) {
error("Bad SPR [%s]", tmpStr);
int cnt = 0;
- int section = kIdPhase;
+ ID section = kIdPhase;
ID id;
Common::String line;
@@ -267,7 +267,7 @@ int Sprite::labVal(Action snq, int lab) {
p = _vm->token(tmpStr);
if (*p == '@') {
- if (section == snq && atoi(p + 1) == lab)
+ if ((int)section == (int)snq && atoi(p + 1) == lab)
lv = cnt;
} else {
id = _vm->ident(p);
@@ -280,7 +280,7 @@ int Sprite::labVal(Action snq, int lab) {
section = id;
break;
default:
- if (id < 0 && section == snq)
+ if (id < 0 && (int)section == (int)snq)
++cnt;
break;
}
Commit: 3e8041d54bc87b5dd8eae5e260e1fe1985ea1dd4
https://github.com/scummvm/scummvm/commit/3e8041d54bc87b5dd8eae5e260e1fe1985ea1dd4
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T17:43:52+02:00
Commit Message:
CGE2: Fix comparing _spr->file against null in runCommand().
Changed paths:
engines/cge2/snail.cpp
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp
index 2cd5aca..0bf6383 100644
--- a/engines/cge2/snail.cpp
+++ b/engines/cge2/snail.cpp
@@ -103,7 +103,7 @@ void CommandHandler::runCommand() {
spr = (tailCmd._ref < 0) ? ((Sprite *)tailCmd._spritePtr) : _vm->locate(tailCmd._ref);
Common::String sprStr;
- if (spr && spr->_file && (tailCmd._commandType != kCmdGhost))
+ if (spr && *spr->_file && (tailCmd._commandType != kCmdGhost))
// In case of kCmdGhost _spritePtr stores a pointer to a Bitmap, not to a Sprite...
sprStr = Common::String(spr->_file);
else
Commit: 45e8078dab1be71a9ef5d125fa80ff660aa0cd5c
https://github.com/scummvm/scummvm/commit/45e8078dab1be71a9ef5d125fa80ff660aa0cd5c
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T17:54:35+02:00
Commit Message:
CGE2: Don't allow Sprite::step() to dereference nullptr-s.
Changed paths:
engines/cge2/vga13h.cpp
diff --git a/engines/cge2/vga13h.cpp b/engines/cge2/vga13h.cpp
index 9141f42..db96682 100644
--- a/engines/cge2/vga13h.cpp
+++ b/engines/cge2/vga13h.cpp
@@ -516,7 +516,7 @@ void Sprite::step(int nr) {
if (nr >= 0)
_seqPtr = nr;
- if (_ext) {
+ if (_ext && _ext->_seq) {
V3D p = _pos3D;
Seq *seq = nullptr;
@@ -556,13 +556,15 @@ void Sprite::step(int nr) {
gotoxyz(p);
} else {
seq = _ext->_seq + _seqPtr;
- if (seq->_dz == 127 && seq->_dx != 0) {
- _vm->_commandHandlerTurbo->addCommand(kCmdSound, -1, 256 * seq->_dy + seq->_dx, this);
- } else {
- p._x += seq->_dx;
- p._y += seq->_dy;
- p._z += seq->_dz;
- gotoxyz(p);
+ if (seq) {
+ if (seq->_dz == 127 && seq->_dx != 0) {
+ _vm->_commandHandlerTurbo->addCommand(kCmdSound, -1, 256 * seq->_dy + seq->_dx, this);
+ } else {
+ p._x += seq->_dx;
+ p._y += seq->_dy;
+ p._z += seq->_dz;
+ gotoxyz(p);
+ }
}
}
if (seq && (seq->_dly >= 0))
Commit: 8e7279f5ac0ced6a0ff458cbed7a54b5f547ab66
https://github.com/scummvm/scummvm/commit/8e7279f5ac0ced6a0ff458cbed7a54b5f547ab66
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T18:18:26+02:00
Commit Message:
CGE2: Fix possible string overflow in setEye().
Changed paths:
engines/cge2/cge2_main.cpp
diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp
index 7c4a111..328af08 100644
--- a/engines/cge2/cge2_main.cpp
+++ b/engines/cge2/cge2_main.cpp
@@ -777,11 +777,12 @@ void CGE2Engine::setEye(const V2D& e2, int z) {
}
void CGE2Engine::setEye(const char *s) {
- char tempStr[kLineMax];
+ char *tempStr = new char[strlen(s) + 1];
strcpy(tempStr, s);
_eye->_x = atoi(token(tempStr));
_eye->_y = atoi(token(nullptr));
_eye->_z = atoi(token(nullptr));
+ delete[] tempStr;
}
int CGE2Engine::newRandom(int range) {
Commit: 8b1ffab95bd1055bc73e3a0df0a59d994d5acd63
https://github.com/scummvm/scummvm/commit/8b1ffab95bd1055bc73e3a0df0a59d994d5acd63
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:40:15+02:00
Commit Message:
CGE2: Fix possible string overflow in Bitmap's constructor.
Changed paths:
engines/cge2/bitmap.cpp
diff --git a/engines/cge2/bitmap.cpp b/engines/cge2/bitmap.cpp
index 01e97eb..236b86e 100644
--- a/engines/cge2/bitmap.cpp
+++ b/engines/cge2/bitmap.cpp
@@ -43,27 +43,27 @@ void Bitmap::setVM(CGE2Engine *vm) {
}
Bitmap::Bitmap(CGE2Engine *vm, const char *fname) : _v(nullptr), _b(nullptr), _map(0), _vm(vm) {
- char pat[kMaxPath];
+ Common::String path;
if (!strcmp(fname, "04tal201")) {
- strcpy(pat, "04tal202");
+ path = "04tal202";
warning("Workaround for missing VBM: 04tal201");
} else if (!strcmp(fname, "11oqlist-")) {
- strcpy(pat, "11oqlist");
+ path = "11oqlist";
warning("Workaround for wrong VBM name: 11oqlist-");
} else
- strcpy(pat, fname);
+ path = fname;
- strcpy(pat, setExtension(pat, ".VBM").c_str());
+ path = setExtension(path, ".VBM");
- if (_vm->_resman->exist(pat)) {
- EncryptedStream file(_vm, pat);
+ if (_vm->_resman->exist(path.c_str())) {
+ EncryptedStream file(_vm, path.c_str());
if (file.err())
error("Unable to find VBM [%s]", fname);
if (!loadVBM(&file))
error("Bad VBM [%s]", fname);
} else {
- warning("Missing VBM [%s]", pat);
+ warning("Missing VBM [%s]", path.c_str());
}
}
Commit: 8e22ef9b6d587113e3cd47c33cc0d344832da632
https://github.com/scummvm/scummvm/commit/8e22ef9b6d587113e3cd47c33cc0d344832da632
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:49:56+02:00
Commit Message:
CGE2: Fix possible string overflow in Hero::expand().
Changed paths:
engines/cge2/hero.cpp
diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp
index 8236386..945bf48 100644
--- a/engines/cge2/hero.cpp
+++ b/engines/cge2/hero.cpp
@@ -190,14 +190,15 @@ Sprite *Hero::expand() {
setShapeList(_dim[0], shpcnt);
}
- Common::String str(_vm->_text->getText(_ref + 100));
- char text[kLineMax + 1];
- strcpy(text, str.c_str());
+ char *tempStr = _vm->_text->getText(_ref + 100);
+ char *text = new char[strlen(tempStr) + 1];
+ strcpy(text, tempStr);
_reachStart = atoi(_vm->token(text));
_reachCycle = atoi(_vm->token(nullptr));
_sayStart = atoi(_vm->token(nullptr));
_funStart = atoi(_vm->token(nullptr));
_funDel = _funDel0 = (72 / _ext->_seq[0]._dly) * atoi(_vm->token(nullptr));
+ delete[] text;
int i = stepSize() / 2;
_maxDist = sqrt(double(i * i * 2));
Commit: fecabc039eb8363de4d0a36161b614527d38ebbd
https://github.com/scummvm/scummvm/commit/fecabc039eb8363de4d0a36161b614527d38ebbd
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:53:28+02:00
Commit Message:
CGE2: Initialize every member in Talk's every constructor.
Changed paths:
engines/cge2/talk.cpp
diff --git a/engines/cge2/talk.cpp b/engines/cge2/talk.cpp
index c39e064..9109da9 100644
--- a/engines/cge2/talk.cpp
+++ b/engines/cge2/talk.cpp
@@ -119,7 +119,7 @@ Talk::Talk(CGE2Engine *vm, const char *text, TextBoxStyle mode, ColorBank color,
}
Talk::Talk(CGE2Engine *vm, ColorBank color)
- : Sprite(vm), _mode(kTBPure), _vm(vm) {
+ : Sprite(vm), _mode(kTBPure), _created(false), _wideSpace(false), _vm(vm) {
_color = _vm->_font->_colorSet[color];
if (color == kCBRel)
Commit: 277f844f0900c01839ad6dc5680110f9ea326d17
https://github.com/scummvm/scummvm/commit/277f844f0900c01839ad6dc5680110f9ea326d17
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:54:59+02:00
Commit Message:
CGE2: Initialize _maxDist in Hero's constructor.
Changed paths:
engines/cge2/hero.cpp
diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp
index 945bf48..86bd7ac 100644
--- a/engines/cge2/hero.cpp
+++ b/engines/cge2/hero.cpp
@@ -33,7 +33,7 @@ namespace CGE2 {
Hero::Hero(CGE2Engine *vm)
: Sprite(vm), _contact(nullptr), _dir(kNoDir),
- _curDim(0), _tracePtr(-1), _ignoreMap(false) {
+ _curDim(0), _tracePtr(-1), _ignoreMap(false), _maxDist(0) {
for (int i = 0; i < kDimMax; i++) {
_dim[i] = nullptr;
Commit: 547ad696f29bfefcf1552fd0d3c591db74bc2123
https://github.com/scummvm/scummvm/commit/547ad696f29bfefcf1552fd0d3c591db74bc2123
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:57:09+02:00
Commit Message:
CGE2: Initialize _h and _w in every constuctor of Bitmap.
Changed paths:
engines/cge2/bitmap.cpp
diff --git a/engines/cge2/bitmap.cpp b/engines/cge2/bitmap.cpp
index 236b86e..0f442b8 100644
--- a/engines/cge2/bitmap.cpp
+++ b/engines/cge2/bitmap.cpp
@@ -42,7 +42,7 @@ void Bitmap::setVM(CGE2Engine *vm) {
_vm = vm;
}
-Bitmap::Bitmap(CGE2Engine *vm, const char *fname) : _v(nullptr), _b(nullptr), _map(0), _vm(vm) {
+Bitmap::Bitmap(CGE2Engine *vm, const char *fname) : _w(0), _h(0), _v(nullptr), _b(nullptr), _map(0), _vm(vm) {
Common::String path;
if (!strcmp(fname, "04tal201")) {
Commit: e52c14b8d98a9f50a91cecadd3a46042c72ec275
https://github.com/scummvm/scummvm/commit/e52c14b8d98a9f50a91cecadd3a46042c72ec275
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T19:58:58+02:00
Commit Message:
CGE2: Remove unused variable from System.
Changed paths:
engines/cge2/cge2_main.h
diff --git a/engines/cge2/cge2_main.h b/engines/cge2/cge2_main.h
index afbe7b3..88cca1c 100644
--- a/engines/cge2/cge2_main.h
+++ b/engines/cge2/cge2_main.h
@@ -36,7 +36,6 @@ namespace CGE2 {
class System : public Sprite {
public:
- int _funDel;
int _blinkCounter;
Sprite *_blinkSprite;
Commit: 2eddd72fbf0a482319e4790dc9eb8cd220ae05ec
https://github.com/scummvm/scummvm/commit/2eddd72fbf0a482319e4790dc9eb8cd220ae05ec
Author: uruk (koppirnyo at gmail.com)
Date: 2014-08-13T20:00:48+02:00
Commit Message:
CGE2: Initialize _startGameSlot.
Changed paths:
engines/cge2/cge2.cpp
diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp
index f3bc1de..5084351 100644
--- a/engines/cge2/cge2.cpp
+++ b/engines/cge2/cge2.cpp
@@ -95,6 +95,7 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription)
_req = 1;
_midiNotify = nullptr;
_spriteNotify = nullptr;
+ _startGameSlot = 0;
_sayCap = ConfMan.getBool("subtitles");
_sayVox = !ConfMan.getBool("speech_mute");
More information about the Scummvm-git-logs
mailing list