[Scummvm-git-logs] scummvm master -> 758f074a00422f07d9ff0c8086c7ccdb75ef5411

mduggan noreply at scummvm.org
Thu Feb 2 23:52:30 UTC 2023


This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
83d073e3ef TETRAEDGE: Whitespace
719bc656a0 TETRAEDGE: Remove unneccessary use of longs
fe4026782f TETRAEDGE: Free surface before deleting
5db996cf31 TETRAEDGE: Clear codec on load failure
9df0c01246 TETRAEDGE: Make optional destructor static to avoid MSVC issues
20b4f7c54e TETRAEDGE: Remove superfluous debugging from renderer
758f074a00 TETRAEDGE: Small debug message cleanups


Commit: 83d073e3ef697bc2c6b978f9e8332c1b7f6e3100
    https://github.com/scummvm/scummvm/commit/83d073e3ef697bc2c6b978f9e8332c1b7f6e3100
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Whitespace

Changed paths:
    engines/tetraedge/te/te_jpeg.h


diff --git a/engines/tetraedge/te/te_jpeg.h b/engines/tetraedge/te/te_jpeg.h
index 6627ca3066b..07c9d9a9b63 100644
--- a/engines/tetraedge/te/te_jpeg.h
+++ b/engines/tetraedge/te/te_jpeg.h
@@ -38,7 +38,7 @@ public:
 
 	virtual bool load(Common::SeekableReadStream &stream) override;
 	virtual int nbFrames() override { return 1; }
-	virtual float frameRate() override  { return 0.0; }
+	virtual float frameRate() override { return 0.0f; }
 	virtual bool isAtEnd() override  { return true; }
 	virtual void setColorKeyActivated(bool val) override { }
 	virtual void setColorKey(const TeColor &col) override { }


Commit: 719bc656a0ca149a58d7722bbbf69254293f012c
    https://github.com/scummvm/scummvm/commit/719bc656a0ca149a58d7722bbbf69254293f012c
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Remove unneccessary use of longs

In most places where long was used, int was just fine.  In a few places, we
actually probably want 64-bit values, so use those explicitly.

Changed paths:
    engines/tetraedge/game/character.cpp
    engines/tetraedge/game/character.h
    engines/tetraedge/game/documents_browser.cpp
    engines/tetraedge/game/documents_browser.h
    engines/tetraedge/game/game.cpp
    engines/tetraedge/game/in_game_scene.cpp
    engines/tetraedge/game/inventory.cpp
    engines/tetraedge/game/lua_binds.cpp
    engines/tetraedge/te/te_3d_object2.cpp
    engines/tetraedge/te/te_3d_object2.h
    engines/tetraedge/te/te_bezier_curve.cpp
    engines/tetraedge/te/te_bezier_curve.h
    engines/tetraedge/te/te_button_layout.cpp
    engines/tetraedge/te/te_button_layout.h
    engines/tetraedge/te/te_i_codec.h
    engines/tetraedge/te/te_image.cpp
    engines/tetraedge/te/te_image.h
    engines/tetraedge/te/te_images_sequence.cpp
    engines/tetraedge/te/te_images_sequence.h
    engines/tetraedge/te/te_lua_thread.h
    engines/tetraedge/te/te_matricies_stack.cpp
    engines/tetraedge/te/te_matricies_stack.h
    engines/tetraedge/te/te_mesh.cpp
    engines/tetraedge/te/te_mesh.h
    engines/tetraedge/te/te_mesh_opengl.cpp
    engines/tetraedge/te/te_mesh_opengl.h
    engines/tetraedge/te/te_mesh_tinygl.h
    engines/tetraedge/te/te_model.cpp
    engines/tetraedge/te/te_model.h
    engines/tetraedge/te/te_model_animation.cpp
    engines/tetraedge/te/te_model_animation.h
    engines/tetraedge/te/te_model_vertex_animation.cpp
    engines/tetraedge/te/te_model_vertex_animation.h
    engines/tetraedge/te/te_pick_mesh2.cpp
    engines/tetraedge/te/te_pick_mesh2.h
    engines/tetraedge/te/te_real_timer.cpp
    engines/tetraedge/te/te_real_timer.h
    engines/tetraedge/te/te_renderer.cpp
    engines/tetraedge/te/te_renderer.h
    engines/tetraedge/te/te_scrolling_layout.cpp
    engines/tetraedge/te/te_scummvm_codec.cpp
    engines/tetraedge/te/te_scummvm_codec.h
    engines/tetraedge/te/te_sprite_layout.cpp
    engines/tetraedge/te/te_sprite_layout.h
    engines/tetraedge/te/te_text_base2.cpp
    engines/tetraedge/te/te_text_base2.h
    engines/tetraedge/te/te_theora.cpp
    engines/tetraedge/te/te_theora.h
    engines/tetraedge/te/te_tiled_texture.cpp
    engines/tetraedge/te/te_tiled_texture.h
    engines/tetraedge/te/te_timer.cpp
    engines/tetraedge/te/te_timer.h
    engines/tetraedge/te/te_vector2s32.h
    engines/tetraedge/to_lua.cpp


diff --git a/engines/tetraedge/game/character.cpp b/engines/tetraedge/game/character.cpp
index 62e2b0ef4b3..35331e8c620 100644
--- a/engines/tetraedge/game/character.cpp
+++ b/engines/tetraedge/game/character.cpp
@@ -183,7 +183,7 @@ TeIntrusivePtr<TeModelAnimation> Character::animCacheLoad(const Common::Path &pa
 	return modelAnim;
 }
 
