Changeset b35b2b2 in network-game for client/Client/main.cpp
- Timestamp:
- Jul 29, 2013, 10:32:59 PM (11 years ago)
- Branches:
- master
- Children:
- d05086b
- Parents:
- 297682c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
client/Client/main.cpp
r297682c rb35b2b2 28 28 29 29 #include "../../common/Common.h" 30 #include "../../common/MessageContainer.h" 30 31 #include "../../common/MessageProcessor.h" 31 32 #include "../../common/WorldMap.h" … … 63 64 void quit(); 64 65 void sendChatMessage(); 66 void toggleDebugging(); 67 void drawMessageStatus(ALLEGRO_FONT* font); 65 68 66 69 void error(const char *); … … 82 85 Window* wndRegister; 83 86 Window* wndMain; 87 Window* wndMainDebug; 84 88 Window* wndCurrent; 85 89 … … 103 107 NETWORK_MSG msgTo, msgFrom; 104 108 string username; 105 chat chatConsole; 109 chat chatConsole, debugConsole; 110 bool debugging; 106 111 107 112 MessageProcessor msgProcessor; … … 120 125 int scoreBlue, scoreRed; 121 126 bool fullscreen = false; 127 debugging = false; 122 128 123 129 scoreBlue = 0; … … 183 189 184 190 cout << "Loaded map" << endl; 191 192 debugConsole.addLine("Debug console:"); 193 debugConsole.addLine(""); 185 194 186 195 wndLogin = new Window(0, 0, SCREEN_W, SCREEN_H); … … 193 202 wndLogin->addComponent(new Button(SCREEN_W/2+10, 130, 90, 20, font, "Login", login)); 194 203 wndLogin->addComponent(new Button(920, 10, 80, 20, font, "Quit", quit)); 204 wndLogin->addComponent(new Button(20, 10, 160, 20, font, "Toggle Debugging", toggleDebugging)); 195 205 196 206 txtUsername = (Textbox*)wndLogin->getComponent(0); … … 210 220 wndRegister->addComponent(new Button(SCREEN_W/2+10, 220, 90, 20, font, "Submit", registerAccount)); 211 221 wndRegister->addComponent(new Button(920, 10, 80, 20, font, "Quit", quit)); 222 wndRegister->addComponent(new Button(20, 10, 160, 20, font, "Toggle Debugging", toggleDebugging)); 212 223 213 224 txtUsernameRegister = (Textbox*)wndRegister->getComponent(0); … … 225 236 wndMain->addComponent(new Textbox(95, 40, 300, 20, font)); 226 237 wndMain->addComponent(new Button(95, 70, 60, 20, font, "Send", sendChatMessage)); 238 wndMain->addComponent(new Button(20, 10, 160, 20, font, "Toggle Debugging", toggleDebugging)); 227 239 wndMain->addComponent(new Button(920, 10, 80, 20, font, "Logout", logout)); 228 240 229 241 txtChat = (Textbox*)wndMain->getComponent(0); 242 243 wndMainDebug = new Window(0, 0, SCREEN_W, SCREEN_H); 244 wndMainDebug->addComponent(new Button(20, 10, 160, 20, font, "Toggle Debugging", toggleDebugging)); 245 wndMainDebug->addComponent(new Button(920, 10, 80, 20, font, "Logout", logout)); 230 246 231 247 cout << "Created main screen" << endl; … … 391 407 392 408 msgProcessor.resendUnackedMessages(sock); 393 msgProcessor.cleanAckedMessages(); 394 395 wndCurrent->draw(display); 409 //msgProcessor.cleanAckedMessages(); 410 411 if (debugging && wndCurrent == wndMain) 412 wndMainDebug->draw(display); 413 else 414 wndCurrent->draw(display); 396 415 397 416 if(wndCurrent == wndMain) { 398 chatConsole.draw(font, al_map_rgb(255,255,255)); 417 if (!debugging) 418 chatConsole.draw(font, al_map_rgb(255,255,255)); 399 419 400 420 al_draw_text(font, al_map_rgb(0, 255, 0), 4, 43, ALLEGRO_ALIGN_LEFT, "Message:"); … … 449 469 al_draw_line(start.x, start.y, end.x, end.y, al_map_rgb(0, 0, 0), 4); 450 470 } 471 } 472 473 if (debugging) { 474 //debugConsole.draw(font, al_map_rgb(255,255,255)); 475 drawMessageStatus(font); 451 476 } 452 477 … … 977 1002 } 978 1003 979 int getRefreshRate(int width, int height) { 1004 void toggleDebugging() 1005 { 1006 debugging = !debugging; 1007 } 1008 1009 int getRefreshRate(int width, int height) 1010 { 980 1011 int numRefreshRates = al_get_num_display_modes(); 981 1012 ALLEGRO_DISPLAY_MODE displayMode; … … 990 1021 return 0; 991 1022 } 1023 1024 void drawMessageStatus(ALLEGRO_FONT* font) 1025 { 1026 int clientMsgOffset = 0; 1027 int serverMsgOffset = 650; 1028 1029 al_draw_text(font, al_map_rgb(0, 255, 255), 5, 43, ALLEGRO_ALIGN_LEFT, "ID"); 1030 al_draw_text(font, al_map_rgb(0, 255, 255), 25, 43, ALLEGRO_ALIGN_LEFT, "Type"); 1031 al_draw_text(font, al_map_rgb(0, 255, 255), 245, 43, ALLEGRO_ALIGN_LEFT, "Acked?"); 1032 1033 al_draw_text(font, al_map_rgb(0, 255, 255), 5+serverMsgOffset, 43, ALLEGRO_ALIGN_LEFT, "ID"); 1034 al_draw_text(font, al_map_rgb(0, 255, 255), 25+serverMsgOffset, 43, ALLEGRO_ALIGN_LEFT, "Type"); 1035 1036 map<unsigned int, map<unsigned long, MessageContainer> >& sentMessages = msgProcessor.getSentMessages(); 1037 int id, type; 1038 bool acked; 1039 ostringstream ossId, ossAcked; 1040 1041 map<unsigned int, map<unsigned long, MessageContainer> >::iterator it; 1042 1043 int msgCount = 0; 1044 for (it = sentMessages.begin(); it != sentMessages.end(); it++) { 1045 map<unsigned long, MessageContainer> playerMessage = it->second; 1046 map<unsigned long, MessageContainer>::iterator it2; 1047 for (it2 = playerMessage.begin(); it2 != playerMessage.end(); it2++) { 1048 1049 id = it->first; 1050 ossId.str("");; 1051 ossId << id; 1052 1053 type = it2->second.getMessage()->type; 1054 string typeStr = MessageContainer::getMsgTypeString(type); 1055 1056 acked = it2->second.getAcked(); 1057 ossAcked.str("");; 1058 ossAcked << boolalpha << acked; 1059 1060 al_draw_text(font, al_map_rgb(0, 255, 0), 5, 60+15*msgCount, ALLEGRO_ALIGN_LEFT, ossId.str().c_str()); 1061 al_draw_text(font, al_map_rgb(0, 255, 0), 25, 60+15*msgCount, ALLEGRO_ALIGN_LEFT, typeStr.c_str()); 1062 al_draw_text(font, al_map_rgb(0, 255, 0), 245, 60+15*msgCount, ALLEGRO_ALIGN_LEFT, ossAcked.str().c_str()); 1063 1064 msgCount++; 1065 } 1066 } 1067 1068 map<unsigned int, MessageContainer>& ackedMessages = msgProcessor.getAckedMessages(); 1069 map<unsigned int, MessageContainer>::iterator it3; 1070 1071 msgCount = 0; 1072 for (it3 = ackedMessages.begin(); it3 != ackedMessages.end(); it3++) { 1073 ossId.str("");; 1074 ossId << it3->first; 1075 1076 string typeStr = MessageContainer::getMsgTypeString(it3->second.getMessage()->type); 1077 1078 al_draw_text(font, al_map_rgb(255, 0, 0), 5+serverMsgOffset, 60+15*msgCount, ALLEGRO_ALIGN_LEFT, ossId.str().c_str()); 1079 al_draw_text(font, al_map_rgb(255, 0, 0), 25+serverMsgOffset, 60+15*msgCount, ALLEGRO_ALIGN_LEFT, typeStr.c_str()); 1080 1081 msgCount++; 1082 } 1083 }
Note:
See TracChangeset
for help on using the changeset viewer.