rodecomp/Source/Render/DX9/TextureModesDX9.cpp
ragnarok-clanker 15ee30e2aa Maintenance: [forced, user-approved] R9: remove the invented TextureDX9Context, SurfaceDX9Context and RendererDX9Operations, plus the
Batch #10258 by ragnarok-clanker: forced by an admin (9 lower score(s), 44 changed function(s)); checked with 318 compiled unit(s), including every includer of Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/DX9/RenderSystemDX9.h, Source/Render/DX9/RendererDX9.h, Source/Render/DX9/RendererFogDX9.h, Source/Render/DX9/SurfaceDX9.h, Source/Render/DX9/TextureDX9.h, Source/Render/Renderer.h, Source/Render/RendererDX7.h, Source/Render/Textures/SpriteAtlas.h, Source/Render/DX9/RendererDX9Operations.h.
Deletes: Source/Render/DX9/RendererDX9Operations.h
2026-11-03 13:19:27 +00:00

205 lines
14 KiB
C++

#include "Render/DX9/DeviceOwnerDX9.h"
#include "Render/DX9/DeviceStateDX9.h"
#include "Render/DX9/RendererDX9.h"
// OFFSET: 0x00568470
// FUNCTION: fn_02241
void CRendererDX9::SetTextureMode(int mode) {
switch (mode) {
case 0:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
break;
case 1:
case 2:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
break;
case 3:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_ADD);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
break;
case 4:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_BLENDTEXTUREALPHA);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
break;
case 5:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 6:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 7:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_ALPHAREPLICATE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 8:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADD);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 9:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_BLENDTEXTUREALPHA);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 10:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_BLENDDIFFUSEALPHA);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 11:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADD);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 12:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADD);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 13:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_ADD);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 14:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE2X);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
case 15:
this->device->state.SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
this->device->state.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2);
this->device->state.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
this->device->state.SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 1);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADDSIGNED);
this->device->state.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
this->device->state.SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
break;
}
}