From: <saf...@us...> - 2010-01-09 08:56:34
|
Revision: 12595 http://vegastrike.svn.sourceforge.net/vegastrike/?rev=12595&view=rev Author: safemode Date: 2010-01-09 08:56:27 +0000 (Sat, 09 Jan 2010) Log Message: ----------- More warning fixes Modified Paths: -------------- branches/safemode/src/command.cpp branches/safemode/src/command.h branches/safemode/src/gfxlib_struct.cpp branches/safemode/src/gui/groupcontrol.cpp branches/safemode/src/gui/painttext.cpp branches/safemode/src/gui/painttext.h branches/safemode/src/gui/picker.cpp branches/safemode/src/gui/picker.h branches/safemode/src/gui/staticdisplay.cpp branches/safemode/src/in_joystick.h branches/safemode/src/in_main.cpp branches/safemode/src/in_main.h branches/safemode/src/rendertext.cpp branches/safemode/src/rendertext.h Modified: branches/safemode/src/command.cpp =================================================================== --- branches/safemode/src/command.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/command.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -7,11 +7,13 @@ #include "main_loop.h" #include "vs_random.h" #include "python/python_class.h" +#include <vector> +#include <string> #ifdef HAVE_SDL # include <SDL/SDL.h> #endif - +using namespace std; // Introduction Comments {{{ // The {{{ and }}} symbols are VIM Fold Markers. // They FOLD up the page so a user only needs to see a general outline of the entire huge file @@ -332,26 +334,26 @@ procs(const procs &in) { procs *blah = const_cast<procs *>(&in); proc = blah->proc; - for(std::vector<coms>::iterator iter = blah->rc.begin(); iter < blah->rc.end(); iter++) rc.push_back((*(iter))); + for(vector<coms>::iterator iter = blah->rc.begin(); iter < blah->rc.end(); iter++) rc.push_back((*(iter))); } ~procs() { while(rc.size() > 0) rc.pop_back(); } commandI *proc; - std::vector<coms> rc; + vector<coms> rc; }; HoldCommands() { if(rcCMD != 0x0) { - std::cout << "Error, there shouldn't be 2 holdCommands objects!\n"; + cout << "Error, there shouldn't be 2 holdCommands objects!\n"; } rcCMD = this; finishmeoff = false; } - std::vector<procs> cmds; //for multiple command processors. + vector<procs> cmds; //for multiple command processors. void addCMD(coms &commandin, commandI *proc2use) { bool found = false; - for(std::vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++) { + for(vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++) { if((*(iter)).proc == proc2use) { found = true; (*(iter)).rc.insert((*(iter)).rc.begin(), commandin); @@ -364,7 +366,7 @@ } } void popProc(commandI *proc2use) { - for(std::vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++ ) + for(vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++ ) { if(proc2use == (*(iter)).proc) { cmds.erase(iter); @@ -373,7 +375,7 @@ if(cmds.size() == 0) finishmeoff = true; } procs *getProc(commandI *in) { - for(std::vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++) { + for(vector<procs>::iterator iter = cmds.begin(); iter < cmds.end(); iter++) { if(in == (*(iter)).proc) return (&(*(iter))); } return NULL; @@ -391,7 +393,7 @@ // {{{ command interpretor constructor commandI::commandI() { - std::cout << "Command Interpretor Created\n\r"; + cout << "Command Interpretor Created\n\r"; // {{{ add some base commands Functor<commandI> *dprompt = new Functor<commandI>(this, &commandI::prompt); @@ -459,8 +461,8 @@ // }}} // {{{ UNFINISHED HELP COMMAND -void commandI::help(std::string &helponthis) { - std::string buf; +void commandI::help(string &helponthis) { + string buf; buf.append("Sorry, there is no help system yet\n\r "); buf.append("But most commands are self supporting, just type them to see what they do.\n\r"); // conoutf(this, &buf); @@ -469,16 +471,16 @@ // }}} // {{{ send prompt ONLY when 0 charactors are sent with a newline void commandI::prompt() { - std::string l; + string l; l.append("Wooooooooooo\n"); conoutf(l); // std::cout << "Prompt called :)\n"; }; // }}} // {{{ dummy function -void commandI::dummy(std::vector<std::string *> *d) { +void commandI::dummy(vector<string *> *d) { // {{{ - std::string outs; + string outs; int rand = vsrandom.genrand_int32(); if(rand % 2 == 0) { outs.append("Wtf?\n\r"); @@ -492,22 +494,22 @@ #include <iomanip> void commandI::pcommands() { int x = 0; - std::ostringstream cmd; + ostringstream cmd; cmd << "\n\rCommands available:\n\r"; - std::vector<coms>::iterator iter; + vector<coms>::iterator iter; HoldCommands::procs *commands = rcCMD->getProc(this); for(iter = commands->rc.begin(); iter < commands->rc.end(); iter++) { if(!(*(iter)).functor->attribs.hidden && !(*(iter)).functor->attribs.webbcmd) { if((*(iter)).functor->attribs.immcmd == true) { if(immortal) { - if(x != 5) cmd << std::setiosflags(std::ios::left) <<std::setw(19); + if(x != 5) cmd << setiosflags(ios::left) <<setw(19); cmd << (*(iter)).Name.c_str() ; x++; } //we don't want to add the command if we arn't immortal } else { - if(x != 5) cmd << std::setiosflags(std::ios::left) <<std::setw(10); + if(x != 5) cmd << setiosflags(ios::left) <<setw(10); cmd <<(*(iter)).Name.c_str(); x++; @@ -522,21 +524,21 @@ if(x != 5) { cmd << "\n\r"; } - std::string cmd2; + string cmd2; cmd2.append(cmd.str()); conoutf(cmd2); } // }}} // {{{ addCommand - Add a command to the interpreter void commandI::addCommand(TFunctor *com, const char *name){ - std::cout << "Adding command: " << name << std::endl; + cout << "Adding command: " << name << endl; coms *newOne = new coms(com); // See the very bottom of this file for comments about possible optimization newOne->Name.append(name); //push the new command back the vector. if(!rcCMDEXISTS && rcCMD == 0x0) { if(rcCMD != 0x0) { - std::cout << "Apparently rcCMD is not 0x0.. \n"; + cout << "Apparently rcCMD is not 0x0.. \n"; } rcCMD = new HoldCommands(); rcCMDEXISTS = true; @@ -549,28 +551,28 @@ void commandI::remCommand(char *name){ HoldCommands::procs *findme = rcCMD->getProc(this); if(findme->rc.size() < 1) return; - for(std::vector<coms>::iterator iter = findme->rc.begin(); iter < findme->rc.end();iter++) { + for(vector<coms>::iterator iter = findme->rc.begin(); iter < findme->rc.end();iter++) { if((*(iter)).Name.compare(name) == 0) { - std::cout << "Removing: " << name << std::endl; + cout << "Removing: " << name << endl; delete (*(iter)).functor; findme->rc.erase(iter); return; } } - std::cout << "Error, command " << name << " not removed, try using the TFunctor *com version instead. Also, this is case sensitive ;)\n"; + cout << "Error, command " << name << " not removed, try using the TFunctor *com version instead. Also, this is case sensitive ;)\n"; } void commandI::remCommand(TFunctor *com) { HoldCommands::procs *findme = rcCMD->getProc(this); if(findme->rc.size() < 1) return; - for(std::vector<coms>::iterator iter = findme->rc.begin(); iter < findme->rc.end();iter++) { + for(vector<coms>::iterator iter = findme->rc.begin(); iter < findme->rc.end();iter++) { if((*(iter)).functor == com) { - std::cout << "Removing: " << (*(iter)).Name << std::endl; + cout << "Removing: " << (*(iter)).Name << endl; delete (*(iter)).functor; findme->rc.erase(iter); return; } } - std::cout << "Error, couldn't find the command that owns the memory area: " << com << std::endl; + cout << "Error, couldn't find the command that owns the memory area: " << com << endl; } // }}} // {{{ Find a command in the command interpretor @@ -578,24 +580,24 @@ HoldCommands::procs *findme = rcCMD->getProc(this); if(findme->rc.size() < 1) throw "Error, commands vector empty, this shouldn't happen!\n"; - std::ostringstream in_s; + ostringstream in_s; if(!comm) ; else in_s << comm;//this is actually a hack //comm shouldn't ever be null if it gets this far. //but for some fucking reason it is sometimes.. - std::string name; + string name; name.append(in_s.str()); size_t x; // remove \n and \r's (4 possible network input) {{{ - for(x = name.find(' '); x != std::string::npos; x = name.find(' ', x+1)) name.erase(name.begin()+x); - for(x = name.find('\n'); x != std::string::npos; x = name.find('\n', x+1)) name.erase(name.begin()+x); - for(x = name.find('\r'); x != std::string::npos; x = name.find('\r', x+1)) name.erase(name.begin()+x); + for(x = name.find(' '); x != string::npos; x = name.find(' ', x+1)) name.erase(name.begin()+x); + for(x = name.find('\n'); x != string::npos; x = name.find('\n', x+1)) name.erase(name.begin()+x); + for(x = name.find('\r'); x != string::npos; x = name.find('\r', x+1)) name.erase(name.begin()+x); // }}} //if the input is less than one return prompt function{{{ if(name.size() < 1) { - std::vector<coms>::iterator iter = findme->rc.begin(); + vector<coms>::iterator iter = findme->rc.begin(); bool breaker = true; while(breaker == true) { if(iter >= findme->rc.end()) {iter--; breaker = false;continue;} @@ -608,18 +610,18 @@ //transform name (the word in) to lowercase {{{ bool golower = true; if(golower) - std::transform(name.begin(), name.end(), name.begin(),static_cast < int(*)(int) > (tolower)); + transform(name.begin(), name.end(), name.begin(),static_cast < int(*)(int) > (tolower)); // }}} // Start testing command names against the command entered {{{ coms *fuzzymatch = NULL; - std::vector<coms>::iterator iter; + vector<coms>::iterator iter; for(iter = findme->rc.begin();iter < findme->rc.end(); iter++) { //set the test variable to the iterator of something in the command vector coms &testCom = ((*(iter))); //clear the temporary buffer used for holding the name of this command - std::string temp; + string temp; //define a string to possibly print something to the user - std::string printer; + string printer; //if the length of the commands name is larger than what was entered {{{ if(testCom.Name.length() >= name.length() ) { //append the size of the command entered of the test commands name @@ -628,7 +630,7 @@ //transform the partial name to lowercase bool golower = true; if(golower) - std::transform(temp.begin(), temp.end(), temp.begin(),static_cast < int(*)(int) > (tolower)); + transform(temp.begin(), temp.end(), temp.begin(),static_cast < int(*)(int) > (tolower)); //compare them if(temp.compare(name) == 0 && name.size() > 0) { //they match {{{ @@ -664,11 +666,11 @@ //try fuzzy match } else if(testCom.Name.length() < name.length() && testCom.Name.length() >= name.length()-1 ) { temp.append(testCom.Name); - std::string commandentered2; + string commandentered2; commandentered2.append(name, 0, testCom.Name.size()); //transform them to lowercase - std::transform(temp.begin(), temp.end(), temp.begin(),static_cast <int(*)(int) > (tolower)); - std::transform(commandentered2.begin(), commandentered2.end(), commandentered2.begin(),static_cast <int(*)(int) > (tolower)); + transform(temp.begin(), temp.end(), temp.begin(),static_cast <int(*)(int) > (tolower)); + transform(commandentered2.begin(), commandentered2.end(), commandentered2.begin(),static_cast <int(*)(int) > (tolower)); if(temp.compare(commandentered2) == 0) { //they match {{{ //If it is an immortal command @@ -711,45 +713,45 @@ //then tries to execute the member function. //If one is not found, it will call commandI::dummy() . // {{{ Main execute entrace, all input comes in here, this sends it to the menusystem, then in the return at the very last line executes the fexecute function which actually parses and finds commands, if the menusystem allows. This way the menusystem can manipulate user input, ie insert command names into the input to make it go to any function. -bool commandI::execute(std::string *incommand, bool isDown, int sock_in) +bool commandI::execute(string *incommand, bool isDown, int sock_in) { int socket = sock_in; //use the menusystem ONLY if the sock_in is the same as socket{{{ { if(menumode && sock_in == socket) { - std::string l; - std::string y; + string l; + string y; size_t x = incommand->find(" "); - if(x < std::string::npos) { + if(x < string::npos) { l.append(incommand->substr(0, x)); } else { l.append(incommand->c_str()); } - std::string t; + string t; t.append((*(incommand))); - if(x < std::string::npos) + if(x < string::npos) y.append(incommand->substr(x, incommand->size()-1)); else y.append(incommand->c_str()); if(l.compare("\r\n") == 0) ; else { size_t lv = l.find("\r"); - while(lv < std::string::npos) { + while(lv < string::npos) { l.replace(lv, 1, ""); lv = l.find("\r"); } lv = l.find("\n"); - while(lv < std::string::npos) { + while(lv < string::npos) { l.replace(lv, 1, ""); lv = l.find("\n"); } lv = y.find("\r"); - while(lv < std::string::npos) { + while(lv < string::npos) { y.replace(lv, 1, ""); lv = y.find("\r"); } lv = y.find("\n"); - while(lv < std::string::npos) { + while(lv < string::npos) { y.replace(lv, 1, ""); lv = y.find("\n"); } @@ -758,7 +760,7 @@ char *name_out = NULL; if(l.size() > 0) name_out = (char *)l.c_str(); if(callMenu(name_out, (char *)y.c_str(), t) ) return false; - *incommand=std::string(); + *incommand=string(); incommand->append(t); //t may have changed if we got this far } @@ -772,7 +774,7 @@ //it's broken up so the menusystem can call fexecute themself at the right //time //Main Execute Function {{{ -bool commandI::fexecute(std::string *incommand, bool isDown, int sock_in) { +bool commandI::fexecute(string *incommand, bool isDown, int sock_in) { size_t ls, y; bool breaker = false; // ************ @@ -784,10 +786,10 @@ incommand->replace(ls, 1, ""); } } - for(y = incommand->find("\r\n"); y != std::string::npos; y = incommand->find("\r\n", y+1)) { + for(y = incommand->find("\r\n"); y != string::npos; y = incommand->find("\r\n", y+1)) { incommand->replace(y, 2, ""); } - for(y = incommand->find(" "); y != std::string::npos; y = incommand->find(" ", y+1)) { + for(y = incommand->find(" "); y != string::npos; y = incommand->find(" ", y+1)) { incommand->replace(y, 1, ""); } @@ -818,7 +820,7 @@ // } } else if(console) printit = true; if(printit) { - std::string webout; + string webout; webout.append(incommand->c_str()); webout.append("\n\r"); conoutf(webout); @@ -827,12 +829,12 @@ // }}} //replace \r\n with a space {{{ - for(y = incommand->find("\r\n"); y != std::string::npos; y = incommand->find("\r\n", y+1)) { + for(y = incommand->find("\r\n"); y != string::npos; y = incommand->find("\r\n", y+1)) { incommand->replace(y, 2, " "); } // }}} // remove multiple spaces {{{ - for(y = incommand->find(" "); y != std::string::npos; y = incommand->find(" ", y+1)) { + for(y = incommand->find(" "); y != string::npos; y = incommand->find(" ", y+1)) { incommand->replace(y, 1, ""); } // }}} @@ -855,20 +857,20 @@ breaker = false; //reset our exit bool //done with formatting - //now make what our std::vector<std::string> {{{ - std::vector<std::string> strvec; //to replace newincommand + //now make what our vector<string> {{{ + vector<string> strvec; //to replace newincommand // to reduce data replication by one; { - std::string::const_iterator scroller = incommand->begin(); + string::const_iterator scroller = incommand->begin(); size_t last = 0, next = 0; bool quote = false; bool escape = false; next=incommand->find(" "); - for(next = incommand->find("\"\"", 0); (next=incommand->find("\"\"",last),(last!=std::string::npos)); last=(next!=std::string::npos)?next+1:std::string::npos) { - if(next < std::string::npos) + for(next = incommand->find("\"\"", 0); (next=incommand->find("\"\"",last),(last!=string::npos)); last=(next!=string::npos)?next+1:string::npos) { + if(next < string::npos) incommand->replace(next, 2, "\" \""); //replace "" with " " } - std::string starter(""); + string starter(""); strvec.push_back(starter); for(scroller = incommand->begin(); scroller < incommand->end(); scroller++) { @@ -899,7 +901,7 @@ // }}} { // if the last argument is a space, erase it. {{{ - std::vector<std::string>::iterator iter = strvec.end(); + vector<string>::iterator iter = strvec.end(); iter--; if((*(iter)).compare(" ") == 0) { strvec.erase(iter); @@ -915,7 +917,7 @@ //methods of accessing it.) if(theCommand.Name.compare("dummy") != 0) { size_t x = incommand->find_first_of(strvec[0]); - if(x != std::string::npos) { + if(x != string::npos) { strvec[0].erase();strvec[0].append( theCommand.Name); } @@ -930,33 +932,33 @@ theCommand.functor->Call(strvec, sock_in, &isDown); //try to catch any errors that occured while executing } catch(const char *in) { - std::string l; + string l; l.append(in); conoutf(l); //print the error to the console - }catch (std::exception e) { - std::string l; + }catch (exception e) { + string l; l.append("Command processor: Exception occured: "); l.append(e.what()); l.append("\n\r"); - std::cout << l; + cout << l; conoutf(l); } catch (...) { - std::string y; + string y; y.append("Command processor: exception occurered: Unknown, most likely cause: Wrong Arg_type arguement sent with addCommand.\n\r"); - std::cout << y; + cout << y; conoutf(y); } // }}} } catch(const char *in) { //catch findCommand error - std::cout << in; + cout << in; } return true; } // }}} -std::string commandI::display(std::string &in) { +string commandI::display(string &in) { //If the menusystem has a value to display, eg: // Editing User // 1) Change Username - Current Name: XXX @@ -965,7 +967,7 @@ // then display does: // if(in.compare(uname) == 0) return current_mob_editing.Name; // The value to pass to display is set when creating a menuitem - std::string f; + string f; f.append("FAKE"); return f; }; @@ -1004,18 +1006,18 @@ }; // }}} // {{{ display menu function -std::string commandI::displaymenu() { +string commandI::displaymenu() { if(menumode) { - std::ostringstream ps; + ostringstream ps; ps << menu_in->Display << "\n"; - for(std::vector<mItem *>::iterator iter = menu_in->items.begin(); + for(vector<mItem *>::iterator iter = menu_in->items.begin(); iter < menu_in->items.end(); iter++) { ps << (*(iter))->Name << " " << (*(iter))->display; if((*(iter))->predisplay.size() > 0) ps << " " << display((*(iter))->predisplay); ps << "\n"; } - std::string buf; + string buf; buf.append(ps.str()); if(menu_in->autoselect == true) { if(menu_in->selected == true) { @@ -1038,7 +1040,7 @@ return buf; // conoutf(buf); } - std::string buf; + string buf; buf.append("Error, not in menumode!"); return buf; }; @@ -1052,7 +1054,7 @@ else menu2use = menu_in; //if the command isn't found it will return dummy or prompt. - for(std::vector<menu *>::iterator iter = menus.begin(); iter < menus.end(); iter++) { + for(vector<menu *>::iterator iter = menus.begin(); iter < menus.end(); iter++) { if(menu2use == (*(iter))) { menu2use->items.push_back(mi); //doh! :) return true; @@ -1062,9 +1064,9 @@ }; // }}} //call a menu with arguements {{{ -bool commandI::callMenu(char *name_in, char *args_in, std::string &d) { +bool commandI::callMenu(char *name_in, char *args_in, string &d) { //if there is a menu operation return true; - std::string name; + string name; if(name_in != NULL) name.append(name_in); // bool freturnfalse = false; //force return false @@ -1077,7 +1079,7 @@ if(!menu_in->noescape) { if(name.compare(menu_in->escape) == 0) { if(menustack.size() > 0 ) { - std::vector<menu *>::iterator iter = menustack.end(); + vector<menu *>::iterator iter = menustack.end(); iter--; menu_in = (*(iter)); menustack.pop_back(); @@ -1097,11 +1099,11 @@ // Input mode 1 {{{ if(menu_in->iselected->inputbit == true && menu_in->iselected->inputbit2 == false) { menu_in->selected = false; - std::string arg; + string arg; arg.append(menu_in->iselected->action); - std::string funcn; + string funcn; funcn.append(menu_in->iselected->func2call); - std::string dreplace; + string dreplace; dreplace.append(d); d.erase(); d.append(funcn); @@ -1111,8 +1113,8 @@ d.append(dreplace); //setMenus {{{ if(funcn.compare("setMenu") == 0) { - std::string l; - l.append(setMenu((char *)arg.c_str())); + string l; + l.append(setMenu(arg)); conoutf(l); return true; } @@ -1120,14 +1122,14 @@ size_t ylast = 0, xasd = 0; //login function {{{ if(funcn.compare("loginfunc") == 0) { - std::vector<std::string *> d_out; + vector<string *> d_out; d.append(" "); - for(size_t x = d.find("\r\n"); x < std::string::npos; x = d.find("\r\n", x+3)) { + for(size_t x = d.find("\r\n"); x < string::npos; x = d.find("\r\n", x+3)) { d.replace(x, 1, " \r\n"); } for(size_t iter= 0; iter < d.size();iter++) { if(d[iter]==32) { - std::string *xs = new std::string(); + string *xs = new string(); xs->append(d.substr(ylast, xasd-ylast)); ylast = xasd; d_out.push_back(xs); @@ -1135,9 +1137,9 @@ xasd++; } // loginfunc(&d_out); //login function - std::vector<std::string *>::iterator itera = d_out.begin(); + vector<string *>::iterator itera = d_out.begin(); while(d_out.size() > 0 ) { - std::string *s = (*(itera)); + string *s = (*(itera)); delete s; d_out.erase(itera); itera=d_out.begin(); @@ -1148,7 +1150,7 @@ //autoreprint {{{ if(menu_in->iselected->autoreprint == true) { fexecute(&d, true, 0); - std::string x; + string x; x.append(displaymenu()); conoutf(x); return true; @@ -1162,9 +1164,9 @@ //wait until we find an escape seqence alone {{{ if( name.compare(menu_in->escape) == 0 ) { menu_in->selected = false; - std::string arg; + string arg; arg.append(menu_in->iselected->action); - std::string funcn; + string funcn; funcn.append(menu_in->iselected->func2call); d.erase(); d.append(funcn); @@ -1174,7 +1176,7 @@ { size_t l = 0; bool y = false; - for(size_t x = menu_in->iselected->menubuf.find("\r\n"); x < std::string::npos; x = menu_in->iselected->menubuf.find("\r\n", x+1)) { + for(size_t x = menu_in->iselected->menubuf.find("\r\n"); x < string::npos; x = menu_in->iselected->menubuf.find("\r\n", x+1)) { menu_in->iselected->menubuf.replace(x, 2, "<BR>"); l = x; y = true; @@ -1187,21 +1189,21 @@ menu_in->iselected->menubuf.erase(); if(funcn.compare("setMenu") == 0) { - std::string buf; - buf.append(setMenu((char *)arg.c_str())); + string buf; + buf.append(setMenu(arg)); conoutf(buf); return true; } if(funcn.compare("loginfunc") == 0) { - std::vector<std::string *> d_out; + vector<string *> d_out; d.append(" "); - for(size_t x = d.find("\r\n"); x < std::string::npos; x = d.find("\r\n", x+1)) { + for(size_t x = d.find("\r\n"); x < string::npos; x = d.find("\r\n", x+1)) { d.replace(x, 2, "<BR>"); } size_t ylast = 0, xasd = 0; for(size_t iter= 0; iter < d.size();iter++) { if(d[iter]==32) { - std::string *xs = new std::string(); + string *xs = new string(); xs->append(d.substr(ylast, xasd-ylast)); ylast = xasd; d_out.push_back(xs); @@ -1209,9 +1211,9 @@ xasd++; } // loginfunc(&d_out); //login function - std::vector<std::string *>::iterator itera = d_out.begin(); + vector<string *>::iterator itera = d_out.begin(); while(d_out.size() > 0 ) { - std::string *s = (*(itera)); + string *s = (*(itera)); delete s; d_out.erase(itera); itera=d_out.begin(); @@ -1220,7 +1222,7 @@ } if(menu_in->iselected->autoreprint == true) { fexecute(&d, true, 0); - std::string x; + string x; x.append(displaymenu()); conoutf(x); return true; @@ -1241,7 +1243,7 @@ // if we don't have anything selected, select one.. {{{ if(!menu_in->selected) { - for(std::vector<mItem*>::iterator iter = menu_in->items.begin(); + for(vector<mItem*>::iterator iter = menu_in->items.begin(); iter < menu_in->items.end(); iter++) { if((*(iter))->Name.compare(name) == 0) { menu_in->selected = true; @@ -1250,7 +1252,7 @@ // display(menu_in->iselected->predisplay); // } if(menu_in->iselected->inputbit2) { - std::string buf; + string buf; buf.append(menu_in->iselected->selectstring); buf.append("\n\r"); buf.append("Use: "); @@ -1262,7 +1264,7 @@ conoutf(buf); } else if(menu_in->iselected->inputbit) { - std::string buf; + string buf; buf.append(menu_in->iselected->selectstring); buf.append(": "); conoutf(buf); @@ -1273,21 +1275,21 @@ if(!menu_in->iselected->inputbit && !menu_in->iselected->inputbit2) { menu_in->selected = false; - std::string arg; + string arg; arg.append(menu_in->iselected->action); - std::string funcn; + string funcn; funcn.append(menu_in->iselected->func2call); - std::string dreplace; + string dreplace; dreplace.append(d); - d=std::string(); + d=string(); d.append(funcn); d.append(" "); d.append(arg); d.append(" "); d.append(dreplace); if(funcn.compare("setMenu") == 0) { - std::string l; - l.append(setMenu((char *)arg.c_str())); + string l; + l.append(setMenu(arg)); conoutf(l); return true; } @@ -1307,7 +1309,7 @@ } if(menumode && !menu_in->selected) { //we're in a menu but don't have anything selected {{{ - std::string y; + string y; y.append(displaymenu()); conoutf(y); return true; @@ -1318,11 +1320,11 @@ // }}} // set a menu {{{ -std::string commandI::setMenu(char *name_in) { - std::string name; +string commandI::setMenu(string name_in) { + string name; name.append(name_in); if(name[0] == 32) name.replace(0, 1, ""); - for(std::vector<menu *>::iterator iter = menus.begin(); + for(vector<menu *>::iterator iter = menus.begin(); iter < menus.end(); iter++ ){ if((*(iter))->Name.compare(name) == 0) { if(!menumode) { @@ -1362,8 +1364,8 @@ } //run a python string -void RegisterPythonWithCommandInterpreter::runPy(std::string &argsin) { - std::string pyRunString; +void RegisterPythonWithCommandInterpreter::runPy(string &argsin) { + string pyRunString; pyRunString.append(argsin); //append the arguments in to the string to run size_t x = pyRunString.find("python "); //strip out the name of the command //and the first space @@ -1373,7 +1375,7 @@ //now replace <BR> with \r\n { size_t x = pyRunString.find("<BR>"); - while(x != std::string::npos) { + while(x != string::npos) { pyRunString.replace(x, 4, "\r\n"); x = pyRunString.find("<BR>"); } @@ -1405,7 +1407,7 @@ return; }; if(code==WSK_RETURN && isDown) { - std::string commandBuf = CommandInterpretor->getcurcommand(); + string commandBuf = CommandInterpretor->getcurcommand(); commandBuf.append("\r\n"); CommandInterpretor->execute(&commandBuf, isDown, 0); //execute console on enter //don't return so the return get's processed by @@ -1423,7 +1425,7 @@ // one to read a keymap file and one to re-map a single key // (and the keymap file would have to be read at startup) // struct keym { int code; char * name; char * action; }; or so - std::vector<KeyMapObject>::iterator iter = keyMapVector.begin(); + vector<KeyMapObject>::iterator iter = keyMapVector.begin(); while(iter < keyMapVector.end()) { keym *tester = &(*(iter)); if(tester->code == code){ Modified: branches/safemode/src/command.h =================================================================== --- branches/safemode/src/command.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/command.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -50,7 +50,7 @@ class menu { public: menu() { selected = false; noescape = false; autoselect = false; defaultInput = false;}; - menu(char *n_in, char *d_in, char *e_in) { + menu(std::string n_in, char *d_in, char *e_in) { selected = false; noescape = false; autoselect = false; @@ -127,7 +127,7 @@ //the args added at addMenu are appended when the //menuitem is called bool callMenu(char *name, char *args, std::string &s2manip); - std::string setMenu(char *name); //force a menu set. + std::string setMenu(std::string name); //force a menu set. std::string displaymenu(); //utility to display the current menu void breakmenu(); //utility to force a break from all menus virtual std::string display(std::string &s); // build parts Modified: branches/safemode/src/gfxlib_struct.cpp =================================================================== --- branches/safemode/src/gfxlib_struct.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gfxlib_struct.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -299,6 +299,8 @@ } } break; + default: + break; } GFXCallList(display_list); @@ -394,6 +396,8 @@ } } break; + default: + break; } if (gloffsets.size() == 1) @@ -424,6 +428,8 @@ } } break; + default: + break; } glDrawArrays(PolyLookup(mode[i]), totoffset, offsets[i]); Modified: branches/safemode/src/gui/groupcontrol.cpp =================================================================== --- branches/safemode/src/gui/groupcontrol.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/groupcontrol.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -211,7 +211,7 @@ GroupControl::~GroupControl() { - for(int i=0; i < m_controls.size(); i++) { + for(vector<Control*>::size_type i=0; i < m_controls.size(); ++i) { EventManager::addToDeleteQueue(m_controls[i]); } } Modified: branches/safemode/src/gui/painttext.cpp =================================================================== --- branches/safemode/src/gui/painttext.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/painttext.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -26,7 +26,7 @@ #include "vs_globals.h" #include "config_xml.h" #include "gldrv/gl_globals.h" -const int PaintText::END_LINE = 1000000; // Draw to the end. +const size_t PaintText::END_LINE = 1000000; // Draw to the end. extern bool useStroke(); // This function allows a number of formatting characters. Here are the rules: // -- The formatting char is "#". @@ -78,7 +78,7 @@ // The ellipsis at the end of a line is represented as a special text fragment. We mark // the fragment with this constant as the start position. -static const int ELLIPSIS_FRAGMENT = -10; +static const string::size_type ELLIPSIS_FRAGMENT = 64; // @ static const string ELLIPSIS_STRING = "..."; // This object compares vertical distances to see whether lines fit in rectangles. @@ -170,7 +170,7 @@ int result = 0; float currentHeight = vertInterval; - for(int i=lineNumber; i<m_lines.size(); i++) { + for(vector<TextLine>::size_type i=lineNumber; i<m_lines.size(); ++i) { const float lineHeight = m_lines[i].height; if(currentHeight - lineHeight*LINE_HEIGHT_EPSILON < 0.0) { // Did all the lines. @@ -223,7 +223,7 @@ } // Draw specified lines of text. -void PaintText::drawLines(int start, int count) const { +void PaintText::drawLines(size_t start, size_t count) const { // Make sure we hav a display list. calcLayoutIfNeeded(); // Make sure we have something to do. @@ -245,10 +245,10 @@ float lineTop = m_rect.top(); // Figure ending line index. - const int end = guiMin(start + count, m_lines.size()); + const size_t end = guiMin(start + count, m_lines.size()); // Loop through the display list lines. - for(int i=start; i<end; i++) { + for(size_t i=start; i<end; i++) { const TextLine& line = m_lines[i]; // Make sure we can paint this line in the vertical space we have left. if(lineTop - line.height*LINE_HEIGHT_EPSILON < m_rect.origin.y) { @@ -297,16 +297,16 @@ // Examples: #b2.35#, #b#. #b is not allowed. static void parseFormatFloat( const std::string& str, // String. - const int startPos, // First character to examine. - const int endPos, // One past last char to consider. + const string::size_type startPos, // First character to examine. + const string::size_type endPos, // One past last char to consider. bool* formatSuccess, // OUT: True = It worked. float* resultValue, // OUT: Parsed value. If no value, not changed. - int* resultPos, // OUT: One past last format char. + string::size_type* resultPos, // OUT: One past last format char. const char optionalTerminator = '\0' // Another terminator besides DT_FORMAT_CHAR ) { *formatSuccess = false; std::string num; - int curPos; + string::size_type curPos; for(curPos=startPos; curPos<endPos; curPos++) { const char c = str[curPos]; if(c == DT_FORMAT_CHAR || c == optionalTerminator) { @@ -337,16 +337,16 @@ // This will not accept exponential format, just num-plus-decimal. // Examples: #c1:.5:0.3:1.0#, #c.5:.5:.5# static void parseFormatColor( - const std::string& str, // String. - const int startPos, // First character to examine. - const int endPos, // One past last char to consider. + const string& str, // String. + const string::size_type startPos, // First character to examine. + const string::size_type endPos, // One past last char to consider. bool* formatSuccess, // OUT: True = It worked. GFXColor& color, // OUT: Parsed value. - int* resultPos // OUT: One past last format char. + string::size_type* resultPos // OUT: One past last format char. ) { *formatSuccess = false; - int curPos = startPos; + string::size_type curPos = startPos; parseFormatFloat(str, curPos, endPos, formatSuccess, &color.r, &curPos, DT_FORMAT_COLOR_SEP); if(!formatSuccess || str[curPos-1] == DT_FORMAT_CHAR) return; parseFormatFloat(str, curPos, endPos, formatSuccess, &color.g, &curPos, DT_FORMAT_COLOR_SEP); @@ -367,18 +367,18 @@ // Parse a format string in a PaintText string. // The first character should be the one *after* the initial format char. void PaintText::parseFormat( - int startPos, // Location of beginning of string to examine. - int* resultPos, // OUT: Ptr to string past the format string. + string::size_type startPos, // Location of beginning of string to examine. + string::size_type* resultPos, // OUT: Ptr to string past the format string. bool* endLine // OUT: True = Done with current line. ) { - const int endPos = m_text.size(); + const string::size_type endPos = m_text.size(); // Default return value. *endLine = false; bool formatSuccess = false; - int curPos = startPos; + string::size_type curPos = startPos; if(curPos < endPos) { // Make sure we have some chars to process. switch(m_text[curPos]) { case DT_FORMAT_NEWLINE_CHAR: @@ -461,11 +461,11 @@ // Formatting commands should have been filtered out already. void PaintText::addFragment( TextLine& line, // Line descriptor. - const int endPos, // One past last char to consider. - int& startPos, // IN/OUT: location of string. + const string::size_type endPos, // One past last char to consider. + string::size_type& startPos, // IN/OUT: location of string. double& width // IN/OUT: Reference width of string. ) { - int curPos = startPos; + string::size_type curPos = startPos; const Font& font = m_layout.fontStack.back(); @@ -501,13 +501,13 @@ // Parse one line of text, create fragments, end line when overflow width. void PaintText::parseFragmentsWithCharBreak( TextLine& line, // Line descriptor. - int startPos, // Location of beginning of string to examine. - int endPos, // Location of one past the last character to examine. + string::size_type startPos, // Location of beginning of string to examine. + string::size_type endPos, // Location of one past the last character to examine. float maxWidth, // Can't go beyond this width. bool ellipsis, // True = if line doesn't fit, append ellipsis. - int* resultPos // OUT: Ptr to string past the format string. + string::size_type* resultPos // OUT: Ptr to string past the format string. ) { - int curPos = startPos; // Beginning of current part of the string we are working on. + string::size_type curPos = startPos; // Beginning of current part of the string we are working on. double curWidth = maxWidth; // The width left to work with. bool forceEndLine = false; // True = end-of-line through format. False = char width. @@ -538,7 +538,7 @@ } if(m_text[curPos] == DT_FORMAT_CHAR) { // Double format char. Equals one format char. - const int oldPos = curPos; + const string::size_type oldPos = curPos; addFragment(line, curPos+1, curPos, curWidth); if(curPos == oldPos) { // No room in the line for the one char. Leave it for next line. @@ -569,7 +569,7 @@ while(line.fragments.size() > 0) { TextFragment& frag = line.fragments.back(); // Remove enough space in the last fragment to be able to append the ellipsis. - int i; + string::size_type i; for(i=frag.end; i>=frag.start; i--) { curWidth -= frag.font.charWidth(m_text[i]); if(curWidth+ellipsisWidth <= maxWidth) { @@ -601,7 +601,7 @@ // Now, get rid of any word break chars at the tail end of our fragment list. while(line.fragments.size() > 0) { TextFragment& frag = line.fragments.back(); - int i; + string::size_type i; for(i=frag.end; i>=frag.start; i--) { if(!isWordBreak(m_text[i])) { break; @@ -628,25 +628,25 @@ // Parse one line of text, create fragments, end line on word break when width overflows. void PaintText::parseFragmentsWithWordBreak( TextLine& line, // Line descriptor. - int startPos, // Location of beginning of string to examine. + string::size_type startPos, // Location of beginning of string to examine. float maxWidth, // Can't go beyond this width. - int* resultPos // OUT: Ptr to string past the format string. + string::size_type* resultPos // OUT: Ptr to string past the format string. ) { - int curPos = startPos; // Beginning of current part of the string we are working on. + string::size_type curPos = startPos; // Beginning of current part of the string we are working on. double curWidth = maxWidth; // The width left to work with. - const int endPos = m_text.size();// One past the end of the string. + const string::size_type endPos = m_text.size();// One past the end of the string. bool forceEndLine = false; // True = end-of-line through format. False = char width. LayoutState origLayout = m_layout;// The original layout state before we start the line. - int wordBreakPos = endPos; // Previous word break location in text. + string::size_type wordBreakPos = endPos; // Previous word break location in text. // In this loop we just measure the width. We find the end of the current line in m_text, // then call parseFragmentsWithCharBreak once we know how far to go. while(curPos < endPos) { // Is there a format char left in this string? const string::size_type formatPos = m_text.find(DT_FORMAT_CHAR, curPos); - int endFragPos = formatPos; + string::size_type endFragPos = formatPos; if(formatPos == std::string::npos || formatPos >= endPos) { // No format char. endFragPos = endPos; @@ -707,7 +707,7 @@ // where we never find a word break. That ends up calling parseFragmentsWithCharBreak with // the end of the string as the limit, so the word is broken on a char boundary, which is // exactly what we want. - int endLinePos = wordBreakPos + 1; + string::size_type endLinePos = wordBreakPos + 1; // Include all extra word break characters. while(endLinePos+1 < endPos && isWordBreak(m_text[endLinePos])) { endLinePos++; @@ -771,7 +771,7 @@ currentLine->baseLine = (currentLine->height-m_font.size())/2.0 + m_verticalScaling*REFERENCE_FONT_ASCENDER; - int ignorePos = 0; + string::size_type ignorePos = 0; bool ellipsis = (m_widthExceeded == ELLIPSIS); parseFragmentsWithCharBreak(*currentLine, 0, m_text.size(), maxLineWidth, ellipsis, &ignorePos); @@ -791,7 +791,7 @@ currentLine->baseLine = currentLine->height - m_verticalScaling*REFERENCE_BASELINE_POS; // Get the first line of chars, including the length. - int endNextLinePos = 0; + string::size_type endNextLinePos = 0; m_layout.currentLineSpacing = BOGUS_LINE_SPACING; // Line spacing for this line only. Bogus value. parseFragmentsWithWordBreak(*currentLine, nextLinePos, maxLineWidth, &endNextLinePos); Modified: branches/safemode/src/gui/painttext.h =================================================================== --- branches/safemode/src/gui/painttext.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/painttext.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -118,8 +118,8 @@ virtual int layoutVersion(void) const; // Draw the text. - static const int END_LINE; - virtual void drawLines(int start, int count = END_LINE) const; + static const size_t END_LINE; + virtual void drawLines(size_t start, size_t count = END_LINE) const; void draw(void) const { drawLines(0); }; @@ -149,8 +149,8 @@ // Description of a "fragment" of text to be displayed. // This is a section of text with the same attributes. struct TextFragment { - int start; // Index (in m_text) of first character in the fragment. - int end; // Index of last character in fragment (NOT one past last char). + size_t start; // Index (in m_text) of first character in the fragment. + size_t end; // Index of last character in fragment (NOT one past last char). Font font; // Font. GFXColor color; // Text color. }; @@ -185,35 +185,35 @@ // Formatting commands should have been filtered out already. void addFragment( TextLine& line, // Line descriptor. - const int endPos, // One past last char to consider. - int& startPos, // IN/OUT: location of string. + const std::string::size_type endPos, // One past last char to consider. + std::string::size_type& startPos, // IN/OUT: location of string. double& width // IN/OUT: Reference width of string. ); // Parse a format string in a PaintText string. // The first character should be the one *after* the initial format char. void parseFormat( - int startPos, // Location of beginning of string to examine. - int* resultPos, // OUT: Ptr to string past the format string. + std::string::size_type startPos, // Location of beginning of string to examine. + std::string::size_type* resultPos, // OUT: Ptr to string past the format string. bool* endLine // OUT: True = Done with current line. ); // Parse one line of text, create fragments, end line when overflow width. void parseFragmentsWithCharBreak( TextLine& line, // Line descriptor. - int startPos, // Location of beginning of string to examine. - int endPos, // Location of one past the last character to examine. + std::string::size_type startPos, // Location of beginning of string to examine. + std::string::size_type endPos, // Location of one past the last character to examine. float maxWidth, // Can't go beyond this width. bool ellipsis, // True = if line doesn't fit, append ellipsis. - int* resultPos // OUT: Ptr to string past the format string. + std::string::size_type* resultPos // OUT: Ptr to string past the format string. ); // Parse one line of text, create fragments, end line on word break when width overflows. void parseFragmentsWithWordBreak( TextLine& line, // Line descriptor. - int startPos, // Location of beginning of string to examine. + std::string::size_type startPos, // Location of beginning of string to examine. float maxWidth, // Can't go beyond this width. - int* resultPos // OUT: Ptr to string past the format string. + std::string::size_type* resultPos // OUT: Ptr to string past the format string. ); // VARIABLES Modified: branches/safemode/src/gui/picker.cpp =================================================================== --- branches/safemode/src/gui/picker.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/picker.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -136,7 +136,7 @@ rect.origin.y += m_rect.size.height - cellHeight; rect.size.height = cellHeight; - for(int i=m_scrollPosition; i<m_displayCells.size() && rect.origin.y > m_rect.origin.y; i++) { + for(vector<DisplayCell>::size_type i=m_scrollPosition; i<m_displayCells.size() && rect.origin.y > m_rect.origin.y; i++) { DisplayCell& display = m_displayCells[i]; const PickerCell* cell = display.cell; // Get the next cell. @@ -205,7 +205,7 @@ // Find the cell for a mouse point. PickerCell* Picker::cellForMouse(const Point& point) { if(m_rect.inside(point)) { - const int index = float_to_int((m_rect.top() - point.y) / totalCellHeight() + m_scrollPosition); + const vector<DisplayCell>::size_type index = float_to_int((m_rect.top() - point.y) / totalCellHeight() + m_scrollPosition); if(index < m_displayCells.size()) { // It's within the cells we are displaying. return m_displayCells[index].cell; @@ -313,7 +313,7 @@ recalcDisplay(); } - for(int i=0; i<m_displayCells.size(); i++) { + for(vector<DisplayCell>::size_type i=0; i<m_displayCells.size(); i++) { if(cell == m_displayCells[i].cell) { const int visibleCells = float_to_int(m_rect.size.height / totalCellHeight()); if(middle) { Modified: branches/safemode/src/gui/picker.h =================================================================== --- branches/safemode/src/gui/picker.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/picker.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -206,14 +206,17 @@ GFXColor m_highlightColor; // Highlighted cell background color. GFXColor m_highlightTextColor; // Highlighted cell text color. float m_extraCellHeight; // Extra height to be added to each cell. 1.0 for whole cell height. + Size m_textMargins; // Inset area where no text appears. PickerCell* m_cellPressed; // Item that mouse-down came on. + const PickerCell* m_highlightedCell;// Cell that mouse is currently over. PickerCell* m_selectedCell; // Cell that is currently selected. - const PickerCell* m_highlightedCell;// Cell that mouse is currently over. + Scroller* m_scroller; + size_t m_scrollPosition; // Index of first display cell shown. bool m_needRecalcDisplay; // True = Need to recalculate the displayed cells. - Size m_textMargins; // Inset area where no text appears. std::vector<DisplayCell> m_displayCells; // Array of cells currently displayed. - int m_scrollPosition; // Index of first display cell shown. - Scroller* m_scroller; + + + }; #endif // __PICKER_H__ Modified: branches/safemode/src/gui/staticdisplay.cpp =================================================================== --- branches/safemode/src/gui/staticdisplay.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/gui/staticdisplay.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -111,9 +111,9 @@ // CONSTRUCTION StaticDisplay::StaticDisplay(void) : -m_scroller(NULL), +m_textMargins(Size(0.0,0.0)), m_scrollPosition(0), m_layoutVersion(m_paintText.layoutVersion()), -m_textMargins(Size(0.0,0.0)) +m_scroller(NULL) { } Modified: branches/safemode/src/in_joystick.h =================================================================== --- branches/safemode/src/in_joystick.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/in_joystick.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -77,7 +77,7 @@ #endif int nr_of_axes,nr_of_buttons,nr_of_hats; int hat_margin; - int player; + size_t player; #define MAX_AXES 32 bool axis_inverse[MAX_AXES]; int axis_axis[MAX_AXES]; Modified: branches/safemode/src/in_main.cpp =================================================================== --- branches/safemode/src/in_main.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/in_main.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -59,7 +59,7 @@ listeners.remove(il); } -void ProcessInput(int whichplayer) { +void ProcessInput(size_t whichplayer) { ProcessKB(whichplayer); ProcessMouse(); for (int i=0;i<MAX_JOYSTICKS;i++) { Modified: branches/safemode/src/in_main.h =================================================================== --- branches/safemode/src/in_main.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/in_main.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -26,7 +26,7 @@ void InitInput(); void DeInitInput(); -void ProcessInput(int whichplayer); +void ProcessInput(size_t whichplayer); int TermInput(); void AddListener(InputListener *il); void ActivateListener(InputListener *il); Modified: branches/safemode/src/rendertext.cpp =================================================================== --- branches/safemode/src/rendertext.cpp 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/rendertext.cpp 2010-01-09 08:56:27 UTC (rev 12595) @@ -11,6 +11,9 @@ #include "gfx/hud.h" #include "gldrv/winsys.h" #include <sstream> +#include <string> +#include <vector> +using namespace std; // **************** // Console Rendering System by Rogue // 2005-08-a-few-days @@ -78,14 +81,14 @@ { int nd = 0; - std::vector<std::string> refs; + vector<string> refs; bool breaker = false; // int i = 0; // int lastmillis = 0; // int length = 0; -// for(std::vector<cline>::iterator iter = conlines.begin(); +// for(vector<cline>::iterator iter = conlines.begin(); // iter < conlines.end(); iter++) length++; - {for(std::vector<cline>::iterator iter = conlines.begin(); iter < conlines.end(); iter++) { + {for(vector<cline>::iterator iter = conlines.begin(); iter < conlines.end(); iter++) { if(nd < ndraw) refs.push_back((*(iter)).cref); else iter = conlines.end(); @@ -94,10 +97,10 @@ size_t j = 0; float x = -1; float y = -0.5; - std::string workIt; + string workIt; workIt.append("\n"); bool breakout = true; - std::vector<std::string>::iterator iter = refs.end(); + vector<string>::iterator iter = refs.end(); if(iter == refs.begin()) breakout = false; for(; breakout;) { iter--; @@ -106,15 +109,15 @@ workIt.append("\n"); }; y = 1; - std::ostringstream drawCommand; - std::string shorter; + ostringstream drawCommand; + string shorter; shorter.append(getcurcommand() ); while (shorter.size() > 80) { shorter.erase(shorter.begin()); } //erase the front of the current command while it's larger than 80 // charactors, as to not draw off the screen drawCommand << workIt << "#FF1100> " << "#FF1100" << shorter << "#00000"; - std::string Acdraw; //passing .str() straight to draw_text produces an + string Acdraw; //passing .str() straight to draw_text produces an //error with gcc 4, because it's constant I believe Acdraw.append(drawCommand.str()); draw_text(Acdraw, x, y, 2); @@ -122,12 +125,12 @@ }; // }}} //append a line to the console, optional "highlight" method , untested {{{ -void RText::conline(std::string &sf, bool highlight) // add a line to the console buffer +void RText::conline(string &sf, bool highlight) // add a line to the console buffer { { size_t search =0; size_t lastsearch = 0; - for(; (search = sf.find("/r"))!=std::string::npos ; ) { + for(; (search = sf.find("/r"))!=string::npos ; ) { sf.replace(lastsearch, search-lastsearch, ""); lastsearch = search; } @@ -151,19 +154,19 @@ // }}} // print a line to the console, broken at \n's {{{ void RText::conoutf(char *in) { - std::string foobar(in); + string foobar(in); conoutf(foobar); return; } -void RText::conoutf(std::string &s, int a, int b, int c) +void RText::conoutf(string &s, int a, int b, int c) { #ifdef HAVE_SDL // NOTE: first call must be single-threaded! SDL_mutex * mymutex = _rtextSDLMutex(); SDL_LockMutex(mymutex); #endif - std::cout << s << std::endl; + cout << s << endl; // Old {{{ // { // for(int x = WORDWRAP; x < s.size(); x = x+WORDWRAP) { @@ -172,10 +175,10 @@ // } // size_t x = s.find("\n"); -// if(x < std::string::npos) { +// if(x < string::npos) { // size_t xlast = 0; -// for(; x < std::string::npos; x = s.find("\n", x+1)) { -// std::string newone; +// for(; x < string::npos; x = s.find("\n", x+1)) { +// string newone; // newone.append(s.substr(xlast, x-xlast)); // conline(newone, 1); // xlast = x+1; @@ -185,9 +188,9 @@ // conline(s, 1); // } // }}} - unsigned int fries = s.size(); - std::string customer; - for(unsigned int burger = 0; burger < fries; burger++) { + string::size_type fries = s.size(); + string customer; + for(string::size_type burger = 0; burger < fries; burger++) { if(s[burger] == '\n' || burger == fries-1) { if(burger == fries-1) if(s[fries-1] != '\n' && s[fries-1] != '\r') @@ -196,17 +199,17 @@ customer.erase(); } else if( customer.size() >= WORDWRAP) { customer += s[burger]; - std::string fliptheburger; + string fliptheburger; while( customer[customer.size()-1] != ' ') { fliptheburger += customer[customer.size()-1]; - std::string::iterator oldfloormeat = customer.end(); + string::iterator oldfloormeat = customer.end(); oldfloormeat--; customer.erase(oldfloormeat); } conline(customer, 1); customer.erase(); { - std::string spatchula; + string spatchula; for(int salt = fliptheburger.size()-1; salt >= 0; salt--) { spatchula += fliptheburger[salt]; } @@ -224,19 +227,19 @@ }; // }}} //same as above, but I think it works better {{{ -void RText::conoutn(std::string &s, int a, int b, int c) { +void RText::conoutn(string &s, int a, int b, int c) { size_t x = s.find("\n"); size_t xlast = 0; - if(x >= std::string::npos) { + if(x >= string::npos) { conoutf(s); } - std::string::iterator iter = s.end(); + string::iterator iter = s.end(); if(iter != s.begin() ) { iter--; if(strcmp(&(*(iter)),"\n") != 0) { s.append("\n"); }; } - while(x < std::string::npos) { - std::string part; + while(x < string::npos) { + string part; part.append(s.substr(xlast, x-xlast)); xlast = x+1; x = s.find("\n", x+1); @@ -246,7 +249,7 @@ // }}} // saycommand(char *), should "say" something, will be useful only with network enabled {{{ //does nothing now -void RText::saycommand(char *init)/// +void RText::saycommand(const char *init)/// { //actually, it appends "init" to commandbuf //Unused. // SDL_EnableUNICODE((init!=NULL)); @@ -264,7 +267,7 @@ //pop teh back of commandbuf case WSK_BACKSPACE: { - std::string::iterator iter = commandbuf.begin(); + string::iterator iter = commandbuf.begin(); if(iter < commandbuf.end()) { iter = commandbuf.end(); iter--; @@ -282,7 +285,7 @@ if(commandbuf[0]) { - std::vector<std::string>::iterator iter = vhistory.end(); + vector<string>::iterator iter = vhistory.end(); bool noSize = false; if(iter <=vhistory.begin() && iter >= vhistory.end()) noSize = true; if(!noSize) { @@ -320,7 +323,7 @@ }; // }}} // get the current command buffer, to execute at enter {{{ -std::string RText::getcurcommand() +string RText::getcurcommand() { return commandbuf; }; Modified: branches/safemode/src/rendertext.h =================================================================== --- branches/safemode/src/rendertext.h 2010-01-09 01:28:50 UTC (rev 12594) +++ branches/safemode/src/rendertext.h 2010-01-09 08:56:27 UTC (rev 12595) @@ -1,4 +1,8 @@ +#include <string> +#include <vector> +#include <sstream> + class RText { private: //text rendering @@ -31,7 +35,7 @@ void conoutf(char *); virtual void conoutf(std::string &s, int a = 0, int b = 0, int c = 0); //add a line to the console(Use this one.) - void saycommand(char *init); //actually does the appending of + void saycommand(const char *init); //actually does the appending of //the string to the commandbuf, and seperates entries void ConsoleKeyboardI(int code, bool isdown); //interpret keyboard input to the console |