[Scummvm-git-logs] scummvm master -> 6a9bf4785dfc1220ec222a51ff693c3cad83317e
bluegr
noreply at scummvm.org
Fri Jun 10 20:12:44 UTC 2022
This automated email contains information about 18 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
18668bd218 TINSEL: Further refactor InventoryObjects
72aa757d2c TINSEL: Replace LockMem with GetMultiInit for MULTI_INIT
9ebe1cd31b TINSEL: Replace LockMem with GetFrame for FRAME
aa4c3184eb TINSEL: Refactor IsInPolygon to be partially a member-function
54f179dfab TINSEL: Minor style-fixes
de164c168d TINSEL: Implement InventoryOrNotebookActive
ec6835dac7 TINSEL: Implement Notebook logic for adding clues and showing pages.
5c409b4bbb TINSEL: Implement library function CROSSCLUE
8d1abb5192 TINSEL: Close Inventories when switching between them.
a0e5f431de TINSEL: Add initial event support to Notebook.
5c873a17b2 TINSEL: Implement polygon-handling for Notebook
1f1f97c745 TINSEL: Implement pointer handling for Notebook
bc178e9784 TINSEL: Add debug commands to add all clues, as well as listing them.
c2e94a0cf5 TINSEL: Rename the private methods in Dialogs to follow convention
50eb3bb542 TINSEL: Rename the public methods in Dialogs to follow convention
5b2a8fea37 TINSEL: Rename IsConvAndNotMove -> isConvAndNotMove
afc09057ab TINSEL: Refactor Notebook and System reels to follow naming conventions
6a9bf4785d TINSEL: Fix int32 discrepancy
Commit: 18668bd218700c39f4b60aa949921d89c0ed08da
https://github.com/scummvm/scummvm/commit/18668bd218700c39f4b60aa949921d89c0ed08da
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Further refactor InventoryObjects
So that we don't need vtables for the InventoryObject-objects, only
for the container.
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/inv_objects.cpp
engines/tinsel/inv_objects.h
engines/tinsel/noir/notebook.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 42eea9948db..d9bf38c29b1 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1185,6 +1185,18 @@ const InventoryObject *Dialogs::GetInvObject(int id) {
return object;
}
+/**
+ * Convert item ID number to pointer to item's compiled data
+ * i.e. Image data and Glitter code.
+ */
+const InventoryObjectT3 *Dialogs::GetInvObjectT3(int id) {
+ auto object = _invObjects->GetInvObjectT3(id);
+ if (!object) {
+ error("GetInvObjectT3(%d): Trying to manipulate undefined inventory icon", id);
+ }
+ return object;
+}
+
/**
* Returns true if the given id represents a valid inventory object
*/
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 9bba1f88786..923b8dd62b6 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -352,6 +352,7 @@ public:
void FillInInventory();
void InvCursor(InvCursorFN fn, int CurX, int CurY);
const InventoryObject *GetInvObject(int id);
+ const InventoryObjectT3 *GetInvObjectT3(int id);
bool UpdateString(const Common::KeyState &kbd);
bool InventoryIsActive() { return _inventoryState == ACTIVE_INV; }
bool IsMixingDeskControl() { return _invDragging == ID_MDCONT; }
diff --git a/engines/tinsel/inv_objects.cpp b/engines/tinsel/inv_objects.cpp
index b754a76dcf2..00082576da8 100644
--- a/engines/tinsel/inv_objects.cpp
+++ b/engines/tinsel/inv_objects.cpp
@@ -29,55 +29,19 @@ InventoryObject::InventoryObject(Common::MemoryReadStreamEndian &stream) {
_id = stream.readUint32();
_hIconFilm = stream.readUint32();
_hScript = stream.readUint32();
-}
-
-int32 InventoryObject::getUnknown() const {
- error("Querying Noir-value from non-Noir game");
-}
-
-int32 InventoryObject::getTitle() const {
- error("Querying Noir-value from non-Noir game");
-}
-
-class InventoryObjectT1 : public InventoryObject {
-public:
- InventoryObjectT1(Common::MemoryReadStreamEndian &stream) : InventoryObject(stream) {
+ if (TinselVersion == 0) {
+ _attribute = 0;
+ } else {
_attribute = stream.readUint32();
}
- // Tinsel1+
- virtual int32 getAttribute() const {
- return _attribute;
- };
- static const int SIZE = InventoryObject::SIZE + 4;
-private:
- int32 _attribute;
-};
-
-class InventoryObjectT3 : public InventoryObjectT1 {
-public:
- InventoryObjectT3(Common::MemoryReadStreamEndian &stream) : InventoryObjectT1(stream) {
- _unknown = stream.readUint32();
- _title = stream.readUint32();
- }
- // Noir:
- virtual int32 getUnknown() const {
- return _unknown;
- }
- virtual int32 getTitle() const {
- return _title;
- }
- static const int SIZE = InventoryObjectT1::SIZE + 8;
-private:
- int32 _unknown;
- int32 _title;
-};
+}
template<typename T>
class InventoryObjectsImpl : public InventoryObjects {
public:
InventoryObjectsImpl(const byte *objects, int numObjects) {
bool bigEndian = (TinselV1Mac || TinselV1Saturn);
- auto stream = new Common::MemoryReadStreamEndian(objects, T::SIZE * numObjects, bigEndian, DisposeAfterUse::NO);
+ auto stream = new Common::MemoryReadStreamEndian(objects, T::SIZE() * numObjects, bigEndian, DisposeAfterUse::NO);
for (int i = 0; i < numObjects; i++) {
_objects.push_back(T(*stream));
}
@@ -85,22 +49,24 @@ public:
delete stream;
}
~InventoryObjectsImpl(){};
- const InventoryObject *GetInvObject(int id) {
+ const InventoryObject *GetInvObject(int id) override {
auto index = GetObjectIndexIfExists(id);
if (index != -1) {
return _objects.data() + index;
}
return nullptr;
}
- const InventoryObject *GetObjectByIndex(int index) const {
+ const InventoryObjectT3 *GetInvObjectT3(int id) override;
+
+ const InventoryObject *GetObjectByIndex(int index) const override {
assert(index >= 0 && index < numObjects());
return _objects.data() + index;
}
- void SetObjectFilm(int id, SCNHANDLE hFilm) {
+ void SetObjectFilm(int id, SCNHANDLE hFilm) override {
int index = GetObjectIndexIfExists(id);
_objects[index].setIconFilm(hFilm);
}
- int GetObjectIndexIfExists(int id) const {
+ int GetObjectIndexIfExists(int id) const override {
for (uint i = 0; i < _objects.size(); i++) {
if (_objects[i].getId() == id) {
return i;
@@ -108,21 +74,33 @@ public:
}
return -1;
};
- int numObjects() const {
+ int numObjects() const override {
return _objects.size();
}
private:
Common::Array<T> _objects;
};
+template<>
+const InventoryObjectT3 *InventoryObjectsImpl<InventoryObjectT3>::GetInvObjectT3(int id) {
+ auto index = GetObjectIndexIfExists(id);
+ if (index != -1) {
+ return _objects.data() + index;
+ }
+ return nullptr;
+}
+
+template<>
+const InventoryObjectT3 *InventoryObjectsImpl<InventoryObject>::GetInvObjectT3(int id) {
+ error("Can't query Noir inventory objects from non Noir-game");
+}
+
InventoryObjects *InstantiateInventoryObjects(const byte *invObjects, int numObjects) {
switch (TinselVersion) {
- case 0:
- return new InventoryObjectsImpl<InventoryObject>(invObjects, numObjects);
case 3:
return new InventoryObjectsImpl<InventoryObjectT3>(invObjects, numObjects);
default:
- return new InventoryObjectsImpl<InventoryObjectT1>(invObjects, numObjects);
+ return new InventoryObjectsImpl<InventoryObject>(invObjects, numObjects);
}
}
diff --git a/engines/tinsel/inv_objects.h b/engines/tinsel/inv_objects.h
index daa9fb5a45d..3add4afd52b 100644
--- a/engines/tinsel/inv_objects.h
+++ b/engines/tinsel/inv_objects.h
@@ -23,6 +23,7 @@
#define TINSEL_INV_OBJECT_H
#include "common/memstream.h"
+#include "tinsel/tinsel.h"
#include "tinsel/dw.h"
namespace Tinsel {
@@ -49,7 +50,6 @@ enum class InvObjAttr {
class InventoryObject {
public:
InventoryObject(Common::MemoryReadStreamEndian &stream);
- virtual ~InventoryObject() {}
int32 getId() const { return _id; }
SCNHANDLE getIconFilm() const { return _hIconFilm; };
void setIconFilm(SCNHANDLE hIconFilm) { _hIconFilm = hIconFilm; }
@@ -58,25 +58,52 @@ public:
bool hasAttribute(InvObjAttr attribute) const {
return getAttribute() & (int32)attribute;
}
- // Noir:
- virtual int32 getUnknown() const;
- virtual int32 getTitle() const;
- static const int SIZE = 12;
+
+ // Data size consumed by constructor
+ static int SIZE() {
+ return (TinselVersion == 0 ? T0_SIZE : T1_SIZE);
+ }
protected:
+ static const int T0_SIZE = 3 * 4;
+ static const int T1_SIZE = T0_SIZE + 4; // Versions above 0 have attributes
// Tinsel 1+
- virtual int32 getAttribute() const {
- return 0;
+ int32 getAttribute() const {
+ return _attribute;
};
private:
int32 _id; // inventory objects id
SCNHANDLE _hIconFilm; // inventory objects animation film
SCNHANDLE _hScript; // inventory objects event handling script
+ int32 _attribute = 0;
+};
+
+class InventoryObjectT3 : public InventoryObject {
+public:
+ InventoryObjectT3(Common::MemoryReadStreamEndian &stream) : InventoryObject(stream) {
+ _unknown = stream.readUint32();
+ _title = stream.readUint32();
+ }
+ // Noir:
+ int32 getUnknown() const {
+ return _unknown;
+ }
+ int32 getTitle() const {
+ return _title;
+ }
+ // Data size consumed by constructor
+ static int SIZE() {
+ return InventoryObject::SIZE() + 8;
+ }
+private:
+ int32 _unknown;
+ int32 _title;
};
class InventoryObjects {
public:
virtual ~InventoryObjects() {};
virtual const InventoryObject *GetInvObject(int id) = 0;
+ virtual const InventoryObjectT3 *GetInvObjectT3(int id) = 0;
virtual const InventoryObject *GetObjectByIndex(int index) const = 0;
virtual void SetObjectFilm(int id, SCNHANDLE hFilm) = 0;
virtual int GetObjectIndexIfExists(int id) const = 0;
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index b8022c0319d..21e93b04632 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -26,14 +26,14 @@
namespace Tinsel {
void Notebook::AddHyperlink(int32 id1, int32 id2) {
- auto *invObject = _vm->_dialogs->GetInvObject(id1);
+ auto *invObject = _vm->_dialogs->GetInvObjectT3(id1);
if (invObject->getTitle() != 0) {
error("A clue can only be hyperlinked if it only has one title!");
return;
}
- invObject = _vm->_dialogs->GetInvObject(id2);
+ invObject = _vm->_dialogs->GetInvObjectT3(id2);
if (invObject->getTitle() != 0) {
error("A clue can only be hyperlinked if it only has one title!");
Commit: 72aa757d2c50814dda2bed20d93a5dbe2c23a6ba
https://github.com/scummvm/scummvm/commit/72aa757d2c50814dda2bed20d93a5dbe2c23a6ba
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Replace LockMem with GetMultiInit for MULTI_INIT
Changed paths:
A engines/tinsel/film.cpp
engines/tinsel/bg.cpp
engines/tinsel/cursor.cpp
engines/tinsel/dialogs.cpp
engines/tinsel/film.h
engines/tinsel/module.mk
engines/tinsel/movers.cpp
engines/tinsel/multiobj.cpp
engines/tinsel/play.cpp
diff --git a/engines/tinsel/bg.cpp b/engines/tinsel/bg.cpp
index d3af752cf70..db9468cfd72 100644
--- a/engines/tinsel/bg.cpp
+++ b/engines/tinsel/bg.cpp
@@ -64,7 +64,7 @@ void BGmainProcess(CORO_PARAM, const void *param) {
pReel = (const FREEL *)param;
// Get the MULTI_INIT structure
- pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pReel->mobj));
+ pmi = pReel->GetMultiInit();
// Initialize and insert the object, and initialize its script.
_vm->_bg->_pBG[0] = MultiInitObject(pmi);
@@ -79,7 +79,7 @@ void BGmainProcess(CORO_PARAM, const void *param) {
int i;
for (i = 0; i < _vm->_bg->_bgReels; i++) {
// Get the MULTI_INIT structure
- pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pFilm->reels[i].mobj));
+ pmi = pFilm->reels[i].GetMultiInit();
// Initialize and insert the object, and initialize its script.
_vm->_bg->_pBG[i] = MultiInitObject(pmi);
@@ -138,7 +138,7 @@ void BGotherProcess(CORO_PARAM, const void *param) {
CORO_END_CONTEXT(_ctx);
const FREEL *pReel = (const FREEL *)param;
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pReel->mobj));
+ const MULTI_INIT *pmi = pReel->GetMultiInit();
CORO_BEGIN_CODE(_ctx);
@@ -168,7 +168,7 @@ void Background::StartupBackground(CORO_PARAM, SCNHANDLE hFilm) {
const FREEL *pfr = &pfilm->reels[0];
if (TinselVersion != 3) {
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
const IMAGE *pim = _vm->_handle->GetImage(READ_32(pFrame));
SetBackPal(pim->hImgPal);
diff --git a/engines/tinsel/cursor.cpp b/engines/tinsel/cursor.cpp
index 9cbc534c366..a6d3ccc388c 100644
--- a/engines/tinsel/cursor.cpp
+++ b/engines/tinsel/cursor.cpp
@@ -89,7 +89,7 @@ void Cursor::InitCurTrailObj(int i, int x, int y) {
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(_cursorFilm);
const FREEL *pfr = (const FREEL *)&pFilm->reels[i + 1];
- const MULTI_INIT *pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
PokeInPalette(pmi);
@@ -303,7 +303,7 @@ void Cursor::DelAuxCursor() {
void Cursor::SetAuxCursor(SCNHANDLE hFilm) {
const FILM *pfilm = (const FILM *)_vm->_handle->LockMem(hFilm);
const FREEL *pfr = &pfilm->reels[0];
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
const IMAGE *pim;
int x, y; // Cursor position
@@ -418,7 +418,7 @@ void Cursor::DoCursorMove() {
void Cursor::InitCurObj() {
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(_cursorFilm);
const FREEL *pfr = (const FREEL *)&pFilm->reels[0];
- const MULTI_INIT *pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
if (TinselVersion != 3) {
PokeInPalette(pmi);
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index d9bf38c29b1..cb414a6bc53 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -2266,7 +2266,7 @@ OBJECT *Dialogs::AddInvObject(int num, const FREEL **pfreel, const FILM **pfilm)
auto invObj = GetInvObject(num);
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(invObj->getIconFilm());
const FREEL *pfr = (const FREEL *)&pFilm->reels[0];
- const MULTI_INIT *pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
OBJECT *pPlayObj; // The object we insert
*pfreel = pfr;
@@ -2397,7 +2397,7 @@ void Dialogs::AddTitle(OBJECT **title, const Common::Rect &bounds) {
* Insert a part of the inventory window frame onto the display list.
*/
OBJECT *Dialogs::AddObject(const FREEL *pfreel, int num) {
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfreel->mobj));
+ const MULTI_INIT *pmi = pfreel->GetMultiInit();
const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
const IMAGE *pim;
OBJECT *pPlayObj;
@@ -3144,7 +3144,7 @@ bool Dialogs::RePosition() {
void Dialogs::AlterCursor(int num) {
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
const FREEL *pfr = (const FREEL *)&pFilm->reels[num];
- const MULTI_INIT *pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfr->mobj));
+ const MULTI_INIT *pmi = pfr->GetMultiInit();
PokeInPalette(pmi);
diff --git a/engines/tinsel/film.cpp b/engines/tinsel/film.cpp
new file mode 100644
index 00000000000..10a6f2d03fc
--- /dev/null
+++ b/engines/tinsel/film.cpp
@@ -0,0 +1,36 @@
+/* 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 3 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, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "tinsel/film.h"
+#include "tinsel/handle.h"
+#include "tinsel/tinsel.h"
+
+namespace Tinsel {
+
+MULTI_INIT *FREEL::GetMultiInit() {
+ return (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(mobj));
+}
+
+const MULTI_INIT *FREEL::GetMultiInit() const {
+ return (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(mobj));
+}
+
+} // End of namespace Tinsel
diff --git a/engines/tinsel/film.h b/engines/tinsel/film.h
index 74ac52245e5..37d8621fc1b 100644
--- a/engines/tinsel/film.h
+++ b/engines/tinsel/film.h
@@ -28,9 +28,13 @@ namespace Tinsel {
#include "common/pack-start.h" // START STRUCT PACKING
+struct MULTI_INIT;
struct FREEL {
SCNHANDLE mobj;
SCNHANDLE script;
+
+ MULTI_INIT *GetMultiInit();
+ const MULTI_INIT *GetMultiInit() const;
} PACKED_STRUCT;
struct FILM {
diff --git a/engines/tinsel/module.mk b/engines/tinsel/module.mk
index 7edd3eacb3d..5a5f2693196 100644
--- a/engines/tinsel/module.mk
+++ b/engines/tinsel/module.mk
@@ -17,6 +17,7 @@ MODULE_OBJS := \
effect.o \
events.o \
faders.o \
+ film.o \
font.o \
graphics.o \
handle.o \
diff --git a/engines/tinsel/movers.cpp b/engines/tinsel/movers.cpp
index 94b52c09565..d44bedad29a 100644
--- a/engines/tinsel/movers.cpp
+++ b/engines/tinsel/movers.cpp
@@ -718,7 +718,7 @@ static void InitialPathChecks(MOVER *pMover, int xpos, int ypos) {
static void MoverProcessHelper(int X, int Y, int id, MOVER *pMover) {
const FILM *pfilm = (const FILM *)_vm->_handle->LockMem(pMover->walkReels[0][FORWARD]);
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pfilm->reels[0].mobj));
+ const MULTI_INIT *pmi = pfilm->reels[0].GetMultiInit();
assert(_vm->_bg->BgPal()); // Can't start actor without a background palette
assert(pMover->walkReels[0][FORWARD]); // Starting actor process without walk reels
@@ -812,7 +812,7 @@ void T2MoverProcess(CORO_PARAM, const void *param) {
MOVER *pMover = rpos->pMover;
int i;
FILM *pFilm;
- MULTI_INIT *pmi;
+ const MULTI_INIT *pmi;
CORO_BEGIN_CODE(_ctx);
@@ -826,7 +826,7 @@ void T2MoverProcess(CORO_PARAM, const void *param) {
InitialPathChecks(pMover, rpos->X, rpos->Y);
pFilm = (FILM *)_vm->_handle->LockMem(pMover->walkReels[i][FORWARD]); // Any old reel
- pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pFilm->reels[0].mobj));
+ pmi = pFilm->reels[0].GetMultiInit();
// Poke in the background palette
PokeInPalette(pmi);
diff --git a/engines/tinsel/multiobj.cpp b/engines/tinsel/multiobj.cpp
index 1ec2c944b41..50aeb6a24f8 100644
--- a/engines/tinsel/multiobj.cpp
+++ b/engines/tinsel/multiobj.cpp
@@ -86,7 +86,7 @@ OBJECT *MultiInitObject(const MULTI_INIT *pInitTbl) {
}
OBJECT *InsertReelObj(const FREEL *reels) {
- const MULTI_INIT *pmi = (const MULTI_INIT*)_vm->_handle->LockMem(reels->mobj);
+ const MULTI_INIT *pmi = reels->GetMultiInit();
// Verify that there is an image defined
const FRAME *frame = (const FRAME*)_vm->_handle->LockMem(pmi->hMulFrame);
const IMAGE *image = (const IMAGE*)_vm->_handle->LockMem(*frame);
diff --git a/engines/tinsel/play.cpp b/engines/tinsel/play.cpp
index a92fb36135c..0b33cd7de7c 100644
--- a/engines/tinsel/play.cpp
+++ b/engines/tinsel/play.cpp
@@ -235,10 +235,8 @@ static void SoundReel(CORO_PARAM, SCNHANDLE hFilm, int column, int speed,
CORO_BEGIN_CODE(_ctx);
if (actorCol) {
- MULTI_INIT *pmi; // MULTI_INIT structure
-
pReel = GetReel(hFilm, actorCol - 1);
- pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pReel->mobj));
+ const MULTI_INIT *pmi = pReel->GetMultiInit();
_ctx->reelActor = (int32)FROM_32(pmi->mulID);
} else
_ctx->reelActor = 0;
@@ -451,7 +449,7 @@ static void t1PlayReel(CORO_PARAM, const PPINIT *ppi) {
_ctx->pfreel = &pfilm->reels[ppi->column];
// Get the MULTI_INIT structure
- pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(_ctx->pfreel->mobj));
+ pmi = _ctx->pfreel->GetMultiInit();
// Save actor's ID
_ctx->reelActor = (int32)FROM_32(pmi->mulID);
@@ -705,7 +703,7 @@ static void t2PlayReel(CORO_PARAM, int x, int y, bool bRestore, int speed, SCNHA
// Get the reel and MULTI_INIT structure
_ctx->pFreel = GetReel(hFilm, column);
- _ctx->pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(_ctx->pFreel->mobj));
+ _ctx->pmi = _ctx->pFreel->GetMultiInit();
if ((int32)FROM_32(_ctx->pmi->mulID) == -2) {
CORO_INVOKE_ARGS(SoundReel, (CORO_SUBCTX, hFilm, column, speed, myescEvent,
@@ -958,7 +956,7 @@ void NewestFilm(SCNHANDLE film, const FREEL *reel) {
const MULTI_INIT *pmi; // MULTI_INIT structure
// Get the MULTI_INIT structure
- pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(reel->mobj));
+ pmi = reel->GetMultiInit();
if ((TinselVersion <= 1) || ((int32)FROM_32(pmi->mulID) != -2))
_vm->_actor->SetActorLatestFilm((int32)FROM_32(pmi->mulID), film);
@@ -1162,7 +1160,7 @@ void RestoreActorReels(SCNHANDLE hFilm, int actor, int x, int y) {
// Search backwards for now as later column will be the one
for (i = (int)FROM_32(pFilm->numreels) - 1; i >= 0; i--) {
pFreel = &pFilm->reels[i];
- pmi = (MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pFreel->mobj));
+ pmi = pFreel->GetMultiInit();
if ((int32)FROM_32(pmi->mulID) == actor) {
ppi.column = (short)i;
NewestFilm(hFilm, &pFilm->reels[i]);
@@ -1181,7 +1179,7 @@ void RestoreActorReels(SCNHANDLE hFilm, int actor, int x, int y) {
int ExtractActor(SCNHANDLE hFilm) {
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(hFilm);
const FREEL *pReel = &pFilm->reels[0];
- const MULTI_INIT *pmi = (const MULTI_INIT *)_vm->_handle->LockMem(FROM_32(pReel->mobj));
+ const MULTI_INIT *pmi = pReel->GetMultiInit();
return (int)FROM_32(pmi->mulID);
}
Commit: 9ebe1cd31b35d87f8426d81c1db0fefded7124d1
https://github.com/scummvm/scummvm/commit/9ebe1cd31b35d87f8426d81c1db0fefded7124d1
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Replace LockMem with GetFrame for FRAME
Changed paths:
engines/tinsel/bg.cpp
engines/tinsel/cursor.cpp
engines/tinsel/dialogs.cpp
engines/tinsel/multiobj.cpp
engines/tinsel/multiobj.h
engines/tinsel/play.cpp
diff --git a/engines/tinsel/bg.cpp b/engines/tinsel/bg.cpp
index db9468cfd72..f59b8287dc9 100644
--- a/engines/tinsel/bg.cpp
+++ b/engines/tinsel/bg.cpp
@@ -169,7 +169,7 @@ void Background::StartupBackground(CORO_PARAM, SCNHANDLE hFilm) {
if (TinselVersion != 3) {
const MULTI_INIT *pmi = pfr->GetMultiInit();
- const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
+ const FRAME *pFrame = pmi->GetFrame();
const IMAGE *pim = _vm->_handle->GetImage(READ_32(pFrame));
SetBackPal(pim->hImgPal);
delete pim;
diff --git a/engines/tinsel/cursor.cpp b/engines/tinsel/cursor.cpp
index a6d3ccc388c..7e1d7988aab 100644
--- a/engines/tinsel/cursor.cpp
+++ b/engines/tinsel/cursor.cpp
@@ -304,7 +304,7 @@ void Cursor::SetAuxCursor(SCNHANDLE hFilm) {
const FILM *pfilm = (const FILM *)_vm->_handle->LockMem(hFilm);
const FREEL *pfr = &pfilm->reels[0];
const MULTI_INIT *pmi = pfr->GetMultiInit();
- const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
+ const FRAME *pFrame = pmi->GetFrame();
const IMAGE *pim;
int x, y; // Cursor position
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index cb414a6bc53..1a0cfa1270e 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -2398,7 +2398,7 @@ void Dialogs::AddTitle(OBJECT **title, const Common::Rect &bounds) {
*/
OBJECT *Dialogs::AddObject(const FREEL *pfreel, int num) {
const MULTI_INIT *pmi = pfreel->GetMultiInit();
- const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
+ const FRAME *pFrame = pmi->GetFrame();
const IMAGE *pim;
OBJECT *pPlayObj;
diff --git a/engines/tinsel/multiobj.cpp b/engines/tinsel/multiobj.cpp
index 50aeb6a24f8..466cb301b79 100644
--- a/engines/tinsel/multiobj.cpp
+++ b/engines/tinsel/multiobj.cpp
@@ -30,6 +30,10 @@
namespace Tinsel {
+const FRAME *MULTI_INIT::GetFrame() const {
+ return (const FRAME *)_vm->_handle->LockMem(FROM_32(hMulFrame));
+}
+
/**
* Initialize a multi-part object using a list of images to init
* each object piece. One object is created for each image in the list.
@@ -40,11 +44,11 @@ namespace Tinsel {
OBJECT *MultiInitObject(const MULTI_INIT *pInitTbl) {
OBJ_INIT obj_init; // object init table
OBJECT *pFirst, *pObj; // object pointers
- FRAME *pFrame; // list of images for the multi-part object
+ const FRAME *pFrame; // list of images for the multi-part object
if (FROM_32(pInitTbl->hMulFrame)) {
// we have a frame handle
- pFrame = (FRAME *)_vm->_handle->LockMem(FROM_32(pInitTbl->hMulFrame));
+ pFrame = pInitTbl->GetFrame();
obj_init.hObjImg = READ_32(pFrame); // first objects shape
} else { // this must be a animation list for a NULL object
@@ -88,7 +92,7 @@ OBJECT *MultiInitObject(const MULTI_INIT *pInitTbl) {
OBJECT *InsertReelObj(const FREEL *reels) {
const MULTI_INIT *pmi = reels->GetMultiInit();
// Verify that there is an image defined
- const FRAME *frame = (const FRAME*)_vm->_handle->LockMem(pmi->hMulFrame);
+ const FRAME *frame = pmi->GetFrame();
const IMAGE *image = (const IMAGE*)_vm->_handle->LockMem(*frame);
assert(image);
diff --git a/engines/tinsel/multiobj.h b/engines/tinsel/multiobj.h
index 67efe282127..386406d0f20 100644
--- a/engines/tinsel/multiobj.h
+++ b/engines/tinsel/multiobj.h
@@ -43,6 +43,8 @@ struct MULTI_INIT {
int32 mulY; ///< multi-objects initial y ani position
int32 mulZ; ///< multi-objects initial z position
uint32 otherFlags; ///< multi-objects Tinsel 2 - other flags
+
+ const FRAME *GetFrame() const;
} PACKED_STRUCT;
#include "common/pack-end.h" // END STRUCT PACKING
diff --git a/engines/tinsel/play.cpp b/engines/tinsel/play.cpp
index 0b33cd7de7c..d754dcd8f3b 100644
--- a/engines/tinsel/play.cpp
+++ b/engines/tinsel/play.cpp
@@ -101,7 +101,7 @@ static void PokeInPalette(SCNHANDLE hMulFrame) {
void PokeInPalette(const MULTI_INIT *pmi) {
// Could be an empty column
if (pmi->hMulFrame) {
- const FRAME *pFrame = (const FRAME *)_vm->_handle->LockMem(FROM_32(pmi->hMulFrame));
+ const FRAME *pFrame = pmi->GetFrame();
_vm->_handle->SetImagePalette(READ_32(pFrame), _vm->_bg->BgPal());
}
}
Commit: aa4c3184eb5a41d0d3511a7fdec029c08742eae4
https://github.com/scummvm/scummvm/commit/aa4c3184eb5a41d0d3511a7fdec029c08742eae4
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Refactor IsInPolygon to be partially a member-function
Changed paths:
engines/tinsel/polygons.cpp
diff --git a/engines/tinsel/polygons.cpp b/engines/tinsel/polygons.cpp
index 3a601a3fb5d..93bd2358372 100644
--- a/engines/tinsel/polygons.cpp
+++ b/engines/tinsel/polygons.cpp
@@ -109,6 +109,7 @@ struct POLYGON {
*/
POLYGON *adjpaths[MAXADJ];
+ bool containsPoint(const Common::Point &point) const;
};
#define MAXONROUTE 40
@@ -404,13 +405,8 @@ static HPOLYGON PolygonIndex(const POLYGON *pp) {
* have two polygon corners above it and two corners to the left of it.
*/
bool IsInPolygon(int xt, int yt, HPOLYGON hp) {
- const POLYGON *pp;
- int i;
- bool BeenTested = false;
- int pl = 0, pa = 0;
-
CHECK_HP_OR(hp, "Out of range polygon handle (1)");
- pp = Polys[hp];
+ const POLYGON *pp = Polys[hp];
assert(pp != NULL); // Testing whether in a NULL polygon
// Shift cursor for relative polygons
@@ -419,18 +415,26 @@ bool IsInPolygon(int xt, int yt, HPOLYGON hp) {
yt -= volatileStuff[hp].yoff;
}
+ return pp->containsPoint(Common::Point(xt, yt));
+}
+
+bool POLYGON::containsPoint(const Common::Point &point) const {
+ int xt = point.x;
+ int yt = point.y;
/* Is point within the external rectangle? */
- if (xt < pp->pleft || xt > pp->pright || yt < pp->ptop || yt > pp->pbottom)
+ if (point.x < this->pleft || point.x > this->pright || yt < this->ptop || yt > this->pbottom)
return false;
+ bool BeenTested = false;
+
// For each corner/side
- for (i = 0; i < 4; i++) {
+ for (int i = 0; i < 4; i++) {
// If within this side's 'testable' area
// i.e. within the width of the line in y direction of end of line
// or within the height of the line in x direction of end of line
- if ((xt >= pp->lleft[i] && xt <= pp->lright[i] && ((yt > pp->cy[i]) == (pp->cy[(i+1)%4] > pp->cy[i])))
- || (yt >= pp->ltop[i] && yt <= pp->lbottom[i] && ((xt > pp->cx[i]) == (pp->cx[(i+1)%4] > pp->cx[i])))) {
- if (((long)xt*pp->a[i] + (long)yt*pp->b[i]) < pp->c[i])
+ if ((xt >= this->lleft[i] && xt <= this->lright[i] && ((yt > this->cy[i]) == (this->cy[(i+1)%4] > this->cy[i])))
+ || (yt >= this->ltop[i] && yt <= this->lbottom[i] && ((xt > this->cx[i]) == (this->cx[(i+1)%4] > this->cx[i])))) {
+ if (((long)xt*this->a[i] + (long)yt*this->b[i]) < this->c[i])
return false;
else
BeenTested = true;
@@ -439,21 +443,23 @@ bool IsInPolygon(int xt, int yt, HPOLYGON hp) {
if (BeenTested) {
// New dodgy code 29/12/94
- if (pp->polyType == BLOCK) {
+ if (this->polyType == BLOCK) {
// For each corner/side
- for (i = 0; i < 4; i++) {
+ for (int i = 0; i < 4; i++) {
// Pretend the corners of blocking polys are not in the poly.
- if (xt == pp->cx[i] && yt == pp->cy[i])
+ if (xt == this->cx[i] && yt == this->cy[i])
return false;
}
}
return true;
} else {
+ int pl = 0, pa = 0;
+
// Is point within the internal rectangle?
- for (i = 0; i < 4; i++) {
- if (pp->cx[i] < xt)
+ for (int i = 0; i < 4; i++) {
+ if (this->cx[i] < xt)
pl++;
- if (pp->cy[i] < yt)
+ if (this->cy[i] < yt)
pa++;
}
Commit: 54f179dfab7dd2e06363afec854196893c58f4f4
https://github.com/scummvm/scummvm/commit/54f179dfab7dd2e06363afec854196893c58f4f4
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Minor style-fixes
Changed paths:
engines/tinsel/multiobj.h
diff --git a/engines/tinsel/multiobj.h b/engines/tinsel/multiobj.h
index 386406d0f20..c7688b829b2 100644
--- a/engines/tinsel/multiobj.h
+++ b/engines/tinsel/multiobj.h
@@ -135,11 +135,11 @@ void MultiForceRedraw(
OBJECT *pMultiObj); // multi-part object to be forced
struct FREEL;
-OBJECT* InsertReelObj(const FREEL *reels);
+OBJECT *InsertReelObj(const FREEL *reels);
struct FILM;
enum class SysReel;
-const FILM* GetSystemReelFilm(SysReel reelIndex);
-OBJECT* InsertSystemReelObj(SysReel reelIndex);
+const FILM *GetSystemReelFilm(SysReel reelIndex);
+OBJECT *InsertSystemReelObj(SysReel reelIndex);
} // End of namespace Tinsel
Commit: de164c168d09aae40ff76114078e5c2187785870
https://github.com/scummvm/scummvm/commit/de164c168d09aae40ff76114078e5c2187785870
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Implement InventoryOrNotebookActive
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/events.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 1a0cfa1270e..2e0ba004644 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1289,7 +1289,11 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
* Returns true if the inventory is active.
*/
bool Dialogs::InventoryActive() {
- return (_inventoryState == ACTIVE_INV);
+ return _inventoryState == ACTIVE_INV;
+}
+
+bool Dialogs::InventoryOrNotebookActive() {
+ return InventoryActive() || ((TinselVersion == 3) && _vm->_notebook->IsOpen());
}
int Dialogs::WhichInventoryOpen() {
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 923b8dd62b6..703bb95bea6 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -298,6 +298,7 @@ public:
void idec_invMain(SCNHANDLE text, int MaxContents);
bool InventoryActive();
+ bool InventoryOrNotebookActive();
void PermaConvIcon(int icon, bool bEnd = false);
diff --git a/engines/tinsel/events.cpp b/engines/tinsel/events.cpp
index cbc51fa6fa9..75e67d24ac6 100644
--- a/engines/tinsel/events.cpp
+++ b/engines/tinsel/events.cpp
@@ -160,7 +160,7 @@ void ControlOn() {
_vm->_cursor->UnHideCursor();
// Turn tags back on
- if (!_vm->_dialogs->InventoryActive())
+ if (!_vm->_dialogs->InventoryOrNotebookActive())
EnableTags();
}
}
@@ -433,7 +433,7 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (!ControlIsOn() && (pEvent != PLR_DRAG1_END))
return;
- if ((TinselVersion >= 2) && _vm->_dialogs->InventoryActive()) {
+ if ((TinselVersion >= 2) && _vm->_dialogs->InventoryOrNotebookActive()) {
int x, y;
_vm->_bg->PlayfieldGetPos(FIELD_WORLD, &x, &y);
_vm->_dialogs->EventToInventory(pEvent, Common::Point(coOrds.x - x, coOrds.y - y));
Commit: ec6835dac7db4ac96b17c3bd794746c572873774
https://github.com/scummvm/scummvm/commit/ec6835dac7db4ac96b17c3bd794746c572873774
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Implement Notebook logic for adding clues and showing pages.
Changed paths:
A engines/tinsel/noir/notebook_page.cpp
A engines/tinsel/noir/notebook_page.h
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/inv_objects.h
engines/tinsel/module.mk
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
engines/tinsel/noir/sysreel.h
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 2e0ba004644..1f251867399 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1208,7 +1208,7 @@ bool Dialogs::GetIsInvObject(int id) {
/**
* Convert item ID number to index.
*/
-int Dialogs::GetObjectIndex(int id) {
+int Dialogs::GetObjectIndex(int id) const {
int index = _invObjects->GetObjectIndexIfExists(id);
if (index == -1) {
error("GetObjectIndex(%d): Trying to manipulate undefined inventory icon", id);
@@ -5142,6 +5142,10 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
/************************* Odds and Ends **********************************/
/**************************************************************************/
+const FILM *Dialogs::GetObjectFilm(int object) const {
+ return (const FILM*)_vm->_handle->LockMem(_invFilms[GetObjectIndex(object)]);
+}
+
/**
* Called from Glitter function invdepict()
* Changes (permanently) the animation film for that object.
@@ -5149,6 +5153,10 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
void Dialogs::SetObjectFilm(int object, SCNHANDLE hFilm) {
_invObjects->SetObjectFilm(object, hFilm);
+ if (TinselVersion == 3) {
+ _invFilms[GetObjectIndex(object)] = hFilm;
+ }
+
if (_heldItem != object)
_ItemsChanged = true;
}
@@ -5570,6 +5578,9 @@ void Dialogs::Redraw() {
}
}
}
+ if (TinselVersion == 3) {
+ _vm->_notebook->StepAnimScripts();
+ }
}
// Noir
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 703bb95bea6..018d51084be 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -342,6 +342,7 @@ public:
bool MenuActive();
bool IsConvWindow();
+ const FILM *GetObjectFilm(int object) const;
void SetObjectFilm(int object, SCNHANDLE hFilm);
void CallFunction(BFUNC boxFunc);
@@ -393,7 +394,7 @@ private:
void DumpObjArray();
void FirstScene(int first);
void FirstFile(int first);
- int GetObjectIndex(int id);
+ int GetObjectIndex(int id) const;
void InvSaveGame();
void InvLoadGame();
int InvArea(int x, int y);
diff --git a/engines/tinsel/inv_objects.h b/engines/tinsel/inv_objects.h
index 3add4afd52b..d736b893c74 100644
--- a/engines/tinsel/inv_objects.h
+++ b/engines/tinsel/inv_objects.h
@@ -84,6 +84,9 @@ public:
_title = stream.readUint32();
}
// Noir:
+ bool isNotebookTitle() const {
+ return (getAttribute() & (int)InvObjAttr::NOTEBOOK_TITLE) != 0;
+ }
int32 getUnknown() const {
return _unknown;
}
diff --git a/engines/tinsel/module.mk b/engines/tinsel/module.mk
index 5a5f2693196..e7b30e8cb23 100644
--- a/engines/tinsel/module.mk
+++ b/engines/tinsel/module.mk
@@ -50,6 +50,7 @@ MODULE_OBJS := \
tinsel.o \
token.o \
noir/notebook.o \
+ noir/notebook_page.o \
noir/sysreel.o \
# This module can be built as a plugin
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 21e93b04632..7c342e53715 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -21,7 +21,14 @@
#include "tinsel/noir/notebook.h"
+#include "tinsel/background.h"
#include "tinsel/dialogs.h"
+#include "tinsel/film.h"
+#include "tinsel/handle.h"
+#include "tinsel/multiobj.h"
+#include "tinsel/noir/sysreel.h"
+#include "tinsel/pdisplay.h"
+#include "tinsel/timers.h"
namespace Tinsel {
@@ -61,13 +68,114 @@ void Notebook::AddHyperlink(int32 id1, int32 id2) {
error("Too many hyperlinks");
}
+void Notebook::ClearNotebookPage() {
+ if (_prevPage != -1) {
+ _pages[_prevPage].Clear();
+ }
+ _prevPage = -1;
+ _pages[_currentPage].Clear();
+}
+
+void Notebook::Refresh() {
+ auto reel = (_currentPage == 0 ? SysReel::NOTEPAD_CLOSED : SysReel::NOTEPAD_OPEN);
+ auto film = GetSystemReelFilm(reel);
+ InitStepAnimScript(&_anim, _object, film->reels->script, ONE_SECOND / film->frate);
+ ClearNotebookPage();
+ if (_currentPage != 0) {
+ _pages[_currentPage].FillIn();
+ }
+}
+
+int Notebook::AddTitle(const InventoryObjectT3 &invObject) {
+ int id = invObject.getId();
+ assert(invObject.isNotebookTitle());
+ for (int i = 0; i < _numPages; i++) {
+ if (_pages[i].GetTitle() == id) {
+ return i;
+ }
+ }
+ int linkedFromPage = invObject.getUnknown();
+
+ // 0 page is the closed notebook, has no entries.
+ if (linkedFromPage != 0) {
+ // Allocate a line on the linked from page.
+ assert(_pages[linkedFromPage].GetTitle() != 0);
+ _pages[linkedFromPage].AddLine(id);
+ }
+ int pageIndex = _numPages++;
+ _pages[pageIndex].SetTitle(id);
+ return pageIndex;
+}
+
+void Notebook::AddClue(const InventoryObjectT3 &invObject) {
+ // Add title if missing, otherwise just get the page it's on.
+ auto titleObject = _vm->_dialogs->GetInvObjectT3(invObject.getUnknown());
+ int pageIndex = AddTitle(*titleObject);
+ _pages[pageIndex].AddLine(invObject.getId());
+ if (invObject.getTitle() != 0) {
+ auto secondTitleObject = _vm->_dialogs->GetInvObjectT3(invObject.getTitle());
+ pageIndex = AddTitle(*secondTitleObject);
+ _pages[pageIndex].AddLine(invObject.getId());
+ }
+}
+
+void Notebook::AddClue(int id) {
+ auto invObject = _vm->_dialogs->GetInvObjectT3(id);
+ if (invObject->isNotebookTitle()) {
+ AddTitle(*invObject);
+ } else {
+ AddClue(*invObject);
+ }
+}
+
+void InitNotebookAnim(OBJECT **obj, ANIM &anim, SysReel reel, int zPosition) {
+ auto film = GetSystemReelFilm(reel);
+ MultiDeleteObjectIfExists(FIELD_STATUS, obj);
+ *obj = InsertReelObj(film->reels);
+ MultiSetZPosition(*obj, zPosition);
+ InitStepAnimScript(&anim, *obj, film->reels->script, ONE_SECOND / film->frate);
+}
+
+void Notebook::SetNextPage(int pageIndex) {
+ assert(_prevPage == -1 || _prevPage == _currentPage); // Check that we've cleaned any outstanding page.
+ _prevPage = _currentPage;
+ _currentPage = pageIndex;
+}
void Notebook::Show(bool isOpen) {
- error("TODO: Implement Notebook::Show()");
+ auto reel = (isOpen ? SysReel::NOTEPAD_OPEN : SysReel::NOTEPAD_OPENING);
+ InitNotebookAnim(&_object, _anim, reel, Z_INV_MFRAME);
+
+ _state = (isOpen ? BOOKSTATE::OPENED : BOOKSTATE::OPEN_ANIMATING);
+ SetNextPage(1);
+ Refresh();
+ DisableTags(); // Tags disabled in Notebook
+ DisablePointing(); // Pointing disabled in Notebook
}
bool Notebook::IsOpen() const {
return _state != BOOKSTATE::CLOSED;
}
+void Notebook::Close() {
+ ClearNotebookPage();
+ MultiDeleteObjectIfExists(FIELD_STATUS, &_object);
+ MultiDeleteObjectIfExists(FIELD_STATUS, &_pageObject);
+ _state = BOOKSTATE::CLOSED;
+ if (_vm->_dialogs->InventoryOrNotebookActive()) {
+ EnablePointing();
+ EnableTags();
+ }
+}
+
+void Notebook::StepAnimScripts() {
+ if (_state == BOOKSTATE::OPEN_ANIMATING) {
+ auto state = StepAnimScript(&_anim);
+ if (state == ScriptFinished) {
+ _state = BOOKSTATE::OPENED;
+ Refresh();
+ }
+ }
+}
+
} // End of namespace Tinsel
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 79b7bcdb071..5656adf7121 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -24,13 +24,16 @@
#include "common/scummsys.h"
+#include "notebook_page.h"
+#include "tinsel/anim.h"
#include "tinsel/events.h"
+#include "tinsel/object.h"
namespace Tinsel {
// links two clue/title objects together
struct HYPERLINK {
- int32 id1;
- int32 id2;
+ int32 id1 = 0;
+ int32 id2 = 0;
};
// 6 bytes large
@@ -50,34 +53,51 @@ enum class BOOKSTATE {
OPENED = 3
};
+class InventoryObjectT3;
+
class Notebook {
public:
Notebook() = default;
- // Can be a title or clue
- void AddEntry(int32 entryIdx, int32 page1, int32 page2);
// Adds a connection between a clue/title
void AddHyperlink(int32 id1, int32 id2);
+ void AddClue(int id);
// Called within InventoryProcess loop
void Redraw();
- // Called by EventToInventory
- void EventToNotebook(PLR_EVENT event, bool p2, bool p3);
+
// Called from OPENNOTEBOOK
void Show(bool isOpen);
bool IsOpen() const;
+ void Close();
+
+ void StepAnimScripts();
+ void Refresh();
private:
- const static uint32 MAX_ENTRIES = 100;
+ int AddTitle(const InventoryObjectT3 &invObject);
+ void AddClue(const InventoryObjectT3 &invObject);
+
+ void ClearNotebookPage();
+
+ void SetNextPage(int pageIndex);
+
const static uint32 MAX_PAGES = 0x15;
const static uint32 MAX_HYPERS = 0xf;
- const static uint32 MAX_ENTRIES_PER_PAGE = 8;
HYPERLINK _hyperlinks[MAX_HYPERS];
- const static uint32 _numEntries = 0;
+ uint32 _numPages = 1;
+ uint32 _prevPage = -1;
+ uint32 _currentPage = 1;
+
+ NotebookPage _pages[MAX_PAGES] = {};
+
+ ANIM _anim = {};
+ OBJECT *_object = nullptr;
- ENTRY _entries[MAX_ENTRIES];
+ ANIM _pageAnim = {};
+ OBJECT *_pageObject = nullptr;
- BOOKSTATE _state;
+ BOOKSTATE _state = BOOKSTATE::CLOSED;
};
} // End of namespace Tinsel
diff --git a/engines/tinsel/noir/notebook_page.cpp b/engines/tinsel/noir/notebook_page.cpp
new file mode 100644
index 00000000000..afa99fc16fb
--- /dev/null
+++ b/engines/tinsel/noir/notebook_page.cpp
@@ -0,0 +1,134 @@
+/* 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 3 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, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "tinsel/noir/notebook_page.h"
+#include "tinsel/dialogs.h"
+#include "tinsel/dw.h"
+#include "tinsel/film.h"
+#include "tinsel/handle.h"
+#include "tinsel/multiobj.h"
+#include "tinsel/polygons.h"
+#include "tinsel/timers.h"
+#include "tinsel/tinsel.h"
+#include "tinsel/noir/sysreel.h"
+
+namespace Tinsel {
+
+void NotebookLine::Clear() {
+ MultiDeleteObjectIfExists(FIELD_STATUS, &_obj);
+}
+
+bool HasReelFrame(SCNHANDLE pReel) {
+ if (pReel) {
+ const FREEL* reel = (const FREEL*)_vm->_handle->LockMem(pReel);
+ if (reel && reel->mobj) {
+ const MULTI_INIT* pmi = reel->GetMultiInit();
+ if (pmi) {
+ return pmi->GetFrame() != nullptr;
+ }
+ }
+ }
+ return false;
+}
+
+int FindReelIndexForEntry(const FILM *pFilm, int pageLine) {
+ if (HasReelFrame(pFilm->reels[pageLine].mobj)) {
+ return pageLine;
+ }
+ for (int i = pageLine; i < pFilm->numreels; i++) {
+ if (HasReelFrame(pFilm->reels[i].mobj)) {
+ return i;
+ }
+ }
+ for (int i = pageLine; i >= 0; i--) {
+ if (HasReelFrame(pFilm->reels[i].mobj)) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+void NotebookLine::FillIn(int pageLine) {
+ const FILM *pFilm = _vm->_dialogs->GetObjectFilm(_id);
+ if (!pFilm)
+ return;
+
+ int reelIndex = FindReelIndexForEntry(pFilm, pageLine);
+ assert(reelIndex >= 0);
+ const FREEL *reel = &pFilm->reels[reelIndex];
+ MultiDeleteObjectIfExists(FIELD_STATUS, &_obj);
+ _obj = InsertReelObj(reel);
+
+ MultiSetZPosition(_obj, 17);
+ InitStepAnimScript(&_anim, _obj, pFilm->reels[reelIndex].script, ONE_SECOND / pFilm->frate);
+
+ if (_crossedOut) {
+ auto scribbleFilm = GetSystemReelFilm(SysReel::SCRIBBLES);
+ _scribbles = InsertReelObj(&scribbleFilm->reels[reelIndex]);
+ MultiSetZPosition(_scribbles, 18);
+
+ InitStepAnimScript(&_scribbleAnim, _scribbles, scribbleFilm->reels[reelIndex].script, ONE_SECOND / pFilm->frate);
+ }
+}
+
+void NotebookLine::CrossOut() {
+ _crossedOut = true;
+}
+
+bool NotebookPage::ContainsClue(int id) {
+ for (int i = 0; i < _numLines; i++) {
+ if (_lines[i]._id == id) {
+ return true;
+ }
+ }
+ return false;
+}
+void NotebookPage::AddLine(int id) {
+ if (ContainsClue(id)) {
+ return;
+ }
+ assert(_numLines < MAX_ENTRIES_PER_PAGE);
+ _lines[_numLines++]._id = id;
+}
+
+void NotebookPage::SetTitle(int id) {
+ _lines[0]._id = id;
+ if (_numLines == 0) {
+ _numLines++;
+ }
+}
+int32 NotebookPage::GetTitle() const {
+ return _lines[0]._id;
+}
+
+void NotebookPage::FillIn() {
+ for (int i = 0; i < _numLines; i++) {
+ _lines[i].FillIn(i);
+ }
+}
+
+void NotebookPage::Clear() {
+ for (int i = 0; i < _numLines; i++) {
+ _lines[i].Clear();
+ }
+}
+
+} // End of namespace Tinsel
diff --git a/engines/tinsel/noir/notebook_page.h b/engines/tinsel/noir/notebook_page.h
new file mode 100644
index 00000000000..8ef36b49c80
--- /dev/null
+++ b/engines/tinsel/noir/notebook_page.h
@@ -0,0 +1,62 @@
+/* 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 3 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, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#ifndef TINSEL_NOTEBOOK_PAGE_H // prevent multiple includes
+#define TINSEL_NOTEBOOK_PAGE_H
+
+#include "common/scummsys.h"
+#include "tinsel/anim.h"
+#include "tinsel/tinsel.h"
+#include "tinsel/object.h"
+
+namespace Tinsel {
+
+class NotebookLine {
+public:
+ int _id = 0;
+ void CrossOut();
+ void Clear();
+ void FillIn(int pageLine);
+private:
+ bool _crossedOut = false;
+ ANIM _anim = {};
+ OBJECT *_obj = nullptr;
+ OBJECT *_scribbles = nullptr;
+ ANIM _scribbleAnim = {};
+};
+
+class NotebookPage {
+public:
+ bool ContainsClue(int id);
+ void AddLine(int id);
+ void SetTitle(int id);
+ int32 GetTitle() const;
+ void FillIn();
+ void Clear();
+private:
+ const static uint32 MAX_ENTRIES_PER_PAGE = 8;
+ NotebookLine _lines[MAX_ENTRIES_PER_PAGE] = {};
+ uint32 _numLines = 0;
+};
+
+} // End of namespace Tinsel
+
+#endif // SCUMMVM_NOTEBOOK_PAGE_H
diff --git a/engines/tinsel/noir/sysreel.h b/engines/tinsel/noir/sysreel.h
index a003751fcb7..f1d2cc46133 100644
--- a/engines/tinsel/noir/sysreel.h
+++ b/engines/tinsel/noir/sysreel.h
@@ -32,6 +32,7 @@ enum class SysReel {
NOTEPAD_CLOSED = 6,
NOTEPAD_FLIPDOWN = 7,
NOTEPAD_FLIPUP = 8,
+ SCRIBBLES = 9,
CURSOR = 11,
INVMAIN = 15,
SLIDER = 16,
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 508f3b825f0..2bec883eb96 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -5395,7 +5395,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case ADDNOTEBOOK:
// Noir Only
- warning("TODO: Implement ADDNOTEBOOK");
+ _vm->_notebook->AddClue(pp[0]);
return -1;
case ADDOPENINV:
Commit: 5c409b4bbbda6eade879a37b5a5f466f5b5b45d4
https://github.com/scummvm/scummvm/commit/5c409b4bbbda6eade879a37b5a5f466f5b5b45d4
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Implement library function CROSSCLUE
Changed paths:
engines/tinsel/debugger.cpp
engines/tinsel/debugger.h
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
engines/tinsel/noir/notebook_page.cpp
engines/tinsel/noir/notebook_page.h
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/debugger.cpp b/engines/tinsel/debugger.cpp
index de46b7ded06..09fbbb1cc6c 100644
--- a/engines/tinsel/debugger.cpp
+++ b/engines/tinsel/debugger.cpp
@@ -28,6 +28,7 @@
#include "tinsel/music.h"
#include "tinsel/font.h"
#include "tinsel/strres.h"
+#include "tinsel/noir/notebook.h"
namespace Tinsel {
@@ -61,6 +62,10 @@ int strToInt(const char *s) {
//----------------- CONSOLE CLASS ---------------------
Console::Console() : GUI::Debugger() {
+ if (TinselVersion == 3) {
+ registerCmd("add_clue", WRAP_METHOD(Console, cmd_add_clue));
+ registerCmd("cross_clue", WRAP_METHOD(Console, cmd_cross_clue));
+ }
registerCmd("item", WRAP_METHOD(Console, cmd_item));
registerCmd("scene", WRAP_METHOD(Console, cmd_scene));
registerCmd("music", WRAP_METHOD(Console, cmd_music));
@@ -160,4 +165,27 @@ bool Console::cmd_string(int argc, const char **argv) {
return true;
}
+// Noir:
+bool Console::cmd_add_clue(int argc, const char **argv) {
+ if (argc < 2) {
+ debugPrintf("%s clue_id\n", argv[0]);
+ debugPrintf("Adds a clue to the notebook\n");
+ return true;
+ }
+
+ _vm->_notebook->AddClue(strToInt(argv[1]));
+ return false;
+}
+
+bool Console::cmd_cross_clue(int argc, const char **argv) {
+ if (argc < 2) {
+ debugPrintf("%s clue_id\n", argv[0]);
+ debugPrintf("Crosses out a clue in the notebook\n");
+ return true;
+ }
+
+ _vm->_notebook->CrossClue(strToInt(argv[1]));
+ return false;
+}
+
} // End of namespace Tinsel
diff --git a/engines/tinsel/debugger.h b/engines/tinsel/debugger.h
index 4813acc432c..f40d0d03e5e 100644
--- a/engines/tinsel/debugger.h
+++ b/engines/tinsel/debugger.h
@@ -34,6 +34,8 @@ public:
~Console() override;
private:
+ bool cmd_add_clue(int argc, const char **argv);
+ bool cmd_cross_clue(int argc, const char **argv);
bool cmd_item(int argc, const char **argv);
bool cmd_scene(int argc, const char **argv);
bool cmd_music(int argc, const char **argv);
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 7c342e53715..d138be5b373 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -128,6 +128,35 @@ void Notebook::AddClue(int id) {
}
}
+int Notebook::GetPageWithTitle(int id) {
+ for (int i = 0; i < _numPages; i++) {
+ if (_pages[i].GetTitle() == id) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+void Notebook::CrossClue(int id) {
+ auto invObject = _vm->_dialogs->GetInvObjectT3(id);
+ if (invObject->isNotebookTitle()) {
+ return;
+ }
+ int titles[2] = {
+ invObject->getUnknown(),
+ invObject->getTitle()
+ };
+ for (int i = 0; i < 2; i++) {
+ if (titles[i] == 0) {
+ continue;
+ }
+ int page = GetPageWithTitle(titles[i]);
+ if (page != -1) {
+ _pages[page].CrossClue(id);
+ }
+ }
+}
+
void InitNotebookAnim(OBJECT **obj, ANIM &anim, SysReel reel, int zPosition) {
auto film = GetSystemReelFilm(reel);
MultiDeleteObjectIfExists(FIELD_STATUS, obj);
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 5656adf7121..58beda8da7c 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -62,6 +62,7 @@ public:
// Adds a connection between a clue/title
void AddHyperlink(int32 id1, int32 id2);
void AddClue(int id);
+ void CrossClue(int id);
// Called within InventoryProcess loop
void Redraw();
@@ -75,6 +76,7 @@ public:
private:
int AddTitle(const InventoryObjectT3 &invObject);
void AddClue(const InventoryObjectT3 &invObject);
+ int GetPageWithTitle(int id);
void ClearNotebookPage();
diff --git a/engines/tinsel/noir/notebook_page.cpp b/engines/tinsel/noir/notebook_page.cpp
index afa99fc16fb..848f1866823 100644
--- a/engines/tinsel/noir/notebook_page.cpp
+++ b/engines/tinsel/noir/notebook_page.cpp
@@ -93,14 +93,25 @@ void NotebookLine::CrossOut() {
_crossedOut = true;
}
-bool NotebookPage::ContainsClue(int id) {
+int NotebookPage::IndexOfClue(int id) const {
for (int i = 0; i < _numLines; i++) {
if (_lines[i]._id == id) {
- return true;
+ return i;
}
}
- return false;
+ return -1;
+}
+
+bool NotebookPage::ContainsClue(int id) {
+ return IndexOfClue(id) != -1;
}
+
+void NotebookPage::CrossClue(int id) {
+ int index = IndexOfClue(id);
+ assert(index != -1);
+ _lines[index].CrossOut();
+}
+
void NotebookPage::AddLine(int id) {
if (ContainsClue(id)) {
return;
diff --git a/engines/tinsel/noir/notebook_page.h b/engines/tinsel/noir/notebook_page.h
index 8ef36b49c80..17b5bfc80a4 100644
--- a/engines/tinsel/noir/notebook_page.h
+++ b/engines/tinsel/noir/notebook_page.h
@@ -46,12 +46,14 @@ private:
class NotebookPage {
public:
bool ContainsClue(int id);
+ void CrossClue(int id);
void AddLine(int id);
void SetTitle(int id);
int32 GetTitle() const;
void FillIn();
void Clear();
private:
+ int IndexOfClue(int id) const;
const static uint32 MAX_ENTRIES_PER_PAGE = 8;
NotebookLine _lines[MAX_ENTRIES_PER_PAGE] = {};
uint32 _numLines = 0;
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 2bec883eb96..32ba1fe0bc0 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -156,7 +156,7 @@ enum MASTER_LIB_CODES {
WALKTAG, WALKXPOS, WALKYPOS, WHICHCD, WHICHINVENTORY, ZZZZZZ, DEC3D, DECINVMAIN,
ADDNOTEBOOK, ADDINV3, ADDCONV, SET3DTEXTURE, FADEMUSIC, VOICEOVER, SETVIEW,
HELDOBJECTORTOPIC, BOOKADDHYPERLINK, OPENNOTEBOOK, NTBPOLYENTRY, NTBPOLYPREVPAGE,
- NTBPOLYNEXTPAGE, HIGHEST_LIBCODE
+ NTBPOLYNEXTPAGE, CROSSCLUE, HIGHEST_LIBCODE
};
static const MASTER_LIB_CODES DW1DEMO_CODES[] = {
@@ -4446,7 +4446,10 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
debug(7, "%s(%08X)", mapping.name, pp[0]);
break;
case 39: // 1 param
- error("Unsupported libCode %d to set_notebook _entry_bool", libCode);
+ mapping = NoirMapping{"CROSSCLUE", CROSSCLUE, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+ break;
case 40:
mapping = NoirMapping{"CURSOR", CURSOR, 1};
pp -= mapping.numArgs - 1;
@@ -5570,6 +5573,11 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
ConvTopic(pp[0]);
return -1;
+ case CROSSCLUE:
+ // Noir only
+ _vm->_notebook->CrossClue(pp[0]);
+ return -1;
+
case CURSOR:
// DW2 only
ToggleCursor(pp[0]);
Commit: 8d1abb5192f9a93591f411ba9bd5e02c8100adb9
https://github.com/scummvm/scummvm/commit/8d1abb5192f9a93591f411ba9bd5e02c8100adb9
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Close Inventories when switching between them.
Changed paths:
engines/tinsel/events.cpp
diff --git a/engines/tinsel/events.cpp b/engines/tinsel/events.cpp
index 75e67d24ac6..76ff3133206 100644
--- a/engines/tinsel/events.cpp
+++ b/engines/tinsel/events.cpp
@@ -399,6 +399,18 @@ void ProcessKeyEvent(PLR_EVENT ke) {
lastRealAction = DwGetCurrentTime(); \
}
+void CloseOpenInventories() {
+ if (_vm->_notebook->IsOpen()) {
+ _vm->_notebook->Close();
+ } else {
+ if (_vm->_dialogs->InventoryActive()) {
+ if (_vm->_dialogs->WhichInventoryOpen() != INV_3) {
+ _vm->_dialogs->KillInventory();
+ }
+ }
+ }
+}
+
/**
* Main interface point for specifying player atcions
*/
@@ -446,17 +458,22 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_MENU:
+ if (TinselVersion == 3) {
+ CloseOpenInventories();
+ }
_vm->_dialogs->OpenMenu(MAIN_MENU);
break;
case PLR_INVENTORY:
if (TinselVersion == 3) {
+ CloseOpenInventories();
_vm->_dialogs->PopUpInventory(INV_1);
}
break;
case PLR_NOTEBOOK:
if (TinselVersion == 3) {
+ CloseOpenInventories();
_vm->_notebook->Show(false);
}
break;
@@ -466,10 +483,16 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_SAVE:
+ if (TinselVersion == 3) {
+ CloseOpenInventories();
+ }
_vm->_dialogs->OpenMenu(SAVE_MENU);
break;
case PLR_LOAD:
+ if (TinselVersion == 3) {
+ CloseOpenInventories();
+ }
_vm->_dialogs->OpenMenu(LOAD_MENU);
break;
Commit: a0e5f431dec9e31b354f446231310e707286fdca
https://github.com/scummvm/scummvm/commit/a0e5f431dec9e31b354f446231310e707286fdca
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Add initial event support to Notebook.
For now this should be enough to flip pages.
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 1f251867399..ffd11801a83 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1797,6 +1797,14 @@ enum { I_NOTIN,
* to rework all this.
*/
int Dialogs::InvArea(int x, int y) {
+ if (TinselVersion == 3) {
+ if (_vm->_notebook->IsOpen()) {
+ if (_vm->_notebook->HandlePointer(Common::Point(x, y)) != 0) {
+ return I_ENDCHANGE;
+ }
+ return I_NOTIN;
+ }
+ }
if (TinselVersion >= 2) {
int RightX = MultiRightmost(_rectObject) - NM_BG_SIZ_X - NM_BG_POS_X - NM_RS_R_INSET;
int BottomY = MultiLowest(_rectObject) - NM_BG_SIZ_Y - NM_BG_POS_Y - NM_RS_B_INSET;
@@ -5005,6 +5013,13 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (_InventoryHidden)
return;
+ if (TinselVersion == 3) {
+ // If the Notebook handles the event, it has been consumed.
+ if (_vm->_notebook->HandleEvent(pEvent, coOrds)) {
+ return;
+ }
+ }
+
switch (pEvent) {
case PLR_PROV_WALKTO:
if (MenuActive()) {
@@ -5031,7 +5046,8 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_DRAG1_START: // Left drag start
- InvDragStart();
+ if (TinselVersion < 3 || _inventoryState == ACTIVE_INV) // InventoryActive, but not Notebook
+ InvDragStart();
break;
case PLR_DRAG1_END: // Left drag end
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index d138be5b373..43af61c59bb 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -171,6 +171,25 @@ void Notebook::SetNextPage(int pageIndex) {
_currentPage = pageIndex;
}
+void Notebook::PageFlip(bool up) {
+ int nextPage = _currentPage + (up ? -1 : 1);
+ if (nextPage <= 0) {
+ SetNextPage(0);
+ Refresh();
+ return;
+ } else if (nextPage == 1) {
+ // TODO: Should possibly just call whatever function we use to open.
+ InitNotebookAnim(&_object, _anim, SysReel::NOTEPAD_OPENING, Z_INV_RFRAME);
+ _state = BOOKSTATE::OPEN_ANIMATING;
+ SetNextPage(nextPage);
+ return;
+ }
+ SetNextPage(nextPage);
+ SysReel reel = (up ? SysReel::NOTEPAD_FLIPUP : SysReel::NOTEPAD_FLIPDOWN);
+ InitNotebookAnim(&_pageObject, _pageAnim, reel, 19);
+ _state = BOOKSTATE::PAGEFLIP;
+}
+
void Notebook::Show(bool isOpen) {
auto reel = (isOpen ? SysReel::NOTEPAD_OPEN : SysReel::NOTEPAD_OPENING);
InitNotebookAnim(&_object, _anim, reel, Z_INV_MFRAME);
@@ -205,6 +224,44 @@ void Notebook::StepAnimScripts() {
Refresh();
}
}
+ if (_state == BOOKSTATE::PAGEFLIP) {
+ auto state = StepAnimScript(&_pageAnim);
+ if (state == ScriptFinished) {
+ MultiDeleteObjectIfExists(FIELD_STATUS, &_pageObject);
+ _state = BOOKSTATE::OPENED;
+ Refresh();
+ }
+ }
+}
+
+bool Notebook::HandlePointer(const Common::Point &point) {
+ if (!IsOpen()) {
+ return 0;
+ }
+ warning("TODO: Implement pointer handling");
+ return false;
+}
+
+bool Notebook::HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
+ if (!IsOpen()) { // TODO: Clicking outside should close the notebook
+ return false;
+ }
+ switch(pEvent) {
+ case PLR_ESCAPE:
+ Close();
+ return true;
+ case PLR_PGUP:
+ PageFlip(true);
+ return true;
+ case PLR_PGDN:
+ PageFlip(false);
+ return true;
+ case PLR_HOME:
+ case PLR_END:
+ default:
+ return false;
+ }
+ return false;
}
} // End of namespace Tinsel
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 58beda8da7c..6797ffad712 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -50,7 +50,8 @@ enum class BOOKSTATE {
CLOSED = 0,
OPEN_UNKNOWN = 1,
OPEN_ANIMATING = 2,
- OPENED = 3
+ OPENED = 3,
+ PAGEFLIP = 4
};
class InventoryObjectT3;
@@ -70,7 +71,9 @@ public:
void Show(bool isOpen);
bool IsOpen() const;
void Close();
-
+
+ bool HandlePointer(const Common::Point &point);
+ bool HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds);
void StepAnimScripts();
void Refresh();
private:
@@ -78,6 +81,8 @@ private:
void AddClue(const InventoryObjectT3 &invObject);
int GetPageWithTitle(int id);
+ void PageFlip(bool up);
+
void ClearNotebookPage();
void SetNextPage(int pageIndex);
Commit: 5c873a17b250410f8051665b792d1ce6575f4f9a
https://github.com/scummvm/scummvm/commit/5c873a17b250410f8051665b792d1ce6575f4f9a
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Implement polygon-handling for Notebook
Changed paths:
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
engines/tinsel/polygons.cpp
engines/tinsel/polygons.h
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 43af61c59bb..1a030dc09bc 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -28,10 +28,19 @@
#include "tinsel/multiobj.h"
#include "tinsel/noir/sysreel.h"
#include "tinsel/pdisplay.h"
+#include "tinsel/polygons.h"
#include "tinsel/timers.h"
namespace Tinsel {
+Notebook::Notebook() {
+ _polygons = instantiateNoteBookPolygons();
+}
+
+Notebook::~Notebook() {
+ delete _polygons;
+}
+
void Notebook::AddHyperlink(int32 id1, int32 id2) {
auto *invObject = _vm->_dialogs->GetInvObjectT3(id1);
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 6797ffad712..4b1f06f580a 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -54,11 +54,13 @@ enum class BOOKSTATE {
PAGEFLIP = 4
};
+class NoteBookPolygons;
class InventoryObjectT3;
class Notebook {
public:
- Notebook() = default;
+ Notebook();
+ ~Notebook();
// Adds a connection between a clue/title
void AddHyperlink(int32 id1, int32 id2);
@@ -76,6 +78,8 @@ public:
bool HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds);
void StepAnimScripts();
void Refresh();
+
+ NoteBookPolygons *_polygons = nullptr;
private:
int AddTitle(const InventoryObjectT3 &invObject);
void AddClue(const InventoryObjectT3 &invObject);
diff --git a/engines/tinsel/polygons.cpp b/engines/tinsel/polygons.cpp
index 93bd2358372..c615e284adb 100644
--- a/engines/tinsel/polygons.cpp
+++ b/engines/tinsel/polygons.cpp
@@ -25,6 +25,7 @@
#include "tinsel/pid.h"
#include "tinsel/polygons.h"
#include "tinsel/movers.h"
+#include "tinsel/noir/notebook.h"
#include "tinsel/sched.h"
#include "common/serializer.h"
#include "tinsel/tinsel.h"
@@ -109,6 +110,10 @@ struct POLYGON {
*/
POLYGON *adjpaths[MAXADJ];
+ void setPoint(int index, const Common::Point &point) {
+ cx[index] = point.x;
+ cy[index] = point.y;
+ }
bool containsPoint(const Common::Point &point) const;
};
@@ -2483,17 +2488,95 @@ void UpdateGroundPlane() {
//...
}
+class NoteBookPolygonsImpl : public NoteBookPolygons {
+public:
+ NoteBookPolygonsImpl() {
+ setPolygon(NoteBookPoly::MAIN,
+ Common::Point(220, 0),
+ Common::Point(446, 0),
+ Common::Point(553, 425),
+ Common::Point(164, 410));
+ }
+
+ void setPolygon(NoteBookPoly polyKind, const Common::Point &c0, const Common::Point &c1, const Common::Point &c2, const Common::Point &c3) override {
+ POLYGON *poly = nullptr;
+ switch(polyKind) {
+ case NoteBookPoly::MAIN:
+ poly = &_main;
+ break;
+ case NoteBookPoly::NEXT:
+ poly = &_next;
+ break;
+ case NoteBookPoly::PREV:
+ poly = &_prev;
+ break;
+ default:
+ poly = _cluePoly + static_cast<int>(polyKind);
+ break;
+ }
+ poly->polyType = SHAPE;
+ poly->setPoint(0, c0);
+ poly->setPoint(1, c1);
+ poly->setPoint(2, c2);
+ poly->setPoint(3, c3);
+ FiddlyBit(poly);
+ }
+
+ void pushPolygon(const Common::Point &c0, const Common::Point &c1, const Common::Point &c2, const Common::Point &c3) override {
+ assert(_polyIndex < MAX_CLUE_POLYS);
+ setPolygon(static_cast<NoteBookPoly>(_polyIndex), c0, c1, c2, c3);
+ _polyIndex++;
+ }
+
+ bool isInsideNotebook(const Common::Point &point) const override {
+ return _main.containsPoint(point);
+ }
+
+ int lineHit(const Common::Point &point) const override {
+ for (int i = 0; i < MAX_CLUE_POLYS; i++) {
+ if (_cluePoly[i].containsPoint(point)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ NoteBookPoly mostSpecificHit(const Common::Point &point) const override {
+ auto line = lineHit(point);
+ if (line != -1) {
+ return static_cast<NoteBookPoly>(line);
+ }
+ if (_next.containsPoint(point)) {
+ return NoteBookPoly::NEXT;
+ } else if (_prev.containsPoint(point)) {
+ return NoteBookPoly::PREV;
+ } else if (_main.containsPoint(point)) {
+ return NoteBookPoly::MAIN;
+ }
+ return NoteBookPoly::NONE;
+ }
+private:
+ static const int MAX_CLUE_POLYS = 8;
+ int _polyIndex = 0;
+ POLYGON _main, _prev, _next;
+ POLYGON _cluePoly[MAX_CLUE_POLYS];
+};
+
+NoteBookPolygons *instantiateNoteBookPolygons() {
+ return new NoteBookPolygonsImpl;
+}
+
// Notebook (Tinsel)
void NotebookPolyEntry(Common::Point c0, Common::Point c1, Common::Point c2, Common::Point c3) {
- warning("TODO: Finish implementation of NotebookPolyEntry(%d, %d, %d, %d, %d, %d, %d, %d)", c0.x, c0.y, c1.x, c1.y, c2.x, c2.y, c3.x, c3.y);
+ _vm->_notebook->_polygons->pushPolygon(c0, c1, c2, c3);
}
void NotebookPolyNextPage(Common::Point c0, Common::Point c1, Common::Point c2, Common::Point c3) {
- warning("TODO: Finish implementation of NotebookPolyNextPage(%d, %d, %d, %d, %d, %d, %d, %d)", c0.x, c0.y, c1.x, c1.y, c2.x, c2.y, c3.x, c3.y);
+ _vm->_notebook->_polygons->setPolygon(NoteBookPoly::NEXT, c0, c1, c2, c3);
}
void NotebookPolyPrevPage(Common::Point c0, Common::Point c1, Common::Point c2, Common::Point c3) {
- warning("TODO: Finish implementation of NotebookPolyPrevPage(%d, %d, %d, %d, %d, %d, %d, %d)", c0.x, c0.y, c1.x, c1.y, c2.x, c2.y, c3.x, c3.y);
+ _vm->_notebook->_polygons->setPolygon(NoteBookPoly::PREV, c0, c1, c2, c3);
}
} // End of namespace Tinsel
diff --git a/engines/tinsel/polygons.h b/engines/tinsel/polygons.h
index 31f5a1f8cb6..da767caf363 100644
--- a/engines/tinsel/polygons.h
+++ b/engines/tinsel/polygons.h
@@ -38,7 +38,7 @@ enum PTYPE {
// Extra polygon types from Tinsel v1
EXIT, EX_EXIT,
// Extra polygon types from Tinsel v3
- SCALE, EX_SCALE
+ SCALE, EX_SCALE, SHAPE
};
// subtype
@@ -160,6 +160,34 @@ void NotebookPolyPrevPage(Common::Point c0, Common::Point c1, Common::Point c2,
void UpdateGroundPlane();
+enum class NoteBookPoly {
+ CLUE_0 = 0,
+ CLUE_1 = 1,
+ CLUE_2 = 2,
+ CLUE_3 = 3,
+ CLUE_4 = 4,
+ CLUE_5 = 5,
+ CLUE_6 = 6,
+ CLUE_7 = 7,
+ MAIN,
+ NEXT,
+ PREV,
+ NONE
+};
+
+class NoteBookPolygons {
+public:
+ virtual ~NoteBookPolygons() {}
+ virtual void setPolygon(NoteBookPoly polyKind, const Common::Point &c0, const Common::Point &c1, const Common::Point &c2, const Common::Point &c3) = 0;
+ virtual void pushPolygon(const Common::Point &c0, const Common::Point &c1, const Common::Point &c2, const Common::Point &c3) = 0;
+
+ virtual NoteBookPoly mostSpecificHit(const Common::Point &point) const = 0;
+ virtual int lineHit(const Common::Point &point) const = 0;
+ virtual bool isInsideNotebook(const Common::Point &point) const = 0;
+};
+
+NoteBookPolygons *instantiateNoteBookPolygons();
+
} // End of namespace Tinsel
#endif /* TINSEL_POLYGONS_H */
Commit: 1f1f97c745ab76d1a31e425f0bf9666902ec563c
https://github.com/scummvm/scummvm/commit/1f1f97c745ab76d1a31e425f0bf9666902ec563c
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Implement pointer handling for Notebook
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
engines/tinsel/noir/notebook_page.cpp
engines/tinsel/noir/notebook_page.h
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index ffd11801a83..756d0b77678 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -2202,6 +2202,10 @@ void Dialogs::InvLabels(bool InBody, int aniX, int aniY) {
}
}
+void Dialogs::InvPointEvent(const InventoryObject *invObj, int index) {
+ InvTinselEvent(invObj, POINTED, PLR_NOEVENT, index);
+}
+
/**************************************************************************/
/***/
/**************************************************************************/
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 018d51084be..b08e4b197f5 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -355,6 +355,7 @@ public:
void InvCursor(InvCursorFN fn, int CurX, int CurY);
const InventoryObject *GetInvObject(int id);
const InventoryObjectT3 *GetInvObjectT3(int id);
+ void InvPointEvent(const InventoryObject *invObj, int index);
bool UpdateString(const Common::KeyState &kbd);
bool InventoryIsActive() { return _inventoryState == ACTIVE_INV; }
bool IsMixingDeskControl() { return _invDragging == ID_MDCONT; }
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 1a030dc09bc..2fe64ec9a93 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -243,11 +243,23 @@ void Notebook::StepAnimScripts() {
}
}
+int Notebook::GetPointedClue(const Common::Point &point) const {
+ if (_currentPage == 0 || _currentPage > _numPages) {
+ return 0;
+ }
+ return _pages[_currentPage].GetClueForLine(_polygons->lineHit(point));
+}
+
bool Notebook::HandlePointer(const Common::Point &point) {
if (!IsOpen()) {
return 0;
}
- warning("TODO: Implement pointer handling");
+ auto inside = _polygons->isInsideNotebook(point);
+ if (inside) {
+ auto hit = _polygons->lineHit(point);
+ _pages[_currentPage].HandlePointAtLine(hit);
+ return true; // We handled the pointer
+ }
return false;
}
@@ -255,7 +267,36 @@ bool Notebook::HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (!IsOpen()) { // TODO: Clicking outside should close the notebook
return false;
}
+ auto inside = _polygons->isInsideNotebook(coOrds);
switch(pEvent) {
+ case PLR_ACTION:
+ if (inside) {
+ return true;
+ }
+ return false;
+ case PLR_LOOK:
+ if (inside) {
+ return true;
+ }
+ return false;
+ case PLR_WALKTO: {
+ // Handle clue-clicks
+ auto poly = _polygons->mostSpecificHit(coOrds);
+ switch (poly) {
+ case NoteBookPoly::NEXT:
+ HandleEvent(PLR_PGUP, coOrds);
+ return true;
+ case NoteBookPoly::PREV:
+ HandleEvent(PLR_PGDN, coOrds);
+ return true;
+ case NoteBookPoly::NONE:
+ HandleEvent(PLR_ESCAPE, coOrds);
+ return true;
+ default:
+ return true;
+ }
+ }
+
case PLR_ESCAPE:
Close();
return true;
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 4b1f06f580a..445301980a6 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -87,6 +87,8 @@ private:
void PageFlip(bool up);
+ int32 GetPointedClue(const Common::Point &point) const;
+
void ClearNotebookPage();
void SetNextPage(int pageIndex);
diff --git a/engines/tinsel/noir/notebook_page.cpp b/engines/tinsel/noir/notebook_page.cpp
index 848f1866823..620088173c6 100644
--- a/engines/tinsel/noir/notebook_page.cpp
+++ b/engines/tinsel/noir/notebook_page.cpp
@@ -93,6 +93,15 @@ void NotebookLine::CrossOut() {
_crossedOut = true;
}
+void NotebookPage::HandlePointAtLine(int line) {
+ auto objId = GetClueForLine(line);
+ if (objId != 0 && objId != _pointedClue) {
+ auto obj = _vm->_dialogs->GetInvObject(objId);
+ _vm->_dialogs->InvPointEvent(obj, -1);
+ _pointedClue = objId;
+ }
+}
+
int NotebookPage::IndexOfClue(int id) const {
for (int i = 0; i < _numLines; i++) {
if (_lines[i]._id == id) {
@@ -140,6 +149,14 @@ void NotebookPage::Clear() {
for (int i = 0; i < _numLines; i++) {
_lines[i].Clear();
}
+ _pointedClue = -1;
+}
+
+int NotebookPage::GetClueForLine(int line) const {
+ if (line >= _numLines) {
+ return 0;
+ }
+ return _lines[line]._id;
}
} // End of namespace Tinsel
diff --git a/engines/tinsel/noir/notebook_page.h b/engines/tinsel/noir/notebook_page.h
index 17b5bfc80a4..1a1a01b3191 100644
--- a/engines/tinsel/noir/notebook_page.h
+++ b/engines/tinsel/noir/notebook_page.h
@@ -52,8 +52,13 @@ public:
int32 GetTitle() const;
void FillIn();
void Clear();
+ int GetPointedClue(const Common::Point &point) const;
+ int GetClueForLine(int line) const;
+ void HandlePointAtLine(int line);
private:
int IndexOfClue(int id) const;
+
+ int _pointedClue = -1;
const static uint32 MAX_ENTRIES_PER_PAGE = 8;
NotebookLine _lines[MAX_ENTRIES_PER_PAGE] = {};
uint32 _numLines = 0;
Commit: bc178e9784f6dfa65b0e94f2688c197c34b11080
https://github.com/scummvm/scummvm/commit/bc178e9784f6dfa65b0e94f2688c197c34b11080
Author: Einar Johan Trøan SømaÌen (einarjohants at gmail.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Add debug commands to add all clues, as well as listing them.
At the same time, name the NOTEBOOK_CLUE attribute appropriately
Changed paths:
engines/tinsel/debugger.cpp
engines/tinsel/debugger.h
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/inv_objects.h
engines/tinsel/noir/notebook.cpp
diff --git a/engines/tinsel/debugger.cpp b/engines/tinsel/debugger.cpp
index 09fbbb1cc6c..6eb51a1ef11 100644
--- a/engines/tinsel/debugger.cpp
+++ b/engines/tinsel/debugger.cpp
@@ -64,7 +64,9 @@ int strToInt(const char *s) {
Console::Console() : GUI::Debugger() {
if (TinselVersion == 3) {
registerCmd("add_clue", WRAP_METHOD(Console, cmd_add_clue));
+ registerCmd("add_all_clues", WRAP_METHOD(Console, cmd_add_all_clues));
registerCmd("cross_clue", WRAP_METHOD(Console, cmd_cross_clue));
+ registerCmd("list_clues", WRAP_METHOD(Console, cmd_list_clues));
}
registerCmd("item", WRAP_METHOD(Console, cmd_item));
registerCmd("scene", WRAP_METHOD(Console, cmd_scene));
@@ -177,6 +179,14 @@ bool Console::cmd_add_clue(int argc, const char **argv) {
return false;
}
+bool Console::cmd_add_all_clues(int argc, const char **argv) {
+ auto clues = _vm->_dialogs->GetAllNotebookClues();
+ for (auto clue : clues) {
+ _vm->_notebook->AddClue(clue);
+ }
+ return false;
+}
+
bool Console::cmd_cross_clue(int argc, const char **argv) {
if (argc < 2) {
debugPrintf("%s clue_id\n", argv[0]);
@@ -188,4 +198,12 @@ bool Console::cmd_cross_clue(int argc, const char **argv) {
return false;
}
+bool Console::cmd_list_clues(int argc, const char **argv) {
+ auto clues = _vm->_dialogs->GetAllNotebookClues();
+ for (auto clue : clues) {
+ debugPrintf("%d\n", clue);
+ }
+ return true;
+}
+
} // End of namespace Tinsel
diff --git a/engines/tinsel/debugger.h b/engines/tinsel/debugger.h
index f40d0d03e5e..2e5b52645ac 100644
--- a/engines/tinsel/debugger.h
+++ b/engines/tinsel/debugger.h
@@ -35,7 +35,9 @@ public:
private:
bool cmd_add_clue(int argc, const char **argv);
+ bool cmd_add_all_clues(int argc, const char **argv);
bool cmd_cross_clue(int argc, const char **argv);
+ bool cmd_list_clues(int argc, const char **argv);
bool cmd_item(int argc, const char **argv);
bool cmd_scene(int argc, const char **argv);
bool cmd_music(int argc, const char **argv);
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 756d0b77678..ddbb4261fc0 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1268,7 +1268,7 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
if (TinselVersion == 3) {
auto invObj = GetInvObject(_heldItem);
- if (invObj->hasAttribute(InvObjAttr::V3ATTR_X200)) {
+ if (invObj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) {
_heldFilm = _vm->_systemReel->Get((SysReel)objIndex);
} else {
_heldFilm = _invFilms[objIndex];
@@ -1720,7 +1720,7 @@ void Dialogs::HoldItem(int item, bool bKeepFilm) {
else if (invObj->hasAttribute(InvObjAttr::DEFINV2))
AddToInventory(INV_2, _heldItem);
else {
- if ((TinselVersion < 3) || (!(invObj->hasAttribute(InvObjAttr::V3ATTR_X200)) && !(invObj->hasAttribute(InvObjAttr::V3ATTR_X400)))) {
+ if ((TinselVersion < 3) || (!(invObj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) && !(invObj->hasAttribute(InvObjAttr::V3ATTR_X400)))) {
// Hook for definable default inventory
AddToInventory(INV_1, _heldItem);
}
@@ -5217,6 +5217,18 @@ void Dialogs::syncInvInfo(Common::Serializer &s) {
}
}
+// Let the debugger know all the available clues.
+Common::Array<int> Dialogs::GetAllNotebookClues() const {
+ Common::Array<int> clues;
+ for (int i = 0; i < _invObjects->numObjects(); i++) {
+ auto obj = _invObjects->GetObjectByIndex(i);
+ if (obj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) {
+ clues.push_back(obj->getId());
+ }
+ }
+ return clues;
+}
+
/**************************************************************************/
/************************ Initialisation stuff ****************************/
/**************************************************************************/
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index b08e4b197f5..a63cabf4724 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -295,6 +295,7 @@ public:
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight);
// Noir
+ Common::Array<int> GetAllNotebookClues() const;
void idec_invMain(SCNHANDLE text, int MaxContents);
bool InventoryActive();
diff --git a/engines/tinsel/inv_objects.h b/engines/tinsel/inv_objects.h
index d736b893c74..0bf677ed343 100644
--- a/engines/tinsel/inv_objects.h
+++ b/engines/tinsel/inv_objects.h
@@ -40,7 +40,7 @@ enum class InvObjAttr {
// Noir only
V3ATTR_X80 = 0x80,
- V3ATTR_X200 = 0x200,
+ NOTEBOOK_CLUE = 0x200,
V3ATTR_X400 = 0x400,
NOTEBOOK_TITLE = 0x800, // is a notebook title
V3ATTR_X1000 = 0x1000,
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 2fe64ec9a93..c8b5c90fbfc 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -117,6 +117,11 @@ int Notebook::AddTitle(const InventoryObjectT3 &invObject) {
}
void Notebook::AddClue(const InventoryObjectT3 &invObject) {
+ if (invObject.getUnknown() == 0) {
+ // This affects two clues, that should get special treatment.
+ warning("TODO: Handle clues with no parent page");
+ return;
+ }
// Add title if missing, otherwise just get the page it's on.
auto titleObject = _vm->_dialogs->GetInvObjectT3(invObject.getUnknown());
int pageIndex = AddTitle(*titleObject);
Commit: c2e94a0cf513276af793e65ed6fb5d6b697cd2af
https://github.com/scummvm/scummvm/commit/c2e94a0cf513276af793e65ed6fb5d6b697cd2af
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Rename the private methods in Dialogs to follow convention
Changing from PascalCase to camelCase
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/drives.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index ddbb4261fc0..bc0a934ac7b 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -809,7 +809,7 @@ static struct {
enum {
IB_NONE = -1, //
IB_UP = -2, // negative numbers returned
- IB_DOWN = -3, // by WhichMenuBox()
+ IB_DOWN = -3, // by whichMenuBox()
IB_SLIDE = -4, //
IB_SLIDE_UP = -5, //
IB_SLIDE_DOWN = -6 //
@@ -954,13 +954,13 @@ Dialogs::Dialogs() {
Dialogs::~Dialogs() {
delete _invObjects;
if (_objArray[0] != NULL) {
- DumpObjArray();
- DumpDobjArray();
- DumpIconArray();
+ dumpObjArray();
+ dumpDobjArray();
+ dumpIconArray();
}
}
-bool Dialogs::LanguageChange() {
+bool Dialogs::languageChange() {
LANGUAGE nLang = _vm->_config->_language;
if ((_vm->getFeatures() & GF_USE_3FLAGS) || (_vm->getFeatures() & GF_USE_4FLAGS) || (_vm->getFeatures() & GF_USE_5FLAGS)) {
@@ -996,7 +996,7 @@ bool Dialogs::LanguageChange() {
* Read in the scene hopper data file and set the
* pointers to the data and scene count.
*/
-void Dialogs::PrimeSceneHopper() {
+void Dialogs::primeSceneHopper() {
Common::File f;
uint32 vSize;
@@ -1049,7 +1049,7 @@ void Dialogs::PrimeSceneHopper() {
/**
* Free the scene hopper data
*/
-void Dialogs::FreeSceneHopper() {
+void Dialogs::freeSceneHopper() {
delete[] _pEntries;
_pEntries = nullptr;
@@ -1059,7 +1059,7 @@ void Dialogs::FreeSceneHopper() {
_pHopper = nullptr;
}
-void Dialogs::FirstScene(int first) {
+void Dialogs::firstScene(int first) {
int i;
assert(_numScenes && _pHopper);
@@ -1090,16 +1090,16 @@ void Dialogs::FirstScene(int first) {
cd.extraBase = first;
}
-void Dialogs::RememberChosenScene() {
+void Dialogs::rememberChosenScene() {
_bRemember = true;
}
-void Dialogs::SetChosenScene() {
+void Dialogs::setChosenScene() {
_lastChosenScene = cd.selBox + cd.extraBase;
_pChosenScene = &_pHopper[cd.selBox + cd.extraBase];
}
-void Dialogs::FirstEntry(int first) {
+void Dialogs::firstEntry(int first) {
int i;
_invD[INV_MENU].hInvTitle = _pChosenScene->hSceneDesc;
@@ -1126,7 +1126,7 @@ void Dialogs::FirstEntry(int first) {
cd.extraBase = first;
}
-void Dialogs::HopAction() {
+void Dialogs::hopAction() {
HOPENTRY *pEntry = _pEntries + _pChosenScene->entryIndex + cd.selBox + cd.extraBase;
uint32 hScene = _pChosenScene->hScene;
@@ -1149,7 +1149,7 @@ void Dialogs::HopAction() {
/**
* Delete all the objects in iconArray[]
*/
-void Dialogs::DumpIconArray() {
+void Dialogs::dumpIconArray() {
for (int i = 0; i < MAX_ICONS; i++) {
MultiDeleteObjectIfExists(FIELD_STATUS, &_iconArray[i]);
}
@@ -1158,7 +1158,7 @@ void Dialogs::DumpIconArray() {
/**
* Delete all the objects in DobjArray[]
*/
-void Dialogs::DumpDobjArray() {
+void Dialogs::dumpDobjArray() {
for (int i = 0; i < MAX_WCOMP; i++) {
MultiDeleteObjectIfExists(FIELD_STATUS, &_dispObjArray[i]);
}
@@ -1167,7 +1167,7 @@ void Dialogs::DumpDobjArray() {
/**
* Delete all the objects in objArray[]
*/
-void Dialogs::DumpObjArray() {
+void Dialogs::dumpObjArray() {
for (int i = 0; i < MAX_WCOMP; i++) {
MultiDeleteObjectIfExists(FIELD_STATUS, &_objArray[i]);
}
@@ -1208,10 +1208,10 @@ bool Dialogs::GetIsInvObject(int id) {
/**
* Convert item ID number to index.
*/
-int Dialogs::GetObjectIndex(int id) const {
+int Dialogs::getObjectIndex(int id) const {
int index = _invObjects->GetObjectIndexIfExists(id);
if (index == -1) {
- error("GetObjectIndex(%d): Trying to manipulate undefined inventory icon", id);
+ error("getObjectIndex(%d): Trying to manipulate undefined inventory icon", id);
}
return index;
}
@@ -1263,7 +1263,7 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
if (_heldItem != INV_NOICON) {
if (TinselVersion >= 2) {
if (bNewItem) {
- int objIndex = GetObjectIndex(_heldItem);
+ int objIndex = getObjectIndex(_heldItem);
if (TinselVersion == 3) {
auto invObj = GetInvObject(_heldItem);
@@ -1315,7 +1315,7 @@ int Dialogs::WhichInventoryOpen() {
* Set first load/save file entry displayed.
* Point Box[] text pointers to appropriate file descriptions.
*/
-void Dialogs::FirstFile(int first) {
+void Dialogs::firstFile(int first) {
int i, j;
i = getList();
@@ -1346,7 +1346,7 @@ void Dialogs::FirstFile(int first) {
* Save the game using filename from selected slot & current description.
*/
-void Dialogs::InvSaveGame() {
+void Dialogs::invSaveGame() {
if (cd.selBox != NOBOX) {
#ifndef JAPAN
_saveGameDesc[strlen(_saveGameDesc) - 1] = 0; // Don't include the cursor!
@@ -1358,7 +1358,7 @@ void Dialogs::InvSaveGame() {
/**
* Load the selected saved game.
*/
-void Dialogs::InvLoadGame() {
+void Dialogs::invLoadGame() {
int rGame;
if (cd.selBox != NOBOX && (cd.selBox + cd.extraBase < cd.numSaved)) {
@@ -1796,7 +1796,7 @@ enum { I_NOTIN,
* changed and I got fed up of faffing about. It's probably easier just
* to rework all this.
*/
-int Dialogs::InvArea(int x, int y) {
+int Dialogs::invArea(int x, int y) {
if (TinselVersion == 3) {
if (_vm->_notebook->IsOpen()) {
if (_vm->_notebook->HandlePointer(Common::Point(x, y)) != 0) {
@@ -2008,7 +2008,7 @@ int Dialogs::InvItemId(int x, int y) {
/**
* Finds which box the cursor is in.
*/
-int Dialogs::WhichMenuBox(int curX, int curY, bool bSlides) {
+int Dialogs::whichMenuBox(int curX, int curY, bool bSlides) {
if (bSlides) {
for (int i = 0; i < _numMdSlides; i++) {
Common::Rect bounds = MultiBounds(_mdSlides[i].obj);
@@ -2098,9 +2098,9 @@ int Dialogs::WhichMenuBox(int curX, int curY, bool bSlides) {
#define ROTX1 60 // Rotate button's offsets from the center
/**
- * InvBoxes
+ * invBoxes
*/
-void Dialogs::InvBoxes(bool InBody, int curX, int curY) {
+void Dialogs::invBoxes(bool InBody, int curX, int curY) {
int rotateIndex = -1;
int index; // Box pointed to on this call
const FILM *pfilm;
@@ -2109,7 +2109,7 @@ void Dialogs::InvBoxes(bool InBody, int curX, int curY) {
if (!InBody)
index = -1;
else {
- index = WhichMenuBox(curX, curY, false);
+ index = whichMenuBox(curX, curY, false);
}
// If no icon pointed to, or points to (logical position of)
@@ -2173,7 +2173,7 @@ void Dialogs::InvBoxes(bool InBody, int curX, int curY) {
/**
* Monitors for POINTED event for inventory icons.
*/
-void Dialogs::InvLabels(bool InBody, int aniX, int aniY) {
+void Dialogs::invLabels(bool InBody, int aniX, int aniY) {
int index; // Icon pointed to on this call
// Find out which icon is currently pointed to
@@ -2216,7 +2216,7 @@ void Dialogs::InvPointEvent(const InventoryObject *invObj, int index) {
* It seems to set up slideStuff[], an array of possible first-displayed
* icons set against the matching y-positions of the slider.
*/
-void Dialogs::AdjustTop() {
+void Dialogs::adjustTop() {
int tMissing, bMissing, nMissing;
int nsliderYpos;
int rowsWanted;
@@ -2278,7 +2278,7 @@ void Dialogs::AdjustTop() {
/**
* Insert an inventory icon object onto the display list.
*/
-OBJECT *Dialogs::AddInvObject(int num, const FREEL **pfreel, const FILM **pfilm) {
+OBJECT *Dialogs::addInvObject(int num, const FREEL **pfreel, const FILM **pfilm) {
auto invObj = GetInvObject(num);
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(invObj->getIconFilm());
const FREEL *pfr = (const FREEL *)&pFilm->reels[0];
@@ -2306,10 +2306,10 @@ void Dialogs::FillInInventory() {
const FREEL *pfr;
const FILM *pfilm;
- DumpIconArray();
+ dumpIconArray();
if (_invDragging != ID_SLIDE)
- AdjustTop(); // Set up slideStuff[]
+ adjustTop(); // Set up slideStuff[]
Index = _invD[_activeInv].FirstDisp; // Start from first displayed object
n = 0;
@@ -2323,7 +2323,7 @@ void Dialogs::FillInInventory() {
break;
else if (_invD[_activeInv].contents[Index] != _heldItem) {
// Create a display object and position it
- _iconArray[n] = AddInvObject(_invD[_activeInv].contents[Index], &pfr, &pfilm);
+ _iconArray[n] = addInvObject(_invD[_activeInv].contents[Index], &pfr, &pfilm);
MultiSetAniXYZ(_iconArray[n],
_invD[_activeInv].inventoryX + xpos,
_invD[_activeInv].inventoryY + ypos,
@@ -2346,7 +2346,7 @@ enum { FROM_HANDLE,
* Set up a rectangle as the background to the inventory window.
* Additionally, sticks the window title up.
*/
-void Dialogs::AddBackground(OBJECT **rect, const Common::Rect &bounds, OBJECT **title, int textFrom) {
+void Dialogs::addBackground(OBJECT **rect, const Common::Rect &bounds, OBJECT **title, int textFrom) {
// Why not 2 ????
int width = bounds.width();
int height = bounds.height();
@@ -2356,10 +2356,10 @@ void Dialogs::AddBackground(OBJECT **rect, const Common::Rect &bounds, OBJECT **
// add it to display list and position it
MultiInsertObject(_vm->_bg->GetPlayfieldList(FIELD_STATUS), *rect);
- PositionInventory(*rect,
- (TinselVersion < 3 ? NM_BG_POS_X : 0),
- (TinselVersion < 3 ? NM_BG_POS_Y : 0),
- Z_INV_BRECT);
+ positionInventory(*rect,
+ (TinselVersion < 3 ? NM_BG_POS_X : 0),
+ (TinselVersion < 3 ? NM_BG_POS_Y : 0),
+ Z_INV_BRECT);
if (title == NULL)
return;
@@ -2396,13 +2396,13 @@ Common::Rect MultiBounds(OBJECT *obj) {
/**
* Adds a title for a dialog
*/
-void Dialogs::AddTitle(OBJECT **title, const Common::Rect &bounds) {
+void Dialogs::addTitle(OBJECT **title, const Common::Rect &rect) {
if (_invD[_activeInv].hInvTitle != (SCNHANDLE)NO_HEADING) {
LoadStringRes(_invD[_activeInv].hInvTitle, _vm->_font->TextBufferAddr(), TBUFSZ);
int xOffset = (TinselVersion == 3) ? 0 : NM_BG_POS_X;
*title = ObjectTextOut(_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_font->TextBufferAddr(), 0,
- _invD[_activeInv].inventoryX + (bounds.width() / 2) + xOffset, _invD[_activeInv].inventoryY + NM_TOFF,
+ _invD[_activeInv].inventoryX + (rect.width() / 2) + xOffset, _invD[_activeInv].inventoryY + NM_TOFF,
_vm->_font->GetTagFontHandle(), TXT_CENTER, 0);
assert(*title);
MultiSetZPosition(*title, Z_INV_HTEXT);
@@ -2446,7 +2446,7 @@ OBJECT *Dialogs::AddObject(const FREEL *pfreel, int num) {
* Display the scroll bar slider.
*/
-void Dialogs::AddSlider(OBJECT **slide, const FILM *pfilm) {
+void Dialogs::addSlider(OBJECT **slide, const FILM *pfilm) {
_slideObject = *slide = AddObject(&pfilm->reels[IX_SLIDE], -1);
MultiSetAniXYZ(*slide, MultiRightmost(_rectObject) + ((TinselVersion >= 2) ? NM_SLX : -M_SXOFF + 2),
_invD[_activeInv].inventoryY + _sliderYpos,
@@ -2456,7 +2456,7 @@ void Dialogs::AddSlider(OBJECT **slide, const FILM *pfilm) {
/**
* Display a box with some text in it.
*/
-void Dialogs::AddBox(int *pi, const int i) {
+void Dialogs::addBox(int *pi, const int i) {
int x = _invD[_activeInv].inventoryX + cd.box[i].xpos;
int y = _invD[_activeInv].inventoryY + cd.box[i].ypos;
int *pival = cd.box[i].ival;
@@ -2689,11 +2689,11 @@ void Dialogs::AddBox(int *pi, const int i) {
void Dialogs::AddBoxes(bool bPosnSlide) {
int objCount = NUMHL; // Object count - allow for HL1, HL2 etc.
- DumpIconArray();
+ dumpIconArray();
_numMdSlides = 0;
for (int i = 0; i < cd.NumBoxes; i++) {
- AddBox(&objCount, i);
+ addBox(&objCount, i);
}
if (cd.bExtraWin) {
@@ -2732,15 +2732,15 @@ void Dialogs::AddBoxes(bool bPosnSlide) {
/**
* Display the scroll bar slider.
*/
-void Dialogs::AddEWSlider(OBJECT **slide, const FILM *pfilm) {
+void Dialogs::addEWSlider(OBJECT **slide, const FILM *pfilm) {
_slideObject = *slide = AddObject(&pfilm->reels[IX_SLIDE], -1);
MultiSetAniXYZ(*slide, _invD[_activeInv].inventoryX + 24 + 127, _sliderYpos, Z_INV_MFRAME);
}
/**
- * AddExtraWindow
+ * addExtraWindow
*/
-int Dialogs::AddExtraWindow(int x, int y, OBJECT **retObj) {
+int Dialogs::addExtraWindow(int x, int y, OBJECT **retObj) {
int n = 0;
const FILM *pfilm;
@@ -2792,14 +2792,14 @@ int Dialogs::AddExtraWindow(int x, int y, OBJECT **retObj) {
} else {
_sliderYpos = _sliderYmin = y + 9;
_sliderYmax = y + 134;
- AddEWSlider(&retObj[n++], pfilm);
+ addEWSlider(&retObj[n++], pfilm);
}
return n;
}
-void Dialogs::ConstructInventoryCommon(SysReel reel, bool hasTitle) {
- DumpObjArray();
+void Dialogs::constructInventoryCommon(SysReel reel, bool hasTitle) {
+ dumpObjArray();
// Get the frame's data
_objArray[0] = InsertSystemReelObj(reel);
@@ -2808,22 +2808,22 @@ void Dialogs::ConstructInventoryCommon(SysReel reel, bool hasTitle) {
auto bounds = MultiBounds(_objArray[0]);
_invD[_activeInv].inventoryX = (SCREEN_WIDTH - bounds.width()) / 2;
_invD[_activeInv].inventoryY = (SCREEN_HEIGHT - bounds.height()) / 2;
- PositionInventory(_objArray[0], 0, 0, Z_INV_MFRAME);
+ positionInventory(_objArray[0], 0, 0, Z_INV_MFRAME);
MultiSetZPosition(_objArray[0], 16);
- AddBackground(&_objArray[1], bounds);
+ addBackground(&_objArray[1], bounds);
if (hasTitle) {
- AddTitle(&_objArray[2], bounds);
+ addTitle(&_objArray[2], bounds);
if (_objArray[2]) {
- // We currently skip this, as AddTitle still needs ObjTextOut updates.
+ // We currently skip this, as addTitle still needs ObjTextOut updates.
warning("TODO: Align title");
}
}
}
-void Dialogs::ConstructMainInventory() {
- warning("TODO: Complete implementation of ConstructMainInventory");
- ConstructInventoryCommon(SysReel::INVMAIN, false);
+void Dialogs::constructMainInventory() {
+ warning("TODO: Complete implementation of constructMainInventory");
+ constructInventoryCommon(SysReel::INVMAIN, false);
_invD[_activeInv].FirstDisp = 0;
// TODO: Slider, Scrolling
@@ -2831,7 +2831,7 @@ void Dialogs::ConstructMainInventory() {
FillInInventory();
}
-void Dialogs::PositionInventory(OBJECT *pMultiObj, int xOffset, int yOffset, int zPosition) {
+void Dialogs::positionInventory(OBJECT *pMultiObj, int xOffset, int yOffset, int zPosition) {
MultiSetAniXYZ(pMultiObj, _invD[_activeInv].inventoryX + xOffset, _invD[_activeInv].inventoryY + yOffset, zPosition);
}
@@ -2855,15 +2855,15 @@ SysReel GetSysReelForMenu(int menuId) {
}
}
-void Dialogs::ConstructConversationInventory() {
- warning("TODO: Complete implementation of ConstructConversationInventory");
- ConstructInventoryCommon(SysReel::CONVERSATION_FRAME, true);
+void Dialogs::constructConversationInventory() {
+ warning("TODO: Complete implementation of constructConversationInventory");
+ constructInventoryCommon(SysReel::CONVERSATION_FRAME, true);
}
-void Dialogs::ConstructOtherInventory(int menuId) {
- warning("TODO: Complete implementation of ConstructOtherInventory");
+void Dialogs::constructOtherInventory(int menuId) {
+ warning("TODO: Complete implementation of constructOtherInventory");
SysReel reel = GetSysReelForMenu(menuId);
- ConstructInventoryCommon(reel, true);
+ constructInventoryCommon(reel, true);
if (cd.bExtraWin) {
warning("TODO: Complete scrollbar implementation");
@@ -2883,7 +2883,7 @@ void Dialogs::ConstructOtherInventory(int menuId) {
* Construct an inventory window - either a standard one, with
* background, slider and icons, or a re-sizing window.
*/
-void Dialogs::ConstructInventory(InventoryType filling) {
+void Dialogs::constructInventory(InventoryType filling) {
int eH, eV; // Extra width and height
int n = 0; // Index into object array
int zpos; // Z-position of frame
@@ -3054,8 +3054,8 @@ void Dialogs::ConstructInventory(InventoryType filling) {
bounds.bottom = _TLheight + eV + _BLheight + NM_BG_SIZ_Y;
// Draw background, slider and icons
if ((TinselVersion >= 2) && (filling != EMPTY)) {
- AddBackground(&retObj[n++], bounds);
- AddTitle(&retObj[n++], bounds);
+ addBackground(&retObj[n++], bounds);
+ addTitle(&retObj[n++], bounds);
}
if (filling == FULL) {
@@ -3063,7 +3063,7 @@ void Dialogs::ConstructInventory(InventoryType filling) {
rect = &retObj[n++];
title = &retObj[n++];
- AddBackground(rect, bounds, title, FROM_HANDLE);
+ addBackground(rect, bounds, title, FROM_HANDLE);
}
if (_activeInv == INV_CONV) {
@@ -3074,13 +3074,13 @@ void Dialogs::ConstructInventory(InventoryType filling) {
// Make sure it's big enough for the heading
if (MultiLeftmost(retObj[n - 1]) < _invD[INV_CONV].inventoryX + 10) {
_invD[INV_CONV].NoofHicons++;
- ConstructInventory(FULL);
+ constructInventory(FULL);
}
}
} else if (_invD[_activeInv].NoofItems > _invD[_activeInv].NoofHicons * _invD[_activeInv].NoofVicons) {
_sliderYmin = _TLheight - ((TinselVersion >= 2) ? 1 : 2);
_sliderYmax = _TLheight + eV + ((TinselVersion >= 2) ? 12 : 10);
- AddSlider(&retObj[n++], pfilm);
+ addSlider(&retObj[n++], pfilm);
}
FillInInventory();
@@ -3089,12 +3089,12 @@ void Dialogs::ConstructInventory(InventoryType filling) {
rect = &retObj[n++];
title = &retObj[n++];
- AddBackground(rect, bounds, title, FROM_STRING);
+ addBackground(rect, bounds, title, FROM_STRING);
if (cd.bExtraWin)
- n += AddExtraWindow(invX, invY, &retObj[n]);
+ n += addExtraWindow(invX, invY, &retObj[n]);
} else {
if (cd.bExtraWin)
- AddExtraWindow(invX, invY, &retObj[n]);
+ addExtraWindow(invX, invY, &retObj[n]);
}
AddBoxes(true);
@@ -3103,8 +3103,8 @@ void Dialogs::ConstructInventory(InventoryType filling) {
assert(n < MAX_WCOMP); // added more parts than we can handle!
// Reposition returns true if needs to move
- if (_invD[_activeInv].bMoveable && filling == FULL && RePosition()) {
- ConstructInventory(FULL);
+ if (_invD[_activeInv].bMoveable && filling == FULL && rePosition()) {
+ constructInventory(FULL);
}
}
@@ -3113,7 +3113,7 @@ void Dialogs::ConstructInventory(InventoryType filling) {
* position of the Translucent object is within limits. If it isn't,
* adjusts the x/y position of the current inventory and returns true.
*/
-bool Dialogs::RePosition() {
+bool Dialogs::rePosition() {
int p;
bool bMoveitMoveit = false;
@@ -3157,7 +3157,7 @@ bool Dialogs::RePosition() {
* Get the cursor's reel, poke in the background palette,
* and customise the cursor.
*/
-void Dialogs::AlterCursor(int num) {
+void Dialogs::alterCursor(int num) {
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
const FREEL *pfr = (const FREEL *)&pFilm->reels[num];
const MULTI_INIT *pmi = pfr->GetMultiInit();
@@ -3185,13 +3185,13 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
break;
case IC_AREA:
- area = InvArea(CurX, CurY);
+ area = invArea(CurX, CurY);
// Check for POINTED events
if (_activeInv == INV_CONF)
- InvBoxes(area == I_BODY, CurX, CurY);
+ invBoxes(area == I_BODY, CurX, CurY);
else
- InvLabels(area == I_BODY, CurX, CurY);
+ invLabels(area == I_BODY, CurX, CurY);
// No cursor trails while within inventory window
if (area == I_NOTIN)
@@ -3209,7 +3209,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
if (!_invD[_activeInv].resizable)
restoreMain = true;
else if (_invCursor != IC_DR) {
- AlterCursor(IX_CURDD);
+ alterCursor(IX_CURDD);
_invCursor = IC_DR;
}
break;
@@ -3219,7 +3219,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
if (!_invD[_activeInv].resizable)
restoreMain = true;
else if (_invCursor != IC_UR) {
- AlterCursor(IX_CURDU);
+ alterCursor(IX_CURDU);
_invCursor = IC_UR;
}
break;
@@ -3231,7 +3231,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
break;
}
if (_invCursor != IC_TB) {
- AlterCursor(IX_CURUD);
+ alterCursor(IX_CURUD);
_invCursor = IC_TB;
}
break;
@@ -3241,7 +3241,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
if (!_invD[_activeInv].resizable)
restoreMain = true;
else if (_invCursor != IC_LR) {
- AlterCursor(IX_CURLR);
+ alterCursor(IX_CURLR);
_invCursor = IC_LR;
}
break;
@@ -3417,14 +3417,14 @@ void Dialogs::HideConversation(bool bHide) {
_InventoryHidden = true;
// Remove any labels
- InvLabels(false, 0, 0);
+ invLabels(false, 0, 0);
} else {
// Window is not hidden
_InventoryHidden = false;
if ((TinselVersion >= 2) && _ItemsChanged)
// Just rebuild the whole thing
- ConstructInventory(FULL);
+ constructInventory(FULL);
else {
// Move it all back on-screen
for (i = 0; i < MAX_WCOMP && _objArray[i]; i++) {
@@ -3546,7 +3546,7 @@ void Dialogs::HideConversation(bool bHide) {
}
_vm->_cursor->GetCursorXY(&aniX, &aniY, false);
- InvLabels(true, aniX, aniY);
+ invLabels(true, aniX, aniY);
}
}
}
@@ -3600,29 +3600,29 @@ void Dialogs::PopUpInventory(int invno, int menuId) {
if (TinselVersion == 3) {
switch (invno) {
case INV_CONV:
- ConstructConversationInventory();
+ constructConversationInventory();
break;
case INV_1:
case INV_2:
case INV_3:
case INV_4:
- ConstructMainInventory();
+ constructMainInventory();
break;
default: // Should be menu.
- ConstructOtherInventory(menuId);
+ constructOtherInventory(menuId);
break;
}
} else {
if (invno != INV_CONF) // Configuration window?
- ConstructInventory(FULL); // Draw it up
+ constructInventory(FULL); // Draw it up
else {
- ConstructInventory(CONF); // Draw it up
+ constructInventory(CONF); // Draw it up
}
}
}
}
-void Dialogs::SetMenuGlobals(CONFINIT *ci) {
+void Dialogs::setMenuGlobals(CONFINIT *ci) {
if (TinselVersion < 3) {
_invD[INV_CONF].MinHicons = _invD[INV_CONF].MaxHicons = _invD[INV_CONF].NoofHicons = ci->h;
_invD[INV_CONF].MaxVicons = _invD[INV_CONF].MinVicons = _invD[INV_CONF].NoofVicons = ci->v;
@@ -3660,22 +3660,22 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
switch (menuType) {
case MAIN_MENU:
- SetMenuGlobals(&ciOption);
+ setMenuGlobals(&ciOption);
break;
case SAVE_MENU:
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true); // Show VK when saving a game
if (TinselVersion <= 1)
_vm->_cursor->SetCursorScreenXY(262, 91);
- SetMenuGlobals(&ciSave);
+ setMenuGlobals(&ciSave);
cd.editableRgroup = true;
- FirstFile(0);
+ firstFile(0);
break;
case LOAD_MENU:
- SetMenuGlobals(&ciLoad);
+ setMenuGlobals(&ciLoad);
cd.editableRgroup = false;
- FirstFile(0);
+ firstFile(0);
break;
case RESTART_MENU:
@@ -3686,7 +3686,7 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
else
_vm->_cursor->SetCursorScreenXY(180, 90);
- SetMenuGlobals(&ciRestart);
+ setMenuGlobals(&ciRestart);
break;
case SOUND_MENU:
@@ -3712,7 +3712,7 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
t1SoundBox[2].ival = &_vm->_config->_voiceVolume;
}
#endif
- SetMenuGlobals(&ciSound);
+ setMenuGlobals(&ciSound);
break;
case CONTROLS_MENU:
@@ -3721,7 +3721,7 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
controlBox[0].ival = &_vm->_config->_dclickSpeed;
controlBox[2].ival = &_vm->_config->_swapButtons;
#endif
- SetMenuGlobals(&ciControl);
+ setMenuGlobals(&ciControl);
break;
case QUIT_MENU:
@@ -3732,22 +3732,22 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
else
_vm->_cursor->SetCursorScreenXY(180, 90);
- SetMenuGlobals(&ciQuit);
+ setMenuGlobals(&ciQuit);
break;
case HOPPER_MENU1:
- PrimeSceneHopper();
- SetMenuGlobals(&ciHopper1);
+ primeSceneHopper();
+ setMenuGlobals(&ciHopper1);
cd.editableRgroup = false;
- RememberChosenScene();
- FirstScene(0);
+ rememberChosenScene();
+ firstScene(0);
break;
case HOPPER_MENU2:
- SetMenuGlobals(&ciHopper2);
+ setMenuGlobals(&ciHopper2);
cd.editableRgroup = false;
- SetChosenScene();
- FirstEntry(0);
+ setChosenScene();
+ firstEntry(0);
break;
case SUBTITLES_MENU: {
@@ -3779,13 +3779,13 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
ciSubtitles.Box[hackOffset + 1].ival = &_vm->_config->_useSubtitles;
#endif
- SetMenuGlobals(&ciSubtitles);
+ setMenuGlobals(&ciSubtitles);
} break;
case TOP_WINDOW:
- SetMenuGlobals(&ciTopWin);
+ setMenuGlobals(&ciTopWin);
_activeInv = INV_CONF;
- ConstructInventory(CONF); // Draw it up
+ constructInventory(CONF); // Draw it up
_inventoryState = BOGUS_INV;
return;
@@ -3826,9 +3826,9 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
*/
void Dialogs::KillInventory() {
if (_objArray[0] != NULL) {
- DumpObjArray();
- DumpDobjArray();
- DumpIconArray();
+ dumpObjArray();
+ dumpDobjArray();
+ dumpIconArray();
}
if (_inventoryState == ACTIVE_INV) {
@@ -3862,7 +3862,7 @@ void Dialogs::KillInventory() {
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false); // Hide VK after save dialog closes
}
-void Dialogs::CloseInventory() {
+void Dialogs::closeInventory() {
// If not active, ignore this
if (_inventoryState != ACTIVE_INV)
return;
@@ -3888,7 +3888,7 @@ void Dialogs::CloseInventory() {
* Appears to find the nearest entry in slideStuff[] to the supplied
* y-coordinate.
*/
-int Dialogs::NearestSlideY(int fity) {
+int Dialogs::nearestSlideY(int fity) {
int nearDist = 1000;
int thisDist;
int nearI = 0; // Index of nearest fit
@@ -3908,7 +3908,7 @@ int Dialogs::NearestSlideY(int fity) {
* Gets called at the start and end of a drag on the slider, and upon
* y-movement during such a drag.
*/
-void Dialogs::SlideSlider(int y, SSFN fn) {
+void Dialogs::slideSlider(int y, SSFN fn) {
static int newY = 0, lasti = 0; // FIXME: Avoid non-const global vars
int gotoY, ati;
@@ -3919,7 +3919,7 @@ void Dialogs::SlideSlider(int y, SSFN fn) {
switch (fn) {
case S_START: // Start of a drag on the slider
newY = _sliderYpos;
- lasti = NearestSlideY(_sliderYpos);
+ lasti = nearestSlideY(_sliderYpos);
break;
case S_SLIDE: // Y-movement during drag
@@ -3937,7 +3937,7 @@ void Dialogs::SlideSlider(int y, SSFN fn) {
_sliderYpos = gotoY;
// Re-draw icons if necessary
- ati = NearestSlideY(_sliderYpos);
+ ati = nearestSlideY(_sliderYpos);
if (ati != lasti) {
_invD[_activeInv].FirstDisp = _slideStuff[ati].n;
assert(_invD[_activeInv].FirstDisp >= 0); // negative first displayed
@@ -3948,7 +3948,7 @@ void Dialogs::SlideSlider(int y, SSFN fn) {
case S_END: // End of a drag on the slider
// Draw icons from new start icon
- ati = NearestSlideY(_sliderYpos);
+ ati = nearestSlideY(_sliderYpos);
_invD[_activeInv].FirstDisp = _slideStuff[ati].n;
_ItemsChanged = true;
break;
@@ -3962,7 +3962,7 @@ void Dialogs::SlideSlider(int y, SSFN fn) {
* Gets called at the start and end of a drag on the slider, and upon
* y-movement during such a drag.
*/
-void Dialogs::SlideCSlider(int y, SSFN fn) {
+void Dialogs::slideCSlider(int y, SSFN fn) {
static int newY = 0; // FIXME: Avoid non-const global vars
int gotoY;
int fc;
@@ -3994,12 +3994,12 @@ void Dialogs::SlideCSlider(int y, SSFN fn) {
fc = cd.extraBase;
if ((cd.box == saveBox || cd.box == loadBox))
- FirstFile((_sliderYpos - _sliderYmin) * (MAX_SAVED_FILES - NUM_RGROUP_BOXES) /
- (_sliderYmax - _sliderYmin));
+ firstFile((_sliderYpos - _sliderYmin) * (MAX_SAVED_FILES - NUM_RGROUP_BOXES) /
+ (_sliderYmax - _sliderYmin));
else if (cd.box == hopperBox1)
- FirstScene((_sliderYpos - _sliderYmin) * (_numScenes - NUM_RGROUP_BOXES) / sliderRange);
+ firstScene((_sliderYpos - _sliderYmin) * (_numScenes - NUM_RGROUP_BOXES) / sliderRange);
else if (cd.box == hopperBox2)
- FirstEntry((_sliderYpos - _sliderYmin) * (_numEntries - NUM_RGROUP_BOXES) / sliderRange);
+ firstEntry((_sliderYpos - _sliderYmin) * (_numEntries - NUM_RGROUP_BOXES) / sliderRange);
// If extraBase has changed...
if (fc != cd.extraBase) {
@@ -4113,9 +4113,9 @@ void Dialogs::SlideMSlider(int x, SSFN fn) {
}
/**
- * Called from ChangeingSize() during re-sizing.
+ * Called from changeingSize() during re-sizing.
*/
-void Dialogs::GettingTaller() {
+void Dialogs::gettingTaller() {
if (_SuppV) {
_yChange += _SuppV;
if (_yCompensate == 'T')
@@ -4137,9 +4137,9 @@ void Dialogs::GettingTaller() {
}
/**
- * Called from ChangeingSize() during re-sizing.
+ * Called from changeingSize() during re-sizing.
*/
-void Dialogs::GettingShorter() {
+void Dialogs::gettingShorter() {
int StartNvi = _invD[_activeInv].NoofVicons;
int StartUv = _SuppV;
@@ -4162,9 +4162,9 @@ void Dialogs::GettingShorter() {
}
/**
- * Called from ChangeingSize() during re-sizing.
+ * Called from changeingSize() during re-sizing.
*/
-void Dialogs::GettingWider() {
+void Dialogs::gettingWider() {
int StartNhi = _invD[_activeInv].NoofHicons;
int StartUh = _SuppH;
@@ -4185,9 +4185,9 @@ void Dialogs::GettingWider() {
}
/**
- * Called from ChangeingSize() during re-sizing.
+ * Called from changeingSize() during re-sizing.
*/
-void Dialogs::GettingNarrower() {
+void Dialogs::gettingNarrower() {
int StartNhi = _invD[_activeInv].NoofHicons;
int StartUh = _SuppH;
@@ -4212,20 +4212,20 @@ void Dialogs::GettingNarrower() {
/**
* Called from Xmovement()/Ymovement() during re-sizing.
*/
-void Dialogs::ChangeingSize() {
+void Dialogs::changeingSize() {
/* Make it taller or shorter if necessary. */
if (_yChange > 0)
- GettingTaller();
+ gettingTaller();
else if (_yChange < 0)
- GettingShorter();
+ gettingShorter();
/* Make it wider or narrower if necessary. */
if (_xChange > 0)
- GettingWider();
+ gettingWider();
else if (_xChange < 0)
- GettingNarrower();
+ gettingNarrower();
- ConstructInventory(EMPTY);
+ constructInventory(EMPTY);
}
/**
@@ -4251,14 +4251,14 @@ void Dialogs::Xmovement(int x) {
case ID_TLEFT:
case ID_BLEFT:
_xChange -= x;
- ChangeingSize();
+ changeingSize();
break;
case ID_RIGHT:
case ID_TRIGHT:
case ID_BRIGHT:
_xChange += x;
- ChangeingSize();
+ changeingSize();
break;
case ID_NONE:
@@ -4296,25 +4296,25 @@ void Dialogs::Ymovement(int y) {
break;
case ID_SLIDE:
- SlideSlider(y, S_SLIDE);
+ slideSlider(y, S_SLIDE);
break;
case ID_CSLIDE:
- SlideCSlider(y, S_SLIDE);
+ slideCSlider(y, S_SLIDE);
break;
case ID_BOTTOM:
case ID_BLEFT:
case ID_BRIGHT:
_yChange += y;
- ChangeingSize();
+ changeingSize();
break;
case ID_TOP:
case ID_TLEFT:
case ID_TRIGHT:
_yChange -= y;
- ChangeingSize();
+ changeingSize();
break;
case ID_NONE:
@@ -4331,7 +4331,7 @@ void Dialogs::Ymovement(int y) {
/**
* Called when a drag is commencing.
*/
-void Dialogs::InvDragStart() {
+void Dialogs::invDragStart() {
int curX, curY; // cursor's animation position
_vm->_cursor->GetCursorXY(&curX, &curY, false);
@@ -4342,11 +4342,11 @@ void Dialogs::InvDragStart() {
if (_activeInv == INV_CONF) {
int whichbox;
- whichbox = WhichMenuBox(curX, curY, true);
+ whichbox = whichMenuBox(curX, curY, true);
if (whichbox == IB_SLIDE) {
_invDragging = ID_CSLIDE;
- SlideCSlider(0, S_START);
+ slideCSlider(0, S_START);
} else if (whichbox > 0 && (whichbox & IS_MASK)) {
_invDragging = ID_MDCONT; // Mixing desk control
cd.selBox = whichbox;
@@ -4358,7 +4358,7 @@ void Dialogs::InvDragStart() {
/*
* Normal operation
*/
- switch (InvArea(curX, curY)) {
+ switch (invArea(curX, curY)) {
case I_HEADER:
if (_invD[_activeInv].bMoveable) {
_invDragging = ID_MOVE;
@@ -4367,7 +4367,7 @@ void Dialogs::InvDragStart() {
case I_SLIDE:
_invDragging = ID_SLIDE;
- SlideSlider(0, S_START);
+ slideSlider(0, S_START);
break;
case I_BOTTOM:
@@ -4450,14 +4450,14 @@ void Dialogs::InvDragStart() {
/**
* Called when a drag is over.
*/
-void Dialogs::InvDragEnd() {
+void Dialogs::invDragEnd() {
int curX, curY; // cursor's animation position
_vm->_cursor->GetCursorXY(&curX, &curY, false);
if (_invDragging != ID_NONE) {
if (_invDragging == ID_SLIDE) {
- SlideSlider(0, S_END);
+ slideSlider(0, S_END);
} else if (_invDragging == ID_CSLIDE) {
; // No action
} else if (_invDragging == ID_MDCONT) {
@@ -4466,9 +4466,9 @@ void Dialogs::InvDragEnd() {
; // No action
} else {
// Were re-sizing. Redraw the whole thing.
- DumpDobjArray();
- DumpObjArray();
- ConstructInventory(FULL);
+ dumpDobjArray();
+ dumpObjArray();
+ constructInventory(FULL);
// If this was the maximised, it no longer is!
if (_InventoryMaximised) {
@@ -4488,22 +4488,22 @@ void Dialogs::InvDragEnd() {
_xChange = _yChange = 0; // Probably no need, but does no harm!
}
-bool Dialogs::MenuDown(int lines) {
+bool Dialogs::menuDown(int lines) {
if (cd.box == loadBox || cd.box == saveBox) {
if (cd.extraBase < MAX_SAVED_FILES - NUM_RGROUP_BOXES) {
- FirstFile(cd.extraBase + lines);
+ firstFile(cd.extraBase + lines);
AddBoxes(true);
return true;
}
} else if (cd.box == hopperBox1) {
if (cd.extraBase < _numScenes - NUM_RGROUP_BOXES) {
- FirstScene(cd.extraBase + lines);
+ firstScene(cd.extraBase + lines);
AddBoxes(true);
return true;
}
} else if (cd.box == hopperBox2) {
if (cd.extraBase < _numEntries - NUM_RGROUP_BOXES) {
- FirstEntry(cd.extraBase + lines);
+ firstEntry(cd.extraBase + lines);
AddBoxes(true);
return true;
}
@@ -4511,14 +4511,14 @@ bool Dialogs::MenuDown(int lines) {
return false;
}
-bool Dialogs::MenuUp(int lines) {
+bool Dialogs::menuUp(int lines) {
if (cd.extraBase > 0) {
if (cd.box == loadBox || cd.box == saveBox)
- FirstFile(cd.extraBase - lines);
+ firstFile(cd.extraBase - lines);
else if (cd.box == hopperBox1)
- FirstScene(cd.extraBase - lines);
+ firstScene(cd.extraBase - lines);
else if (cd.box == hopperBox2)
- FirstEntry(cd.extraBase - lines);
+ firstEntry(cd.extraBase - lines);
else
return false;
@@ -4528,38 +4528,38 @@ bool Dialogs::MenuUp(int lines) {
return false;
}
-void Dialogs::MenuRollDown() {
- if (MenuDown(1)) {
+void Dialogs::menuRollDown() {
+ if (menuDown(1)) {
if (cd.selBox > 0)
cd.selBox--;
Select(cd.selBox, true);
}
}
-void Dialogs::MenuRollUp() {
- if (MenuUp(1)) {
+void Dialogs::menuRollUp() {
+ if (menuUp(1)) {
if (cd.selBox < NUM_RGROUP_BOXES - 1)
cd.selBox++;
Select(cd.selBox, true);
}
}
-void Dialogs::MenuPageDown() {
- if (MenuDown(NUM_RGROUP_BOXES - 1)) {
+void Dialogs::menuPageDown() {
+ if (menuDown(NUM_RGROUP_BOXES - 1)) {
cd.selBox = NUM_RGROUP_BOXES - 1;
Select(cd.selBox, true);
}
}
-void Dialogs::MenuPageUp() {
- if (MenuUp(NUM_RGROUP_BOXES - 1)) {
+void Dialogs::menuPageUp() {
+ if (menuUp(NUM_RGROUP_BOXES - 1)) {
cd.selBox = 0;
Select(cd.selBox, true);
}
}
-void Dialogs::InventoryDown() {
- // This code is a copy of the IB_SLIDE_DOWN case in InvWalkTo
+void Dialogs::inventoryDown() {
+ // This code is a copy of the IB_SLIDE_DOWN case in invWalkTo
// TODO: So share this duplicate code
if (_invD[_activeInv].NoofVicons == 1)
if (_invD[_activeInv].FirstDisp + _invD[_activeInv].NoofHicons * _invD[_activeInv].NoofVicons < _invD[_activeInv].NoofItems)
@@ -4571,8 +4571,8 @@ void Dialogs::InventoryDown() {
_ItemsChanged = true;
}
-void Dialogs::InventoryUp() {
- // This code is a copy of the I_SLIDE_UP case in InvWalkTo
+void Dialogs::inventoryUp() {
+ // This code is a copy of the I_SLIDE_UP case in invWalkTo
// TODO: So share this duplicate code
if (_invD[_activeInv].NoofVicons == 1)
_invD[_activeInv].FirstDisp -= _invD[_activeInv].NoofHicons;
@@ -4588,9 +4588,9 @@ void Dialogs::InventoryUp() {
/**************************************************************************/
/**
- * MenuAction
+ * menuAction
*/
-void Dialogs::MenuAction(int i, bool dbl) {
+void Dialogs::menuAction(int i, bool dbl) {
if (i >= 0) {
switch (cd.box[i].boxType) {
@@ -4617,11 +4617,11 @@ void Dialogs::MenuAction(int i, bool dbl) {
switch (cd.box[i].boxFunc) {
case SAVEGAME:
KillInventory();
- InvSaveGame();
+ invSaveGame();
break;
case LOADGAME:
KillInventory();
- InvLoadGame();
+ invLoadGame();
break;
case HOPPER2:
KillInventory();
@@ -4629,8 +4629,8 @@ void Dialogs::MenuAction(int i, bool dbl) {
break;
case BF_CHANGESCENE:
KillInventory();
- HopAction();
- FreeSceneHopper();
+ hopAction();
+ freeSceneHopper();
break;
default:
break;
@@ -4643,7 +4643,7 @@ void Dialogs::MenuAction(int i, bool dbl) {
case FRGROUP:
if (dbl) {
Select(i, false);
- LanguageChange();
+ languageChange();
} else {
Select(i, false);
}
@@ -4665,11 +4665,11 @@ void Dialogs::MenuAction(int i, bool dbl) {
break;
}
} else {
- ConfActionSpecial(i);
+ confActionSpecial(i);
}
}
-void Dialogs::ConfActionSpecial(int i) {
+void Dialogs::confActionSpecial(int i) {
switch (i) {
case IB_NONE:
default:
@@ -4677,11 +4677,11 @@ void Dialogs::ConfActionSpecial(int i) {
case IB_UP: // Scroll up
if (cd.extraBase > 0) {
if ((cd.box == loadBox) || (cd.box == saveBox))
- FirstFile(cd.extraBase - 1);
+ firstFile(cd.extraBase - 1);
else if (cd.box == hopperBox1)
- FirstScene(cd.extraBase - 1);
+ firstScene(cd.extraBase - 1);
else if (cd.box == hopperBox2)
- FirstEntry(cd.extraBase - 1);
+ firstEntry(cd.extraBase - 1);
AddBoxes(true);
if (cd.selBox < NUM_RGROUP_BOXES - 1)
@@ -4692,7 +4692,7 @@ void Dialogs::ConfActionSpecial(int i) {
case IB_DOWN: // Scroll down
if ((cd.box == loadBox) || (cd.box == saveBox)) {
if (cd.extraBase < MAX_SAVED_FILES - NUM_RGROUP_BOXES) {
- FirstFile(cd.extraBase + 1);
+ firstFile(cd.extraBase + 1);
AddBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
@@ -4700,7 +4700,7 @@ void Dialogs::ConfActionSpecial(int i) {
}
} else if (cd.box == hopperBox1) {
if (cd.extraBase < _numScenes - NUM_RGROUP_BOXES) {
- FirstScene(cd.extraBase + 1);
+ firstScene(cd.extraBase + 1);
AddBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
@@ -4708,7 +4708,7 @@ void Dialogs::ConfActionSpecial(int i) {
}
} else if (cd.box == hopperBox2) {
if (cd.extraBase < _numEntries - NUM_RGROUP_BOXES) {
- FirstEntry(cd.extraBase + 1);
+ firstEntry(cd.extraBase + 1);
AddBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
@@ -4718,11 +4718,11 @@ void Dialogs::ConfActionSpecial(int i) {
break;
case IB_SLIDE_UP:
- MenuPageUp();
+ menuPageUp();
break;
case IB_SLIDE_DOWN:
- MenuPageDown();
+ menuPageDown();
break;
}
}
@@ -4778,7 +4778,7 @@ void Dialogs::InvPutDown(int index) {
InvCursor(IC_DROP, aniX, aniY);
}
-void Dialogs::InvPickup(int index) {
+void Dialogs::invPickup(int index) {
// Do nothing if not clicked on anything
if (index == NOOBJECT)
return;
@@ -4814,15 +4814,15 @@ void Dialogs::InvPickup(int index) {
/**
* Handle WALKTO event (Pick up/put down event)
*/
-void Dialogs::InvWalkTo(const Common::Point &coOrds) {
+void Dialogs::invWalkTo(const Common::Point &coOrds) {
int i;
- switch (InvArea(coOrds.x, coOrds.y)) {
+ switch (invArea(coOrds.x, coOrds.y)) {
case I_NOTIN:
if (_activeInv == INV_CONV)
ConvAction(INV_CLOSEICON);
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
- FreeSceneHopper();
+ freeSceneHopper();
KillInventory();
break;
@@ -4864,7 +4864,7 @@ void Dialogs::InvWalkTo(const Common::Point &coOrds) {
case I_BODY:
if (_activeInv == INV_CONF) {
if (!_InventoryHidden)
- MenuAction(WhichMenuBox(coOrds.x, coOrds.y, false), false);
+ menuAction(whichMenuBox(coOrds.x, coOrds.y, false), false);
} else {
Common::Point pt = coOrds;
i = InvItem(pt, false);
@@ -4889,7 +4889,7 @@ void Dialogs::InvWalkTo(const Common::Point &coOrds) {
if (_activeInv == INV_CONV) {
ConvAction(i);
} else
- InvPickup(i);
+ invPickup(i);
}
break;
@@ -4898,7 +4898,7 @@ void Dialogs::InvWalkTo(const Common::Point &coOrds) {
}
}
-void Dialogs::InvAction() {
+void Dialogs::invAction() {
int index;
const InventoryObject *invObj;
int aniX, aniY;
@@ -4906,11 +4906,11 @@ void Dialogs::InvAction() {
_vm->_cursor->GetCursorXY(&aniX, &aniY, false);
- switch (InvArea(aniX, aniY)) {
+ switch (invArea(aniX, aniY)) {
case I_BODY:
if (_activeInv == INV_CONF) {
if (!_InventoryHidden)
- MenuAction(WhichMenuBox(aniX, aniY, false), true);
+ menuAction(whichMenuBox(aniX, aniY, false), true);
} else if (_activeInv == INV_CONV) {
index = InvItem(&aniX, &aniY, false);
ConvAction(index);
@@ -4959,9 +4959,9 @@ void Dialogs::InvAction() {
}
// Delete current, and re-draw
- DumpDobjArray();
- DumpObjArray();
- ConstructInventory(FULL);
+ dumpDobjArray();
+ dumpObjArray();
+ constructInventory(FULL);
break;
case I_UP:
@@ -4982,11 +4982,11 @@ void Dialogs::InvAction() {
}
}
-void Dialogs::InvLook(const Common::Point &coOrds) {
+void Dialogs::invLook(const Common::Point &coOrds) {
int index;
Common::Point pt = coOrds;
- switch (InvArea(pt.x, pt.y)) {
+ switch (invArea(pt.x, pt.y)) {
case I_BODY:
index = InvItem(pt, false);
if (index != INV_NOICON) {
@@ -5028,34 +5028,34 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
case PLR_PROV_WALKTO:
if (MenuActive()) {
ProcessedProvisional();
- InvWalkTo(coOrds);
+ invWalkTo(coOrds);
}
break;
case PLR_WALKTO: // PLR_SLEFT
- InvWalkTo(coOrds);
+ invWalkTo(coOrds);
break;
case INV_LOOK: // PLR_SRIGHT
if (MenuActive())
- InvWalkTo(coOrds);
+ invWalkTo(coOrds);
else
- InvLook(coOrds);
+ invLook(coOrds);
break;
case PLR_ACTION: // PLR_DLEFT
if (_invDragging != ID_MDCONT)
- InvDragEnd();
- InvAction();
+ invDragEnd();
+ invAction();
break;
case PLR_DRAG1_START: // Left drag start
if (TinselVersion < 3 || _inventoryState == ACTIVE_INV) // InventoryActive, but not Notebook
- InvDragStart();
+ invDragStart();
break;
case PLR_DRAG1_END: // Left drag end
- InvDragEnd();
+ invDragEnd();
break;
case PLR_ESCAPE:
@@ -5063,48 +5063,48 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (cd.box != optionBox && cd.box != hopperBox1 && cd.box != hopperBox2)
_reOpenMenu = true;
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
- FreeSceneHopper();
+ freeSceneHopper();
}
- CloseInventory();
+ closeInventory();
break;
case PLR_PGDN:
if (_activeInv == INV_MENU) {
// Load or Save screen
- MenuPageDown();
+ menuPageDown();
} else {
// Inventory window
- InventoryDown();
+ inventoryDown();
}
break;
case PLR_PGUP:
if (_activeInv == INV_MENU) {
// Load or Save screen
- MenuPageUp();
+ menuPageUp();
} else {
// Inventory window
- InventoryUp();
+ inventoryUp();
}
break;
case PLR_WHEEL_DOWN:
if (_activeInv == INV_MENU) {
// Load or Save screen
- MenuRollDown();
+ menuRollDown();
} else {
// Inventory window
- InventoryDown();
+ inventoryDown();
}
break;
case PLR_WHEEL_UP:
if (_activeInv == INV_MENU) {
// Load or Save screen
- MenuRollUp();
+ menuRollUp();
} else {
// Inventory window
- InventoryUp();
+ inventoryUp();
}
break;
@@ -5112,11 +5112,11 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (_activeInv == INV_MENU) {
// Load or Save screen
if (cd.box == loadBox || cd.box == saveBox)
- FirstFile(0);
+ firstFile(0);
else if (cd.box == hopperBox1)
- FirstScene(0);
+ firstScene(0);
else if (cd.box == hopperBox2)
- FirstEntry(0);
+ firstEntry(0);
else
break;
@@ -5134,11 +5134,11 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (_activeInv == INV_MENU) {
// Load or Save screen
if (cd.box == loadBox || cd.box == saveBox)
- FirstFile(MAX_SAVED_FILES); // Will get reduced to appropriate value
+ firstFile(MAX_SAVED_FILES); // Will get reduced to appropriate value
else if (cd.box == hopperBox1)
- FirstScene(_numScenes); // Will get reduced to appropriate value
+ firstScene(_numScenes); // Will get reduced to appropriate value
else if (cd.box == hopperBox2)
- FirstEntry(_numEntries); // Will get reduced to appropriate value
+ firstEntry(_numEntries); // Will get reduced to appropriate value
else
break;
@@ -5163,7 +5163,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
/**************************************************************************/
const FILM *Dialogs::GetObjectFilm(int object) const {
- return (const FILM*)_vm->_handle->LockMem(_invFilms[GetObjectIndex(object)]);
+ return (const FILM*)_vm->_handle->LockMem(_invFilms[getObjectIndex(object)]);
}
/**
@@ -5174,7 +5174,7 @@ void Dialogs::SetObjectFilm(int object, SCNHANDLE hFilm) {
_invObjects->SetObjectFilm(object, hFilm);
if (TinselVersion == 3) {
- _invFilms[GetObjectIndex(object)] = hFilm;
+ _invFilms[getObjectIndex(object)] = hFilm;
}
if (_heldItem != object)
@@ -5496,11 +5496,11 @@ void Dialogs::CallFunction(BFUNC boxFunc) {
switch (boxFunc) {
case SAVEGAME:
KillInventory();
- InvSaveGame();
+ invSaveGame();
break;
case LOADGAME:
KillInventory();
- InvLoadGame();
+ invLoadGame();
break;
case IQUITGAME:
_vm->quitGame();
@@ -5508,7 +5508,7 @@ void Dialogs::CallFunction(BFUNC boxFunc) {
case CLOSEWIN:
KillInventory();
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
- FreeSceneHopper();
+ freeSceneHopper();
break;
case OPENLOAD:
KillInventory();
@@ -5545,7 +5545,7 @@ void Dialogs::CallFunction(BFUNC boxFunc) {
FnRestartGame();
break;
case CLANG:
- if (!LanguageChange())
+ if (!languageChange())
KillInventory();
break;
case RLANG:
@@ -5557,8 +5557,8 @@ void Dialogs::CallFunction(BFUNC boxFunc) {
break;
case BF_CHANGESCENE:
_vm->_dialogs->KillInventory();
- _vm->_dialogs->HopAction();
- _vm->_dialogs->FreeSceneHopper();
+ _vm->_dialogs->hopAction();
+ _vm->_dialogs->freeSceneHopper();
break;
default:
break;
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index a63cabf4724..9dab7a07952 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -231,7 +231,7 @@ enum TM { TM_POINTER,
TM_UNK4,
TM_NONE };
-// For SlideSlider() and similar
+// For slideSlider() and similar
enum SSFN {
S_START,
S_SLIDE,
@@ -381,67 +381,67 @@ public:
BUTTONEFFECT _buttonEffect;
private:
- int WhichMenuBox(int curX, int curY, bool bSlides);
- void ConfActionSpecial(int i);
- bool RePosition();
- bool LanguageChange();
- void PrimeSceneHopper();
- void FreeSceneHopper();
- void RememberChosenScene();
- void SetChosenScene();
- void FirstEntry(int first);
- void HopAction();
- void DumpIconArray();
- void DumpDobjArray();
- void DumpObjArray();
- void FirstScene(int first);
- void FirstFile(int first);
- int GetObjectIndex(int id) const;
- void InvSaveGame();
- void InvLoadGame();
- int InvArea(int x, int y);
- void InvBoxes(bool InBody, int curX, int curY);
- void InvLabels(bool InBody, int aniX, int aniY);
- void AdjustTop();
- OBJECT *AddInvObject(int num, const FREEL **pfreel, const FILM **pfilm);
- void AddBackground(OBJECT **rect, const Common::Rect &bounds, OBJECT **title = nullptr, int textFrom = 0);
- void AddTitle(OBJECT **title, const Common::Rect &rect);
- void AddSlider(OBJECT **slide, const FILM *pfilm);
- void AddBox(int *pi, const int i);
- void AddEWSlider(OBJECT **slide, const FILM *pfilm);
- void PositionInventory(OBJECT *pMultiObj, int xOffset, int yOffset, int zPosition);
- int AddExtraWindow(int x, int y, OBJECT **retObj);
- void ConstructInventoryCommon(SysReel reel, bool hasTitle);
- void ConstructConversationInventory();
- void ConstructInventory(InventoryType filling);
- void ConstructOtherInventory(int menuId);
- void ConstructMainInventory();
- void AlterCursor(int num);
- void SetMenuGlobals(CONFINIT *ci);
- void CloseInventory();
- int NearestSlideY(int fity);
- void SlideSlider(int y, SSFN fn);
- void SlideCSlider(int y, SSFN fn);
- void GettingTaller();
- void GettingShorter();
- void GettingWider();
- void GettingNarrower();
- void ChangeingSize();
- void InvDragStart();
- void InvDragEnd();
- bool MenuDown(int lines);
- bool MenuUp(int lines);
- void MenuRollDown();
- void MenuRollUp();
- void MenuPageDown();
- void MenuPageUp();
- void InventoryDown();
- void InventoryUp();
- void MenuAction(int i, bool dbl);
- void InvPickup(int index);
- void InvWalkTo(const Common::Point &coOrds);
- void InvAction();
- void InvLook(const Common::Point &coOrds);
+ int whichMenuBox(int curX, int curY, bool bSlides);
+ void confActionSpecial(int i);
+ bool rePosition();
+ bool languageChange();
+ void primeSceneHopper();
+ void freeSceneHopper();
+ void rememberChosenScene();
+ void setChosenScene();
+ void firstEntry(int first);
+ void hopAction();
+ void dumpIconArray();
+ void dumpDobjArray();
+ void dumpObjArray();
+ void firstScene(int first);
+ void firstFile(int first);
+ int getObjectIndex(int id) const;
+ void invSaveGame();
+ void invLoadGame();
+ int invArea(int x, int y);
+ void invBoxes(bool InBody, int curX, int curY);
+ void invLabels(bool InBody, int aniX, int aniY);
+ void adjustTop();
+ OBJECT *addInvObject(int num, const FREEL **pfreel, const FILM **pfilm);
+ void addBackground(OBJECT **rect, const Common::Rect &bounds, OBJECT **title = nullptr, int textFrom = 0);
+ void addTitle(OBJECT **title, const Common::Rect &rect);
+ void addSlider(OBJECT **slide, const FILM *pfilm);
+ void addBox(int *pi, const int i);
+ void addEWSlider(OBJECT **slide, const FILM *pfilm);
+ void positionInventory(OBJECT *pMultiObj, int xOffset, int yOffset, int zPosition);
+ int addExtraWindow(int x, int y, OBJECT **retObj);
+ void constructInventoryCommon(SysReel reel, bool hasTitle);
+ void constructConversationInventory();
+ void constructInventory(InventoryType filling);
+ void constructOtherInventory(int menuId);
+ void constructMainInventory();
+ void alterCursor(int num);
+ void setMenuGlobals(CONFINIT *ci);
+ void closeInventory();
+ int nearestSlideY(int fity);
+ void slideSlider(int y, SSFN fn);
+ void slideCSlider(int y, SSFN fn);
+ void gettingTaller();
+ void gettingShorter();
+ void gettingWider();
+ void gettingNarrower();
+ void changeingSize();
+ void invDragStart();
+ void invDragEnd();
+ bool menuDown(int lines);
+ bool menuUp(int lines);
+ void menuRollDown();
+ void menuRollUp();
+ void menuPageDown();
+ void menuPageUp();
+ void inventoryDown();
+ void inventoryUp();
+ void menuAction(int i, bool dbl);
+ void invPickup(int index);
+ void invWalkTo(const Common::Point &coOrds);
+ void invAction();
+ void invLook(const Common::Point &coOrds);
void idec_inv(int num, SCNHANDLE text, int MaxContents,
int MinWidth, int MinHeight,
int StartWidth, int StartHeight,
@@ -524,7 +524,7 @@ private:
CONV_PARAM _thisConvFn; // Top, 'Middle' or Bottom
HPOLYGON _thisConvPoly; // Conversation code is in a polygon code block
int _thisConvActor; // ...or an actor's code block.
- int _pointedIcon; // used by InvLabels - icon pointed to on last call
+ int _pointedIcon; // used by invLabels - icon pointed to on last call
int _sX; // used by SlideMSlider() - current x-coordinate
int _lX; // used by SlideMSlider() - last x-coordinate
diff --git a/engines/tinsel/drives.cpp b/engines/tinsel/drives.cpp
index f4923df7324..1ab7ef4ddde 100644
--- a/engines/tinsel/drives.cpp
+++ b/engines/tinsel/drives.cpp
@@ -57,7 +57,7 @@ void CdCD(CORO_PARAM) {
while (g_bChangingCD) {
if (CoroScheduler.getCurrentProcess()) {
// FIXME: CdCD gets passed a Common::nullContext in RegisterGlobals() and
- // PrimeSceneHopper(), because I didn't know how to get a proper
+ // primeSceneHopper(), because I didn't know how to get a proper
// context without converting the whole calling stack to CORO'd
// functions. If these functions really get called while a CD
// change is requested, this needs to be resolved.
Commit: 50eb3bb54293819e8b3fa7522cc18b22b2dd94a4
https://github.com/scummvm/scummvm/commit/50eb3bb54293819e8b3fa7522cc18b22b2dd94a4
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Rename the public methods in Dialogs to follow convention
Changed paths:
engines/tinsel/actors.cpp
engines/tinsel/cursor.cpp
engines/tinsel/debugger.cpp
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/events.cpp
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook_page.cpp
engines/tinsel/saveload.cpp
engines/tinsel/savescn.cpp
engines/tinsel/scene.cpp
engines/tinsel/tinlib.cpp
engines/tinsel/tinsel.cpp
diff --git a/engines/tinsel/actors.cpp b/engines/tinsel/actors.cpp
index 04d9728b5a9..1fc2bb6e025 100644
--- a/engines/tinsel/actors.cpp
+++ b/engines/tinsel/actors.cpp
@@ -1492,7 +1492,7 @@ static void ActorTinselProcess(CORO_PARAM, const void *param) {
// Take control for CONVERSE events
if (atp->event == CONVERSE) {
_ctx->bTookControl = GetControl();
- _vm->_dialogs->HideConversation(true);
+ _vm->_dialogs->hideConversation(true);
} else
_ctx->bTookControl = false;
@@ -1505,7 +1505,7 @@ static void ActorTinselProcess(CORO_PARAM, const void *param) {
if (_ctx->bTookControl)
ControlOn();
- _vm->_dialogs->HideConversation(false);
+ _vm->_dialogs->hideConversation(false);
}
} else {
CORO_INVOKE_1(AllowDclick, atp->bev); // May kill us if single click
diff --git a/engines/tinsel/cursor.cpp b/engines/tinsel/cursor.cpp
index 7e1d7988aab..92b1fdac9dd 100644
--- a/engines/tinsel/cursor.cpp
+++ b/engines/tinsel/cursor.cpp
@@ -402,10 +402,10 @@ void Cursor::DoCursorMove() {
if (_auxCursor != NULL)
MultiSetAniXY(_auxCursor, ptMouse.x - _auxCursorOffsetX, ptMouse.y - _auxCursorOffsetY);
- if (_vm->_dialogs->InventoryActive() && _mainCursor) {
+ if (_vm->_dialogs->inventoryActive() && _mainCursor) {
// Notify the inventory
- _vm->_dialogs->Xmovement(ptMouse.x - startX);
- _vm->_dialogs->Ymovement(ptMouse.y - startY);
+ _vm->_dialogs->xMovement(ptMouse.x - startX);
+ _vm->_dialogs->yMovement(ptMouse.y - startY);
}
_lastCursorX = ptMouse.x;
@@ -519,7 +519,7 @@ void Cursor::StartCursorFollowed() {
}
void Cursor::EndCursorFollowed() {
- _vm->_dialogs->InventoryIconCursor(false); // May be holding something
+ _vm->_dialogs->inventoryIconCursor(false); // May be holding something
_tempHiddenCursor = false;
}
@@ -564,7 +564,7 @@ void CursorStoppedCheck(CORO_PARAM) {
// Re-initialize
_vm->_cursor->InitCurObj();
_vm->_cursor->InitCurPos();
- _vm->_dialogs->InventoryIconCursor(false); // May be holding something
+ _vm->_dialogs->inventoryIconCursor(false); // May be holding something
// Re-start the cursor trails
_vm->_cursor->_cursorProcessesRestarted = true;
@@ -597,7 +597,7 @@ void CursorProcess(CORO_PARAM, const void *) {
_vm->_cursor->InitCurObj();
_vm->_cursor->InitCurPos();
- _vm->_dialogs->InventoryIconCursor(false); // May be holding something
+ _vm->_dialogs->inventoryIconCursor(false); // May be holding something
_vm->_cursor->_cursorProcessesStopped = false;
_vm->_cursor->_cursorProcessesRestarted = false;
diff --git a/engines/tinsel/debugger.cpp b/engines/tinsel/debugger.cpp
index 6eb51a1ef11..d4c5fcd8d5e 100644
--- a/engines/tinsel/debugger.cpp
+++ b/engines/tinsel/debugger.cpp
@@ -85,8 +85,8 @@ bool Console::cmd_item(int argc, const char **argv) {
return true;
}
- _vm->_dialogs->HoldItem(INV_NOICON);
- _vm->_dialogs->HoldItem(strToInt(argv[1]));
+ _vm->_dialogs->holdItem(INV_NOICON);
+ _vm->_dialogs->holdItem(strToInt(argv[1]));
return false;
}
@@ -180,7 +180,7 @@ bool Console::cmd_add_clue(int argc, const char **argv) {
}
bool Console::cmd_add_all_clues(int argc, const char **argv) {
- auto clues = _vm->_dialogs->GetAllNotebookClues();
+ auto clues = _vm->_dialogs->getAllNotebookClues();
for (auto clue : clues) {
_vm->_notebook->AddClue(clue);
}
@@ -199,7 +199,7 @@ bool Console::cmd_cross_clue(int argc, const char **argv) {
}
bool Console::cmd_list_clues(int argc, const char **argv) {
- auto clues = _vm->_dialogs->GetAllNotebookClues();
+ auto clues = _vm->_dialogs->getAllNotebookClues();
for (auto clue : clues) {
debugPrintf("%d\n", clue);
}
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index bc0a934ac7b..e2d89ac0fce 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -980,7 +980,7 @@ bool Dialogs::languageChange() {
}
if (nLang != _vm->_config->_language) {
- KillInventory();
+ killInventory();
ChangeLanguage(nLang);
_vm->_config->_language = nLang;
return true;
@@ -1177,10 +1177,10 @@ void Dialogs::dumpObjArray() {
* Convert item ID number to pointer to item's compiled data
* i.e. Image data and Glitter code.
*/
-const InventoryObject *Dialogs::GetInvObject(int id) {
+const InventoryObject *Dialogs::getInvObject(int id) {
auto object = _invObjects->GetInvObject(id);
if (!object) {
- error("GetInvObject(%d): Trying to manipulate undefined inventory icon", id);
+ error("getInvObject(%d): Trying to manipulate undefined inventory icon", id);
}
return object;
}
@@ -1189,10 +1189,10 @@ const InventoryObject *Dialogs::GetInvObject(int id) {
* Convert item ID number to pointer to item's compiled data
* i.e. Image data and Glitter code.
*/
-const InventoryObjectT3 *Dialogs::GetInvObjectT3(int id) {
+const InventoryObjectT3 *Dialogs::getInvObjectT3(int id) {
auto object = _invObjects->GetInvObjectT3(id);
if (!object) {
- error("GetInvObjectT3(%d): Trying to manipulate undefined inventory icon", id);
+ error("getInvObjectT3(%d): Trying to manipulate undefined inventory icon", id);
}
return object;
}
@@ -1200,7 +1200,7 @@ const InventoryObjectT3 *Dialogs::GetInvObjectT3(int id) {
/**
* Returns true if the given id represents a valid inventory object
*/
-bool Dialogs::GetIsInvObject(int id) {
+bool Dialogs::getIsInvObject(int id) {
int index = _invObjects->GetObjectIndexIfExists(id);
return index != -1;
}
@@ -1220,7 +1220,7 @@ int Dialogs::getObjectIndex(int id) const {
* Returns position of an item in one of the inventories.
* The actual position is not important for the uses that this is put to.
*/
-int Dialogs::InventoryPos(int num) {
+int Dialogs::inventoryPos(int num) {
int i;
for (i = 0; i < _invD[INV_1].NoofItems; i++) // First inventory
@@ -1237,7 +1237,7 @@ int Dialogs::InventoryPos(int num) {
return INV_NOICON; // Not held, not in either inventory
}
-bool Dialogs::IsInInventory(int object, int invnum) {
+bool Dialogs::isInInventory(int object, int invnum) {
assert(invnum == INV_1 || invnum == INV_2);
for (int i = 0; i < _invD[invnum].NoofItems; i++) // First inventory
@@ -1250,7 +1250,7 @@ bool Dialogs::IsInInventory(int object, int invnum) {
/**
* Returns which item is held (INV_NOICON (-1) if none)
*/
-int Dialogs::WhichItemHeld() {
+int Dialogs::whichItemHeld() {
return _heldItem;
}
@@ -1258,7 +1258,7 @@ int Dialogs::WhichItemHeld() {
* Called from the cursor module when it re-initializes (at the start of
* a new scene). For if we are holding something at scene-change time.
*/
-void Dialogs::InventoryIconCursor(bool bNewItem) {
+void Dialogs::inventoryIconCursor(bool bNewItem) {
if (_heldItem != INV_NOICON) {
if (TinselVersion >= 2) {
@@ -1266,7 +1266,7 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
int objIndex = getObjectIndex(_heldItem);
if (TinselVersion == 3) {
- auto invObj = GetInvObject(_heldItem);
+ auto invObj = getInvObject(_heldItem);
if (invObj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) {
_heldFilm = _vm->_systemReel->Get((SysReel)objIndex);
@@ -1279,7 +1279,7 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
}
_vm->_cursor->SetAuxCursor(_heldFilm);
} else {
- auto invObj = GetInvObject(_heldItem);
+ auto invObj = getInvObject(_heldItem);
_vm->_cursor->SetAuxCursor(invObj->getIconFilm());
}
}
@@ -1288,15 +1288,15 @@ void Dialogs::InventoryIconCursor(bool bNewItem) {
/**
* Returns true if the inventory is active.
*/
-bool Dialogs::InventoryActive() {
+bool Dialogs::inventoryActive() {
return _inventoryState == ACTIVE_INV;
}
-bool Dialogs::InventoryOrNotebookActive() {
- return InventoryActive() || ((TinselVersion == 3) && _vm->_notebook->IsOpen());
+bool Dialogs::inventoryOrNotebookActive() {
+ return inventoryActive() || ((TinselVersion == 3) && _vm->_notebook->IsOpen());
}
-int Dialogs::WhichInventoryOpen() {
+int Dialogs::whichInventoryOpen() {
if (TinselVersion == 3 && _vm->_notebook->IsOpen()) {
return INV_NOTEBOOK;
}
@@ -1376,7 +1376,7 @@ void Dialogs::invLoadGame() {
* Returns true if the string was altered.
*/
#ifndef JAPAN
-bool Dialogs::UpdateString(const Common::KeyState &kbd) {
+bool Dialogs::updateString(const Common::KeyState &kbd) {
int cpos;
if (!cd.editableRgroup)
@@ -1426,7 +1426,7 @@ static bool InvKeyIn(const Common::KeyState &kbd) {
return true; // Key needs processing
} else {
#ifndef JAPAN
- if (_vm->_dialogs->UpdateString(kbd)) {
+ if (_vm->_dialogs->updateString(kbd)) {
/*
* Delete display of text currently being edited,
* and replace it with freshly edited text.
@@ -1434,16 +1434,16 @@ static bool InvKeyIn(const Common::KeyState &kbd) {
MultiDeleteObjectIfExists(FIELD_STATUS, &_vm->_dialogs->_iconArray[HL3]);
_vm->_dialogs->_iconArray[HL3] = ObjectTextOut(
_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_dialogs->_saveGameDesc, 0,
- _vm->_dialogs->CurrentInventoryX() + cd.box[cd.selBox].xpos + 2,
- _vm->_dialogs->CurrentInventoryY() + cd.box[cd.selBox].ypos + TYOFF,
+ _vm->_dialogs->currentInventoryX() + cd.box[cd.selBox].xpos + 2,
+ _vm->_dialogs->currentInventoryY() + cd.box[cd.selBox].ypos + TYOFF,
_vm->_font->GetTagFontHandle(), 0);
if (MultiRightmost(_vm->_dialogs->_iconArray[HL3]) > MAX_NAME_RIGHT) {
MultiDeleteObject(_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_dialogs->_iconArray[HL3]);
- _vm->_dialogs->UpdateString(Common::KeyState(Common::KEYCODE_BACKSPACE));
+ _vm->_dialogs->updateString(Common::KeyState(Common::KEYCODE_BACKSPACE));
_vm->_dialogs->_iconArray[HL3] = ObjectTextOut(
_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_dialogs->_saveGameDesc, 0,
- _vm->_dialogs->CurrentInventoryX() + cd.box[cd.selBox].xpos + 2,
- _vm->_dialogs->CurrentInventoryY() + cd.box[cd.selBox].ypos + TYOFF,
+ _vm->_dialogs->currentInventoryX() + cd.box[cd.selBox].xpos + 2,
+ _vm->_dialogs->currentInventoryY() + cd.box[cd.selBox].ypos + TYOFF,
_vm->_font->GetTagFontHandle(), 0);
}
MultiSetZPosition(_vm->_dialogs->_iconArray[HL3], Z_INV_ITEXT + 2);
@@ -1457,7 +1457,7 @@ static bool InvKeyIn(const Common::KeyState &kbd) {
* Highlights selected box.
* If it's editable (save game), copy existing description and add a cursor.
*/
-void Dialogs::Select(int i, bool force) {
+void Dialogs::select(int i, bool force) {
#ifdef JAPAN
time_t secs_now;
struct tm *time_now;
@@ -1548,7 +1548,7 @@ void Dialogs::Select(int i, bool force) {
/**
* Stop holding an item.
*/
-void Dialogs::DropItem(int item) {
+void Dialogs::dropItem(int item) {
if (_heldItem == item) {
_heldItem = INV_NOICON; // Item not held
_vm->_cursor->DelAuxCursor(); // no longer aux cursor
@@ -1561,7 +1561,7 @@ void Dialogs::DropItem(int item) {
/**
* Clears the specified inventory
*/
-void Dialogs::ClearInventory(int invno) {
+void Dialogs::clearInventory(int invno) {
assert(invno == INV_1 || invno == INV_2);
_invD[invno].NoofItems = 0;
@@ -1572,7 +1572,7 @@ void Dialogs::ClearInventory(int invno) {
* Stick the item into an inventory list (contents[]), and hold the
* item if requested.
*/
-void Dialogs::AddToInventory(int invno, int icon, bool hold) {
+void Dialogs::addToInventory(int invno, int icon, bool hold) {
int i;
bool bOpen;
@@ -1585,12 +1585,12 @@ void Dialogs::AddToInventory(int invno, int icon, bool hold) {
bOpen = true;
// Make sure it doesn't get in both!
- RemFromInventory(_activeInv == INV_1 ? INV_2 : INV_1, icon);
+ remFromInventory(_activeInv == INV_1 ? INV_2 : INV_1, icon);
} else {
bOpen = false;
if ((TinselVersion >= 2) && invno == INV_DEFAULT) {
- auto invObj = GetInvObject(icon);
+ auto invObj = getInvObject(icon);
if (invObj->hasAttribute(InvObjAttr::DEFINV2))
invno = INV_2;
else if (invObj->hasAttribute(InvObjAttr::DEFINV1))
@@ -1601,9 +1601,9 @@ void Dialogs::AddToInventory(int invno, int icon, bool hold) {
}
if (invno == INV_1)
- RemFromInventory(INV_2, icon);
+ remFromInventory(INV_2, icon);
else if (invno == INV_2)
- RemFromInventory(INV_1, icon);
+ remFromInventory(INV_1, icon);
// See if it's already there
for (i = 0; i < _invD[invno].NoofItems; i++) {
@@ -1620,7 +1620,7 @@ void Dialogs::AddToInventory(int invno, int icon, bool hold) {
// Count how many current contents have end attribute
for (i = 0, nei = 0; i < _invD[INV_CONV].NoofItems; i++) {
- auto invObj = GetInvObject(_invD[INV_CONV].contents[i]);
+ auto invObj = getInvObject(_invD[INV_CONV].contents[i]);
if (invObj->hasAttribute(InvObjAttr::CONVENDITEM))
nei++;
}
@@ -1665,14 +1665,14 @@ void Dialogs::AddToInventory(int invno, int icon, bool hold) {
// Hold it if requested
if (hold)
- HoldItem(icon);
+ holdItem(icon);
}
/**
* Take the item from the inventory list (contents[]).
* Return FALSE if item wasn't present, true if it was.
*/
-bool Dialogs::RemFromInventory(int invno, int icon) {
+bool Dialogs::remFromInventory(int invno, int icon) {
int i;
assert(invno == INV_1 || invno == INV_2 || invno == INV_CONV); // Trying to delete from illegal inventory
@@ -1704,7 +1704,7 @@ bool Dialogs::RemFromInventory(int invno, int icon) {
/**
* If the item is not already held, hold it.
*/
-void Dialogs::HoldItem(int item, bool bKeepFilm) {
+void Dialogs::holdItem(int item, bool bKeepFilm) {
if (_heldItem != item) {
if ((TinselVersion >= 2) && (_heldItem != INV_NOICON)) {
// No longer holding previous item
@@ -1712,17 +1712,17 @@ void Dialogs::HoldItem(int item, bool bKeepFilm) {
// If old held object is not in an inventory, and
// has a default, stick it in its default inventory.
- if (!IsInInventory(_heldItem, INV_1) && !IsInInventory(_heldItem, INV_2)) {
- auto invObj = GetInvObject(_heldItem);
+ if (!isInInventory(_heldItem, INV_1) && !isInInventory(_heldItem, INV_2)) {
+ auto invObj = getInvObject(_heldItem);
if (invObj->hasAttribute(InvObjAttr::DEFINV1))
- AddToInventory(INV_1, _heldItem);
+ addToInventory(INV_1, _heldItem);
else if (invObj->hasAttribute(InvObjAttr::DEFINV2))
- AddToInventory(INV_2, _heldItem);
+ addToInventory(INV_2, _heldItem);
else {
if ((TinselVersion < 3) || (!(invObj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) && !(invObj->hasAttribute(InvObjAttr::V3ATTR_X400)))) {
// Hook for definable default inventory
- AddToInventory(INV_1, _heldItem);
+ addToInventory(INV_1, _heldItem);
}
}
}
@@ -1732,20 +1732,20 @@ void Dialogs::HoldItem(int item, bool bKeepFilm) {
_vm->_cursor->DelAuxCursor(); // no longer aux cursor
if (item != INV_NOICON) {
- auto invObj = GetInvObject(item);
+ auto invObj = getInvObject(item);
_vm->_cursor->SetAuxCursor(invObj->getIconFilm()); // and is aux. cursor
}
// WORKAROUND: If a held item is being removed that's not in either inventory (i.e. it was picked up
// but never put in them), then when removing it from being held, drop it in the luggage
- if (_heldItem != INV_NOICON && InventoryPos(_heldItem) == INV_HELDNOTIN)
- AddToInventory(INV_1, _heldItem);
+ if (_heldItem != INV_NOICON && inventoryPos(_heldItem) == INV_HELDNOTIN)
+ addToInventory(INV_1, _heldItem);
}
_heldItem = item; // Item held
if (TinselVersion >= 2) {
- InventoryIconCursor(!bKeepFilm);
+ inventoryIconCursor(!bKeepFilm);
// Redraw contents - held item not displayed as a content.
_ItemsChanged = true;
@@ -1936,7 +1936,7 @@ int Dialogs::invArea(int x, int y) {
* Returns the id of the icon displayed under the given position.
* Also return co-ordinates of items tag display position, if requested.
*/
-int Dialogs::InvItem(int *x, int *y, bool update) {
+int Dialogs::invItem(int *x, int *y, bool update) {
int itop, ileft;
int row, col;
int item;
@@ -1966,10 +1966,10 @@ int Dialogs::InvItem(int *x, int *y, bool update) {
return INV_NOICON;
}
-int Dialogs::InvItem(Common::Point &coOrds, bool update) {
+int Dialogs::invItem(Common::Point &coOrds, bool update) {
int x = coOrds.x;
int y = coOrds.y;
- return InvItem(&x, &y, update);
+ return invItem(&x, &y, update);
//coOrds.x = x;
//coOrds.y = y;
}
@@ -1977,7 +1977,7 @@ int Dialogs::InvItem(Common::Point &coOrds, bool update) {
/**
* Returns the id of the icon displayed under the given position.
*/
-int Dialogs::InvItemId(int x, int y) {
+int Dialogs::invItemId(int x, int y) {
int itop, ileft;
int row, col;
int item;
@@ -2141,7 +2141,7 @@ void Dialogs::invBoxes(bool InBody, int curX, int curY) {
cd.box[cd.pointBox].boxType == TOGGLE2) {
pfilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
- _iconArray[HL1] = AddObject(&pfilm->reels[cd.box[cd.pointBox].bi + HIGRAPH], -1);
+ _iconArray[HL1] = addObject(&pfilm->reels[cd.box[cd.pointBox].bi + HIGRAPH], -1);
MultiSetAniXYZ(_iconArray[HL1],
_invD[_activeInv].inventoryX + cd.box[cd.pointBox].xpos,
_invD[_activeInv].inventoryY + cd.box[cd.pointBox].ypos,
@@ -2154,13 +2154,13 @@ void Dialogs::invBoxes(bool InBody, int curX, int curY) {
rotateIndex = cd.box[cd.pointBox].bi;
if (rotateIndex == IX2_LEFT1) {
- _iconArray[HL1] = AddObject(&pfilm->reels[IX2_LEFT2], -1);
+ _iconArray[HL1] = addObject(&pfilm->reels[IX2_LEFT2], -1);
MultiSetAniXYZ(_iconArray[HL1],
_invD[_activeInv].inventoryX + cd.box[cd.pointBox].xpos - ROTX1,
_invD[_activeInv].inventoryY + cd.box[cd.pointBox].ypos,
Z_INV_ICONS + 1);
} else if (rotateIndex == IX2_RIGHT1) {
- _iconArray[HL1] = AddObject(&pfilm->reels[IX2_RIGHT2], -1);
+ _iconArray[HL1] = addObject(&pfilm->reels[IX2_RIGHT2], -1);
MultiSetAniXYZ(_iconArray[HL1],
_invD[_activeInv].inventoryX + cd.box[cd.pointBox].xpos + ROTX1,
_invD[_activeInv].inventoryY + cd.box[cd.pointBox].ypos,
@@ -2180,7 +2180,7 @@ void Dialogs::invLabels(bool InBody, int aniX, int aniY) {
if (!InBody)
index = INV_NOICON;
else {
- index = InvItem(&aniX, &aniY, false);
+ index = invItem(&aniX, &aniY, false);
if (index != INV_NOICON) {
if (index >= _invD[_activeInv].NoofItems)
index = INV_NOICON;
@@ -2195,14 +2195,14 @@ void Dialogs::invLabels(bool InBody, int aniX, int aniY) {
_pointedIcon = INV_NOICON;
} else if (index != _pointedIcon) {
// A new icon is pointed to - run its script with POINTED event
- auto invObj = GetInvObject(index);
+ auto invObj = getInvObject(index);
if (invObj->getScript())
InvTinselEvent(invObj, POINTED, PLR_NOEVENT, index);
_pointedIcon = index;
}
}
-void Dialogs::InvPointEvent(const InventoryObject *invObj, int index) {
+void Dialogs::invPointEvent(const InventoryObject *invObj, int index) {
InvTinselEvent(invObj, POINTED, PLR_NOEVENT, index);
}
@@ -2279,7 +2279,7 @@ void Dialogs::adjustTop() {
* Insert an inventory icon object onto the display list.
*/
OBJECT *Dialogs::addInvObject(int num, const FREEL **pfreel, const FILM **pfilm) {
- auto invObj = GetInvObject(num);
+ auto invObj = getInvObject(num);
const FILM *pFilm = (const FILM *)_vm->_handle->LockMem(invObj->getIconFilm());
const FREEL *pfr = (const FREEL *)&pFilm->reels[0];
const MULTI_INIT *pmi = pfr->GetMultiInit();
@@ -2298,7 +2298,7 @@ OBJECT *Dialogs::addInvObject(int num, const FREEL **pfreel, const FILM **pfilm)
/**
* Create display objects for the displayed icons in an inventory window.
*/
-void Dialogs::FillInInventory() {
+void Dialogs::fillInInventory() {
int Index; // Index into contents[]
int n = 0; // index into iconArray[]
int xpos, ypos;
@@ -2412,7 +2412,7 @@ void Dialogs::addTitle(OBJECT **title, const Common::Rect &rect) {
/**
* Insert a part of the inventory window frame onto the display list.
*/
-OBJECT *Dialogs::AddObject(const FREEL *pfreel, int num) {
+OBJECT *Dialogs::addObject(const FREEL *pfreel, int num) {
const MULTI_INIT *pmi = pfreel->GetMultiInit();
const FRAME *pFrame = pmi->GetFrame();
const IMAGE *pim;
@@ -2447,7 +2447,7 @@ OBJECT *Dialogs::AddObject(const FREEL *pfreel, int num) {
*/
void Dialogs::addSlider(OBJECT **slide, const FILM *pfilm) {
- _slideObject = *slide = AddObject(&pfilm->reels[IX_SLIDE], -1);
+ _slideObject = *slide = addObject(&pfilm->reels[IX_SLIDE], -1);
MultiSetAniXYZ(*slide, MultiRightmost(_rectObject) + ((TinselVersion >= 2) ? NM_SLX : -M_SXOFF + 2),
_invD[_activeInv].inventoryY + _sliderYpos,
Z_INV_MFRAME);
@@ -2533,7 +2533,7 @@ void Dialogs::addBox(int *pi, const int i) {
case ARSGBUT:
pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
- _iconArray[*pi] = AddObject(&pFilm->reels[cd.box[i].bi + NORMGRAPH], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[cd.box[i].bi + NORMGRAPH], -1);
MultiSetAniXYZ(_iconArray[*pi], x, y, Z_INV_BRECT + 1);
*pi += 1;
@@ -2547,7 +2547,7 @@ void Dialogs::addBox(int *pi, const int i) {
if (_vm->_config->_isAmericanEnglishVersion && cd.box[i].bi == FIX_UK)
cd.box[i].bi = FIX_USA;
- _iconArray[*pi] = AddObject(&pFilm->reels[cd.box[i].bi], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[cd.box[i].bi], -1);
MultiSetAniXYZ(_iconArray[*pi], x, y, Z_INV_BRECT + 2);
*pi += 1;
@@ -2557,9 +2557,9 @@ void Dialogs::addBox(int *pi, const int i) {
pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
if (*pival)
- _iconArray[*pi] = AddObject(&pFilm->reels[cd.box[i].bi], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[cd.box[i].bi], -1);
else
- _iconArray[*pi] = AddObject(&pFilm->reels[cd.box[i].bi + 1], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[cd.box[i].bi + 1], -1);
MultiSetAniXYZ(_iconArray[*pi], x, y, Z_INV_BRECT + 1);
*pi += 1;
@@ -2583,7 +2583,7 @@ void Dialogs::addBox(int *pi, const int i) {
pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
cd.box[i].bi = *pival ? IX_TICK1 : IX_CROSS1;
- _iconArray[*pi] = AddObject(&pFilm->reels[cd.box[i].bi + NORMGRAPH], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[cd.box[i].bi + NORMGRAPH], -1);
MultiSetAniXYZ(_iconArray[*pi], x, y, Z_INV_BRECT + 1);
*pi += 1;
@@ -2614,10 +2614,10 @@ void Dialogs::addBox(int *pi, const int i) {
pFilm = (const FILM *)_vm->_handle->LockMem(_hWinParts);
xdisp = SLIDE_RANGE * (*pival) / cd.box[i].w;
- _iconArray[*pi] = AddObject(&pFilm->reels[IX_MDGROOVE], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[IX_MDGROOVE], -1);
MultiSetAniXYZ(_iconArray[*pi], x, y, Z_MDGROOVE);
*pi += 1;
- _iconArray[*pi] = AddObject(&pFilm->reels[IX_MDSLIDER], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[IX_MDSLIDER], -1);
MultiSetAniXYZ(_iconArray[*pi], x + SLIDE_MINX + xdisp, y, Z_MDSLIDER);
assert(_numMdSlides < MAXSLIDES);
_mdSlides[_numMdSlides].num = i;
@@ -2645,12 +2645,12 @@ void Dialogs::addBox(int *pi, const int i) {
// Left one
if (!_noLanguage) {
- _iconArray[*pi] = AddObject(&pFilm->reels[IX2_LEFT1], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[IX2_LEFT1], -1);
MultiSetAniXYZ(_iconArray[*pi], x - ROTX1, y, Z_INV_BRECT + 1);
*pi += 1;
// Right one
- _iconArray[*pi] = AddObject(&pFilm->reels[IX2_RIGHT1], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[IX2_RIGHT1], -1);
MultiSetAniXYZ(_iconArray[*pi], x + ROTX1, y, Z_INV_BRECT + 1);
*pi += 1;
@@ -2676,7 +2676,7 @@ void Dialogs::addBox(int *pi, const int i) {
// Current language's flag
pFilm = (const FILM *)_vm->_handle->LockMem(LanguageFlag(_displayedLanguage));
- _iconArray[*pi] = AddObject(&pFilm->reels[0], -1);
+ _iconArray[*pi] = addObject(&pFilm->reels[0], -1);
MultiSetAniXYZ(_iconArray[*pi], x + FLAGX, y + FLAGY, Z_INV_BRECT + 1);
*pi += 1;
break;
@@ -2686,7 +2686,7 @@ void Dialogs::addBox(int *pi, const int i) {
/**
* Display some boxes.
*/
-void Dialogs::AddBoxes(bool bPosnSlide) {
+void Dialogs::addBoxes(bool bPosnSlide) {
int objCount = NUMHL; // Object count - allow for HL1, HL2 etc.
dumpIconArray();
@@ -2733,7 +2733,7 @@ void Dialogs::AddBoxes(bool bPosnSlide) {
* Display the scroll bar slider.
*/
void Dialogs::addEWSlider(OBJECT **slide, const FILM *pfilm) {
- _slideObject = *slide = AddObject(&pfilm->reels[IX_SLIDE], -1);
+ _slideObject = *slide = addObject(&pfilm->reels[IX_SLIDE], -1);
MultiSetAniXYZ(*slide, _invD[_activeInv].inventoryX + 24 + 127, _sliderYpos, Z_INV_MFRAME);
}
@@ -2751,31 +2751,31 @@ int Dialogs::addExtraWindow(int x, int y, OBJECT **retObj) {
y += (TinselVersion >= 2) ? 38 : 24;
// Draw the four corners
- retObj[n] = AddObject(&pfilm->reels[IX_RTL], -1); // Top left
+ retObj[n] = addObject(&pfilm->reels[IX_RTL], -1); // Top left
MultiSetAniXYZ(retObj[n++], x, y, Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_NTR], -1); // Top right
+ retObj[n] = addObject(&pfilm->reels[IX_NTR], -1); // Top right
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth + 312 : 152), y, Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_BL], -1); // Bottom left
+ retObj[n] = addObject(&pfilm->reels[IX_BL], -1); // Bottom left
MultiSetAniXYZ(retObj[n++], x, y + ((TinselVersion >= 2) ? _TLheight + 208 : 124), Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_BR], -1); // Bottom right
+ retObj[n] = addObject(&pfilm->reels[IX_BR], -1); // Bottom right
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth + 312 : 152),
y + ((TinselVersion >= 2) ? _TLheight + 208 : 124),
Z_INV_MFRAME);
// Draw the edges
- retObj[n] = AddObject(&pfilm->reels[IX_H156], -1); // Top
+ retObj[n] = addObject(&pfilm->reels[IX_H156], -1); // Top
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth : 6), y + NM_TBT, Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_H156], -1); // Bottom
+ retObj[n] = addObject(&pfilm->reels[IX_H156], -1); // Bottom
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth : 6),
y + ((TinselVersion >= 2) ? _TLheight + 208 + _BLheight + NM_BSY : 143),
Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_V104], -1); // Left
+ retObj[n] = addObject(&pfilm->reels[IX_V104], -1); // Left
MultiSetAniXYZ(retObj[n++], x + NM_LSX, y + ((TinselVersion >= 2) ? _TLheight : 20), Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_V104], -1); // Right 1
+ retObj[n] = addObject(&pfilm->reels[IX_V104], -1); // Right 1
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth + 312 + _TRwidth + NM_RSX : 179),
y + ((TinselVersion >= 2) ? _TLheight : 20),
Z_INV_MFRAME);
- retObj[n] = AddObject(&pfilm->reels[IX_V104], -1); // Right 2
+ retObj[n] = addObject(&pfilm->reels[IX_V104], -1); // Right 2
MultiSetAniXYZ(retObj[n++], x + ((TinselVersion >= 2) ? _TLwidth + 312 + _TRwidth + NM_SBL : 188),
y + ((TinselVersion >= 2) ? _TLheight : 20),
Z_INV_MFRAME);
@@ -2784,7 +2784,7 @@ int Dialogs::addExtraWindow(int x, int y, OBJECT **retObj) {
_sliderYpos = _sliderYmin = y + 27;
_sliderYmax = y + 273;
- retObj[n++] = _slideObject = AddObject(&pfilm->reels[IX_SLIDE], -1);
+ retObj[n++] = _slideObject = addObject(&pfilm->reels[IX_SLIDE], -1);
MultiSetAniXYZ(_slideObject,
x + _TLwidth + 320 + _TRwidth - NM_BG_POS_X + NM_BG_SIZ_X - 2,
_sliderYpos,
@@ -2828,7 +2828,7 @@ void Dialogs::constructMainInventory() {
// TODO: Slider, Scrolling
- FillInInventory();
+ fillInInventory();
}
void Dialogs::positionInventory(OBJECT *pMultiObj, int xOffset, int yOffset, int zPosition) {
@@ -2875,7 +2875,7 @@ void Dialogs::constructOtherInventory(int menuId) {
_sliderYpos,
Z_INV_MFRAME - 1);
}
- AddBoxes(true);
+ addBoxes(true);
}
@@ -2942,44 +2942,44 @@ void Dialogs::constructInventory(InventoryType filling) {
}
// Draw the four corners
- retObj[n] = AddObject(&pfilm->reels[_TL], _TL);
+ retObj[n] = addObject(&pfilm->reels[_TL], _TL);
MultiSetAniXYZ(retObj[n], invX, invY, zpos);
n++;
- retObj[n] = AddObject(&pfilm->reels[_TR], _TR);
+ retObj[n] = addObject(&pfilm->reels[_TR], _TR);
MultiSetAniXYZ(retObj[n], invX + _TLwidth + eH, invY, zpos);
n++;
- retObj[n] = AddObject(&pfilm->reels[_BL], _BL);
+ retObj[n] = addObject(&pfilm->reels[_BL], _BL);
MultiSetAniXYZ(retObj[n], invX, invY + _TLheight + eV, zpos);
n++;
- retObj[n] = AddObject(&pfilm->reels[_BR], _BR);
+ retObj[n] = addObject(&pfilm->reels[_BR], _BR);
MultiSetAniXYZ(retObj[n], invX + _TLwidth + eH, invY + _TLheight + eV, zpos);
n++;
// Draw extra Top and bottom parts
if (_invD[_activeInv].NoofHicons > 1) {
// Top side
- retObj[n] = AddObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth, invY + NM_TBT, zpos);
n++;
// Bottom of header box
if (filling == FULL) {
if (TinselVersion >= 2) {
- retObj[n] = AddObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth, invY + NM_TBB, zpos);
n++;
} else {
- retObj[n] = AddObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth, invY + M_TBB + 1, zpos);
n++;
// Extra bits for conversation - hopefully temporary
if (_activeInv == INV_CONV) {
- retObj[n] = AddObject(&pfilm->reels[IX_H26], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_H26], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth - 2, invY + M_TBB + 1, zpos);
n++;
- retObj[n] = AddObject(&pfilm->reels[IX_H52], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_H52], -1);
MultiSetAniXYZ(retObj[n], invX + eH - 10, invY + M_TBB + 1, zpos);
n++;
}
@@ -2987,7 +2987,7 @@ void Dialogs::constructInventory(InventoryType filling) {
}
// Bottom side
- retObj[n] = AddObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[hFillers[_invD[_activeInv].NoofHicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth, invY + _TLheight + eV + _BLheight + NM_BSY, zpos);
n++;
}
@@ -2997,12 +2997,12 @@ void Dialogs::constructInventory(InventoryType filling) {
offx = _TLwidth;
// Top side extra
- retObj[n] = AddObject(&pfilm->reels[IX_H26], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_H26], -1);
MultiSetAniXYZ(retObj[n], invX + offx, invY + NM_TBT, zpos);
n++;
// Bottom side extra
- retObj[n] = AddObject(&pfilm->reels[IX_H26], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_H26], -1);
MultiSetAniXYZ(retObj[n], invX + offx, invY + _TLheight + eV + _BLheight + NM_BSY, zpos);
n++;
}
@@ -3010,13 +3010,13 @@ void Dialogs::constructInventory(InventoryType filling) {
// Draw extra side parts
if (_invD[_activeInv].NoofVicons > 1) {
// Left side
- retObj[n] = AddObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + NM_LSX, invY + _TLheight, zpos);
n++;
// Left side of scroll bar
if (filling == FULL && _activeInv != INV_CONV) {
- retObj[n] = AddObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
if (TinselVersion >= 2)
MultiSetAniXY(retObj[n], invX + _TLwidth + eH + _TRwidth + NM_SBL, invY + _TLheight);
else
@@ -3026,7 +3026,7 @@ void Dialogs::constructInventory(InventoryType filling) {
}
// Right side
- retObj[n] = AddObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
+ retObj[n] = addObject(&pfilm->reels[vFillers[_invD[_activeInv].NoofVicons - 2]], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth + eH + _TRwidth + NM_RSX, invY + _TLheight, zpos);
n++;
}
@@ -3037,12 +3037,12 @@ void Dialogs::constructInventory(InventoryType filling) {
offy = minAmount;
// Left side extra
- retObj[n] = AddObject(&pfilm->reels[IX_V26], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_V26], -1);
MultiSetAniXYZ(retObj[n], invX + NM_LSX, invY + offy, zpos);
n++;
// Right side extra
- retObj[n] = AddObject(&pfilm->reels[IX_V26], -1);
+ retObj[n] = addObject(&pfilm->reels[IX_V26], -1);
MultiSetAniXYZ(retObj[n], invX + _TLwidth + eH + _TRwidth + NM_RSX, invY + offy, zpos);
n++;
}
@@ -3083,7 +3083,7 @@ void Dialogs::constructInventory(InventoryType filling) {
addSlider(&retObj[n++], pfilm);
}
- FillInInventory();
+ fillInInventory();
} else if (filling == CONF) {
if (TinselVersion <= 1) {
rect = &retObj[n++];
@@ -3097,7 +3097,7 @@ void Dialogs::constructInventory(InventoryType filling) {
addExtraWindow(invX, invY, &retObj[n]);
}
- AddBoxes(true);
+ addBoxes(true);
}
assert(n < MAX_WCOMP); // added more parts than we can handle!
@@ -3168,9 +3168,9 @@ void Dialogs::alterCursor(int num) {
}
/**
- * InvCursor
+ * invCursor
*/
-void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
+void Dialogs::invCursor(InvCursorFN fn, int CurX, int CurY) {
int area; // The part of the window the cursor is over
bool restoreMain = false;
@@ -3181,7 +3181,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
switch (fn) {
case IC_DROP:
_invCursor = IC_NORMAL;
- InvCursor(IC_AREA, CurX, CurY);
+ invCursor(IC_AREA, CurX, CurY);
break;
case IC_AREA:
@@ -3277,7 +3277,7 @@ void Dialogs::InvCursor(InvCursorFN fn, int CurX, int CurY) {
/******************** Conversation specific functions *********************/
/**************************************************************************/
-void Dialogs::ConvAction(int index) {
+void Dialogs::convAction(int index) {
assert(_activeInv == INV_CONV); // not conv. window!
MOVER *pMover = (TinselVersion >= 2) ? GetMover(_vm->_actor->GetLeadId()) : NULL;
@@ -3326,7 +3326,7 @@ void Dialogs::ConvAction(int index) {
*
* Note: ano may (will probably) be set when it's a polygon.
*/
-void Dialogs::SetConvDetails(CONV_PARAM fn, HPOLYGON hPoly, int ano) {
+void Dialogs::setConvDetails(CONV_PARAM fn, HPOLYGON hPoly, int ano) {
_thisConvFn = fn;
_thisConvPoly = hPoly;
_thisConvActor = ano;
@@ -3347,7 +3347,7 @@ void Dialogs::SetConvDetails(CONV_PARAM fn, HPOLYGON hPoly, int ano) {
/**
* Add an icon to the permanent conversation list.
*/
-void Dialogs::PermaConvIcon(int icon, bool bEnd) {
+void Dialogs::permaConvIcon(int icon, bool bEnd) {
int i;
// See if it's already there
@@ -3385,21 +3385,21 @@ void Dialogs::convPos(int fn) {
_invD[INV_CONV].inventoryY = 150;
}
-void Dialogs::ConvPoly(HPOLYGON hPoly) {
+void Dialogs::convPoly(HPOLYGON hPoly) {
_thisConvPoly = hPoly;
}
-int Dialogs::GetIcon() {
+int Dialogs::getIcon() {
return _thisIcon;
}
-void Dialogs::CloseDownConv() {
+void Dialogs::closeDownConv() {
if (_inventoryState == ACTIVE_INV && _activeInv == INV_CONV) {
- KillInventory();
+ killInventory();
}
}
-void Dialogs::HideConversation(bool bHide) {
+void Dialogs::hideConversation(bool bHide) {
int aniX, aniY;
int i;
@@ -3551,7 +3551,7 @@ void Dialogs::HideConversation(bool bHide) {
}
}
-bool Dialogs::ConvIsHidden() {
+bool Dialogs::convIsHidden() {
return _InventoryHidden;
}
@@ -3562,7 +3562,7 @@ bool Dialogs::ConvIsHidden() {
/**
* Start up an inventory window.
*/
-void Dialogs::PopUpInventory(int invno, int menuId) {
+void Dialogs::popUpInventory(int invno, int menuId) {
assert(invno == INV_1 || invno == INV_2 || invno == INV_CONV || invno == INV_CONF || invno == INV_MENU); // Trying to open illegal inventory
if (_inventoryState == IDLE_INV) {
@@ -3645,7 +3645,7 @@ void Dialogs::setMenuGlobals(CONFINIT *ci) {
/**
* PopupConf
*/
-void Dialogs::OpenMenu(CONFTYPE menuType) {
+void Dialogs::openMenu(CONFTYPE menuType) {
int curX, curY;
// In the DW 1 demo, don't allow any menu to be opened
@@ -3796,35 +3796,35 @@ void Dialogs::OpenMenu(CONFTYPE menuType) {
if (_heldItem != INV_NOICON)
_vm->_cursor->DelAuxCursor(); // no longer aux cursor
- PopUpInventory(INV_CONF, menuType);
+ popUpInventory(INV_CONF, menuType);
// Make initial box selections if appropriate
if (menuType == SAVE_MENU || menuType == LOAD_MENU || menuType == HOPPER_MENU1 || menuType == HOPPER_MENU2)
- Select(0, false);
+ select(0, false);
else if (menuType == SUBTITLES_MENU) {
if (_vm->getFeatures() & GF_USE_3FLAGS) {
// VERY quick dirty bodges
if (_vm->_config->_language == TXT_FRENCH)
- Select(0, false);
+ select(0, false);
else if (_vm->_config->_language == TXT_GERMAN)
- Select(1, false);
+ select(1, false);
else
- Select(2, false);
+ select(2, false);
} else if (_vm->getFeatures() & GF_USE_4FLAGS) {
- Select(_vm->_config->_language - 1, false);
+ select(_vm->_config->_language - 1, false);
} else if (_vm->getFeatures() & GF_USE_5FLAGS) {
- Select(_vm->_config->_language, false);
+ select(_vm->_config->_language, false);
}
}
_vm->_cursor->GetCursorXY(&curX, &curY, false);
- InvCursor(IC_AREA, curX, curY);
+ invCursor(IC_AREA, curX, curY);
}
/**
* Close down an inventory window.
*/
-void Dialogs::KillInventory() {
+void Dialogs::killInventory() {
if (_objArray[0] != NULL) {
dumpObjArray();
dumpDobjArray();
@@ -3846,13 +3846,13 @@ void Dialogs::KillInventory() {
if (_reOpenMenu) {
_reOpenMenu = false;
- OpenMenu(MAIN_MENU);
+ openMenu(MAIN_MENU);
// Write config changes
_vm->_config->writeToDisk();
} else if (_activeInv == INV_CONF)
- InventoryIconCursor(false);
+ inventoryIconCursor(false);
if (TinselVersion >= 2)
// Pump up the volume
@@ -3873,9 +3873,9 @@ void Dialogs::closeInventory() {
// If conversation, this is a closeing event
if (_activeInv == INV_CONV)
- ConvAction(INV_CLOSEICON);
+ convAction(INV_CLOSEICON);
- KillInventory();
+ killInventory();
_vm->_cursor->RestoreMainCursor();
}
@@ -4003,7 +4003,7 @@ void Dialogs::slideCSlider(int y, SSFN fn) {
// If extraBase has changed...
if (fc != cd.extraBase) {
- AddBoxes(false);
+ addBoxes(false);
fc -= cd.extraBase;
cd.selBox += fc;
@@ -4013,7 +4013,7 @@ void Dialogs::slideCSlider(int y, SSFN fn) {
else if (cd.selBox >= NUM_RGROUP_BOXES)
cd.selBox = NUM_RGROUP_BOXES - 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
break;
@@ -4029,7 +4029,7 @@ void Dialogs::slideCSlider(int y, SSFN fn) {
* Gets called at the start and end of a drag on a mixing desk slider,
* and upon x-movement during such a drag.
*/
-void Dialogs::SlideMSlider(int x, SSFN fn) {
+void Dialogs::slideMSlider(int x, SSFN fn) {
static int newX = 0; // FIXME: Avoid non-const global vars
int gotoX;
int index, i;
@@ -4102,9 +4102,9 @@ void Dialogs::SlideMSlider(int x, SSFN fn) {
break;
case S_END: // End of a drag on the slider
- AddBoxes(false); // Might change position slightly
+ addBoxes(false); // Might change position slightly
if (_activeInv == INV_CONF && cd.box == subtitlesBox)
- Select(_vm->_config->_language, false);
+ select(_vm->_config->_language, false);
break;
default:
@@ -4210,7 +4210,7 @@ void Dialogs::gettingNarrower() {
}
/**
- * Called from Xmovement()/Ymovement() during re-sizing.
+ * Called from xMovement()/yMovement() during re-sizing.
*/
void Dialogs::changeingSize() {
/* Make it taller or shorter if necessary. */
@@ -4231,7 +4231,7 @@ void Dialogs::changeingSize() {
/**
* Called from cursor module when cursor moves while inventory is up.
*/
-void Dialogs::Xmovement(int x) {
+void Dialogs::xMovement(int x) {
int aniX, aniY;
int i;
@@ -4263,11 +4263,11 @@ void Dialogs::Xmovement(int x) {
case ID_NONE:
_vm->_cursor->GetCursorXY(&aniX, &aniY, false);
- InvCursor(IC_AREA, aniX, aniY);
+ invCursor(IC_AREA, aniX, aniY);
break;
case ID_MDCONT:
- SlideMSlider(x, S_SLIDE);
+ slideMSlider(x, S_SLIDE);
break;
default:
@@ -4279,7 +4279,7 @@ void Dialogs::Xmovement(int x) {
/**
* Called from cursor module when cursor moves while inventory is up.
*/
-void Dialogs::Ymovement(int y) {
+void Dialogs::yMovement(int y) {
int aniX, aniY;
int i;
@@ -4319,7 +4319,7 @@ void Dialogs::Ymovement(int y) {
case ID_NONE:
_vm->_cursor->GetCursorXY(&aniX, &aniY, false);
- InvCursor(IC_AREA, aniX, aniY);
+ invCursor(IC_AREA, aniX, aniY);
break;
default:
@@ -4350,7 +4350,7 @@ void Dialogs::invDragStart() {
} else if (whichbox > 0 && (whichbox & IS_MASK)) {
_invDragging = ID_MDCONT; // Mixing desk control
cd.selBox = whichbox;
- SlideMSlider(0, S_START);
+ slideMSlider(0, S_START);
}
return;
}
@@ -4461,7 +4461,7 @@ void Dialogs::invDragEnd() {
} else if (_invDragging == ID_CSLIDE) {
; // No action
} else if (_invDragging == ID_MDCONT) {
- SlideMSlider(0, S_END);
+ slideMSlider(0, S_END);
} else if (_invDragging == ID_MOVE) {
; // No action
} else {
@@ -4483,7 +4483,7 @@ void Dialogs::invDragEnd() {
}
// Cursor could well now be inappropriate
- InvCursor(IC_AREA, curX, curY);
+ invCursor(IC_AREA, curX, curY);
_xChange = _yChange = 0; // Probably no need, but does no harm!
}
@@ -4492,19 +4492,19 @@ bool Dialogs::menuDown(int lines) {
if (cd.box == loadBox || cd.box == saveBox) {
if (cd.extraBase < MAX_SAVED_FILES - NUM_RGROUP_BOXES) {
firstFile(cd.extraBase + lines);
- AddBoxes(true);
+ addBoxes(true);
return true;
}
} else if (cd.box == hopperBox1) {
if (cd.extraBase < _numScenes - NUM_RGROUP_BOXES) {
firstScene(cd.extraBase + lines);
- AddBoxes(true);
+ addBoxes(true);
return true;
}
} else if (cd.box == hopperBox2) {
if (cd.extraBase < _numEntries - NUM_RGROUP_BOXES) {
firstEntry(cd.extraBase + lines);
- AddBoxes(true);
+ addBoxes(true);
return true;
}
}
@@ -4522,7 +4522,7 @@ bool Dialogs::menuUp(int lines) {
else
return false;
- AddBoxes(true);
+ addBoxes(true);
return true;
}
return false;
@@ -4532,7 +4532,7 @@ void Dialogs::menuRollDown() {
if (menuDown(1)) {
if (cd.selBox > 0)
cd.selBox--;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
}
@@ -4540,21 +4540,21 @@ void Dialogs::menuRollUp() {
if (menuUp(1)) {
if (cd.selBox < NUM_RGROUP_BOXES - 1)
cd.selBox++;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
}
void Dialogs::menuPageDown() {
if (menuDown(NUM_RGROUP_BOXES - 1)) {
cd.selBox = NUM_RGROUP_BOXES - 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
}
void Dialogs::menuPageUp() {
if (menuUp(NUM_RGROUP_BOXES - 1)) {
cd.selBox = 0;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
}
@@ -4597,7 +4597,7 @@ void Dialogs::menuAction(int i, bool dbl) {
case FLIP:
if (dbl) {
*(cd.box[i].ival) ^= 1; // XOR with true
- AddBoxes(false);
+ addBoxes(false);
}
break;
@@ -4616,19 +4616,19 @@ void Dialogs::menuAction(int i, bool dbl) {
// Already highlighted
switch (cd.box[i].boxFunc) {
case SAVEGAME:
- KillInventory();
+ killInventory();
invSaveGame();
break;
case LOADGAME:
- KillInventory();
+ killInventory();
invLoadGame();
break;
case HOPPER2:
- KillInventory();
- OpenMenu(HOPPER_MENU2);
+ killInventory();
+ openMenu(HOPPER_MENU2);
break;
case BF_CHANGESCENE:
- KillInventory();
+ killInventory();
hopAction();
freeSceneHopper();
break;
@@ -4636,16 +4636,16 @@ void Dialogs::menuAction(int i, bool dbl) {
break;
}
} else {
- Select(i, false);
+ select(i, false);
}
break;
case FRGROUP:
if (dbl) {
- Select(i, false);
+ select(i, false);
languageChange();
} else {
- Select(i, false);
+ select(i, false);
}
break;
@@ -4683,36 +4683,36 @@ void Dialogs::confActionSpecial(int i) {
else if (cd.box == hopperBox2)
firstEntry(cd.extraBase - 1);
- AddBoxes(true);
+ addBoxes(true);
if (cd.selBox < NUM_RGROUP_BOXES - 1)
cd.selBox += 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
break;
case IB_DOWN: // Scroll down
if ((cd.box == loadBox) || (cd.box == saveBox)) {
if (cd.extraBase < MAX_SAVED_FILES - NUM_RGROUP_BOXES) {
firstFile(cd.extraBase + 1);
- AddBoxes(true);
+ addBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
} else if (cd.box == hopperBox1) {
if (cd.extraBase < _numScenes - NUM_RGROUP_BOXES) {
firstScene(cd.extraBase + 1);
- AddBoxes(true);
+ addBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
} else if (cd.box == hopperBox2) {
if (cd.extraBase < _numEntries - NUM_RGROUP_BOXES) {
firstEntry(cd.extraBase + 1);
- AddBoxes(true);
+ addBoxes(true);
if (cd.selBox)
cd.selBox -= 1;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
}
}
break;
@@ -4728,7 +4728,7 @@ void Dialogs::confActionSpecial(int i) {
}
// SLIDE_UP and SLIDE_DOWN on d click??????
-void Dialogs::InvPutDown(int index) {
+void Dialogs::invPutDown(int index) {
int aniX, aniY;
// index is the drop position
int hiIndex; // Current position of held item (if in)
@@ -4751,8 +4751,8 @@ void Dialogs::InvPutDown(int index) {
_invD[_activeInv].NoofItems++;
// Don't leave it in the other inventory!
- if (InventoryPos(_heldItem) != INV_HELDNOTIN)
- RemFromInventory(_activeInv == INV_1 ? INV_2 : INV_1, _heldItem);
+ if (inventoryPos(_heldItem) != INV_HELDNOTIN)
+ remFromInventory(_activeInv == INV_1 ? INV_2 : INV_1, _heldItem);
} else {
// No room at the inn!
return;
@@ -4775,7 +4775,7 @@ void Dialogs::InvPutDown(int index) {
_vm->_cursor->DelAuxCursor();
_vm->_cursor->RestoreMainCursor();
_vm->_cursor->GetCursorXY(&aniX, &aniY, false);
- InvCursor(IC_DROP, aniX, aniY);
+ invCursor(IC_DROP, aniX, aniY);
}
void Dialogs::invPickup(int index) {
@@ -4787,7 +4787,7 @@ void Dialogs::invPickup(int index) {
if (_heldItem == INV_NOICON && _invD[_activeInv].contents[index] &&
((TinselVersion <= 1) || _invD[_activeInv].contents[index] != _heldItem)) {
// Pick-up
- auto invObj = GetInvObject(_invD[_activeInv].contents[index]);
+ auto invObj = getInvObject(_invD[_activeInv].contents[index]);
_thisIcon = _invD[_activeInv].contents[index];
if (TinselVersion >= 2)
InvTinselEvent(invObj, PICKUP, INV_PICKUP, index);
@@ -4796,7 +4796,7 @@ void Dialogs::invPickup(int index) {
} else if (_heldItem != INV_NOICON) {
// Put-down
- auto invObj = GetInvObject(_heldItem);
+ auto invObj = getInvObject(_heldItem);
// If DROPCODE set, send event, otherwise it's a putdown
if (invObj->hasAttribute(InvObjAttr::IO_DROPCODE) && invObj->getScript())
@@ -4804,7 +4804,7 @@ void Dialogs::invPickup(int index) {
else if (!(invObj->hasAttribute(InvObjAttr::IO_ONLYINV1) && _activeInv != INV_1) && !(invObj->hasAttribute(InvObjAttr::IO_ONLYINV2) && _activeInv != INV_2)) {
if (TinselVersion >= 2)
- InvPutDown(index);
+ invPutDown(index);
else
CoroScheduler.createProcess(PID_TCODE, InvPdProcess, &index, sizeof(index));
}
@@ -4820,10 +4820,10 @@ void Dialogs::invWalkTo(const Common::Point &coOrds) {
switch (invArea(coOrds.x, coOrds.y)) {
case I_NOTIN:
if (_activeInv == INV_CONV)
- ConvAction(INV_CLOSEICON);
+ convAction(INV_CLOSEICON);
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
freeSceneHopper();
- KillInventory();
+ killInventory();
break;
case I_SLIDE_UP:
@@ -4867,27 +4867,27 @@ void Dialogs::invWalkTo(const Common::Point &coOrds) {
menuAction(whichMenuBox(coOrds.x, coOrds.y, false), false);
} else {
Common::Point pt = coOrds;
- i = InvItem(pt, false);
+ i = invItem(pt, false);
// To cater for drop in dead space between icons,
// look 1 pixel right, then 1 down, then 1 right and down.
if (i == INV_NOICON && _heldItem != INV_NOICON &&
(_activeInv == INV_1 || _activeInv == INV_2)) {
pt.x += 1; // 1 to the right
- i = InvItem(pt, false);
+ i = invItem(pt, false);
if (i == INV_NOICON) {
pt.x -= 1; // 1 down
pt.y += 1;
- i = InvItem(pt, false);
+ i = invItem(pt, false);
if (i == INV_NOICON) {
pt.x += 1; // 1 down-right
- i = InvItem(pt, false);
+ i = invItem(pt, false);
}
}
}
if (_activeInv == INV_CONV) {
- ConvAction(i);
+ convAction(i);
} else
invPickup(i);
}
@@ -4912,13 +4912,13 @@ void Dialogs::invAction() {
if (!_InventoryHidden)
menuAction(whichMenuBox(aniX, aniY, false), true);
} else if (_activeInv == INV_CONV) {
- index = InvItem(&aniX, &aniY, false);
- ConvAction(index);
+ index = invItem(&aniX, &aniY, false);
+ convAction(index);
} else {
- index = InvItem(&aniX, &aniY, false);
+ index = invItem(&aniX, &aniY, false);
if (index != INV_NOICON) {
if (_invD[_activeInv].contents[index] && _invD[_activeInv].contents[index] != _heldItem) {
- invObj = GetInvObject(_invD[_activeInv].contents[index]);
+ invObj = getInvObject(_invD[_activeInv].contents[index]);
if (TinselVersion >= 2)
_thisIcon = _invD[_activeInv].contents[index];
if ((TinselVersion >= 2) || (invObj->getScript()))
@@ -4988,10 +4988,10 @@ void Dialogs::invLook(const Common::Point &coOrds) {
switch (invArea(pt.x, pt.y)) {
case I_BODY:
- index = InvItem(pt, false);
+ index = invItem(pt, false);
if (index != INV_NOICON) {
if (_invD[_activeInv].contents[index] && _invD[_activeInv].contents[index] != _heldItem) {
- auto invObj = GetInvObject(_invD[_activeInv].contents[index]);
+ auto invObj = getInvObject(_invD[_activeInv].contents[index]);
if (invObj->getScript())
InvTinselEvent(invObj, LOOK, INV_LOOK, index);
}
@@ -5000,8 +5000,8 @@ void Dialogs::invLook(const Common::Point &coOrds) {
case I_NOTIN:
if (_activeInv == INV_CONV)
- ConvAction(INV_CLOSEICON);
- KillInventory();
+ convAction(INV_CLOSEICON);
+ killInventory();
break;
default:
@@ -5013,7 +5013,7 @@ void Dialogs::invLook(const Common::Point &coOrds) {
/********************* Incoming events ************************************/
/**************************************************************************/
-void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
+void Dialogs::eventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (_InventoryHidden)
return;
@@ -5026,7 +5026,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
switch (pEvent) {
case PLR_PROV_WALKTO:
- if (MenuActive()) {
+ if (menuActive()) {
ProcessedProvisional();
invWalkTo(coOrds);
}
@@ -5037,7 +5037,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case INV_LOOK: // PLR_SRIGHT
- if (MenuActive())
+ if (menuActive())
invWalkTo(coOrds);
else
invLook(coOrds);
@@ -5050,7 +5050,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_DRAG1_START: // Left drag start
- if (TinselVersion < 3 || _inventoryState == ACTIVE_INV) // InventoryActive, but not Notebook
+ if (TinselVersion < 3 || _inventoryState == ACTIVE_INV) // inventoryActive, but not Notebook
invDragStart();
break;
@@ -5059,7 +5059,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_ESCAPE:
- if (MenuActive()) {
+ if (menuActive()) {
if (cd.box != optionBox && cd.box != hopperBox1 && cd.box != hopperBox2)
_reOpenMenu = true;
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
@@ -5120,9 +5120,9 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
else
break;
- AddBoxes(true);
+ addBoxes(true);
cd.selBox = 0;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
} else {
// Inventory window
_invD[_activeInv].FirstDisp = 0;
@@ -5142,9 +5142,9 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
else
break;
- AddBoxes(true);
+ addBoxes(true);
cd.selBox = 0;
- Select(cd.selBox, true);
+ select(cd.selBox, true);
} else {
// Inventory window
_invD[_activeInv].FirstDisp = _invD[_activeInv].NoofItems - _invD[_activeInv].NoofHicons * _invD[_activeInv].NoofVicons;
@@ -5162,7 +5162,7 @@ void Dialogs::EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
/************************* Odds and Ends **********************************/
/**************************************************************************/
-const FILM *Dialogs::GetObjectFilm(int object) const {
+const FILM *Dialogs::getObjectFilm(int object) const {
return (const FILM*)_vm->_handle->LockMem(_invFilms[getObjectIndex(object)]);
}
@@ -5170,7 +5170,7 @@ const FILM *Dialogs::GetObjectFilm(int object) const {
* Called from Glitter function invdepict()
* Changes (permanently) the animation film for that object.
*/
-void Dialogs::SetObjectFilm(int object, SCNHANDLE hFilm) {
+void Dialogs::setObjectFilm(int object, SCNHANDLE hFilm) {
_invObjects->SetObjectFilm(object, hFilm);
if (TinselVersion == 3) {
@@ -5218,7 +5218,7 @@ void Dialogs::syncInvInfo(Common::Serializer &s) {
}
// Let the debugger know all the available clues.
-Common::Array<int> Dialogs::GetAllNotebookClues() const {
+Common::Array<int> Dialogs::getAllNotebookClues() const {
Common::Array<int> clues;
for (int i = 0; i < _invObjects->numObjects(); i++) {
auto obj = _invObjects->GetObjectByIndex(i);
@@ -5238,7 +5238,7 @@ Common::Array<int> Dialogs::GetAllNotebookClues() const {
* its id, animation film and Glitter script.
*/
// Note: the SCHANDLE type here has been changed to a void*
-void Dialogs::RegisterIcons(void *cptr, int num) {
+void Dialogs::registerIcons(void *cptr, int num) {
int numObjects = num;
_invObjects = InstantiateInventoryObjects((const byte*)cptr, numObjects);
if (TinselVersion >= 2) {
@@ -5257,7 +5257,7 @@ void Dialogs::RegisterIcons(void *cptr, int num) {
for (int i = 0; i < numObjects; i++) {
auto pio = _invObjects->GetObjectByIndex(i);
if (pio->hasAttribute(InvObjAttr::PERMACONV))
- PermaConvIcon(pio->getId(), pio->hasAttribute(InvObjAttr::CONVENDITEM));
+ permaConvIcon(pio->getId(), pio->hasAttribute(InvObjAttr::CONVENDITEM));
_invFilms[i] = pio->getIconFilm();
}
@@ -5431,7 +5431,7 @@ void Dialogs::idec_invMain(SCNHANDLE text, int MaxContents) {
/**
* Called from Glitter function 'GetInvLimit()'
*/
-int Dialogs::InvGetLimit(int invno) {
+int Dialogs::invGetLimit(int invno) {
assert(invno == INV_1 || invno == INV_2); // only INV_1 and INV_2 supported
return _invD[invno].MaxInvObj;
@@ -5440,7 +5440,7 @@ int Dialogs::InvGetLimit(int invno) {
/**
* Called from Glitter function 'SetInvLimit()'
*/
-void Dialogs::InvSetLimit(int invno, int MaxContents) {
+void Dialogs::invSetLimit(int invno, int MaxContents) {
assert(invno == INV_1 || invno == INV_2); // only INV_1 and INV_2 supported
assert(MaxContents >= _invD[invno].NoofItems); // can't reduce maximum contents below current contents
@@ -5453,7 +5453,7 @@ void Dialogs::InvSetLimit(int invno, int MaxContents) {
/**
* Called from Glitter function 'SetInvSize()'
*/
-void Dialogs::InvSetSize(int invno, int MinWidth, int MinHeight,
+void Dialogs::invSetSize(int invno, int MinWidth, int MinHeight,
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight) {
assert(invno == INV_1 || invno == INV_2); // only INV_1 and INV_2 supported
@@ -5480,83 +5480,83 @@ void Dialogs::InvSetSize(int invno, int MinWidth, int MinHeight,
/**************************************************************************/
-bool Dialogs::IsTopWindow() {
+bool Dialogs::isTopWindow() {
return (_inventoryState == BOGUS_INV);
}
-bool Dialogs::MenuActive() {
+bool Dialogs::menuActive() {
return (_inventoryState == ACTIVE_INV && _activeInv == INV_CONF);
}
-bool Dialogs::IsConvWindow() {
+bool Dialogs::isConvWindow() {
return (_inventoryState == ACTIVE_INV && _activeInv == INV_CONV);
}
-void Dialogs::CallFunction(BFUNC boxFunc) {
+void Dialogs::callFunction(BFUNC boxFunc) {
switch (boxFunc) {
case SAVEGAME:
- KillInventory();
+ killInventory();
invSaveGame();
break;
case LOADGAME:
- KillInventory();
+ killInventory();
invLoadGame();
break;
case IQUITGAME:
_vm->quitGame();
break;
case CLOSEWIN:
- KillInventory();
+ killInventory();
if ((cd.box == hopperBox1) || (cd.box == hopperBox2))
freeSceneHopper();
break;
case OPENLOAD:
- KillInventory();
- OpenMenu(LOAD_MENU);
+ killInventory();
+ openMenu(LOAD_MENU);
break;
case OPENSAVE:
- KillInventory();
- OpenMenu(SAVE_MENU);
+ killInventory();
+ openMenu(SAVE_MENU);
break;
case OPENREST:
- KillInventory();
- OpenMenu(RESTART_MENU);
+ killInventory();
+ openMenu(RESTART_MENU);
break;
case OPENSOUND:
- KillInventory();
- OpenMenu(SOUND_MENU);
+ killInventory();
+ openMenu(SOUND_MENU);
break;
case OPENCONT:
- KillInventory();
- OpenMenu(CONTROLS_MENU);
+ killInventory();
+ openMenu(CONTROLS_MENU);
break;
#ifndef JAPAN
case OPENSUBT:
- KillInventory();
- OpenMenu(SUBTITLES_MENU);
+ killInventory();
+ openMenu(SUBTITLES_MENU);
break;
#endif
case OPENQUIT:
- KillInventory();
- OpenMenu(QUIT_MENU);
+ killInventory();
+ openMenu(QUIT_MENU);
break;
case INITGAME:
- KillInventory();
+ killInventory();
FnRestartGame();
break;
case CLANG:
if (!languageChange())
- KillInventory();
+ killInventory();
break;
case RLANG:
- KillInventory();
+ killInventory();
break;
case HOPPER2:
- _vm->_dialogs->KillInventory();
- _vm->_dialogs->OpenMenu(HOPPER_MENU2);
+ _vm->_dialogs->killInventory();
+ _vm->_dialogs->openMenu(HOPPER_MENU2);
break;
case BF_CHANGESCENE:
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
_vm->_dialogs->hopAction();
_vm->_dialogs->freeSceneHopper();
break;
@@ -5565,29 +5565,29 @@ void Dialogs::CallFunction(BFUNC boxFunc) {
}
}
-const FILM *Dialogs::GetWindowData() {
+const FILM *Dialogs::getWindowData() {
return (const FILM *)_vm->_handle->LockMem(_hWinParts);
}
-void Dialogs::Redraw() {
- if (DisplayObjectsActive()) {
- if (_ItemsChanged && !ConfigurationIsActive() && !InventoryIsHidden()) {
- FillInInventory();
+void Dialogs::redraw() {
+ if (displayObjectsActive()) {
+ if (_ItemsChanged && !configurationIsActive() && !inventoryIsHidden()) {
+ fillInInventory();
// Needed when clicking on scroll bar.
int curX, curY;
_vm->_cursor->GetCursorXY(&curX, &curY, false);
- InvCursor(IC_AREA, curX, curY);
+ invCursor(IC_AREA, curX, curY);
_ItemsChanged = false;
}
- if (!ConfigurationIsActive()) {
+ if (!configurationIsActive()) {
for (int i = 0; i < MAX_ICONS; i++) {
if (_iconArray[i] != NULL)
StepAnimScript(&_iconAnims[i]);
}
}
- if (IsMixingDeskControl()) {
+ if (isMixingDeskControl()) {
// Mixing desk control
int sval, index, *pival;
@@ -5606,7 +5606,7 @@ void Dialogs::Redraw() {
}
if (sval != *pival) {
- SlideMSlider(0, (cd.selBox & IS_RIGHT) ? S_TIMEUP : S_TIMEDN);
+ slideMSlider(0, (cd.selBox & IS_RIGHT) ? S_TIMEUP : S_TIMEDN);
}
}
}
@@ -5619,7 +5619,7 @@ void Dialogs::Redraw() {
bool Dialogs::IsConvAndNotMove() {
// TODO: Ensure that the used global is correct
// If this is the right mapping, the variable is reversed in Noir
- return IsConvWindow() && !_bMoveOnUnHide;
+ return isConvWindow() && !_bMoveOnUnHide;
}
/**************************************************************************/
@@ -5640,7 +5640,7 @@ static void InvPdProcess(CORO_PARAM, const void *param) {
// get the stuff copied to process when it was created
const int *pindex = (const int *)param;
- _vm->_dialogs->InvPutDown(*pindex);
+ _vm->_dialogs->invPutDown(*pindex);
CORO_END_CODE;
}
@@ -5656,12 +5656,12 @@ static void ButtonPress(CORO_PARAM, CONFBOX *box) {
assert(box->boxType == AAGBUT || box->boxType == ARSGBUT);
// Replace highlight image with normal image
- pfilm = _vm->_dialogs->GetWindowData();
+ pfilm = _vm->_dialogs->getWindowData();
MultiDeleteObjectIfExists(FIELD_STATUS, &_vm->_dialogs->_iconArray[HL1]);
- pfilm = _vm->_dialogs->GetWindowData();
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + NORMGRAPH], -1);
- MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ pfilm = _vm->_dialogs->getWindowData();
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + NORMGRAPH], -1);
+ MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
// Hold normal image for 1 frame
@@ -5670,11 +5670,11 @@ static void ButtonPress(CORO_PARAM, CONFBOX *box) {
return;
// Replace normal image with depresses image
- pfilm = _vm->_dialogs->GetWindowData();
+ pfilm = _vm->_dialogs->getWindowData();
MultiDeleteObject(_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_dialogs->_iconArray[HL1]);
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
- MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
+ MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
// Hold depressed image for 2 frames
@@ -5683,11 +5683,11 @@ static void ButtonPress(CORO_PARAM, CONFBOX *box) {
return;
// Replace depressed image with normal image
- pfilm = _vm->_dialogs->GetWindowData();
+ pfilm = _vm->_dialogs->getWindowData();
MultiDeleteObject(_vm->_bg->GetPlayfieldList(FIELD_STATUS), _vm->_dialogs->_iconArray[HL1]);
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + NORMGRAPH], -1);
- MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + NORMGRAPH], -1);
+ MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1], _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
CORO_SLEEP(1);
@@ -5710,15 +5710,15 @@ static void ButtonToggle(CORO_PARAM, CONFBOX *box) {
// Hold normal image for 1 frame
CORO_SLEEP(1);
- if (!_vm->_dialogs->InventoryIsActive())
+ if (!_vm->_dialogs->inventoryIsActive())
return;
// Add depressed image
- pfilm = _vm->_dialogs->GetWindowData();
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
+ pfilm = _vm->_dialogs->getWindowData();
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1],
- _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
// Hold depressed image for 1 frame
@@ -5729,18 +5729,18 @@ static void ButtonToggle(CORO_PARAM, CONFBOX *box) {
// Toggle state
(*box->ival) = *(box->ival) ^ 1; // XOR with true
box->bi = *(box->ival) ? IX_TICK1 : IX_CROSS1;
- _vm->_dialogs->AddBoxes(false);
+ _vm->_dialogs->addBoxes(false);
// Keep highlight (e.g. flag)
if (cd.selBox != NOBOX)
- _vm->_dialogs->Select(cd.selBox, true);
+ _vm->_dialogs->select(cd.selBox, true);
// New state, depressed image
- pfilm = _vm->_dialogs->GetWindowData();
+ pfilm = _vm->_dialogs->getWindowData();
MultiDeleteObjectIfExists(FIELD_STATUS, &_vm->_dialogs->_iconArray[HL1]);
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + DOWNGRAPH], -1);
MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1],
- _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
// Hold new depressed image for 1 frame
@@ -5753,16 +5753,16 @@ static void ButtonToggle(CORO_PARAM, CONFBOX *box) {
// Hold normal image for 1 frame
CORO_SLEEP(1);
- if (!_vm->_dialogs->InventoryIsActive())
+ if (!_vm->_dialogs->inventoryIsActive())
return;
// New state, highlighted
- pfilm = _vm->_dialogs->GetWindowData();
+ pfilm = _vm->_dialogs->getWindowData();
MultiDeleteObjectIfExists(FIELD_STATUS, &_vm->_dialogs->_iconArray[HL1]);
- _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->AddObject(&pfilm->reels[box->bi + HIGRAPH], -1);
+ _vm->_dialogs->_iconArray[HL1] = _vm->_dialogs->addObject(&pfilm->reels[box->bi + HIGRAPH], -1);
MultiSetAniXYZ(_vm->_dialogs->_iconArray[HL1],
- _vm->_dialogs->CurrentInventoryX() + box->xpos,
- _vm->_dialogs->CurrentInventoryY() + box->ypos,
+ _vm->_dialogs->currentInventoryX() + box->xpos,
+ _vm->_dialogs->currentInventoryY() + box->ypos,
Z_INV_ICONS + 1);
CORO_END_CODE;
@@ -5784,14 +5784,14 @@ extern void InventoryProcess(CORO_PARAM, const void *) {
while (1) {
CORO_SLEEP(1); // allow scheduling
- _vm->_dialogs->Redraw();
+ _vm->_dialogs->redraw();
if (_vm->_dialogs->_buttonEffect.bButAnim) {
assert(_vm->_dialogs->_buttonEffect.box);
if (_vm->_dialogs->_buttonEffect.press) {
if (_vm->_dialogs->_buttonEffect.box->boxType == AAGBUT || _vm->_dialogs->_buttonEffect.box->boxType == ARSGBUT)
CORO_INVOKE_1(ButtonPress, _vm->_dialogs->_buttonEffect.box);
- _vm->_dialogs->CallFunction(_vm->_dialogs->_buttonEffect.box->boxFunc);
+ _vm->_dialogs->callFunction(_vm->_dialogs->_buttonEffect.box->boxFunc);
} else
CORO_INVOKE_1(ButtonToggle, _vm->_dialogs->_buttonEffect.box);
@@ -5840,7 +5840,7 @@ static void ObjectProcess(CORO_PARAM, const void *param) {
CORO_SLEEP(1);
int x, y;
_vm->_cursor->GetCursorXY(&x, &y, false);
- if (_vm->_dialogs->InvItemId(x, y) != to->pinvo->getId())
+ if (_vm->_dialogs->invItemId(x, y) != to->pinvo->getId())
break;
// Fix the 'repeated pressing bug'
@@ -5861,7 +5861,7 @@ static void ObjectProcess(CORO_PARAM, const void *param) {
static void InvTinselEvent(const InventoryObject *pinvo, TINSEL_EVENT event, PLR_EVENT be, int index) {
OP_INIT to = {pinvo, event, be, 0};
- if (_vm->_dialogs->InventoryIsHidden() || ((TinselVersion >= 2) && !pinvo->getScript()))
+ if (_vm->_dialogs->inventoryIsHidden() || ((TinselVersion >= 2) && !pinvo->getScript()))
return;
_vm->_dialogs->_glitterIndex = index;
@@ -5880,7 +5880,7 @@ extern void ObjectEvent(CORO_PARAM, int objId, TINSEL_EVENT event, bool bWait, i
if (result)
*result = false;
- _ctx->pInvo = _vm->_dialogs->GetInvObject(objId);
+ _ctx->pInvo = _vm->_dialogs->getInvObject(objId);
if (!_ctx->pInvo->getScript())
return;
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 9dab7a07952..57c89c80511 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -269,23 +269,23 @@ public:
Dialogs();
virtual ~Dialogs();
- void PopUpInventory(int invno, int menuId = -1);
- void OpenMenu(CONFTYPE type);
+ void popUpInventory(int invno, int menuId = -1);
+ void openMenu(CONFTYPE menuType);
- void Xmovement(int x);
- void Ymovement(int y);
+ void xMovement(int x);
+ void yMovement(int y);
- void EventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds);
+ void eventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds);
- int WhichItemHeld();
+ int whichItemHeld();
- void HoldItem(int item, bool bKeepFilm = false);
- void DropItem(int item);
- void ClearInventory(int invno);
- void AddToInventory(int invno, int icon, bool hold = false);
- bool RemFromInventory(int invno, int icon);
+ void holdItem(int item, bool bKeepFilm = false);
+ void dropItem(int item);
+ void clearInventory(int invno);
+ void addToInventory(int invno, int icon, bool hold = false);
+ bool remFromInventory(int invno, int icon);
- void RegisterIcons(void *cptr, int num);
+ void registerIcons(void *cptr, int num);
void idec_convw(SCNHANDLE text, int MaxContents, int MinWidth, int MinHeight,
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight);
@@ -295,78 +295,78 @@ public:
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight);
// Noir
- Common::Array<int> GetAllNotebookClues() const;
+ Common::Array<int> getAllNotebookClues() const;
void idec_invMain(SCNHANDLE text, int MaxContents);
- bool InventoryActive();
- bool InventoryOrNotebookActive();
+ bool inventoryActive();
+ bool inventoryOrNotebookActive();
- void PermaConvIcon(int icon, bool bEnd = false);
+ void permaConvIcon(int icon, bool bEnd = false);
void convPos(int bpos);
- void ConvPoly(HPOLYGON hp);
- int GetIcon();
- void CloseDownConv();
- void HideConversation(bool hide);
- bool ConvIsHidden();
+ void convPoly(HPOLYGON hPoly);
+ int getIcon();
+ void closeDownConv();
+ void hideConversation(bool hide);
+ bool convIsHidden();
- void ConvAction(int index);
- void SetConvDetails(CONV_PARAM fn, HPOLYGON hPoly, int ano);
- void InventoryIconCursor(bool bNewItem);
+ void convAction(int index);
+ void setConvDetails(CONV_PARAM fn, HPOLYGON hPoly, int ano);
+ void inventoryIconCursor(bool bNewItem);
void setInvWinParts(SCNHANDLE hf);
void setFlagFilms(SCNHANDLE hf);
void setConfigStrings(SCNHANDLE *tp);
- int InvItem(Common::Point &coOrds, bool update);
- int InvItem(int *x, int *y, bool update);
- int InvItemId(int x, int y);
+ int invItem(Common::Point &coOrds, bool update);
+ int invItem(int *x, int *y, bool update);
+ int invItemId(int x, int y);
- int InventoryPos(int num);
+ int inventoryPos(int num);
- bool IsInInventory(int object, int invnum);
+ bool isInInventory(int object, int invnum);
- void KillInventory();
+ void killInventory();
void syncInvInfo(Common::Serializer &s);
- int InvGetLimit(int invno);
- void InvSetLimit(int invno, int n);
- void InvSetSize(int invno, int MinWidth, int MinHeight,
+ int invGetLimit(int invno);
+ void invSetLimit(int invno, int MaxContents);
+ void invSetSize(int invno, int MinWidth, int MinHeight,
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight);
- bool GetIsInvObject(int id);
-
- int WhichInventoryOpen();
-
- bool IsTopWindow();
- bool MenuActive();
- bool IsConvWindow();
-
- const FILM *GetObjectFilm(int object) const;
- void SetObjectFilm(int object, SCNHANDLE hFilm);
- void CallFunction(BFUNC boxFunc);
-
- OBJECT *AddObject(const FREEL *pfreel, int num);
- void InvPutDown(int index);
- void SlideMSlider(int x, SSFN fn);
- void AddBoxes(bool posnSlide);
- void Select(int i, bool force);
- void FillInInventory();
- void InvCursor(InvCursorFN fn, int CurX, int CurY);
- const InventoryObject *GetInvObject(int id);
- const InventoryObjectT3 *GetInvObjectT3(int id);
- void InvPointEvent(const InventoryObject *invObj, int index);
- bool UpdateString(const Common::KeyState &kbd);
- bool InventoryIsActive() { return _inventoryState == ACTIVE_INV; }
- bool IsMixingDeskControl() { return _invDragging == ID_MDCONT; }
- int CurrentInventoryX() { return _invD[_activeInv].inventoryX; }
- int CurrentInventoryY() { return _invD[_activeInv].inventoryY; }
- bool ConfigurationIsActive() { return _activeInv == INV_CONF; }
- bool DisplayObjectsActive() { return _objArray[0] != NULL; }
- bool InventoryIsHidden() { return _InventoryHidden; }
- const FILM *GetWindowData();
- void Redraw();
+ bool getIsInvObject(int id);
+
+ int whichInventoryOpen();
+
+ bool isTopWindow();
+ bool menuActive();
+ bool isConvWindow();
+
+ const FILM *getObjectFilm(int object) const;
+ void setObjectFilm(int object, SCNHANDLE hFilm);
+ void callFunction(BFUNC boxFunc);
+
+ OBJECT *addObject(const FREEL *pfreel, int num);
+ void invPutDown(int index);
+ void slideMSlider(int x, SSFN fn);
+ void addBoxes(bool posnSlide);
+ void select(int i, bool force);
+ void fillInInventory();
+ void invCursor(InvCursorFN fn, int CurX, int CurY);
+ const InventoryObject *getInvObject(int id);
+ const InventoryObjectT3 *getInvObjectT3(int id);
+ void invPointEvent(const InventoryObject *invObj, int index);
+ bool updateString(const Common::KeyState &kbd);
+ bool inventoryIsActive() { return _inventoryState == ACTIVE_INV; }
+ bool isMixingDeskControl() { return _invDragging == ID_MDCONT; }
+ int currentInventoryX() { return _invD[_activeInv].inventoryX; }
+ int currentInventoryY() { return _invD[_activeInv].inventoryY; }
+ bool configurationIsActive() { return _activeInv == INV_CONF; }
+ bool displayObjectsActive() { return _objArray[0] != NULL; }
+ bool inventoryIsHidden() { return _InventoryHidden; }
+ const FILM *getWindowData();
+ void redraw();
// Noir
bool IsConvAndNotMove();
@@ -525,8 +525,8 @@ private:
HPOLYGON _thisConvPoly; // Conversation code is in a polygon code block
int _thisConvActor; // ...or an actor's code block.
int _pointedIcon; // used by invLabels - icon pointed to on last call
- int _sX; // used by SlideMSlider() - current x-coordinate
- int _lX; // used by SlideMSlider() - last x-coordinate
+ int _sX; // used by slideMSlider() - current x-coordinate
+ int _lX; // used by slideMSlider() - last x-coordinate
bool _bMoveOnUnHide; // Set before start of conversation
// - causes conversation to be started in a sensible place
diff --git a/engines/tinsel/events.cpp b/engines/tinsel/events.cpp
index 76ff3133206..6701102c033 100644
--- a/engines/tinsel/events.cpp
+++ b/engines/tinsel/events.cpp
@@ -160,7 +160,7 @@ void ControlOn() {
_vm->_cursor->UnHideCursor();
// Turn tags back on
- if (!_vm->_dialogs->InventoryOrNotebookActive())
+ if (!_vm->_dialogs->inventoryOrNotebookActive())
EnableTags();
}
}
@@ -403,9 +403,9 @@ void CloseOpenInventories() {
if (_vm->_notebook->IsOpen()) {
_vm->_notebook->Close();
} else {
- if (_vm->_dialogs->InventoryActive()) {
- if (_vm->_dialogs->WhichInventoryOpen() != INV_3) {
- _vm->_dialogs->KillInventory();
+ if (_vm->_dialogs->inventoryActive()) {
+ if (_vm->_dialogs->whichInventoryOpen() != INV_3) {
+ _vm->_dialogs->killInventory();
}
}
}
@@ -445,29 +445,29 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (!ControlIsOn() && (pEvent != PLR_DRAG1_END))
return;
- if ((TinselVersion >= 2) && _vm->_dialogs->InventoryOrNotebookActive()) {
+ if ((TinselVersion >= 2) && _vm->_dialogs->inventoryOrNotebookActive()) {
int x, y;
_vm->_bg->PlayfieldGetPos(FIELD_WORLD, &x, &y);
- _vm->_dialogs->EventToInventory(pEvent, Common::Point(coOrds.x - x, coOrds.y - y));
+ _vm->_dialogs->eventToInventory(pEvent, Common::Point(coOrds.x - x, coOrds.y - y));
return;
}
switch (pEvent) {
case PLR_QUIT:
- _vm->_dialogs->OpenMenu(QUIT_MENU);
+ _vm->_dialogs->openMenu(QUIT_MENU);
break;
case PLR_MENU:
if (TinselVersion == 3) {
CloseOpenInventories();
}
- _vm->_dialogs->OpenMenu(MAIN_MENU);
+ _vm->_dialogs->openMenu(MAIN_MENU);
break;
case PLR_INVENTORY:
if (TinselVersion == 3) {
CloseOpenInventories();
- _vm->_dialogs->PopUpInventory(INV_1);
+ _vm->_dialogs->popUpInventory(INV_1);
}
break;
@@ -479,21 +479,21 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
break;
case PLR_JUMP:
- _vm->_dialogs->OpenMenu(HOPPER_MENU1);
+ _vm->_dialogs->openMenu(HOPPER_MENU1);
break;
case PLR_SAVE:
if (TinselVersion == 3) {
CloseOpenInventories();
}
- _vm->_dialogs->OpenMenu(SAVE_MENU);
+ _vm->_dialogs->openMenu(SAVE_MENU);
break;
case PLR_LOAD:
if (TinselVersion == 3) {
CloseOpenInventories();
}
- _vm->_dialogs->OpenMenu(LOAD_MENU);
+ _vm->_dialogs->openMenu(LOAD_MENU);
break;
case PLR_PROV_WALKTO: // Provisional WALKTO !
@@ -503,33 +503,33 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
case PLR_WALKTO:
REAL_ACTION_CHECK;
- if ((TinselVersion >= 2) || !_vm->_dialogs->InventoryActive())
+ if ((TinselVersion >= 2) || !_vm->_dialogs->inventoryActive())
ProcessUserEvent(WALKTO, coOrds, PLR_SLEFT);
else
- _vm->_dialogs->EventToInventory(PLR_SLEFT, coOrds);
+ _vm->_dialogs->eventToInventory(PLR_SLEFT, coOrds);
break;
case PLR_ACTION:
REAL_ACTION_CHECK;
- if ((TinselVersion >= 2) || !_vm->_dialogs->InventoryActive())
+ if ((TinselVersion >= 2) || !_vm->_dialogs->inventoryActive())
ProcessUserEvent(ACTION, coOrds, PLR_DLEFT);
else
- _vm->_dialogs->EventToInventory(PLR_DLEFT, coOrds);
+ _vm->_dialogs->eventToInventory(PLR_DLEFT, coOrds);
break;
case PLR_LOOK:
REAL_ACTION_CHECK;
- if ((TinselVersion >= 2) || !_vm->_dialogs->InventoryActive())
+ if ((TinselVersion >= 2) || !_vm->_dialogs->inventoryActive())
ProcessUserEvent(LOOK, coOrds, PLR_SRIGHT);
else
- _vm->_dialogs->EventToInventory(PLR_SRIGHT, coOrds);
+ _vm->_dialogs->eventToInventory(PLR_SRIGHT, coOrds);
break;
default:
- if (_vm->_dialogs->InventoryActive())
- _vm->_dialogs->EventToInventory(pEvent, coOrds);
+ if (_vm->_dialogs->inventoryActive())
+ _vm->_dialogs->eventToInventory(pEvent, coOrds);
break;
}
}
@@ -600,7 +600,7 @@ void PolyTinselProcess(CORO_PARAM, const void *param) {
// Take control for CONVERSE events
if (to->event == CONVERSE) {
_ctx->bTookControl = GetControl();
- _vm->_dialogs->HideConversation(true);
+ _vm->_dialogs->hideConversation(true);
} else
_ctx->bTookControl = false;
@@ -612,7 +612,7 @@ void PolyTinselProcess(CORO_PARAM, const void *param) {
if (_ctx->bTookControl)
ControlOn();
- _vm->_dialogs->HideConversation(false);
+ _vm->_dialogs->hideConversation(false);
}
} else {
@@ -632,7 +632,7 @@ void PolyTinselProcess(CORO_PARAM, const void *param) {
// Hide conversation if appropriate
if (to->event == CONVERSE)
- _vm->_dialogs->HideConversation(true);
+ _vm->_dialogs->hideConversation(true);
// Run the code
_ctx->pic = InitInterpretContext(GS_POLYGON, GetPolyScript(to->hPoly), to->event, to->hPoly, to->actor, NULL);
@@ -644,7 +644,7 @@ void PolyTinselProcess(CORO_PARAM, const void *param) {
// Restore conv window if applicable
if (to->event == CONVERSE)
- _vm->_dialogs->HideConversation(false);
+ _vm->_dialogs->hideConversation(false);
}
CORO_END_CODE;
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index c8b5c90fbfc..b30032084ff 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -42,14 +42,14 @@ Notebook::~Notebook() {
}
void Notebook::AddHyperlink(int32 id1, int32 id2) {
- auto *invObject = _vm->_dialogs->GetInvObjectT3(id1);
+ auto *invObject = _vm->_dialogs->getInvObjectT3(id1);
if (invObject->getTitle() != 0) {
error("A clue can only be hyperlinked if it only has one title!");
return;
}
- invObject = _vm->_dialogs->GetInvObjectT3(id2);
+ invObject = _vm->_dialogs->getInvObjectT3(id2);
if (invObject->getTitle() != 0) {
error("A clue can only be hyperlinked if it only has one title!");
@@ -123,18 +123,18 @@ void Notebook::AddClue(const InventoryObjectT3 &invObject) {
return;
}
// Add title if missing, otherwise just get the page it's on.
- auto titleObject = _vm->_dialogs->GetInvObjectT3(invObject.getUnknown());
+ auto titleObject = _vm->_dialogs->getInvObjectT3(invObject.getUnknown());
int pageIndex = AddTitle(*titleObject);
_pages[pageIndex].AddLine(invObject.getId());
if (invObject.getTitle() != 0) {
- auto secondTitleObject = _vm->_dialogs->GetInvObjectT3(invObject.getTitle());
+ auto secondTitleObject = _vm->_dialogs->getInvObjectT3(invObject.getTitle());
pageIndex = AddTitle(*secondTitleObject);
_pages[pageIndex].AddLine(invObject.getId());
}
}
void Notebook::AddClue(int id) {
- auto invObject = _vm->_dialogs->GetInvObjectT3(id);
+ auto invObject = _vm->_dialogs->getInvObjectT3(id);
if (invObject->isNotebookTitle()) {
AddTitle(*invObject);
} else {
@@ -152,7 +152,7 @@ int Notebook::GetPageWithTitle(int id) {
}
void Notebook::CrossClue(int id) {
- auto invObject = _vm->_dialogs->GetInvObjectT3(id);
+ auto invObject = _vm->_dialogs->getInvObjectT3(id);
if (invObject->isNotebookTitle()) {
return;
}
@@ -224,7 +224,7 @@ void Notebook::Close() {
MultiDeleteObjectIfExists(FIELD_STATUS, &_object);
MultiDeleteObjectIfExists(FIELD_STATUS, &_pageObject);
_state = BOOKSTATE::CLOSED;
- if (_vm->_dialogs->InventoryOrNotebookActive()) {
+ if (_vm->_dialogs->inventoryOrNotebookActive()) {
EnablePointing();
EnableTags();
}
diff --git a/engines/tinsel/noir/notebook_page.cpp b/engines/tinsel/noir/notebook_page.cpp
index 620088173c6..cac6c35d9e1 100644
--- a/engines/tinsel/noir/notebook_page.cpp
+++ b/engines/tinsel/noir/notebook_page.cpp
@@ -67,7 +67,7 @@ int FindReelIndexForEntry(const FILM *pFilm, int pageLine) {
}
void NotebookLine::FillIn(int pageLine) {
- const FILM *pFilm = _vm->_dialogs->GetObjectFilm(_id);
+ const FILM *pFilm = _vm->_dialogs->getObjectFilm(_id);
if (!pFilm)
return;
@@ -96,8 +96,8 @@ void NotebookLine::CrossOut() {
void NotebookPage::HandlePointAtLine(int line) {
auto objId = GetClueForLine(line);
if (objId != 0 && objId != _pointedClue) {
- auto obj = _vm->_dialogs->GetInvObject(objId);
- _vm->_dialogs->InvPointEvent(obj, -1);
+ auto obj = _vm->_dialogs->getInvObject(objId);
+ _vm->_dialogs->invPointEvent(obj, -1);
_pointedClue = objId;
}
}
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index c1832ec7e71..fbab7cea7e9 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -456,7 +456,7 @@ static bool DoSync(Common::Serializer &s, int numInterp) {
s.syncAsSint16LE(g_restoreCD);
if (s.isLoading())
- _vm->_dialogs->HoldItem(INV_NOICON);
+ _vm->_dialogs->holdItem(INV_NOICON);
}
@@ -466,17 +466,17 @@ static bool DoSync(Common::Serializer &s, int numInterp) {
// Held object
if (s.isSaving())
- sg = _vm->_dialogs->WhichItemHeld();
+ sg = _vm->_dialogs->whichItemHeld();
s.syncAsSint32LE(sg);
if (s.isLoading()) {
- if (sg != -1 && !_vm->_dialogs->GetIsInvObject(sg))
+ if (sg != -1 && !_vm->_dialogs->getIsInvObject(sg))
// Not a valid inventory object, so return false
return false;
if (TinselVersion >= 2)
g_thingHeld = sg;
else
- _vm->_dialogs->HoldItem(sg);
+ _vm->_dialogs->holdItem(sg);
}
syncTimerInfo(s); // Timer data
diff --git a/engines/tinsel/savescn.cpp b/engines/tinsel/savescn.cpp
index d49a2662b61..df8b7a565ba 100644
--- a/engines/tinsel/savescn.cpp
+++ b/engines/tinsel/savescn.cpp
@@ -387,7 +387,7 @@ static int DoRestoreSceneFrame(SAVED_DATA *sd, int n) {
return n;
if (sd == &g_sgData)
- _vm->_dialogs->HoldItem(g_thingHeld, true);
+ _vm->_dialogs->holdItem(g_thingHeld, true);
if (sd->bTinselDim)
_vm->_pcmMusic->dim(true);
_vm->_pcmMusic->restoreThatTune(sd->SavedTune);
@@ -413,7 +413,7 @@ static int DoRestoreSceneFrame(SAVED_DATA *sd, int n) {
* @param num num
*/
void RestoreGame(int num) {
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
RequestRestoreGame(num, &g_sgData, &g_savedSceneCount, g_ssData);
diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp
index e77ec484754..ef5068989b7 100644
--- a/engines/tinsel/scene.cpp
+++ b/engines/tinsel/scene.cpp
@@ -390,7 +390,7 @@ void EndScene() {
g_SceneHandle = 0;
}
- _vm->_dialogs->KillInventory(); // Close down any open inventory
+ _vm->_dialogs->killInventory(); // Close down any open inventory
DropPolygons(); // No polygons
_vm->_scroll->DropScroll(); // No no-scrolls
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 32ba1fe0bc0..523d29fa4e5 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -616,7 +616,7 @@ static void ActorsOn() {
* Adds an icon to the conversation window.
*/
static void AddTopic(int icon) {
- _vm->_dialogs->AddToInventory(INV_CONV, icon, false);
+ _vm->_dialogs->addToInventory(INV_CONV, icon, false);
}
/**
@@ -626,7 +626,7 @@ static void AddInv(int invno, int object) {
// illegal inventory number
assert(invno == INV_1 || invno == INV_2 || invno == INV_3 || invno == INV_OPEN || invno == INV_DEFAULT);
- _vm->_dialogs->AddToInventory(invno, object, false);
+ _vm->_dialogs->addToInventory(invno, object, false);
}
/**
@@ -738,7 +738,7 @@ static void ClearHookScene() {
* Guess what.
*/
static void CloseInventory() {
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
}
/**
@@ -752,11 +752,11 @@ void Control(int param) {
else {
ControlOff();
- switch (_vm->_dialogs->WhichInventoryOpen()) {
+ switch (_vm->_dialogs->whichInventoryOpen()) {
case INV_1:
case INV_2:
case INV_MENU:
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
break;
default:
break;
@@ -812,7 +812,7 @@ void Control(int param) {
FreeControlToken(); // Release control
- if (!_vm->_dialogs->InventoryActive())
+ if (!_vm->_dialogs->inventoryActive())
EnableTags(); // Tags back on
_vm->_cursor->RestoreMainCursor(); // Re-instate cursor...
@@ -835,7 +835,7 @@ static void Conversation(CORO_PARAM, int fn, HPOLYGON hp, int actor, bool escOn,
if (fn == CONV_END) {
// Close down conversation
- _vm->_dialogs->CloseDownConv();
+ _vm->_dialogs->closeDownConv();
} else if ((fn == CONV_TOP) || (fn == CONV_DEF) || (fn == CONV_BOTTOM)) {
// TOP of screen, Default (i.e. TOP of screen), or BOTTOM of screen
@@ -848,10 +848,10 @@ static void Conversation(CORO_PARAM, int fn, HPOLYGON hp, int actor, bool escOn,
return;
// Don't do it if already in a conversation
- if (_vm->_dialogs->IsConvWindow())
+ if (_vm->_dialogs->isConvWindow())
return;
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
if (TinselVersion >= 2) {
// If this is from a tag polygon, get the associated
@@ -865,14 +865,14 @@ static void Conversation(CORO_PARAM, int fn, HPOLYGON hp, int actor, bool escOn,
}
// Top or bottom; tag polygon or tagged actor
- _vm->_dialogs->SetConvDetails((CONV_PARAM)fn, hp, actor);
+ _vm->_dialogs->setConvDetails((CONV_PARAM)fn, hp, actor);
} else {
_vm->_dialogs->convPos(fn);
- _vm->_dialogs->ConvPoly(hp);
+ _vm->_dialogs->convPoly(hp);
}
- _vm->_dialogs->PopUpInventory(INV_CONV); // Conversation window
- _vm->_dialogs->ConvAction(INV_OPENICON); // CONVERSATION event
+ _vm->_dialogs->popUpInventory(INV_CONV); // Conversation window
+ _vm->_dialogs->convAction(INV_OPENICON); // CONVERSATION event
}
CORO_END_CODE;
@@ -882,7 +882,7 @@ static void Conversation(CORO_PARAM, int fn, HPOLYGON hp, int actor, bool escOn,
* Add icon to conversation window's permanent default list.
*/
static void ConvTopic(int icon) {
- _vm->_dialogs->PermaConvIcon(icon);
+ _vm->_dialogs->permaConvIcon(icon);
}
/**
@@ -1071,24 +1071,24 @@ static void DecScale(int actor, int scale,
* Remove an icon from the conversation window.
*/
static void DelIcon(int icon) {
- _vm->_dialogs->RemFromInventory(INV_CONV, icon);
+ _vm->_dialogs->remFromInventory(INV_CONV, icon);
}
/**
* Delete the object from inventory 1 or 2.
*/
static void DelInv(int object) {
- if (!_vm->_dialogs->RemFromInventory(INV_1, object)) // Remove from inventory 1...
- _vm->_dialogs->RemFromInventory(INV_2, object); // ...or 2 (whichever)
+ if (!_vm->_dialogs->remFromInventory(INV_1, object)) // Remove from inventory 1...
+ _vm->_dialogs->remFromInventory(INV_2, object); // ...or 2 (whichever)
- _vm->_dialogs->DropItem(object); // Stop holding it
+ _vm->_dialogs->dropItem(object); // Stop holding it
}
/**
* DelTopic
*/
static void DelTopic(int icon) {
- _vm->_dialogs->RemFromInventory(INV_CONV, icon);
+ _vm->_dialogs->remFromInventory(INV_CONV, icon);
}
/**
@@ -1098,20 +1098,20 @@ static void Drop(int object) {
if (object == -1)
object = HeldObject();
- if (!_vm->_dialogs->RemFromInventory(INV_1, object)) // Remove from inventory 1...
- _vm->_dialogs->RemFromInventory(INV_2, object); // ...or 2 (whichever)
+ if (!_vm->_dialogs->remFromInventory(INV_1, object)) // Remove from inventory 1...
+ _vm->_dialogs->remFromInventory(INV_2, object); // ...or 2 (whichever)
- _vm->_dialogs->DropItem(object); // Stop holding it
+ _vm->_dialogs->dropItem(object); // Stop holding it
}
/**
* Delete all objects from inventory 1 and 2.
*/
static void DropEverything() {
- _vm->_dialogs->HoldItem(INV_NOICON, false);
+ _vm->_dialogs->holdItem(INV_NOICON, false);
- _vm->_dialogs->ClearInventory(INV_1);
- _vm->_dialogs->ClearInventory(INV_2);
+ _vm->_dialogs->clearInventory(INV_1);
+ _vm->_dialogs->clearInventory(INV_2);
}
/**
@@ -1200,7 +1200,7 @@ static void FreezeCursor(bool bFreeze) {
* Guess what.
*/
static int GetInvLimit(int invno) {
- return _vm->_dialogs->InvGetLimit(invno);
+ return _vm->_dialogs->invGetLimit(invno);
}
/**
@@ -1230,14 +1230,14 @@ static bool HasRestarted() {
* See if an object is in the inventory.
*/
int Have(int object) {
- return (_vm->_dialogs->InventoryPos(object) != INV_NOICON);
+ return (_vm->_dialogs->inventoryPos(object) != INV_NOICON);
}
/**
* Returns which object is currently held.
*/
static int HeldObject() {
- return _vm->_dialogs->WhichItemHeld();
+ return _vm->_dialogs->whichItemHeld();
}
/**
@@ -1287,7 +1287,7 @@ static void HideTag(CORO_PARAM, int tag, HPOLYGON hp) {
* Hold the specified object.
*/
static void Hold(int object) {
- _vm->_dialogs->HoldItem(object, false);
+ _vm->_dialogs->holdItem(object, false);
}
/**
@@ -1326,14 +1326,14 @@ void InstantScroll(int onoff) {
* invdepict
*/
static void InvDepict(int object, SCNHANDLE hFilm) {
- _vm->_dialogs->SetObjectFilm(object, hFilm);
+ _vm->_dialogs->setObjectFilm(object, hFilm);
}
/**
* See if an object is in the inventory.
*/
int InInventory(int object) {
- return (_vm->_dialogs->InventoryPos(object) != INV_NOICON);
+ return (_vm->_dialogs->inventoryPos(object) != INV_NOICON);
}
/**
@@ -1346,27 +1346,27 @@ static void Inventory(int invno, bool escOn, int myEscape) {
assert((invno == INV_1 || invno == INV_2)); // Trying to open illegal inventory
- _vm->_dialogs->PopUpInventory(invno);
+ _vm->_dialogs->popUpInventory(invno);
}
/**
* Alter inventory object's icon.
*/
static void InvPlay(int object, SCNHANDLE hFilm) {
- _vm->_dialogs->SetObjectFilm(object, hFilm);
+ _vm->_dialogs->setObjectFilm(object, hFilm);
}
/**
* See if an object is in the inventory.
*/
static int InWhichInv(int object) {
- if (_vm->_dialogs->WhichItemHeld() == object)
+ if (_vm->_dialogs->whichItemHeld() == object)
return 0;
- if (_vm->_dialogs->IsInInventory(object, INV_1))
+ if (_vm->_dialogs->isInInventory(object, INV_1))
return 1;
- if (_vm->_dialogs->IsInInventory(object, INV_2))
+ if (_vm->_dialogs->isInInventory(object, INV_2))
return 2;
return -1;
@@ -1502,7 +1502,7 @@ static void NoScroll(int x1, int y1, int x2, int y2) {
* Hold the specified object.
*/
static void ObjectHeld(int object) {
- _vm->_dialogs->HoldItem(object);
+ _vm->_dialogs->holdItem(object);
}
/**
@@ -1526,15 +1526,15 @@ int OtherObject(const InventoryObject *pinvo) {
// return held object or object clicked on - whichever is not the calling object
// pinvo->id is the calling object
- // WhichItemHeld() gives the held object
- // GetIcon() gives the object clicked on
+ // whichItemHeld() gives the held object
+ // getIcon() gives the object clicked on
- assert(_vm->_dialogs->GetIcon() == pinvo->getId() || _vm->_dialogs->WhichItemHeld() == pinvo->getId());
+ assert(_vm->_dialogs->getIcon() == pinvo->getId() || _vm->_dialogs->whichItemHeld() == pinvo->getId());
- if (_vm->_dialogs->GetIcon() == pinvo->getId())
- return _vm->_dialogs->WhichItemHeld();
+ if (_vm->_dialogs->getIcon() == pinvo->getId())
+ return _vm->_dialogs->whichItemHeld();
else
- return _vm->_dialogs->GetIcon();
+ return _vm->_dialogs->getIcon();
}
/**
@@ -2013,7 +2013,7 @@ static void Print(CORO_PARAM, int x, int y, SCNHANDLE text, int time, bool bSust
// Adjust x, y, or z if necessary
KeepOnScreen(_ctx->pText, &x, &y);
- if (_vm->_dialogs->IsTopWindow())
+ if (_vm->_dialogs->isTopWindow())
MultiSetZPosition(_ctx->pText, Z_TOPW_TEXT);
} else if (bJapDoPrintText || (!_vm->_config->isJapanMode() && (_vm->_config->_useSubtitles || !_ctx->bSample))) {
@@ -2025,7 +2025,7 @@ static void Print(CORO_PARAM, int x, int y, SCNHANDLE text, int time, bool bSust
0, x - Loffset, y - Toffset,
fontHandle, TXT_CENTER);
assert(_ctx->pText); // string produced NULL text
- if (_vm->_dialogs->IsTopWindow())
+ if (_vm->_dialogs->isTopWindow())
MultiSetZPosition(_ctx->pText, Z_TOPW_TEXT);
/*
@@ -2144,7 +2144,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const InventoryObject *p
* Find out which icon the cursor is over, and where to put the text.
*/
_vm->_cursor->GetCursorXY(&_ctx->textx, &_ctx->texty, false); // Cursor position..
- _ctx->item = _vm->_dialogs->InvItem(&_ctx->textx, &_ctx->texty, true); // ..to text position
+ _ctx->item = _vm->_dialogs->invItem(&_ctx->textx, &_ctx->texty, true); // ..to text position
if (_ctx->item == INV_NOICON)
return;
@@ -2219,7 +2219,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const InventoryObject *p
int x, y;
do {
// Give up if this item gets picked up
- if (_vm->_dialogs->WhichItemHeld() == pinvo->getId())
+ if (_vm->_dialogs->whichItemHeld() == pinvo->getId())
break;
// Give way to non-POINTED-generated text
@@ -2231,7 +2231,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const InventoryObject *p
CORO_SLEEP(1);
_vm->_cursor->GetCursorXY(&x, &y, false);
- if (_vm->_dialogs->InvItem(&x, &y, false) != _ctx->item)
+ if (_vm->_dialogs->invItem(&x, &y, false) != _ctx->item)
break;
// Re-display in the same place
@@ -2250,7 +2250,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const InventoryObject *p
// Carry on until the cursor leaves this icon
_vm->_cursor->GetCursorXY(&x, &y, false);
- } while (_vm->_dialogs->InvItemId(x, y) == pinvo->getId());
+ } while (_vm->_dialogs->invItemId(x, y) == pinvo->getId());
} else {
/*
* PrintObj() called from other event
@@ -2270,7 +2270,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const InventoryObject *p
// Abort if sample times out
// Abort if conversation hidden
if (LeftEventChange(_ctx->myLeftEvent)
- || --_ctx->timeout <= 0 || _vm->_dialogs->ConvIsHidden())
+ || --_ctx->timeout <= 0 || _vm->_dialogs->convIsHidden())
break;
if (_ctx->bSample) {
@@ -2334,7 +2334,7 @@ static void PrintObjPointed(CORO_PARAM, const SCNHANDLE text, const InventoryObj
int x, y;
do {
// Give up if this item gets picked up
- if (_vm->_dialogs->WhichItemHeld() == pinvo->getId())
+ if (_vm->_dialogs->whichItemHeld() == pinvo->getId())
break;
// Give way to non-POINTED-generated text
@@ -2345,7 +2345,7 @@ static void PrintObjPointed(CORO_PARAM, const SCNHANDLE text, const InventoryObj
CORO_SLEEP(1);
_vm->_cursor->GetCursorXY(&x, &y, false);
- if (_vm->_dialogs->InvItem(&x, &y, false) != item)
+ if (_vm->_dialogs->invItem(&x, &y, false) != item)
break;
// Re-display in the same place
@@ -2360,7 +2360,7 @@ static void PrintObjPointed(CORO_PARAM, const SCNHANDLE text, const InventoryObj
// Carry on until the cursor leaves this icon
_vm->_cursor->GetCursorXY(&x, &y, false);
- } while (_vm->_dialogs->InvItemId(x, y) == pinvo->getId());
+ } while (_vm->_dialogs->invItemId(x, y) == pinvo->getId());
CORO_END_CODE;
}
@@ -2403,7 +2403,7 @@ static void PrintObjNonPointed(CORO_PARAM, const SCNHANDLE text, const OBJECT *p
// Abort if left click - hardwired feature for talky-print!
// Abort if sample times out
// Abort if conversation hidden
- if (_ctx->myleftEvent != GetLeftEvents() || _ctx->timeout <= 0 || _vm->_dialogs->ConvIsHidden())
+ if (_ctx->myleftEvent != GetLeftEvents() || _ctx->timeout <= 0 || _vm->_dialogs->convIsHidden())
break;
if (_ctx->bSample) {
@@ -2596,7 +2596,7 @@ static void ScalingReels(int actor, int scale, int direction,
* Return the icon that caused the CONVERSE event.
*/
static int ScanIcon() {
- return _vm->_dialogs->GetIcon();
+ return _vm->_dialogs->getIcon();
}
/**
@@ -2749,7 +2749,7 @@ static void SetExit(int exitno) {
* Guess what.
*/
static void SetInvLimit(int invno, int n) {
- _vm->_dialogs->InvSetLimit(invno, n);
+ _vm->_dialogs->invSetLimit(invno, n);
}
/**
@@ -2757,7 +2757,7 @@ static void SetInvLimit(int invno, int n) {
*/
static void SetInvSize(int invno, int MinWidth, int MinHeight,
int StartWidth, int StartHeight, int MaxWidth, int MaxHeight) {
- _vm->_dialogs->InvSetSize(invno, MinWidth, MinHeight, StartWidth, StartHeight, MaxWidth, MaxHeight);
+ _vm->_dialogs->invSetSize(invno, MinWidth, MinHeight, StartWidth, StartHeight, MaxWidth, MaxHeight);
}
/**
@@ -2867,7 +2867,7 @@ static void showstring() {
* Shows the main menu
*/
static void ShowMenu() {
- _vm->_dialogs->OpenMenu(MAIN_MENU);
+ _vm->_dialogs->openMenu(MAIN_MENU);
}
/**
@@ -3437,7 +3437,7 @@ static void TalkOrSay(CORO_PARAM, SPEECH_TYPE speechType, SCNHANDLE hText, int x
_vm->_font->GetTalkFontHandle(), TXT_CENTER);
assert(_ctx->pText); // talk() string produced NULL text;
- if (_vm->_dialogs->IsTopWindow())
+ if (_vm->_dialogs->isTopWindow())
MultiSetZPosition(_ctx->pText, Z_TOPW_TEXT);
if ((_ctx->whatSort == IS_SAY) || (_ctx->whatSort == IS_TALK)) {
@@ -3710,7 +3710,7 @@ static int TimerFn(int timerno) {
* Return the icon that caused the CONVERSE event.
*/
int Topic() {
- return _vm->_dialogs->GetIcon();
+ return _vm->_dialogs->getIcon();
}
/**
@@ -3729,10 +3729,10 @@ static void TopPlay(CORO_PARAM, SCNHANDLE hFilm, int x, int y, bool bComplete, i
static void TopWindow(int bpos) {
bool isStart = ((TinselVersion >= 2) && (bpos != 0)) || ((TinselVersion <= 1) && (bpos == TW_START));
- _vm->_dialogs->KillInventory();
+ _vm->_dialogs->killInventory();
if (isStart)
- _vm->_dialogs->OpenMenu(TOP_WINDOW);
+ _vm->_dialogs->openMenu(TOP_WINDOW);
}
/**
@@ -3830,16 +3830,16 @@ static void WaitKey(CORO_PARAM, bool escOn, int myEscape) {
break;
}
- if (_vm->_dialogs->MenuActive())
+ if (_vm->_dialogs->menuActive())
break;
}
- if (!_vm->_dialogs->MenuActive())
+ if (!_vm->_dialogs->menuActive())
return;
do {
CORO_SLEEP(1);
- } while (_vm->_dialogs->MenuActive());
+ } while (_vm->_dialogs->menuActive());
CORO_SLEEP(ONE_SECOND / 2); // Let it die down
}
@@ -4261,7 +4261,7 @@ int WhichCd() {
* whichinventory
*/
int WhichInventory() {
- return _vm->_dialogs->WhichInventoryOpen();
+ return _vm->_dialogs->whichInventoryOpen();
}
@@ -4498,7 +4498,7 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
- case 50: // 1 parameter, calls RemFromInventory variant of TinselV1
+ case 50: // 1 parameter, calls remFromInventory variant of TinselV1
error("Unsupported libCode %d del_inv3_item", libCode);
case 51: // 1 parameter
error("Unsupported libCode %d DELTOPIC variant", libCode);
diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp
index 13daadb9006..eb3a0b8c120 100644
--- a/engines/tinsel/tinsel.cpp
+++ b/engines/tinsel/tinsel.cpp
@@ -545,8 +545,8 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) {
// right items: player must have Mambo the swamp dragon, and mustn't have fireworks (used on
// the swamp dragon previously to "load it up").
if (TinselV1PSX && g_NextScene.scene == 0x1800000 && g_NextScene.entry == 2) {
- if ((_vm->_dialogs->IsInInventory(261, INV_1) || _vm->_dialogs->IsInInventory(261, INV_2)) &&
- (!_vm->_dialogs->IsInInventory(232, INV_1) && !_vm->_dialogs->IsInInventory(232, INV_2)))
+ if ((_vm->_dialogs->isInInventory(261, INV_1) || _vm->_dialogs->isInInventory(261, INV_2)) &&
+ (!_vm->_dialogs->isInInventory(232, INV_1) && !_vm->_dialogs->isInInventory(232, INV_2)))
g_NextScene.entry = 1;
}
}
@@ -809,7 +809,7 @@ void LoadBasicChunks() {
RegisterGlobals(game.numGlobals);
cptr = FindChunk(INV_OBJ_SCNHANDLE, CHUNK_OBJECTS);
- _vm->_dialogs->RegisterIcons(cptr, game.numObjects);
+ _vm->_dialogs->registerIcons(cptr, game.numObjects);
// Max polygons are 0 in the original DW1 V0 demo and in DW1 Mac (both in the demo and the full version)
if (game.numPolygons != 0)
@@ -1238,7 +1238,7 @@ void TinselEngine::CreateConstProcesses() {
* Restart the game
*/
void TinselEngine::RestartGame() {
- _vm->_dialogs->HoldItem(INV_NOICON); // Holding nothing
+ _vm->_dialogs->holdItem(INV_NOICON); // Holding nothing
_bg->DropBackground(); // No background
Commit: 5b2a8fea37ed25ee0e41ca9f005f1ca1a3521194
https://github.com/scummvm/scummvm/commit/5b2a8fea37ed25ee0e41ca9f005f1ca1a3521194
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Rename IsConvAndNotMove -> isConvAndNotMove
Changed paths:
engines/tinsel/dialogs.cpp
engines/tinsel/dialogs.h
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index e2d89ac0fce..fec0af0e308 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -5616,7 +5616,7 @@ void Dialogs::redraw() {
}
// Noir
-bool Dialogs::IsConvAndNotMove() {
+bool Dialogs::isConvAndNotMove() {
// TODO: Ensure that the used global is correct
// If this is the right mapping, the variable is reversed in Noir
return isConvWindow() && !_bMoveOnUnHide;
diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h
index 57c89c80511..de52cfd35a6 100644
--- a/engines/tinsel/dialogs.h
+++ b/engines/tinsel/dialogs.h
@@ -369,7 +369,7 @@ public:
void redraw();
// Noir
- bool IsConvAndNotMove();
+ bool isConvAndNotMove();
bool _noLanguage;
int _glitterIndex;
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 523d29fa4e5..723d167e358 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -5830,7 +5830,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case HELDOBJECTORTOPIC:
// Noir
- if (_vm->_dialogs->IsConvAndNotMove()) {
+ if (_vm->_dialogs->isConvAndNotMove()) {
pp[0] = HeldObject();
} else {
pp[0] = Topic();
Commit: afc09057abbe20937e65b73b43da7b60cafe6dd7
https://github.com/scummvm/scummvm/commit/afc09057abbe20937e65b73b43da7b60cafe6dd7
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Refactor Notebook and System reels to follow naming conventions
Changed paths:
engines/tinsel/debugger.cpp
engines/tinsel/dialogs.cpp
engines/tinsel/events.cpp
engines/tinsel/multiobj.cpp
engines/tinsel/noir/notebook.cpp
engines/tinsel/noir/notebook.h
engines/tinsel/noir/notebook_page.cpp
engines/tinsel/noir/notebook_page.h
engines/tinsel/noir/sysreel.cpp
engines/tinsel/noir/sysreel.h
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/debugger.cpp b/engines/tinsel/debugger.cpp
index d4c5fcd8d5e..ba1606b4b9c 100644
--- a/engines/tinsel/debugger.cpp
+++ b/engines/tinsel/debugger.cpp
@@ -175,14 +175,14 @@ bool Console::cmd_add_clue(int argc, const char **argv) {
return true;
}
- _vm->_notebook->AddClue(strToInt(argv[1]));
+ _vm->_notebook->addClue(strToInt(argv[1]));
return false;
}
bool Console::cmd_add_all_clues(int argc, const char **argv) {
auto clues = _vm->_dialogs->getAllNotebookClues();
for (auto clue : clues) {
- _vm->_notebook->AddClue(clue);
+ _vm->_notebook->addClue(clue);
}
return false;
}
@@ -194,7 +194,7 @@ bool Console::cmd_cross_clue(int argc, const char **argv) {
return true;
}
- _vm->_notebook->CrossClue(strToInt(argv[1]));
+ _vm->_notebook->crossClue(strToInt(argv[1]));
return false;
}
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index fec0af0e308..3e07d742ba1 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1269,7 +1269,7 @@ void Dialogs::inventoryIconCursor(bool bNewItem) {
auto invObj = getInvObject(_heldItem);
if (invObj->hasAttribute(InvObjAttr::NOTEBOOK_CLUE)) {
- _heldFilm = _vm->_systemReel->Get((SysReel)objIndex);
+ _heldFilm = _vm->_systemReel->get((SysReel)objIndex);
} else {
_heldFilm = _invFilms[objIndex];
}
@@ -1293,11 +1293,11 @@ bool Dialogs::inventoryActive() {
}
bool Dialogs::inventoryOrNotebookActive() {
- return inventoryActive() || ((TinselVersion == 3) && _vm->_notebook->IsOpen());
+ return inventoryActive() || ((TinselVersion == 3) && _vm->_notebook->isOpen());
}
int Dialogs::whichInventoryOpen() {
- if (TinselVersion == 3 && _vm->_notebook->IsOpen()) {
+ if (TinselVersion == 3 && _vm->_notebook->isOpen()) {
return INV_NOTEBOOK;
}
if (_inventoryState != ACTIVE_INV)
@@ -1798,8 +1798,8 @@ enum { I_NOTIN,
*/
int Dialogs::invArea(int x, int y) {
if (TinselVersion == 3) {
- if (_vm->_notebook->IsOpen()) {
- if (_vm->_notebook->HandlePointer(Common::Point(x, y)) != 0) {
+ if (_vm->_notebook->isOpen()) {
+ if (_vm->_notebook->handlePointer(Common::Point(x, y)) != 0) {
return I_ENDCHANGE;
}
return I_NOTIN;
@@ -2867,7 +2867,7 @@ void Dialogs::constructOtherInventory(int menuId) {
if (cd.bExtraWin) {
warning("TODO: Complete scrollbar implementation");
- SCNHANDLE sliderReel = _vm->_systemReel->Get(SysReel::SLIDER);
+ SCNHANDLE sliderReel = _vm->_systemReel->get(SysReel::SLIDER);
const FILM *pfilm = (const FILM *)_vm->_handle->LockMem(sliderReel);
_objArray[3] = _slideObject = InsertReelObj(pfilm->reels);
MultiSetAniXYZ(_slideObject,
@@ -5019,7 +5019,7 @@ void Dialogs::eventToInventory(PLR_EVENT pEvent, const Common::Point &coOrds) {
if (TinselVersion == 3) {
// If the Notebook handles the event, it has been consumed.
- if (_vm->_notebook->HandleEvent(pEvent, coOrds)) {
+ if (_vm->_notebook->handleEvent(pEvent, coOrds)) {
return;
}
}
@@ -5611,7 +5611,7 @@ void Dialogs::redraw() {
}
}
if (TinselVersion == 3) {
- _vm->_notebook->StepAnimScripts();
+ _vm->_notebook->stepAnimScripts();
}
}
diff --git a/engines/tinsel/events.cpp b/engines/tinsel/events.cpp
index 6701102c033..5c76aab7751 100644
--- a/engines/tinsel/events.cpp
+++ b/engines/tinsel/events.cpp
@@ -400,8 +400,8 @@ void ProcessKeyEvent(PLR_EVENT ke) {
}
void CloseOpenInventories() {
- if (_vm->_notebook->IsOpen()) {
- _vm->_notebook->Close();
+ if (_vm->_notebook->isOpen()) {
+ _vm->_notebook->close();
} else {
if (_vm->_dialogs->inventoryActive()) {
if (_vm->_dialogs->whichInventoryOpen() != INV_3) {
@@ -474,7 +474,7 @@ void PlayerEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
case PLR_NOTEBOOK:
if (TinselVersion == 3) {
CloseOpenInventories();
- _vm->_notebook->Show(false);
+ _vm->_notebook->show(false);
}
break;
diff --git a/engines/tinsel/multiobj.cpp b/engines/tinsel/multiobj.cpp
index 466cb301b79..f239916629c 100644
--- a/engines/tinsel/multiobj.cpp
+++ b/engines/tinsel/multiobj.cpp
@@ -102,7 +102,7 @@ OBJECT *InsertReelObj(const FREEL *reels) {
}
const FILM *GetSystemReelFilm(SysReel reelIndex) {
- SCNHANDLE hFilm = _vm->_systemReel->Get(reelIndex);
+ SCNHANDLE hFilm = _vm->_systemReel->get(reelIndex);
const FILM *pfilm = (const FILM *)_vm->_handle->LockMem(hFilm);
return pfilm;
}
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index b30032084ff..8d66982abab 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -41,7 +41,7 @@ Notebook::~Notebook() {
delete _polygons;
}
-void Notebook::AddHyperlink(int32 id1, int32 id2) {
+void Notebook::addHyperlink(int32 id1, int32 id2) {
auto *invObject = _vm->_dialogs->getInvObjectT3(id1);
if (invObject->getTitle() != 0) {
@@ -77,29 +77,29 @@ void Notebook::AddHyperlink(int32 id1, int32 id2) {
error("Too many hyperlinks");
}
-void Notebook::ClearNotebookPage() {
+void Notebook::clearNotebookPage() {
if (_prevPage != -1) {
- _pages[_prevPage].Clear();
+ _pages[_prevPage].clear();
}
_prevPage = -1;
- _pages[_currentPage].Clear();
+ _pages[_currentPage].clear();
}
-void Notebook::Refresh() {
+void Notebook::refresh() {
auto reel = (_currentPage == 0 ? SysReel::NOTEPAD_CLOSED : SysReel::NOTEPAD_OPEN);
auto film = GetSystemReelFilm(reel);
InitStepAnimScript(&_anim, _object, film->reels->script, ONE_SECOND / film->frate);
- ClearNotebookPage();
+ clearNotebookPage();
if (_currentPage != 0) {
- _pages[_currentPage].FillIn();
+ _pages[_currentPage].fillIn();
}
}
-int Notebook::AddTitle(const InventoryObjectT3 &invObject) {
+int Notebook::addTitle(const InventoryObjectT3 &invObject) {
int id = invObject.getId();
assert(invObject.isNotebookTitle());
for (int i = 0; i < _numPages; i++) {
- if (_pages[i].GetTitle() == id) {
+ if (_pages[i].getTitle() == id) {
return i;
}
}
@@ -108,15 +108,15 @@ int Notebook::AddTitle(const InventoryObjectT3 &invObject) {
// 0 page is the closed notebook, has no entries.
if (linkedFromPage != 0) {
// Allocate a line on the linked from page.
- assert(_pages[linkedFromPage].GetTitle() != 0);
- _pages[linkedFromPage].AddLine(id);
+ assert(_pages[linkedFromPage].getTitle() != 0);
+ _pages[linkedFromPage].addLine(id);
}
int pageIndex = _numPages++;
- _pages[pageIndex].SetTitle(id);
+ _pages[pageIndex].setTitle(id);
return pageIndex;
}
-void Notebook::AddClue(const InventoryObjectT3 &invObject) {
+void Notebook::addClue(const InventoryObjectT3 &invObject) {
if (invObject.getUnknown() == 0) {
// This affects two clues, that should get special treatment.
warning("TODO: Handle clues with no parent page");
@@ -124,34 +124,34 @@ void Notebook::AddClue(const InventoryObjectT3 &invObject) {
}
// Add title if missing, otherwise just get the page it's on.
auto titleObject = _vm->_dialogs->getInvObjectT3(invObject.getUnknown());
- int pageIndex = AddTitle(*titleObject);
- _pages[pageIndex].AddLine(invObject.getId());
+ int pageIndex = addTitle(*titleObject);
+ _pages[pageIndex].addLine(invObject.getId());
if (invObject.getTitle() != 0) {
auto secondTitleObject = _vm->_dialogs->getInvObjectT3(invObject.getTitle());
- pageIndex = AddTitle(*secondTitleObject);
- _pages[pageIndex].AddLine(invObject.getId());
+ pageIndex = addTitle(*secondTitleObject);
+ _pages[pageIndex].addLine(invObject.getId());
}
}
-void Notebook::AddClue(int id) {
+void Notebook::addClue(int id) {
auto invObject = _vm->_dialogs->getInvObjectT3(id);
if (invObject->isNotebookTitle()) {
- AddTitle(*invObject);
+ addTitle(*invObject);
} else {
- AddClue(*invObject);
+ addClue(*invObject);
}
}
-int Notebook::GetPageWithTitle(int id) {
+int Notebook::getPageWithTitle(int id) {
for (int i = 0; i < _numPages; i++) {
- if (_pages[i].GetTitle() == id) {
+ if (_pages[i].getTitle() == id) {
return i;
}
}
return -1;
}
-void Notebook::CrossClue(int id) {
+void Notebook::crossClue(int id) {
auto invObject = _vm->_dialogs->getInvObjectT3(id);
if (invObject->isNotebookTitle()) {
return;
@@ -164,9 +164,9 @@ void Notebook::CrossClue(int id) {
if (titles[i] == 0) {
continue;
}
- int page = GetPageWithTitle(titles[i]);
+ int page = getPageWithTitle(titles[i]);
if (page != -1) {
- _pages[page].CrossClue(id);
+ _pages[page].crossClue(id);
}
}
}
@@ -179,48 +179,48 @@ void InitNotebookAnim(OBJECT **obj, ANIM &anim, SysReel reel, int zPosition) {
InitStepAnimScript(&anim, *obj, film->reels->script, ONE_SECOND / film->frate);
}
-void Notebook::SetNextPage(int pageIndex) {
+void Notebook::setNextPage(int pageIndex) {
assert(_prevPage == -1 || _prevPage == _currentPage); // Check that we've cleaned any outstanding page.
_prevPage = _currentPage;
_currentPage = pageIndex;
}
-void Notebook::PageFlip(bool up) {
+void Notebook::pageFlip(bool up) {
int nextPage = _currentPage + (up ? -1 : 1);
if (nextPage <= 0) {
- SetNextPage(0);
- Refresh();
+ setNextPage(0);
+ refresh();
return;
} else if (nextPage == 1) {
// TODO: Should possibly just call whatever function we use to open.
InitNotebookAnim(&_object, _anim, SysReel::NOTEPAD_OPENING, Z_INV_RFRAME);
_state = BOOKSTATE::OPEN_ANIMATING;
- SetNextPage(nextPage);
+ setNextPage(nextPage);
return;
}
- SetNextPage(nextPage);
+ setNextPage(nextPage);
SysReel reel = (up ? SysReel::NOTEPAD_FLIPUP : SysReel::NOTEPAD_FLIPDOWN);
InitNotebookAnim(&_pageObject, _pageAnim, reel, 19);
_state = BOOKSTATE::PAGEFLIP;
}
-void Notebook::Show(bool isOpen) {
+void Notebook::show(bool isOpen) {
auto reel = (isOpen ? SysReel::NOTEPAD_OPEN : SysReel::NOTEPAD_OPENING);
InitNotebookAnim(&_object, _anim, reel, Z_INV_MFRAME);
_state = (isOpen ? BOOKSTATE::OPENED : BOOKSTATE::OPEN_ANIMATING);
- SetNextPage(1);
- Refresh();
+ setNextPage(1);
+ refresh();
DisableTags(); // Tags disabled in Notebook
DisablePointing(); // Pointing disabled in Notebook
}
-bool Notebook::IsOpen() const {
+bool Notebook::isOpen() const {
return _state != BOOKSTATE::CLOSED;
}
-void Notebook::Close() {
- ClearNotebookPage();
+void Notebook::close() {
+ clearNotebookPage();
MultiDeleteObjectIfExists(FIELD_STATUS, &_object);
MultiDeleteObjectIfExists(FIELD_STATUS, &_pageObject);
_state = BOOKSTATE::CLOSED;
@@ -230,12 +230,12 @@ void Notebook::Close() {
}
}
-void Notebook::StepAnimScripts() {
+void Notebook::stepAnimScripts() {
if (_state == BOOKSTATE::OPEN_ANIMATING) {
auto state = StepAnimScript(&_anim);
if (state == ScriptFinished) {
_state = BOOKSTATE::OPENED;
- Refresh();
+ refresh();
}
}
if (_state == BOOKSTATE::PAGEFLIP) {
@@ -243,7 +243,7 @@ void Notebook::StepAnimScripts() {
if (state == ScriptFinished) {
MultiDeleteObjectIfExists(FIELD_STATUS, &_pageObject);
_state = BOOKSTATE::OPENED;
- Refresh();
+ refresh();
}
}
}
@@ -252,24 +252,24 @@ int Notebook::GetPointedClue(const Common::Point &point) const {
if (_currentPage == 0 || _currentPage > _numPages) {
return 0;
}
- return _pages[_currentPage].GetClueForLine(_polygons->lineHit(point));
+ return _pages[_currentPage].getClueForLine(_polygons->lineHit(point));
}
-bool Notebook::HandlePointer(const Common::Point &point) {
- if (!IsOpen()) {
+bool Notebook::handlePointer(const Common::Point &point) {
+ if (!isOpen()) {
return 0;
}
auto inside = _polygons->isInsideNotebook(point);
if (inside) {
auto hit = _polygons->lineHit(point);
- _pages[_currentPage].HandlePointAtLine(hit);
+ _pages[_currentPage].handlePointAtLine(hit);
return true; // We handled the pointer
}
return false;
}
-bool Notebook::HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
- if (!IsOpen()) { // TODO: Clicking outside should close the notebook
+bool Notebook::handleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
+ if (!isOpen()) { // TODO: Clicking outside should close the notebook
return false;
}
auto inside = _polygons->isInsideNotebook(coOrds);
@@ -289,13 +289,13 @@ bool Notebook::HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
auto poly = _polygons->mostSpecificHit(coOrds);
switch (poly) {
case NoteBookPoly::NEXT:
- HandleEvent(PLR_PGUP, coOrds);
+ handleEvent(PLR_PGUP, coOrds);
return true;
case NoteBookPoly::PREV:
- HandleEvent(PLR_PGDN, coOrds);
+ handleEvent(PLR_PGDN, coOrds);
return true;
case NoteBookPoly::NONE:
- HandleEvent(PLR_ESCAPE, coOrds);
+ handleEvent(PLR_ESCAPE, coOrds);
return true;
default:
return true;
@@ -303,13 +303,13 @@ bool Notebook::HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds) {
}
case PLR_ESCAPE:
- Close();
+ close();
return true;
case PLR_PGUP:
- PageFlip(true);
+ pageFlip(true);
return true;
case PLR_PGDN:
- PageFlip(false);
+ pageFlip(false);
return true;
case PLR_HOME:
case PLR_END:
diff --git a/engines/tinsel/noir/notebook.h b/engines/tinsel/noir/notebook.h
index 445301980a6..799c30d2573 100644
--- a/engines/tinsel/noir/notebook.h
+++ b/engines/tinsel/noir/notebook.h
@@ -63,35 +63,35 @@ public:
~Notebook();
// Adds a connection between a clue/title
- void AddHyperlink(int32 id1, int32 id2);
- void AddClue(int id);
- void CrossClue(int id);
+ void addHyperlink(int32 id1, int32 id2);
+ void addClue(int id);
+ void crossClue(int id);
// Called within InventoryProcess loop
- void Redraw();
+ void redraw();
// Called from OPENNOTEBOOK
- void Show(bool isOpen);
- bool IsOpen() const;
- void Close();
+ void show(bool isOpen);
+ bool isOpen() const;
+ void close();
- bool HandlePointer(const Common::Point &point);
- bool HandleEvent(PLR_EVENT pEvent, const Common::Point &coOrds);
- void StepAnimScripts();
- void Refresh();
+ bool handlePointer(const Common::Point &point);
+ bool handleEvent(PLR_EVENT pEvent, const Common::Point &coOrds);
+ void stepAnimScripts();
+ void refresh();
NoteBookPolygons *_polygons = nullptr;
private:
- int AddTitle(const InventoryObjectT3 &invObject);
- void AddClue(const InventoryObjectT3 &invObject);
- int GetPageWithTitle(int id);
+ int addTitle(const InventoryObjectT3 &invObject);
+ void addClue(const InventoryObjectT3 &invObject);
+ int getPageWithTitle(int id);
- void PageFlip(bool up);
+ void pageFlip(bool up);
int32 GetPointedClue(const Common::Point &point) const;
- void ClearNotebookPage();
+ void clearNotebookPage();
- void SetNextPage(int pageIndex);
+ void setNextPage(int pageIndex);
const static uint32 MAX_PAGES = 0x15;
const static uint32 MAX_HYPERS = 0xf;
diff --git a/engines/tinsel/noir/notebook_page.cpp b/engines/tinsel/noir/notebook_page.cpp
index cac6c35d9e1..68f19991e6b 100644
--- a/engines/tinsel/noir/notebook_page.cpp
+++ b/engines/tinsel/noir/notebook_page.cpp
@@ -32,7 +32,7 @@
namespace Tinsel {
-void NotebookLine::Clear() {
+void NotebookLine::clear() {
MultiDeleteObjectIfExists(FIELD_STATUS, &_obj);
}
@@ -66,7 +66,7 @@ int FindReelIndexForEntry(const FILM *pFilm, int pageLine) {
return -1;
}
-void NotebookLine::FillIn(int pageLine) {
+void NotebookLine::fillIn(int pageLine) {
const FILM *pFilm = _vm->_dialogs->getObjectFilm(_id);
if (!pFilm)
return;
@@ -89,12 +89,12 @@ void NotebookLine::FillIn(int pageLine) {
}
}
-void NotebookLine::CrossOut() {
+void NotebookLine::crossOut() {
_crossedOut = true;
}
-void NotebookPage::HandlePointAtLine(int line) {
- auto objId = GetClueForLine(line);
+void NotebookPage::handlePointAtLine(int line) {
+ auto objId = getClueForLine(line);
if (objId != 0 && objId != _pointedClue) {
auto obj = _vm->_dialogs->getInvObject(objId);
_vm->_dialogs->invPointEvent(obj, -1);
@@ -102,7 +102,7 @@ void NotebookPage::HandlePointAtLine(int line) {
}
}
-int NotebookPage::IndexOfClue(int id) const {
+int NotebookPage::indexOfClue(int id) const {
for (int i = 0; i < _numLines; i++) {
if (_lines[i]._id == id) {
return i;
@@ -111,48 +111,48 @@ int NotebookPage::IndexOfClue(int id) const {
return -1;
}
-bool NotebookPage::ContainsClue(int id) {
- return IndexOfClue(id) != -1;
+bool NotebookPage::containsClue(int id) {
+ return indexOfClue(id) != -1;
}
-void NotebookPage::CrossClue(int id) {
- int index = IndexOfClue(id);
+void NotebookPage::crossClue(int id) {
+ int index = indexOfClue(id);
assert(index != -1);
- _lines[index].CrossOut();
+ _lines[index].crossOut();
}
-void NotebookPage::AddLine(int id) {
- if (ContainsClue(id)) {
+void NotebookPage::addLine(int id) {
+ if (containsClue(id)) {
return;
}
assert(_numLines < MAX_ENTRIES_PER_PAGE);
_lines[_numLines++]._id = id;
}
-void NotebookPage::SetTitle(int id) {
+void NotebookPage::setTitle(int id) {
_lines[0]._id = id;
if (_numLines == 0) {
_numLines++;
}
}
-int32 NotebookPage::GetTitle() const {
+int32 NotebookPage::getTitle() const {
return _lines[0]._id;
}
-void NotebookPage::FillIn() {
+void NotebookPage::fillIn() {
for (int i = 0; i < _numLines; i++) {
- _lines[i].FillIn(i);
+ _lines[i].fillIn(i);
}
}
-void NotebookPage::Clear() {
+void NotebookPage::clear() {
for (int i = 0; i < _numLines; i++) {
- _lines[i].Clear();
+ _lines[i].clear();
}
_pointedClue = -1;
}
-int NotebookPage::GetClueForLine(int line) const {
+int NotebookPage::getClueForLine(int line) const {
if (line >= _numLines) {
return 0;
}
diff --git a/engines/tinsel/noir/notebook_page.h b/engines/tinsel/noir/notebook_page.h
index 1a1a01b3191..7a394700062 100644
--- a/engines/tinsel/noir/notebook_page.h
+++ b/engines/tinsel/noir/notebook_page.h
@@ -32,9 +32,9 @@ namespace Tinsel {
class NotebookLine {
public:
int _id = 0;
- void CrossOut();
- void Clear();
- void FillIn(int pageLine);
+ void crossOut();
+ void clear();
+ void fillIn(int pageLine);
private:
bool _crossedOut = false;
ANIM _anim = {};
@@ -45,18 +45,18 @@ private:
class NotebookPage {
public:
- bool ContainsClue(int id);
- void CrossClue(int id);
- void AddLine(int id);
- void SetTitle(int id);
- int32 GetTitle() const;
- void FillIn();
- void Clear();
- int GetPointedClue(const Common::Point &point) const;
- int GetClueForLine(int line) const;
- void HandlePointAtLine(int line);
+ bool containsClue(int id);
+ void crossClue(int id);
+ void addLine(int id);
+ void setTitle(int id);
+ int32 getTitle() const;
+ void fillIn();
+ void clear();
+ int getPointedClue(const Common::Point &point) const;
+ int getClueForLine(int line) const;
+ void handlePointAtLine(int line);
private:
- int IndexOfClue(int id) const;
+ int indexOfClue(int id) const;
int _pointedClue = -1;
const static uint32 MAX_ENTRIES_PER_PAGE = 8;
diff --git a/engines/tinsel/noir/sysreel.cpp b/engines/tinsel/noir/sysreel.cpp
index 15512876818..b2224538adb 100644
--- a/engines/tinsel/noir/sysreel.cpp
+++ b/engines/tinsel/noir/sysreel.cpp
@@ -34,7 +34,7 @@ namespace Tinsel {
*
* @param index reel to get the handle to
*/
-SCNHANDLE SystemReel::Get(SysReel index) {
+SCNHANDLE SystemReel::get(SysReel index) {
assert((int)index >= 0 && (int)index < MAX_SYSREELS);
return _reels[(int)index];
@@ -46,7 +46,7 @@ SCNHANDLE SystemReel::Get(SysReel index) {
* @param index where to store the reel
* @param reel handle to the reel
*/
-void SystemReel::Set(int32 index, SCNHANDLE reel) {
+void SystemReel::set(int32 index, SCNHANDLE reel) {
assert(index >= 0 && index < MAX_SYSREELS);
if (index == (int)SysReel::LOADSCREEN) {
diff --git a/engines/tinsel/noir/sysreel.h b/engines/tinsel/noir/sysreel.h
index f1d2cc46133..febbd8155f9 100644
--- a/engines/tinsel/noir/sysreel.h
+++ b/engines/tinsel/noir/sysreel.h
@@ -52,8 +52,8 @@ class SystemReel {
public:
SystemReel() = default;
- SCNHANDLE Get(SysReel index);
- void Set(int32 index, SCNHANDLE reel);
+ SCNHANDLE get(SysReel index);
+ void set(int32 index, SCNHANDLE reel);
private:
const static int32 MAX_SYSREELS = 0x28;
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 723d167e358..e8115ab90f7 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -2786,7 +2786,7 @@ static void SetPalette(SCNHANDLE hPal, bool escOn, int myEscape) {
* Set system reel
*/
static void SetSystemReel(int index, SCNHANDLE reel) {
- _vm->_systemReel->Set(index, reel);
+ _vm->_systemReel->set(index, reel);
}
/**
@@ -5398,7 +5398,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case ADDNOTEBOOK:
// Noir Only
- _vm->_notebook->AddClue(pp[0]);
+ _vm->_notebook->addClue(pp[0]);
return -1;
case ADDOPENINV:
@@ -5425,7 +5425,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case BOOKADDHYPERLINK:
// Noir
pp -= 1; // 2 parameters
- _vm->_notebook->AddHyperlink(pp[0], pp[1]);
+ _vm->_notebook->addHyperlink(pp[0], pp[1]);
return -2;
case BLOCKING:
@@ -5575,7 +5575,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case CROSSCLUE:
// Noir only
- _vm->_notebook->CrossClue(pp[0]);
+ _vm->_notebook->crossClue(pp[0]);
return -1;
case CURSOR:
@@ -6067,7 +6067,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
case OPENNOTEBOOK:
// Noir only
- _vm->_notebook->Show(0);
+ _vm->_notebook->show(0);
return 0;
case PAUSE:
Commit: 6a9bf4785dfc1220ec222a51ff693c3cad83317e
https://github.com/scummvm/scummvm/commit/6a9bf4785dfc1220ec222a51ff693c3cad83317e
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2022-06-10T23:12:34+03:00
Commit Message:
TINSEL: Fix int32 discrepancy
Changed paths:
engines/tinsel/noir/notebook.cpp
diff --git a/engines/tinsel/noir/notebook.cpp b/engines/tinsel/noir/notebook.cpp
index 8d66982abab..c6789c3ca71 100644
--- a/engines/tinsel/noir/notebook.cpp
+++ b/engines/tinsel/noir/notebook.cpp
@@ -248,7 +248,7 @@ void Notebook::stepAnimScripts() {
}
}
-int Notebook::GetPointedClue(const Common::Point &point) const {
+int32 Notebook::GetPointedClue(const Common::Point &point) const {
if (_currentPage == 0 || _currentPage > _numPages) {
return 0;
}
More information about the Scummvm-git-logs
mailing list