mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 00:54:54 +00:00
update bullet so it actually works
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
This commit is contained in:
parent
c7be48130a
commit
13fa178cf6
5986 changed files with 1811270 additions and 453803 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -5,143 +5,141 @@
|
|||
#include "Gwen/Gwen.h"
|
||||
#include "Gwen/Texture.h"
|
||||
|
||||
namespace Gwen
|
||||
namespace Gwen
|
||||
{
|
||||
namespace Skin
|
||||
namespace Skin
|
||||
{
|
||||
namespace Texturing
|
||||
{
|
||||
struct Single
|
||||
{
|
||||
Single()
|
||||
{
|
||||
namespace Texturing
|
||||
{
|
||||
struct Single
|
||||
{
|
||||
Single()
|
||||
{
|
||||
texture = NULL;
|
||||
}
|
||||
|
||||
void Init( Texture* pTexture, float x, float y, float w, float h )
|
||||
{
|
||||
texture = pTexture;
|
||||
|
||||
float texw = texture->width;
|
||||
float texh = texture->height;
|
||||
|
||||
uv[0] = x / texw;
|
||||
uv[1] = y / texh;
|
||||
uv[2] = (x+w) / texw;
|
||||
uv[3] = (y+h) / texh;
|
||||
}
|
||||
|
||||
void Draw( Gwen::Renderer::Base* render, Gwen::Rect r, const Gwen::Color& col = Gwen::Colors::White )
|
||||
{
|
||||
render->SetDrawColor( col );
|
||||
|
||||
render->DrawTexturedRect( texture, r, uv[0], uv[1],uv[2], uv[3] );
|
||||
}
|
||||
|
||||
Texture* texture;
|
||||
float uv[4];
|
||||
};
|
||||
|
||||
struct Bordered
|
||||
{
|
||||
Bordered()
|
||||
{
|
||||
texture = NULL;
|
||||
}
|
||||
|
||||
void Init( Texture* pTexture, float x, float y, float w, float h, Margin in_margin, float DrawMarginScale = 1.0f )
|
||||
{
|
||||
texture = pTexture;
|
||||
|
||||
margin = in_margin;
|
||||
|
||||
SetRect( 0, x, y, margin.left, margin.top );
|
||||
SetRect( 1, x+margin.left, y, w - margin.left - margin.right - 1, margin.top );
|
||||
SetRect( 2, (x + w) - margin.right, y, margin.right, margin.top );
|
||||
|
||||
SetRect( 3, x, y+margin.top, margin.left, h - margin.top - margin.bottom - 1 );
|
||||
SetRect( 4, x+margin.left, y+margin.top, w - margin.left - margin.right - 1, h - margin.top - margin.bottom - 1 );
|
||||
SetRect( 5, (x + w) - margin.right, y+margin.top, margin.right, h - margin.top - margin.bottom - 1 );
|
||||
|
||||
SetRect( 6, x, (y+h)-margin.bottom, margin.left, margin.bottom );
|
||||
SetRect( 7, x+margin.left, (y+h)-margin.bottom, w - margin.left - margin.right - 1, margin.bottom );
|
||||
SetRect( 8, (x + w) - margin.right, (y+h)-margin.bottom, margin.right, margin.bottom );
|
||||
|
||||
margin.left *= DrawMarginScale;
|
||||
margin.right *= DrawMarginScale;
|
||||
margin.top *= DrawMarginScale;
|
||||
margin.bottom *= DrawMarginScale;
|
||||
|
||||
width = w - x;
|
||||
height = h - y;
|
||||
}
|
||||
|
||||
void SetRect( int iNum, float x, float y, float w, float h )
|
||||
{
|
||||
float texw = texture->width;
|
||||
float texh = texture->height;
|
||||
|
||||
//x -= 1.0f;
|
||||
//y -= 1.0f;
|
||||
|
||||
|
||||
|
||||
rects[iNum].uv[0] = x / texw;
|
||||
rects[iNum].uv[1] = y / texh;
|
||||
|
||||
rects[iNum].uv[2] = (x+w) / texw;
|
||||
rects[iNum].uv[3] = (y+h) / texh;
|
||||
|
||||
// rects[iNum].uv[0] += 1.0f / texture->width;
|
||||
// rects[iNum].uv[1] += 1.0f / texture->width;
|
||||
}
|
||||
|
||||
void Draw( Gwen::Renderer::Base* render, Gwen::Rect r, const Gwen::Color& col = Gwen::Colors::White )
|
||||
{
|
||||
render->SetDrawColor( col );
|
||||
|
||||
if ( r.w < width && r.h < height )
|
||||
{
|
||||
render->DrawTexturedRect( texture,
|
||||
r,
|
||||
rects[0].uv[0], rects[0].uv[1], rects[8].uv[2], rects[8].uv[3] );
|
||||
return;
|
||||
}
|
||||
|
||||
DrawRect( render, 0, r.x, r.y, margin.left, margin.top );
|
||||
DrawRect( render, 1, r.x + margin.left, r.y, r.w - margin.left - margin.right, margin.top );
|
||||
DrawRect( render, 2, (r.x + r.w) - margin.right, r.y, margin.right, margin.top );
|
||||
|
||||
DrawRect( render, 3, r.x, r.y+margin.top, margin.left, r.h - margin.top - margin.bottom );
|
||||
DrawRect( render, 4, r.x + margin.left, r.y+margin.top, r.w - margin.left - margin.right, r.h - margin.top - margin.bottom );
|
||||
DrawRect( render, 5, (r.x + r.w) - margin.right, r.y+margin.top, margin.right, r.h - margin.top - margin.bottom );
|
||||
|
||||
DrawRect( render, 6, r.x, (r.y+r.h) - margin.bottom, margin.left, margin.bottom );
|
||||
DrawRect( render, 7, r.x + margin.left, (r.y+r.h) - margin.bottom, r.w - margin.left - margin.right, margin.bottom );
|
||||
DrawRect( render, 8, (r.x + r.w) - margin.right, (r.y+r.h) - margin.bottom, margin.right, margin.bottom );
|
||||
}
|
||||
|
||||
void DrawRect( Gwen::Renderer::Base* render, int i, int x, int y, int w, int h )
|
||||
{
|
||||
render->DrawTexturedRect( texture,
|
||||
Gwen::Rect( x, y, w, h ),
|
||||
rects[i].uv[0], rects[i].uv[1], rects[i].uv[2], rects[i].uv[3] );
|
||||
}
|
||||
|
||||
Texture* texture;
|
||||
|
||||
struct SubRect
|
||||
{
|
||||
float uv[4];
|
||||
};
|
||||
|
||||
SubRect rects[9];
|
||||
Margin margin;
|
||||
|
||||
float width;
|
||||
float height;
|
||||
};
|
||||
}
|
||||
texture = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void Init(Texture* pTexture, float x, float y, float w, float h)
|
||||
{
|
||||
texture = pTexture;
|
||||
|
||||
float texw = texture->width;
|
||||
float texh = texture->height;
|
||||
|
||||
uv[0] = x / texw;
|
||||
uv[1] = y / texh;
|
||||
uv[2] = (x + w) / texw;
|
||||
uv[3] = (y + h) / texh;
|
||||
}
|
||||
|
||||
void Draw(Gwen::Renderer::Base* render, Gwen::Rect r, const Gwen::Color& col = Gwen::Colors::White)
|
||||
{
|
||||
render->SetDrawColor(col);
|
||||
|
||||
render->DrawTexturedRect(texture, r, uv[0], uv[1], uv[2], uv[3]);
|
||||
}
|
||||
|
||||
Texture* texture;
|
||||
float uv[4];
|
||||
};
|
||||
|
||||
struct Bordered
|
||||
{
|
||||
Bordered()
|
||||
{
|
||||
texture = NULL;
|
||||
}
|
||||
|
||||
void Init(Texture* pTexture, float x, float y, float w, float h, Margin in_margin, float DrawMarginScale = 1.0f)
|
||||
{
|
||||
texture = pTexture;
|
||||
|
||||
margin = in_margin;
|
||||
|
||||
SetRect(0, x, y, margin.left, margin.top);
|
||||
SetRect(1, x + margin.left, y, w - margin.left - margin.right - 1, margin.top);
|
||||
SetRect(2, (x + w) - margin.right, y, margin.right, margin.top);
|
||||
|
||||
SetRect(3, x, y + margin.top, margin.left, h - margin.top - margin.bottom - 1);
|
||||
SetRect(4, x + margin.left, y + margin.top, w - margin.left - margin.right - 1, h - margin.top - margin.bottom - 1);
|
||||
SetRect(5, (x + w) - margin.right, y + margin.top, margin.right, h - margin.top - margin.bottom - 1);
|
||||
|
||||
SetRect(6, x, (y + h) - margin.bottom, margin.left, margin.bottom);
|
||||
SetRect(7, x + margin.left, (y + h) - margin.bottom, w - margin.left - margin.right - 1, margin.bottom);
|
||||
SetRect(8, (x + w) - margin.right, (y + h) - margin.bottom, margin.right, margin.bottom);
|
||||
|
||||
margin.left *= DrawMarginScale;
|
||||
margin.right *= DrawMarginScale;
|
||||
margin.top *= DrawMarginScale;
|
||||
margin.bottom *= DrawMarginScale;
|
||||
|
||||
width = w - x;
|
||||
height = h - y;
|
||||
}
|
||||
|
||||
void SetRect(int iNum, float x, float y, float w, float h)
|
||||
{
|
||||
float texw = texture->width;
|
||||
float texh = texture->height;
|
||||
|
||||
//x -= 1.0f;
|
||||
//y -= 1.0f;
|
||||
|
||||
rects[iNum].uv[0] = x / texw;
|
||||
rects[iNum].uv[1] = y / texh;
|
||||
|
||||
rects[iNum].uv[2] = (x + w) / texw;
|
||||
rects[iNum].uv[3] = (y + h) / texh;
|
||||
|
||||
// rects[iNum].uv[0] += 1.0f / texture->width;
|
||||
// rects[iNum].uv[1] += 1.0f / texture->width;
|
||||
}
|
||||
|
||||
void Draw(Gwen::Renderer::Base* render, Gwen::Rect r, const Gwen::Color& col = Gwen::Colors::White)
|
||||
{
|
||||
render->SetDrawColor(col);
|
||||
|
||||
if (r.w < width && r.h < height)
|
||||
{
|
||||
render->DrawTexturedRect(texture,
|
||||
r,
|
||||
rects[0].uv[0], rects[0].uv[1], rects[8].uv[2], rects[8].uv[3]);
|
||||
return;
|
||||
}
|
||||
|
||||
DrawRect(render, 0, r.x, r.y, margin.left, margin.top);
|
||||
DrawRect(render, 1, r.x + margin.left, r.y, r.w - margin.left - margin.right, margin.top);
|
||||
DrawRect(render, 2, (r.x + r.w) - margin.right, r.y, margin.right, margin.top);
|
||||
|
||||
DrawRect(render, 3, r.x, r.y + margin.top, margin.left, r.h - margin.top - margin.bottom);
|
||||
DrawRect(render, 4, r.x + margin.left, r.y + margin.top, r.w - margin.left - margin.right, r.h - margin.top - margin.bottom);
|
||||
DrawRect(render, 5, (r.x + r.w) - margin.right, r.y + margin.top, margin.right, r.h - margin.top - margin.bottom);
|
||||
|
||||
DrawRect(render, 6, r.x, (r.y + r.h) - margin.bottom, margin.left, margin.bottom);
|
||||
DrawRect(render, 7, r.x + margin.left, (r.y + r.h) - margin.bottom, r.w - margin.left - margin.right, margin.bottom);
|
||||
DrawRect(render, 8, (r.x + r.w) - margin.right, (r.y + r.h) - margin.bottom, margin.right, margin.bottom);
|
||||
}
|
||||
|
||||
void DrawRect(Gwen::Renderer::Base* render, int i, int x, int y, int w, int h)
|
||||
{
|
||||
render->DrawTexturedRect(texture,
|
||||
Gwen::Rect(x, y, w, h),
|
||||
rects[i].uv[0], rects[i].uv[1], rects[i].uv[2], rects[i].uv[3]);
|
||||
}
|
||||
|
||||
Texture* texture;
|
||||
|
||||
struct SubRect
|
||||
{
|
||||
float uv[4];
|
||||
};
|
||||
|
||||
SubRect rects[9];
|
||||
Margin margin;
|
||||
|
||||
float width;
|
||||
float height;
|
||||
};
|
||||
} // namespace Texturing
|
||||
} // namespace Skin
|
||||
} // namespace Gwen
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue