mirror of
https://github.com/ctruLua/ctruLua.git
synced 2025-10-29 01:09:30 +00:00
Updated all the libs, added citro3d, added ctr.swkbd (WIP, untested)
This commit is contained in:
parent
68a44645f7
commit
49c87e5526
97 changed files with 7341 additions and 944 deletions
65
libs/citro3d/include/c3d/texenv.h
Normal file
65
libs/citro3d/include/c3d/texenv.h
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
#pragma once
|
||||
#include "types.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u16 srcRgb, srcAlpha;
|
||||
u16 opRgb, opAlpha;
|
||||
u16 funcRgb, funcAlpha;
|
||||
u32 color;
|
||||
u16 scaleRgb, scaleAlpha;
|
||||
} C3D_TexEnv;
|
||||
|
||||
enum
|
||||
{
|
||||
C3D_RGB = BIT(0),
|
||||
C3D_Alpha = BIT(1),
|
||||
C3D_Both = C3D_RGB | C3D_Alpha,
|
||||
};
|
||||
|
||||
void TexEnv_Init(C3D_TexEnv* env);
|
||||
|
||||
C3D_TexEnv* C3D_GetTexEnv(int id);
|
||||
void C3D_SetTexEnv(int id, C3D_TexEnv* env);
|
||||
|
||||
void C3D_TexEnvBufUpdate(int mode, int mask);
|
||||
void C3D_TexEnvBufColor(u32 color);
|
||||
|
||||
static inline void C3D_TexEnvSrc(C3D_TexEnv* env, int mode, int s1, int s2, int s3)
|
||||
{
|
||||
int param = GPU_TEVSOURCES(s1, s2, s3);
|
||||
if (mode & C3D_RGB)
|
||||
env->srcRgb = param;
|
||||
if (mode & C3D_Alpha)
|
||||
env->srcAlpha = param;
|
||||
}
|
||||
|
||||
static inline void C3D_TexEnvOp(C3D_TexEnv* env, int mode, int o1, int o2, int o3)
|
||||
{
|
||||
int param = GPU_TEVOPERANDS(o1, o2, o3);
|
||||
if (mode & C3D_RGB)
|
||||
env->opRgb = param;
|
||||
if (mode & C3D_Alpha)
|
||||
env->opAlpha = param;
|
||||
}
|
||||
|
||||
static inline void C3D_TexEnvFunc(C3D_TexEnv* env, int mode, int param)
|
||||
{
|
||||
if (mode & C3D_RGB)
|
||||
env->funcRgb = param;
|
||||
if (mode & C3D_Alpha)
|
||||
env->funcAlpha = param;
|
||||
}
|
||||
|
||||
static inline void C3D_TexEnvColor(C3D_TexEnv* env, u32 color)
|
||||
{
|
||||
env->color = color;
|
||||
}
|
||||
|
||||
static inline void C3D_TexEnvScale(C3D_TexEnv* env, int mode, int param)
|
||||
{
|
||||
if (mode & C3D_RGB)
|
||||
env->scaleRgb = param;
|
||||
if (mode & C3D_Alpha)
|
||||
env->scaleAlpha = param;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue