[Scummvm-git-logs] scummvm master -> 2f1acbe627989ceff8020fe2cc034fdf08a4ae12

sev- sev at scummvm.org
Thu Aug 20 22:59:46 UTC 2020


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

Summary:
d70b4bcbf1 MORPHOS: MorphOS Support
54775a3de9 MORPHOS: MorphOS Support
438b6a042c MORPHOS: MorphOS Support
fe1d714cb2 MORPHOS: MorphOS Support
7bc8340f69 MORPHOS: MorphOS Support
c9c53b6872 MORPHOS: MorphOS Support
ddd9bf050b MORPHOS: MorphOS Support
61f86025fe MORPHOS: MorphOS Support
c2f40b7f4f MORPHOS: Update backends/platform/sdl/morphos/morphos.mk
66426e970e MORPHOS: Update morphos.mk
ac06a679f9 MORPHOS: Update sdl.cpp
e83502a2db MORPHOS: Update morphos-fs.cpp
d972d00ca2 MORPHOS: Update morphos-fs.h
7f64190ad5 MORPHOS: Update morphos.mk
f20cdd53aa MORPHOS: Update morphos-main.cpp
38d0004582 MORPHOS: Update sdl-window.cpp
8f38b6a08d MORPHOS: Update version.cpp
775f6c4803 MORPHOS: Update scummsys.h
b8eef48149 MORPHOS: Update configure
ab37562d05 MORPHOS: Update morphos-fs.cpp
84b1274219 MORPHOS: Update morphos-fs.cpp
f2bfa5c7be MORPHOS: Update morphos.mk
176929568c MORPHOS: MORPHOS: Build with SDL1 by default
ac573487de MORPHOS: use libz shared from MORPHOS
85f7d5865b MORPHOS: Update opengl-sys.h
521731f28e MORPHOS: Use SDL2
94b31c086d MORPHOS: Update morphos-fs.cpp
ead34d3fc6 MORPHOS: Fix configure
47cd52f20f MORPHOS: Delete midi/camd
2f39941fb3 MORPHOS: Update morphos.mk
18fd8f91e4 MORPHOS: Update configure
3d79ce5cc0 MORPHOS: Update backends/fs/stdiostream.cpp
1277ff8b35 MORPHOS: Update backends/platform/sdl/sdl-window.cpp
3f69eca932 MORPHOS: remove USE_GLES_MODE
2f1acbe627 MORPHOS: simplify VERSION


Commit: d70b4bcbf1e0a45087855ed498be5e2e5ee455c8
    https://github.com/scummvm/scummvm/commit/d70b4bcbf1e0a45087855ed498be5e2e5ee455c8
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
  A backends/platform/sdl/morphos/morphos-main.cpp
  A backends/platform/sdl/morphos/morphos.cpp
  A backends/platform/sdl/morphos/morphos.h
  A backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos-main.cpp b/backends/platform/sdl/morphos/morphos-main.cpp
new file mode 100644
index 0000000000..4c02f513ff
--- /dev/null
+++ b/backends/platform/sdl/morphos/morphos-main.cpp
@@ -0,0 +1,87 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "common/scummsys.h"
+
+#if defined(__MORPHOS__)
+
+#include "backends/fs/morphos/morphos-fs.h"
+#include "backends/platform/sdl/morphos/morphos.h"
+#include "backends/plugins/sdl/sdl-provider.h"
+#include "base/main.h"
+
+int main(int argc, char *argv[]) {
+
+	// The following will gather the application name and add the install path
+	// to a variable in AmigaOS4's ENV(ARC) system. It will be placed in AppPaths
+	// so that ScummVM can become AmiUpdate aware
+	//const char *const appname = "ScummVM";
+
+	/*BPTR lock;
+	APTR oldwin;
+
+	// Obtain a lock to the home directory
+	if ((lock = IDOS->GetProgramDir())) {
+		TEXT progpath[2048];
+		TEXT apppath[1024] = "AppPaths";
+
+		if (IDOS->DevNameFromLock(lock,
+			progpath,
+			sizeof(progpath),
+			DN_FULLPATH)) {
+
+			// Stop any "Insert volume..." type requesters
+			oldwin = IDOS->SetProcWindow((APTR)-1);
+
+			// Finally, set the variable to the path the executable was run from
+			IDOS->AddPart( apppath, appname, 1024);
+			IDOS->SetVar( apppath, progpath, -1, GVF_GLOBAL_ONLY|GVF_SAVE_VAR );
+
+			// Turn system requesters back on
+			IDOS->SetProcWindow( oldwin );
+		}
+	}*/
+
+	// Set up a stack cookie to avoid crashes from a stack set too low
+	static const char *stack_cookie __attribute__((used)) = "$STACK: 600000";
+
+	// Create our OSystem instance
+	g_system = new OSystem_MorphOS();
+	assert(g_system);
+
+	// Pre initialize the backend
+	((OSystem_MorphOS *)g_system)->init();
+
+#ifdef DYNAMIC_MODULES
+	PluginManager::instance().addPluginProvider(new SDLPluginProvider());
+#endif
+
+	// Invoke the actual ScummVM main entry point
+	int res = scummvm_main(argc, argv);
+
+	// Free OSystem
+	g_system->destroy();
+
+	return res;
+}
+
+#endif
diff --git a/backends/platform/sdl/morphos/morphos.cpp b/backends/platform/sdl/morphos/morphos.cpp
new file mode 100644
index 0000000000..ecf94bcd6f
--- /dev/null
+++ b/backends/platform/sdl/morphos/morphos.cpp
@@ -0,0 +1,38 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "common/scummsys.h"
+
+#ifdef __MORPHOS__
+
+#include "backends/platform/sdl/morphos/morphos.h"
+#include "backends/fs/morphos/morphos-fs-factory.h"
+
+void OSystem_MorphOS::init() {
+	// Initialze File System Factory
+	_fsFactory = new MorphOSFilesystemFactory();
+
+	// Invoke parent implementation of this method
+	OSystem_SDL::init();
+}
+
+#endif
diff --git a/backends/platform/sdl/morphos/morphos.h b/backends/platform/sdl/morphos/morphos.h
new file mode 100644
index 0000000000..c8e3b63c90
--- /dev/null
+++ b/backends/platform/sdl/morphos/morphos.h
@@ -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 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef PLATFORM_SDL_MORPHOS_H
+#define PLATFORM_SDL_MORPHOS_H
+
+#include "backends/platform/sdl/sdl.h"
+
+class OSystem_MorphOS : public OSystem_SDL {
+public:
+	OSystem_MorphOS() {}
+	virtual ~OSystem_MorphOS() {}
+
+	virtual void init();
+};
+
+#endif
diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
new file mode 100644
index 0000000000..6f5a875c22
--- /dev/null
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -0,0 +1,24 @@
+# Special target to create an MorphOS snapshot installation
+amigaosdist: $(EXECUTABLE)
+	mkdir -p $(MORPHOSPATH)
+	mkdir -p $(MORPHOSPATH)themes
+	mkdir -p $(MORPHOSPATH)extras
+	$(STRIP) $(EXECUTABLE) -o $(MORPHOSPATH)$(EXECUTABLE)
+	cp ${srcdir}/icons/scummvm_drawer.info $(MORPHOSPATH).info
+	cp ${srcdir}/icons/scummvm.info $(MORPHOSPATH)$(EXECUTABLE).info
+	cp $(DIST_FILES_THEMES) $(MORPHOSPATH)themes/
+ifdef DIST_FILES_ENGINEDATA
+	cp $(DIST_FILES_ENGINEDATA) $(MORPHOSPATH)extras/
+endif
+	cat ${srcdir}/README | sed -f ${srcdir}/dists/amiga/convertRM.sed > README.conv
+# MorphOS's shell is not happy with indented comments, thus don't do it.
+# AREXX seems to have problems when ${srcdir} is '.'. It will break with a
+# "Program not found" error. Therefore we copy the script to the cwd and
+# remove it again, once it has finished.
+	cp ${srcdir}/dists/amiga/RM2AG.rx .
+	rx RM2AG.rx README.conv
+	cp README.guide $(MORPHOSPATH)
+	rm RM2AG.rx
+	rm README.conv
+	rm README.guide
+	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)


Commit: 54775a3de97e3723c1f03dda04d243f39b57bd6b
    https://github.com/scummvm/scummvm/commit/54775a3de97e3723c1f03dda04d243f39b57bd6b
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    backends/platform/sdl/module.mk


diff --git a/backends/platform/sdl/module.mk b/backends/platform/sdl/module.mk
index 62ef94f19a..410fb4a355 100644
--- a/backends/platform/sdl/module.mk
+++ b/backends/platform/sdl/module.mk
@@ -39,6 +39,12 @@ MODULE_OBJS += \
 	riscos/riscos.o
 endif
 
+ifdef MORPHOS
+MODULE_OBJS += \
+	morphos/morphos-main.o \
+	morphos/morphos.o
+endif
+
 ifdef PLAYSTATION3
 MODULE_OBJS += \
 	ps3/ps3-main.o \


Commit: 438b6a042c112da2972489ba1cd088b46c25fdd8
    https://github.com/scummvm/scummvm/commit/438b6a042c112da2972489ba1cd088b46c25fdd8
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    backends/platform/null/null.cpp


diff --git a/backends/platform/null/null.cpp b/backends/platform/null/null.cpp
index 4f11864628..2da3266e99 100644
--- a/backends/platform/null/null.cpp
+++ b/backends/platform/null/null.cpp
@@ -55,6 +55,8 @@
  */
 #if defined(__amigaos4__)
 	#include "backends/fs/amigaos4/amigaos4-fs-factory.h"
+#elif defined(__MORPHOS__)
+	#include "backends/fs/morphos/morphos-fs-factory.h"
 #elif defined(POSIX)
 	#include "backends/fs/posix/posix-fs-factory.h"
 #elif defined(RISCOS)