-float Character::animLength(const TeModelAnimation &modelanim, long bone, long lastframe) {
+float Character::animLength(const TeModelAnimation &modelanim, int bone, int lastframe) {
 	int last = modelanim.lastFrame();
 	if (lastframe > last)
 		lastframe = last;
@@ -790,16 +790,16 @@ float Character::speedFromAnim(double msFromStart) {
 	return result;
 }
 
-float Character::translationFromAnim(const TeModelAnimation &anim, long bone, long param_3) {
-	return translationVectorFromAnim(anim, bone, param_3).z();
+float Character::translationFromAnim(const TeModelAnimation &anim, int bone, int frame) {
+	return translationVectorFromAnim(anim, bone, frame).z();
 }
 
-TeVector3f32 Character::translationVectorFromAnim(const TeModelAnimation &anim, long bone, long frame) {
+TeVector3f32 Character::translationVectorFromAnim(const TeModelAnimation &anim, int bone, int frame) {
 	const TeTRS trs = trsFromAnim(anim, bone, frame);
 	return trs.getTranslation();
 }
 
-TeTRS Character::trsFromAnim(const TeModelAnimation &anim, long bone, long frame) {
+TeTRS Character::trsFromAnim(const TeModelAnimation &anim, int bone, int frame) {
 	if (bone == -1)
 		return TeTRS();
 
diff --git a/engines/tetraedge/game/character.h b/engines/tetraedge/game/character.h
index a9bbe6df77c..7d7014045c0 100644
--- a/engines/tetraedge/game/character.h
+++ b/engines/tetraedge/game/character.h
@@ -99,7 +99,7 @@ public:
 	static void animCacheFreeOldest();
 	static TeIntrusivePtr<TeModelAnimation> animCacheLoad(const Common::Path &path);
 
-	float animLength(const TeModelAnimation &modelanim, long bone, long lastframe);
+	float animLength(const TeModelAnimation &modelanim, int bone, int lastframe);
 	float animLengthFromFile(const Common::String &animname, uint32 *pframeCount, uint lastframe = 9999);
 	bool blendAnimation(const Common::String &animname, float amount, bool repeat, bool returnToIdle);
 	TeVector3f32 correctPosition(const TeVector3f32 &pos);
@@ -115,7 +115,7 @@ public:
 	bool isWalkEnd();
 	int leftStepFrame(enum WalkPart walkpart);
 	int rightStepFrame(enum WalkPart walkpart);
-	bool loadModel(const Common::String &name, bool param_2);
+	bool loadModel(const Common::String &name, bool unused);
 	static bool loadSettings(const Common::String &path);
 
 	bool onBonesUpdate(const Common::String &boneName, TeMatrix4x4 &boneMatrix);
@@ -135,15 +135,15 @@ public:
 	void setStepSound(const Common::String &stepSound1, const Common::String &stepSound2);
 	float speedFromAnim(double amount);
 	//void stop(); // just maps to TeAnimation::stop();
-	float translationFromAnim(const TeModelAnimation &anim, long bone, long frame);
-	TeVector3f32 translationVectorFromAnim(const TeModelAnimation &anim, long bone, long frame);
-	TeTRS trsFromAnim(const TeModelAnimation &anim, long bone, long frame);
+	float translationFromAnim(const TeModelAnimation &anim, int bone, int frame);
+	TeVector3f32 translationVectorFromAnim(const TeModelAnimation &anim, int bone, int frame);
+	TeTRS trsFromAnim(const TeModelAnimation &anim, int bone, int frame);
 	void update(double percentval) override;
 	void updateAnimFrame();
 	void updatePosition(float curveOffset);
 	Common::String walkAnim(WalkPart part);
 	void walkMode(const Common::String &mode);
-	void walkTo(float param_1, bool param_2);
+	void walkTo(float curveEnd, bool walkFlag);
 
 	TeIntrusivePtr<TeModel> _model;
 	TeIntrusivePtr<TeModel> _shadowModel[2];
diff --git a/engines/tetraedge/game/documents_browser.cpp b/engines/tetraedge/game/documents_browser.cpp
index a876feda3a0..b9d597dd68d 100644
--- a/engines/tetraedge/game/documents_browser.cpp
+++ b/engines/tetraedge/game/documents_browser.cpp
@@ -111,8 +111,8 @@ void DocumentsBrowser::loadZoomed() {
 	_zoomedLayout.addChild(zoomedChild);
 }
 
-void DocumentsBrowser::currentPage(long setPage) {
-	const Common::String setPageName = Common::String::format("page%ld", setPage);
+void DocumentsBrowser::currentPage(int setPage) {
+	const Common::String setPageName = Common::String::format("page%d", setPage);
 	TeLayout *pageLayout = _gui1.layout(setPageName);
 	if (!pageLayout)
 		return;
@@ -133,7 +133,7 @@ void DocumentsBrowser::currentPage(long setPage) {
 }
 
 bool DocumentsBrowser::onQuitDocumentDoubleClickTimer() {
-	long time = _timer.getTimeFromStart();
+	uint64 time = _timer.getTimeFromStart();
 	_timer.stop();
 	if (time >= 200000) {
 		showDocument(_curDocName, _startPage + 1);
@@ -165,7 +165,7 @@ bool DocumentsBrowser::onZoomedButton() {
 	return false;
 }
 
-void DocumentsBrowser::showDocument(const Common::String &docName, long startPage) {
+void DocumentsBrowser::showDocument(const Common::String &docName, int startPage) {
 	_curPage = startPage;
 	_startPage = startPage;
 	_curDocName = docName;
@@ -225,7 +225,7 @@ void DocumentsBrowser::unload() {
 			TeLayout *slot = _gui1.layout(pageSlotName);
 			if (!slot)
 				break;
-			for (long i = 0; i < slot->childCount(); i++) {
+			for (int i = 0; i < slot->childCount(); i++) {
 				Document *doc = dynamic_cast<Document *>(slot->child(i));
 				if (doc)
 					delete doc;
diff --git a/engines/tetraedge/game/documents_browser.h b/engines/tetraedge/game/documents_browser.h
index c2a42943507..f438fd17afb 100644
--- a/engines/tetraedge/game/documents_browser.h
+++ b/engines/tetraedge/game/documents_browser.h
@@ -35,7 +35,7 @@ public:
 	void addDocument(Document *document);
 	void addDocument(const Common::String &str);
 
-	void currentPage(long page);
+	void currentPage(int page);
 	int documentCount(const Common::String &str) { // never used?
 		return 1;
 	}
@@ -79,7 +79,7 @@ public:
 	bool onShowedDocumentButton18();
 	bool onShowedDocumentButton19();
 
-	void showDocument(const Common::String &str, long startPage);
+	void showDocument(const Common::String &str, int startPage);
 	void unload();
 
 	TeLayout &zoomedLayout() { return _zoomedLayout; }
@@ -89,8 +89,8 @@ public:
 private:
 	TeTimer _timer;
 	TeLayout _zoomedLayout;
-	unsigned long _curPage;
-	unsigned long _startPage;
+	uint64 _curPage;
+	uint64 _startPage;
 	int _zoomCount;
 	Common::String _curDocName;
 
diff --git a/engines/tetraedge/game/game.cpp b/engines/tetraedge/game/game.cpp
index 875eba503ed..50f159a18f2 100644
--- a/engines/tetraedge/game/game.cpp
+++ b/engines/tetraedge/game/game.cpp
@@ -1335,7 +1335,7 @@ void Game::playRandomSound(const Common::String &name) {
 		_randomSoundTimer.start();
 		int r = _randomSource.getRandomNumber(RAND_MAX);
 		float f = (r + 1 + (r / 100) * -100);
-		long time = 1000000;
+		uint64 time = 1000000;
 		if (f >= 25.0) {
 			time = f * 45000.0;
 		}
@@ -1491,7 +1491,7 @@ bool Game::showMarkers(bool val) {
 		return false;
 
 	TeLayout *bg = _forGui.layoutChecked("background");
-	for (long i = 0; i < bg->childCount(); i++) {
+	for (int i = 0; i < bg->childCount(); i++) {
 		const InGameScene::TeMarker *marker = _scene.findMarker(bg->child(i)->name());
 		if (marker)
 			bg->child(i)->setVisible(!val);
@@ -1536,7 +1536,7 @@ Common::Error Game::syncGame(Common::Serializer &s) {
 	s.syncString(_currentZone);
 	s.syncString(_currentScene);
 	s.syncAsUint32LE(app->difficulty());
-	long elapsed = _playedTimer.timeFromLastTimeElapsed(); // TODO: + _loadedPlayTime;
+	uint64 elapsed = _playedTimer.timeFromLastTimeElapsed(); // TODO: + _loadedPlayTime;
 	s.syncAsDoubleLE(elapsed);
 	_playedTimer.stop();
 	_playedTimer.start();
diff --git a/engines/tetraedge/game/in_game_scene.cpp b/engines/tetraedge/game/in_game_scene.cpp
index 591692cfdc7..dbbe1e2aac3 100644
--- a/engines/tetraedge/game/in_game_scene.cpp
+++ b/engines/tetraedge/game/in_game_scene.cpp
@@ -227,7 +227,7 @@ void InGameScene::convertPathToMesh(TeFreeMoveZone *zone) {
 	model->setPosition(zone->position());
 	model->setRotation(zone->rotation());
 	model->setScale(zone->scale());
-	unsigned long nverticies = zone->freeMoveZoneVerticies().size();
+	uint64 nverticies = zone->freeMoveZoneVerticies().size();
 	TeMesh *mesh0 = model->meshes()[0].get();
 	mesh0->setConf(nverticies, nverticies, TeMesh::MeshMode_Triangles, 0, 0);
 	for (uint i = 0; i < nverticies; i++) {
diff --git a/engines/tetraedge/game/inventory.cpp b/engines/tetraedge/game/inventory.cpp
index 348ff58ad30..422e46e7c58 100644
--- a/engines/tetraedge/game/inventory.cpp
+++ b/engines/tetraedge/game/inventory.cpp
@@ -199,7 +199,7 @@ bool Inventory::addObject(InventoryObject *obj) {
 				TeLayout *slot = _gui.layout(Common::String::format("page%dSlot%d", pageNo, slotNo));
 				if (!slot)
 					break;
-				for (long c = 0; c < slot->childCount(); c++) {
+				for (int c = 0; c < slot->childCount(); c++) {
 					Te3DObject2 *child = slot->child(c);
 					InventoryObject *iobj = dynamic_cast<InventoryObject *>(child);
 					if (iobj) {
@@ -428,7 +428,7 @@ void Inventory::selectedObject(InventoryObject *obj) {
 		_gui.buttonLayoutChecked("lire")->setEnable(isDocument(objId));
 		game->setCurrentObjectSprite(obj->spritePath());
 		TeLayout *textObj = _gui.layout("textObject");
-		for (long i = 0; i < textObj->childCount(); i++) {
+		for (int i = 0; i < textObj->childCount(); i++) {
 			if (textObj->child(i)->name() == obj->name()) {
 				textObj->setVisible(true);
 				textObj->child(i)->setVisible(true);
diff --git a/engines/tetraedge/game/lua_binds.cpp b/engines/tetraedge/game/lua_binds.cpp
index 47a696acbdb..0a1483145f0 100644
--- a/engines/tetraedge/game/lua_binds.cpp
+++ b/engines/tetraedge/game/lua_binds.cpp
@@ -1995,7 +1995,7 @@ static void MoveCharacterPlayerTo(float x, float y, float z, bool walkFlag) {
 		return;
 
 	if (game->walkTimer().running() && game->walkTimer().timeElapsed() < 300000) {
-		unsigned long elapsed = game->walkTimer().timeElapsed();
+		uint64 elapsed = game->walkTimer().timeElapsed();
 		game->walkTimer().stop();
 		if (elapsed < 300000) {
 			character->walkMode("Jog");
diff --git a/engines/tetraedge/te/te_3d_object2.cpp b/engines/tetraedge/te/te_3d_object2.cpp
index 069d1bb04ef..d9f78e4bd0d 100644
--- a/engines/tetraedge/te/te_3d_object2.cpp
+++ b/engines/tetraedge/te/te_3d_object2.cpp
@@ -77,11 +77,11 @@ void Te3DObject2::addChildBefore(Te3DObject2 *newChild, const Te3DObject2 *ref)
 	_childListChangedSignal.call();
 }
 
-Te3DObject2 *Te3DObject2::child(long offset) {
+Te3DObject2 *Te3DObject2::child(int offset) {
 	return _children[offset];
 }
 
-long Te3DObject2::childIndex(Te3DObject2 *c) const {
+int Te3DObject2::childIndex(Te3DObject2 *c) const {
 	for (uint i = 0; i < _children.size(); i++) {
 		if (_children[i] == c)
 			return i;
diff --git a/engines/tetraedge/te/te_3d_object2.h b/engines/tetraedge/te/te_3d_object2.h
index c094957c0d0..efce9d64989 100644
--- a/engines/tetraedge/te/te_3d_object2.h
+++ b/engines/tetraedge/te/te_3d_object2.h
@@ -41,12 +41,12 @@ public:
 	// note, probably should be Te*I*3DObject2 args here
 	virtual void addChild(Te3DObject2 *newChild);
 	virtual void addChildBefore(Te3DObject2 *newChild, const Te3DObject2 *ref);
-	virtual Te3DObject2 *child(long offset);
-	long childCount() {
+	virtual Te3DObject2 *child(int offset);
+	int childCount() {
 		return _children.size();
 	}
 
-	long childIndex(Te3DObject2 *childToFind) const;
+	int childIndex(Te3DObject2 *childToFind) const;
 
 	const Common::Array<Te3DObject2 *> &childList() const {
 		return _children;
diff --git a/engines/tetraedge/te/te_bezier_curve.cpp b/engines/tetraedge/te/te_bezier_curve.cpp
index a7d9407352a..5b82dee4a0d 100644
--- a/engines/tetraedge/te/te_bezier_curve.cpp
+++ b/engines/tetraedge/te/te_bezier_curve.cpp
@@ -31,7 +31,7 @@ TeBezierCurve::TeBezierCurve() : _length(0.0), _rawLength(0.0), _lengthNeedsUpda
 _rawLengthNeedsUpdate(true), _numIterations(1000) {
 }
 
-//long TeBezierCurve::bounds(int start);
+//int TeBezierCurve::bounds(int start);
 
 void TeBezierCurve::clear() {
 	_lengthNeedsUpdate = true;
@@ -179,7 +179,7 @@ void TeBezierCurve::setControlPoints(const Common::Array<TeVector3f32> &points)
 	_controlPoints = points;
 }
 
-void TeBezierCurve::setNbIterations(unsigned long iterations) {
+void TeBezierCurve::setNbIterations(uint iterations) {
 	_lengthNeedsUpdate = true;
 	_rawLengthNeedsUpdate = true;
 	_numIterations = iterations;
diff --git a/engines/tetraedge/te/te_bezier_curve.h b/engines/tetraedge/te/te_bezier_curve.h
index 1626cb931f0..71fab8441cb 100644
--- a/engines/tetraedge/te/te_bezier_curve.h
+++ b/engines/tetraedge/te/te_bezier_curve.h
@@ -33,7 +33,7 @@ class TeBezierCurve : public Te3DObject2, public TeReferencesCounter {
 public:
 	TeBezierCurve();
 
-	long bounds(int val);
+	int bounds(int val);
 	void clear();
 	void draw() override;
 	float length();
@@ -44,7 +44,7 @@ public:
 
 	TeVector3f32 retrievePoint(float offset);
 	void setControlPoints(const Common::Array<TeVector3f32> &points);
-	void setNbIterations(unsigned long iterations);
+	void setNbIterations(uint iterations);
 
 	static TeVector3f32 hermiteInterpolate(float param_2, const TeVector3f32 *points, float param_4, float param_5);
 
diff --git a/engines/tetraedge/te/te_button_layout.cpp b/engines/tetraedge/te/te_button_layout.cpp
index 39f11995cd9..ce27136a237 100644
--- a/engines/tetraedge/te/te_button_layout.cpp
+++ b/engines/tetraedge/te/te_button_layout.cpp
@@ -213,7 +213,7 @@ void TeButtonLayout::resetTimeFromLastValidation() {
 	timer->timeElapsed();
 }
 
-long TeButtonLayout::timeFromLastValidation() {
+uint64 TeButtonLayout::timeFromLastValidation() {
 	// probably not needed because we reimplemented how this works.
 	error("TODO: Implement TeButtonLayout::timeFromLastValidation.");
 }
diff --git a/engines/tetraedge/te/te_button_layout.h b/engines/tetraedge/te/te_button_layout.h
index 240123ece2e..b546502cd73 100644
--- a/engines/tetraedge/te/te_button_layout.h
+++ b/engines/tetraedge/te/te_button_layout.h
@@ -46,8 +46,8 @@ public:
 		BUTTON_STATE_ROLLOVER = 3
 	};
 
-	long doubleValidationProtectionTimeoutTime() { return 500; }
-	long frozenValidationTimeoutTime() { return 500; }
+	uint64 doubleValidationProtectionTimeoutTime() { return 500; }
+	uint64 frozenValidationTimeoutTime() { return 500; }
 
 	virtual bool isMouseIn(const TeVector2s32 &mouseloc) override;
 	bool onMouseLeftDown(const Common::Point &pt);
@@ -63,7 +63,7 @@ public:
 	void reset();
 
 	void resetTimeFromLastValidation();
-	long timeFromLastValidation();
+	uint64 timeFromLastValidation();
 
 	void setDisabledLayout(TeLayout *disabledLayout);
 	void setHitZone(TeLayout *hitZoneLayout);
diff --git a/engines/tetraedge/te/te_i_codec.h b/engines/tetraedge/te/te_i_codec.h
index f58bc0c15ff..29909d34290 100644
--- a/engines/tetraedge/te/te_i_codec.h
+++ b/engines/tetraedge/te/te_i_codec.h
@@ -50,7 +50,7 @@ public:
 	virtual void setTopBorderSize(uint val) = 0;
 	virtual uint topBorderSize() = 0;
 	virtual float frameRate() = 0;
-	virtual bool update(unsigned long i, TeImage &imgout) = 0;
+	virtual bool update(uint i, TeImage &imgout) = 0;
 	virtual bool isAtEnd() = 0;
 	virtual TeSignal0Param &onVideoFinished() { return _finishedSignal; };
 	virtual void setColorKeyActivated(bool val) = 0;
diff --git a/engines/tetraedge/te/te_image.cpp b/engines/tetraedge/te/te_image.cpp
index 4e864d983ff..8d297a19b13 100644
--- a/engines/tetraedge/te/te_image.cpp
+++ b/engines/tetraedge/te/te_image.cpp
@@ -39,7 +39,7 @@ void TeImage::copy(TeImage &dest, const TeVector2s32 &vec1, const TeVector2s32 &
 	error("TODO: Implement TeImage::copy");
 }
 
-unsigned long TeImage::countPixelsOfColor(const TeColor &col) const {
+uint64 TeImage::countPixelsOfColor(const TeColor &col) const {
 	error("TODO: Implement TeImage::countPixelsOfColor");
 }
 
diff --git a/engines/tetraedge/te/te_image.h b/engines/tetraedge/te/te_image.h
index c0ec7d241fa..4f9b6379d3b 100644
--- a/engines/tetraedge/te/te_image.h
+++ b/engines/tetraedge/te/te_image.h
@@ -56,7 +56,7 @@ public:
 
 	void copy(TeImage &dest, const TeVector2s32 &vec1, const TeVector2s32 &vec2,
 			  const TeVector2s32 &vec3) const;
-	unsigned long countPixelsOfColor(const TeColor &col) const;
+	uint64 countPixelsOfColor(const TeColor &col) const;
 	//void create(); // never used?
 	void createImg(uint xsize, uint ysize, Common::SharedPtr<TePalette> &palette, Format newformat) {
 		createImg(xsize, ysize, palette, newformat, xsize, ysize);
diff --git a/engines/tetraedge/te/te_images_sequence.cpp b/engines/tetraedge/te/te_images_sequence.cpp
index b32e65ff915..1d993ea28a4 100644
--- a/engines/tetraedge/te/te_images_sequence.cpp
+++ b/engines/tetraedge/te/te_images_sequence.cpp
@@ -120,7 +120,7 @@ bool TeImagesSequence::load(const Common::Path &path) {
 }
 
 
-bool TeImagesSequence::update(unsigned long i, TeImage &imgout) {
+bool TeImagesSequence::update(uint i, TeImage &imgout) {
 	_curFrame = i;
 
 	if (i >= _files.size())
diff --git a/engines/tetraedge/te/te_images_sequence.h b/engines/tetraedge/te/te_images_sequence.h
index 62ac59f00bc..92b004c1f12 100644
--- a/engines/tetraedge/te/te_images_sequence.h
+++ b/engines/tetraedge/te/te_images_sequence.h
@@ -51,7 +51,7 @@ public:
 	virtual uint topBorderSize() override { return 0; }
 	virtual TeImage::Format imageFormat() override;
 	virtual float frameRate() override { return _frameRate; }
-	virtual bool update(unsigned long i, TeImage &imgout) override;
+	virtual bool update(uint i, TeImage &imgout) override;
 	virtual bool isAtEnd() override;
 	virtual void setColorKeyActivated(bool val) override { }
 	virtual void setColorKey(const TeColor &col) override { }
diff --git a/engines/tetraedge/te/te_lua_thread.h b/engines/tetraedge/te/te_lua_thread.h
index 86e554d613f..e5e4c5cf648 100644
--- a/engines/tetraedge/te/te_lua_thread.h
+++ b/engines/tetraedge/te/te_lua_thread.h
@@ -65,8 +65,8 @@ private:
 	void _resume(int nargs);
 
 	lua_State *_luaThread;
+	uint64 _resumeCount;
 	int _bottomRef;
-	long _resumeCount;
 	int _lastResumeResult;
 	bool _released;
 
diff --git a/engines/tetraedge/te/te_matricies_stack.cpp b/engines/tetraedge/te/te_matricies_stack.cpp
index 8ab5e133796..3d9cf595e25 100644
--- a/engines/tetraedge/te/te_matricies_stack.cpp
+++ b/engines/tetraedge/te/te_matricies_stack.cpp
@@ -68,7 +68,7 @@ void TeMatriciesStack::scale(const TeVector3f32 &scale) {
 	_stack.top().scale(scale);
 }
 
-long TeMatriciesStack::size() {
+uint TeMatriciesStack::size() {
 	return _stack.size();
 }
 
diff --git a/engines/tetraedge/te/te_matricies_stack.h b/engines/tetraedge/te/te_matricies_stack.h
index 7125f3a197b..93b16d7d947 100644
--- a/engines/tetraedge/te/te_matricies_stack.h
+++ b/engines/tetraedge/te/te_matricies_stack.h
@@ -43,7 +43,7 @@ public:
 	void rotate(const TeQuaternion &rot);
 	void rotate(float f, const TeVector3f32 &rot);
 	void scale(const TeVector3f32 &scale);
-	long size();
+	uint size();
 	void translate(const TeVector3f32 &trans);
 
 private:
diff --git a/engines/tetraedge/te/te_mesh.cpp b/engines/tetraedge/te/te_mesh.cpp
index 42ee76e2a5f..0a23828d5b6 100644
--- a/engines/tetraedge/te/te_mesh.cpp
+++ b/engines/tetraedge/te/te_mesh.cpp
@@ -90,7 +90,7 @@ TeVector3f32 TeMesh::normal(uint idx) const {
 		return _normals[idx];
 }
 
-void TeMesh::resizeUpdatedTables(unsigned long newSize) {
+void TeMesh::resizeUpdatedTables(uint newSize) {
 	_updatedVerticies.resize(newSize);
 	_updatedNormals.resize(newSize);
 }
@@ -118,7 +118,7 @@ void TeMesh::setColor(uint idx, const TeColor &col) {
 	_colors[idx] = col;
 }
 
-void TeMesh::setConf(unsigned long vertexCount, unsigned long indexCount, enum Mode mode, uint materialCount, uint materialIndexCount) {
+void TeMesh::setConf(uint vertexCount, uint indexCount, enum Mode mode, uint materialCount, uint materialIndexCount) {
 	destroy();
 	_initialMaterialIndexCount = materialIndexCount;
 	_verticies.resize(vertexCount);
diff --git a/engines/tetraedge/te/te_mesh.h b/engines/tetraedge/te/te_mesh.h
index 5936830b3fd..f2578eb40cb 100644
--- a/engines/tetraedge/te/te_mesh.h
+++ b/engines/tetraedge/te/te_mesh.h
@@ -86,11 +86,11 @@ public:
 	TeVector3f32 normal(uint idx) const;
 
 	void optimizeVerticies();
-	void resizeUpdatedTables(unsigned long newSize);
+	void resizeUpdatedTables(uint newSize);
 
 	void setColor(const TeColor &col) override;
 	void setColor(uint idx, const TeColor &col);
-	void setConf(unsigned long vertexCount, unsigned long indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
+	void setConf(uint vertexCount, uint indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
 	void setIndex(uint idx, uint val);
 	void setNormal(uint idx, const TeVector3f32 &val);
 	void setTextureUV(uint idx, const TeVector2f32 &val);
diff --git a/engines/tetraedge/te/te_mesh_opengl.cpp b/engines/tetraedge/te/te_mesh_opengl.cpp
index e1646a3e653..6b8e896b3f2 100644
--- a/engines/tetraedge/te/te_mesh_opengl.cpp
+++ b/engines/tetraedge/te/te_mesh_opengl.cpp
@@ -225,7 +225,7 @@ uint32 TeMeshOpenGL::getTexEnvMode() const {
 	return _gltexEnvMode;
 }
 
-void TeMeshOpenGL::setConf(unsigned long vertexCount, unsigned long indexCount, enum Mode mode, uint materialCount, uint materialIndexCount) {
+void TeMeshOpenGL::setConf(uint vertexCount, uint indexCount, enum Mode mode, uint materialCount, uint materialIndexCount) {
 	destroy();
 	_initialMaterialIndexCount = materialIndexCount;
 	_verticies.resize(vertexCount);
diff --git a/engines/tetraedge/te/te_mesh_opengl.h b/engines/tetraedge/te/te_mesh_opengl.h
index e8ea7d85140..9f36c6f4108 100644
--- a/engines/tetraedge/te/te_mesh_opengl.h
+++ b/engines/tetraedge/te/te_mesh_opengl.h
@@ -37,7 +37,7 @@ public:
 	TeMesh::Mode getMode() const override;
 	void setMode(enum Mode mode) override;
 
-	void setConf(unsigned long vertexCount, unsigned long indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
+	void setConf(uint vertexCount, uint indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
 
 	void setglTexEnvBlend() override;
 	uint32 getTexEnvMode() const override;
diff --git a/engines/tetraedge/te/te_mesh_tinygl.h b/engines/tetraedge/te/te_mesh_tinygl.h
index 73d6e6cd8fa..61327190c25 100644
--- a/engines/tetraedge/te/te_mesh_tinygl.h
+++ b/engines/tetraedge/te/te_mesh_tinygl.h
@@ -37,7 +37,7 @@ public:
 	TeMesh::Mode getMode() const override;
 	void setMode(enum Mode mode) override;
 
-	void setConf(unsigned long vertexCount, unsigned long indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
+	void setConf(uint vertexCount, uint indexCount, enum Mode mode, uint materialCount, uint materialIndexCount);
 
 	void setglTexEnvBlend() override;
 	uint32 getTexEnvMode() const override;
diff --git a/engines/tetraedge/te/te_model.cpp b/engines/tetraedge/te/te_model.cpp
index 96a6a808eed..36adb48eb8a 100644
--- a/engines/tetraedge/te/te_model.cpp
+++ b/engines/tetraedge/te/te_model.cpp
@@ -174,7 +174,7 @@ void TeModel::update() {
 		Common::Array<TeMatrix4x4> matricies;
 		matricies.resize(_bones.size());
 		for (uint i = 0; i < _bones.size(); i++) {
-			const bone &b = _bones[i];
+			const Bone &b = _bones[i];
 			const TeMatrix4x4 matrix = TeMatrix4x4::fromTRS(b._trs);
 			if (b._parentBone == -1 || _bones.size() < 2) {
 				matricies[0] = matrix;
@@ -603,7 +603,7 @@ void TeModel::setVisibleByName(const Common::String &name, bool vis) {
 	}
 }
 
-TeMatrix4x4 TeModel::skinOffset(unsigned long boneno) const {
+TeMatrix4x4 TeModel::skinOffset(uint boneno) const {
 	if (boneno >= _skinOffsets.size())
 		return TeMatrix4x4();
 	return _skinOffsets[boneno];
diff --git a/engines/tetraedge/te/te_model.h b/engines/tetraedge/te/te_model.h
index 52dfb296618..5448003b9ec 100644
--- a/engines/tetraedge/te/te_model.h
+++ b/engines/tetraedge/te/te_model.h
@@ -33,6 +33,7 @@
 #include "tetraedge/te/te_tiled_texture.h"
 #include "tetraedge/te/te_intrusive_ptr.h"
 #include "tetraedge/te/te_quaternion.h"
+#include "tetraedge/te/te_resource.h"
 
 namespace Tetraedge {
 
@@ -62,7 +63,7 @@ public:
 		TeTimer _timer;
 	};
 
-	struct bone {
+	struct Bone {
 		Common::String _name;
 		short _parentBone;
 		TeTRS _trs;
@@ -111,7 +112,7 @@ public:
 	void removeAnim();
 	void update();
 
-	void saveBone(Common::SeekableWriteStream &stream, unsigned long boneno);
+	void saveBone(Common::SeekableWriteStream &stream, uint boneno);
 	void saveMesh(Common::SeekableWriteStream &stream, const TeMesh &mesh);
 	void saveModel(Common::SeekableWriteStream &stream, uint num);
 	void saveWeights(Common::SeekableWriteStream &stream, const Common::Array<weightElement> weights);
@@ -122,7 +123,7 @@ public:
 	void setVertexAnim(TeIntrusivePtr<TeModelVertexAnimation> &anim, bool repeat);
 	void setVisibleByName(const Common::String &mname, bool vis);
 
-	TeMatrix4x4 skinOffset(unsigned long boneno) const;
+	TeMatrix4x4 skinOffset(uint boneno) const;
 
 	static Common::SeekableReadStream *tryLoadZlibStream(Common::SeekableReadStream &instr);
 
@@ -148,7 +149,7 @@ protected:
 	TeMatrix4x4 _forcedMatrix;
 	Common::Array<BonesBlender *> _boneBlenders;
 	Common::Array<MeshBlender *> _meshBlenders;
-	Common::Array<bone> _bones;
+	Common::Array<Bone> _bones;
 	Common::Array<TeMatrix4x4> _skinOffsets;
 	Common::Array<TeMatrix4x4> _boneMatricies;
 	Common::Array<TeMatrix4x4> _lerpedElements;
diff --git a/engines/tetraedge/te/te_model_animation.cpp b/engines/tetraedge/te/te_model_animation.cpp
index 23a60904fd6..a56b369f63f 100644
--- a/engines/tetraedge/te/te_model_animation.cpp
+++ b/engines/tetraedge/te/te_model_animation.cpp
@@ -93,9 +93,9 @@ int TeModelAnimation::firstFrame() const {
 	return _firstFrame;
 }
 
-//TeMatrix4x4 TeModelAnimation::getMatrix(const Common::String &mname, unsigned long frame, bool param_5);
+//TeMatrix4x4 TeModelAnimation::getMatrix(const Common::String &mname, uint frame, bool param_5);
 
-TeQuaternion TeModelAnimation::getNMORotation(unsigned long boneNo, float amount) const {
+TeQuaternion TeModelAnimation::getNMORotation(uint boneNo, float amount) const {
 	if (boneNo < _nmoRotArrays.size()) {
 		const Common::Array<NMORotation> &arr = _nmoRotArrays[boneNo];
 		if (arr.size()) {
@@ -119,7 +119,7 @@ TeQuaternion TeModelAnimation::getNMORotation(unsigned long boneNo, float amount
 	return TeQuaternion(0, 0, 0, 1.0);
 }
 
-TeVector3f32 TeModelAnimation::getNMOTranslation(unsigned long boneNo, float amount) const {
+TeVector3f32 TeModelAnimation::getNMOTranslation(uint boneNo, float amount) const {
 	if (boneNo < _nmoTransArrays.size()) {
 		const Common::Array<NMOTranslation> &arr = _nmoTransArrays[boneNo];
 		if (arr.size()) {
@@ -143,9 +143,9 @@ TeVector3f32 TeModelAnimation::getNMOTranslation(unsigned long boneNo, float amo
 	return TeVector3f32(0, 0, 0);
 }
 
-//TeTRS TeModelAnimation::getTRS(const Common::String &boneName, unsigned long frame, bool forceUseFbx);
+//TeTRS TeModelAnimation::getTRS(const Common::String &boneName, uint frame, bool forceUseFbx);
 
-TeTRS TeModelAnimation::getTRS(unsigned long boneNo, unsigned long frame, bool forceUseFbx) const {
+TeTRS TeModelAnimation::getTRS(uint boneNo, uint frame, bool forceUseFbx) const {
 	TeTRS retval;
 
 	if (!_useNMOArrays || forceUseFbx) {
@@ -281,11 +281,11 @@ void TeModelAnimation::reset() {
 	_lastFrame = SHRT_MAX;
 }
 
-void TeModelAnimation::resizeFBXArrays(unsigned long len) {
+void TeModelAnimation::resizeFBXArrays(uint len) {
 	_fbxArrays.resize(len);
 }
 
-void TeModelAnimation::resizeNMOArrays(unsigned long len) {
+void TeModelAnimation::resizeNMOArrays(uint len) {
 	_nmoTransArrays.resize(len);
 	_nmoRotArrays.resize(len);
 	_nmoScaleArrays.resize(len);
@@ -302,7 +302,7 @@ void TeModelAnimation::setBoneName(uint boneNo, const Common::String &bname) {
 	_boneNames[boneNo] = bname;
 }
 
-void TeModelAnimation::setRotation(unsigned long num, float amount, const TeQuaternion &rot) {
+void TeModelAnimation::setRotation(uint num, float amount, const TeQuaternion &rot) {
 	if (!_useNMOArrays) {
 		uint frame = amount;
 		if (_fbxArrays[num].size() <= frame)
@@ -316,12 +316,12 @@ void TeModelAnimation::setRotation(unsigned long num, float amount, const TeQuat
 	}
 }
 
-void TeModelAnimation::setScale(unsigned long num, float amount, const TeVector3f32 &scale) {
+void TeModelAnimation::setScale(uint num, float amount, const TeVector3f32 &scale) {
 	// NOTE: This isn't actually implemented in the original.
 	error("TeModelAnimation::setScale not implemented in original game.");
 }
 
-void TeModelAnimation::setTranslation(unsigned long num, float amount, const TeVector3f32 &trans) {
+void TeModelAnimation::setTranslation(uint num, float amount, const TeVector3f32 &trans) {
 	if (!_useNMOArrays) {
 		uint frame = amount;
 		if (_fbxArrays[num].size() <= frame)
diff --git a/engines/tetraedge/te/te_model_animation.h b/engines/tetraedge/te/te_model_animation.h
index 5eb540f4362..79e7d46cd73 100644
--- a/engines/tetraedge/te/te_model_animation.h
+++ b/engines/tetraedge/te/te_model_animation.h
@@ -66,18 +66,18 @@ public:
 	void destroy();
 	int findBone(const Common::String &bname);
 	int firstFrame() const;
-	TeMatrix4x4 getMatrix(const Common::String &name, unsigned long frame, bool param_5);
-	TeQuaternion getNMORotation(unsigned long boneNo, float amount) const;
-	TeVector3f32 getNMOTranslation(unsigned long boneNo, float amount) const;
-	TeTRS getTRS(const Common::String &boneName, unsigned long frame, bool forceUseFbx);
-	TeTRS getTRS(unsigned long boneNo, unsigned long frame, bool forceUseFbx) const;
+	TeMatrix4x4 getMatrix(const Common::String &name, uint frame, bool param_5);
+	TeQuaternion getNMORotation(uint boneNo, float amount) const;
+	TeVector3f32 getNMOTranslation(uint boneNo, float amount) const;
+	TeTRS getTRS(const Common::String &boneName, uint frame, bool forceUseFbx);
+	TeTRS getTRS(uint boneNo, uint frame, bool forceUseFbx) const;
 	int lastFrame() const;
 	bool load(const Common::Path &path);
 	bool load(Common::SeekableReadStream &stream);
 	int nbFrames();
 	void reset() override;
-	void resizeFBXArrays(unsigned long len);
-	void resizeNMOArrays(unsigned long len);
+	void resizeFBXArrays(uint len);
+	void resizeNMOArrays(uint len);
 	void save(Common::SeekableWriteStream &stream);
 	void saveBone(Common::SeekableWriteStream &stream, uint boneNo);
 	void setBoneName(uint boneNo, const Common::String &bname);
@@ -85,9 +85,9 @@ public:
 		_firstFrame = framemin;
 		_lastFrame = framemax;
 	}
-	void setRotation(unsigned long num, float amount, const TeQuaternion &rot);
-	void setScale(unsigned long num, float amount, const TeVector3f32 &scale);
-	void setTranslation(unsigned long num, float amount, const TeVector3f32 &trans);
+	void setRotation(uint num, float amount, const TeQuaternion &rot);
+	void setScale(uint num, float amount, const TeVector3f32 &scale);
+	void setTranslation(uint num, float amount, const TeVector3f32 &trans);
 	void unbind();
 	void update(double millis) override;
 
diff --git a/engines/tetraedge/te/te_model_vertex_animation.cpp b/engines/tetraedge/te/te_model_vertex_animation.cpp
index 83073e17cc5..f194279076f 100644
--- a/engines/tetraedge/te/te_model_vertex_animation.cpp
+++ b/engines/tetraedge/te/te_model_vertex_animation.cpp
@@ -37,7 +37,7 @@ void TeModelVertexAnimation::destroy() {
 	_keydata.clear();
 }
 
-TeVector3f32 TeModelVertexAnimation::getKeyVertex(unsigned long keyno, uint vertexno) {
+TeVector3f32 TeModelVertexAnimation::getKeyVertex(uint keyno, uint vertexno) {
 	assert(keyno < _keydata.size());
 	const KeyData &data = _keydata[keyno];
 	assert(vertexno < data._vectors.size());
diff --git a/engines/tetraedge/te/te_model_vertex_animation.h b/engines/tetraedge/te/te_model_vertex_animation.h
index 27ed4fffe91..7359845d336 100644
--- a/engines/tetraedge/te/te_model_vertex_animation.h
+++ b/engines/tetraedge/te/te_model_vertex_animation.h
@@ -56,7 +56,7 @@ public:
 	void destroy();
 
 	const Common::String &head() const { return _head; }
-	TeVector3f32 getKeyVertex(unsigned long keyno, uint vertexno);
+	TeVector3f32 getKeyVertex(uint keyno, uint vertexno);
 	Common::Array<TeVector3f32> getVertices();
 
 	bool load(Common::ReadStream &stream);
diff --git a/engines/tetraedge/te/te_pick_mesh2.cpp b/engines/tetraedge/te/te_pick_mesh2.cpp
index 284316268a1..96cd86b9ec5 100644
--- a/engines/tetraedge/te/te_pick_mesh2.cpp
+++ b/engines/tetraedge/te/te_pick_mesh2.cpp
@@ -61,7 +61,7 @@ void TePickMesh2::draw() {
 	renderer->disableWireFrame();
 }
 
-bool TePickMesh2::intersect(const TeVector3f32 &origin, const TeVector3f32 &dir, TeVector3f32 &hitPtOut, float &hitDistOut, bool lastHitFirst, unsigned long *triangleHitOut) {
+bool TePickMesh2::intersect(const TeVector3f32 &origin, const TeVector3f32 &dir, TeVector3f32 &hitPtOut, float &hitDistOut, bool lastHitFirst, uint *triangleHitOut) {
 	if (_verticies.size() / 3 == 0)
 		return false;
 
@@ -110,7 +110,7 @@ bool TePickMesh2::intersect2D(const TeVector2f32 &pt) {
 	error("TODO: Implement TePickMesh2::intersect2D");
 }
 
-unsigned long TePickMesh2::lastTriangleHit() const {
+uint TePickMesh2::lastTriangleHit() const {
 	if (_lastTriangleHit < _verticies.size() / 3)
 		return _lastTriangleHit;
 	return 0;
diff --git a/engines/tetraedge/te/te_pick_mesh2.h b/engines/tetraedge/te/te_pick_mesh2.h
index bdda1bab0b6..929478fbda1 100644
--- a/engines/tetraedge/te/te_pick_mesh2.h
+++ b/engines/tetraedge/te/te_pick_mesh2.h
@@ -35,9 +35,9 @@ public:
 
 	void draw() override;
 
-	bool intersect(const TeVector3f32 &v1, const TeVector3f32 &v2, TeVector3f32 &v3, float &fout, bool useLastHit, unsigned long *triangleHitOut);
+	bool intersect(const TeVector3f32 &v1, const TeVector3f32 &v2, TeVector3f32 &v3, float &fout, bool useLastHit, uint *triangleHitOut);
 	bool intersect2D(const TeVector2f32 &pt);
-	unsigned long lastTriangleHit() const;
+	uint lastTriangleHit() const;
 
 	bool pointInTriangle(const TeVector2f32 &p1, const TeVector2f32 &p2, const TeVector2f32 &p3, const TeVector2f32 &p4) const;
 
diff --git a/engines/tetraedge/te/te_real_timer.cpp b/engines/tetraedge/te/te_real_timer.cpp
index bb29eafbe64..de4d736e9a3 100644
--- a/engines/tetraedge/te/te_real_timer.cpp
+++ b/engines/tetraedge/te/te_real_timer.cpp
@@ -30,12 +30,12 @@ TeRealTimer::TeRealTimer() : _startTime(0), _paused(false), _maxTimeSeen(0), _st
 	_pausedTime = 0;
 }
 
-static unsigned long getUsecs() {
-	return (unsigned long)g_system->getMillis() * 1000;
+static uint64 getUsecs() {
+	return (uint64)g_system->getMillis() * 1000;
 }
 
-unsigned long TeRealTimer::getTimeFromStart() {
-	unsigned long timeNow;
+uint64 TeRealTimer::getTimeFromStart() {
+	uint64 timeNow;
 	if (_paused)
 		timeNow = _pausedTime;
 	else
@@ -46,7 +46,7 @@ unsigned long TeRealTimer::getTimeFromStart() {
 
 void TeRealTimer::pause() {
 	if (!_paused) {
-		unsigned long timeNow = getUsecs();
+		uint64 timeNow = getUsecs();
 		if (timeNow < _maxTimeSeen)
 			timeNow = _maxTimeSeen;
 		_maxTimeSeen = timeNow;
@@ -57,7 +57,7 @@ void TeRealTimer::pause() {
 
 void TeRealTimer::start() {
 	if (_paused) {
-		unsigned long timeNow = getUsecs();
+		uint64 timeNow = getUsecs();
 		if (timeNow < _maxTimeSeen)
 			timeNow = _maxTimeSeen;
 		timeNow += (_startTime - _pausedTime);
@@ -75,36 +75,36 @@ void TeRealTimer::stop() {
 	_pausedTime = 0;
 }
 
-unsigned long TeRealTimer::systemTime() {
+uint64 TeRealTimer::systemTime() {
 	return getUsecs();
 }
 
-unsigned long TeRealTimer::monotonicSystemTime() {
-	unsigned long timeNow = getUsecs();
+uint64 TeRealTimer::monotonicSystemTime() {
+	uint64 timeNow = getUsecs();
 	if (_maxTimeSeen < timeNow)
 		_maxTimeSeen = timeNow;
 	return _maxTimeSeen;
 }
 
-unsigned long TeRealTimer::time_() {
+uint64 TeRealTimer::time_() {
 	return systemTime();
 }
 
 /* Time elapsed from the start */
-unsigned long TeRealTimer::timeElapsed() {
-	unsigned long timeNow = getUsecs();
+uint64 TeRealTimer::timeElapsed() {
+	uint64 timeNow = getUsecs();
 	if (_maxTimeSeen < timeNow)
 		_maxTimeSeen = timeNow;
 	_startTime2 = _maxTimeSeen;
-	unsigned long elapsed = _maxTimeSeen - _startTime;
+	uint64 elapsed = _maxTimeSeen - _startTime;
 	return elapsed;
 }
 
-unsigned long TeRealTimer::timeFromLastTimeElapsed() {
-	unsigned long timeNow = getUsecs();
+uint64 TeRealTimer::timeFromLastTimeElapsed() {
+	uint64 timeNow = getUsecs();
 	if (_maxTimeSeen < timeNow)
 		_maxTimeSeen = timeNow;
-	unsigned long elapsed = _maxTimeSeen - _startTime2;
+	uint64 elapsed = _maxTimeSeen - _startTime2;
 	return elapsed;
 }
 
diff --git a/engines/tetraedge/te/te_real_timer.h b/engines/tetraedge/te/te_real_timer.h
index 78020556952..d11be68efba 100644
--- a/engines/tetraedge/te/te_real_timer.h
+++ b/engines/tetraedge/te/te_real_timer.h
@@ -29,24 +29,24 @@ class TeRealTimer {
 public:
 	TeRealTimer();
 
-	unsigned long getTimeFromStart();
+	uint64 getTimeFromStart();
 	void pause();
 	void start();
 	void stop();
-	unsigned long systemTime();
-	unsigned long monotonicSystemTime();
-	unsigned long time_();
-	unsigned long timeElapsed();
-	unsigned long timeFromLastTimeElapsed();
+	uint64 systemTime();
+	uint64 monotonicSystemTime();
+	uint64 time_();
+	uint64 timeElapsed();
+	uint64 timeFromLastTimeElapsed();
 
 	bool isPaused() const { return _paused; }
 
 private:
 	bool _paused;
-	unsigned long _startTime;
-	unsigned long _startTime2;
-	unsigned long _pausedTime;
-	unsigned long _maxTimeSeen;
+	uint64 _startTime;
+	uint64 _startTime2;
+	uint64 _pausedTime;
+	uint64 _maxTimeSeen;
 
 };
 
diff --git a/engines/tetraedge/te/te_renderer.cpp b/engines/tetraedge/te/te_renderer.cpp
index 1e22dcb3ce2..64640174404 100644
--- a/engines/tetraedge/te/te_renderer.cpp
+++ b/engines/tetraedge/te/te_renderer.cpp
@@ -37,7 +37,7 @@ _numTransparentMeshes(0), _pendingTransparentMeshProperties(0), _currentCamera(n
 _scissorX(0), _scissorY(0), _scissorWidth(0), _scissorHeight(0) {
 }
 
-void TeRenderer::addTransparentMesh(const TeMesh &mesh, unsigned long i1, unsigned long tricount, unsigned long materialno) {
+void TeRenderer::addTransparentMesh(const TeMesh &mesh, uint i1, uint tricount, uint materialno) {
 	const float orthNearVal = _currentCamera->orthoNearPlane();
 	const TeMesh::Mode meshMode = mesh.getMode();
 	if (!tricount) {
diff --git a/engines/tetraedge/te/te_renderer.h b/engines/tetraedge/te/te_renderer.h
index 691b4b381ab..4b72f6e6ca1 100644
--- a/engines/tetraedge/te/te_renderer.h
+++ b/engines/tetraedge/te/te_renderer.h
@@ -80,7 +80,7 @@ public:
 		AllBuffers = DepthBuffer | ColorBuffer | StencilBuffer
 	};
 
-	void addTransparentMesh(const TeMesh &mesh, unsigned long i1, unsigned long i2, unsigned long i3);
+	void addTransparentMesh(const TeMesh &mesh, uint i1, uint i2, uint i3);
 	void checkError(const Common::String &str) {};
 	virtual void clearBuffer(Buffer buf) = 0;
 	void create();
@@ -154,7 +154,7 @@ protected:
 	int _scissorX;
 	int _scissorY;
 
-	long _numTransparentMeshes;
+	uint _numTransparentMeshes;
 	Common::Array<TeVector3f32> _transparentMeshVertexes;
 	Common::Array<TeVector3f32> _transparentMeshNormals;
 	Common::Array<TeVector2f32> _transparentMeshCoords;
diff --git a/engines/tetraedge/te/te_scrolling_layout.cpp b/engines/tetraedge/te/te_scrolling_layout.cpp
index 5a0b931f682..70c867878af 100644
--- a/engines/tetraedge/te/te_scrolling_layout.cpp
+++ b/engines/tetraedge/te/te_scrolling_layout.cpp
@@ -279,7 +279,7 @@ bool TeScrollingLayout::onMouseMove(const Common::Point &pt) {
 	_slideDownMousePos = inputmgr->lastMousePos();
 	TeVector3f32 nowMousePos(inputmgr->lastMousePos());
 	_insideMouseThreshold = (_lastMouseDownPos - nowMousePos).length() <= _mouseMoveThreshold;
-	long elapsed = _scrollTimer.timeElapsed();
+	uint64 elapsed = _scrollTimer.timeElapsed();
 	if (elapsed > 0) {
 		_speed = offset / (float)(elapsed / 1000000.0);
 	}
diff --git a/engines/tetraedge/te/te_scummvm_codec.cpp b/engines/tetraedge/te/te_scummvm_codec.cpp
index a1a760b964c..eb0a5e92658 100644
--- a/engines/tetraedge/te/te_scummvm_codec.cpp
+++ b/engines/tetraedge/te/te_scummvm_codec.cpp
@@ -60,7 +60,7 @@ TeImage::Format TeScummvmCodec::imageFormat() {
 	return TeImage::RGBA8;
 }
 
-bool TeScummvmCodec::update(unsigned long i, TeImage &imgout) {
+bool TeScummvmCodec::update(uint i, TeImage &imgout) {
 	if (!_loadedSurface)
 		return false;
 
diff --git a/engines/tetraedge/te/te_scummvm_codec.h b/engines/tetraedge/te/te_scummvm_codec.h
index dad39372c7d..a4ec0541dc9 100644
--- a/engines/tetraedge/te/te_scummvm_codec.h
+++ b/engines/tetraedge/te/te_scummvm_codec.h
@@ -47,7 +47,7 @@ public:
 	virtual void setTopBorderSize(uint val) override  { }
 	virtual uint topBorderSize() override { return 0; }
 	virtual float frameRate() override { return 0.0; }
-	virtual bool update(unsigned long i, TeImage &imgout) override;
+	virtual bool update(uint i, TeImage &imgout) override;
 	virtual bool isAtEnd() override { return true; }
 	virtual void setColorKeyActivated(bool val) override { }
 	virtual void setColorKey(const TeColor &col) override { }
diff --git a/engines/tetraedge/te/te_sprite_layout.cpp b/engines/tetraedge/te/te_sprite_layout.cpp
index 6826cca91c2..42a4d4b7b81 100644
--- a/engines/tetraedge/te/te_sprite_layout.cpp
+++ b/engines/tetraedge/te/te_sprite_layout.cpp
@@ -154,7 +154,7 @@ void TeSpriteLayout::pause() {
 	_tiledSurfacePtr->pause();
 }
 
-void TeSpriteLayout::setBufferSize(long bufsize) {
+void TeSpriteLayout::setBufferSize(int bufsize) {
 	_tiledSurfacePtr->setBufferSize(bufsize);
 }
 
diff --git a/engines/tetraedge/te/te_sprite_layout.h b/engines/tetraedge/te/te_sprite_layout.h
index 1f2058b804f..e2621cb27bb 100644
--- a/engines/tetraedge/te/te_sprite_layout.h
+++ b/engines/tetraedge/te/te_sprite_layout.h
@@ -45,7 +45,7 @@ public:
 	void pause();
 	void play();
 
-	void setBufferSize(long bufsize);
+	void setBufferSize(int bufsize);
 	void setColor(const TeColor &col) override;
 
 	void setColorKey(const TeColor &col);
diff --git a/engines/tetraedge/te/te_text_base2.cpp b/engines/tetraedge/te/te_text_base2.cpp
index ccd5d8972a6..a290b40772a 100644
--- a/engines/tetraedge/te/te_text_base2.cpp
+++ b/engines/tetraedge/te/te_text_base2.cpp
@@ -272,7 +272,7 @@ void TeTextBase2::setFont(uint offset, const TeIntrusivePtr<TeFont3> &newfont) {
 	_valueWasSet = true;
 }
 
-void TeTextBase2::setFontSize(unsigned long newSize) {
+void TeTextBase2::setFontSize(int newSize) {
 	if (_fontSize != newSize) {
 		_fontSize = newSize;
 		_valueWasSet = true;
diff --git a/engines/tetraedge/te/te_text_base2.h b/engines/tetraedge/te/te_text_base2.h
index e862ff9e1f0..8c6936f2ede 100644
--- a/engines/tetraedge/te/te_text_base2.h
+++ b/engines/tetraedge/te/te_text_base2.h
@@ -66,7 +66,7 @@ public:
 	void setAlignStyle(TeFont3::AlignStyle style);
 	void setColor(uint offset, const TeColor &color);
 	void setFont(uint offset, const TeIntrusivePtr<TeFont3> &newfont);
-	void setFontSize(unsigned long fontSz);
+	void setFontSize(int fontSz);
 	void setGlobalColor(const TeColor &color);
 	void setInterLine(float val);
 	void setRect(const TeVector2s32 &rect);
@@ -86,7 +86,7 @@ private:
 
 	TeFont3::AlignStyle _alignStyle;
 	WrapMode _wrapMode;
-	unsigned long _fontSize;
+	int _fontSize;
 	bool _valueWasSet;
 	TeColor _globalColor;
 	float _interLine;
diff --git a/engines/tetraedge/te/te_theora.cpp b/engines/tetraedge/te/te_theora.cpp
index 0d456e8c0ec..d6bd959d707 100644
--- a/engines/tetraedge/te/te_theora.cpp
+++ b/engines/tetraedge/te/te_theora.cpp
@@ -97,7 +97,7 @@ float TeTheora::frameRate() {
 	return _decoder->getRate().toDouble();
 }
 
-bool TeTheora::update(unsigned long i, TeImage &imgout) {
+bool TeTheora::update(uint i, TeImage &imgout) {
 	if (_decoder->getCurFrame() > (int)i && !_path.empty()) {
 		// rewind.. no good way to do that, but it should
 		// only happen on loop.
diff --git a/engines/tetraedge/te/te_theora.h b/engines/tetraedge/te/te_theora.h
index 5b58d7dbd98..d59dd60d8fc 100644
--- a/engines/tetraedge/te/te_theora.h
+++ b/engines/tetraedge/te/te_theora.h
@@ -50,7 +50,7 @@ public:
 	virtual void setTopBorderSize(uint val) override;
 	virtual uint topBorderSize() override;
 	virtual float frameRate() override;
-	virtual bool update(unsigned long i, TeImage &imgout) override;
+	virtual bool update(uint i, TeImage &imgout) override;
 	virtual bool isAtEnd() override;
 	virtual void setColorKeyActivated(bool val) override;
 	virtual void setColorKey(const TeColor &col) override;
diff --git a/engines/tetraedge/te/te_tiled_texture.cpp b/engines/tetraedge/te/te_tiled_texture.cpp
index c3eaf550f4c..b70c9ffb79e 100644
--- a/engines/tetraedge/te/te_tiled_texture.cpp
+++ b/engines/tetraedge/te/te_tiled_texture.cpp
@@ -133,11 +133,11 @@ bool TeTiledTexture::load(const TeIntrusivePtr<Te3DTexture> &texture) {
 	return true;
 }
 
-long TeTiledTexture::numberOfColumns() const {
+uint32 TeTiledTexture::numberOfColumns() const {
 	return ceilf((float)_totalSize._x / (float)_tileSize._x);
 }
 
-long TeTiledTexture::numberOfRow() const {
+uint32 TeTiledTexture::numberOfRow() const {
 	return ceilf((float)_totalSize._y / (float)_tileSize._y);
 }
 
diff --git a/engines/tetraedge/te/te_tiled_texture.h b/engines/tetraedge/te/te_tiled_texture.h
index a49ac9b2457..8a0b4e81b8f 100644
--- a/engines/tetraedge/te/te_tiled_texture.h
+++ b/engines/tetraedge/te/te_tiled_texture.h
@@ -49,8 +49,8 @@ public:
 	bool load(const Common::Path &path);
 	bool load(const TeImage &image);
 	bool load(const TeIntrusivePtr<Te3DTexture> &texture);
-	long numberOfColumns() const;
-	long numberOfRow() const;
+	uint32 numberOfColumns() const;
+	uint32 numberOfRow() const;
 
 	TeImage *optimisedTileImage(Common::Array<TeImage> &images, const TeVector2s32 &size,
 								const Common::SharedPtr<TePalette> &pal, enum TeImage::Format format);
diff --git a/engines/tetraedge/te/te_timer.cpp b/engines/tetraedge/te/te_timer.cpp
index d217a4b7b9d..fc53f1b0cbe 100644
--- a/engines/tetraedge/te/te_timer.cpp
+++ b/engines/tetraedge/te/te_timer.cpp
@@ -25,7 +25,7 @@ namespace Tetraedge {
 
 
 /*static*/ bool TeTimer::_pausedAll = false;
-/*static*/ unsigned long TeTimer::_realTime = 0;
+/*static*/ uint64 TeTimer::_realTime = 0;
 /*static*/ Common::Array<TeTimer *> *TeTimer::_timers = nullptr;
 /*static*/ Common::Array<TeTimer *> *TeTimer::_pausedTimers = nullptr;
 /*static*/ TeRealTimer *TeTimer::_realTimer = nullptr;
@@ -70,7 +70,7 @@ void TeTimer::start() {
 	if (!_stopped)
 		return;
 
-	unsigned long timeOffset = (_realTime - _startTime) + _startTimeOffset;
+	uint64 timeOffset = (_realTime - _startTime) + _startTimeOffset;
 	_startTimeOffset = timeOffset;
 	_startTime = _realTime;
 	_lastTimeElapsed = timeOffset;
@@ -99,14 +99,14 @@ void TeTimer::pause() {
 
 void TeTimer::update() {
 	if (!_updated) {
-		unsigned long timeOffset = (_realTime - _startTime) + _startTimeOffset;
+		uint64 timeOffset = (_realTime - _startTime) + _startTimeOffset;
 		_startTimeOffset = timeOffset;
 		_startTime = _realTime;
 		_lastTimeElapsed = timeOffset;
 		_updated = true;
 	}
 	if (_alarmSet) {
-		unsigned long timeOffset = _realTime;
+		uint64 timeOffset = _realTime;
 		if (_stopped)
 			timeOffset = _startTime;
 		timeOffset -= _startTimeOffset;
@@ -118,8 +118,8 @@ void TeTimer::update() {
 	}
 }
 
-unsigned long TeTimer::getTimeFromStart() {
-	unsigned long timeNow;
+uint64 TeTimer::getTimeFromStart() {
+	uint64 timeNow;
 	if (!_stopped)
 		timeNow = _realTime;
 	else
@@ -127,17 +127,17 @@ unsigned long TeTimer::getTimeFromStart() {
 	return timeNow - _startTimeOffset;
 }
 
-unsigned long TeTimer::timeElapsed() {
-	unsigned long elapsed = _realTime - _lastTimeElapsed;
+uint64 TeTimer::timeElapsed() {
+	uint64 elapsed = _realTime - _lastTimeElapsed;
 	_lastTimeElapsed = elapsed + _lastTimeElapsed;
 	return elapsed;
 }
 
-unsigned long TeTimer::timeFromLastTimeElapsed() {
+uint64 TeTimer::timeFromLastTimeElapsed() {
 	return realTimer()->time_() - _lastTimeElapsed;
 }
 
-unsigned long TeTimer::time_() {
+uint64 TeTimer::time_() {
 	return realTimer()->time_();
 }
 
@@ -166,8 +166,8 @@ void TeTimer::pausable(bool ispausable) {
 	}
 }
 
-void TeTimer::setAlarmIn(unsigned long offset) {
-	unsigned long timeNow = _realTime;
+void TeTimer::setAlarmIn(uint64 offset) {
+	uint64 timeNow = _realTime;
 	if (_stopped)
 		timeNow = _startTime;
 	timeNow -= _startTimeOffset;
diff --git a/engines/tetraedge/te/te_timer.h b/engines/tetraedge/te/te_timer.h
index 93d5d6d348d..e80d71f5cd7 100644
--- a/engines/tetraedge/te/te_timer.h
+++ b/engines/tetraedge/te/te_timer.h
@@ -23,6 +23,7 @@
 #define TETRAEDGE_TE_TE_TIMER_H
 
 #include "common/array.h"
+#include "common/types.h"
 
 #include "tetraedge/te/te_signal.h"
 #include "tetraedge/te/te_real_timer.h"
@@ -38,12 +39,12 @@ public:
 	void start();
 	void pause();
 	void update();
-	unsigned long getTimeFromStart();
-	void setAlarmIn(unsigned long offset);
-	unsigned long timeElapsed();
-	unsigned long timeFromLastTimeElapsed();
-	unsigned long time_();
-	void setTime(unsigned long time);
+	uint64 getTimeFromStart();
+	void setAlarmIn(uint64 offset);
+	uint64 timeElapsed();
+	uint64 timeFromLastTimeElapsed();
+	uint64 time_();
+	void setTime(uint64 time);
 
 	void pausable(bool ispausable);
 
@@ -62,10 +63,10 @@ private:
 	static Common::Array<TeTimer *> *timers();
 	static Common::Array<TeTimer *> *pausedTimers();
 
-	unsigned long _startTime;
-	unsigned long _startTimeOffset;
-	unsigned long _alarmTime;
-	unsigned long _lastTimeElapsed;
+	uint64 _startTime;
+	uint64 _startTimeOffset;
+	uint64 _alarmTime;
+	uint64 _lastTimeElapsed;
 	bool _pausable;
 	bool _alarmSet;
 	bool _updated;
@@ -74,7 +75,7 @@ private:
 	TeSignal0Param _alarmSignal;
 
 	static bool _pausedAll;
-	static unsigned long _realTime;
+	static uint64 _realTime;
 	static Common::Array<TeTimer *> *_timers;
 	static Common::Array<TeTimer *> *_pausedTimers;
 	static TeRealTimer *_realTimer;
diff --git a/engines/tetraedge/te/te_vector2s32.h b/engines/tetraedge/te/te_vector2s32.h
index 1c96dc406a6..afd8cf90ecf 100644
--- a/engines/tetraedge/te/te_vector2s32.h
+++ b/engines/tetraedge/te/te_vector2s32.h
@@ -52,8 +52,8 @@ public:
 		return TeVector2s32(_x - other._x, _y - other._y);
 	}
 
-	long squaredLength() const {
-		return _x * _x + _y * _y;
+	int64 squaredLength() const {
+		return (int64)_x * _x + (int64)_y * _y;
 	}
 
 	static void deserialize(Common::ReadStream &stream, TeVector2s32 &dest);
diff --git a/engines/tetraedge/to_lua.cpp b/engines/tetraedge/to_lua.cpp
index a8b57973000..eea73de6e46 100644
--- a/engines/tetraedge/to_lua.cpp
+++ b/engines/tetraedge/to_lua.cpp
@@ -257,7 +257,7 @@ static int tolua_bnd_release(lua_State *L) {
 }
 
 void tolua_open(lua_State *L) {
-	long luatop = lua_gettop(L);
+	int luatop = lua_gettop(L);
 	lua_pushstring(L, "tolua_opened");
 	lua_rawget(L, LUA_REGISTRYINDEX);
 	if (lua_type(L, -1) != LUA_TBOOLEAN) {


Commit: fe4026782fd109d3380b29c6702d85a72d456bdb
    https://github.com/scummvm/scummvm/commit/fe4026782fd109d3380b29c6702d85a72d456bdb
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Free surface before deleting

Changed paths:
    engines/tetraedge/te/te_scummvm_codec.cpp


diff --git a/engines/tetraedge/te/te_scummvm_codec.cpp b/engines/tetraedge/te/te_scummvm_codec.cpp
index eb0a5e92658..a89465fdf45 100644
--- a/engines/tetraedge/te/te_scummvm_codec.cpp
+++ b/engines/tetraedge/te/te_scummvm_codec.cpp
@@ -31,8 +31,10 @@ TeScummvmCodec::TeScummvmCodec() : _loadedSurface(nullptr) {
 }
 
 TeScummvmCodec::~TeScummvmCodec() {
-	if (_loadedSurface)
+	if (_loadedSurface) {
+		_loadedSurface->free();
 		delete _loadedSurface;
+	}
 }
 
 bool TeScummvmCodec::load(const Common::Path &path) {


Commit: 5db996cf3185206ba530df3c4e4fe5fb69faad7f
    https://github.com/scummvm/scummvm/commit/5db996cf3185206ba530df3c4e4fe5fb69faad7f
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Clear codec on load failure

Changed paths:
    engines/tetraedge/te/te_tiled_surface.cpp


diff --git a/engines/tetraedge/te/te_tiled_surface.cpp b/engines/tetraedge/te/te_tiled_surface.cpp
index 3c56c102e2d..9d8b66b3be2 100644
--- a/engines/tetraedge/te/te_tiled_surface.cpp
+++ b/engines/tetraedge/te/te_tiled_surface.cpp
@@ -89,6 +89,8 @@ bool TeTiledSurface::load(const Common::Path &path) {
 
 			if (_imgFormat == TeImage::INVALID) {
 				warning("TeTiledSurface::load: Wrong image format on file %s", path.toString().c_str());
+				delete _codec;
+				_codec = nullptr;
 				return false;
 			}
 			TeImage img;
@@ -117,6 +119,8 @@ bool TeTiledSurface::load(const Common::Path &path) {
 			}
 		} else {
 			warning("TeTiledSurface::load: failed to load %s", path.toString().c_str());
+			delete _codec;
+			_codec = nullptr;
 		}
 	}
 


Commit: 9df0c012465d2068cf96f048f978a822db51a509
    https://github.com/scummvm/scummvm/commit/9df0c012465d2068cf96f048f978a822db51a509
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Make optional destructor static to avoid MSVC issues

Changed paths:
    engines/tetraedge/game/character.cpp
    engines/tetraedge/te/te_intrusive_ptr.h
    engines/tetraedge/te/te_lua_gui_lua_callbacks.cpp
    engines/tetraedge/te/te_model.cpp
    engines/tetraedge/te/te_model_animation.h
    engines/tetraedge/te/te_model_vertex_animation.h
    engines/tetraedge/te/te_object.cpp
    engines/tetraedge/te/te_object.h


diff --git a/engines/tetraedge/game/character.cpp b/engines/tetraedge/game/character.cpp
index 35331e8c620..849d204e263 100644
--- a/engines/tetraedge/game/character.cpp
+++ b/engines/tetraedge/game/character.cpp
@@ -70,7 +70,7 @@ _walkCurveLen(0.0f), _walkCurveIncrement(0.0f), _walkEndAnimG(false), _walkTotal
 _walkCurveNextLength(0.0f), _walkedLength(0.0f), _walkLoopAnimLen(0.0f), _walkEndGAnimLen(0.0f),
 _walkStartAnimLen(0.0f), _walkStartAnimFrameCount(0), _walkLoopAnimFrameCount(0),
 _walkEndGAnimFrameCount(0), _hasAnchor(false) {
-	_curModelAnim.setDeleteFn(&TeModelAnimation::deleteLater);
+	_curModelAnim.setDeleteFn(&TeModelAnimation::deleteLaterStatic);
 }
 
 Character::~Character() {
diff --git a/engines/tetraedge/te/te_intrusive_ptr.h b/engines/tetraedge/te/te_intrusive_ptr.h
index dd9224ae3ba..c3f7e1bcbe7 100644
--- a/engines/tetraedge/te/te_intrusive_ptr.h
+++ b/engines/tetraedge/te/te_intrusive_ptr.h
@@ -30,7 +30,11 @@ namespace Tetraedge {
  */
 template<class T> class TeIntrusivePtr {
 public:
-	typedef void(T::*Tdestructor)();
+	// NOTE: The original uses a member function for this, which is cleaner, but
+	// MSVC compiles member functions for different class types (forward
+	// declaration, multi-inheritance, etc) as differnt sizes which causes all
+	// sorts of issues.  Only accept a static function to avoid such problems.
+	typedef void(*Tdestructor)(T *obj);
 
 	TeIntrusivePtr() : _p(nullptr), _deleteFn(nullptr) {}
 
@@ -75,7 +79,7 @@ public:
 		if (_p) {
 			if (_p->decrementCounter()) {
 				if (_deleteFn)
-					(_p->*_deleteFn)();
+					(_deleteFn)(_p);
 				else
 					delete _p;
 			}
diff --git a/engines/tetraedge/te/te_lua_gui_lua_callbacks.cpp b/engines/tetraedge/te/te_lua_gui_lua_callbacks.cpp
index f376da34ee0..8bd9152cbd3 100644
--- a/engines/tetraedge/te/te_lua_gui_lua_callbacks.cpp
+++ b/engines/tetraedge/te/te_lua_gui_lua_callbacks.cpp
@@ -383,6 +383,7 @@ int spriteLayoutBindings(lua_State *L) {
 		}
 		lua_settop(L, -2);
 	}
+
 	if (!imgFullPath.empty()) {}
 		layout->load(imgFullPath);
 
@@ -405,12 +406,6 @@ int spriteLayoutBindings(lua_State *L) {
 	if (layout->name() == "11070-1")
 		layout->setName("ab11070-1");
 
-	if (playNow) {
-		layout->play();
-	} else {
-		layout->stop();
-	}
-
 	TeICodec *codec = layout->_tiledSurfacePtr->codec();
 	if (codec) {
 		float frameRate = codec->frameRate();
@@ -422,6 +417,14 @@ int spriteLayoutBindings(lua_State *L) {
 		}
 	}
 
+	// Slight divergence from original.. start playing only after setting
+	// start/end values above as it makes more sense that way.
+	if (playNow) {
+		layout->play();
+	} else {
+		layout->stop();
+	}
+
 	if (!gui->spriteLayout(layout->name())) {
 		TeLuaGUI::StringMap<TeSpriteLayout *> &spriteLayouts = gui->spriteLayouts();
 		spriteLayouts.setVal(layout->name(), layout);
diff --git a/engines/tetraedge/te/te_model.cpp b/engines/tetraedge/te/te_model.cpp
index 36adb48eb8a..774b42f190c 100644
--- a/engines/tetraedge/te/te_model.cpp
+++ b/engines/tetraedge/te/te_model.cpp
@@ -34,8 +34,8 @@
 namespace Tetraedge {
 
 TeModel::TeModel() : _enableLights(false), _skipSkinOffsets(false), _matrixForced(false) {
-	_modelAnim.setDeleteFn(&TeModelAnimation::deleteLater);
-	_modelVertexAnim.setDeleteFn(&TeModelVertexAnimation::deleteLater);
+	_modelAnim.setDeleteFn(&TeModelAnimation::deleteLaterStatic);
+	_modelVertexAnim.setDeleteFn(&TeModelVertexAnimation::deleteLaterStatic);
 	create();
 }
 
@@ -610,7 +610,7 @@ TeMatrix4x4 TeModel::skinOffset(uint boneno) const {
 }
 
 TeModel::BonesBlender::BonesBlender(TeIntrusivePtr<TeModelAnimation> anim, float seconds) : _anim(anim), _seconds(seconds) {
-	_anim.setDeleteFn(&TeModelAnimation::deleteLater);
+	_anim.setDeleteFn(&TeModelAnimation::deleteLaterStatic);
 	_timer.stop();
 	_timer.start();
 }
diff --git a/engines/tetraedge/te/te_model_animation.h b/engines/tetraedge/te/te_model_animation.h
index 79e7d46cd73..ddecc4abf42 100644
--- a/engines/tetraedge/te/te_model_animation.h
+++ b/engines/tetraedge/te/te_model_animation.h
@@ -95,6 +95,8 @@ public:
 	float speed() const { return _speed; }
 	const Common::Path &loadedPath() const { return _loadedPath; }
 
+	static void deleteLaterStatic(TeModelAnimation *obj) { TeObject::deleteLaterStatic(obj); }
+
 private:
 	TeIntrusivePtr<TeModel> _model;
 	Common::Path _loadedPath;
diff --git a/engines/tetraedge/te/te_model_vertex_animation.h b/engines/tetraedge/te/te_model_vertex_animation.h
index 7359845d336..b79015177eb 100644
--- a/engines/tetraedge/te/te_model_vertex_animation.h
+++ b/engines/tetraedge/te/te_model_vertex_animation.h
@@ -64,6 +64,8 @@ public:
 
 	void update(double millis) override;
 
+	static void deleteLaterStatic(TeModelVertexAnimation *obj) { TeObject::deleteLaterStatic(obj); }
+
 private:
 	float _lastMillis;
 	TeIntrusivePtr<TeModel> _model;
diff --git a/engines/tetraedge/te/te_object.cpp b/engines/tetraedge/te/te_object.cpp
index da5e228719c..1dfeeb8e447 100644
--- a/engines/tetraedge/te/te_object.cpp
+++ b/engines/tetraedge/te/te_object.cpp
@@ -31,6 +31,11 @@ void TeObject::deleteLater() {
 	pendingDeleteList()->push_back(this);
 }
 
+/*static*/
+void TeObject::deleteLaterStatic(TeObject *obj) {
+	pendingDeleteList()->push_back(obj);
+}
+
 /*static*/
 void TeObject::deleteNow() {
 	Common::Array<TeObject *> *pending = pendingDeleteList();
diff --git a/engines/tetraedge/te/te_object.h b/engines/tetraedge/te/te_object.h
index 6725d41a8ac..4336391511e 100644
--- a/engines/tetraedge/te/te_object.h
+++ b/engines/tetraedge/te/te_object.h
@@ -34,6 +34,7 @@ public:
 
 	/** Add this object to the pending deletion queue (deleted at the end of a frame) */
 	void deleteLater();
+	static void deleteLaterStatic(TeObject *obj);
 
 	/** Delete all pending objects now */
 	static void deleteNow();


Commit: 20b4f7c54e13d8da67e5475d8113ce3e30d6accf
    https://github.com/scummvm/scummvm/commit/20b4f7c54e13d8da67e5475d8113ce3e30d6accf
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Remove superfluous debugging from renderer

Changed paths:
    engines/tetraedge/te/te_renderer_opengl.cpp
    engines/tetraedge/te/te_renderer_tinygl.cpp


diff --git a/engines/tetraedge/te/te_renderer_opengl.cpp b/engines/tetraedge/te/te_renderer_opengl.cpp
index 95ee7c8d6bb..a4be743d8c0 100644
--- a/engines/tetraedge/te/te_renderer_opengl.cpp
+++ b/engines/tetraedge/te/te_renderer_opengl.cpp
@@ -104,15 +104,6 @@ void TeRendererOpenGL::init(uint width, uint height) {
 	glClearStencil(0);
 	_clearColor = TeColor(0, 0, 0, 255);
 	glClearColor(0, 0, 0, 1.0);
-	debug("[TeRenderer::init] Vendor : %s", vendor().c_str());
-	debug("[TeRenderer::init] Renderer : %s", renderer().c_str());
-	debug("[TeRenderer::init] Version : %s", glGetString(GL_VERSION));
-	int bits;
-	glGetIntegerv(GL_STENCIL_BITS, &bits);
-	debug("[TeRenderer::init] Sentil buffer bits : %d", bits);
-	glGetIntegerv(GL_DEPTH_BITS, &bits);
-	debug("[TeRenderer::init] Depth buffer bits : %d", bits);
-	//debug("[TeRenderer::init] Extensions : %s", glGetString(GL_EXTENSIONS));
 	//TeOpenGLExtensions::loadExtensions(); // this does nothing in the game?
 	_currentColor = TeColor(255, 255, 255, 255);
 	_scissorEnabled = false;
diff --git a/engines/tetraedge/te/te_renderer_tinygl.cpp b/engines/tetraedge/te/te_renderer_tinygl.cpp
index 6e666a4455c..8bd830f305c 100644
--- a/engines/tetraedge/te/te_renderer_tinygl.cpp
+++ b/engines/tetraedge/te/te_renderer_tinygl.cpp
@@ -112,12 +112,6 @@ void TeRendererTinyGL::init(uint width, uint height) {
 	tglClearStencil(0);
 	_clearColor = TeColor(0, 0, 0, 255);
 	tglClearColor(0, 0, 0, 1.0);
-	debug("[TeRenderer::init] Vendor : %s", vendor().c_str());
-	debug("[TeRenderer::init] Renderer : %s", renderer().c_str());
-	debug("[TeRenderer::init] Version : (tinygl version)");
-	debug("[TeRenderer::init] Sentil buffer bits : (not supported)");
-	debug("[TeRenderer::init] Depth buffer bits : (not supported)");
-	//debug("[TeRenderer::init] Extensions : %s", glGetString(TGL_EXTENSIONS));
 	//TeOpenGLExtensions::loadExtensions(); // this does nothing in the game?
 	_currentColor = TeColor(255, 255, 255, 255);
 	_scissorEnabled = false;


Commit: 758f074a00422f07d9ff0c8086c7ccdb75ef5411
    https://github.com/scummvm/scummvm/commit/758f074a00422f07d9ff0c8086c7ccdb75ef5411
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-02-03T08:51:43+09:00

Commit Message:
TETRAEDGE: Small debug message cleanups

Changed paths:
    engines/tetraedge/game/documents_browser.cpp
    engines/tetraedge/game/game.cpp
    engines/tetraedge/te/te_lua_thread.cpp
    engines/tetraedge/te/te_renderer.cpp
    engines/tetraedge/te/te_xml_gui.cpp


diff --git a/engines/tetraedge/game/documents_browser.cpp b/engines/tetraedge/game/documents_browser.cpp
index b9d597dd68d..2a7297a01d2 100644
--- a/engines/tetraedge/game/documents_browser.cpp
+++ b/engines/tetraedge/game/documents_browser.cpp
@@ -99,7 +99,7 @@ void DocumentsBrowser::load() {
 	button->setVisible(false);
 
 	// Game tries to load a file that doesn't exist..
-	debug("TODO?? DocumentsBrowser::load: Game opens Documents.xml here.");
+	// TODO?? DocumentsBrowser::load: Game opens Documents.xml here
 	_timer.start();
 }
 
diff --git a/engines/tetraedge/game/game.cpp b/engines/tetraedge/game/game.cpp
index 50f159a18f2..90b3946b216 100644
--- a/engines/tetraedge/game/game.cpp
+++ b/engines/tetraedge/game/game.cpp
@@ -212,7 +212,7 @@ void Game::addToScore(int score) {
 }
 
 bool Game::changeWarp(const Common::String &zone, const Common::String &scene, bool fadeFlag) {
-	debug("Game::changeWarp(%s, %s, %s)", zone.c_str(), scene.c_str(), fadeFlag ? "true" : "false");
+	//debug("Game::changeWarp(%s, %s, %s)", zone.c_str(), scene.c_str(), fadeFlag ? "true" : "false");
 	Application *app = g_engine->getApplication();
 	if (fadeFlag) {
 		app->blackFade();
@@ -227,7 +227,7 @@ bool Game::changeWarp(const Common::String &zone, const Common::String &scene, b
 }
 
 bool Game::changeWarp2(const Common::String &zone, const Common::String &scene, bool fadeFlag) {
-	debug("Game::changeWarp2(%s, %s, %s)", zone.c_str(), scene.c_str(), fadeFlag ? "true" : "false");
+	//debug("Game::changeWarp2(%s, %s, %s)", zone.c_str(), scene.c_str(), fadeFlag ? "true" : "false");
 	_warped = false;
 	_movePlayerCharacterDisabled = false;
 	_sceneCharacterVisibleFromLoad = false;
diff --git a/engines/tetraedge/te/te_lua_thread.cpp b/engines/tetraedge/te/te_lua_thread.cpp
index 5800e6d0e01..36b58928e4f 100644
--- a/engines/tetraedge/te/te_lua_thread.cpp
+++ b/engines/tetraedge/te/te_lua_thread.cpp
@@ -64,7 +64,7 @@ void TeLuaThread::_resume(int nargs) {
 		warning("TeLuaThread::_resume: %s", msg);
 	}
 	if (_lastResumeResult != 1 && _released) {
-		debug("TeLuaThread:: deleting this?");
+		//debug("TeLuaThread:: deleting this?");
 		delete this;
 	}
 }
@@ -78,7 +78,7 @@ void TeLuaThread::execute(const Common::String &fname) {
 		_resume(0);
 	} else {
 		if (!fname.contains("Update"))
-			debug("[TeLuaThread::Execute0] La fonction : \"%s\" n'existe pas.", fname.c_str());
+			debug("[TeLuaThread::Execute0] Function: \"%s\" does not exist", fname.c_str());
 		lua_settop(_luaThread, -2);
 	}
 }
@@ -93,7 +93,7 @@ void TeLuaThread::execute(const Common::String &fname, const TeVariant &p1) {
 		_resume(1);
 	} else {
 		if (!fname.contains("Update"))
-			debug("[TeLuaThread::Execute1] La fonction : \"%s\" n'existe pas.", fname.c_str());
+			debug("[TeLuaThread::Execute1] Function: \"%s\" does not exist", fname.c_str());
 		lua_settop(_luaThread, -2);
 	}
 }
@@ -109,7 +109,7 @@ void TeLuaThread::execute(const Common::String &fname, const TeVariant &p1, cons
 		_resume(2);
 	} else {
 		if (!fname.contains("Update"))
-			debug("[TeLuaThread::Execute2] La fonction : \"%s\" n'existe pas.", fname.c_str());
+			debug("[TeLuaThread::Execute2] Function: \"%s\" does not exist.", fname.c_str());
 		lua_settop(_luaThread, -2);
 	}
 }
@@ -126,7 +126,7 @@ void TeLuaThread::execute(const Common::String &fname, const TeVariant &p1, cons
 		_resume(3);
 	} else {
 		if (!fname.contains("Update"))
-			debug("[TeLuaThread::Execute3] La fonction : \"%s\" n'existe pas.", fname.c_str());
+			debug("[TeLuaThread::Execute3] Function: \"%s\" does not exist.", fname.c_str());
 		lua_settop(_luaThread, -4);
 	}
 }
diff --git a/engines/tetraedge/te/te_renderer.cpp b/engines/tetraedge/te/te_renderer.cpp
index 64640174404..a8fbc0c0a56 100644
--- a/engines/tetraedge/te/te_renderer.cpp
+++ b/engines/tetraedge/te/te_renderer.cpp
@@ -285,7 +285,7 @@ void TeRenderer::pushMatrix() {
 }
 
 void TeRenderer::dumpTransparentMeshProps() const {
-	debug("** Transparent MeshProps: num:%ld pending:%d **", _numTransparentMeshes, _pendingTransparentMeshProperties);
+	debug("** Transparent MeshProps: num:%d pending:%d **", _numTransparentMeshes, _pendingTransparentMeshProperties);
 	debug("draw? / nverts / source / transl / zorder");
 	for (uint i = 0; i < _transparentMeshProps.size(); i++) {
 		debug("%s %d %d %s %f",
@@ -299,7 +299,7 @@ void TeRenderer::dumpTransparentMeshProps() const {
 }
 
 void TeRenderer::dumpTransparentMeshData() const {
-	debug("** Transparent Meshes: num:%ld pending:%d **", _numTransparentMeshes, _pendingTransparentMeshProperties);
+	debug("** Transparent Meshes: num:%d pending:%d **", _numTransparentMeshes, _pendingTransparentMeshProperties);
 	debug("vert / normal / coord / color / vertNo");
 	for (uint i = 0; i < _transparentMeshVertexes.size(); i++) {
 		debug("%s %s %s %s %d",
diff --git a/engines/tetraedge/te/te_xml_gui.cpp b/engines/tetraedge/te/te_xml_gui.cpp
index 8d14949bf83..74a6dbc3f80 100644
--- a/engines/tetraedge/te/te_xml_gui.cpp
+++ b/engines/tetraedge/te/te_xml_gui.cpp
@@ -48,7 +48,7 @@ void TeXmlGui::load(const Common::Path &path) {
 
 void TeXmlGui::clear() {
 	_map.clear();
-	debug("TODO: Finish TeXmlGui.clear()");
+	// TODO: Finish TeXmlGui.clear()
 }
 
 } // end namespace Tetraedge




More information about the Scummvm-git-logs mailing list