From: <hel...@us...> - 2006-08-21 12:43:32
|
Revision: 10478 Author: hellcatv Date: 2006-08-21 05:43:27 -0700 (Mon, 21 Aug 2006) ViewCVS: http://svn.sourceforge.net/vegastrike/?rev=10478&view=rev Log Message: ----------- polished chatting, disallowed docking Modified Paths: -------------- trunk/vegastrike/src/gfx/cockpit.cpp trunk/vegastrike/src/gfx/cockpit.h trunk/vegastrike/src/gfx/vdu.cpp trunk/vegastrike/src/main_loop.cpp trunk/vegastrike/src/networking/netserver.cpp Modified: trunk/vegastrike/src/gfx/cockpit.cpp =================================================================== --- trunk/vegastrike/src/gfx/cockpit.cpp 2006-08-21 11:03:55 UTC (rev 10477) +++ trunk/vegastrike/src/gfx/cockpit.cpp 2006-08-21 12:43:27 UTC (rev 10478) @@ -1375,6 +1375,7 @@ GFXColor4f (1,1,1,1); } void GameCockpit::Init (const char * file) { + editingTextMessage=false; armor8=false; shield8=false; Cockpit::Init( file); Modified: trunk/vegastrike/src/gfx/cockpit.h =================================================================== --- trunk/vegastrike/src/gfx/cockpit.h 2006-08-21 11:03:55 UTC (rev 10477) +++ trunk/vegastrike/src/gfx/cockpit.h 2006-08-21 12:43:27 UTC (rev 10478) @@ -127,6 +127,7 @@ void DrawArrowToTarget(Unit *, Vector LocalCoordinates); public: std::string textMessage; + bool editingTextMessage; void ReceivedTargetInfo(); static void NavScreen (const KBData&,KBSTATE k); // scheherazade static string getsoundending(int which=0); Modified: trunk/vegastrike/src/gfx/vdu.cpp =================================================================== --- trunk/vegastrike/src/gfx/vdu.cpp 2006-08-21 11:03:55 UTC (rev 10477) +++ trunk/vegastrike/src/gfx/vdu.cpp 2006-08-21 12:43:27 UTC (rev 10478) @@ -802,7 +802,13 @@ } } static std::string newline("\n"); - if (rows_used>=row_lim&&parentcp->textMessage.length()>0) { + std::string textMessage=parentcp->textMessage; + if (parentcp->editingTextMessage&&floor(nowtime/2)!=floor(nowtime)/2.0) { + textMessage+="]"; + } + + + if (rows_used>=row_lim&&parentcp->editingTextMessage) { size_t where=fullstr.find(newline); if (where!=string::npos) { if (where>1.6*cols) { @@ -811,8 +817,8 @@ fullstr=fullstr.substr(where+1); } } - if (parentcp->textMessage.length()>0) { - fullstr+=parentcp->textMessage; + if (parentcp->editingTextMessage) { + fullstr+=textMessage; fullstr+=newline; } static string message_prefix = XMLSupport::escaped_string(vs_config->getVariable("graphics","hud","message_prefix","")); Modified: trunk/vegastrike/src/main_loop.cpp =================================================================== --- trunk/vegastrike/src/main_loop.cpp 2006-08-21 11:03:55 UTC (rev 10477) +++ trunk/vegastrike/src/main_loop.cpp 2006-08-21 12:43:27 UTC (rev 10478) @@ -181,24 +181,28 @@ namespace CockpitKeys { unsigned int textmessager=0; - unsigned int firstkey=0xffffffff; + static bool waszero=false; void TextMessageCallback(unsigned int ch, unsigned int mod, bool release, int x, int y){ - if (firstkey==0xffffffff) { - if (release) - firstkey=ch; + GameCockpit *gcp=static_cast<GameCockpit*>(_Universe->AccessCockpit(textmessager)); + gcp->editingTextMessage=true; + if (release){ + if (waszero||ch==WSK_KP_ENTER){ + waszero=false; + gcp->editingTextMessage=false; + RestoreKB(); + } + return; } - if (release) return; + unsigned int code=((WSK_MOD_LSHIFT==(mod&WSK_MOD_LSHIFT))||(WSK_MOD_RSHIFT==(mod&WSK_MOD_RSHIFT)))?shiftup(ch):ch; if (textmessager<_Universe->numPlayers()) { - GameCockpit *gcp=static_cast<GameCockpit*>(_Universe->AccessCockpit(textmessager)); if (ch==WSK_BACKSPACE||ch==WSK_DELETE) { gcp->textMessage= gcp->textMessage.substr(0,gcp->textMessage.length()-1); - } else if (code!=0&&code<127) { - if (code=='\n'||ch==WSK_RETURN||ch==WSK_KP_ENTER||ch==firstkey) { - RestoreKB(); + } else if (ch==WSK_RETURN||ch==WSK_KP_ENTER) { + if (gcp->textMessage.length()!=0) { std::string name=gcp->savegame->GetCallsign(); if (Network!=NULL) { - + Unit*par=gcp->GetParent(); if (0&&par) { name=getUnitNameAndFgNoBase(par); @@ -206,20 +210,21 @@ Network[textmessager].textMessage(name+"> "+gcp->textMessage); } /* - static std::string anglestring=" >"; - //unit util checks for null, it's ok - UniverseUtil::IOmessage(0,"game","all",name+"> "+gcp->textMessage); + static std::string anglestring=" >"; + //unit util checks for null, it's ok + UniverseUtil::IOmessage(0,"game","all",name+"> "+gcp->textMessage); *///server seems to send it again - gcp->textMessage=""; - firstkey=0xffffffff; - }else { - char newstr[2]={(char)code,0}; - gcp->textMessage+=newstr; - - } + waszero=false; + }else waszero=true; + gcp->textMessage=""; + }else if (code!=0&&code<=127) { + char newstr[2]={(char)code,0}; + gcp->textMessage+=newstr; + } }else { RestoreKB(); + gcp->editingTextMessage=false; } } void TextMessageKey(const KBData&,KBSTATE newState) { Modified: trunk/vegastrike/src/networking/netserver.cpp =================================================================== --- trunk/vegastrike/src/networking/netserver.cpp 2006-08-21 11:03:55 UTC (rev 10477) +++ trunk/vegastrike/src/networking/netserver.cpp 2006-08-21 12:43:27 UTC (rev 10478) @@ -693,8 +693,8 @@ packet.getData(), packet.getDataLength(), SENDRELIABLE, __FILE__, PSEUDO__LINE__(1293)); // Send to concerned clients - zonemgr->broadcast( un==NULL?_Universe->activeStarSystem()->GetZone():un->getStarSystem()->GetZone(), packet_serial, &p2, true); + cerr << "Received text message "<<netbuf.getString()<<endl; } break; @@ -834,6 +834,9 @@ server_hash = new unsigned char[FileUtil::Hash.DigestSize()]; client_hash = netbuf.getBuffer( FileUtil::Hash.DigestSize()); #endif + cerr << "ATTEMPTING TO JUMP, BUT JUMP UNIMPLEMENTED"<<endl; + break; + bool found = false; NetBuffer netbuf2; @@ -1002,6 +1005,9 @@ ObjSerial utdwserial = netbuf.getShort(); unsigned short zonenum = un->getStarSystem()->GetZone(); cerr<<"RECEIVED a DockRequest from unit "<<un->GetSerial()<<" to unit "<<utdwserial<<" in zone "<<zonenum<<endl; + //NETFIXME unimplemented + cerr <<"DOCKING AS OF YET UNIMPLEMENTED "<<endl; + break; docking_unit = zonemgr->getUnit( utdwserial, zonenum); if( docking_unit) { @@ -1022,6 +1028,9 @@ ObjSerial utdwserial = netbuf.getShort(); unsigned short zonenum = un->getStarSystem()->GetZone(); cerr<<"RECEIVED an UnDockRequest from unit "<<un->GetSerial()<<" to unit "<<utdwserial<<" in zone "<<zonenum<<endl; + //NETFIXME unimplemented + cerr <<"DOCKING AS OF YET UNIMPLEMENTED "<<endl; + break; docking_unit = zonemgr->getUnit( utdwserial, zonenum); if( docking_unit) { |