Skip to content

Commit

Permalink
new syntax rework
Browse files Browse the repository at this point in the history
  • Loading branch information
DEntis-T committed Jun 30, 2024
1 parent 3a7aa9b commit 31ff1b3
Show file tree
Hide file tree
Showing 7 changed files with 353 additions and 9 deletions.
Binary file modified scriptfiles/index.ps
Binary file not shown.
6 changes: 6 additions & 0 deletions src/components/data.inc
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ public dpp_processdata(funcgroup[][],args[][],args_const[][])

dpp_internal<return>(dist);
}
//dpp_data__testfunc
if(!strcmp(funcgroup[1], "testfunc"))
{
dpp_data__testfunc();
dpp_internal<return>(1);
}

else
{
Expand Down
142 changes: 142 additions & 0 deletions src/core/component_impl.inc
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,146 @@ stock dpp_data__strdist(const a[], const b[])
dist = dist + (lena < lenb ? lenb - lena : lena - lenb);

return dist;
}

stock dpp_data__testfunc()
{
if(dpp_lastdeco == dpp_deco_import)
{
dpp_info("dpp_data__testfunc IMPORT | typename : '%s' | to : '%s' | from : '%s'", dpp_typename__,dpp_to__,dpp_from__);
new mul2;
for(new i; i < strlen(dpp_from__); i++)
{
if(dpp_from__[i] == '\"') mul2++, strdel(dpp_from__, i, i+1);
}
if(mul2 == 0)
{
dpp_error("You need to use '\"' to start a string.",);
return 0;
}
if(mul2 != 2)
{
dpp_error("Argument error; [%i] \"%s\"", mul2, dpp_from__);
return 0;
}

new varid = -1;

for(new i; i < dpp_maxvar; i++)
{
if(!strcmp(dpp_vardata[i][var_name], dpp_to__))
{
if(dpp_vardata[i][var_valid] == 1)
{
varid = i;
break;
}
}
}

if(varid == -1)
{
dpp_error("Invalid variable specified ('%s').",dpp_to__);
return 1;
}

if(!strcmp(dpp_typename__, "int")) //if(!strcmp(structgroup[1],"int"))
{
dpp_importint(dpp_from__,varid);
return 1;
}
if(!strcmp(dpp_typename__, "bool")) //if(!strcmp(structgroup[1], "bool"))
{
dpp_importbool(dpp_from__,varid);
return 1;
}
if(!strcmp(dpp_typename__, "str")) //if(!strcmp(structgroup[1], "str"))
{
dpp_importstr(dpp_from__,varid);
return 1;
}
if(!strcmp(dpp_typename__, "double")) //if(!strcmp(structgroup[1], "double"))
{
dpp_importdouble(dpp_from__,varid);
return 1;
}
if(!strcmp(dpp_typename__, "char")) //if(!strcmp(structgroup[1], "char"))
{
dpp_importchar(dpp_from__,varid);
return 1;
}

dpp_error("Invalid data type specified.",);
return 1;
}

if(dpp_lastdeco == dpp_deco_export)
{
dpp_info("dpp_data__testfunc EXPORT | typename : '%s' | to : '%s' | from : '%s'", dpp_typename__,dpp_to__,dpp_from__);
new mul2;
for(new i; i < strlen(dpp_to__); i++)
{
if(dpp_to__[i] == '\"') mul2++, strdel(dpp_to__, i, i+1);
}
if(mul2 == 0)
{
dpp_error("You need to use '\"' to start a string.",);
return 0;
}
if(mul2 != 2)
{
dpp_error("Argument error; [%i] \"%s\"", mul2, dpp_to__);
return 0;
}

new varid = -1;

for(new i; i < dpp_maxvar; i++)
{
if(!strcmp(dpp_vardata[i][var_name], dpp_from__))
{
if(dpp_vardata[i][var_valid] == 1)
{
varid = i;
break;
}
}
}

if(varid == -1)
{
dpp_error("Invalid variable specified ('%s').",dpp_from__);
return 1;
}

if(!strcmp(dpp_typename__, "int"))
{
dpp_exportint(dpp_to__,dpp_vardata[varid][integervalue]);
return 1;
}
if(!strcmp(dpp_typename__, "bool"))
{
dpp_exportbool(dpp_to__,dpp_vardata[varid][boolvalue]);
return 1;
}
if(!strcmp(dpp_typename__, "str"))
{
dpp_exportstr(dpp_to__,dpp_vardata[varid][stringvalue]);
return 1;
}
if(!strcmp(dpp_typename__, "double"))
{
dpp_exportdouble(dpp_to__,dpp_vardata[varid][floatvalue]);
return 1;
}
if(!strcmp(dpp_typename__, "char"))
{
dpp_exportchar(dpp_to__,dpp_vardata[varid][charvalue]);
return 1;
}

dpp_error("Invalid data type specified.",);
return 1;
}
return 1;
}
Loading

0 comments on commit 31ff1b3

Please sign in to comment.