原生绘制字符(满意一般)
This commit is contained in:
@@ -67,19 +67,57 @@ int squirrel::SQdofile(uint32_t v, const wchar_t* filename, BOOL retval, BOOL pr
|
||||
}
|
||||
|
||||
//Test
|
||||
extern std::vector<DrawCodestruct>DrawCodeT1_STL;
|
||||
extern std::vector<DrawCodestruct>DrawCodeT2_STL;
|
||||
using uchar = unsigned char;
|
||||
char* strconv(char* str)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
for (size_t i = 0; i < len; i++)
|
||||
{
|
||||
if (str[i] == -1)
|
||||
{
|
||||
strcpy(str + i, str + i + 1);
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
int squirrel::sq_Test(uint32_t v)
|
||||
{
|
||||
int a;
|
||||
wchar_t* a;
|
||||
|
||||
SQGetInt(v, 2, &a);
|
||||
SQGetString(v, 2, &a);
|
||||
|
||||
size_t len = 0;
|
||||
char* wbuffer = (char*)(a);
|
||||
while (true)
|
||||
{
|
||||
if (wbuffer[len] == 0 && wbuffer[len + 1] == 0)break;
|
||||
++len;
|
||||
}
|
||||
char* cbuffer = new char[len/2 + 1];
|
||||
int k = 0;
|
||||
for (size_t i = 0; i < len; i++)
|
||||
{
|
||||
if (i % 2 == 0)
|
||||
{
|
||||
cbuffer[k] = wbuffer[i];
|
||||
++k;
|
||||
}
|
||||
}
|
||||
cbuffer[len / 2] = '\0';
|
||||
wchar_t* str = DNFTOOL::char2wchar(cbuffer);
|
||||
delete cbuffer;
|
||||
DrawCodestruct Buffer;
|
||||
Buffer.str = str;
|
||||
Buffer.Xpos = 300;
|
||||
Buffer.Ypos = 200;
|
||||
Buffer.Color = 0xffffffff;
|
||||
|
||||
DrawCodeT2_STL.push_back(Buffer);
|
||||
|
||||
//GMNotice((char*)u"我的天");
|
||||
//WindowsNotice((char*)u"我的天");
|
||||
//SQPopTop(v);
|
||||
//SQPushInt(v, 1);
|
||||
//char* str = (char*)"test";
|
||||
|
||||
std::cout << a << std::endl;
|
||||
//std::cout << (int)str << std::endl;
|
||||
//std::cout << str << std::endl;
|
||||
return 0;
|
||||
}
|
||||
//读人物 或 装备属性
|
||||
@@ -1273,6 +1311,7 @@ int squirrel::Coder_STL(uint32_t v)
|
||||
int Color;
|
||||
int Type;
|
||||
int ParameterNum = SQGetTop(v);
|
||||
|
||||
if (ParameterNum == 6)
|
||||
{
|
||||
//获取字符串内容
|
||||
@@ -1286,8 +1325,10 @@ int squirrel::Coder_STL(uint32_t v)
|
||||
//获取类型
|
||||
SQGetInt(v, 6, &Type);
|
||||
|
||||
//松鼠 Wchar_t 转换为 Unicode
|
||||
wchar_t* str = DNFTOOL::SquirrelW2W(Str);
|
||||
|
||||
DrawCodestruct Buffer;
|
||||
char* str = DNFTOOL::wchar_tTochar(Str);
|
||||
Buffer.str = str;
|
||||
Buffer.Xpos = XPos;
|
||||
Buffer.Ypos = YPos;
|
||||
@@ -1311,6 +1352,7 @@ int squirrel::Coder_STL(uint32_t v)
|
||||
{
|
||||
SQPushBool(v, false);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user