diff --git a/game/server/application/SwgGameServer/codegen/README b/game/server/application/SwgGameServer/codegen/README deleted file mode 100644 index 89c0f796..00000000 --- a/game/server/application/SwgGameServer/codegen/README +++ /dev/null @@ -1,32 +0,0 @@ -Using maketable.pl - -This PERL script can generate some of the more boring sections of the database code. To run it, -feed in the header files for the object declarations like so: - -./maketable.pl ../src/shared/object/*.h - -It outputs several files. The text of these files should be pasted into sections of the server -code. These sections are set off with comments like this: - -//----------------------------------------------------------------------------- -// From savepackage.auto -// BEGIN AUTO_GENERATED CODE ############################# - - .... - -// END AUTO_GENERATED CODE ############################# - -The utility putauto.pl will paste in any autogenerated files. Run it like this: - -./putauto.pl - -The script putall will run putauto.pl on all the necessary files, except for create.ddl - -These are the output files: -sql.auto (sql for creating tables, goes into create.ddl) -Schema.h.auto (goes into Schema.h) -ObjectQueries.cpp.auto (etc.) -ObjectQueries.h.auto -MakeDBPackage.cpp.auto -DatabasePackage.h.auto -DatabasePackage.cpp.auto diff --git a/game/server/application/SwgGameServer/codegen/bindmap.def b/game/server/application/SwgGameServer/codegen/bindmap.def deleted file mode 100644 index 28fc2211..00000000 --- a/game/server/application/SwgGameServer/codegen/bindmap.def +++ /dev/null @@ -1,3 +0,0 @@ -integer BindableLong -float BindableDouble -char(1) BindableBool diff --git a/game/server/application/SwgGameServer/codegen/maketable.pl b/game/server/application/SwgGameServer/codegen/maketable.pl deleted file mode 100755 index a4021b14..00000000 --- a/game/server/application/SwgGameServer/codegen/maketable.pl +++ /dev/null @@ -1,372 +0,0 @@ -#!/usr/bin/perl - -# This auto-gens some of the more boring code for dealing with -# database objects. The generated code needs to be cut-and -# pasted into the appropriate files. The idea is to save -# typing and reduce errors, not to fully automate the system. - -open (TYPEMAP,"typemap.def"); -while ($_=) -{ - chop; - ($c,$db,$cast) = split /\t/; - $typemap{$c}=$db; - if ($cast ne "") - { - $cast{$c}=1; - } -} -close (TYPEMAP); - -open (BINDMAP,"bindmap.def"); -while ($_=) -{ - chop; - ($db,$bindable) = split /\t/; - $bindablemap{$db}=$bindable; -} -close (BINDMAP); - -while (<>) -{ - if(/\/\/.*BPM/) - { - &parseBPM(); - } -} - -open (SQL,">sql.auto"); -open (SCHEMA,">Schema.h.auto"); -open (QUERY,">ObjectQueries.cpp.auto"); -open (QUERYH,">ObjectQueries.h.auto"); -open (MAKEPACKAGE,">MakeDBPackage.cpp.auto"); -open (PACKAGEH,">DatabasePackage.h.auto"); -open (SAVEPACKAGE,">DatabasePackage.cpp.auto"); - -# Print out the tables -foreach $tablename (sort keys %columns) -{ - # build a list of columns, including those from inherited classes - $col=""; - for ($dep=$depend{$tablename}; $dep ne ""; $dep=$depend{$dep}) - { - $col=$col.$columns{$dep}; - } - - $col=$col.$columns{$tablename}; - - ######################################################## - # print out the table creation script - ######################################################## - - print SQL "create table ".&dbIzeName($tablename)."s\n(\n"; - @tabledef = (); - push (@tabledef, "\tobject_id integer"); - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} eq "") - { -# push (@tabledef, "--\t".$name." ".$type) - } - else - { - push (@tabledef, "\t".&dbIzeName($name)." ".$typemap{$type}); - } - } - - print SQL join (",\n",@tabledef); - print SQL "\n);\n\n"; - - ######################################################## - # print out the row object - ######################################################## - - print SCHEMA "struct ".$tablename."Row : public DB::Row\n{\n"; - print SCHEMA "\tDB::BindableLong object_id;\n"; - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} ne "") - { - print SCHEMA "\tDB::".$bindablemap{$typemap{$type}}." ".&dbIzeName($name).";\n"; - } - } - print SCHEMA "};\n\n"; - - ######################################################## - #print out the query class declaration - ######################################################## - - print QUERYH "class ".$tablename."Query : public DB::ModeQuery\n{\n"; - print QUERYH "\t".$tablename."Query(const ".$tablename."Query&); // disable\n"; - print QUERYH "\t".$tablename."Query& operator=(const ".$tablename."Query&); // disable\n"; - print QUERYH "public:\n"; - print QUERYH "\t".$tablename."Query() {}\n\n"; - print QUERYH "\tbool bind();\n"; - print QUERYH "\tchar *getSQL();\n"; - print QUERYH "};\n\n"; - - ######################################################## - #print out the bind function - ######################################################## - - $count=1; - $bind="bool ".$tablename."Query::bind()\n{\n"; - $bind=$bind."\t".$tablename."Row *myData=dynamic_cast<".$tablename."Row*>(data);\n"; - $bind=$bind."\tswitch (mode)\n\t{\n"; - - $bindObjId="\t\t\tif (!myData->object_id.bindParameter(1,this)) return false;\n"; - - $updSection="\t\tcase mode_UPDATE:\n\t\tcase mode_INSERT:\n"; - $selSection="\t\tcase mode_SELECT:\n".$bindObjId."\n"; - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} ne "") - { - $updSection=$updSection."\t\t\tif (!myData->".&dbIzeName($name).".bindParameter(".$count.",this)) return false;\n"; - $selSection=$selSection."\t\t\tif (!myData->".&dbIzeName($name).".bindCol(".$count.",this)) return false;\n"; - $count++; - } - } - $updSection=$updSection."\n\t\t\tif (!myData->object_id.bindParameter($count,this)) return false;\n"; - - - $bind=$bind.$updSection."\t\t\tbreak;\n\n".$selSection."\t\t\tbreak;\n\n"; - $bind=$bind."\t\tcase mode_DELETE:\n".$bindObjId."\t\t\tbreak;\n\n"; - $bind=$bind."\t\tdefault:\n\t\t\tDEBUG_FATAL(true,(\"Bad query mode.\"));\n"; - $bind=$bind."\t}\n\treturn true;\n}\n\n"; - print QUERY $bind; #fix object_id -- should be last for update,insert - - - ######################################################## - # Print out the SQL - ######################################################## - - @columnNames=(); - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} ne "") - { - push @columnNames,&dbIzeName($name); - } - } - - print QUERY "char *".$tablename."Query::getSQL()\n{\n\tswitch(mode)\n\t{\n"; - print QUERY "\t\tcase mode_UPDATE:\n"; - print QUERY "\t\t\treturn (\"update ".&dbIzeName($tablename)."s set "; - print QUERY join("=?, ",@columnNames)."=? where object_id=?\");\n"; - - print QUERY "\t\tcase mode_INSERT:\n"; - print QUERY "\t\t\treturn (\"insert into ".&dbIzeName($tablename)."s ("; - print QUERY join(", ",@columnNames).", object_id) values ("; - foreach $temp (@columnNames) { print QUERY "?, ";} - print QUERY "?)\");\n"; - - print QUERY "\t\tcase mode_DELETE:\n"; - print QUERY "\t\t\treturn (\"delete from ".&dbIzeName($tablename)."s where object_id=?\");\n"; - - print QUERY "\t\tcase mode_SELECT:\n"; - print QUERY "\t\t\treturn (\"select "; - print QUERY join(", ",@columnNames); - print QUERY " from ".&dbIzeName($tablename)."s where object_id=?\");\n"; - - print QUERY "\t\tdefault:\n"; - print QUERY "\t\t\tDEBUG_FATAL(true,(\"Bad query mode.\"));\n"; - - print QUERY "\t}\n\treturn 0; // this is unreachable but here to avoid compiler warning\n}\n\n"; - - ######################################################## - # Print out the Package declaration - ######################################################## - - print PACKAGEH "class ".$tablename."Package : public ServerObjectPackage\n{\n"; - print PACKAGEH "public:\n"; - print PACKAGEH "\t".$tablename."Package() {}\n\n"; - - print PACKAGEH "\tvirtual void finishLoad(Snapshot *snap, DB::Session *ses);\n"; - print PACKAGEH "\tvirtual void save(Snapshot *snap, DB::Session *ses);\n"; - - print PACKAGEH "private:\n"; - print PACKAGEH "\t".$tablename."Package(const ".$tablename."Package&); //disable\n"; - print PACKAGEH "\t".$tablename."Package& operator=(const ".$tablename."Package&); // disable\n\n"; - print PACKAGEH "\tDBSchema::".$tablename."Row data;\n\n"; - - print PACKAGEH "\tfriend class ::".$tablename.";\n};\n\n"; - - ######################################################## - # Print out the CreatePacakge functions - ######################################################## - - print MAKEPACKAGE "DBPackage::ServerObjectPackage* ".$tablename."::MakeDBPackage(void) const\n{\n"; - print MAKEPACKAGE "\tDBPackage::".$tablename."Package *buffer=new DBPackage::".$tablename."Package;\n"; - print MAKEPACKAGE "\tbuffer->status=databaseStatus;\n"; - print MAKEPACKAGE "\tMakeDBPackage(buffer);\n"; - print MAKEPACKAGE "\treturn buffer;\n}\n\n"; - - print MAKEPACKAGE "void ".$tablename."::MakeDBPackage(DBPackage::ServerObjectPackage *buffer) const\n{\n"; - print MAKEPACKAGE "\tDBPackage::".$tablename."Package *myBuffer=dynamic_cast(buffer);\n"; - print MAKEPACKAGE "\tNOT_NULL(myBuffer);\n\n"; - print MAKEPACKAGE "\tmyBuffer->data.object_id=getNetworkId();\n"; - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} ne "") - { - print MAKEPACKAGE "\tmyBuffer->data.".&dbIzeName($name)."=".&getterName($name)."();\n"; - } - } - print MAKEPACKAGE "\n\tNetworkObject::MakeDBPackage(buffer);\n}\n\n"; - - ######################################################## - # Print out the LoadFromPackage functions - ######################################################## - - #constructor -- going away -# if ($depend{$tablename} eq "") -# { -# print MAKEPACKAGE $tablename."::".$tablename."(DBPackage::ServerObjectPackage *buffer) : NetworkObject(buffer)\n"; -# } -# else -# { -# print MAKEPACKAGE $tablename."::".$tablename."(DBPackage::ServerObjectPackage *buffer) : ".$depend{$tablename}."(buffer)\n"; -# } - -# print MAKEPACKAGE "{\n"; -# print MAKEPACKAGE "\tDBPackage::".$tablename."Package *myPackage=dynamic_cast(buffer);\n"; -# print MAKEPACKAGE "\tDEBUG_FATAL(myPackage==0,(\"Attempt to create a ".$tablename." from something that isn't a ".$tablename."Package\"));\n\n"; - -# foreach $colrec (split /\|/,$col) -# { -# ($name,$type) = split / /,$colrec; -# if ($typemap{$type} ne "") -# { -# if ($cast{$type} ne "") -# { -# print MAKEPACKAGE "\t".&setterName($name)."(static_cast<".$type.">(myPackage->data.".&dbIzeName($name).".getValue()));\n"; -# } -# else -# { -# print MAKEPACKAGE "\t".&setterName($name)."(myPackage->data.".&dbIzeName($name).".getValue());\n"; -# } -# } -# } -# print MAKEPACKAGE "}\n\n"; - - #loadFromDBPackage -- keep - print MAKEPACKAGE "void ".$tablename."::loadFromDBPackage(DBPackage::ServerObjectPackage *buffer)\n"; - print MAKEPACKAGE "{\n"; - print MAKEPACKAGE "\tDBPackage::".$tablename."Package *myPackage=dynamic_cast(buffer);\n"; - print MAKEPACKAGE "\tDEBUG_FATAL(myPackage==0,(\"Attempt to create object %i, a ".$tablename." from something that isn't a ".$tablename."Package. May indicate that the object's type_id doesn't match its template.\",buffer->getObjectId()));\n\n"; - print MAKEPACKAGE "\tNetworkObject::loadFromDBPackage(buffer);\n\n"; - foreach $colrec (split /\|/,$col) - { - ($name,$type) = split / /,$colrec; - if ($typemap{$type} ne "") - { - if ($cast{$type} ne "") - { - print MAKEPACKAGE "\t".&setterName($name)."(static_cast<".$type.">(myPackage->data.".&dbIzeName($name).".getValue()));\n"; - } - else - { - print MAKEPACKAGE "\t".&setterName($name)."(myPackage->data.".&dbIzeName($name).".getValue());\n"; - } - } - } - print MAKEPACKAGE "}\n\n"; - - ######################################################## - # Print out the save & load package functions - ######################################################## - - print SAVEPACKAGE "void DBPackage::".$tablename."Package::finishLoad(Snapshot *snap, DB::Session *ses)\n"; - print SAVEPACKAGE "{\n"; - print SAVEPACKAGE "\tUNREF(ses);\n"; - print SAVEPACKAGE "\tUNREF(snap);\n\n"; - - print SAVEPACKAGE "\tDBQuery::".$tablename."Query q;\n"; - print SAVEPACKAGE "\tq.selectMode();\n"; - print SAVEPACKAGE "\tdata.object_id=baseData.object_id;\n"; - print SAVEPACKAGE "\tq.setData(&data);\n\n"; - - print SAVEPACKAGE "\tses->exec(&q);\n"; - print SAVEPACKAGE "\tif (!q.fetch())\n"; - print SAVEPACKAGE "\t{\n"; - print SAVEPACKAGE "\t\tFATAL (true,(\"Unable to retrive additional data needed by object %i\",baseData.object_id.getValue()));\n"; - print SAVEPACKAGE "\t}\n\n"; - - print SAVEPACKAGE "\tq.done();\n"; - print SAVEPACKAGE "}\n\n"; - - print SAVEPACKAGE "void DBPackage::".$tablename."Package::save(Snapshot *snap, DB::Session *ses)\n"; - print SAVEPACKAGE "{\n"; - print SAVEPACKAGE "\tDBQuery::".$tablename."Query q;\n\n"; - - print SAVEPACKAGE "\tswitch(status)\n"; - print SAVEPACKAGE "\t{\n"; - print SAVEPACKAGE "\t\tcase ::NetworkObject::NEW_OBJECT:\n"; - print SAVEPACKAGE "\t\t\tq.insertMode();\n"; - print SAVEPACKAGE "\t\t\tbreak;\n\n"; - - print SAVEPACKAGE "\t\tcase ::NetworkObject::CHANGED:\n"; - print SAVEPACKAGE "\t\t\tq.updateMode();\n"; - print SAVEPACKAGE "\t\t\tbreak;\n\n"; - - print SAVEPACKAGE "\t\tdefault:\n"; - print SAVEPACKAGE "\t\t\tFATAL(true,(\"Unsupported database status.\"));\n"; - print SAVEPACKAGE "\t}\n\n"; - - print SAVEPACKAGE "\tq.setData(&data);\n"; - print SAVEPACKAGE "\tses->exec(&q);\n"; - print SAVEPACKAGE "\tq.done();\n"; - - print SAVEPACKAGE "\tServerObjectPackage::save(snap,ses);\n"; - print SAVEPACKAGE "}\n\n"; - -} - - -sub parseBPM -{ - $_ =~ /BPM\s*(\w*)/; - $tablename=$1; - if ($_ =~ /BPM\s*\w+\s*\:\s*(\w+)/) - { - $depend{$tablename} = $1; - } - $_=<>; - while (!($_ =~ /\/\/.*EPM/)) - { - if ($_ =~ /([^\s]+)\s+([^\s]+)\;/) - { - ($type,$name)=($1,$2); - $columns{$tablename}=$columns{$tablename}.$name." ".$type."|"; - } - $_=<>; - } -} - -sub dbIzeName -{ - my($name)=@_; - $name =~ s/([a-z])([A-Z])/$1_$2/g; - $name =~ tr/[A-Z]/[a-z]/; - return $name; -} - -sub getterName -{ - my($name)=@_; - $name = "get".ucfirst ($name); - return $name; -} - -sub setterName -{ - my($name)=@_; - $name = "set".ucfirst ($name); - return $name; -} diff --git a/game/server/application/SwgGameServer/codegen/putall b/game/server/application/SwgGameServer/codegen/putall deleted file mode 100644 index 9363f9cb..00000000 --- a/game/server/application/SwgGameServer/codegen/putall +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -./maketable.pl ../src/shared/object/*.h - -p4 open ../src/shared/database/Schema.h ../src/shared/database/ObjectQueries.cpp ../src/shared/database/ObjectQueries.h ../src/shared/database/MakeDBPackage.cpp ../src/shared/database/DatabasePackage.h ../src/shared/database/DatabasePackage.cpp ../../database/schema/create.ddl - -./putauto.pl ../src/shared/database/Schema.h ../src/shared/database/ObjectQueries.cpp ../src/shared/database/ObjectQueries.h ../src/shared/database/MakeDBPackage.cpp ../src/shared/database/DatabasePackage.h ../src/shared/database/DatabasePackage.cpp ../../database/schema/create.ddl - -p4 revert -a ../src/shared/database/Schema.h ../src/shared/database/ObjectQueries.cpp ../src/shared/database/ObjectQueries.h ../src/shared/database/MakeDBPackage.cpp ../src/shared/database/DatabasePackage.h ../src/shared/database/DatabasePackage.cpp ../../database/schema/create.ddl diff --git a/game/server/application/SwgGameServer/codegen/putauto.pl b/game/server/application/SwgGameServer/codegen/putauto.pl deleted file mode 100755 index bde1f12d..00000000 --- a/game/server/application/SwgGameServer/codegen/putauto.pl +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/perl - -@files=@ARGV; - -foreach $file (@files) -{ - print "Working on $file\n"; - - open (INFILE,$file); - open (OUTFILE,">".$file.".tmp"); - while () - { - print OUTFILE $_; - if ((/\/\/\s*From\s+([^\s]+)/) || - (/--\s*From\s+([^\s]+)/)) - { - $from=$1; - } - if ((/\/\/ BEGIN AUTO_GENERATED CODE\s*\#/) || - (/-- BEGIN AUTO_GENERATED CODE/)) - { - &insertFile($from); - while (!(/\/\/ END AUTO_GENERATED CODE\s*\#/) && - !(/-- END AUTO_GENERATED CODE/)) - { - $_=; - } - print OUTFILE $_; - } - } - close (OUTFILE); - close(INFILE); - - $rc=system("diff --brief $file.tmp $file"); - if ($rc!=0) - { - system ("cp $file.tmp $file"); - } - system("rm $file.tmp"); -} - -sub insertFile -{ - print OUTFILE "\n"; - - my($filename)=@_; - open (INSFILE,$filename); - while () - { - print OUTFILE $_; - } - close INSFILE; -} - diff --git a/game/server/application/SwgGameServer/codegen/typemap.def b/game/server/application/SwgGameServer/codegen/typemap.def deleted file mode 100644 index 9f11c299..00000000 --- a/game/server/application/SwgGameServer/codegen/typemap.def +++ /dev/null @@ -1,8 +0,0 @@ -int integer -bool char(1) -NetworkId integer -Gender integer cast -ArmorEffectiveness integer -real float cast -StringId integer -InstallationType integer cast