[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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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ømå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