mirror of
https://github.com/raylib-cs/raylib-cs
synced 2025-04-17 15:04:44 -04:00
Small fixes
This commit is contained in:
parent
2326fe035a
commit
1c55c0ae0c
@ -57,7 +57,7 @@ namespace Generator
|
|||||||
public Function(string name, string returnType, params FunctionParam[] parameters)
|
public Function(string name, string returnType, params FunctionParam[] parameters)
|
||||||
{
|
{
|
||||||
var Isreturnpointer = name[0] == '*';
|
var Isreturnpointer = name[0] == '*';
|
||||||
Name = Isreturnpointer ? name.Substring(1) : name;
|
Name = Isreturnpointer ? name.Replace("*","") : name;
|
||||||
ReturnType = new Type(returnType, Isreturnpointer);
|
ReturnType = new Type(returnType, Isreturnpointer);
|
||||||
Params = new List<FunctionParam>(parameters);
|
Params = new List<FunctionParam>(parameters);
|
||||||
|
|
||||||
@ -112,14 +112,14 @@ namespace Generator
|
|||||||
if (FullParam.Split(' ').Length == 2)
|
if (FullParam.Split(' ').Length == 2)
|
||||||
{
|
{
|
||||||
var Isreturnpointer = FullParam.Split(' ')[1][0] == '*';
|
var Isreturnpointer = FullParam.Split(' ')[1][0] == '*';
|
||||||
Name = Isreturnpointer ? FullParam.Split(' ')[1].Substring(1) : FullParam.Split(' ')[1];
|
Name = Isreturnpointer ? FullParam.Replace("*", "").Split(' ')[1] : FullParam.Split(' ')[1];
|
||||||
Type = new Type(FullParam.Split(' ')[0], Isreturnpointer);
|
Type = new Type(FullParam.Replace("*", "").Split(' ')[0], Isreturnpointer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var Isreturnpointer = FullParam.Split(' ')[2][0] == '*';
|
var Isreturnpointer = FullParam.Split(' ')[2][0] == '*';
|
||||||
Name = Isreturnpointer ? FullParam.Split(' ')[2].Substring(1) : FullParam.Split(' ')[2];
|
Name = Isreturnpointer ? FullParam.Replace("*","").Split(' ')[2] : FullParam.Split(' ')[2];
|
||||||
Type = new Type(FullParam.Split(' ')[0] + " " + FullParam.Split(' ')[1], Isreturnpointer);
|
Type = new Type(FullParam.Replace("*", "").Split(' ')[0] + " " + FullParam.Replace("*", "").Split(' ')[1], Isreturnpointer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -599,7 +599,8 @@ namespace Generator
|
|||||||
RaylibClass = RaylibClass.AddMembers(LibraryNameField);
|
RaylibClass = RaylibClass.AddMembers(LibraryNameField);
|
||||||
foreach (var Func in Funcs)
|
foreach (var Func in Funcs)
|
||||||
{
|
{
|
||||||
var Function = MethodDeclaration(ParseTypeName(Func.ReturnType.Name),
|
var typename = Func.ReturnType.IsPointer ? "IntPtr" : Func.ReturnType.Name;
|
||||||
|
var Function = MethodDeclaration(ParseTypeName(typename),
|
||||||
Identifier(Func.Name))
|
Identifier(Func.Name))
|
||||||
.WithAttributeLists(
|
.WithAttributeLists(
|
||||||
SingletonList(
|
SingletonList(
|
||||||
@ -630,14 +631,21 @@ namespace Generator
|
|||||||
Token(SyntaxKind.ExternKeyword)
|
Token(SyntaxKind.ExternKeyword)
|
||||||
})).WithSemicolonToken(Token(SyntaxKind.SemicolonToken));
|
})).WithSemicolonToken(Token(SyntaxKind.SemicolonToken));
|
||||||
|
|
||||||
foreach (var Param in Func.Params)
|
for (int i=0; i < Func.Params.Count;i++)
|
||||||
{
|
{
|
||||||
|
var Param = Func.Params[i];
|
||||||
var TypeName = (Param.Type.IsPointer ? "IntPtr" : Param.Type.Name).Trim();
|
var TypeName = (Param.Type.IsPointer ? "IntPtr" : Param.Type.Name).Trim();
|
||||||
if (TypeName.Contains("unsigned int"))
|
if (TypeName.Contains("unsigned int"))
|
||||||
{
|
{
|
||||||
TypeName = TypeName.Replace("unsigned int", "uint");
|
TypeName = TypeName.Replace("unsigned int", "uint");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (TypeName.Contains("..."))
|
||||||
|
{
|
||||||
|
TypeName = "params object[]";
|
||||||
|
Param.Name = "args";
|
||||||
|
}
|
||||||
|
|
||||||
if (TypeName.Contains("unsigned char"))
|
if (TypeName.Contains("unsigned char"))
|
||||||
{
|
{
|
||||||
TypeName = TypeName.Replace("unsigned char", "byte");
|
TypeName = TypeName.Replace("unsigned char", "byte");
|
||||||
@ -647,13 +655,11 @@ namespace Generator
|
|||||||
{
|
{
|
||||||
TypeName = TypeName.Substring(TypeName.LastIndexOf("struct") + "struct".Length);
|
TypeName = TypeName.Substring(TypeName.LastIndexOf("struct") + "struct".Length);
|
||||||
}
|
}
|
||||||
Function = Function.WithParameterList(
|
Function = Function.AddParameterListParameters(
|
||||||
ParameterList(
|
|
||||||
SingletonSeparatedList(
|
|
||||||
Parameter(
|
Parameter(
|
||||||
Identifier(Param.Name))
|
Identifier(Param.Name))
|
||||||
.WithType(
|
.WithType(
|
||||||
IdentifierName(TypeName)))));
|
IdentifierName(TypeName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
RaylibClass = RaylibClass.AddMembers(Function);
|
RaylibClass = RaylibClass.AddMembers(Function);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user