diff options
| author | Filippos Karapetis | 2008-05-31 09:38:12 +0000 |
|---|---|---|
| committer | Filippos Karapetis | 2008-05-31 09:38:12 +0000 |
| commit | c80543cbb847101a5b03eb5f786eacb25726a204 (patch) | |
| tree | 56a22480b15bc1a160956901aac791bb240a5c6d | |
| parent | bbfb4661eee5ad18c5dcfdb93ecb0de686bda3a8 (diff) | |
| download | scummvm-rg350-c80543cbb847101a5b03eb5f786eacb25726a204.tar.gz scummvm-rg350-c80543cbb847101a5b03eb5f786eacb25726a204.tar.bz2 scummvm-rg350-c80543cbb847101a5b03eb5f786eacb25726a204.zip | |
Cleanup
svn-id: r32418
| -rw-r--r-- | engines/drascula/drascula.cpp | 156 |
1 files changed, 59 insertions, 97 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index 241e9596ed..8399a1017c 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -823,6 +823,16 @@ static char *getLine(Common::File *fp, char *buf, int len) { return buf; } +void getIntFromLine(Common::File *fp, char *buf, int len, int* result) { + getLine(fp, buf, len); + sscanf(buf, "%d", result); +} + +void getStringFromLine(Common::File *fp, char *buf, int len, char* result) { + getLine(fp, buf, len); + sscanf(buf, "%s", result); +} + void DrasculaEngine::carga_escoba(const char *nom_fich) { int soc, l, martin = 0, obj_salir = 0; float chiquez = 0, pequegnez = 0; @@ -841,40 +851,26 @@ void DrasculaEngine::carga_escoba(const char *nom_fich) { error("missing data file"); } int size = ald->size(); - getLine(ald, buffer, size); - roomNumber = atoi(buffer); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &roomMusic); - getLine(ald, buffer, size); - sscanf(buffer, "%s", roomDisk); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &nivel_osc); + getIntFromLine(ald, buffer, size, &roomNumber); + getIntFromLine(ald, buffer, size, &roomMusic); + getStringFromLine(ald, buffer, size, roomDisk); + getIntFromLine(ald, buffer, size, &nivel_osc); - if (currentChapter == 2) { - getLine(ald, buffer, size); - sscanf(buffer, "%d", &martin); - } + if (currentChapter == 2) + getIntFromLine(ald, buffer, size, &martin); if (currentChapter == 2 && martin != 0) { ancho_hare = martin; - getLine(ald, buffer, size); - sscanf(buffer, "%d",&alto_hare); - getLine(ald, buffer, size); - sscanf(buffer, "%d",&feetHeight); - getLine(ald, buffer, size); - sscanf(buffer, "%d",&stepX); - getLine(ald, buffer, size); - sscanf(buffer, "%d",&stepY); - - getLine(ald, buffer, size); - sscanf(buffer, "%s",pant1); - getLine(ald, buffer, size); - sscanf(buffer, "%s",pant2); - getLine(ald, buffer, size); - sscanf(buffer, "%s",pant3); - getLine(ald, buffer, size); - sscanf(buffer, "%s",pant4); + getIntFromLine(ald, buffer, size, &alto_hare); + getIntFromLine(ald, buffer, size, &feetHeight); + getIntFromLine(ald, buffer, size, &stepX); + getIntFromLine(ald, buffer, size, &stepY); + + getStringFromLine(ald, buffer, size, pant1); + getStringFromLine(ald, buffer, size, pant2); + getStringFromLine(ald, buffer, size, pant3); + getStringFromLine(ald, buffer, size, pant4); loadAndDecompressPic(pant2, extraSurface, 1); loadAndDecompressPic(pant1, frontSurface, 1); @@ -883,61 +879,38 @@ void DrasculaEngine::carga_escoba(const char *nom_fich) { strcpy(menuBackground, pant4); } - getLine(ald, buffer, size); - sscanf(buffer, "%d", &numRoomObjs); + getIntFromLine(ald, buffer, size, &numRoomObjs); for (l = 0; l < numRoomObjs; l++) { - getLine(ald, buffer, size); - sscanf(buffer, "%d", &objectNum[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%s", objName[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &x1[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &y1[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &x2[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &y2[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &sitiobj_x[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &sitiobj_y[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &sentidobj[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &visible[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &isDoor[l]); + getIntFromLine(ald, buffer, size, &objectNum[l]); + getStringFromLine(ald, buffer, size, objName[l]); + getIntFromLine(ald, buffer, size, &x1[l]); + getIntFromLine(ald, buffer, size, &y1[l]); + getIntFromLine(ald, buffer, size, &x2[l]); + getIntFromLine(ald, buffer, size, &y2[l]); + getIntFromLine(ald, buffer, size, &sitiobj_x[l]); + getIntFromLine(ald, buffer, size, &sitiobj_y[l]); + getIntFromLine(ald, buffer, size, &sentidobj[l]); + getIntFromLine(ald, buffer, size, &visible[l]); + getIntFromLine(ald, buffer, size, &isDoor[l]); if (isDoor[l] != 0) { - getLine(ald, buffer, size); - sscanf(buffer, "%s", _targetSurface[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &_destX[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &_destY[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &sentido_alkeva[l]); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &alapuertakeva[l]); + getStringFromLine(ald, buffer, size, _targetSurface[l]); + getIntFromLine(ald, buffer, size, &_destX[l]); + getIntFromLine(ald, buffer, size, &_destY[l]); + getIntFromLine(ald, buffer, size, &sentido_alkeva[l]); + getIntFromLine(ald, buffer, size, &alapuertakeva[l]); updateDoor(l); } } - getLine(ald, buffer, size); - sscanf(buffer, "%d", &suelo_x1); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &suelo_y1); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &suelo_x2); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &suelo_y2); + getIntFromLine(ald, buffer, size, &suelo_x1); + getIntFromLine(ald, buffer, size, &suelo_y1); + getIntFromLine(ald, buffer, size, &suelo_x2); + getIntFromLine(ald, buffer, size, &suelo_y2); if (currentChapter != 2) { - getLine(ald, buffer, size); - sscanf(buffer, "%d", &far); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &near); + getIntFromLine(ald, buffer, size, &far); + getIntFromLine(ald, buffer, size, &near); } delete ald; ald = NULL; @@ -3204,28 +3177,17 @@ void DrasculaEngine::converse(const char *nom_fich) { } int size = ald->size(); - getLine(ald, buffer, size); - sscanf(buffer, "%s", phrase1); - getLine(ald, buffer, size); - sscanf(buffer, "%s", phrase2); - getLine(ald, buffer, size); - sscanf(buffer, "%s", phrase3); - getLine(ald, buffer, size); - sscanf(buffer, "%s", phrase4); - getLine(ald, buffer, size); - sscanf(buffer, "%s", sound1); - getLine(ald, buffer, size); - sscanf(buffer, "%s", sound2); - getLine(ald, buffer, size); - sscanf(buffer, "%s", sound3); - getLine(ald, buffer, size); - sscanf(buffer, "%s", sound4); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &answer1); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &answer2); - getLine(ald, buffer, size); - sscanf(buffer, "%d", &answer3); + getStringFromLine(ald, buffer, size, phrase1); + getStringFromLine(ald, buffer, size, phrase2); + getStringFromLine(ald, buffer, size, phrase3); + getStringFromLine(ald, buffer, size, phrase4); + getStringFromLine(ald, buffer, size, sound1); + getStringFromLine(ald, buffer, size, sound2); + getStringFromLine(ald, buffer, size, sound3); + getStringFromLine(ald, buffer, size, sound4); + getIntFromLine(ald, buffer, size, &answer1); + getIntFromLine(ald, buffer, size, &answer2); + getIntFromLine(ald, buffer, size, &answer3); delete ald; ald = NULL; |
