#define Use_LinkedList #define Use_Handlers #include #include #include "proboard.hpp" void sysopkey(KEY k) { int i; if(k>256) { for( sysopkey_handlers.rewind() ; !sysopkey_handlers.eol() ; sysopkey_handlers++) { if( CallPEX( &sysopkey_handlers.get() , k ) ) return; } } if(k>=KEY_AF1 && k<=KEY_AF10) { String str = replace_stringvars(cfg.sysopkeys[(k/256)-0x68]); if(str[0]=='@') { shell(&str[1]); } else if(str[0]=='`') { io << &str[1]; } else { for(i=0;i@")); io << "\n\n"; updatemenu = TRUE; break; case KEY_ALTC: LOG(1,"Sysop breaks in for chat"); chat(); break; case KEY_ALTL: LOG("User locked out by sysop"); user.level=0; exit_proboard(); case KEY_ALTH: LOG("Sysop hung up"); exit_proboard(); case KEY_ALTY: noyell_flag=!noyell_flag; soundclick(); break; case KEY_ALTN: sysop_next = !sysop_next; soundclick(); break; case KEY_ALTI: screen_image(); break; case KEY_ALTR: num_yells = 0; break; case KEY_PGUP: display_mode--; if(display_mode<1) display_mode=9; break; case KEY_PGDN: display_mode++; if(display_mode>9) display_mode=1; break; case KEY_UP : timer.increase(); display_mode = 1; break; case KEY_DN : timer.decrease(); display_mode = 1; break; case KEY_CTL_LT : { soundclick(); soundclick(); soundclick(); user.level--; for(i=0;i=limit[i].level) { user.level=limit[i].level; break; } if(i==num_limits) user.level++; adjust_limits(); timer.check(); display_mode = 1; soundclick(); soundclick(); soundclick(); } break; case KEY_CTL_RT : { soundclick(); soundclick(); soundclick(); user.level++; for(i=num_limits-1;i>=0;i--) if(user.level<=limit[i].level) { user.level=limit[i].level; break; } if(i<0) user.level--; adjust_limits(); timer.check(); display_mode = 1; soundclick(); soundclick(); soundclick(); } break; case KEY_ALTS: { static char *blurbs="û üüäì þàü û åñþô þàü û åõöü ýùûûýþüüäì ñþôý üüäì þàü û åñþôý"; int off = int(clockticks()%50); for(int i=0;i<6;i++) { io << blurbs[off+i]; } } break; } update_display(); }