вопрос к разработчикам
Fri, 2011-02-11 11:04
Уважаемый unC0Rr, объясни пожалуйста, как добавить обработку своей клавиши и зацепить на неё команду.
hedgewars forever!
Уважаемый unC0Rr, объясни пожалуйста, как добавить обработку своей клавиши и зацепить на неё команду.
hedgewars forever!
Пока сделал так.
1) объявляем в uCommandHandlers.pas процедуру-обработчик
procedure chNewCmd(var s: shortstring); begin s:= s; // avoid compiler hint if CheckNoTeamOrHH or isPaused then exit; // ... любой код end;2) в InitModule пишем
RegisterVariable('newcmd' , vtCommand, @chNewCmd , true );3) В uTeams.pas в chAddTeam добавляем перед CurrentTeam^.voicepack:= AskForVoicepack('Default')
if not CurrentTeam^.ExtDriven then begin CurrentTeam^.Binds[KeyNameToCode('l')] := 'newcmd'; end;И у нас chNewCmd теперь привязана к клавише l. Меня терзают смутные сомнения по поводу места, где происходит бинд клавиши. Он же не в chAddTeam должен быть. Куда его лучше сделать, чтобы не хламить код?
hedgewars forever!
По-хорошему, бинд нужно передавать вместе с остальными из фронтенда
Спасибо за ответ.
hedgewars forever!