[Scummvm-git-logs] scummvm master -> a3f83e07abc7bb44b49667f4a79a103df387f7b0

ccawley2011 noreply at scummvm.org
Sat Jun 18 22:21:48 UTC 2022


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

Summary:
a3f83e07ab RISCOS: Implement OSystem::messageBox()


Commit: a3f83e07abc7bb44b49667f4a79a103df387f7b0
    https://github.com/scummvm/scummvm/commit/a3f83e07abc7bb44b49667f4a79a103df387f7b0
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-06-18T23:21:38+01:00

Commit Message:
RISCOS: Implement OSystem::messageBox()

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


diff --git a/backends/platform/sdl/riscos/riscos.cpp b/backends/platform/sdl/riscos/riscos.cpp
index 5a255676698..f75fd75ed47 100644
--- a/backends/platform/sdl/riscos/riscos.cpp
+++ b/backends/platform/sdl/riscos/riscos.cpp
@@ -116,6 +116,36 @@ void OSystem_RISCOS::logMessage(LogMessageType::Type type, const char *message)
 	_swix(Report_Text0, _IN(0), report.c_str());
 }
 
+void OSystem_RISCOS::messageBox(LogMessageType::Type type, const char *message) {
+	_kernel_swi_regs regs;
+	_kernel_oserror error;
+
+	error.errnum = 0;
+	Common::strlcpy(error.errmess, message, 252);
+	regs.r[0] = (int)&error;
+	regs.r[1] = 0;
+	regs.r[2] = (int)"ScummVM";
+	regs.r[3] = 0;
+	regs.r[4] = 0;
+	regs.r[5] = 0;
+
+	switch (type) {
+	case LogMessageType::kError:
+		regs.r[1] |= (1 << 8);
+		break;
+	case LogMessageType::kWarning:
+		regs.r[1] |= (1 << 8) | (2 << 9);
+		break;
+	case LogMessageType::kInfo:
+	case LogMessageType::kDebug:
+	default:
+		regs.r[1] |= (1 << 8) | (1 << 9);
+		break;
+	}
+
+	_kernel_swi(Wimp_ReportError, &regs, &regs);
+}
+
 Common::String OSystem_RISCOS::getDefaultConfigFileName() {
 	return "/<Choices$Write>/ScummVM/scummvmrc";
 }
diff --git a/backends/platform/sdl/riscos/riscos.h b/backends/platform/sdl/riscos/riscos.h
index bc509cc4910..9dade0867c1 100644
--- a/backends/platform/sdl/riscos/riscos.h
+++ b/backends/platform/sdl/riscos/riscos.h
@@ -34,6 +34,7 @@ public:
 	virtual bool openUrl(const Common::String &url);
 
 	virtual void logMessage(LogMessageType::Type type, const char *message);
+	virtual void messageBox(LogMessageType::Type type, const char *message);
 
 protected:
 	virtual Common::String getDefaultConfigFileName();




More information about the Scummvm-git-logs mailing list