Aller au contenu
ducon2016

[FIX] Chaos Legion Broken Textures

Messages recommandés

Chaos Legion uses DirectX 8 and had broken texturing on recent hardware. Just put the attached dll in the game folder and it will now work fine.

Without Fix:

WithoutFix.jpg.9c5e6cc5595ec344bb77ba04dda458a6.jpg

 

With Fix:

WithFix.jpg.d0d2f9fc1bf8c5cbfc845ff141ed4619.jpg

 

d3d8.7z

  • Like 3
  • Thanks 5

Partager ce message


Lien à poster
Partager sur d’autres sites

Any chance you can write down the technical details of what this patch does?

 

I'm talking to the developer of dgVoodoo2 about Chaos Legion's problems and am wondering if that's something that could be implemented in dgVoodoo2.

Partager ce message


Lien à poster
Partager sur d’autres sites
6 minutes ago, ZellSF said:

Any chance you can write down the technical details of what this patch does?

 

I'm talking to the developer of dgVoodoo2 about Chaos Legion's problems and am wondering if that's something that could be implemented in dgVoodoo2.

 

Yes of course, happy to share, and dgVoodoo2 could do that without a problem. I just round the height of the textures to the next power of 2 in the CreateTexture method. For example if the height is 41, I change it to 64 when the texture is created. If already a power of 2, I do not change anything. I will share the source code when I am back, I am traveling for a couple of weeks.

Modifié par ducon2016

Partager ce message


Lien à poster
Partager sur d’autres sites
On 5/12/2018 at 2:26 PM, ZellSF said:

Any chance you can write down the technical details of what this patch does?

 

I'm talking to the developer of dgVoodoo2 about Chaos Legion's problems and am wondering if that's something that could be implemented in dgVoodoo2.

 

As promised here is the d3d8to9 fixed to work with Chaos Legion, so you can use reshade and any other cool tools to make it look better. The code is included so that you can share with the dgVoodoo2 guy. Really simple, I just modified the CreateTexture function.

 

unsigned long upper_power_of_two(unsigned long v)
{
	v--;
	v |= v >> 1;
	v |= v >> 2;
	v |= v >> 4;
	v |= v >> 8;
	v |= v >> 16;
	return v + 1;
}

