This commit is contained in:
n00b
2024-09-18 20:29:27 -04:00
parent a5aedb1fa7
commit 72715cd17e
8 changed files with 7392 additions and 3625 deletions

View File

@@ -912,14 +912,14 @@ int main(int argc, char * argv[])
{
string line = "";
rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
//rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
string rc_filename = "";// = "tst.bas";
bool clean_after_build = false;
//DEBUG START
rc_filename = "/home/n00b/Projects/tst/test_types.bas";
rc_filename = "/home/n00b/Projects/RCBASIC4/rcbasic_runtime/bin/Release/unittest.bas";
//DEBUG END
if(argc > 1)

View File

@@ -2362,6 +2362,27 @@ bool pre_parse(int start_token = 0, int end_token = -1, int pp_flags, bool eval_
int ut_info = -1;
int ut_index = -1;
getRegInfo(args[n], ut_info, ut_index);
if(n==1 && StringToLower(id[expr_id].name).compare("typearraycopy")==0)
{
int uti_1 = -1;
int utx_1 = -1;
getRegInfo(args[0], uti_1, utx_1);
if(utx_1 < 0 || (uti_1 != ID_TYPE_USER && uti_1 != ID_TYPE_BYREF_USER) || (ut_info != ID_TYPE_USER && ut_info != ID_TYPE_BYREF_USER) )
{
rc_setError("Invalid identifier for ByRef argument");
return false;
}
//cout << id[expr_id].name << " ARGS = " << ut_index << ", " << utx_1 << endl;
if(ut_index != utx_1)
{
rc_setError("Expected \"" + utype[utx_1].name + "\" identifier for ByRef argument");
return false;
}
}
if(ut_index != id[expr_id].fn_arg_utype[n] && (!byref_type_generic(utype[id[expr_id].fn_arg_utype[n]].name)))
{
rc_setError("Expected \"" + utype[id[expr_id].fn_arg_utype[n]].name + "\" identifier for ByRef argument");

View File

@@ -1354,6 +1354,7 @@ namespace rc_cbc_assembler
else
{
int p = rc_find_digit(line_arg[i]);
//cout << "line_arg = " << line_arg[i] << endl;
rc_int.i = rc_stringToInt(line_arg[i].substr(p));
if(rc_int.i < 0)
{

3603
rcbasic_build/rcbasic_dev.txt Executable file → Normal file

File diff suppressed because it is too large Load Diff

3923
rcbasic_build/rcbasic_dev2.txt Executable file → Normal file

File diff suppressed because it is too large Load Diff

3415
rcbasic_build/rcbasic_dev3.txt Executable file → Normal file

File diff suppressed because it is too large Load Diff

0
rcbasic_build/rcbasic_dev4.txt Executable file → Normal file
View File

View File

@@ -0,0 +1,50 @@
-=( Map Information )=- -----------------------------------------------
<Title> : Return to Castle: Quake
<Date> : 02/02/02 - ren 11/17/2002
<Filename> : map-20kdm2.pk3
<Author> : Michael "<|3FG20K>" Cook
<Email Address> : bfg20k@nycap.rr.com / bfg20k@planetquake.com
<Website> : http://www.planetquake.com/bfg20k
<Description> : This is an Evil7 Castle! It has three tiers,
tight spaces, and plenty of room for various
battles.
<Additional Credits> : [HFX]Evil, for making great textures.
-=( Construction )=- --------------------------------------------------
<Base> : None.
<Editor(s) Used> : Q3Radiant - Build 202 & Q3Build
<Known Bugs> : This isn't really a bug, but an added feature;
you can walk on top of the battlements.
<Construction Time> : 3 weeks.
<Compile Machine> : 866mhz PIII, 512mb RAM
-=( Play Information )=- ----------------------------------------------
<Mod> : A good one.
<Players> : 2-8 Players
<Bots> : Duh! wait, I THINK they're smarter than Forrest
Gump... You'll have to clarify that for me =).
-={ Installation }=- --------------------------------------------------
<Installation> : Unzip the the zip file map-20kdm2.zip into
your "Quake III Arena\baseq3" directory
Run Quake III Arena, and under console type
"/map 20kdm2" or select under Skirmish in
SIngle Player mode.
-=( Copyright / Permissions )=- ---------------------------------------
<Copyright> : You not include or distribute this map in any
sort of commercial product without permission
from the author. You may not mass distribute
this level via any non-electronic means
including but not limited to compact disks,
and floppy disks without permission from the
author.
-=( This is the End )=- -----------------------------------------------