summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorgigaherz <gigaherz@gmail.com>2008-08-10 21:34:22 +0000
committergigaherz <gigaherz@gmail.com>2008-08-10 21:34:22 +0000
commit0332ec742e3891a7ce7d3c7c08330c33138dd0c3 (patch)
tree594f9c96e48a693484ac2b2f306fd12093f57fbd /Source/Core
parentf5432b874ac7e69b2e8572f71fcc7732eb130311 (diff)
- Added message queue to DX9 plugin.
- Added plugin interface function Video_AddMessage to both plugins and to the plugin specs. - Added handling of the Video_AddMessage interface export from the core side. - Added a print on Core::Init for testing purposes (might not be the best place). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@176 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/Core.cpp3
-rw-r--r--Source/Core/Core/Src/Plugins/Plugin_Video.cpp14
-rw-r--r--Source/Core/Core/Src/Plugins/Plugin_Video.h1
3 files changed, 17 insertions, 1 deletions
diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp
index 01cf7f3e35..8bd7d21b33 100644
--- a/Source/Core/Core/Src/Core.cpp
+++ b/Source/Core/Core/Src/Core.cpp
@@ -133,6 +133,9 @@ bool Init(const SCoreStartupParameter _CoreParameter)
emuThreadGoing.Shutdown();
// all right ... here we go
Host_SetWaitCursor(false);
+
+ PluginVideo::Video_AddMessage("Emulation started.",3000);
+
return true;
}
diff --git a/Source/Core/Core/Src/Plugins/Plugin_Video.cpp b/Source/Core/Core/Src/Plugins/Plugin_Video.cpp
index e11d0f2c88..01d4f3fae9 100644
--- a/Source/Core/Core/Src/Plugins/Plugin_Video.cpp
+++ b/Source/Core/Core/Src/Plugins/Plugin_Video.cpp
@@ -33,6 +33,9 @@ typedef void (__cdecl* TVideo_UpdateXFB)(BYTE*, DWORD, DWORD);
typedef BOOL (__cdecl* TVideo_Screenshot)(TCHAR*);
typedef void (__cdecl* TVideo_EnterLoop)();
+typedef void (__cdecl* TVideo_AddMessage)(const char* pstr, unsigned int milliseconds);
+
+
//! Function Pointer
TGetDllInfo g_GetDllInfo = 0;
TDllAbout g_DllAbout = 0;
@@ -44,6 +47,7 @@ TVideo_SendFifoData g_Video_SendFifoData = 0;
TVideo_UpdateXFB g_Video_UpdateXFB = 0;
TVideo_Screenshot g_Video_Screenshot = 0;
TVideo_EnterLoop g_Video_EnterLoop = 0;
+TVideo_AddMessage g_Video_AddMessage = 0;
//! Library Instance
DynamicLibrary plugin;
@@ -64,6 +68,7 @@ void UnloadPlugin()
g_Video_Shutdown = 0;
g_Video_SendFifoData = 0;
g_Video_UpdateXFB = 0;
+ g_Video_AddMessage = 0;
plugin.Unload();
}
@@ -82,6 +87,7 @@ bool LoadPlugin(const char *_Filename)
g_Video_UpdateXFB = reinterpret_cast<TVideo_UpdateXFB> (plugin.Get("Video_UpdateXFB"));
g_Video_Screenshot = reinterpret_cast<TVideo_Screenshot> (plugin.Get("Video_Screenshot"));
g_Video_EnterLoop = reinterpret_cast<TVideo_EnterLoop> (plugin.Get("Video_EnterLoop"));
+ g_Video_AddMessage = reinterpret_cast<TVideo_AddMessage> (plugin.Get("Video_AddMessage"));
if ((g_GetDllInfo != 0) &&
(g_DllAbout != 0) &&
@@ -92,7 +98,8 @@ bool LoadPlugin(const char *_Filename)
(g_Video_SendFifoData != 0) &&
(g_Video_UpdateXFB != 0) &&
(g_Video_EnterLoop != 0) &&
- (g_Video_Screenshot != 0))
+ (g_Video_Screenshot != 0) &&
+ (g_Video_AddMessage != 0))
{
return true;
}
@@ -159,4 +166,9 @@ void Video_EnterLoop()
g_Video_EnterLoop();
}
+void Video_AddMessage(const char* pstr, unsigned int milliseconds)
+{
+ g_Video_AddMessage(pstr,milliseconds);
+}
+
} // end of namespace PluginVideo
diff --git a/Source/Core/Core/Src/Plugins/Plugin_Video.h b/Source/Core/Core/Src/Plugins/Plugin_Video.h
index 4c9bece34d..3c8f9f5c64 100644
--- a/Source/Core/Core/Src/Plugins/Plugin_Video.h
+++ b/Source/Core/Core/Src/Plugins/Plugin_Video.h
@@ -40,6 +40,7 @@ void Video_EnterLoop();
void Video_SendFifoData(BYTE *_uData);
void Video_UpdateXFB(BYTE* _pXFB, DWORD _dwHeight, DWORD _dwWidth);
bool Video_Screenshot(TCHAR* _szFilename);
+void Video_AddMessage(const char* pstr, unsigned int milliseconds);
} // end of namespace PluginVideo