HRESULT STDMETHODCALLTYPE Direct3DDevice8::CreateTexture(UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, Direct3DTexture8 **ppTexture)
{
	Height = upper_power_of_two(Height);

 

d3d8to9-ChaosLegion.7z

Modifié par ducon2016
  • Like 1
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Hi guys, I wanted to ask if there are news, because using the file shared by ducon2016 in the first post you have the perfect texture but 'I can not use dgVoodoo2 in resolution 1920x1080, who can help me?

Partager ce message


Lien à poster
Partager sur d’autres sites
1 hour ago, N3CRON said:

Hi guys, I wanted to ask if there are news, because using the file shared by ducon2016 in the first post you have the perfect texture but 'I can not use dgVoodoo2 in resolution 1920x1080, who can help me?

 

Try d3d8to9-ChaosLegion.7z from the post just above yours.

 

  • Confused 1

Partager ce message


Lien à poster
Partager sur d’autres sites
20 ore fa, ducon2016 ha scritto:

 

Try d3d8to9-ChaosLegion.7z from the post just above yours.

 

I downloaded the archive but I do not know how to use it, I'm sorry but it's the first time.
What should I do?

Partager ce message


Lien à poster
Partager sur d’autres sites

I've already read the first post, if I replace the dll, the textures work correctly, but I can not use dgVoodoo2 and Reshade. Do not work.

Please could you help me with the correct installation? Thanks.

 

EDIT:

 

I tried these two methods, but both fail.

 

First Method
1.Install the game and the official patch 1.01.
2.Install dgVoodoo2 (including the following files: D3D8.dll, D3DImm.dll, DDraw.dll contained in the MS folder)
3.Install the contents of "d3d8.7z" or "d3d8to9-ChaosLegion.7z" in the game folder.
Result: the game starts with the correct textures but no cutscenes are shown only sound, while dgVoodoo2 does not start.

 

Second Method
1.Install the game and the official patch 1.01.
2.Install the contents of "d3d8.7z" or "d3d8to9-ChaosLegion.7z" in the game folder.
3.Install dgVoodoo2 (including the following files: D3D8.dll, D3DImm.dll, DDraw.dll contained in the MS folder)
Result: the game starts with the missing textures, the cutscenes are not shown only sound, while dgVoodoo2 works perfectly.

 

Where am I wrong? please help me. :(

Modifié par N3CRON
news adds

Partager ce message


Lien à poster
Partager sur d’autres sites
On 9/1/2018 at 12:33 PM, N3CRON said:

I've already read the first post, if I replace the dll, the textures work correctly, but I can not use dgVoodoo2 and Reshade. Do not work.

Please could you help me with the correct installation? Thanks.

 

EDIT:

 

I tried these two methods, but both fail.

 

First Method
1.Install the game and the official patch 1.01.
2.Install dgVoodoo2 (including the following files: D3D8.dll, D3DImm.dll, DDraw.dll contained in the MS folder)
3.Install the contents of "d3d8.7z" or "d3d8to9-ChaosLegion.7z" in the game folder.
Result: the game starts with the correct textures but no cutscenes are shown only sound, while dgVoodoo2 does not start.

 

Second Method
1.Install the game and the official patch 1.01.
2.Install the contents of "d3d8.7z" or "d3d8to9-ChaosLegion.7z" in the game folder.
3.Install dgVoodoo2 (including the following files: D3D8.dll, D3DImm.dll, DDraw.dll contained in the MS folder)
Result: the game starts with the missing textures, the cutscenes are not shown only sound, while dgVoodoo2 works perfectly.

 

Where am I wrong? please help me. :(

 

I never used dgVoodoo2, but I looked and it seems like it is only wrapping D3D8.dll so you will not be able to make it work. Sorry about the confusion, I thought it could wrap Direct3D 9, I was wrong.

 

I recommend using another wrapper that supports D3D9, and use that with "d3d8to9-ChaosLegion.7z". Reshade and many others do that. What feature do you need dgVoodoo2? I might be able to find a wrapper that does that or add the feature in my dll.

Partager ce message


Lien à poster
Partager sur d’autres sites

Reshade also does not work using your DLL in "d3d8to9-ChaosLegion.7z"
The important functions I need are the following:
1. vSync
2. 16x anisotropic filter
3. MSAA 8x antialiasing
4. Screen resolution 1920x1080p
These features make the game wonderful to play.

P.S. Using the ddl provided by dgVoodoo2, the game works but the textures are missing, which instead are present in your ddl.

If it can be useful I can send you the dll, maybe you are able to merge them together.

Modifié par N3CRON
Correction

Partager ce message


Lien à poster
Partager sur d’autres sites

sorry for reply, there are news? :(

Partager ce message


Lien à poster
Partager sur d’autres sites
On 9/22/2018 at 4:11 AM, N3CRON said:

sorry for reply, there are news? :(

 

Sorry for the delay I was traveling, and have been super busy. Also damaged my knee last week, so had to rest. Anyways here is a dll for you to try

 

1. Copy this dll in the game folder

2. Rename your dgvoodoo2 d3d8.dll to d3d8-chained.dll, and put d3d8-chained.dll in the game folder

 

Run the game, it will load my dll which fixes the textures sizes, and will load dgvoodoo2 dll instead of the system one, this should create a chain fixing your issue. Please let me know if it does not work, but also let us know if it works.

d3d8-loadingDgVodoo2.7z

Partager ce message


Lien à poster
Partager sur d’autres sites
13 ore fa, ducon2016 ha scritto:

 

Sorry for the delay I was traveling, and have been super busy. Also damaged my knee last week, so had to rest. Anyways here is a dll for you to try

 

1. Copy this dll in the game folder

2. Rename your dgvoodoo2 d3d8.dll to d3d8-chained.dll, and put d3d8-chained.dll in the game folder

 

Run the game, it will load my dll which fixes the textures sizes, and will load dgvoodoo2 dll instead of the system one, this should create a chain fixing your issue. Please let me know if it does not work, but also let us know if it works.

d3d8-loadingDgVodoo2.7z

Thank you so much, I tried as you said, unfortunately the game crashes on startup.
I have also tried with a clean installation but the problem remains.

Partager ce message


Lien à poster
Partager sur d’autres sites
On 10/2/2018 at 11:32 AM, N3CRON said:

Thank you so much, I tried as you said, unfortunately the game crashes on startup.
I have also tried with a clean installation but the problem remains.

 

Sorry, not sure what is happening. It works for me as shown in the screenshot. You can see the textures are fixed and dgVoodoo is running. Try to copy D3DImm.dll and DDraw.dll from dgVoodoo2_55_3\MS to the game folder.

 

Here is what I have all in the same folder as ChaosLegion.exe:

 

d3d8.dll (the one from the post above)

D3D8-chained.dll (it was d3d8.dll from dgVoodoo2_55_3\MS that I renamed)
D3DImm.dll

DDraw.dll

 

If it does not work, can you try by setting all dgVoodoo options to default.


Capture.JPG.429d0032e7e0b0ed354005d4f10a6003.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Thank you so much, now it works !!!

1.jpg

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×