From fd82c3783d1e563e9c3526aeb0d75e79ebcc0d76 Mon Sep 17 00:00:00 2001
From: Arnaud Boutonné
Date: Fri, 12 Nov 2010 18:05:23 +0000
Subject: TOOL+HUGO: Misc modifications
- Fix H1 Dos bug (animations not showing in Hall and after)
- Get rid of _textSchedule and everything related
H1 Dos shoud now be completable (not tested yet)
svn-id: r54218
---
dists/engine-data/hugo.dat | Bin 174689 -> 174599 bytes
engines/hugo/file_v1d.cpp | 1 +
engines/hugo/hugo.cpp | 14 +++-----
engines/hugo/hugo.h | 3 +-
engines/hugo/schedule.cpp | 4 +--
engines/hugo/schedule.h | 5 ---
tools/create_hugo/create_hugo.cpp | 6 +---
tools/create_hugo/create_hugo.h | 2 +-
tools/create_hugo/dists/msvc9/create_hugo.vcproj | 4 ---
tools/create_hugo/staticschedule.h | 43 -----------------------
10 files changed, 11 insertions(+), 71 deletions(-)
delete mode 100644 tools/create_hugo/staticschedule.h
diff --git a/dists/engine-data/hugo.dat b/dists/engine-data/hugo.dat
index 02f995cc56..954f6147a7 100644
Binary files a/dists/engine-data/hugo.dat and b/dists/engine-data/hugo.dat differ
diff --git a/engines/hugo/file_v1d.cpp b/engines/hugo/file_v1d.cpp
index a85794b4e5..b92474ea67 100644
--- a/engines/hugo/file_v1d.cpp
+++ b/engines/hugo/file_v1d.cpp
@@ -66,6 +66,7 @@ void FileManager_v1d::readOverlay(int screenNum, image_pt image, ovl_t overlayTy
if (!fileExists(buf)) {
for (uint32 i = 0; i < OVL_SIZE; i++)
image[i] = 0;
+ warning("File not found: %s", buf);
return;
}
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index f8b3cd2e43..bf1daf1819 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -62,11 +62,11 @@ char _textBoxBuffer[MAX_BOX]; // Buffer for text box
command_t _line; // Line of user text input
HugoEngine::HugoEngine(OSystem *syst, const HugoGameDescription *gd) : Engine(syst), _gameDescription(gd), _mouseX(0), _mouseY(0),
- _textData(0), _stringtData(0), _screenNames(0), _textEngine(0), _textIntro(0), _textMouse(0), _textParser(0), _textSchedule(0),
- _textUtil(0), _arrayNouns(0), _arrayVerbs(0), _arrayReqs(0), _hotspots(0), _invent(0), _uses(0), _catchallList(0),
- _backgroundObjects(0), _points(0), _cmdList(0), _screenActs(0), _heroImage(0), _defltTunes(0), _introX(0),
- _introY(0), _maxInvent(0), _numBonuses(0), _numScreens(0), _tunesNbr(0), _soundSilence(0), _soundTest(0), _screenStates(0),
- _score(0), _maxscore(0), _backgroundObjectsSize(0), _screenActsSize(0), _usesSize(0)
+ _textData(0), _stringtData(0), _screenNames(0), _textEngine(0), _textIntro(0), _textMouse(0), _textParser(0), _textUtil(0),
+ _arrayNouns(0), _arrayVerbs(0), _arrayReqs(0), _hotspots(0), _invent(0), _uses(0), _catchallList(0), _backgroundObjects(0),
+ _points(0), _cmdList(0), _screenActs(0), _heroImage(0), _defltTunes(0), _introX(0), _introY(0), _maxInvent(0), _numBonuses(0),
+ _numScreens(0), _tunesNbr(0), _soundSilence(0), _soundTest(0), _screenStates(0), _score(0), _maxscore(0),
+ _backgroundObjectsSize(0), _screenActsSize(0), _usesSize(0)
{
DebugMan.addDebugChannel(kDebugSchedule, "Schedule", "Script Schedule debug level");
@@ -106,7 +106,6 @@ HugoEngine::~HugoEngine() {
free(_introY);
freeTexts(_textMouse);
freeTexts(_textParser);
- freeTexts(_textSchedule);
freeTexts(_textUtil);
if (_arrayReqs) {
@@ -460,9 +459,6 @@ bool HugoEngine::loadHugoDat() {
// Read textParser
_textParser = loadTexts(in);
- // Read textSchedule
- _textSchedule = loadTexts(in);
-
// Read textUtil
_textUtil = loadTextsVariante(in, 0);
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 985499896e..197fc52458 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -34,7 +34,7 @@
#include "hugo/game.h"
#define HUGO_DAT_VER_MAJ 0 // 1 byte
-#define HUGO_DAT_VER_MIN 28 // 1 byte
+#define HUGO_DAT_VER_MIN 29 // 1 byte
#define DATAALIGNMENT 4
#define EDGE 10 // Closest object can get to edge of screen
#define EDGE2 (EDGE * 2) // Push object further back on edge collision
@@ -137,7 +137,6 @@ public:
char **_textIntro;
char **_textMouse;
char **_textParser;
- char **_textSchedule;
char **_textUtil;
char ***_arrayNouns;
char ***_arrayVerbs;
diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp
index 837034a445..602f55cb0d 100644
--- a/engines/hugo/schedule.cpp
+++ b/engines/hugo/schedule.cpp
@@ -172,8 +172,8 @@ void Scheduler::newScreen(int screenIndex) {
if (!_vm->isPacked()) {
char line[32];
if (!_vm->_file->fileExists(strcat(strncat(strcpy(line, _vm->_picDir), _vm->_screenNames[screenIndex], NAME_LEN), BKGEXT)) &&
- !_vm->_file->fileExists(strcat(strcpy(line, _vm->_screenNames[screenIndex]), ".ART"))) {
- Utils::Box(BOX_ANY, "%s", _vm->_textSchedule[kSsNoBackground]);
+ !_vm->_file->fileExists(strcat(strcpy(line, _vm->_screenNames[screenIndex]), ".ART"))) {
+ error("Unable to find background file for %s", _vm->_screenNames[screenIndex]);
return;
}
}
diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h
index d0824674c6..c0725bf3ff 100644
--- a/engines/hugo/schedule.h
+++ b/engines/hugo/schedule.h
@@ -72,11 +72,6 @@ public:
protected:
HugoEngine *_vm;
- enum seqTextSchedule {
- kSsNoBackground = 0,
- kSsBadSaveGame = 1
- };
-
uint16 _actListArrSize;
uint16 _alNewscrIndex;
diff --git a/tools/create_hugo/create_hugo.cpp b/tools/create_hugo/create_hugo.cpp
index 2b39b80c63..7f4198704c 100644
--- a/tools/create_hugo/create_hugo.cpp
+++ b/tools/create_hugo/create_hugo.cpp
@@ -50,7 +50,6 @@
#include "staticintro.h"
#include "staticmouse.h"
#include "staticparser.h"
-#include "staticschedule.h"
#include "staticutil.h"
#include "staticfont.h"
@@ -365,9 +364,6 @@ int main(int argc, char *argv[]) {
// Write textParser
writeTextArray(outFile, textParser, NUM_PARSER_TEXT);
- // Write textSchedule
- writeTextArray(outFile, textSchedule, NUM_SCHEDULE_TEXT);
-
// Write textUtil
writeTextArray(outFile, textUtil_v1w, NUM_UTIL_TEXT);
writeTextArray(outFile, textUtil_v1w, NUM_UTIL_TEXT);
@@ -816,7 +812,7 @@ int main(int argc, char *argv[]) {
writeUint16BE(outFile, LASTOBJ_1w);
writeUint16BE(outFile, LASTOBJ_2w);
writeUint16BE(outFile, LASTOBJ_3w);
- writeUint16BE(outFile, NUM_PICS_1d); //(not set in original, as Hugo1 DOS doesn't use a DAT file to pack the screens)
+ writeUint16BE(outFile, LASTOBJ_1d); //(not set in original, as Hugo1 DOS doesn't use a DAT file to pack the screens)
writeUint16BE(outFile, LASTOBJ_2d);
writeUint16BE(outFile, LASTOBJ_3d);
diff --git a/tools/create_hugo/create_hugo.h b/tools/create_hugo/create_hugo.h
index a3cca0efe1..3fc768d33e 100644
--- a/tools/create_hugo/create_hugo.h
+++ b/tools/create_hugo/create_hugo.h
@@ -31,7 +31,7 @@
#define DATAALIGNMENT 4
#define HUGO_DAT_VER_MAJ 0 // 1 byte
-#define HUGO_DAT_VER_MIN 28 // 1 byte
+#define HUGO_DAT_VER_MIN 29 // 1 byte
typedef unsigned char uint8;
typedef unsigned char byte;
diff --git a/tools/create_hugo/dists/msvc9/create_hugo.vcproj b/tools/create_hugo/dists/msvc9/create_hugo.vcproj
index f6680e0280..473d89e43c 100644
--- a/tools/create_hugo/dists/msvc9/create_hugo.vcproj
+++ b/tools/create_hugo/dists/msvc9/create_hugo.vcproj
@@ -209,10 +209,6 @@
RelativePath="..\..\staticparser.h"
>
-
-
diff --git a/tools/create_hugo/staticschedule.h b/tools/create_hugo/staticschedule.h
deleted file mode 100644
index aa11bd8bf3..0000000000
--- a/tools/create_hugo/staticschedule.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-/*
- * This code is based on original Hugo Trilogy source code
- *
- * Copyright (c) 1989-1995 David P. Gray
- *
- */
-
-#ifndef STATICSCHEDULE_H
-#define STATICSCHEDULE_H
-
-#define NUM_SCHEDULE_TEXT 2
-
-const char *textSchedule[NUM_SCHEDULE_TEXT] = {
- "Can't find background file!",
- "Obsolete saved game format will be converted!"
-};
-
-#endif
--
cgit v1.2.3