@@ -90,6 +92,8 @@ private:
 OSystem_NULL::OSystem_NULL() {
 	#if defined(__amigaos4__)
 		_fsFactory = new AmigaOSFilesystemFactory();
+	#elif defined(__MORPHOS__)	
+		_fsFactory = new MorphOSFilesystemFactory();
 	#elif defined(POSIX)
 		_fsFactory = new POSIXFilesystemFactory();
 	#elif defined(RISCOS)


Commit: fe1d714cb2333889c6e365f99ebdd482a21bbf74
    https://github.com/scummvm/scummvm/commit/fe1d714cb2333889c6e365f99ebdd482a21bbf74
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    backends/module.mk


diff --git a/backends/module.mk b/backends/module.mk
index b25d1b71f2..04b0efa85d 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -234,6 +234,13 @@ MODULE_OBJS += \
 	midi/camd.o
 endif
 
+ifdef MORPHOS
+MODULE_OBJS += \
+	fs/morphos/morphos-fs.o \
+	fs/morphos/morphos-fs-factory.o \
+	midi/camd.o
+endif
+
 ifdef RISCOS
 MODULE_OBJS += \
 	events/riscossdl/riscossdl-events.o \


Commit: 7bc8340f690723c9f3c80f5dd37a77ea0be35144
    https://github.com/scummvm/scummvm/commit/7bc8340f690723c9f3c80f5dd37a77ea0be35144
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    backends/fs/stdiostream.cpp


diff --git a/backends/fs/stdiostream.cpp b/backends/fs/stdiostream.cpp
index 5f3b5cd267..702f822dd1 100644
--- a/backends/fs/stdiostream.cpp
+++ b/backends/fs/stdiostream.cpp
@@ -87,6 +87,25 @@ bool StdioStream::flush() {
 StdioStream *StdioStream::makeFromPath(const Common::String &path, bool writeMode) {
 	FILE *handle = fopen(path.c_str(), writeMode ? "wb" : "rb");
 
+#if defined(__amigaos4__) || defined(__MORPHOS__)
+	//
+	// Work around for possibility that someone uses AmigaOS "newlib" build
+	// with SmartFileSystem (blocksize 512 bytes), leading to buffer size
+	// being only 512 bytes. "Clib2" sets the buffer size to 8KB, resulting
+	// smooth movie playback. This forces the buffer to be enough also when
+	// using "newlib" compile on SFS.
+	//
+	if (handle && !writeMode) {
+		setvbuf(handle, NULL, _IOFBF, 8192);
+	}
+#endif
+
+#if defined(__WII__)
+	// disable newlib's buffering, the device libraries handle caching
+	if (handle)
+		setvbuf(handle, NULL, _IONBF, 0);
+#endif
+
 	if (handle)
 		return new StdioStream(handle);
 	return 0;


Commit: c9c53b6872f0c5099c658925f7071505ce126529
    https://github.com/scummvm/scummvm/commit/c9c53b6872f0c5099c658925f7071505ce126529
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
  A backends/fs/morphos/morphos-fs-factory.cpp
  A backends/fs/morphos/morphos-fs-factory.h
  A backends/fs/morphos/morphos-fs.cpp
  A backends/fs/morphos/morphos-fs.h


diff --git a/backends/fs/morphos/morphos-fs-factory.cpp b/backends/fs/morphos/morphos-fs-factory.cpp
new file mode 100644
index 0000000000..4dddf8fdf6
--- /dev/null
+++ b/backends/fs/morphos/morphos-fs-factory.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if defined(__MORPHOS__)
+
+#include "backends/fs/morphos/morphos-fs-factory.h"
+#include "backends/fs/morphos/morphos-fs.h"
+
+AbstractFSNode *MorphOSFilesystemFactory::makeRootFileNode() const {
+	return new MorphOSFilesystemNode();
+}
+
+AbstractFSNode *MorphOSFilesystemFactory::makeCurrentDirectoryFileNode() const {
+	return new MorphOSFilesystemNode();
+}
+
+AbstractFSNode *MorphOSFilesystemFactory::makeFileNodePath(const Common::String &path) const {
+	return new MorphOSFilesystemNode(path);
+}
+#endif
diff --git a/backends/fs/morphos/morphos-fs-factory.h b/backends/fs/morphos/morphos-fs-factory.h
new file mode 100644
index 0000000000..db76a4b1b5
--- /dev/null
+++ b/backends/fs/morphos/morphos-fs-factory.h
@@ -0,0 +1,40 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef MORPHOS_FILESYSTEM_FACTORY_H
+#define MORPHOS_FILESYSTEM_FACTORY_H
+
+#include "backends/fs/fs-factory.h"
+
+/**
+ * Creates MorphOSFilesystemNode objects.
+ *
+ * Parts of this class are documented in the base interface class, FilesystemFactory.
+ */
+class MorphOSFilesystemFactory : public FilesystemFactory {
+public:
+	virtual AbstractFSNode *makeRootFileNode() const;
+	virtual AbstractFSNode *makeCurrentDirectoryFileNode() const;
+	virtual AbstractFSNode *makeFileNodePath(const Common::String &path) const;
+};
+
+#endif /*MORPHOS_FILESYSTEM_FACTORY_H*/
diff --git a/backends/fs/morphos/morphos-fs.cpp b/backends/fs/morphos/morphos-fs.cpp
new file mode 100644
index 0000000000..c53b4d93e5
--- /dev/null
+++ b/backends/fs/morphos/morphos-fs.cpp
@@ -0,0 +1,432 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if defined(__MORPHOS__)
+
+#include "backends/fs/morphos/morphos-fs.h"
+#include "backends/fs/stdiostream.h"
+#include "common/debug.h"
+#include "common/util.h"
+
+//#define ENTER() /* debug(6, "Enter") */
+//#define LEAVE() /* debug(6, "Leave") */
+
+/**
+ * Returns the last component of a given path.
+ *
+ * @param str Common::String containing the path.
+ * @return Pointer to the first char of the last component inside str.
+ */
+const char *lastPathComponent(const Common::String &str) {
+	int offset = str.size();
+
+	if (offset <= 0) {
+		debug(6, "Bad offset");
+		return 0;
+	}
+
+	const char *p = str.c_str();
+
+	while (offset > 0 && (p[offset-1] == '/' || p[offset-1] == ':'))
+		offset--;
+
+	while (offset > 0 && (p[offset-1] != '/' && p[offset-1] != ':'))
+		offset--;
+
+	return p + offset;
+}
+
+MorphOSFilesystemNode::MorphOSFilesystemNode() {
+
+	_sDisplayName = "Available Disks";
+	_bIsValid = true;
+	_bIsDirectory = true;
+	_sPath = "";
+	_pFileLock = 0;
+	_nProt = 0; // Protection is ignored for the root volume
+
+}
+
+MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
+
+    int len = 0;
+	int offset = p.size();
+
+	assert(offset > 0);
+
+	if (offset <= 0) {
+		debug(6, "Bad offset");
+		return;
+	}
+
+	_sPath = p;
+	_sDisplayName = ::lastPathComponent(_sPath);
+	_pFileLock = 0;
+	_bIsDirectory = false;
+	_bIsValid = false;
+
+	struct FileInfoBlock *fib = (struct FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
+	
+	if (fib == NULL) {
+	 debug(6,"Failed...");
+	 return;	
+	}
+	
+	BPTR pLock = Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
+	if (pLock) {
+	 if (Examine(pLock, fib) != DOSFALSE) {
+	 
+	  if (fib->fib_EntryType > 0)
+	  {
+	   	_bIsDirectory = true;
+	   	_pFileLock = DupLock(pLock);
+		_bIsValid = (_pFileLock != 0);
+	    const char c = _sPath.lastChar();
+			if (c != '/' && c != ':')
+				_sPath += '/';
+	  
+	  } else {
+	  
+	  	_bIsDirectory = false;
+		_bIsValid = false;
+	  
+	  }
+	 
+	 
+	 }
+	
+	
+	 UnLock(pLock);
+	}
+	
+	FreeDosObject(DOS_FIB, fib);
+
+}
+
+MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayName) {
+
+	int bufSize = MAXPATHLEN;
+	_pFileLock = 0;
+
+	while (true) {
+		char *n = new char[bufSize];
+		if (NameFromLock(pLock, (STRPTR)n, bufSize) != DOSFALSE) {
+			_sPath = n;
+			_sDisplayName = pDisplayName ? pDisplayName : FilePart((STRPTR)n);
+			delete[] n;
+			break;
+		}
+
+		if (IoErr() != ERROR_LINE_TOO_LONG) {
+			_bIsValid = false;
+			debug(6, "IoErr() != ERROR_LINE_TOO_LONG");
+			//LEAVE();
+			delete[] n;
+			return;
+		}
+
+		bufSize *= 2;
+		delete[] n;
+	}
+
+	_bIsValid = false;
+	_bIsDirectory = false;
+
+
+	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
+	
+	if (fib == NULL) {
+	 debug(6,"Failed...");
+	 return;	
+	}
+
+	if (Examine(pLock, fib) != DOSFALSE) {
+	 
+  		_bIsDirectory = fib->fib_EntryType >0;
+	
+	  if (_bIsDirectory)
+	  {
+	   	if (fib->fib_EntryType != ST_ROOT)
+	   		_sPath += '/';
+	   	_pFileLock = DupLock(pLock);
+		_bIsValid = (_pFileLock != NULL);
+	  
+	  } else {
+	  
+		_bIsValid = true;
+	  
+	  }
+    }
+		
+	FreeDosObject(DOS_FIB, fib);
+
+}
+
+// We need the custom copy constructor because of DupLock()
+MorphOSFilesystemNode::MorphOSFilesystemNode(const MorphOSFilesystemNode& node)
+: AbstractFSNode() {
+	//ENTER();
+	_sDisplayName = node._sDisplayName;
+	_bIsValid = node._bIsValid;
+	_bIsDirectory = node._bIsDirectory;
+	_sPath = node._sPath;
+	_pFileLock = DupLock(node._pFileLock);
+	_nProt = node._nProt;
+	//LEAVE();
+}
+
+MorphOSFilesystemNode::~MorphOSFilesystemNode() {
+	//ENTER();
+	if (_pFileLock)
+		UnLock(_pFileLock);
+	//LEAVE();
+}
+
+bool MorphOSFilesystemNode::exists() const {
+	//ENTER();
+	if (_sPath.empty())
+		return false;
+
+	bool nodeExists = false;
+
+	// Previously we were trying to examine the node in order
+	// to determine if the node exists or not.
+	// I don't see the point : once you have been granted a
+	// lock on it, it means it exists...
+	//
+	// =============================  Old code
+	// BPTR pLock = IDOS->Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
+	// if (pLock)
+	// {
+	// 	if (IDOS->Examine(pLock, fib) != DOSFALSE)
+	// 		nodeExists = true;
+	// 	IDOS->UnLock(pLock);
+	// }
+	//
+	// IDOS->FreeDosObject(DOS_FIB, fib);
+	//
+	// =============================  New code
+	BPTR pLock = Lock(_sPath.c_str(), SHARED_LOCK);
+	if (pLock) {
+		nodeExists = true;
+		UnLock(pLock);
+	}
+
+	//LEAVE();
+	return nodeExists;
+}
+
+AbstractFSNode *MorphOSFilesystemNode::getChild(const Common::String &n) const {
+	//ENTER();
+	if (!_bIsDirectory) {
+		debug(6, "Not a directory");
+		return 0;
+	}
+
+	Common::String newPath(_sPath);
+
+	if (_sPath.lastChar() != '/')
+		newPath += '/';
+
+	newPath += n;
+
+	//LEAVE();
+	return new MorphOSFilesystemNode(newPath);
+}
+
+bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, bool hidden) const {
+
+
+	//bool ret = false;
+
+	if (!_bIsValid) {
+		debug(6, "Invalid node");
+		return false; // Empty list
+	}
+
+	if (!_bIsDirectory) {
+		debug(6, "Not a directory");
+		return false; // Empty list
+	}
+
+	if (isRootNode()) {
+		debug(6, "Root node");
+		myList = listVolumes();
+		return true;
+	}
+
+
+	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
+	
+	if (fib == NULL) {
+	 debug(6, "Failed to allocate memory for FileInfoBLock");
+	 return false;
+	}
+	
+	if (Examine(_pFileLock, fib) != DOSFALSE) {
+	
+	  while (ExNext(_pFileLock, fib) != DOSFALSE)
+	  {
+	  
+	  	MorphOSFilesystemNode *entry;
+	  	Common::String full_path = NULL;
+	  	BPTR pLock;
+	  	
+	  	if ((mode == Common::FSNode::kListAll) || 
+	  		(fib->fib_EntryType > 0 && (Common::FSNode::kListDirectoriesOnly == mode)) ||
+	  		(fib->fib_EntryType < 0 && (Common::FSNode::kListFilesOnly == mode )))
+	  		{
+	  		
+	  		full_path = _sPath;
+	  		full_path += fib->fib_FileName;
+	  		pLock = Lock(full_path.c_str(), SHARED_LOCK);
+			if (pLock) {
+					entry = new MorphOSFilesystemNode( pLock, fib->fib_FileName );
+					if (entry) {
+						myList.push_back(entry);
+					}
+
+					UnLock(pLock);
+			}	  
+			
+			}
+			
+		}	
+	  	if (ERROR_NO_MORE_ENTRIES != IoErr() ) {
+			debug(6, "An error occurred during ExamineDir");
+			return false;
+		}
+	}
+	
+	FreeDosObject(DOS_FIB, fib);
+	  
+	return true;
+		
+}
+
+AbstractFSNode *MorphOSFilesystemNode::getParent() const {
+	//ENTER();
+
+	if (isRootNode()) {
+		debug(6, "Root node");
+		//LEAVE();
+		return new MorphOSFilesystemNode(*this);
+	}
+
+	BPTR pLock = _pFileLock;
+
+	if (!_bIsDirectory) {
+		assert(!pLock);
+		pLock = Lock((CONST_STRPTR)_sPath.c_str(), SHARED_LOCK);
+		assert(pLock);
+	}
+
+	MorphOSFilesystemNode *node;
+
+	BPTR parentDir = ParentDir( pLock );
+	if (parentDir) {
+		node = new MorphOSFilesystemNode(parentDir);
+		UnLock(parentDir);
+	} else
+		node = new MorphOSFilesystemNode();
+
+	if (!_bIsDirectory) {
+		UnLock(pLock);
+	}
+
+	//LEAVE();
+
+	return node;
+}
+
+
+AbstractFSList MorphOSFilesystemNode::listVolumes() const {
+
+	AbstractFSList myList;
+	DosList *dosList;
+	const ULONG kLockFlags = LDF_READ | LDF_VOLUMES;
+	char buffer[MAXPATHLEN];
+
+	dosList = LockDosList(kLockFlags);
+	
+	if (dosList == NULL) {
+		debug(6, "Cannot lock the DOS list");
+		return myList;
+	}
+
+	dosList = NextDosEntry(dosList, LDF_VOLUMES);
+	
+	while (dosList) {
+	
+		if (dosList->dol_Type == DLT_VOLUME &&
+			dosList->dol_Name &&
+			dosList->dol_Task) {
+
+			MorphOSFilesystemNode *entry;
+			
+
+			//CopyStringBSTRToC(dosList->dol_Name, buffer, MAXPATHLEN);
+
+			// Volume name + '\0'
+			//char *volName = new char [strlen(buffer) + 1];
+			CONST_STRPTR volName = (CONST_STRPTR)BADDR(dosList->dol_Name)+1;
+			CONST_STRPTR devName = (CONST_STRPTR)((struct Task *)dosList->dol_Task->mp_SigTask)->tc_Node.ln_Name;
+			BPTR volumeLock;
+
+			strcpy(buffer, volName);
+			strcat(buffer, ":");
+
+			volumeLock = Lock(buffer, SHARED_LOCK);
+			if (volumeLock) {
+
+				sprintf(buffer, "%s (%s)", volName, devName);
+
+				entry = new MorphOSFilesystemNode(volumeLock, buffer);
+				if (entry) {
+					myList.push_back(entry);
+				}
+
+				UnLock(volumeLock);
+			}
+		}
+		dosList = NextDosEntry(dosList, LDF_VOLUMES);
+	}
+
+	UnLockDosList(kLockFlags);
+
+	return myList;
+}
+
+Common::SeekableReadStream *MorphOSFilesystemNode::createReadStream() {
+	return StdioStream::makeFromPath(getPath(), false);
+}
+
+Common::WriteStream *MorphOSFilesystemNode::createWriteStream() {
+	return StdioStream::makeFromPath(getPath(), true);
+}
+
+bool MorphOSFilesystemNode::create(bool isDirectoryFlag) {
+	error("Not supported");
+	return false;
+}
+
+#endif //defined(__MORPHOS__)
diff --git a/backends/fs/morphos/morphos-fs.h b/backends/fs/morphos/morphos-fs.h
new file mode 100644
index 0000000000..47b07ef6a4
--- /dev/null
+++ b/backends/fs/morphos/morphos-fs.h
@@ -0,0 +1,124 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef MORPHOS_FILESYSTEM_H
+#define MORPHOS_FILESYSTEM_H
+
+#ifdef __USE_INLINE__
+#undef __USE_INLINE__
+#endif
+
+#include <proto/exec.h>
+#include <proto/dos.h>
+#include <stdio.h>
+
+#ifndef USE_NEWLIB
+#include <strings.h>
+#endif
+
+#include "backends/fs/abstract-fs.h"
+
+/**
+ * Implementation of the ScummVM file system API.
+ *
+ * Parts of this class are documented in the base interface class, AbstractFSNode.
+ */
+class MorphOSFilesystemNode : public AbstractFSNode {
+protected:
+	/**
+	 * The main file lock.
+	 * If this is NULL but _bIsValid is true, then this Node references
+	 * the virtual filesystem root.
+	 */
+	BPTR _pFileLock;
+
+	Common::String _sDisplayName;
+	Common::String _sPath;
+	bool _bIsDirectory;
+	bool _bIsValid;
+	uint32 _nProt;
+
+	/**
+	 * Creates a list with all the volumes present in the root node.
+	 */
+	virtual AbstractFSList listVolumes() const;
+
+	/**
+	 * True if this is the pseudo root filesystem.
+	 */
+	bool isRootNode() const { return _bIsValid && _bIsDirectory && _pFileLock == 0; }
+
+public:
+	/**
+	 * Creates an MorphOSFilesystemNode with the root node as path.
+	 */
+	MorphOSFilesystemNode();
+
+	/**
+	 * Creates an MorphOSFilesystemNode for a given path.
+	 *
+	 * @param path Common::String with the path the new node should point to.
+	 */
+	MorphOSFilesystemNode(const Common::String &p);
+
+	/**
+	 * Creates an MorphOSFilesystemNode given its lock and display name.
+	 *
+	 * @param pLock BPTR to the lock.
+	 * @param pDisplayName name to be used for display, in case not supplied the FilePart() of the filename will be used.
+	 *
+	 * @note This shouldn't even be public as it's only internally, at best it should have been protected if not private.
+	 */
+	MorphOSFilesystemNode(BPTR pLock, const char *pDisplayName = 0);
+
+	/**
+	 * Copy constructor.
+	 *
+	 * @note Needed because it duplicates the file lock.
+	 */
+	MorphOSFilesystemNode(const MorphOSFilesystemNode &node);
+
+	/**
+	 * Destructor.
+	 */
+	virtual ~MorphOSFilesystemNode();
+
+	virtual bool exists() const;
+	virtual Common::String getDisplayName() const { return _sDisplayName; }
+	virtual Common::String getName() const { return _sDisplayName; }
+	virtual Common::String getPath() const { return _sPath; }
+	virtual bool isDirectory() const { return _bIsDirectory; }
+	virtual bool isReadable() const { return true; }
+	virtual bool isWritable() const { return true; }
+
+
+	virtual AbstractFSNode *getChild(const Common::String &n) const;
+	virtual bool getChildren(AbstractFSList &list, ListMode mode, bool hidden) const;
+	virtual AbstractFSNode *getParent() const;
+
+	virtual Common::SeekableReadStream *createReadStream();
+	virtual Common::WriteStream *createWriteStream();
+	virtual bool create(bool isDirectoryFlag);
+};
+
+
+#endif


Commit: ddd9bf050b74c360e5e197447fc46446641ce93f
    https://github.com/scummvm/scummvm/commit/ddd9bf050b74c360e5e197447fc46446641ce93f
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    configure


diff --git a/configure b/configure
index 9766a129ff..f31935fae0 100755
--- a/configure
+++ b/configure
@@ -219,6 +219,7 @@ _windres=windres
 _stagingpath="staging"
 _win32path="c:/scummvm"
 _amigaospath="Games:ScummVM"
+_morphospath="PROGDIR:"
 _staticlibpath=
 _xcodetoolspath=
 _sparklepath=
@@ -1730,6 +1731,11 @@ ppc-amigaos)
 	_host_cpu=powerpc
 	_host_alias=$_host
 	;;
+ppc-morphos)
+	_host_os=morphos
+	_host_cpu=powerpc
+	_host_alias=$_host
+	;;
 ps3)
 	_host_os=ps3
 	_host_cpu=powerpc
@@ -2623,6 +2629,18 @@ case $_host_os in
 		_port_mk="backends/platform/sdl/amigaos/amigaos.mk"
 		_nuked_opl=no
 		;;
+	morphos*)
+		append_var LDFLAGS "-Wl,--export-dynamic"
+		append_var LDFLAGS "-L/usr/local/lib"
+		# We have to use 'long' for our 4 byte typedef because MorphOS already typedefs (u)int32
+		# as (unsigned) long, and consequently we'd get a compiler error otherwise.
+		type_4_byte='long'
+		# Supress format warnings as the long 4 byte causes noisy warnings.
+		append_var CXXFLAGS "-Wno-format"
+		add_line_to_config_mk 'MORPHOS = 1'
+		_port_mk="backends/platform/sdl/morphos/morphos.mk"
+		_nuked_opl=no
+		;;
 	android)
 		case $_host in
 			android-arm-v7a)
@@ -3440,6 +3458,28 @@ if test -n "$_host"; then
 
 			_port_mk="backends/platform/sdl/amigaos/amigaos.mk"
 			;;
