From ef879f637029de39aec03532bbde5497c155d39d Mon Sep 17 00:00:00 2001 From: zilmar Date: Thu, 29 May 2025 20:18:51 +0930 Subject: [PATCH] Gfx Spec: Add draw status --- Source/Project64-core/Plugins/GFXPlugin.cpp | 6 +++++- Source/Project64-plugin-spec/Video.h | 21 ++++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Source/Project64-core/Plugins/GFXPlugin.cpp b/Source/Project64-core/Plugins/GFXPlugin.cpp index 6276f2e8a..bcf9a6f2c 100644 --- a/Source/Project64-core/Plugins/GFXPlugin.cpp +++ b/Source/Project64-core/Plugins/GFXPlugin.cpp @@ -53,7 +53,11 @@ bool CGfxPlugin::LoadFunctions(void) #endif // Version 0x104 functions - _LoadFunction("DrawFullScreenStatus", DrawStatus); + LoadFunction(DrawStatus); + if (DrawStatus == nullptr) + { + _LoadFunction("DrawFullScreenStatus", DrawStatus); // For Jabo D3D8 1.7 + } // ROM browser LoadFunction(GetRomBrowserMenu); diff --git a/Source/Project64-plugin-spec/Video.h b/Source/Project64-plugin-spec/Video.h index 54db4ec1c..38fec416b 100644 --- a/Source/Project64-plugin-spec/Video.h +++ b/Source/Project64-plugin-spec/Video.h @@ -89,12 +89,23 @@ Output: none */ EXPORT void CALL DrawScreen(void); +/* +Function: DrawStatus +Purpose: This function displays a status string on the screen, +optionally right-aligned. +Input: lpString - pointer to the status string to display +RightAlign - nonzero to right-align the string, +zero for left alignment +Output: none +*/ +EXPORT void CALL DrawStatus(const char * lpString, int32_t RightAlign); + /* Function: InitiateGFX Purpose: This function is called when the DLL is started to give -information from the emulator that the n64 graphics +information from the emulator that the N64 graphics uses. This is not called from the emulation thread. -Input: Gfx_Info is passed to this function which is defined +Input: GFX_INFO is passed to this function which is defined above. Output: TRUE on success FALSE on failure to initialise @@ -140,7 +151,7 @@ EXPORT void CALL ProcessRDPList(void); /* Function: ShowCFB Purpose: Useally once Dlists are started being displayed, cfb is -ignored. This function tells the dll to start displaying +ignored. This function tells the DLL to start displaying them again. Input: none Output: none @@ -159,7 +170,7 @@ EXPORT void CALL UpdateScreen(void); /* Function: ViStatusChanged -Purpose: This function is called to notify the dll that the +Purpose: This function is called to notify the DLL that the ViStatus registers value has been changed. Input: none Output: none @@ -168,7 +179,7 @@ EXPORT void CALL ViStatusChanged(void); /* Function: ViWidthChanged -Purpose: This function is called to notify the dll that the +Purpose: This function is called to notify the DLL that the ViWidth registers value has been changed. Input: none Output: none