From 9105ac3afb2e5eba5cfad1aa1a281b35908814a5 Mon Sep 17 00:00:00 2001 From: fincs Date: Wed, 26 Apr 2017 16:34:59 +0200 Subject: [PATCH] Add C3D_DirtyTexEnv --- include/c3d/texenv.h | 1 + source/texenv.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/include/c3d/texenv.h b/include/c3d/texenv.h index 2b2f4bd..4d40392 100644 --- a/include/c3d/texenv.h +++ b/include/c3d/texenv.h @@ -21,6 +21,7 @@ void TexEnv_Init(C3D_TexEnv* env); C3D_TexEnv* C3D_GetTexEnv(int id); void C3D_SetTexEnv(int id, C3D_TexEnv* env); +void C3D_DirtyTexEnv(C3D_TexEnv* env); void C3D_TexEnvBufUpdate(int mode, int mask); void C3D_TexEnvBufColor(u32 color); diff --git a/source/texenv.c b/source/texenv.c index a9dfb09..d788f8a 100644 --- a/source/texenv.c +++ b/source/texenv.c @@ -35,6 +35,18 @@ void C3D_SetTexEnv(int id, C3D_TexEnv* env) ctx->flags |= C3DiF_TexEnv(id); } +void C3D_DirtyTexEnv(C3D_TexEnv* env) +{ + C3D_Context* ctx = C3Di_GetContext(); + + if (!(ctx->flags & C3DiF_Active)) + return; + + u32 id = env-ctx->texEnv; + if (id < 6) + ctx->flags |= C3DiF_TexEnv(id); +} + void C3Di_TexEnvBind(int id, C3D_TexEnv* env) { if (id >= 4) id += 2;