+		ppc-morphos)
+			# PPC Linker requires this to fix relocation errors
+			append_var CXXFLAGS "-mlongcall"
+
+			# Only static builds link successfully on buildbot
+			LDFLAGS=`echo $LDFLAGS | sed 's/-use-dynld//'`
+			append_var LDFLAGS "-static"
+
+			_port_mk="backends/platform/sdl/morphos/morphos.mk"
+			;;
+		
+	
+
+
+			append_var DEFINES "-DDISABLE_SID"
+			append_var DEFINES "-DDISABLE_NES_APU"
+			append_var CXXFLAGS "-fno-exceptions"
+			append_var CXXFLAGS "-fno-rtti"
+			_backend="ps2"
+			_build_scalers=no
+			_mt32emu=no
+			;;
 		ps3)
 			_timidity=no
 			_vkeybd=yes
@@ -3853,7 +3893,7 @@ esac
 #
 echo_n "Checking if host is POSIX compliant... "
 case $_host_os in
-	amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | n64 | ps3 | psp2 | psp | riscos | wii)
+	amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | morphos* | n64 | ps3 | psp2 | psp | riscos | wii)
 		_posix=no
 		;;
 	3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | solaris* | sunos* | switch | uclinux*)
@@ -4711,6 +4751,9 @@ if test "$_libcurl" != "no"; then
 			darwin*)
 				LIBCURL_LIBS=`$_libcurlconfig --libs`
 			;;
+			morphos*)
+				append_var LIBCURL_LIBS "-lpthread"
+			;;
 			psp2*)
 				append_var LIBCURL_LIBS "-lssl -lcrypto"
 			;;
@@ -5939,6 +5982,7 @@ WINDRESFLAGS := $WINDRESFLAGS
 STAGINGPATH=$_stagingpath
 WIN32PATH=$_win32path
 AMIGAOSPATH=$_amigaospath
+MORPHOSPATH=$_morphospath
 STATICLIBPATH=$_staticlibpath
 XCODETOOLSPATH=$_xcodetoolspath
 SPARKLEPATH=$_sparklepath


Commit: 61f86025fec425751ce11925551b9a191ab9a5b7
    https://github.com/scummvm/scummvm/commit/61f86025fec425751ce11925551b9a191ab9a5b7
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MorphOS Support

Changed paths:
    common/keyboard.h


diff --git a/common/keyboard.h b/common/keyboard.h
index 86ab6f9d08..fae2555286 100644
--- a/common/keyboard.h
+++ b/common/keyboard.h
@@ -25,7 +25,7 @@
 
 #include "common/scummsys.h"
 
-#if defined(__amigaos4__)
+#if defined(__amigaos4__) || defined(__MORPHOS__)
 // KEYCODE_LESS and KEYCODE_GREATER are already defined in AmigaOS, inside
 // include/include_h/intuition/intuition.h (bug #3121350)
 #if defined(KEYCODE_LESS) && defined(KEYCODE_GREATER)


Commit: c2f40b7f4f6f80d2e9af83c2e4789e0c3380236c
    https://github.com/scummvm/scummvm/commit/c2f40b7f4f6f80d2e9af83c2e4789e0c3380236c
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update backends/platform/sdl/morphos/morphos.mk

Co-Authored-By: Cameron Cawley <ccawley2011 at gmail.com>

Changed paths:
    backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
index 6f5a875c22..7a93e0ad16 100644
--- a/backends/platform/sdl/morphos/morphos.mk
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -1,5 +1,5 @@
 # Special target to create an MorphOS snapshot installation
-amigaosdist: $(EXECUTABLE)
+morphosdist: $(EXECUTABLE)
 	mkdir -p $(MORPHOSPATH)
 	mkdir -p $(MORPHOSPATH)themes
 	mkdir -p $(MORPHOSPATH)extras


Commit: 66426e970e48873118aa91fab56a3c213320b92d
    https://github.com/scummvm/scummvm/commit/66426e970e48873118aa91fab56a3c213320b92d
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos.mk

PR #1614

Changed paths:
    backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
index 7a93e0ad16..ffd0b438e6 100644
--- a/backends/platform/sdl/morphos/morphos.mk
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -16,9 +16,9 @@ endif
 # "Program not found" error. Therefore we copy the script to the cwd and
 # remove it again, once it has finished.
 	cp ${srcdir}/dists/amiga/RM2AG.rx .
-	rx RM2AG.rx README.conv
+	rx RM2AG.rexx README.conv
 	cp README.guide $(MORPHOSPATH)
-	rm RM2AG.rx
+	rm RM2AG.rexx
 	rm README.conv
 	rm README.guide
 	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)


Commit: ac06a679f9cf8dedf196a4aaacc64eeed0b2174e
    https://github.com/scummvm/scummvm/commit/ac06a679f9cf8dedf196a4aaacc64eeed0b2174e
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update sdl.cpp

SDL_iconv doesnt work with MorphOS' SDL 1.2

Changed paths:
    backends/platform/sdl/sdl.cpp


diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index 250a6775b7..ca8291f57a 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -739,7 +739,7 @@ void OSystem_SDL::setupGraphicsModes() {
 #endif
 
 char *OSystem_SDL::convertEncoding(const char *to, const char *from, const char *string, size_t length) {
-#if SDL_VERSION_ATLEAST(1, 2, 10)
+#if SDL_VERSION_ATLEAST(1, 2, 10) && !defined(__MORPHOS__)
 	int zeroBytes = 1;
 	if (Common::String(from).hasPrefixIgnoreCase("utf-16"))
 		zeroBytes = 2;


Commit: e83502a2dbd0c87f5b59ace3e8b8960cc163a27d
    https://github.com/scummvm/scummvm/commit/e83502a2dbd0c87f5b59ace3e8b8960cc163a27d
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-fs.cpp

Update

Changed paths:
    backends/fs/morphos/morphos-fs.cpp


diff --git a/backends/fs/morphos/morphos-fs.cpp b/backends/fs/morphos/morphos-fs.cpp
index c53b4d93e5..8cd197532e 100644
--- a/backends/fs/morphos/morphos-fs.cpp
+++ b/backends/fs/morphos/morphos-fs.cpp
@@ -57,7 +57,7 @@ const char *lastPathComponent(const Common::String &str) {
 
 MorphOSFilesystemNode::MorphOSFilesystemNode() {
 
-	_sDisplayName = "Available Disks";
+	_sDisplayName = "Available HDDs/Partitions";
 	_bIsValid = true;
 	_bIsDirectory = true;
 	_sPath = "";
@@ -68,11 +68,8 @@ MorphOSFilesystemNode::MorphOSFilesystemNode() {
 
 MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
 
-    int len = 0;
 	int offset = p.size();
 
-	assert(offset > 0);
-
 	if (offset <= 0) {
 		debug(6, "Bad offset");
 		return;
@@ -90,11 +87,10 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
 	 debug(6,"Failed...");
 	 return;	
 	}
-	
+
 	BPTR pLock = Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
 	if (pLock) {
 	 if (Examine(pLock, fib) != DOSFALSE) {
-	 
 	  if (fib->fib_EntryType > 0)
 	  {
 	   	_bIsDirectory = true;
@@ -103,23 +99,14 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
 	    const char c = _sPath.lastChar();
 			if (c != '/' && c != ':')
 				_sPath += '/';
-	  
 	  } else {
-	  
 	  	_bIsDirectory = false;
 		_bIsValid = false;
-	  
 	  }
-	 
-	 
 	 }
-	
-	
 	 UnLock(pLock);
 	}
-	
 	FreeDosObject(DOS_FIB, fib);
-
 }
 
 MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayName) {
@@ -139,7 +126,6 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayNam
 		if (IoErr() != ERROR_LINE_TOO_LONG) {
 			_bIsValid = false;
 			debug(6, "IoErr() != ERROR_LINE_TOO_LONG");
-			//LEAVE();
 			delete[] n;
 			return;
 		}
@@ -151,7 +137,6 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayNam
 	_bIsValid = false;
 	_bIsDirectory = false;
 
-
 	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
 	
 	if (fib == NULL) {
@@ -159,84 +144,55 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayNam
 	 return;	
 	}
 
-	if (Examine(pLock, fib) != DOSFALSE) {
-	 
+	if (Examine(pLock, fib) != DOSFALSE) 
+	{
   		_bIsDirectory = fib->fib_EntryType >0;
-	
-	  if (_bIsDirectory)
-	  {
-	   	if (fib->fib_EntryType != ST_ROOT)
-	   		_sPath += '/';
-	   	_pFileLock = DupLock(pLock);
-		_bIsValid = (_pFileLock != NULL);
-	  
-	  } else {
-	  
-		_bIsValid = true;
-	  
-	  }
+		if (_bIsDirectory)
+		{
+	   		if (fib->fib_EntryType != ST_ROOT)
+	   			_sPath += '/';
+	   		_pFileLock = DupLock(pLock);
+			_bIsValid = (_pFileLock != NULL);
+		} else {
+			_bIsValid = true;
+	    }
     }
-		
 	FreeDosObject(DOS_FIB, fib);
-
 }
 
 // We need the custom copy constructor because of DupLock()
 MorphOSFilesystemNode::MorphOSFilesystemNode(const MorphOSFilesystemNode& node)
 : AbstractFSNode() {
-	//ENTER();
 	_sDisplayName = node._sDisplayName;
 	_bIsValid = node._bIsValid;
 	_bIsDirectory = node._bIsDirectory;
 	_sPath = node._sPath;
 	_pFileLock = DupLock(node._pFileLock);
 	_nProt = node._nProt;
-	//LEAVE();
 }
 
 MorphOSFilesystemNode::~MorphOSFilesystemNode() {
-	//ENTER();
 	if (_pFileLock)
 		UnLock(_pFileLock);
-	//LEAVE();
 }
 
 bool MorphOSFilesystemNode::exists() const {
-	//ENTER();
 	if (_sPath.empty())
 		return false;
 
 	bool nodeExists = false;
 
-	// Previously we were trying to examine the node in order
-	// to determine if the node exists or not.
-	// I don't see the point : once you have been granted a
-	// lock on it, it means it exists...
-	//
-	// =============================  Old code
-	// BPTR pLock = IDOS->Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
-	// if (pLock)
-	// {
-	// 	if (IDOS->Examine(pLock, fib) != DOSFALSE)
-	// 		nodeExists = true;
-	// 	IDOS->UnLock(pLock);
-	// }
-	//
-	// IDOS->FreeDosObject(DOS_FIB, fib);
-	//
-	// =============================  New code
 	BPTR pLock = Lock(_sPath.c_str(), SHARED_LOCK);
 	if (pLock) {
 		nodeExists = true;
 		UnLock(pLock);
 	}
 
-	//LEAVE();
 	return nodeExists;
 }
 
 AbstractFSNode *MorphOSFilesystemNode::getChild(const Common::String &n) const {
-	//ENTER();
+
 	if (!_bIsDirectory) {
 		debug(6, "Not a directory");
 		return 0;
@@ -249,15 +205,11 @@ AbstractFSNode *MorphOSFilesystemNode::getChild(const Common::String &n) const {
 
 	newPath += n;
 
-	//LEAVE();
 	return new MorphOSFilesystemNode(newPath);
 }
 
 bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, bool hidden) const {
 
-
-	//bool ret = false;
-
 	if (!_bIsValid) {
 		debug(6, "Invalid node");
 		return false; // Empty list
@@ -274,7 +226,6 @@ bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b
 		return true;
 	}
 
-
 	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
 	
 	if (fib == NULL) {
@@ -295,40 +246,35 @@ bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b
 	  		(fib->fib_EntryType > 0 && (Common::FSNode::kListDirectoriesOnly == mode)) ||
 	  		(fib->fib_EntryType < 0 && (Common::FSNode::kListFilesOnly == mode )))
 	  		{
-	  		
-	  		full_path = _sPath;
-	  		full_path += fib->fib_FileName;
-	  		pLock = Lock(full_path.c_str(), SHARED_LOCK);
-			if (pLock) {
+
+	  			full_path = _sPath;
+	  			full_path += fib->fib_FileName;
+	  			pLock = Lock(full_path.c_str(), SHARED_LOCK);
+				if (pLock) 
+				{
 					entry = new MorphOSFilesystemNode( pLock, fib->fib_FileName );
 					if (entry) {
 						myList.push_back(entry);
 					}
-
 					UnLock(pLock);
-			}	  
-			
+				}	  
 			}
-			
-		}	
+		}
 	  	if (ERROR_NO_MORE_ENTRIES != IoErr() ) {
 			debug(6, "An error occurred during ExamineDir");
 			return false;
 		}
 	}
-	
+
 	FreeDosObject(DOS_FIB, fib);
-	  
+
 	return true;
-		
 }
 
 AbstractFSNode *MorphOSFilesystemNode::getParent() const {
-	//ENTER();
 
 	if (isRootNode()) {
 		debug(6, "Root node");
-		//LEAVE();
 		return new MorphOSFilesystemNode(*this);
 	}
 
@@ -353,8 +299,6 @@ AbstractFSNode *MorphOSFilesystemNode::getParent() const {
 		UnLock(pLock);
 	}
 
-	//LEAVE();
-
 	return node;
 }
 
@@ -382,12 +326,7 @@ AbstractFSList MorphOSFilesystemNode::listVolumes() const {
 			dosList->dol_Task) {
 
 			MorphOSFilesystemNode *entry;
-			
 
-			//CopyStringBSTRToC(dosList->dol_Name, buffer, MAXPATHLEN);
-
-			// Volume name + '\0'
-			//char *volName = new char [strlen(buffer) + 1];
 			CONST_STRPTR volName = (CONST_STRPTR)BADDR(dosList->dol_Name)+1;
 			CONST_STRPTR devName = (CONST_STRPTR)((struct Task *)dosList->dol_Task->mp_SigTask)->tc_Node.ln_Name;
 			BPTR volumeLock;
@@ -417,16 +356,22 @@ AbstractFSList MorphOSFilesystemNode::listVolumes() const {
 }
 
 Common::SeekableReadStream *MorphOSFilesystemNode::createReadStream() {
-	return StdioStream::makeFromPath(getPath(), false);
+	StdioStream *readStream = StdioStream::makeFromPath(getPath(), false);
+
+	if (readStream) {
+		readStream->setBufferSize(8192);
+	}
+
+	return readStream;
 }
 
 Common::WriteStream *MorphOSFilesystemNode::createWriteStream() {
 	return StdioStream::makeFromPath(getPath(), true);
 }
 
-bool MorphOSFilesystemNode::create(bool isDirectoryFlag) {
-	error("Not supported");
-	return false;
+bool MorphOSFilesystemNode::createDirectory() {
+	warning("AmigaOSFilesystemNode::createDirectory(): Not supported");
+	return _bIsValid && _bIsDirectory;
 }
 
 #endif //defined(__MORPHOS__)


Commit: d972d00ca2854758cbbcd541b5b0508f732acfa1
    https://github.com/scummvm/scummvm/commit/d972d00ca2854758cbbcd541b5b0508f732acfa1
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-fs.h

Changed paths:
    backends/fs/morphos/morphos-fs.h


diff --git a/backends/fs/morphos/morphos-fs.h b/backends/fs/morphos/morphos-fs.h
index 47b07ef6a4..5b066f1795 100644
--- a/backends/fs/morphos/morphos-fs.h
+++ b/backends/fs/morphos/morphos-fs.h
@@ -117,7 +117,7 @@ public:
 
 	virtual Common::SeekableReadStream *createReadStream();
 	virtual Common::WriteStream *createWriteStream();
-	virtual bool create(bool isDirectoryFlag);
+	virtual bool createDirectory();
 };
 
 


Commit: 7f64190ad50625827be545a5231db48ea98d7f83
    https://github.com/scummvm/scummvm/commit/7f64190ad50625827be545a5231db48ea98d7f83
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos.mk

Update with AmigaOS

Changed paths:
    backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
index ffd0b438e6..16b1e48c94 100644
--- a/backends/platform/sdl/morphos/morphos.mk
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -1,24 +1,48 @@
-# Special target to create an MorphOS snapshot installation
-morphosdist: $(EXECUTABLE)
+# Special target to create an MorphOS snapshot installation.
+# AmigaOS shell doesn't like indented comments.
+morphosdist: $(EXECUTABLE) $(PLUGINS)
 	mkdir -p $(MORPHOSPATH)
-	mkdir -p $(MORPHOSPATH)themes
-	mkdir -p $(MORPHOSPATH)extras
-	$(STRIP) $(EXECUTABLE) -o $(MORPHOSPATH)$(EXECUTABLE)
-	cp ${srcdir}/icons/scummvm_drawer.info $(MORPHOSPATH).info
-	cp ${srcdir}/icons/scummvm.info $(MORPHOSPATH)$(EXECUTABLE).info
-	cp $(DIST_FILES_THEMES) $(MORPHOSPATH)themes/
+	mkdir -p $(MORPHOSPATH)/extras
+	cp ${srcdir}/dists/amiga/scummvm_drawer.info $(MORPHOSPATH).info
+	cp ${srcdir}/dists/amiga/scummvm.info $(MORPHOSPATH)/$(EXECUTABLE).info
+# Copy mandatory installation files.
+# Prepare README.md for AmigaGuide conversion.
+	cat ${srcdir}/README.md | sed -f ${srcdir}/dists/amiga/convertRM.sed > README.conv
+# AmigaOS AREXX has a problem when ${srcdir} is '.'.
+# It will break with a "Program not found" error.
+# Copy the script to cwd and, once it has finished, remove it.
+	cp ${srcdir}/dists/amiga/RM2AG.rexx .
+	rx RM2AG.rexx README.conv $(MORPHOSPATH)
+	rm README.conv
+	rm RM2AG.rexx
+ifdef DIST_FILES_DOCS
+	mkdir -p $(MORPHOSPATH)/doc
+	cp -r $(srcdir)/doc/ $(MORPHOSPATH)
+	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)/doc/
+endif
 ifdef DIST_FILES_ENGINEDATA
-	cp $(DIST_FILES_ENGINEDATA) $(MORPHOSPATH)extras/
+	cp $(DIST_FILES_ENGINEDATA) $(MORPHOSPATH)/extras/
 endif
-	cat ${srcdir}/README | sed -f ${srcdir}/dists/amiga/convertRM.sed > README.conv
-# MorphOS's shell is not happy with indented comments, thus don't do it.
-# AREXX seems to have problems when ${srcdir} is '.'. It will break with a
-# "Program not found" error. Therefore we copy the script to the cwd and
-# remove it again, once it has finished.
-	cp ${srcdir}/dists/amiga/RM2AG.rx .
-	rx RM2AG.rexx README.conv
-	cp README.guide $(MORPHOSPATH)
-	rm RM2AG.rexx
-	rm README.conv
-	rm README.guide
-	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)
+ifdef DIST_FILES_NETWORKING
+	cp $(DIST_FILES_NETWORKING) $(MORPHOSPATH)/extras/
+endif
+ifdef DIST_FILES_VKEYBD
+	cp $(DIST_FILES_VKEYBD) $(MORPHOSPATH)/extras/
+endif
+ifdef DIST_FILES_THEMES
+	mkdir -p $(MORPHOSPATH)/themes
+	cp $(DIST_FILES_THEMES) $(MORPHOSPATH)/themes/
+endif
+# Strip and copy engine plugins.
+ifdef DYNAMIC_MODULES
+	mkdir -p $(MORPHOSPATH)/plugins
+	$(foreach plugin, $(PLUGINS), $(STRIP) $(plugin) -o $(MORPHOSPATH)/$(plugin);)
+# Extract and install compiled-in shared libraries.
+# Not every AmigaOS installation, especially vanilla ones,
+# come with every mandatory shared library.
+	mkdir -p $(MORPHOSPATH)/sobjs
+	cp ${srcdir}/dists/amiga/Ext_Inst_so.rexx .
+	rx Ext_Inst_so.rexx $(EXECUTABLE) $(MORPHOSPATH)
+	rm Ext_Inst_so.rexx
+endif
+	$(STRIP) $(EXECUTABLE) -o $(AMIGAOSPATH)/$(EXECUTABLE)


Commit: f20cdd53aa4d89208567b5333db25bd857039287
    https://github.com/scummvm/scummvm/commit/f20cdd53aa4d89208567b5333db25bd857039287
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-main.cpp

More stack and delete somes comments

Changed paths:
    backends/platform/sdl/morphos/morphos-main.cpp


diff --git a/backends/platform/sdl/morphos/morphos-main.cpp b/backends/platform/sdl/morphos/morphos-main.cpp
index 4c02f513ff..17fd01adb0 100644
--- a/backends/platform/sdl/morphos/morphos-main.cpp
+++ b/backends/platform/sdl/morphos/morphos-main.cpp
@@ -31,38 +31,8 @@
 
 int main(int argc, char *argv[]) {
 
-	// The following will gather the application name and add the install path
-	// to a variable in AmigaOS4's ENV(ARC) system. It will be placed in AppPaths
-	// so that ScummVM can become AmiUpdate aware
-	//const char *const appname = "ScummVM";
-
-	/*BPTR lock;
-	APTR oldwin;
-
-	// Obtain a lock to the home directory
-	if ((lock = IDOS->GetProgramDir())) {
-		TEXT progpath[2048];
-		TEXT apppath[1024] = "AppPaths";
-
-		if (IDOS->DevNameFromLock(lock,
-			progpath,
-			sizeof(progpath),
-			DN_FULLPATH)) {
-
-			// Stop any "Insert volume..." type requesters
-			oldwin = IDOS->SetProcWindow((APTR)-1);
-
-			// Finally, set the variable to the path the executable was run from
-			IDOS->AddPart( apppath, appname, 1024);
-			IDOS->SetVar( apppath, progpath, -1, GVF_GLOBAL_ONLY|GVF_SAVE_VAR );
-
-			// Turn system requesters back on
-			IDOS->SetProcWindow( oldwin );
-		}
-	}*/
-
 	// Set up a stack cookie to avoid crashes from a stack set too low
-	static const char *stack_cookie __attribute__((used)) = "$STACK: 600000";
+	static const char *stack_cookie __attribute__((used)) = "$STACK: 2048000";
 
 	// Create our OSystem instance
 	g_system = new OSystem_MorphOS();


Commit: 38d000458223c5b9aba28468a7bf7f0a3574b4e4
    https://github.com/scummvm/scummvm/commit/38d000458223c5b9aba28468a7bf7f0a3574b4e4
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update sdl-window.cpp

MorphOS SDL doesnt support SDL_GetWMInfo

Changed paths:
    backends/platform/sdl/sdl-window.cpp


diff --git a/backends/platform/sdl/sdl-window.cpp b/backends/platform/sdl/sdl-window.cpp
index 4ee8ae23da..474252edbc 100644
--- a/backends/platform/sdl/sdl-window.cpp
+++ b/backends/platform/sdl/sdl-window.cpp
@@ -203,7 +203,11 @@ bool SdlWindow::getSDLWMInformation(SDL_SysWMinfo *info) const {
 #if SDL_VERSION_ATLEAST(2, 0, 0)
 	return _window ? (SDL_GetWindowWMInfo(_window, info) == SDL_TRUE) : false;
 #else
+	#ifdef __MORPHOS__
+	return -1;
+	#else
 	return SDL_GetWMInfo(info);
+	#endif
 #endif
 }
 


Commit: 8f38b6a08dba1c2204e6e64f97efe9392b157aef
    https://github.com/scummvm/scummvm/commit/8f38b6a08dba1c2204e6e64f97efe9392b157aef
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update version.cpp

MorphOS Support

Changed paths:
    base/version.cpp


diff --git a/base/version.cpp b/base/version.cpp
index a5029175ac..bce6e8a4e6 100644
--- a/base/version.cpp
+++ b/base/version.cpp
@@ -59,6 +59,9 @@ const char *gScummVMVersion = SCUMMVM_VERSION SCUMMVM_REVISION;
 #ifdef __amigaos4__
 static const char *version_cookie __attribute__((used)) = "$VER: ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" AMIGA_DATE ")";
 #endif
+#ifdef __MORPHOS__
+static const char *version_cookie __attribute__((used)) = "$VER: ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ ")";
+#endif
 const char *gScummVMBuildDate = __DATE__ " " __TIME__;
 const char *gScummVMVersionDate = SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ " " __TIME__ ")";
 const char *gScummVMFullVersion = "ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ " " __TIME__ ")";


