The main release package of Ashita v3. Contains all the needed files for users to get up and running. Used by the launcher/injector to auto-update as well. https://ashitaxi.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1869 lines
73 KiB

--[[
* Ashita - Copyright (c) 2014 - 2018 atom0s [[email protected]]
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to
* Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
*
* By using Ashita, you agree to the above license and its terms.
*
* Attribution - You must give appropriate credit, provide a link to the license and indicate if changes were
* made. You must do so in any reasonable manner, but not in any way that suggests the licensor
* endorses you or your use.
*
* Non-Commercial - You may not use the material (Ashita) for commercial purposes.
*
* No-Derivatives - If you remix, transform, or build upon the material (Ashita), you may not distribute the
* modified material. You are, however, allowed to submit the modified works back to the original
* Ashita project in attempt to have it added to the original project.
*
* You may not apply legal terms or technological measures that legally restrict others
* from doing anything the license permits.
*
* No warranties are given.
]]--
--
-- d3d8.h
--
DIRECT3D_VERSION = 0x0800;
D3D_SDK_VERSION = 220;
D3DSPD_IUNKNOWN = 0x00000001;
D3DCURRENT_DISPLAY_MODE = 0x00EFFFFF;
D3DCREATE_FPU_PRESERVE = 0x00000002;
D3DCREATE_MULTITHREADED = 0x00000004;
D3DCREATE_PUREDEVICE = 0x00000010;
D3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020;
D3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040;
D3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080;
D3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100;
D3DADAPTER_DEFAULT = 0;
D3DENUM_NO_WHQL_LEVEL = 0x00000002;
D3DPRESENT_BACK_BUFFERS_MAX = 3;
D3DSGR_NO_CALIBRATION = 0x00000000;
D3DSGR_CALIBRATE = 0x00000001;
D3DCURSOR_IMMEDIATE_UPDATE = 0x00000001;
_FACD3D = 0x876;
function MAKE_HRESULT(sev, fac, code)
local t1 = bit.lshift(sev, 31);
local t2 = bit.lshift(fac, 16);
local t3 = bit.bor(t1, t2);
return bit.bor(t3, code);
end
function MAKE_D3DHRESULT(code)
return MAKE_HRESULT(1, _FACD3D, code);
end
D3D_OK = 0;
D3DERR_WRONGTEXTUREFORMAT = MAKE_D3DHRESULT(2072);
D3DERR_UNSUPPORTEDCOLOROPERATION = MAKE_D3DHRESULT(2073);
D3DERR_UNSUPPORTEDCOLORARG = MAKE_D3DHRESULT(2074);
D3DERR_UNSUPPORTEDALPHAOPERATION = MAKE_D3DHRESULT(2075);
D3DERR_UNSUPPORTEDALPHAARG = MAKE_D3DHRESULT(2076);
D3DERR_TOOMANYOPERATIONS = MAKE_D3DHRESULT(2077);
D3DERR_CONFLICTINGTEXTUREFILTER = MAKE_D3DHRESULT(2078);
D3DERR_UNSUPPORTEDFACTORVALUE = MAKE_D3DHRESULT(2079);
D3DERR_CONFLICTINGRENDERSTATE = MAKE_D3DHRESULT(2081);
D3DERR_UNSUPPORTEDTEXTUREFILTER = MAKE_D3DHRESULT(2082);
D3DERR_CONFLICTINGTEXTUREPALETTE = MAKE_D3DHRESULT(2086);
D3DERR_DRIVERINTERNALERROR = MAKE_D3DHRESULT(2087);
D3DERR_NOTFOUND = MAKE_D3DHRESULT(2150);
D3DERR_MOREDATA = MAKE_D3DHRESULT(2151);
D3DERR_DEVICELOST = MAKE_D3DHRESULT(2152);
D3DERR_DEVICENOTRESET = MAKE_D3DHRESULT(2153);
D3DERR_NOTAVAILABLE = MAKE_D3DHRESULT(2154);
D3DERR_OUTOFVIDEOMEMORY = MAKE_D3DHRESULT(380);
D3DERR_INVALIDDEVICE = MAKE_D3DHRESULT(2155);
D3DERR_INVALIDCALL = MAKE_D3DHRESULT(2156);
D3DERR_DRIVERINVALIDCALL = MAKE_D3DHRESULT(2157);
--
-- d3d8types.h
--
D3DMAXUSERCLIPPLANES = 32;
D3DCLIPPLANE0 = 1;
D3DCLIPPLANE1 = 2;
D3DCLIPPLANE2 = 4;
D3DCLIPPLANE3 = 8;
D3DCLIPPLANE4 = 16;
D3DCLIPPLANE5 = 32;
D3DCS_LEFT = 0x00000001;
D3DCS_RIGHT = 0x00000002;
D3DCS_TOP = 0x00000004;
D3DCS_BOTTOM = 0x00000008;
D3DCS_FRONT = 0x00000010;
D3DCS_BACK = 0x00000020;
D3DCS_PLANE0 = 0x00000040;
D3DCS_PLANE1 = 0x00000080;
D3DCS_PLANE2 = 0x00000100;
D3DCS_PLANE3 = 0x00000200;
D3DCS_PLANE4 = 0x00000400;
D3DCS_PLANE5 = 0x00000800;
D3DLIGHT_POINT = 1;
D3DLIGHT_SPOT = 2;
D3DLIGHT_DIRECTIONAL = 3;
D3DLIGHT_FORCE_DWORD = 0x7fffffff;
D3DCLEAR_TARGET = 0x00000001;
D3DCLEAR_ZBUFFER = 0x00000002;
D3DCLEAR_STENCIL = 0x00000004;
D3DSHADE_FLAT = 1;
D3DSHADE_GOURAUD = 2;
D3DSHADE_PHONG = 3;
D3DSHADE_FORCE_DWORD = 0x7fffffff;
D3DFILL_POINT = 1;
D3DFILL_WIREFRAME = 2;
D3DFILL_SOLID = 3;
D3DFILL_FORCE_DWORD = 0x7fffffff;
D3DBLEND_ZERO = 1;
D3DBLEND_ONE = 2;
D3DBLEND_SRCCOLOR = 3;
D3DBLEND_INVSRCCOLOR = 4;
D3DBLEND_SRCALPHA = 5;
D3DBLEND_INVSRCALPHA = 6;
D3DBLEND_DESTALPHA = 7;
D3DBLEND_INVDESTALPHA = 8;
D3DBLEND_DESTCOLOR = 9;
D3DBLEND_INVDESTCOLOR = 10;
D3DBLEND_SRCALPHASAT = 11;
D3DBLEND_BOTHSRCALPHA = 12;
D3DBLEND_BOTHINVSRCALPHA = 13;
D3DBLEND_FORCE_DWORD = 0x7fffffff;
D3DBLENDOP_ADD = 1;
D3DBLENDOP_SUBTRACT = 2;
D3DBLENDOP_REVSUBTRACT = 3;
D3DBLENDOP_MIN = 4;
D3DBLENDOP_MAX = 5;
D3DBLENDOP_FORCE_DWORD = 0x7fffffff;
D3DTADDRESS_WRAP = 1;
D3DTADDRESS_MIRROR = 2;
D3DTADDRESS_CLAMP = 3;
D3DTADDRESS_BORDER = 4;
D3DTADDRESS_MIRRORONCE = 5;
D3DTADDRESS_FORCE_DWORD = 0x7fffffff;
D3DCULL_NONE = 1;
D3DCULL_CW = 2;
D3DCULL_CCW = 3;
D3DCULL_FORCE_DWORD = 0x7fffffff;
D3DCMP_NEVER = 1;
D3DCMP_LESS = 2;
D3DCMP_EQUAL = 3;
D3DCMP_LESSEQUAL = 4;
D3DCMP_GREATER = 5;
D3DCMP_NOTEQUAL = 6;
D3DCMP_GREATEREQUAL = 7;
D3DCMP_ALWAYS = 8;
D3DCMP_FORCE_DWORD = 0x7fffffff;
D3DSTENCILOP_KEEP = 1;
D3DSTENCILOP_ZERO = 2;
D3DSTENCILOP_REPLACE = 3;
D3DSTENCILOP_INCRSAT = 4;
D3DSTENCILOP_DECRSAT = 5;
D3DSTENCILOP_INVERT = 6;
D3DSTENCILOP_INCR = 7;
D3DSTENCILOP_DECR = 8;
D3DSTENCILOP_FORCE_DWORD = 0x7fffffff;
D3DFOG_NONE = 0;
D3DFOG_EXP = 1;
D3DFOG_EXP2 = 2;
D3DFOG_LINEAR = 3;
D3DFOG_FORCE_DWORD = 0x7fffffff;
D3DZB_FALSE = 0;
D3DZB_TRUE = 1;
D3DZB_USEW = 2;
D3DZB_FORCE_DWORD = 0x7fffffff;
D3DPT_POINTLIST = 1;
D3DPT_LINELIST = 2;
D3DPT_LINESTRIP = 3;
D3DPT_TRIANGLELIST = 4;
D3DPT_TRIANGLESTRIP = 5;
D3DPT_TRIANGLEFAN = 6;
D3DPT_FORCE_DWORD = 0x7fffffff;
D3DTS_VIEW = 2;
D3DTS_PROJECTION = 3;
D3DTS_TEXTURE0 = 16;
D3DTS_TEXTURE1 = 17;
D3DTS_TEXTURE2 = 18;
D3DTS_TEXTURE3 = 19;
D3DTS_TEXTURE4 = 20;
D3DTS_TEXTURE5 = 21;
D3DTS_TEXTURE6 = 22;
D3DTS_TEXTURE7 = 23;
D3DTS_FORCE_DWORD = 0x7fffffff;
D3DTS_WORLD = 256;
D3DTS_WORLD1 = 257;
D3DTS_WORLD2 = 258;
D3DTS_WORLD3 = 259;
D3DRS_ZENABLE = 7;
D3DRS_FILLMODE = 8;
D3DRS_SHADEMODE = 9;
D3DRS_LINEPATTERN = 10;
D3DRS_ZWRITEENABLE = 14;
D3DRS_ALPHATESTENABLE = 15;
D3DRS_LASTPIXEL = 16;
D3DRS_SRCBLEND = 19;
D3DRS_DESTBLEND = 20;
D3DRS_CULLMODE = 22;
D3DRS_ZFUNC = 23;
D3DRS_ALPHAREF = 24;
D3DRS_ALPHAFUNC = 25;
D3DRS_DITHERENABLE = 26;
D3DRS_ALPHABLENDENABLE = 27;
D3DRS_FOGENABLE = 28;
D3DRS_SPECULARENABLE = 29;
D3DRS_ZVISIBLE = 30;
D3DRS_FOGCOLOR = 34;
D3DRS_FOGTABLEMODE = 35;
D3DRS_FOGSTART = 36;
D3DRS_FOGEND = 37;
D3DRS_FOGDENSITY = 38;
D3DRS_EDGEANTIALIAS = 40;
D3DRS_ZBIAS = 47;
D3DRS_RANGEFOGENABLE = 48;
D3DRS_STENCILENABLE = 52;
D3DRS_STENCILFAIL = 53;
D3DRS_STENCILZFAIL = 54;
D3DRS_STENCILPASS = 55;
D3DRS_STENCILFUNC = 56;
D3DRS_STENCILREF = 57;
D3DRS_STENCILMASK = 58;
D3DRS_STENCILWRITEMASK = 59;
D3DRS_TEXTUREFACTOR = 60;
D3DRS_WRAP0 = 128;
D3DRS_WRAP1 = 129;
D3DRS_WRAP2 = 130;
D3DRS_WRAP3 = 131;
D3DRS_WRAP4 = 132;
D3DRS_WRAP5 = 133;
D3DRS_WRAP6 = 134;
D3DRS_WRAP7 = 135;
D3DRS_CLIPPING = 136;
D3DRS_LIGHTING = 137;
D3DRS_AMBIENT = 139;
D3DRS_FOGVERTEXMODE = 140;
D3DRS_COLORVERTEX = 141;
D3DRS_LOCALVIEWER = 142;
D3DRS_NORMALIZENORMALS = 143;
D3DRS_DIFFUSEMATERIALSOURCE = 145;
D3DRS_SPECULARMATERIALSOURCE = 146;
D3DRS_AMBIENTMATERIALSOURCE = 147;
D3DRS_EMISSIVEMATERIALSOURCE = 148;
D3DRS_VERTEXBLEND = 151;
D3DRS_CLIPPLANEENABLE = 152;
D3DRS_SOFTWAREVERTEXPROCESSING = 153;
D3DRS_POINTSIZE = 154;
D3DRS_POINTSIZE_MIN = 155;
D3DRS_POINTSPRITEENABLE = 156;
D3DRS_POINTSCALEENABLE = 157;
D3DRS_POINTSCALE_A = 158;
D3DRS_POINTSCALE_B = 159;
D3DRS_POINTSCALE_C = 160;
D3DRS_MULTISAMPLEANTIALIAS = 161;
D3DRS_MULTISAMPLEMASK = 162;
D3DRS_PATCHEDGESTYLE = 163;
D3DRS_PATCHSEGMENTS = 164;
D3DRS_DEBUGMONITORTOKEN = 165;
D3DRS_POINTSIZE_MAX = 166;
D3DRS_INDEXEDVERTEXBLENDENABLE = 167;
D3DRS_COLORWRITEENABLE = 168;
D3DRS_TWEENFACTOR = 170;
D3DRS_BLENDOP = 171;
D3DRS_POSITIONORDER = 172;
D3DRS_NORMALORDER = 173;
D3DRS_FORCE_DWORD = 0x7fffffff;
D3DMCS_MATERIAL = 0;
D3DMCS_COLOR1 = 1;
D3DMCS_COLOR2 = 2;
D3DMCS_FORCE_DWORD = 0x7fffffff;
D3DRENDERSTATE_WRAPBIAS = 128;
D3DWRAP_U = 0x00000001;
D3DWRAP_V = 0x00000002;
D3DWRAP_W = 0x00000004;
D3DWRAPCOORD_0 = 0x00000001;
D3DWRAPCOORD_1 = 0x00000002;
D3DWRAPCOORD_2 = 0x00000004;
D3DWRAPCOORD_3 = 0x00000008;
D3DCOLORWRITEENABLE_RED = 1;
D3DCOLORWRITEENABLE_GREEN = 2;
D3DCOLORWRITEENABLE_BLUE = 4;
D3DCOLORWRITEENABLE_ALPHA = 8;
D3DTSS_COLOROP = 1;
D3DTSS_COLORARG1 = 2;
D3DTSS_COLORARG2 = 3;
D3DTSS_ALPHAOP = 4;
D3DTSS_ALPHAARG1 = 5;
D3DTSS_ALPHAARG2 = 6;
D3DTSS_BUMPENVMAT00 = 7;
D3DTSS_BUMPENVMAT01 = 8;
D3DTSS_BUMPENVMAT10 = 9;
D3DTSS_BUMPENVMAT11 = 10;
D3DTSS_TEXCOORDINDEX = 11;
D3DTSS_ADDRESSU = 13;
D3DTSS_ADDRESSV = 14;
D3DTSS_BORDERCOLOR = 15;
D3DTSS_MAGFILTER = 16;
D3DTSS_MINFILTER = 17;
D3DTSS_MIPFILTER = 18;
D3DTSS_MIPMAPLODBIAS = 19;
D3DTSS_MAXMIPLEVEL = 20;
D3DTSS_MAXANISOTROPY = 21;
D3DTSS_BUMPENVLSCALE = 22;
D3DTSS_BUMPENVLOFFSET = 23;
D3DTSS_TEXTURETRANSFORMFLAGS = 24;
D3DTSS_ADDRESSW = 25;
D3DTSS_COLORARG0 = 26;
D3DTSS_ALPHAARG0 = 27;
D3DTSS_RESULTARG = 28;
D3DTSS_FORCE_DWORD = 0x7fffffff;
D3DTSS_TCI_PASSTHRU = 0x00000000;
D3DTSS_TCI_CAMERASPACENORMAL = 0x00010000;
D3DTSS_TCI_CAMERASPACEPOSITION = 0x00020000;
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = 0x00030000;
D3DTOP_DISABLE = 1;
D3DTOP_SELECTARG1 = 2;
D3DTOP_SELECTARG2 = 3;
D3DTOP_MODULATE = 4;
D3DTOP_MODULATE2X = 5;
D3DTOP_MODULATE4X = 6;
D3DTOP_ADD = 7;
D3DTOP_ADDSIGNED = 8;
D3DTOP_ADDSIGNED2X = 9;
D3DTOP_SUBTRACT = 10;
D3DTOP_ADDSMOOTH = 11;
D3DTOP_BLENDDIFFUSEALPHA = 12;
D3DTOP_BLENDTEXTUREALPHA = 13;
D3DTOP_BLENDFACTORALPHA = 14;
D3DTOP_BLENDTEXTUREALPHAPM = 15;
D3DTOP_BLENDCURRENTALPHA = 16;
D3DTOP_PREMODULATE = 17;
D3DTOP_MODULATEALPHA_ADDCOLOR = 18;
D3DTOP_MODULATECOLOR_ADDALPHA = 19;
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20;
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21;
D3DTOP_BUMPENVMAP = 22;
D3DTOP_BUMPENVMAPLUMINANCE = 23;
D3DTOP_DOTPRODUCT3 = 24;
D3DTOP_MULTIPLYADD = 25;
D3DTOP_LERP = 26;
D3DTOP_FORCE_DWORD = 0x7fffffff;
D3DTA_SELECTMASK = 0x0000000f;
D3DTA_DIFFUSE = 0x00000000;
D3DTA_CURRENT = 0x00000001;
D3DTA_TEXTURE = 0x00000002;
D3DTA_TFACTOR = 0x00000003;
D3DTA_SPECULAR = 0x00000004;
D3DTA_TEMP = 0x00000005;
D3DTA_COMPLEMENT = 0x00000010;
D3DTA_ALPHAREPLICATE = 0x00000020;
D3DTEXF_NONE = 0;
D3DTEXF_POINT = 1;
D3DTEXF_LINEAR = 2;
D3DTEXF_ANISOTROPIC = 3;
D3DTEXF_FLATCUBIC = 4;
D3DTEXF_GAUSSIANCUBIC = 5;
D3DTEXF_FORCE_DWORD = 0x7fffffff;
D3DPV_DONOTCOPYDATA = 1;
D3DFVF_RESERVED0 = 0x001;
D3DFVF_POSITION_MASK = 0x00E;
D3DFVF_XYZ = 0x002;
D3DFVF_XYZRHW = 0x004;
D3DFVF_XYZB1 = 0x006;
D3DFVF_XYZB2 = 0x008;
D3DFVF_XYZB3 = 0x00a;
D3DFVF_XYZB4 = 0x00c;
D3DFVF_XYZB5 = 0x00e;
D3DFVF_NORMAL = 0x010;
D3DFVF_PSIZE = 0x020;
D3DFVF_DIFFUSE = 0x040;
D3DFVF_SPECULAR = 0x080;
D3DFVF_TEXCOUNT_MASK = 0xf00;
D3DFVF_TEXCOUNT_SHIFT = 8;
D3DFVF_TEX0 = 0x000;
D3DFVF_TEX1 = 0x100;
D3DFVF_TEX2 = 0x200;
D3DFVF_TEX3 = 0x300;
D3DFVF_TEX4 = 0x400;
D3DFVF_TEX5 = 0x500;
D3DFVF_TEX6 = 0x600;
D3DFVF_TEX7 = 0x700;
D3DFVF_TEX8 = 0x800;
D3DFVF_LASTBETA_UBYTE4 = 0x1000;
D3DFVF_RESERVED2 = 0xE000;
D3DVSD_TOKEN_NOP = 0;
D3DVSD_TOKEN_STREAM = 1;
D3DVSD_TOKEN_STREAMDATA = 2;
D3DVSD_TOKEN_TESSELLATOR = 3;
D3DVSD_TOKEN_CONSTMEM = 4;
D3DVSD_TOKEN_EXT = 5;
D3DVSD_TOKEN_END = 7;
D3DVSD_FORCE_DWORD = 0x7fffffff;
D3DVSD_TOKENTYPESHIFT = 29;
D3DVSD_TOKENTYPEMASK = 0xe0000000;
D3DVSD_STREAMNUMBERSHIFT = 0;
D3DVSD_STREAMNUMBERMASK = 0x0000000F;
D3DVSD_DATALOADTYPESHIFT = 28;
D3DVSD_DATALOADTYPEMASK = 0x00000038;
D3DVSD_DATATYPESHIFT = 16;
D3DVSD_DATATYPEMASK = 0x000f0000;
D3DVSD_SKIPCOUNTSHIFT = 16;
D3DVSD_SKIPCOUNTMASK = 0x000f0000;
D3DVSD_VERTEXREGSHIFT = 0;
D3DVSD_VERTEXREGMASK = 0x0000001f;
D3DVSD_VERTEXREGINSHIFT = 20;
D3DVSD_VERTEXREGINMASK = 0x00f00000;
D3DVSD_CONSTCOUNTSHIFT = 25;
D3DVSD_CONSTCOUNTMASK = 0x1e000000;
D3DVSD_CONSTADDRESSSHIFT = 0;
D3DVSD_CONSTADDRESSMASK = 0x0000007f;
D3DVSD_CONSTRSSHIFT = 16;
D3DVSD_CONSTRSMASK = 0x1fff0000;
D3DVSD_EXTCOUNTSHIFT = 24;
D3DVSD_EXTCOUNTMASK = 0x1f000000;
D3DVSD_EXTINFOSHIFT = 0;
D3DVSD_EXTINFOMASK = 0x00ffffff;
function D3DVSD_MAKETOKENTYPE(tokenType)
return bit.band(bit.lshift(tokenType, D3DVSD_TOKENTYPESHIFT), D3DVSD_TOKENTYPEMASK);
end
function D3DVSD_STREAM(streamNumber)
local t = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM);
return bit.bor(t, streamNumber);
end
D3DVSD_STREAMTESSSHIFT = 28;
D3DVSD_STREAMTESSMASK = 0x10000000;
function D3DVSD_STREAM_TESS()
return 0x30000000;
end
function D3DVSD_REG(vertexRegister, dataType)
local t1 = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA);
local t2 = bit.lshift(dataType, D3DVSD_DATATYPESHIFT);
local t3 = bit.bor(t1, t2);
return bit.bor(t3, vertexRegister);
end
function D3DVSD_SKIP(dwordCount)
local t1 = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA);
local t2 = bit.lshift(dwordCount, D3DVSD_SKIPCOUNTSHIFT);
local t3 = bit.bor(t1, 0x10000000);
return bit.bor(t2, t3);
end
function D3DVSD_CONST(constantAddress, count)
local t1 = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM);
local t2 = bit.lshift(count, D3DVSD_CONSTCOUNTSHIFT);
local t3 = bit.bor(t1, t2);
return bit.bor(t3, constantAddress);
end
function D3DVSD_TESSNORMAL(vertexRegisterIn, vertexRegisterOut)
local t1 = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR);
local t2 = bit.lshift(vertexRegisterIn, D3DVSD_VERTEXREGINSHIFT);
local t3 = bit.lshift(0x02, D3DVSD_DATATYPESHIFT);
local t4 = bit.bor(t1, t2);
local t5 = bit.bor(t3, t4);
return bit.bor(t5, vertexRegisterOut);
end
function D3DVSD_TESSUV(vertexRegister)
local t1 = D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR);
local t2 = bit.lshift(0x01, D3DVSD_DATATYPESHIFT);
local t3 = bit.bor(t1, 0x10000000);
local t4 = bit.bor(t2, t3);
return bit.bor(t4, vertexRegister);
end
function D3DVSD_END()
return 0xFFFFFFFF;
end
function D3DVSD_NOP()
return 0;
end
D3DVSDT_FLOAT1 = 0x00;
D3DVSDT_FLOAT2 = 0x01;
D3DVSDT_FLOAT3 = 0x02;
D3DVSDT_FLOAT4 = 0x03;
D3DVSDT_D3DCOLOR = 0x04;
D3DVSDT_UBYTE4 = 0x05;
D3DVSDT_SHORT2 = 0x06;
D3DVSDT_SHORT4 = 0x07;
D3DVSDE_POSITION = 0;
D3DVSDE_BLENDWEIGHT = 1;
D3DVSDE_BLENDINDICES = 2;
D3DVSDE_NORMAL = 3;
D3DVSDE_PSIZE = 4;
D3DVSDE_DIFFUSE = 5;
D3DVSDE_SPECULAR = 6;
D3DVSDE_TEXCOORD0 = 7;
D3DVSDE_TEXCOORD1 = 8;
D3DVSDE_TEXCOORD2 = 9;
D3DVSDE_TEXCOORD3 = 10;
D3DVSDE_TEXCOORD4 = 11;
D3DVSDE_TEXCOORD5 = 12;
D3DVSDE_TEXCOORD6 = 13;
D3DVSDE_TEXCOORD7 = 14;
D3DVSDE_POSITION2 = 15;
D3DVSDE_NORMAL2 = 16;
D3DDP_MAXTEXCOORD = 8;
D3DSI_OPCODE_MASK = 0x0000FFFF;
D3DSIO_NOP = 0;
D3DSIO_MOV = 1;
D3DSIO_ADD = 2;
D3DSIO_SUB = 3;
D3DSIO_MAD = 4;
D3DSIO_MUL = 5;
D3DSIO_RCP = 6;
D3DSIO_RSQ = 7;
D3DSIO_DP3 = 8;
D3DSIO_DP4 = 9;
D3DSIO_MIN = 10;
D3DSIO_MAX = 11;
D3DSIO_SLT = 12;
D3DSIO_SGE = 13;
D3DSIO_EXP = 14;
D3DSIO_LOG = 15;
D3DSIO_LIT = 16;
D3DSIO_DST = 17;
D3DSIO_LRP = 18;
D3DSIO_FRC = 19;
D3DSIO_M4x4 = 20;
D3DSIO_M4x3 = 21;
D3DSIO_M3x4 = 22;
D3DSIO_M3x3 = 23;
D3DSIO_M3x2 = 24;
D3DSIO_TEXCOORD = 64;
D3DSIO_TEXKILL = 65;
D3DSIO_TEX = 66;
D3DSIO_TEXBEM = 67;
D3DSIO_TEXBEML = 68;
D3DSIO_TEXREG2AR = 69;
D3DSIO_TEXREG2GB = 70;
D3DSIO_TEXM3x2PAD = 71;
D3DSIO_TEXM3x2TEX = 72;
D3DSIO_TEXM3x3PAD = 73;
D3DSIO_TEXM3x3TEX = 74;
D3DSIO_TEXM3x3DIFF = 75;
D3DSIO_TEXM3x3SPEC = 76;
D3DSIO_TEXM3x3VSPEC = 77;
D3DSIO_EXPP = 78;
D3DSIO_LOGP = 79;
D3DSIO_CND = 80;
D3DSIO_DEF = 81;
D3DSIO_TEXREG2RGB = 82;
D3DSIO_TEXDP3TEX = 83;
D3DSIO_TEXM3x2DEPTH = 84;
D3DSIO_TEXDP3 = 85;
D3DSIO_TEXM3x3 = 86;
D3DSIO_TEXDEPTH = 87;
D3DSIO_CMP = 88;
D3DSIO_BEM = 89;
D3DSIO_PHASE = 0xFFFD;
D3DSIO_COMMENT = 0xFFFE;
D3DSIO_END = 0xFFFF;
D3DSIO_FORCE_DWORD = 0x7fffffff;
D3DSI_COISSUE = 0x40000000;
D3DSP_REGNUM_MASK = 0x00001FFF;
D3DSP_WRITEMASK_0 = 0x00010000;
D3DSP_WRITEMASK_1 = 0x00020000;
D3DSP_WRITEMASK_2 = 0x00040000;
D3DSP_WRITEMASK_3 = 0x00080000;
D3DSP_WRITEMASK_ALL = 0x000F0000;
D3DSP_DSTMOD_SHIFT = 20;
D3DSP_DSTMOD_MASK = 0x00F00000;
D3DSPDM_NONE = 0x00000000;
D3DSPDM_SATURATE = 0x00100000;
D3DSPDM_FORCE_DWORD = 0x7fffffff;
D3DSP_DSTSHIFT_SHIFT = 24;
D3DSP_DSTSHIFT_MASK = 0x0F000000;
D3DSP_REGTYPE_SHIFT = 28;
D3DSP_REGTYPE_MASK = 0x70000000;
D3DSPR_TEMP = 0x00000000;
D3DSPR_INPUT = 0x10000000;
D3DSPR_CONST = 0x20000000;
D3DSPR_ADDR = 0x30000000;
D3DSPR_TEXTURE = 0x30000000;
D3DSPR_RASTOUT = 0x40000000;
D3DSPR_ATTROUT = 0x50000000;
D3DSPR_TEXCRDOUT = 0x60000000;
D3DSPR_FORCE_DWORD = 0x7fffffff;
D3DSRO_POSITION = 0;
D3DSRO_FOG = 1;
D3DSRO_POINT_SIZE = 2;
D3DSRO_FORCE_DWORD = 0x7fffffff;
D3DVS_ADDRESSMODE_SHIFT = 13;
D3DVS_ADDRESSMODE_MASK = 0x00002000;
D3DVS_ADDRMODE_ABSOLUTE = 0x00000000;
D3DVS_ADDRMODE_RELATIVE = 0x00002000;
D3DVS_ADDRMODE_FORCE_DWORD = 0x7fffffff;
D3DVS_SWIZZLE_SHIFT = 16;
D3DVS_SWIZZLE_MASK = 0x00FF0000;
D3DVS_X_X = 0x00000000;
D3DVS_X_Y = 0x00010000;
D3DVS_X_Z = 0x00020000;
D3DVS_X_W = 0x00030000;
D3DVS_Y_X = 0x00000000;
D3DVS_Y_Y = 0x00040000;
D3DVS_Y_Z = 0x00080000;
D3DVS_Y_W = 0x000c0000;
D3DVS_Z_X = 0x00000000;
D3DVS_Z_Y = 0x00100000;
D3DVS_Z_Z = 0x00200000;
D3DVS_Z_W = 0x00300000;
D3DVS_W_X = 0x00000000;
D3DVS_W_Y = 0x00400000;
D3DVS_W_Z = 0x00800000;
D3DVS_W_W = 0x00c00000;
D3DVS_NOSWIZZLE = 0x00e40000;
D3DSP_SWIZZLE_SHIFT = 16;
D3DSP_SWIZZLE_MASK = 0x00FF0000;
D3DSP_NOSWIZZLE = 0x00e40000;
D3DSP_REPLICATERED = 0x00000000;
D3DSP_REPLICATEGREEN = 0x00550000;
D3DSP_REPLICATEBLUE = 0x00aa0000;
D3DSP_REPLICATEALPHA = 0x00ff0000;
D3DSP_SRCMOD_SHIFT = 24;
D3DSP_SRCMOD_MASK = 0x0F000000;
D3DSPSM_NONE = 0x00000000;
D3DSPSM_NEG = 0x01000000;
D3DSPSM_BIAS = 0x02000000;
D3DSPSM_BIASNEG = 0x03000000;
D3DSPSM_SIGN = 0x04000000;
D3DSPSM_SIGNNEG = 0x05000000;
D3DSPSM_COMP = 0x06000000;
D3DSPSM_X2 = 0x07000000;
D3DSPSM_X2NEG = 0x08000000;
D3DSPSM_DZ = 0x09000000;
D3DSPSM_DW = 0x0a000000;
D3DSPSM_FORCE_DWORD = 0x7fffffff;
function D3DPS_VERSION(Major, Minor)
local t1 = 0xFFFF0000;
local t2 = bit.lshift(Major, 8);
local t3 = bit.bor(t1, t2);
return bit.bor(t3, Minor);
end
function D3DVS_VERSION(Major, Minor)
local t1 = 0xFFFE0000;
local t2 = bit.lshift(Major, 8);
local t3 = bit.bor(t1, t2);
return bit.bor(t3, Minor);
end
function D3DSHADER_VERSION_MAJOR(Version)
local t1 = bit.rshift(Version, 8);
return bit.band(t1, 0x0FF);
end
function D3DSHADER_VERSION_MINOR(Version)
local t1 = bit.rshift(Version, 0);
return bit.band(t1, 0x0FF);
end
D3DSI_COMMENTSIZE_SHIFT = 16;
D3DSI_COMMENTSIZE_MASK = 0x7FFF0000;
function D3DSHADER_COMMENT(dwordSize)
local t1 = bit.lshift(dwordSize, D3DSI_COMMENTSIZE_SHIFT);
local t2 = bit.band(t1, D3DSI_COMMENTSIZE_MASK);
return bit.bor(t2, D3DSIO_COMMENT);
end
function D3DPS_END()
return 0x0000FFFF;
end
function D3DVS_END()
return 0x0000FFFF;
end
D3DBASIS_BEZIER = 0;
D3DBASIS_BSPLINE = 1;
D3DBASIS_INTERPOLATE = 2;
D3DBASIS_FORCE_DWORD = 0x7fffffff;
D3DORDER_LINEAR = 1;
D3DORDER_QUADRATIC = 2;
D3DORDER_CUBIC = 3;
D3DORDER_QUINTIC = 5;
D3DORDER_FORCE_DWORD = 0x7fffffff;
D3DPATCHEDGE_DISCRETE = 0;
D3DPATCHEDGE_CONTINUOUS = 1;
D3DPATCHEDGE_FORCE_DWORD = 0x7fffffff;
D3DSBT_ALL = 1;
D3DSBT_PIXELSTATE = 2;
D3DSBT_VERTEXSTATE = 3;
D3DSBT_FORCE_DWORD = 0x7fffffff;
D3DVBF_DISABLE = 0;
D3DVBF_1WEIGHTS = 1;
D3DVBF_2WEIGHTS = 2;
D3DVBF_3WEIGHTS = 3;
D3DVBF_TWEENING = 255;
D3DVBF_0WEIGHTS = 256;
D3DVBF_FORCE_DWORD = 0x7fffffff;
D3DTTFF_DISABLE = 0;
D3DTTFF_COUNT1 = 1;
D3DTTFF_COUNT2 = 2;
D3DTTFF_COUNT3 = 3;
D3DTTFF_COUNT4 = 4;
D3DTTFF_PROJECTED = 256;
D3DTTFF_FORCE_DWORD = 0x7fffffff;
D3DFVF_TEXTUREFORMAT2 = 0;
D3DFVF_TEXTUREFORMAT1 = 3;
D3DFVF_TEXTUREFORMAT3 = 1;
D3DFVF_TEXTUREFORMAT4 = 2;
function D3DFVF_TEXCOORDSIZE3(CoordIndex)
local t1 = (CoordIndex * 2 + 16);
return bit.lshift(D3DFVF_TEXTUREFORMAT3, t1);
end
function D3DFVF_TEXCOORDSIZE2(CoordIndex)
return D3DFVF_TEXTUREFORMAT2;
end
function D3DFVF_TEXCOORDSIZE4(CoordIndex)
local t1 = (CoordIndex * 2 + 16);
return bit.lshift(D3DFVF_TEXTUREFORMAT4, t1);
end
function D3DFVF_TEXCOORDSIZE1(CoordIndex)
local t1 = (CoordIndex * 2 + 16);
return bit.lshift(D3DFVF_TEXTUREFORMAT1, t1);
end
D3DDEVTYPE_HAL = 1;
D3DDEVTYPE_REF = 2;
D3DDEVTYPE_SW = 3;
D3DDEVTYPE_FORCE_DWORD = 0x7fffffff
D3DMULTISAMPLE_NONE = 0;
D3DMULTISAMPLE_2_SAMPLES = 2;
D3DMULTISAMPLE_3_SAMPLES = 3;
D3DMULTISAMPLE_4_SAMPLES = 4;
D3DMULTISAMPLE_5_SAMPLES = 5;
D3DMULTISAMPLE_6_SAMPLES = 6;
D3DMULTISAMPLE_7_SAMPLES = 7;
D3DMULTISAMPLE_8_SAMPLES = 8;
D3DMULTISAMPLE_9_SAMPLES = 9;
D3DMULTISAMPLE_10_SAMPLES = 10;
D3DMULTISAMPLE_11_SAMPLES = 11;
D3DMULTISAMPLE_12_SAMPLES = 12;
D3DMULTISAMPLE_13_SAMPLES = 13;
D3DMULTISAMPLE_14_SAMPLES = 14;
D3DMULTISAMPLE_15_SAMPLES = 15;
D3DMULTISAMPLE_16_SAMPLES = 16;
D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
function MAKEFOURCC(ch0, ch1, ch2, ch3)
ch0 = string.byte(ch0);
ch1 = string.byte(ch1);
ch2 = string.byte(ch2);
ch3 = string.byte(ch3);
local t1 = bit.bor(ch0, bit.lshift(ch1, 8));
local t2 = bit.lshift(ch2, 16);
local t3 = bit.lshift(ch3, 24);
local t4 = bit.bor(t2, t3);
return bit.bor(t1, t4);
end
D3DFMT_UNKNOWN = 0;
D3DFMT_R8G8B8 = 20;
D3DFMT_A8R8G8B8 = 21;
D3DFMT_X8R8G8B8 = 22;
D3DFMT_R5G6B5 = 23;
D3DFMT_X1R5G5B5 = 24;
D3DFMT_A1R5G5B5 = 25;
D3DFMT_A4R4G4B4 = 26;
D3DFMT_R3G3B2 = 27;
D3DFMT_A8 = 28;
D3DFMT_A8R3G3B2 = 29;
D3DFMT_X4R4G4B4 = 30;
D3DFMT_A2B10G10R10 = 31;
D3DFMT_G16R16 = 34;
D3DFMT_A8P8 = 40;
D3DFMT_P8 = 41;
D3DFMT_L8 = 50;
D3DFMT_A8L8 = 51;
D3DFMT_A4L4 = 52;
D3DFMT_V8U8 = 60;
D3DFMT_L6V5U5 = 61;
D3DFMT_X8L8V8U8 = 62;
D3DFMT_Q8W8V8U8 = 63;
D3DFMT_V16U16 = 64;
D3DFMT_W11V11U10 = 65;
D3DFMT_A2W10V10U10 = 67;
D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y');
D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2');
D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1');
D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2');
D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3');
D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4');
D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5');
D3DFMT_D16_LOCKABLE = 70;
D3DFMT_D32 = 71;
D3DFMT_D15S1 = 73;
D3DFMT_D24S8 = 75;
D3DFMT_D16 = 80;
D3DFMT_D24X8 = 77;
D3DFMT_D24X4S4 = 79;
D3DFMT_VERTEXDATA = 100;
D3DFMT_INDEX16 = 101;
D3DFMT_INDEX32 = 102;
D3DFMT_FORCE_DWORD = 0x7fffffff
D3DSWAPEFFECT_DISCARD = 1;
D3DSWAPEFFECT_FLIP = 2;
D3DSWAPEFFECT_COPY = 3;
D3DSWAPEFFECT_COPY_VSYNC = 4;
D3DSWAPEFFECT_FORCE_DWORD = 0x7fffffff
D3DPOOL_DEFAULT = 0;
D3DPOOL_MANAGED = 1;
D3DPOOL_SYSTEMMEM = 2;
D3DPOOL_SCRATCH = 3;
D3DPOOL_FORCE_DWORD = 0x7fffffff
D3DPRESENT_RATE_DEFAULT = 0x00000000;
D3DPRESENT_RATE_UNLIMITED = 0x7fffffff;
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001;
D3DBACKBUFFER_TYPE_MONO = 0;
D3DBACKBUFFER_TYPE_LEFT = 1;
D3DBACKBUFFER_TYPE_RIGHT = 2;
D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
D3DRTYPE_SURFACE = 1;
D3DRTYPE_VOLUME = 2;
D3DRTYPE_TEXTURE = 3;
D3DRTYPE_VOLUMETEXTURE = 4;
D3DRTYPE_CUBETEXTURE = 5;
D3DRTYPE_VERTEXBUFFER = 6;
D3DRTYPE_INDEXBUFFER = 7;
D3DRTYPE_FORCE_DWORD = 0x7fffffff;
D3DUSAGE_RENDERTARGET = 0x00000001;
D3DUSAGE_DEPTHSTENCIL = 0x00000002;
D3DUSAGE_WRITEONLY = 0x00000008;
D3DUSAGE_SOFTWAREPROCESSING = 0x00000010;
D3DUSAGE_DONOTCLIP = 0x00000020;
D3DUSAGE_POINTS = 0x00000040;
D3DUSAGE_RTPATCHES = 0x00000080;
D3DUSAGE_NPATCHES = 0x00000100;
D3DUSAGE_DYNAMIC = 0x00000200;
D3DCUBEMAP_FACE_POSITIVE_X = 0;
D3DCUBEMAP_FACE_NEGATIVE_X = 1;
D3DCUBEMAP_FACE_POSITIVE_Y = 2;
D3DCUBEMAP_FACE_NEGATIVE_Y = 3;
D3DCUBEMAP_FACE_POSITIVE_Z = 4;
D3DCUBEMAP_FACE_NEGATIVE_Z = 5;
D3DCUBEMAP_FACE_FORCE_DWORD = 0x7fffffff;
D3DLOCK_READONLY = 0x00000010;
D3DLOCK_DISCARD = 0x00002000;
D3DLOCK_NOOVERWRITE = 0x00001000;
D3DLOCK_NOSYSLOCK = 0x00000800;
D3DLOCK_NO_DIRTY_UPDATE = 0x00008000;
MAX_DEVICE_IDENTIFIER_STRING = 512;
D3DDMT_ENABLE = 0;
D3DDMT_DISABLE = 1;
D3DDMT_FORCE_DWORD = 0x7fffffff;
D3DDEVINFOID_RESOURCEMANAGER = 5;
D3DDEVINFOID_VERTEXSTATS = 6;
D3DRTYPECOUNT = 8;
----------------------------------------------------------------------------------------------------
--
-- Direct3D Object Wrappers
--
----------------------------------------------------------------------------------------------------
local d3d_IDirect3DResource8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end
};
local d3d_IDirect3DBaseTexture8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DBaseTexture8
SetLOD = function(self, lodNew)
return ashita.d3d8dev.IDirect3DBaseTexture8_SetLOD(self._this, lodNew);
end,
GetLOD = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLOD(self._this)
end,
GetLevelCount = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLevelCount(self._this)
end
};
local d3d_IDirect3DTexture8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DBaseTexture8
SetLOD = function(self, lodNew)
return ashita.d3d8dev.IDirect3DBaseTexture8_SetLOD(self._this, lodNew);
end,
GetLOD = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLOD(self._this)
end,
GetLevelCount = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLevelCount(self._this)
end,
-- IDirect3DTexture8
GetLevelDesc = function(self, level)
return ashita.d3d8dev.IDirect3DTexture8_GetLevelDesc(self._this, level);
end,
GetSurfaceLevel = function(self, level)
return ashita.d3d8dev.IDirect3DTexture8_GetSurfaceLevel(self._this, level);
end,
LockRect = function(self, level, rect, flags)
return ashita.d3d8dev.IDirect3DTexture8_LockRect(self._this, level, rect, flags);
end,
UnlockRect = function(self, level)
return ashita.d3d8dev.IDirect3DTexture8_UnlockRect(self._this, level);
end,
AddDirtyRect = function(self, rect)
return ashita.d3d8dev.IDirect3DTexture8_AddDirtyRect(self._this, rect);
end
};
local d3d_IDirect3DVolumeTexture8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DBaseTexture8
SetLOD = function(self, lodNew)
return ashita.d3d8dev.IDirect3DBaseTexture8_SetLOD(self._this, lodNew);
end,
GetLOD = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLOD(self._this)
end,
GetLevelCount = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLevelCount(self._this)
end,
-- IDirect3DVolumeTexture8
GetLevelDesc = function(self, level)
return ashita.d3d8dev.IDirect3DVolumeTexture8_GetLevelDesc(self._this, level);
end,
GetVolumeLevel = function(self, level)
return ashita.d3d8dev.IDirect3DVolumeTexture8_GetVolumeLevel(self._this, level);
end,
LockBox = function(self, level, box, flags)
return ashita.d3d8dev.IDirect3DVolumeTexture8_LockBox(self._this, level, box, flags);
end,
UnlockBox = function(self, level)
return ashita.d3d8dev.IDirect3DVolumeTexture8_UnlockBox(self._this, level);
end,
AddDirtyBox = function(self, dirtybox)
return ashita.d3d8dev.IDirect3DVolumeTexture8_AddDirtyBox(self._this, dirtybox);
end
};
local d3d_IDirect3DCubeTexture8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DBaseTexture8
SetLOD = function(self, lodNew)
return ashita.d3d8dev.IDirect3DBaseTexture8_SetLOD(self._this, lodNew);
end,
GetLOD = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLOD(self._this);
end,
GetLevelCount = function(self)
return ashita.d3d8dev.IDirect3DBaseTexture8_GetLevelCount(self._this);
end,
-- IDirect3DCubeTexture8
GetLevelDesc = function(self, level)
return ashita.d3d8dev.IDirect3DCubeTexture8_GetLevelDesc(self._this, level);
end,
GetCubeMapSurface = function(self, facetype, level)
return ashita.d3d8dev.IDirect3DCubeTexture8_GetCubeMapSurface(self._this, facetype, level);
end,
LockRect = function(self, facetype, level, rect, flags)
return ashita.d3d8dev.IDirect3DCubeTexture8_LockRect(self._this, facetype, level, rect, flags);
end,
UnlockRect = function(self, facetype, level)
return ashita.d3d8dev.IDirect3DCubeTexture8_UnlockRect(self._this, facetype, level);
end,
AddDirtyRect = function(self, facetype, dirtyrect)
return ashita.d3d8dev.IDirect3DCubeTexture8_AddDirtyRect(self._this, facetype, dirtyrect);
end
};
local d3d_IDirect3DVertexBuffer8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DVertexBuffer8
Lock = function(self, offsetToLock, sizeToLock, flags)
return ashita.d3d8dev.IDirect3DVertexBuffer8_Lock(self._this, offsetToLock, sizeToLock, flags);
end,
Unlock = function(self)
return ashita.d3d8dev.IDirect3DVertexBuffer8_Unlock(self._this);
end,
GetDesc = function(self)
return ashita.d3d8dev.IDirect3DVertexBuffer8_GetDesc(self._this);
end
};
local d3d_IDirect3DIndexBuffer8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DResource8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DResource8_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3d8dev.IDirect3DResource8_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- IDirect3DResource8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DResource8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DResource8_FreePrivateData(self._this, refguid);
end,
SetPriority = function(self, priority)
return ashita.d3d8dev.IDirect3DResource8_SetPriority(self._this, priority);
end,
GetPriority = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetPriority(self._this);
end,
PreLoad = function(self)
return ashita.d3d8dev.IDirect3DResource8_PreLoad(self._this);
end,
GetType = function(self)
return ashita.d3d8dev.IDirect3DResource8_GetType(self._this);
end,
-- IDirect3DIndexBuffer8
Lock = function(self, offsetToLock, sizeToLock, flags)
return ashita.d3d8dev.IDirect3DIndexBuffer8_Lock(self._this, offsetToLock, sizeToLock, flags);
end,
Unlock = function(self)
return ashita.d3d8dev.IDirect3DIndexBuffer8_Unlock(self._this);
end,
GetDesc = function(self)
return ashita.d3d8dev.IDirect3DIndexBuffer8_GetDesc(self._this);
end
};
local d3d_IDirect3DSurface8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DSurface8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DSurface8_AddRef(self._this);
end,
Release = function(self)
return ashita.d3d8dev.IDirect3DSurface8_Release(self._this);
end,
-- IDirect3DSurface8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DSurface8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DSurface8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DSurface8_FreePrivateData(self._this, refguid);
end,
GetContainer = function(self, riid)
return ashita.d3d8dev.IDirect3DSurface8_GetContainer(self._this, riid);
end,
GetDesc = function(self)
return ashita.d3d8dev.IDirect3DSurface8_GetDesc(self._this);
end,
LockRect = function(self, rect, flags)
return ashita.d3d8dev.IDirect3DSurface8_LockRect(self._this, rect, flags);
end,
UnlockRect = function(self)
return ashita.d3d8dev.IDirect3DSurface8_UnlockRect(self._this);
end
};
local d3d_IDirect3DVolume8_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3d8dev.IDirect3DSurface8_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3d8dev.IDirect3DSurface8_AddRef(self._this);
end,
Release = function(self)
return ashita.d3d8dev.IDirect3DSurface8_Release(self._this);
end,
-- IDirect3DVolume8
SetPrivateData = function(self, refguid, data, sizeOfData, flags)
return ashita.d3d8dev.IDirect3DVolume8_SetPrivateData(self._this, refguid, data, sizeOfData, flags);
end,
GetPrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DVolume8_GetPrivateData(self._this, refguid);
end,
FreePrivateData = function(self, refguid)
return ashita.d3d8dev.IDirect3DVolume8_FreePrivateData(self._this, refguid);
end,
GetContainer = function(self, riid)
return ashita.d3d8dev.IDirect3DVolume8_GetContainer(self._this, riid);
end,
GetDesc = function(self)
return ashita.d3d8dev.IDirect3DVolume8_GetDesc(self._this);
end,
LockBox = function(self, box, flags)
return ashita.d3d8dev.IDirect3DVolume8_LockBox(self._this, rect, flags);
end,
UnlockBox = function(self)
return ashita.d3d8dev.IDirect3DVolume8_UnlockBox(self._this);
end
};
----------------------------------------------------------------------------------------------------
-- Direct3D Wrapper Tables
----------------------------------------------------------------------------------------------------
IDirect3DResource8Wrapper = { };
IDirect3DBaseTexture8Wrapper = { };
IDirect3DTexture8Wrapper = { };
IDirect3DVolumeTexture8Wrapper = { };
IDirect3DCubeTexture8Wrapper = { };
IDirect3DVertexBuffer8Wrapper = { };
IDirect3DIndexBuffer8Wrapper = { };
IDirect3DSurface8Wrapper = { };
IDirect3DVolume8Wrapper = { };
----------------------------------------------------------------------------------------------------
-- func: IDirect3DResource8Wrapper.wrap
-- desc: Wraps an existing IDirect3DResource8 object.
----------------------------------------------------------------------------------------------------
IDirect3DResource8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DResource8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DResource8_mt.__index = d3d_IDirect3DResource8_mt;
setmetatable(r, d3d_IDirect3DResource8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DBaseTexture8Wrapper.wrap
-- desc: Wraps an existing IDirect3DBaseTexture8 object.
----------------------------------------------------------------------------------------------------
IDirect3DBaseTexture8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DBaseTexture8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DBaseTexture8_mt.__index = d3d_IDirect3DBaseTexture8_mt;
setmetatable(r, d3d_IDirect3DBaseTexture8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DTexture8Wrapper.wrap
-- desc: Wraps an existing IDirect3DTexture8 object.
----------------------------------------------------------------------------------------------------
IDirect3DTexture8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DTexture8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DTexture8_mt.__index = d3d_IDirect3DTexture8_mt;
setmetatable(r, d3d_IDirect3DTexture8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DVolumeTexture8Wrapper.wrap
-- desc: Wraps an existing IDirect3DVolumeTexture8 object.
----------------------------------------------------------------------------------------------------
IDirect3DVolumeTexture8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DVolumeTexture8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DVolumeTexture8_mt.__index = d3d_IDirect3DVolumeTexture8_mt;
setmetatable(r, d3d_IDirect3DVolumeTexture8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DCubeTexture8Wrapper.wrap
-- desc: Wraps an existing IDirect3DCubeTexture8 object.
----------------------------------------------------------------------------------------------------
IDirect3DCubeTexture8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DCubeTexture8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DCubeTexture8_mt.__index = d3d_IDirect3DCubeTexture8_mt;
setmetatable(r, d3d_IDirect3DCubeTexture8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DVertexBuffer8Wrapper.wrap
-- desc: Wraps an existing IDirect3DVertexBuffer8 object.
----------------------------------------------------------------------------------------------------
IDirect3DVertexBuffer8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DVertexBuffer8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DVertexBuffer8_mt.__index = d3d_IDirect3DVertexBuffer8_mt;
setmetatable(r, d3d_IDirect3DVertexBuffer8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DIndexBuffer8Wrapper.wrap
-- desc: Wraps an existing IDirect3DIndexBuffer8 object.
----------------------------------------------------------------------------------------------------
IDirect3DIndexBuffer8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DIndexBuffer8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DIndexBuffer8_mt.__index = d3d_IDirect3DIndexBuffer8_mt;
setmetatable(r, d3d_IDirect3DIndexBuffer8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DSurface8Wrapper.wrap
-- desc: Wraps an existing IDirect3DSurface8 object.
----------------------------------------------------------------------------------------------------
IDirect3DSurface8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DSurface8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DSurface8_mt.__index = d3d_IDirect3DSurface8_mt;
setmetatable(r, d3d_IDirect3DSurface8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
-- func: IDirect3DVolume8Wrapper.wrap
-- desc: Wraps an existing IDirect3DVolume8 object.
----------------------------------------------------------------------------------------------------
IDirect3DVolume8Wrapper.wrap = function(o)
if (o == nil) then
error('IDirect3DVolume8Wrapper.wrap - o is invalid, cannot wrap.');
end
local r = { };
r._this = o;
d3d_IDirect3DVolume8_mt.__index = d3d_IDirect3DVolume8_mt;
setmetatable(r, d3d_IDirect3DVolume8_mt);
return r;
end
----------------------------------------------------------------------------------------------------
--
-- Direct3DX Object Wrappers
--
----------------------------------------------------------------------------------------------------
local d3dx_buffer_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3dx.ID3DXBuffer_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3dx.ID3DXBuffer_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3dx.ID3DXBuffer_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- ID3DXBuffer
GetBufferPointer = function(self)
return ashita.d3dx.ID3DXBuffer_GetBufferPointer(self._this);
end,
GetBufferSize = function(self)
return ashita.d3dx.ID3DXBuffer_GetBufferSize(self._this);
end
};
local d3dx_font_mt =
{
_this = nil,
__gc = function(self)
print('FONT WAS GARBAGE COLLECTED!!!');
end,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3dx.ID3DXFont_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3dx.ID3DXFont_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3dx.ID3DXFont_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- ID3DXFont
GetLogFont = function(self)
return ashita.d3dx.ID3DXFont_GetLogFont(self._this);
end,
Begin = function(self)
return ashita.d3dx.ID3DXFont_Begin(self._this);
end,
DrawTextA = function(self, str, count, rect, format, color)
return ashita.d3dx.ID3DXFont_DrawTextA(self._this, str, count, rect, format, color);
end,
End = function(self)
return ashita.d3dx.ID3DXFont_End(self._this);
end,
};
local d3dx_sprite_mt =
{
_this = nil,
-- Properties
Get = function(self)
return self._this;
end,
-- IUnknown
QueryInterface = function(self, iid)
return ashita.d3dx.ID3DXSprite_QueryInterface(self._this, iid);
end,
AddRef = function(self)
return ashita.d3dx.ID3DXSprite_AddRef(self._this);
end,
Release = function(self)
local count = ashita.d3dx.ID3DXSprite_Release(self._this);
if (count <= 0) then
self._this = nil;
end
return count;
end,
-- ID3DXSprite
Begin = function(self)
return ashita.d3dx.ID3DXSprite_Begin(self._this);
end,
Draw = function(self, srcTexture, srcRect, scaling, rotationCenter, rotation, translation, color)
return ashita.d3dx.ID3DXSprite_Draw(self._this, srcTexture, srcRect, scaling, rotationCenter, rotation, translation, color);
end,
DrawTransform = function(self, srcTexture, srcRect, transform, color)
return ashita.d3dx.ID3DXSprite_DrawTransform(self._this, srcTexture, srcRect, transform, color);
end,
End = function(self)
return ashita.d3dx.ID3DXSprite_End(self._this);
end
};
----------------------------------------------------------------------------------------------------
-- Direct3DX Wrapper Tables
----------------------------------------------------------------------------------------------------
ID3DXBufferWrapper = { };
ID3DXFontWrapper = { };
ID3DXSpriteWrapper = { };
----------------------------------------------------------------------------------------------------
-- func: ID3DXBufferWrapper.wrap
-- desc: Wraps an existing ID3DXBuffer object.
----------------------------------------------------------------------------------------------------
ID3DXBufferWrapper.wrap = function(b)
if (b == nil) then
error('ID3DXBufferWrapper.wrap - b is invalid; cannot wrap.');
end
local buffer = { };
buffer._this = b;
d3dx_buffer_mt.__index = d3dx_buffer_mt;
setmetatable(buffer, d3dx_buffer_mt);
return buffer;
end
----------------------------------------------------------------------------------------------------
-- func: ID3DXFontWrapper.wrap
-- desc: Wraps an existing ID3DXFont object.
----------------------------------------------------------------------------------------------------
ID3DXFontWrapper.wrap = function(f)
if (f == nil) then
error('ID3DXFontWrapper.new - f is invalid; cannot wrap.');
end
local font = { };
font._this = f;
d3dx_font_mt.__index = d3dx_font_mt;
setmetatable(font, d3dx_font_mt);
return font;
end
----------------------------------------------------------------------------------------------------
-- func: ID3DXSpriteWrapper.wrap
-- desc: Wraps an existing ID3DXSprite object.
----------------------------------------------------------------------------------------------------
ID3DXSpriteWrapper.wrap = function (s)
if (s == nil) then
error('Failed to create new ID3DXSpriteWrapper, sprite must not be null.');
end
local sprite = { };
sprite._this = s;
d3dx_sprite_mt.__index = d3dx_sprite_mt;
setmetatable(sprite, d3dx_sprite_mt);
return sprite;
end