[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