Commit: 775f6c48034317c992b7d7eb8516fcf24632f5b0
    https://github.com/scummvm/scummvm/commit/775f6c48034317c992b7d7eb8516fcf24632f5b0
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update scummsys.h

MorphOS support

Changed paths:
    common/scummsys.h


diff --git a/common/scummsys.h b/common/scummsys.h
index 447f27ba14..b09ff1f99b 100644
--- a/common/scummsys.h
+++ b/common/scummsys.h
@@ -282,7 +282,7 @@
 
 		#define SCUMM_LITTLE_ENDIAN
 
-	#elif defined(__amigaos4__) || defined(__N64__) || defined(__WII__)
+	#elif defined(__MORPHOS__) || defined(__amigaos4__) || defined(__N64__) || defined(__WII__)
 
 		#define SCUMM_BIG_ENDIAN
 		#define SCUMM_NEED_ALIGNMENT


Commit: b8eef48149e873abd110a8b671ebc4220e558359
    https://github.com/scummvm/scummvm/commit/b8eef48149e873abd110a8b671ebc4220e558359
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update configure

Update MorphOS

Changed paths:
    configure


diff --git a/configure b/configure
index f31935fae0..71b753ca62 100755
--- a/configure
+++ b/configure
@@ -2632,6 +2632,7 @@ case $_host_os in
 	morphos*)
 		append_var LDFLAGS "-Wl,--export-dynamic"
 		append_var LDFLAGS "-L/usr/local/lib"
+		append_var CXXFLAGS "-D__MORPHOS_SHAREDLIBS"
 		# We have to use 'long' for our 4 byte typedef because MorphOS already typedefs (u)int32
 		# as (unsigned) long, and consequently we'd get a compiler error otherwise.
 		type_4_byte='long'
@@ -3893,7 +3894,7 @@ esac
 #
 echo_n "Checking if host is POSIX compliant... "
 case $_host_os in
-	amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | morphos* | n64 | ps3 | psp2 | psp | riscos | wii)
+	amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | morphos | n64 | ps3 | psp2 | psp | riscos | wii)
 		_posix=no
 		;;
 	3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | solaris* | sunos* | switch | uclinux*)
@@ -3976,7 +3977,7 @@ _mak_plugins='
 PLUGIN_LDFLAGS		+= -Wl,-T$(srcdir)/backends/plugins/3ds/plugin.ld -march=armv6k -mfloat-abi=hard
 '
 		;;
-	amigaos)
+	amigaos | morphos)
 		_plugin_prefix="lib"
 		_plugin_suffix=".so"
 		append_var CXXFLAGS "-fPIC"


Commit: ab37562d055d61171e5ef5f3d6051a1dcc0a40df
    https://github.com/scummvm/scummvm/commit/ab37562d055d61171e5ef5f3d6051a1dcc0a40df
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-fs.cpp

Clean up

Changed paths:
    backends/fs/morphos/morphos-fs.cpp


diff --git a/backends/fs/morphos/morphos-fs.cpp b/backends/fs/morphos/morphos-fs.cpp
index 8cd197532e..800e170d14 100644
--- a/backends/fs/morphos/morphos-fs.cpp
+++ b/backends/fs/morphos/morphos-fs.cpp
@@ -27,9 +27,6 @@
 #include "common/debug.h"
 #include "common/util.h"
 
-//#define ENTER() /* debug(6, "Enter") */
-//#define LEAVE() /* debug(6, "Leave") */
-
 /**
  * Returns the last component of a given path.
  *
@@ -235,10 +232,11 @@ bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b
 	
 	if (Examine(_pFileLock, fib) != DOSFALSE) {
 	
+	  MorphOSFilesystemNode *entry;
+		
 	  while (ExNext(_pFileLock, fib) != DOSFALSE)
 	  {
-	  
-	  	MorphOSFilesystemNode *entry;
+
 	  	Common::String full_path = NULL;
 	  	BPTR pLock;
 	  	


Commit: 84b1274219a03caeb6be2f06a42e5d8b3e5fcae3
    https://github.com/scummvm/scummvm/commit/84b1274219a03caeb6be2f06a42e5d8b3e5fcae3
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-fs.cpp

Changed paths:
    backends/fs/morphos/morphos-fs.cpp


diff --git a/backends/fs/morphos/morphos-fs.cpp b/backends/fs/morphos/morphos-fs.cpp
index 800e170d14..d7b52c6e13 100644
--- a/backends/fs/morphos/morphos-fs.cpp
+++ b/backends/fs/morphos/morphos-fs.cpp
@@ -317,14 +317,14 @@ AbstractFSList MorphOSFilesystemNode::listVolumes() const {
 
 	dosList = NextDosEntry(dosList, LDF_VOLUMES);
 	
+	MorphOSFilesystemNode *entry;
+	
 	while (dosList) {
 	
 		if (dosList->dol_Type == DLT_VOLUME &&
 			dosList->dol_Name &&
 			dosList->dol_Task) {
 
-			MorphOSFilesystemNode *entry;
-
 			CONST_STRPTR volName = (CONST_STRPTR)BADDR(dosList->dol_Name)+1;
 			CONST_STRPTR devName = (CONST_STRPTR)((struct Task *)dosList->dol_Task->mp_SigTask)->tc_Node.ln_Name;
 			BPTR volumeLock;


Commit: f2bfa5c7be74dfc32a1e0266e6d79b4f1af4fe53
    https://github.com/scummvm/scummvm/commit/f2bfa5c7be74dfc32a1e0266e6d79b4f1af4fe53
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos.mk

Changed paths:
    backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
index 16b1e48c94..9d7e559a74 100644
--- a/backends/platform/sdl/morphos/morphos.mk
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -45,4 +45,4 @@ ifdef DYNAMIC_MODULES
 	rx Ext_Inst_so.rexx $(EXECUTABLE) $(MORPHOSPATH)
 	rm Ext_Inst_so.rexx
 endif
-	$(STRIP) $(EXECUTABLE) -o $(AMIGAOSPATH)/$(EXECUTABLE)
+	$(STRIP) $(EXECUTABLE) -o $(MORPHOSPATH)/$(EXECUTABLE)


Commit: 176929568c78cfcbf767056a3bc2db5898a9c417
    https://github.com/scummvm/scummvm/commit/176929568c78cfcbf767056a3bc2db5898a9c417
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: MORPHOS: Build with SDL1 by default

Changed paths:
    configure


diff --git a/configure b/configure
index 71b753ca62..ac5fbe99b4 100755
--- a/configure
+++ b/configure
@@ -2640,6 +2640,7 @@ case $_host_os in
 		append_var CXXFLAGS "-Wno-format"
 		add_line_to_config_mk 'MORPHOS = 1'
 		_port_mk="backends/platform/sdl/morphos/morphos.mk"
+		_sdlconfig=sdl-config
 		_nuked_opl=no
 		;;
 	android)


Commit: ac573487de046a03cbf509aa28dd4e80bd25b351
    https://github.com/scummvm/scummvm/commit/ac573487de046a03cbf509aa28dd4e80bd25b351
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: use libz shared from MORPHOS

Need to use -lz_shared on linking.

Changed paths:
    common/zlib.cpp


diff --git a/common/zlib.cpp b/common/zlib.cpp
index 35a103499b..94fc7bb87b 100644
--- a/common/zlib.cpp
+++ b/common/zlib.cpp
@@ -33,6 +33,10 @@
 #if defined(USE_ZLIB)
   #ifdef __SYMBIAN32__
     #include <zlib\zlib.h>
+  #elif defined(__MORPHOS__)
+	#define _NO_PPCINLINE
+	#include <zlib.h>
+	#undef _NO_PPCINLINE
   #else
     #include <zlib.h>
   #endif


Commit: 85f7d5865bbfbfa62bc098ae0533ce3ea95ee7c6
    https://github.com/scummvm/scummvm/commit/85f7d5865bbfbfa62bc098ae0533ce3ea95ee7c6
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update opengl-sys.h

Changed paths:
    backends/graphics/opengl/opengl-sys.h


diff --git a/backends/graphics/opengl/opengl-sys.h b/backends/graphics/opengl/opengl-sys.h
index 5e754bb328..97ebb88777 100644
--- a/backends/graphics/opengl/opengl-sys.h
+++ b/backends/graphics/opengl/opengl-sys.h
@@ -30,6 +30,10 @@
 #include "backends/platform/sdl/sdl-sys.h"
 #endif
 
+#ifdef __MORPHOS__
+#define USE_GLES_MODE 1
+#endif
+
 // On OS X we only support GL contexts. The reason is that Apple's GL interface
 // uses "void *" for GLhandleARB which is not type compatible with GLint. This
 // kills our aliasing trick for extension functions and thus would force us to


Commit: 521731f28ea0e8bac21bf538102f98a133cc2430
    https://github.com/scummvm/scummvm/commit/521731f28ea0e8bac21bf538102f98a133cc2430
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Use SDL2

Changed paths:
    configure


diff --git a/configure b/configure
index ac5fbe99b4..31d1936bf3 100755
--- a/configure
+++ b/configure
@@ -2640,7 +2640,7 @@ case $_host_os in
 		append_var CXXFLAGS "-Wno-format"
 		add_line_to_config_mk 'MORPHOS = 1'
 		_port_mk="backends/platform/sdl/morphos/morphos.mk"
-		_sdlconfig=sdl-config
+		_sdlconfig=sdl2-config
 		_nuked_opl=no
 		;;
 	android)


Commit: 94b31c086dc3932467c610fad7c1def414a00970
    https://github.com/scummvm/scummvm/commit/94b31c086dc3932467c610fad7c1def414a00970
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos-fs.cpp

Changed paths:
    backends/fs/morphos/morphos-fs.cpp


diff --git a/backends/fs/morphos/morphos-fs.cpp b/backends/fs/morphos/morphos-fs.cpp
index d7b52c6e13..9a14def638 100644
--- a/backends/fs/morphos/morphos-fs.cpp
+++ b/backends/fs/morphos/morphos-fs.cpp
@@ -34,6 +34,7 @@
  * @return Pointer to the first char of the last component inside str.
  */
 const char *lastPathComponent(const Common::String &str) {
+
 	int offset = str.size();
 
 	if (offset <= 0) {
@@ -60,13 +61,11 @@ MorphOSFilesystemNode::MorphOSFilesystemNode() {
 	_sPath = "";
 	_pFileLock = 0;
 	_nProt = 0; // Protection is ignored for the root volume
-
 }
 
 MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
 
 	int offset = p.size();
-
 	if (offset <= 0) {
 		debug(6, "Bad offset");
 		return;
@@ -87,21 +86,20 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(const Common::String &p) {
 
 	BPTR pLock = Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
 	if (pLock) {
-	 if (Examine(pLock, fib) != DOSFALSE) {
-	  if (fib->fib_EntryType > 0)
-	  {
-	   	_bIsDirectory = true;
-	   	_pFileLock = DupLock(pLock);
-		_bIsValid = (_pFileLock != 0);
-	    const char c = _sPath.lastChar();
-			if (c != '/' && c != ':')
-				_sPath += '/';
-	  } else {
-	  	_bIsDirectory = false;
-		_bIsValid = false;
-	  }
-	 }
-	 UnLock(pLock);
+		if (Examine(pLock, fib) != DOSFALSE) {
+			if (fib->fib_EntryType > 0) {
+				_bIsDirectory = true;
+				_pFileLock = DupLock(pLock);
+				_bIsValid = (_pFileLock != 0);
+				const char c = _sPath.lastChar();
+				if (c != '/' && c != ':')
+					_sPath += '/';
+			} else {
+				_bIsDirectory = false;
+				_bIsValid = false;
+			}
+		}
+		UnLock(pLock);
 	}
 	FreeDosObject(DOS_FIB, fib);
 }
@@ -137,15 +135,13 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayNam
 	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
 	
 	if (fib == NULL) {
-	 debug(6,"Failed...");
-	 return;	
+		debug(6,"Failed...");
+		return;	
 	}
 
-	if (Examine(pLock, fib) != DOSFALSE) 
-	{
+	if (Examine(pLock, fib) != DOSFALSE) {
   		_bIsDirectory = fib->fib_EntryType >0;
-		if (_bIsDirectory)
-		{
+		if (_bIsDirectory) {
 	   		if (fib->fib_EntryType != ST_ROOT)
 	   			_sPath += '/';
 	   		_pFileLock = DupLock(pLock);
@@ -160,6 +156,7 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(BPTR pLock, const char *pDisplayNam
 // We need the custom copy constructor because of DupLock()
 MorphOSFilesystemNode::MorphOSFilesystemNode(const MorphOSFilesystemNode& node)
 : AbstractFSNode() {
+
 	_sDisplayName = node._sDisplayName;
 	_bIsValid = node._bIsValid;
 	_bIsDirectory = node._bIsDirectory;
@@ -169,11 +166,13 @@ MorphOSFilesystemNode::MorphOSFilesystemNode(const MorphOSFilesystemNode& node)
 }
 
 MorphOSFilesystemNode::~MorphOSFilesystemNode() {
+
 	if (_pFileLock)
 		UnLock(_pFileLock);
 }
 
 bool MorphOSFilesystemNode::exists() const {
+
 	if (_sPath.empty())
 		return false;
 
@@ -226,30 +225,22 @@ bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b
 	FileInfoBlock *fib = (FileInfoBlock*) AllocDosObject(DOS_FIB, NULL);
 	
 	if (fib == NULL) {
-	 debug(6, "Failed to allocate memory for FileInfoBLock");
-	 return false;
+		debug(6, "Failed to allocate memory for FileInfoBLock");
+		return false;
 	}
 	
 	if (Examine(_pFileLock, fib) != DOSFALSE) {
 	
-	  MorphOSFilesystemNode *entry;
-		
-	  while (ExNext(_pFileLock, fib) != DOSFALSE)
-	  {
-
-	  	Common::String full_path = NULL;
-	  	BPTR pLock;
-	  	
-	  	if ((mode == Common::FSNode::kListAll) || 
-	  		(fib->fib_EntryType > 0 && (Common::FSNode::kListDirectoriesOnly == mode)) ||
-	  		(fib->fib_EntryType < 0 && (Common::FSNode::kListFilesOnly == mode )))
-	  		{
-
-	  			full_path = _sPath;
-	  			full_path += fib->fib_FileName;
-	  			pLock = Lock(full_path.c_str(), SHARED_LOCK);
-				if (pLock) 
-				{
+		MorphOSFilesystemNode *entry;
+
+		while (ExNext(_pFileLock, fib) != DOSFALSE) {
+			Common::String full_path = NULL;
+			BPTR pLock;
+	  	  	if ((mode == Common::FSNode::kListAll) || (fib->fib_EntryType > 0 && (Common::FSNode::kListDirectoriesOnly == mode)) ||	(fib->fib_EntryType < 0 && (Common::FSNode::kListFilesOnly == mode ))) {
+				full_path = _sPath;
+				full_path += fib->fib_FileName;
+				pLock = Lock(full_path.c_str(), SHARED_LOCK);
+				if (pLock) {
 					entry = new MorphOSFilesystemNode( pLock, fib->fib_FileName );
 					if (entry) {
 						myList.push_back(entry);
@@ -265,7 +256,6 @@ bool MorphOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b
 	}
 
 	FreeDosObject(DOS_FIB, fib);
-
 	return true;
 }
 


Commit: ead34d3fc6274b0614275cc93c222f2ccb706071
    https://github.com/scummvm/scummvm/commit/ead34d3fc6274b0614275cc93c222f2ccb706071
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Fix configure

Changed paths:
    configure


diff --git a/configure b/configure
index 31d1936bf3..ecd8754587 100755
--- a/configure
+++ b/configure
@@ -4746,16 +4746,13 @@ if test "$_libcurl" != "no"; then
 		LIBCURL_CFLAGS=`$_libcurlconfig --cflags`
 
 		case $_host_os in
-			amigaos*)
+			amigaos* | morphos*)
 				append_var LIBCURL_LIBS "-lpthread"
 			;;
 			# macOS does not allow static libs, overriding
 			darwin*)
 				LIBCURL_LIBS=`$_libcurlconfig --libs`
 			;;
-			morphos*)
-				append_var LIBCURL_LIBS "-lpthread"
-			;;
 			psp2*)
 				append_var LIBCURL_LIBS "-lssl -lcrypto"
 			;;


Commit: 47cd52f20f113ad66b6607feebbd8906e2ba5ae2
    https://github.com/scummvm/scummvm/commit/47cd52f20f113ad66b6607feebbd8906e2ba5ae2
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Delete midi/camd

Changed paths:
    backends/module.mk


diff --git a/backends/module.mk b/backends/module.mk
index 04b0efa85d..58a77c9344 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -237,8 +237,7 @@ endif
 ifdef MORPHOS
 MODULE_OBJS += \
 	fs/morphos/morphos-fs.o \
-	fs/morphos/morphos-fs-factory.o \
-	midi/camd.o
+	fs/morphos/morphos-fs-factory.o
 endif
 
 ifdef RISCOS


Commit: 2f39941fb32233729174f592aaf7fbbe25bf3adf
    https://github.com/scummvm/scummvm/commit/2f39941fb32233729174f592aaf7fbbe25bf3adf
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update morphos.mk

Changed paths:
    backends/platform/sdl/morphos/morphos.mk


diff --git a/backends/platform/sdl/morphos/morphos.mk b/backends/platform/sdl/morphos/morphos.mk
index 9d7e559a74..1469f702a6 100644
--- a/backends/platform/sdl/morphos/morphos.mk
+++ b/backends/platform/sdl/morphos/morphos.mk
@@ -1,48 +1,25 @@
 # Special target to create an MorphOS snapshot installation.
 # AmigaOS shell doesn't like indented comments.
 morphosdist: $(EXECUTABLE) $(PLUGINS)
-	mkdir -p $(MORPHOSPATH)
-	mkdir -p $(MORPHOSPATH)/extras
-	cp ${srcdir}/dists/amiga/scummvm_drawer.info $(MORPHOSPATH).info
+	mkdir -p $(MORPHOSPATH)extras
 	cp ${srcdir}/dists/amiga/scummvm.info $(MORPHOSPATH)/$(EXECUTABLE).info
-# Copy mandatory installation files.
-# Prepare README.md for AmigaGuide conversion.
-	cat ${srcdir}/README.md | sed -f ${srcdir}/dists/amiga/convertRM.sed > README.conv
-# AmigaOS AREXX has a problem when ${srcdir} is '.'.
-# It will break with a "Program not found" error.
-# Copy the script to cwd and, once it has finished, remove it.
-	cp ${srcdir}/dists/amiga/RM2AG.rexx .
-	rx RM2AG.rexx README.conv $(MORPHOSPATH)
-	rm README.conv
-	rm RM2AG.rexx
 ifdef DIST_FILES_DOCS
 	mkdir -p $(MORPHOSPATH)/doc
 	cp -r $(srcdir)/doc/ $(MORPHOSPATH)
-	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)/doc/
+	cp $(DIST_FILES_DOCS) $(MORPHOSPATH)doc/
 endif
 ifdef DIST_FILES_ENGINEDATA
-	cp $(DIST_FILES_ENGINEDATA) $(MORPHOSPATH)/extras/
+	cp $(DIST_FILES_ENGINEDATA) $(MORPHOSPATH)extras/
 endif
 ifdef DIST_FILES_NETWORKING
-	cp $(DIST_FILES_NETWORKING) $(MORPHOSPATH)/extras/
+	cp $(DIST_FILES_NETWORKING) $(MORPHOSPATH)extras/
 endif
 ifdef DIST_FILES_VKEYBD
-	cp $(DIST_FILES_VKEYBD) $(MORPHOSPATH)/extras/
+	cp $(DIST_FILES_VKEYBD) $(MORPHOSPATH)extras/
 endif
 ifdef DIST_FILES_THEMES
-	mkdir -p $(MORPHOSPATH)/themes
-	cp $(DIST_FILES_THEMES) $(MORPHOSPATH)/themes/
+	mkdir -p $(MORPHOSPATH)themes
+	cp $(DIST_FILES_THEMES) $(MORPHOSPATH)themes/
 endif
-# Strip and copy engine plugins.
-ifdef DYNAMIC_MODULES
-	mkdir -p $(MORPHOSPATH)/plugins
-	$(foreach plugin, $(PLUGINS), $(STRIP) $(plugin) -o $(MORPHOSPATH)/$(plugin);)
-# Extract and install compiled-in shared libraries.
-# Not every AmigaOS installation, especially vanilla ones,
-# come with every mandatory shared library.
-	mkdir -p $(MORPHOSPATH)/sobjs
-	cp ${srcdir}/dists/amiga/Ext_Inst_so.rexx .
-	rx Ext_Inst_so.rexx $(EXECUTABLE) $(MORPHOSPATH)
-	rm Ext_Inst_so.rexx
-endif
-	$(STRIP) $(EXECUTABLE) -o $(MORPHOSPATH)/$(EXECUTABLE)
+# Strip 
+	$(STRIP) $(EXECUTABLE) -o $(MORPHOSPATH)$(EXECUTABLE)


Commit: 18fd8f91e4ded7072f467ba19405b7218cdcf8d0
    https://github.com/scummvm/scummvm/commit/18fd8f91e4ded7072f467ba19405b7218cdcf8d0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update configure

Co-authored-by: Cameron Cawley <ccawley2011 at gmail.com>

Changed paths:
    configure


diff --git a/configure b/configure
index ecd8754587..2e41197e1a 100755
--- a/configure
+++ b/configure
@@ -3470,18 +3470,6 @@ if test -n "$_host"; then
 
 			_port_mk="backends/platform/sdl/morphos/morphos.mk"
 			;;
-		
-	
-
-
-			append_var DEFINES "-DDISABLE_SID"
-			append_var DEFINES "-DDISABLE_NES_APU"
-			append_var CXXFLAGS "-fno-exceptions"
-			append_var CXXFLAGS "-fno-rtti"
-			_backend="ps2"
-			_build_scalers=no
-			_mt32emu=no
-			;;
 		ps3)
 			_timidity=no
 			_vkeybd=yes


Commit: 3d79ce5cc0e5368de8e67f60b2d58dd327f2eca7
    https://github.com/scummvm/scummvm/commit/3d79ce5cc0e5368de8e67f60b2d58dd327f2eca7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update backends/fs/stdiostream.cpp

Co-authored-by: Cameron Cawley <ccawley2011 at gmail.com>

Changed paths:
    backends/fs/stdiostream.cpp


diff --git a/backends/fs/stdiostream.cpp b/backends/fs/stdiostream.cpp
index 702f822dd1..5f3b5cd267 100644
--- a/backends/fs/stdiostream.cpp
+++ b/backends/fs/stdiostream.cpp
@@ -87,25 +87,6 @@ bool StdioStream::flush() {
 StdioStream *StdioStream::makeFromPath(const Common::String &path, bool writeMode) {
 	FILE *handle = fopen(path.c_str(), writeMode ? "wb" : "rb");
 
-#if defined(__amigaos4__) || defined(__MORPHOS__)
-	//
-	// Work around for possibility that someone uses AmigaOS "newlib" build
-	// with SmartFileSystem (blocksize 512 bytes), leading to buffer size
-	// being only 512 bytes. "Clib2" sets the buffer size to 8KB, resulting
-	// smooth movie playback. This forces the buffer to be enough also when
-	// using "newlib" compile on SFS.
-	//
-	if (handle && !writeMode) {
-		setvbuf(handle, NULL, _IOFBF, 8192);
-	}
-#endif
-
-#if defined(__WII__)
-	// disable newlib's buffering, the device libraries handle caching
-	if (handle)
-		setvbuf(handle, NULL, _IONBF, 0);
-#endif
-
 	if (handle)
 		return new StdioStream(handle);
 	return 0;


Commit: 1277ff8b359fa7f6524bae17b435938feff26e2f
    https://github.com/scummvm/scummvm/commit/1277ff8b359fa7f6524bae17b435938feff26e2f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: Update backends/platform/sdl/sdl-window.cpp

Co-authored-by: Cameron Cawley <ccawley2011 at gmail.com>

Changed paths:
    backends/platform/sdl/sdl-window.cpp


diff --git a/backends/platform/sdl/sdl-window.cpp b/backends/platform/sdl/sdl-window.cpp
index 474252edbc..68370941b6 100644
--- a/backends/platform/sdl/sdl-window.cpp
+++ b/backends/platform/sdl/sdl-window.cpp
@@ -202,12 +202,10 @@ bool SdlWindow::getSDLWMInformation(SDL_SysWMinfo *info) const {
 	SDL_VERSION(&info->version);
 #if SDL_VERSION_ATLEAST(2, 0, 0)
 	return _window ? (SDL_GetWindowWMInfo(_window, info) == SDL_TRUE) : false;
-#else
-	#ifdef __MORPHOS__
-	return -1;
-	#else
+#elif !defined(__MORPHOS__)
 	return SDL_GetWMInfo(info);
-	#endif
+#else
+	return false;
 #endif
 }
 


Commit: 3f69eca93276aff00d88606af588c8148450f1d3
    https://github.com/scummvm/scummvm/commit/3f69eca93276aff00d88606af588c8148450f1d3
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: remove USE_GLES_MODE

Not necessary

Changed paths:
    backends/graphics/opengl/opengl-sys.h


diff --git a/backends/graphics/opengl/opengl-sys.h b/backends/graphics/opengl/opengl-sys.h
index 97ebb88777..5e754bb328 100644
--- a/backends/graphics/opengl/opengl-sys.h
+++ b/backends/graphics/opengl/opengl-sys.h
@@ -30,10 +30,6 @@
 #include "backends/platform/sdl/sdl-sys.h"
 #endif
 
-#ifdef __MORPHOS__
-#define USE_GLES_MODE 1
-#endif
-
 // On OS X we only support GL contexts. The reason is that Apple's GL interface
 // uses "void *" for GLhandleARB which is not type compatible with GLint. This
 // kills our aliasing trick for extension functions and thus would force us to


Commit: 2f1acbe627989ceff8020fe2cc034fdf08a4ae12
    https://github.com/scummvm/scummvm/commit/2f1acbe627989ceff8020fe2cc034fdf08a4ae12
Author: BeWorld (36823759+BeWorld2018 at users.noreply.github.com)
Date: 2020-08-21T00:59:18+02:00

Commit Message:
MORPHOS: simplify VERSION

- Same as AmigaOS4, add AMIGA format DATE
- Configure : force optimization level on release build

Changed paths:
    Makefile.common
    base/version.cpp
    configure


diff --git a/Makefile.common b/Makefile.common
index 43263b13a1..6793b5670e 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -201,6 +201,11 @@ ifdef AMIGAOS
 AMIGA_DATE = $(shell gdate '+%d.%m.%Y')
 VERFLAGS += -DAMIGA_DATE=\"$(AMIGA_DATE)\"
 endif
+ifdef MORPHOS
+# MorphOS needs date in specific format for the version cookie
+AMIGA_DATE = $(shell date +"%-d.%-m.%Y")
+VERFLAGS += -DAMIGA_DATE=\"$(AMIGA_DATE)\"
+endif
 
 ######################################################################
 # Get git's working copy information
diff --git a/base/version.cpp b/base/version.cpp
index bce6e8a4e6..c19cd0c341 100644
--- a/base/version.cpp
+++ b/base/version.cpp
@@ -56,12 +56,9 @@
  * to properly work in exports (i.e. release tar balls etc.).
  */
 const char *gScummVMVersion = SCUMMVM_VERSION SCUMMVM_REVISION;
-#ifdef __amigaos4__
+#if defined(__amigaos4__) || defined(__MORPHOS__)
 static const char *version_cookie __attribute__((used)) = "$VER: ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" AMIGA_DATE ")";
 #endif
-#ifdef __MORPHOS__
-static const char *version_cookie __attribute__((used)) = "$VER: ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ ")";
-#endif
 const char *gScummVMBuildDate = __DATE__ " " __TIME__;
 const char *gScummVMVersionDate = SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ " " __TIME__ ")";
 const char *gScummVMFullVersion = "ScummVM " SCUMMVM_VERSION SCUMMVM_REVISION " (" __DATE__ " " __TIME__ ")";
diff --git a/configure b/configure
index 2e41197e1a..c868979ede 100755
--- a/configure
+++ b/configure
@@ -2630,6 +2630,9 @@ case $_host_os in
 		_nuked_opl=no
 		;;
 	morphos*)
+		if test "$_debug_build" = no; then
+			_optimization_level=-O2
+		fi
 		append_var LDFLAGS "-Wl,--export-dynamic"
 		append_var LDFLAGS "-L/usr/local/lib"
 		append_var CXXFLAGS "-D__MORPHOS_SHAREDLIBS"
@@ -2640,6 +2643,7 @@ case $_host_os in
 		append_var CXXFLAGS "-Wno-format"
 		add_line_to_config_mk 'MORPHOS = 1'
 		_port_mk="backends/platform/sdl/morphos/morphos.mk"
+		# for use SDL2
 		_sdlconfig=sdl2-config
 		_nuked_opl=no
 		;;




More information about the Scummvm-git-logs mailing list