• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Support v
« Previous 1 ... 1152 1153 1154 1155 1156 ... 1198 Next »

Plug-in OGL hacks
View New Posts | View Today's Posts

Thread Rating:
  • 3 Vote(s) - 2.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Plug-in OGL hacks
09-06-2009, 06:05 AM
#27
Ki-Saru
Unregistered
 
(04-30-2009, 02:24 AM)val532 Wrote: Hi,

I have made a new version of my SMGhack but in this new version I added something that you are all loved.

A spetial hack for Super Mario Galaxy, Mario Kart Wii, Final Fantasy CC echo of time, Sonic and the black knight, and Bleach Versus Crusade.

You just have to select game on OGL config and it's works.

Up

Dolphin R3103 x32 with hack

Dolphin R3103 x64 with hack

Update 10/05/09 : my source

Code:
Index: Source/Core/VideoCommon/Src/VertexShaderManager.cpp
===================================================================
--- Source/Core/VideoCommon/Src/VertexShaderManager.cpp    (revision 3190)
+++ Source/Core/VideoCommon/Src/VertexShaderManager.cpp    (working copy)
@@ -77,7 +77,7 @@
// =======================================================================================
// Syncs the shader constant buffers with xfmem
// ----------------
-void VertexShaderManager::SetConstants(bool proj_hax_1,bool SMG_hack, bool freeLook)
+void VertexShaderManager::SetConstants(bool proj_hax_1 ,bool Hack_hack1 ,float Hack_value1 ,bool Hack_hack2 ,float Hack_value2 ,bool freeLook)
{
     //nTransformMatricesChanged[0] = 0; nTransformMatricesChanged[1] = 256;
     //nNormalMatricesChanged[0] = 0; nNormalMatricesChanged[1] = 96;
@@ -261,10 +261,10 @@

             g_fProjectionMatrix[8] = 0.0f;
             g_fProjectionMatrix[9] = 0.0f;
-            g_fProjectionMatrix[10] = xfregs.rawProjection[4];
+            g_fProjectionMatrix[10] = (Hack_hack1 ? -(Hack_value1 + xfregs.rawProjection[4]) : xfregs.rawProjection[4]);
            
-            g_fProjectionMatrix[11] = (SMG_hack ? -(0.512505f + xfregs.rawProjection[5]) : xfregs.rawProjection[5]) + (proj_hax_1 ? 0.1f : 0.0f);
-
+            g_fProjectionMatrix[11] = (Hack_hack2 ? -(Hack_value2 + xfregs.rawProjection[5]) : xfregs.rawProjection[5]) + (proj_hax_1 ? 0.1f : 0.0f);
+            
             g_fProjectionMatrix[12] = 0.0f;
             g_fProjectionMatrix[13] = 0.0f;
             g_fProjectionMatrix[14] = 0.0f;
Index: Source/Core/VideoCommon/Src/VertexShaderManager.h
===================================================================
--- Source/Core/VideoCommon/Src/VertexShaderManager.h    (revision 3190)
+++ Source/Core/VideoCommon/Src/VertexShaderManager.h    (working copy)
@@ -28,7 +28,7 @@
     static void Shutdown();

     // constant management
-    static void SetConstants(bool proj_hax_1, bool SMG_hack, bool freeLook);
+    static void SetConstants(bool proj_hax_1, bool Hack_hack1, float Hack_value1, bool Hack_hack2, float Hack_value2, bool freeLook);

     static void SetViewport(float* _Viewport);
     static void SetViewportChanged();
Index: Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
===================================================================
--- Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp    (revision 3190)
+++ Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp    (working copy)
@@ -235,7 +235,7 @@
        if (numVertices)
        {
            // set global constants
-            VertexShaderManager::SetConstants(false, false, false);
+            VertexShaderManager::SetConstants(false, false, 0, false, 0, false);
            PixelShaderManager::SetConstants();

            PixelShaderCache::SetShader();
Index: Source/Plugins/Plugin_VideoOGL/Src/Config.cpp
===================================================================
--- Source/Plugins/Plugin_VideoOGL/Src/Config.cpp    (revision 3190)
+++ Source/Plugins/Plugin_VideoOGL/Src/Config.cpp    (working copy)
@@ -80,9 +80,9 @@
    
     iniFile.Get("Hacks", "EFBCopyDisable", &bEFBCopyDisable, 0);
     iniFile.Get("Hacks", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
-    iniFile.Get("Hacks", "ProjectionHax1", &bProjectionHax1, 0);
+    //iniFile.Get("Hacks", "ProjectionHax1", &bProjectionHax1, 0);
    iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
-    iniFile.Get("Hacks", "SMGhack", &bSMGhack, false);
+    //iniFile.Get("Hacks", "Hack", &bHack, false);
}

void Config::GameIniLoad() {
@@ -102,8 +102,8 @@
    if (iniFile->Exists("Video", "EFBCopyDisableHotKey"))
        iniFile->Get("Video", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);

-    if (iniFile->Exists("Video", "ProjectionHax1"))
-        iniFile->Get("Video", "ProjectionHax1", &bProjectionHax1, 0);
+    //if (iniFile->Exists("Video", "ProjectionHax1"))
+    //    iniFile->Get("Video", "ProjectionHax1", &bProjectionHax1, 0);

    if (iniFile->Exists("Video", "EFBToTextureEnable"))
        iniFile->Get("Video", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
@@ -111,8 +111,8 @@
    if (iniFile->Exists("Video", "SafeTextureCache"))
        iniFile->Get("Video", "SafeTextureCache", &bSafeTextureCache, false);

-    if (iniFile->Exists("Video", "SMGhack"))
-        iniFile->Get("Video", "SMGhack", &bSMGhack, false);
+   // if (iniFile->Exists("Video", "SMGhack"))
+   //     iniFile->Get("Video", "SMGhack", &bSMGhack, false);

    if (iniFile->Exists("Video", "MSAA"))
        iniFile->Get("Video", "MSAA", &iMultisampleMode, 0);
@@ -170,9 +170,9 @@
    
     iniFile.Set("Hacks", "EFBCopyDisable", bEFBCopyDisable);
     iniFile.Set("Hacks", "EFBCopyDisableHotKey", bEFBCopyDisableHotKey);
-    iniFile.Set("Hacks", "ProjectionHax1", bProjectionHax1);
+    //iniFile.Set("Hacks", "ProjectionHax1", bProjectionHax1);
    iniFile.Set("Hacks", "EFBToTextureEnable", bCopyEFBToRAM);
-    iniFile.Set("Hacks", "SMGhack", bSMGhack);
+    //iniFile.Set("Hacks", "SMGhack", bSMGhack);

     iniFile.Save(FULL_CONFIG_DIR "gfx_opengl.ini");
}
Index: Source/Plugins/Plugin_VideoOGL/Src/Config.h
===================================================================
--- Source/Plugins/Plugin_VideoOGL/Src/Config.h    (revision 3190)
+++ Source/Plugins/Plugin_VideoOGL/Src/Config.h    (working copy)
@@ -93,9 +93,12 @@
     bool bEFBCopyDisable;
     bool bEFBCopyDisableHotKey;
     bool bProjectionHax1;
-    bool bSMGhack;
+    bool bHack;
    bool bCopyEFBToRAM;
     bool bSafeTextureCache;
+    int iPhackvalue;
+    bool bPhackvalue1, bPhackvalue2;
+    float fhackvalue1, fhackvalue2;

     int iLog; // CONF_ bits
     int iSaveTargetId;
Index: Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp
===================================================================
--- Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp    (revision 3190)
+++ Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp    (working copy)
@@ -62,13 +62,14 @@
    EVT_CHECKBOX(ID_DISABLETEXTURING, ConfigDialog::AdvancedSettingsChanged)
    EVT_CHECKBOX(ID_DISABLEFOG, ConfigDialog::AdvancedSettingsChanged)
    EVT_CHECKBOX(ID_EFBCOPYDISABLEHOTKEY, ConfigDialog::AdvancedSettingsChanged)
-    EVT_CHECKBOX(ID_PROJECTIONHACK1,ConfigDialog::AdvancedSettingsChanged)
-    EVT_CHECKBOX(ID_SMGHACK, ConfigDialog::AdvancedSettingsChanged)
+    //EVT_CHECKBOX(ID_PROJECTIONHACK1,ConfigDialog::AdvancedSettingsChanged)
+    EVT_CHECKBOX(ID_HACK, ConfigDialog::AdvancedSettingsChanged)
    EVT_CHECKBOX(ID_SAFETEXTURECACHE,ConfigDialog::AdvancedSettingsChanged)
     EVT_CHECKBOX(ID_DSTALPHAPASS,ConfigDialog::AdvancedSettingsChanged)
    EVT_CHECKBOX(ID_CHECKBOX_DISABLECOPYEFB, ConfigDialog::AdvancedSettingsChanged)
    EVT_RADIOBUTTON(ID_RADIO_COPYEFBTORAM, ConfigDialog::AdvancedSettingsChanged)
    EVT_RADIOBUTTON(ID_RADIO_COPYEFBTOGL, ConfigDialog::AdvancedSettingsChanged)
+    EVT_CHOICE(ID_PHACKVALUE, ConfigDialog::GeneralSettingsChanged)
END_EVENT_TABLE()

ConfigDialog::ConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style)
@@ -361,29 +362,41 @@

    // Hacks controls
    m_SafeTextureCache = new wxCheckBox(m_PageAdvanced, ID_SAFETEXTURECACHE, wxT("Use Safe texture cache"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
-    m_ProjectionHax1 = new wxCheckBox(m_PageAdvanced, ID_PROJECTIONHACK1, wxT("ZTP Bloom hack"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
-    m_SMGh = new wxCheckBox(m_PageAdvanced, ID_SMGHACK, wxT("Mario Galaxy Hack"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+    //m_ProjectionHax1 = new wxCheckBox(m_PageAdvanced, ID_PROJECTIONHACK1, wxT("ZTP Bloom hack"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);

+    //m_Hack = new wxCheckBox(m_PageAdvanced, ID_HACK, wxT("Mario Galaxy Hack"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+    m_PhackvalueCB = new wxChoice(m_PageAdvanced, ID_PHACKVALUE, wxDefaultPosition, wxDefaultSize, arrayStringFor_PhackvalueCB, 0, wxDefaultValidator);
+    m_PhackvalueCB->Append(wxT("Zero"));
+    m_PhackvalueCB->Append(wxT("ZTP Bloom hack"));
+    m_PhackvalueCB->Append(wxT("SMG"));
+    m_PhackvalueCB->Append(wxT("MK"));
+    m_PhackvalueCB->Append(wxT("Sonic and Black"));
+    m_PhackvalueCB->Append(wxT("Bleach"));
+    m_PhackvalueCB->Append(wxT("FFCC-OE"));
+    m_PhackvalueCB->SetSelection(g_Config.iPhackvalue);
+
    // Default values
    m_SafeTextureCache->SetValue(g_Config.bSafeTextureCache);
-    m_ProjectionHax1->SetValue(g_Config.bProjectionHax1);
-    m_SMGh->SetValue(g_Config.bSMGhack);
+    //m_ProjectionHax1->SetValue(g_Config.bProjectionHax1);
+    //m_Hack->SetValue(g_Config.bHack);

    // Tool tips
    m_SafeTextureCache->SetToolTip(wxT("This is useful to prevent Metroid Prime from crashing, but can cause problems in other games."
        "\n[This option will apply immediately and does not require a restart. However it may not"
        " be entirely safe to change it midgames.]"));
-    m_ProjectionHax1->SetToolTip(wxT("This should get ZTP's Bloom to show"));
+    //m_ProjectionHax1->SetToolTip(wxT("This should get ZTP's Bloom to show"));
     m_DstAlphaPass->SetToolTip(wxT("This renders a second time to set alpha to a constant value,"
        "\nDisabling it may speed up some games, but could also cause glitches."));
    m_DisableFog->SetToolTip(wxT("This option should not require a restart."));
-    m_SMGh->SetToolTip(wxT("SMG hack for Super Mario Galaxy, Mario Kart Wii and other game probably  it will be disable for other game and during SMG ending sequence or movies use the M key to turn this option on or off"));
+    //m_SMGh->SetToolTip(wxT("SMG hack for Super Mario Galaxy, Mario Kart Wii and other game probably  it will be disable for other game and during SMG ending sequence or movies use the M key to turn this option on or off"));

    // Sizers
    sHacks = new wxGridBagSizer(0, 0);
-    sHacks->Add(m_ProjectionHax1, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5);
-    sHacks->Add(m_SafeTextureCache, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALL, 5);
-    sHacks->Add(m_SMGh, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 5);
+    //sHacks->Add(m_ProjectionHax1, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5);
+    sHacks->Add(m_SafeTextureCache, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 5);
+
+    //sHacks->Add(m_Hack, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 5);
+    sHacks->Add(m_PhackvalueCB, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5);
    
    sbHacks = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Hacks"));
    sbHacks->Add(sHacks, 0, wxEXPAND | (wxTOP), 0);
@@ -509,6 +522,53 @@
    case ID_MSAAMODECB:
        g_Config.iMultisampleMode = m_MSAAModeCB->GetSelection();
        break;
+        case ID_PHACKVALUE:
+        g_Config.iPhackvalue = m_PhackvalueCB->GetSelection();
+    if (g_Config.iPhackvalue >= 0)
+        {
+            if (g_Config.iPhackvalue == 0)
+            {
+                g_Config.bPhackvalue1 = 0;
+                g_Config.bPhackvalue2 = 0;
+            }
+            if (g_Config.iPhackvalue == 1)
+            {
+                g_Config.bProjectionHax1 = 1;
+            }
+            if (g_Config.iPhackvalue == 2)
+            {
+                g_Config.bPhackvalue1 = 1;
+                g_Config.fhackvalue1 = 0.00006f;
+                g_Config.bPhackvalue2 = 0;
+            }
+            if (g_Config.iPhackvalue == 3)
+            {
+                g_Config.bPhackvalue1 = 1;
+                g_Config.fhackvalue1 = 0.0006f;
+                g_Config.bPhackvalue2 = 0;
+            }
+            if (g_Config.iPhackvalue == 4)
+            {
+                g_Config.bPhackvalue1 = 1;
+                g_Config.fhackvalue1 = 0.00002f;
+                g_Config.bPhackvalue2 = 1;
+                g_Config.fhackvalue2 = 1.999980f;
+            }
+            if (g_Config.iPhackvalue == 5)
+            {
+                g_Config.bPhackvalue2 = 1;
+                g_Config.fhackvalue2 = 0.5f;
+                g_Config.bPhackvalue1 = 0;
+            }
+            if (g_Config.iPhackvalue == 6)
+            {
+                g_Config.bPhackvalue1 = 1;
+                g_Config.fhackvalue1 = 0.8f;
+                g_Config.bPhackvalue2 = 1;
+                g_Config.fhackvalue2 = 1.2f;
+            }
+        }
+        break;
    }

    UpdateGUI();
@@ -551,8 +611,7 @@
        break;
    case ID_DISABLEFOG:
        g_Config.bDisableFog = m_DisableFog->IsChecked();
-        break;
-        
+        break;        
     case ID_DSTALPHAPASS:
        g_Config.bDstAlphaPass = m_DstAlphaPass->IsChecked();
        break;
@@ -580,14 +639,14 @@
        g_Config.bEFBCopyDisableHotKey = m_EFBCopyDisableHotKey->IsChecked();
        break;
    // Hacks
-    case ID_PROJECTIONHACK1:
+    /*case ID_PROJECTIONHACK1:
        g_Config.bProjectionHax1 = m_ProjectionHax1->IsChecked();
-        break;
+        break;*/
    case ID_SAFETEXTURECACHE:
        g_Config.bSafeTextureCache = m_SafeTextureCache->IsChecked();
        break;
-    case ID_SMGHACK:
-        g_Config.bSMGhack = m_SMGh->IsChecked();
+    case ID_HACK:
+        g_Config.bHack = m_Hack->IsChecked();
        break;
    case ID_RADIO_COPYEFBTORAM:
        TextureMngr::ClearRenderTargets();
Index: Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h
===================================================================
--- Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h    (revision 3190)
+++ Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h    (working copy)
@@ -89,8 +89,8 @@
        wxComboBox *m_WindowResolutionCB;
        wxArrayString arrayStringFor_MaxAnisotropyCB;
        wxChoice *m_MaxAnisotropyCB;
-        wxArrayString arrayStringFor_MSAAModeCB;
-        wxChoice *m_MSAAModeCB;
+        wxArrayString arrayStringFor_MSAAModeCB, arrayStringFor_PhackvalueCB;
+        wxChoice *m_MSAAModeCB, *m_PhackvalueCB;

        wxCheckBox *m_ShowFPS;
        wxCheckBox *m_ShaderErrors;
@@ -114,8 +114,8 @@
        wxCheckBox *m_CheckBox_DisableCopyEFB;
        wxRadioButton *m_Radio_CopyEFBToRAM, *m_Radio_CopyEFBToGL;
        wxCheckBox *m_EFBCopyDisableHotKey;
-        wxCheckBox *m_ProjectionHax1;
-        wxCheckBox *m_SMGh;
+        //wxCheckBox *m_ProjectionHax1;
+        wxCheckBox *m_Hack;
        wxCheckBox *m_SafeTextureCache;
        // Screen size
        wxStaticText *m_TextScreenWidth, *m_TextScreenHeight, *m_TextScreenLeft, *m_TextScreenTop;
@@ -165,7 +165,8 @@
            ID_DISABLEFOG,
            ID_STATICBOX_EFB,
            ID_SAFETEXTURECACHE,
-            ID_SMGHACK,
+            ID_HACK,
+            ID_PHACKVALUE,

            ID_DUMPTEXTURES,
            ID_HIRESTEXTURES,
@@ -176,7 +177,7 @@

            ID_CHECKBOX_DISABLECOPYEFB,
            ID_EFBCOPYDISABLEHOTKEY,
-            ID_PROJECTIONHACK1,
+            //ID_PROJECTIONHACK1,
             ID_DSTALPHAPASS,
            ID_RADIO_COPYEFBTORAM,
            ID_RADIO_COPYEFBTOGL,
Index: Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
===================================================================
--- Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp    (revision 3190)
+++ Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp    (working copy)
@@ -281,7 +281,7 @@
        Renderer::SetRenderMode(Renderer::RM_Normal);

    // set global constants
-    VertexShaderManager::SetConstants(g_Config.bProjectionHax1, g_Config.bSMGhack, g_Config.bFreeLook);
+    VertexShaderManager::SetConstants(g_Config.bProjectionHax1, g_Config.bPhackvalue1, g_Config.fhackvalue1, g_Config.bPhackvalue2, g_Config.fhackvalue2, g_Config.bFreeLook);
    PixelShaderManager::SetConstants();

    // finally bind

Hack.patch

it wont let me download, what am i doing wrong?
Reply
« Next Oldest | Next Newest »


Messages In This Thread
Plug-in OGL hacks - val532 - 04-30-2009, 02:24 AM
RE: Plug-in OGL hacks - nosound97 - 04-30-2009, 02:26 AM
RE: Plug-in OGL hacks - val532 - 04-30-2009, 04:32 AM
RE: Plug-in OGL hacks - BlackLionPT - 04-30-2009, 05:22 AM
RE: Plug-in OGL hacks - val532 - 04-30-2009, 05:36 AM
RE: Plug-in OGL hacks - darkshadw - 04-30-2009, 10:27 PM
RE: Plug-in OGL hacks - satan666 - 05-01-2009, 12:08 PM
RE: Plug-in OGL hacks - val532 - 04-30-2009, 10:47 PM
RE: Plug-in OGL hacks - boogerlad - 05-01-2009, 05:25 AM
RE: Plug-in OGL hacks - val532 - 05-01-2009, 06:15 AM
RE: Plug-in OGL hacks - BlackLionPT - 05-01-2009, 06:51 AM
RE: Plug-in OGL hacks - val532 - 05-01-2009, 07:19 AM
RE: Plug-in OGL hacks - death-droid - 05-02-2009, 04:01 PM
RE: Plug-in OGL hacks - val532 - 05-02-2009, 07:27 PM
RE: Plug-in OGL hacks - val532 - 05-11-2009, 04:40 AM
RE: Plug-in OGL hacks - death-droid - 05-11-2009, 07:44 AM
RE: Plug-in OGL hacks - val532 - 05-11-2009, 08:13 AM
RE: Plug-in OGL hacks - death-droid - 05-11-2009, 04:39 PM
RE: Plug-in OGL hacks - ramy2001 - 05-15-2009, 10:52 AM
RE: Plug-in OGL hacks - kennydied23 - 05-21-2009, 08:08 AM
RE: Plug-in OGL hacks - LuisR14 - 05-21-2009, 08:23 AM
RE: Plug-in OGL hacks - kennydied23 - 05-21-2009, 08:33 AM
RE: Plug-in OGL hacks - cmccmc - 05-21-2009, 09:25 AM
RE: Plug-in OGL hacks - kennydied23 - 05-21-2009, 11:09 AM
RE: Plug-in OGL hacks - userpasswordpassport - 05-22-2009, 05:24 PM
RE: Plug-in OGL hacks - death-droid - 05-22-2009, 08:04 PM
RE: Plug-in OGL hacks - Ki-Saru - 09-06-2009, 06:05 AM

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 2 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode