Skip to content

bcc2528/GG2OT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

********************************************************************
***GUILTY GEAR 2 -OVERTUNE- (GUILTY GEAR 2 Enhanced Graphics Mod)***
********************************************************************


***How to Install***
Copy "d3d9.dll", "GG2OT.ini", and "Shader" folder in the same folder as "ggsx.exe". If you want to change Windows/Fullscreen mode, Press F11.




似たようなModを作ったり、他のプログラム作成する際の自分メモ用にAPIフックプログラムの原理を説明すると、

1.対象の実行ファイルで読み出されるAPIが記述されたDLLファイルのダミーを作成。
2.そのダミーDLLファイルが読みだされた(DllMain関数が実行された)際に、関数LoadLibraryでオリジナルのDLLを読み込み、GetProcAddressでアドレスを取得して別名の関数に割り当てておく。
3.基本的にダミーDLL内で記述したAPIでは、そのまま引数を別名に割り当てていたオリジナルのAPIに引き渡し、戻り値もそのまま利用するようにする。
4.何か処理が必要な場合、オリジナルのAPIに引数を渡す前に処理を行ってから引き渡す。
今回のModの場合はテクスチャ作成のAPIで特定の解像度とフォーマットだった場合に値を書き換えてオリジナルAPIに渡すように変更。

 

HRESULT APIENTRY hkIDirect3DDevice9::CreateTexture(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture9** ppTexture,HANDLE* pSharedHandle)
{

 

return m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture, pSharedHandle); return m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture, pSharedHandle);

}

 とダミーAPIではなっているところを

 

HRESULT APIENTRY hkIDirect3DDevice9::CreateTexture(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture9** ppTexture,HANDLE* pSharedHandle)
{

 

if ( (Width == 1024 && Height == 1024) && (Format == D3DFMT_R32F || Format == D3DFMT_D24S8) ) {
return m_pD3Ddev->CreateTexture(4096, 4096, Levels, Usage, Format, Pool, ppTexture, pSharedHandle);
}

 

return m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture, pSharedHandle); return m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture, pSharedHandle);

}

 

とすれば強制的にシャドウマップ用の解像度が元の縦横1024ピクセルの物から、4096ピクセルのものに切り替わる。

About

Guilty Gear 2 - OVERTUNE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published