Changeset 4780 in orxonox.OLD for orxonox/trunk/src
- Timestamp:
- Jul 2, 2005, 10:55:47 PM (19 years ago)
- Location:
- orxonox/trunk/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/event/event_def.h
r4662 r4780 18 18 //! these are the extended event types, that are not included in SDL_keysym 19 19 typedef enum extEventTyes 20 21 EV_MOUSE_BUTTON_LEFT= SDLK_LAST,22 23 24 25 26 EV_MOUSE_MOTION,27 28 29 30 20 { 21 EV_MOUSE_BUTTON_LEFT = SDLK_LAST, 22 EV_MOUSE_BUTTON_MIDDLE, 23 EV_MOUSE_BUTTON_RIGHT, 24 EV_MOUSE_BUTTON_WHEELUP, 25 EV_MOUSE_BUTTON_WHEELDOWN, 26 EV_MOUSE_MOTION = SDL_MOUSEMOTION, 27 EV_JOY_AXIS_MOTION, 28 EV_JOY_BALL_MOTION, 29 EV_JOY_HAT_MOTION, 30 EV_JOY_BUTTON, 31 31 32 32 EV_UNKNOWN, 33 33 34 EV_NUMBER 35 }; 34 EV_NUMBER, 35 36 EV_VIDEO_RESIZE = SDL_VIDEORESIZE 37 }; 36 38 37 39 -
orxonox/trunk/src/lib/event/event_handler.cc
r4519 r4780 1 /* 1 /* 2 2 orxonox - the future of 3D-vertical-scrollers 3 3 … … 11 11 ### File Specific: 12 12 main-programmer: Patrick Boenzli 13 co-programmer: 13 co-programmer: 14 14 */ 15 15 … … 31 31 \brief standard constructor 32 32 */ 33 EventHandler::EventHandler () 34 { 35 this->setClassID(CL_EVENT_HANDLER, "EventHandler"); 33 EventHandler::EventHandler () 34 { 35 this->setClassID(CL_EVENT_HANDLER, "EventHandler"); 36 36 37 37 this->listeners = new EventListener**[ES_NUMBER]; … … 43 43 { 44 44 for(int j = 0; j < SDLK_LAST; ++j) 45 46 47 45 { 46 this->listeners[i][j] = NULL; 47 } 48 48 } 49 49 this->state = ES_GAME; … … 61 61 62 62 */ 63 EventHandler::~EventHandler () 63 EventHandler::~EventHandler () 64 64 { 65 65 EventHandler::singletonRef = NULL; … … 99 99 than one state, you have to subscribe for each state again. If you want to subscribe for all states, use 100 100 state = ES_ALL, which will subscribe your listener for all states together. 101 * 102 * \todo this can also be done with the & operator, and checking for states, just set the esState to 1,2,4,8, and then 15 is equal to ES_ALL 101 103 */ 102 104 void EventHandler::subscribe(EventListener* el, elState state, int eventType) … … 106 108 { 107 109 for(int i = 0; i < ES_NUMBER; ++i) 108 109 110 111 PRINTF(1)("Someone tried to subscribe to event %i @ state %i but this event has already been subscribed\n", eventType, state);112 } 113 else 110 if( likely(this->listeners[state][eventType] == NULL)) 111 this->listeners[i][eventType] = el; 112 else 113 PRINTF(1)("%s of class %s tried to subscribe to event %i @ state %i but this event has already been subscribed\n", el->getName(), el->getClassName(), eventType, state); 114 } 115 else 114 116 if( likely(this->listeners[state][eventType] == NULL)) 115 117 { 116 118 this->listeners[state][eventType] = el; 117 119 } 118 120 else 119 PRINTF(1)(" Someone tried to subscribe to event %i @ state %i but this event has already been subscribed\n", eventType, state);121 PRINTF(1)("% of class %s tried to subscribe to event %i @ state %i but this event has already been subscribed\n", el->getName(), el->getClassName(), eventType, state); 120 122 } 121 123 … … 126 128 \param eventType: the event, that shall be unsubscribed 127 129 128 if you want to unsubscribe an event listener from all subscribed events, just use the 130 if you want to unsubscribe an event listener from all subscribed events, just use the 129 131 unsubscribe(EventListener* el, elState state) function 130 132 */ … … 140 142 \param el: the listener that wants to unsubscribe itself 141 143 \param state: the state in which the events shall be unsubscribed 142 144 143 145 */ 144 146 void EventHandler::unsubscribe(EventListener* el, elState state) … … 147 149 { 148 150 for(int i = 0; i < ES_NUMBER; ++i) 149 150 151 152 153 154 155 151 { 152 for(int j = 0; j < EV_NUMBER; ++j) 153 { 154 if( this->listeners[i][j] == el ) 155 this->listeners[i][j] = NULL; 156 } 157 } 156 158 } 157 159 else 158 160 { 159 161 for(int j = 0; j < EV_NUMBER; ++j) 160 161 162 163 162 { 163 if( this->listeners[state][j] == el ) 164 this->listeners[state][j] = NULL; 165 } 164 166 } 165 167 } … … 175 177 { 176 178 for(int i = 0; i < ES_NUMBER; ++i) 177 178 179 180 181 182 179 { 180 for(int j = 0; j < EV_NUMBER; ++j) 181 { 182 this->listeners[i][j] = NULL; 183 } 184 } 183 185 } 184 186 else 185 187 { 186 188 for(int j = 0; j < EV_NUMBER; ++j) 187 188 189 190 } 191 } 192 193 194 /** 195 \brief core function of event handler: receives all events from SDL 189 { 190 this->listeners[state][j] = NULL; 191 } 192 } 193 } 194 195 196 /** 197 \brief core function of event handler: receives all events from SDL 196 198 197 199 The event from the SDL framework are collected here and distributed to all listeners. … … 205 207 { 206 208 switch( event.type) 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 /* small debug routine: shows all eevents dispatched by the event handler */209 { 210 case SDL_KEYDOWN: 211 ev.bPressed = true; 212 ev.type = event.key.keysym.sym; 213 break; 214 case SDL_KEYUP: 215 ev.bPressed = false; 216 ev.type = event.key.keysym.sym; 217 break; 218 case SDL_MOUSEMOTION: 219 ev.bPressed = false; 220 ev.type = EV_MOUSE_MOTION; 221 ev.x = event.motion.x; 222 ev.y = event.motion.y; 223 ev.xRel = event.motion.xrel; 224 ev.yRel = event.motion.yrel; 225 break; 226 case SDL_MOUSEBUTTONUP: 227 ev.bPressed = false; 228 ev.type = event.button.button + SDLK_LAST; 229 break; 230 case SDL_MOUSEBUTTONDOWN: 231 ev.bPressed = true; 232 ev.type = event.button.button + SDLK_LAST; 233 break; 234 case SDL_JOYAXISMOTION: 235 ev.bPressed = false; 236 ev.type = EV_JOY_AXIS_MOTION; 237 break; 238 case SDL_JOYBALLMOTION: 239 ev.bPressed = false; 240 ev.type = EV_JOY_BALL_MOTION; 241 break; 242 case SDL_JOYHATMOTION: 243 ev.bPressed = false; 244 ev.type = EV_JOY_HAT_MOTION; 245 break; 246 case SDL_JOYBUTTONDOWN: 247 ev.bPressed = true; 248 ev.type = EV_JOY_BUTTON; 249 break; 250 case SDL_JOYBUTTONUP: 251 ev.bPressed = true; 252 ev.type = EV_JOY_BUTTON; 253 break; 254 default: 255 ev.type = EV_UNKNOWN; 256 break; 257 } 258 259 /* small debug routine: shows all events dispatched by the event handler */ 258 260 PRINT(4)("\n==========================| EventHandler::process () |===\n"); 259 PRINT(4)("= Got Event nr %i, for state %i", ev.type, this->state); 260 261 PRINT(4)("= Got Event nr %i, for state %i", ev.type, this->state); 262 261 263 listener = this->listeners[this->state][ev.type]; 262 264 if( listener != NULL) 263 264 265 PRINT(4)("=======================================================\n"); 266 267 265 { 266 PRINT(4)("= Event dispatcher msg: This event has been consumed\n"); 267 PRINT(4)("=======================================================\n"); 268 listener->process(ev); 269 } 268 270 else 269 { 270 PRINT(4)("= Event dispatcher msg: This event has NOT been consumed\n"); 271 PRINT(4)("=======================================================\n"); 272 } 273 274 275 } 276 } 277 271 { 272 PRINT(4)("= Event dispatcher msg: This event has NOT been consumed\n"); 273 PRINT(4)("=======================================================\n"); 274 } 275 } 276 } 277 -
orxonox/trunk/src/lib/event/event_handler.h
r4746 r4780 1 /*! 1 /*! 2 2 \file event_handler.h 3 3 \brief Definition of the EventHandler 4 4 5 5 */ 6 6 … … 35 35 private: 36 36 EventHandler(); 37 37 38 38 39 39 private: 40 static EventHandler* singletonRef; //!< the singleton reference 41 EventListener*** listeners; //!< a list of registered listeners 42 elState state; //!< the state of the event handlder 43 KeyMapper* keyMapper; //!< reference to the key mapper 40 static EventHandler* singletonRef; //!< the singleton reference 41 42 EventListener*** listeners; //!< a list of registered listeners 43 elState state; //!< the state of the event handlder 44 KeyMapper* keyMapper; //!< reference to the key mapper 44 45 }; 45 46 -
orxonox/trunk/src/lib/event/key_names.cc
r4457 r4780 1 /* 1 /* 2 2 orxonox - the future of 3D-vertical-scrollers 3 3 … … 22 22 using namespace std; 23 23 24 int buttonnameToSDLB( char* name)24 int buttonnameToSDLB(const char* name) 25 25 { 26 27 28 29 //if( !strcmp (name, "BUTTON_WHEELUP")) return SDL_BUTTON_WHEELUP;30 //if( !strcmp (name, "BUTTON_WHEELDOWN")) return SDL_BUTTON_WHEELDOWN;31 26 if( !strcmp (name, "BUTTON_LEFT")) return SDL_BUTTON_LEFT; 27 if( !strcmp (name, "BUTTON_MIDDLE")) return SDL_BUTTON_MIDDLE; 28 if( !strcmp (name, "BUTTON_RIGHT")) return SDL_BUTTON_RIGHT; 29 if( !strcmp (name, "BUTTON_WHEELUP")) return SDL_BUTTON_WHEELUP; 30 if( !strcmp (name, "BUTTON_WHEELDOWN")) return SDL_BUTTON_WHEELDOWN; 31 return -1; 32 32 } 33 33 34 34 char* SDLBToButtonname( int button) 35 35 { 36 37 38 39 //if( button == SDL_BUTTON_WHEELUP) return "BUTTON_WHEELUP";40 //if( button == SDL_BUTTON_WHEELDOWN) return "BUTTON_WHEELDOWN";41 36 if( button == SDL_BUTTON_LEFT) return "BUTTON_LEFT"; 37 if( button == SDL_BUTTON_MIDDLE) return "BUTTON_MIDDLE"; 38 if( button == SDL_BUTTON_RIGHT) return "BUTTON_RIGHT"; 39 if( button == SDL_BUTTON_WHEELUP) return "BUTTON_WHEELUP"; 40 if( button == SDL_BUTTON_WHEELDOWN) return "BUTTON_WHEELDOWN"; 41 return "UNKNOWN"; 42 42 } 43 43 44 int keynameToSDLK( char* name)44 int keynameToSDLK(const char* name) 45 45 { 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 46 if( !strcmp (name, "BACKSPACE")) return SDLK_BACKSPACE; 47 if( !strcmp (name, "TAB")) return SDLK_TAB; 48 if( !strcmp (name, "CLEAR")) return SDLK_CLEAR; 49 if( !strcmp (name, "RETURN")) return SDLK_RETURN; 50 if( !strcmp (name, "ESCAPE")) return SDLK_ESCAPE; 51 if( !strcmp (name, "SPACE")) return SDLK_SPACE; 52 if( !strcmp (name, "EXCLAIM")) return SDLK_EXCLAIM; 53 if( !strcmp (name, "QUOTEDBL")) return SDLK_QUOTEDBL; 54 if( !strcmp (name, "HASH")) return SDLK_HASH; 55 if( !strcmp (name, "PAUSE")) return SDLK_PAUSE; 56 if( !strcmp (name, "DOLLAR")) return SDLK_DOLLAR; 57 if( !strcmp (name, "AMPERSAND")) return SDLK_AMPERSAND; 58 if( !strcmp (name, "QUOTE")) return SDLK_QUOTE; 59 if( !strcmp (name, "LEFTPAREN")) return SDLK_LEFTPAREN; 60 if( !strcmp (name, "RIGHTPAREN")) return SDLK_RIGHTPAREN; 61 if( !strcmp (name, "ASTERISK")) return SDLK_ASTERISK; 62 if( !strcmp (name, "PLUS")) return SDLK_PLUS; 63 if( !strcmp (name, "COMMA")) return SDLK_COMMA; 64 if( !strcmp (name, "MINUS")) return SDLK_MINUS; 65 if( !strcmp (name, "PERIOD")) return SDLK_PERIOD; 66 if( !strcmp (name, "SLASH")) return SDLK_SLASH; 67 if( !strcmp (name, "0")) return SDLK_0; 68 if( !strcmp (name, "1")) return SDLK_1; 69 if( !strcmp (name, "2")) return SDLK_2; 70 if( !strcmp (name, "3")) return SDLK_3; 71 if( !strcmp (name, "4")) return SDLK_4; 72 if( !strcmp (name, "5")) return SDLK_5; 73 if( !strcmp (name, "6")) return SDLK_6; 74 if( !strcmp (name, "7")) return SDLK_7; 75 if( !strcmp (name, "8")) return SDLK_8; 76 if( !strcmp (name, "9")) return SDLK_9; 77 if( !strcmp (name, "COLON")) return SDLK_COLON; 78 if( !strcmp (name, "SEMICOLON")) return SDLK_SEMICOLON; 79 if( !strcmp (name, "LESS")) return SDLK_LESS; 80 if( !strcmp (name, "EQUALS")) return SDLK_EQUALS; 81 if( !strcmp (name, "GREATER")) return SDLK_GREATER; 82 if( !strcmp (name, "QUESTION")) return SDLK_QUESTION; 83 if( !strcmp (name, "AT")) return SDLK_AT; 84 if( !strcmp (name, "LEFTBRACKET")) return SDLK_LEFTBRACKET; 85 if( !strcmp (name, "BACKSLASH")) return SDLK_BACKSLASH; 86 if( !strcmp (name, "RIGHTBRACKET")) return SDLK_RIGHTBRACKET; 87 if( !strcmp (name, "CARET")) return SDLK_CARET; 88 if( !strcmp (name, "UNDERSCORE")) return SDLK_UNDERSCORE; 89 if( !strcmp (name, "BACKQUOTE")) return SDLK_BACKQUOTE; 90 if( !strcmp (name, "a")) return SDLK_a; 91 if( !strcmp (name, "b")) return SDLK_b; 92 if( !strcmp (name, "c")) return SDLK_c; 93 if( !strcmp (name, "d")) return SDLK_d; 94 if( !strcmp (name, "e")) return SDLK_e; 95 if( !strcmp (name, "f")) return SDLK_f; 96 if( !strcmp (name, "g")) return SDLK_g; 97 if( !strcmp (name, "h")) return SDLK_h; 98 if( !strcmp (name, "i")) return SDLK_i; 99 if( !strcmp (name, "j")) return SDLK_j; 100 if( !strcmp (name, "k")) return SDLK_k; 101 if( !strcmp (name, "l")) return SDLK_l; 102 if( !strcmp (name, "m")) return SDLK_m; 103 if( !strcmp (name, "n")) return SDLK_n; 104 if( !strcmp (name, "o")) return SDLK_o; 105 if( !strcmp (name, "p")) return SDLK_p; 106 if( !strcmp (name, "q")) return SDLK_q; 107 if( !strcmp (name, "r")) return SDLK_r; 108 if( !strcmp (name, "s")) return SDLK_s; 109 if( !strcmp (name, "t")) return SDLK_t; 110 if( !strcmp (name, "u")) return SDLK_u; 111 if( !strcmp (name, "v")) return SDLK_v; 112 if( !strcmp (name, "w")) return SDLK_w; 113 if( !strcmp (name, "x")) return SDLK_x; 114 if( !strcmp (name, "y")) return SDLK_y; 115 if( !strcmp (name, "z")) return SDLK_z; 116 if( !strcmp (name, "DELETE")) return SDLK_DELETE; 117 if( !strcmp (name, "KP0")) return SDLK_KP0; 118 if( !strcmp (name, "KP1")) return SDLK_KP1; 119 if( !strcmp (name, "KP2")) return SDLK_KP2; 120 if( !strcmp (name, "KP3")) return SDLK_KP3; 121 if( !strcmp (name, "KP4")) return SDLK_KP4; 122 if( !strcmp (name, "KP5")) return SDLK_KP5; 123 if( !strcmp (name, "KP6")) return SDLK_KP6; 124 if( !strcmp (name, "KP7")) return SDLK_KP7; 125 if( !strcmp (name, "KP8")) return SDLK_KP8; 126 if( !strcmp (name, "KP9")) return SDLK_KP9; 127 if( !strcmp (name, "KP_PERIOD")) return SDLK_KP_PERIOD; 128 if( !strcmp (name, "KP_DIVIDE")) return SDLK_KP_DIVIDE; 129 if( !strcmp (name, "KP_MULTIPLY")) return SDLK_KP_MULTIPLY; 130 if( !strcmp (name, "KP_MINUS")) return SDLK_KP_MINUS; 131 if( !strcmp (name, "KP_PLUS")) return SDLK_KP_PLUS; 132 if( !strcmp (name, "KP_ENTER")) return SDLK_KP_ENTER; 133 if( !strcmp (name, "KP_EQUALS")) return SDLK_KP_EQUALS; 134 if( !strcmp (name, "UP")) return SDLK_UP; 135 if( !strcmp (name, "DOWN")) return SDLK_DOWN; 136 if( !strcmp (name, "RIGHT")) return SDLK_RIGHT; 137 if( !strcmp (name, "LEFT")) return SDLK_LEFT; 138 if( !strcmp (name, "INSERT")) return SDLK_INSERT; 139 if( !strcmp (name, "HOME")) return SDLK_HOME; 140 if( !strcmp (name, "END")) return SDLK_END; 141 if( !strcmp (name, "PAGEUP")) return SDLK_PAGEUP; 142 if( !strcmp (name, "PAGEDOWN")) return SDLK_PAGEDOWN; 143 if( !strcmp (name, "F1")) return SDLK_F1; 144 if( !strcmp (name, "F2")) return SDLK_F2; 145 if( !strcmp (name, "F3")) return SDLK_F3; 146 if( !strcmp (name, "F4")) return SDLK_F4; 147 if( !strcmp (name, "F5")) return SDLK_F5; 148 if( !strcmp (name, "F6")) return SDLK_F6; 149 if( !strcmp (name, "F7")) return SDLK_F7; 150 if( !strcmp (name, "F8")) return SDLK_F8; 151 if( !strcmp (name, "F9")) return SDLK_F9; 152 if( !strcmp (name, "F10")) return SDLK_F10; 153 if( !strcmp (name, "F11")) return SDLK_F11; 154 if( !strcmp (name, "F12")) return SDLK_F12; 155 if( !strcmp (name, "F13")) return SDLK_F13; 156 if( !strcmp (name, "F14")) return SDLK_F14; 157 if( !strcmp (name, "F15")) return SDLK_F15; 158 if( !strcmp (name, "NUMLOCK")) return SDLK_NUMLOCK; 159 if( !strcmp (name, "CAPSLOCK")) return SDLK_CAPSLOCK; 160 if( !strcmp (name, "SCROLLOCK")) return SDLK_SCROLLOCK; 161 if( !strcmp (name, "RSHIFT")) return SDLK_RSHIFT; 162 if( !strcmp (name, "LSHIFT")) return SDLK_LSHIFT; 163 if( !strcmp (name, "RCTRL")) return SDLK_RCTRL; 164 if( !strcmp (name, "LCTRL")) return SDLK_LCTRL; 165 if( !strcmp (name, "RALT")) return SDLK_RALT; 166 if( !strcmp (name, "LALT")) return SDLK_LALT; 167 if( !strcmp (name, "RMETA")) return SDLK_RMETA; 168 if( !strcmp (name, "LMETA")) return SDLK_LMETA; 169 if( !strcmp (name, "LSUPER")) return SDLK_LSUPER; 170 if( !strcmp (name, "RSUPER")) return SDLK_RSUPER; 171 if( !strcmp (name, "MODE")) return SDLK_MODE; 172 if( !strcmp (name, "HELP")) return SDLK_HELP; 173 if( !strcmp (name, "PRINT")) return SDLK_PRINT; 174 if( !strcmp (name, "SYSREQ")) return SDLK_SYSREQ; 175 if( !strcmp (name, "BREAK")) return SDLK_BREAK; 176 if( !strcmp (name, "MENU")) return SDLK_MENU; 177 if( !strcmp (name, "POWER")) return SDLK_POWER; 178 if( !strcmp (name, "EURO")) return SDLK_EURO; 179 return -1; 180 180 } 181 181 182 182 char* SDLKToKeyname( int key) 183 183 { 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 184 if( key == SDLK_BACKSPACE) return "BACKSPACE"; 185 if( key == SDLK_TAB) return "TAB"; 186 if( key == SDLK_CLEAR) return "CLEAR"; 187 if( key == SDLK_RETURN) return "RETURN"; 188 if( key == SDLK_SPACE) return "SPACE"; 189 if( key == SDLK_ESCAPE) return "ESCAPE"; 190 if( key == SDLK_EXCLAIM) return "EXCLAIM"; 191 if( key == SDLK_QUOTEDBL) return "QUOTEDBL"; 192 if( key == SDLK_HASH) return "HASH"; 193 if( key == SDLK_PAUSE) return "PAUSE"; 194 if( key == SDLK_DOLLAR) return "DOLLAR"; 195 if( key == SDLK_AMPERSAND) return "AMPERSAND"; 196 if( key == SDLK_QUOTE) return "QUOTE"; 197 if( key == SDLK_LEFTPAREN) return "LEFTPAREN"; 198 if( key == SDLK_RIGHTPAREN) return "RIGHTPAREN"; 199 if( key == SDLK_ASTERISK) return "ASTERISK"; 200 if( key == SDLK_PLUS) return "PLUS"; 201 if( key == SDLK_COMMA) return "COMMA"; 202 if( key == SDLK_MINUS) return "MINUS"; 203 if( key == SDLK_PERIOD) return "PERIOD"; 204 if( key == SDLK_SLASH) return "SLASH"; 205 if( key == SDLK_0) return "0"; 206 if( key == SDLK_1) return "1"; 207 if( key == SDLK_2) return "2"; 208 if( key == SDLK_3) return "3"; 209 if( key == SDLK_4) return "4"; 210 if( key == SDLK_5) return "5"; 211 if( key == SDLK_6) return "6"; 212 if( key == SDLK_7) return "7"; 213 if( key == SDLK_8) return "8"; 214 if( key == SDLK_9) return "9"; 215 if( key == SDLK_COLON) return "COLON"; 216 if( key == SDLK_SEMICOLON) return "SEMICOLON"; 217 if( key == SDLK_LESS) return "LESS"; 218 if( key == SDLK_EQUALS) return "EQUALS"; 219 if( key == SDLK_GREATER) return "GREATER"; 220 if( key == SDLK_QUESTION) return "QUESTION"; 221 if( key == SDLK_AT) return "AT"; 222 if( key == SDLK_LEFTBRACKET) return "LEFTBRACKET"; 223 if( key == SDLK_BACKSLASH) return "BACKSLASH"; 224 if( key == SDLK_RIGHTBRACKET) return "RIGHTBRACKET"; 225 if( key == SDLK_CARET) return "CARET"; 226 if( key == SDLK_UNDERSCORE) return "UNDERSCORE"; 227 if( key == SDLK_BACKQUOTE) return "BACKQUOTE"; 228 if( key == SDLK_a) return "a"; 229 if( key == SDLK_b) return "b"; 230 if( key == SDLK_c) return "c"; 231 if( key == SDLK_d) return "d"; 232 if( key == SDLK_e) return "e"; 233 if( key == SDLK_f) return "f"; 234 if( key == SDLK_g) return "g"; 235 if( key == SDLK_h) return "h"; 236 if( key == SDLK_i) return "i"; 237 if( key == SDLK_j) return "j"; 238 if( key == SDLK_k) return "k"; 239 if( key == SDLK_l) return "l"; 240 if( key == SDLK_m) return "m"; 241 if( key == SDLK_n) return "n"; 242 if( key == SDLK_o) return "o"; 243 if( key == SDLK_p) return "p"; 244 if( key == SDLK_q) return "q"; 245 if( key == SDLK_r) return "r"; 246 if( key == SDLK_s) return "s"; 247 if( key == SDLK_t) return "t"; 248 if( key == SDLK_u) return "u"; 249 if( key == SDLK_v) return "v"; 250 if( key == SDLK_w) return "w"; 251 if( key == SDLK_x) return "x"; 252 if( key == SDLK_y) return "y"; 253 if( key == SDLK_z) return "z"; 254 if( key == SDLK_DELETE) return "DELETE"; 255 if( key == SDLK_KP0) return "KP0"; 256 if( key == SDLK_KP1) return "KP1"; 257 if( key == SDLK_KP2) return "KP2"; 258 if( key == SDLK_KP3) return "KP3"; 259 if( key == SDLK_KP4) return "KP4"; 260 if( key == SDLK_KP5) return "KP5"; 261 if( key == SDLK_KP6) return "KP6"; 262 if( key == SDLK_KP7) return "KP7"; 263 if( key == SDLK_KP8) return "KP8"; 264 if( key == SDLK_KP9) return "KP9"; 265 if( key == SDLK_KP_PERIOD) return "KP_PERIOD"; 266 if( key == SDLK_KP_DIVIDE) return "KP_DIVIDE"; 267 if( key == SDLK_KP_MULTIPLY) return "KP_MULTIPLY"; 268 if( key == SDLK_KP_MINUS) return "KP_MINUS"; 269 if( key == SDLK_KP_PLUS) return "KP_PLUS"; 270 if( key == SDLK_KP_ENTER) return "KP_ENTER"; 271 if( key == SDLK_KP_EQUALS) return "KP_EQUALS"; 272 if( key == SDLK_UP) return "UP"; 273 if( key == SDLK_DOWN) return "DOWN"; 274 if( key == SDLK_RIGHT) return "RIGHT"; 275 if( key == SDLK_LEFT) return "LEFT"; 276 if( key == SDLK_INSERT) return "INSERT"; 277 if( key == SDLK_HOME) return "HOME"; 278 if( key == SDLK_END) return "END"; 279 if( key == SDLK_PAGEUP) return "PAGEUP"; 280 if( key == SDLK_PAGEDOWN) return "PAGEDOWN"; 281 if( key == SDLK_F1) return "F1"; 282 if( key == SDLK_F2) return "F2"; 283 if( key == SDLK_F3) return "F3"; 284 if( key == SDLK_F4) return "F4"; 285 if( key == SDLK_F5) return "F5"; 286 if( key == SDLK_F6) return "F6"; 287 if( key == SDLK_F7) return "F7"; 288 if( key == SDLK_F8) return "F8"; 289 if( key == SDLK_F9) return "F9"; 290 if( key == SDLK_F10) return "F10"; 291 if( key == SDLK_F11) return "F11"; 292 if( key == SDLK_F12) return "F12"; 293 if( key == SDLK_F13) return "F13"; 294 if( key == SDLK_F14) return "F14"; 295 if( key == SDLK_F15) return "F15"; 296 if( key == SDLK_NUMLOCK) return "NUMLOCK"; 297 if( key == SDLK_CAPSLOCK) return "CAPSLOCK"; 298 if( key == SDLK_SCROLLOCK) return "SCROLLOCK"; 299 if( key == SDLK_RSHIFT) return "RSHIFT"; 300 if( key == SDLK_LSHIFT) return "LSHIFT"; 301 if( key == SDLK_RCTRL) return "RCTRL"; 302 if( key == SDLK_LCTRL) return "LCTRL"; 303 if( key == SDLK_RALT) return "RALT"; 304 if( key == SDLK_LALT) return "LALT"; 305 if( key == SDLK_RMETA) return "RMETA"; 306 if( key == SDLK_LMETA) return "LMETA"; 307 if( key == SDLK_LSUPER) return "LSUPER"; 308 if( key == SDLK_RSUPER) return "RSUPER"; 309 if( key == SDLK_MODE) return "MODE"; 310 if( key == SDLK_HELP) return "HELP"; 311 if( key == SDLK_PRINT) return "PRINT"; 312 if( key == SDLK_SYSREQ) return "SYSREQ"; 313 if( key == SDLK_BREAK) return "BREAK"; 314 if( key == SDLK_MENU) return "MENU"; 315 if( key == SDLK_POWER) return "POWER"; 316 if( key == SDLK_EURO) return "EURO"; 317 return "UNKNOWN"; 318 318 } -
orxonox/trunk/src/lib/event/key_names.h
r4457 r4780 2 2 \file keynames.h 3 3 \brief Key/button naming functions 4 5 4 5 Converts strings to SDLK/SDL_BUTTON values and vice versa 6 6 */ 7 7 #ifndef _KEY_NAMES_H … … 9 9 10 10 /** 11 12 13 11 \brief converts a button name string to a integer representing the corresponding SDL mouse button identifier 12 \param name: the name of the mouse button 13 \return an int containing the SDL identifier of the mouse button or -1 if the button name is not valid 14 14 */ 15 int buttonnameToSDLB( char* name);15 int buttonnameToSDLB(const char* name); 16 16 17 17 /** 18 19 20 18 \brief converst a SDL mouse button identifier to a name string 19 \param button: an SDL mouse button identifier 20 \return a pointer to a string containing the name of the mouse button 21 21 */ 22 22 char* SDLBToButtonname( int button); 23 23 24 24 /** 25 26 27 25 \brief converts a key name string to a integer representing the corresponding SDLK sym 26 \param name: the name of the key 27 \return the SDLK sym of the named key or -1 if the key name is not valid 28 28 */ 29 int keynameToSDLK( char* name);29 int keynameToSDLK(const char* name); 30 30 31 31 /** 32 33 34 32 \brief converts an SDLK sym to a name string 33 \param key: the SDLK sym 34 \return a pointer to a string containig the name of the key 35 35 */ 36 36 char* SDLKToKeyname( int key); -
orxonox/trunk/src/world_entities/player.cc
r4762 r4780 33 33 #include "event.h" 34 34 35 #include "crosshair.h" 36 35 37 using namespace std; 36 38 … … 48 50 the player.cc for debug also 49 51 */ 52 this->init(); 53 54 //weapons: 55 this->weaponMan = new WeaponManager(); 56 Weapon* wpRight = new TestGun(this, Vector(-2.6, 0.1, 3.0), Quaternion(), 0); 57 Weapon* wpLeft = new TestGun(this, Vector(-2.6, 0.1, -3.0), Quaternion(), 1); 58 59 this->weaponMan->addWeapon(wpRight, W_CONFIG0, W_SLOT0); 60 this->weaponMan->addWeapon(wpLeft, W_CONFIG1, W_SLOT1); 61 this->weaponMan->addWeapon(wpRight, W_CONFIG2); 62 this->weaponMan->addWeapon(wpLeft, W_CONFIG2); 63 64 } 65 66 67 /** 68 \brief destructs the player, deletes alocated memory 69 */ 70 Player::~Player () 71 { 72 /* do not delete the weapons, they are contained in the pnode tree 73 and will be deleted there. 74 this only frees the memory allocated to save the list. 75 */ 76 delete this->weaponMan; 77 } 78 79 80 /** 81 \brief creates a new Player from Xml Data 82 \param root the xml element containing player data 83 84 \todo add more parameters to load 85 */ 86 Player::Player(const TiXmlElement* root) 87 { 88 this->init(); 89 this->loadParams(root); 90 91 //weapons: 92 this->weaponMan = new WeaponManager(); 93 Weapon* wpRight = new TestGun(this, Vector(-2.6, 0.1, 3.0), Quaternion(), 0); 94 Weapon* wpLeft = new TestGun(this, Vector(-2.6, 0.1, -3.0), Quaternion(), 1); 95 96 this->weaponMan->addWeapon(wpRight, W_CONFIG0, W_SLOT0); 97 this->weaponMan->addWeapon(wpLeft, W_CONFIG1, W_SLOT1); 98 this->weaponMan->addWeapon(wpRight, W_CONFIG2); 99 this->weaponMan->addWeapon(wpLeft, W_CONFIG2); 100 101 102 new Crosshair(); 103 } 104 105 /** 106 * initializes a Player 107 */ 108 void Player::init() 109 { 50 110 this->setClassID(CL_PLAYER, "Player"); 51 111 … … 57 117 this->bWeaponChange = false; 58 118 acceleration = 10.0; 59 //weapons: 60 this->weaponMan = new WeaponManager(); 61 Weapon* wpRight = new TestGun(this, Vector(-2.6, 0.1, 3.0), Quaternion(), 0); 62 Weapon* wpLeft = new TestGun(this, Vector(-2.6, 0.1, -3.0), Quaternion(), 1); 63 64 this->weaponMan->addWeapon(wpRight, W_CONFIG0, W_SLOT0); 65 this->weaponMan->addWeapon(wpLeft, W_CONFIG1, W_SLOT1); 66 this->weaponMan->addWeapon(wpRight, W_CONFIG2); 67 this->weaponMan->addWeapon(wpLeft, W_CONFIG2); 68 } 69 70 71 /** 72 \brief destructs the player, deletes alocated memory 73 */ 74 Player::~Player () 75 { 76 /* do not delete the weapons, they are contained in the pnode tree 77 and will be deleted there. 78 this only frees the memory allocated to save the list. 79 */ 80 delete this->weaponMan; 81 } 82 83 84 /** 85 \brief creates a new Player from Xml Data 86 \param root the xml element containing player data 87 88 \todo add more parameters to load 89 */ 90 Player::Player(const TiXmlElement* root) : WorldEntity(root) 91 { 92 this->setClassID(CL_PLAYER, "Player"); 93 94 this->weapons = new tList<Weapon>(); 95 this->activeWeapon = NULL; 96 /* 97 this is the debug player - actualy we would have to make a new 98 class derivated from Player for each player. for now, we just use 99 the player.cc for debug also 100 */ 101 travelSpeed = 15.0; 102 velocity = new Vector(); 103 bUp = bDown = bLeft = bRight = bAscend = bDescend = false; 104 bFire = false; 105 this->bWeaponChange = false; 106 acceleration = 10.0; 107 //weapons: 108 this->weaponMan = new WeaponManager(); 109 Weapon* wpRight = new TestGun(this, Vector(-2.6, 0.1, 3.0), Quaternion(), 0); 110 Weapon* wpLeft = new TestGun(this, Vector(-2.6, 0.1, -3.0), Quaternion(), 1); 111 112 this->weaponMan->addWeapon(wpRight, W_CONFIG0, W_SLOT0); 113 this->weaponMan->addWeapon(wpLeft, W_CONFIG1, W_SLOT1); 114 this->weaponMan->addWeapon(wpRight, W_CONFIG2); 115 this->weaponMan->addWeapon(wpLeft, W_CONFIG2); 119 } 120 121 122 /** 123 * 124 * @param root the XML-element to load the Player's properties from 125 */ 126 void Player::loadParams(const TiXmlElement* root) 127 { 128 static_cast<WorldEntity*>(this)->loadParams(root); 129 130 131 116 132 } 117 133 -
orxonox/trunk/src/world_entities/player.h
r4746 r4780 1 /*! 1 /*! 2 2 \file player.h 3 3 \brief Implements a basic controllable WorldEntity … … 22 22 { 23 23 friend class World; 24 24 25 25 public: 26 26 Player(); … … 28 28 virtual ~Player(); 29 29 30 void init(); 31 void loadParams(const TiXmlElement* root); 32 30 33 void addWeapon(Weapon* weapon); 31 34 void removeWeapon(Weapon* weapon); 32 35 33 36 virtual void postSpawn(); 34 37 virtual void leftWorld(); … … 36 39 virtual void collide(WorldEntity* other, Uint32 ownhitflags, Uint32 otherhitflags); 37 40 38 virtual void tick(float time); 41 virtual void tick(float time); 39 42 virtual void draw(); 40 43 … … 42 45 43 46 virtual void process(const Event &event); 44 47 45 48 private: 46 49 bool bUp; //!< up button pressed. … … 63 66 float travelSpeed; //!< the current speed of the player (to make soft movement) 64 67 float acceleration; //!< the acceleration of the player. 65 68 66 69 void move(float time); 67 70 void weapon(); 68 71 69 72 }; 70 73 -
orxonox/trunk/src/world_entities/weapons/crosshair.cc
r4779 r4780 17 17 18 18 #include "crosshair.h" 19 19 #include "event_handler.h" 20 20 using namespace std; 21 21 … … 23 23 /** 24 24 \brief standard constructor 25 \todo this constructor is not jet implemented - do it26 25 */ 27 26 Crosshair::Crosshair () … … 30 29 this->setName("Crosshair"); 31 30 31 EventHandler::getInstance()->subscribe(this, ES_GAME, EV_MOUSE_MOTION); 32 32 33 } 33 34 … … 35 36 /** 36 37 \brief standard deconstructor 37 38 38 */ 39 39 Crosshair::~Crosshair () … … 44 44 void Crosshair::process(const Event &event) 45 45 { 46 46 printf("wow\n"); 47 47 48 48 }
Note: See TracChangeset
for help on using the changeset viewer.