diff options
| author | jacob1 <jfu614@gmail.com> | 2012-07-23 16:10:54 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-02 13:26:44 (GMT) |
| commit | daeddd551969e3546c2870de59f4e2c8fbdf6786 (patch) | |
| tree | 00681a1f55f9d8ebcb51b2a24d8c8a9393fc7117 /src | |
| parent | 23f9de6f811550a0cf5091b0415f141ee04e9ddb (diff) | |
| download | powder-daeddd551969e3546c2870de59f4e2c8fbdf6786.zip powder-daeddd551969e3546c2870de59f4e2c8fbdf6786.tar.gz | |
move some key stuff out of sdl_poll, zoom won't be triggered even when disabled by lua now
Conflicts:
src/interface.c
src/main.c
Diffstat (limited to 'src')
| -rw-r--r-- | src/interface.c | 148 | ||||
| -rw-r--r-- | src/main.c | 55 |
2 files changed, 106 insertions, 97 deletions
diff --git a/src/interface.c b/src/interface.c index 42a1fac..babece7 100644 --- a/src/interface.c +++ b/src/interface.c @@ -46,7 +46,7 @@ #include "save.h" SDLMod sdl_mod; -int sdl_key, sdl_rkey, sdl_wheel, sdl_caps=0, sdl_ascii, sdl_zoom_trig=0; +int sdl_key, sdl_rkey, sdl_wheel, sdl_ascii, sdl_zoom_trig=0; #if (defined(LIN32) || defined(LIN64)) && defined(SDL_VIDEO_DRIVER_X11) SDL_SysWMinfo sdl_wminfo; Atom XA_CLIPBOARD, XA_TARGETS; @@ -2891,93 +2891,18 @@ int sdl_poll(void) case SDL_KEYDOWN: sdl_key=event.key.keysym.sym; sdl_ascii=event.key.keysym.unicode; - if (event.key.keysym.sym == SDLK_CAPSLOCK) - sdl_caps = 1; - if (event.key.keysym.sym=='z') - { - if (event.key.keysym.mod&KMOD_ALT)//toggle - sdl_zoom_trig = (!sdl_zoom_trig)*2; - else - sdl_zoom_trig = 1; - } - if ( event.key.keysym.sym == SDLK_PLUS) + if (event.key.keysym.sym == SDLK_PLUS) { sdl_wheel++; } - if ( event.key.keysym.sym == SDLK_MINUS) + if (event.key.keysym.sym == SDLK_MINUS) { sdl_wheel--; } - // 4 - //1 8 2 - if (event.key.keysym.sym == SDLK_RIGHT) - { - player.comm = (int)(player.comm)|0x02; //Go right command - } - if (event.key.keysym.sym == SDLK_LEFT) - { - player.comm = (int)(player.comm)|0x01; //Go left command - } - if (event.key.keysym.sym == SDLK_DOWN && ((int)(player.comm)&0x08)!=0x08) - { - player.comm = (int)(player.comm)|0x08; //Go left command - } - if (event.key.keysym.sym == SDLK_UP && ((int)(player.comm)&0x04)!=0x04) - { - player.comm = (int)(player.comm)|0x04; //Jump command - } - - if (event.key.keysym.sym == SDLK_d) - { - player2.comm = (int)(player2.comm)|0x02; //Go right command - } - if (event.key.keysym.sym == SDLK_a) - { - player2.comm = (int)(player2.comm)|0x01; //Go left command - } - if (event.key.keysym.sym == SDLK_s && ((int)(player2.comm)&0x08)!=0x08) - { - player2.comm = (int)(player2.comm)|0x08; //Go left command - } - if (event.key.keysym.sym == SDLK_w && ((int)(player2.comm)&0x04)!=0x04) - { - player2.comm = (int)(player2.comm)|0x04; //Jump command - } break; case SDL_KEYUP: sdl_rkey=event.key.keysym.sym; - if (event.key.keysym.sym == SDLK_CAPSLOCK) - sdl_caps = 0; - if (event.key.keysym.sym == 'z' && sdl_zoom_trig==1)//if ==2 then it was toggled with alt+z, don't turn off on keyup - sdl_zoom_trig = 0; - if (event.key.keysym.sym == SDLK_RIGHT || event.key.keysym.sym == SDLK_LEFT) - { - player.pcomm = player.comm; //Saving last movement - player.comm = (int)(player.comm)&12; //Stop command - } - if (event.key.keysym.sym == SDLK_UP) - { - player.comm = (int)(player.comm)&11; - } - if (event.key.keysym.sym == SDLK_DOWN) - { - player.comm = (int)(player.comm)&7; - } - - if (event.key.keysym.sym == SDLK_d || event.key.keysym.sym == SDLK_a) - { - player2.pcomm = player2.comm; //Saving last movement - player2.comm = (int)(player2.comm)&12; //Stop command - } - if (event.key.keysym.sym == SDLK_w) - { - player2.comm = (int)(player2.comm)&11; - } - if (event.key.keysym.sym == SDLK_s) - { - player2.comm = (int)(player2.comm)&7; - } break; case SDL_MOUSEBUTTONDOWN: if (event.button.button == SDL_BUTTON_WHEELUP) @@ -3037,6 +2962,73 @@ int sdl_poll(void) return 0; } +void stickmen_keys() +{ + // 4 + //1 8 2 + if (sdl_key == SDLK_RIGHT) + { + player.comm = (int)(player.comm)|0x02; //Go right command + } + if (sdl_key == SDLK_LEFT) + { + player.comm = (int)(player.comm)|0x01; //Go left command + } + if (sdl_key == SDLK_DOWN && ((int)(player.comm)&0x08)!=0x08) + { + player.comm = (int)(player.comm)|0x08; //Use element command + } + if (sdl_key == SDLK_UP && ((int)(player.comm)&0x04)!=0x04) + { + player.comm = (int)(player.comm)|0x04; //Jump command + } + + if (sdl_key == SDLK_d) + { + player2.comm = (int)(player2.comm)|0x02; //Go right command + } + if (sdl_key == SDLK_a) + { + player2.comm = (int)(player2.comm)|0x01; //Go left command + } + if (sdl_key == SDLK_s && ((int)(player2.comm)&0x08)!=0x08) + { + player2.comm = (int)(player2.comm)|0x08; //Use element command + } + if (sdl_key == SDLK_w && ((int)(player2.comm)&0x04)!=0x04) + { + player2.comm = (int)(player2.comm)|0x04; //Jump command + } + + if (sdl_rkey == SDLK_RIGHT || sdl_rkey == SDLK_LEFT) + { + player.pcomm = player.comm; //Saving last movement + player.comm = (int)(player.comm)&12; //Stop command + } + if (sdl_rkey == SDLK_UP) + { + player.comm = (int)(player.comm)&11; + } + if (sdl_rkey == SDLK_DOWN) + { + player.comm = (int)(player.comm)&7; + } + + if (sdl_rkey == SDLK_d || sdl_rkey == SDLK_a) + { + player2.pcomm = player2.comm; //Saving last movement + player2.comm = (int)(player2.comm)&12; //Stop command + } + if (sdl_rkey == SDLK_w) + { + player2.comm = (int)(player2.comm)&11; + } + if (sdl_rkey == SDLK_s) + { + player2.comm = (int)(player2.comm)&7; + } +} + void set_cmode(int cm) // sets to given view mode { int cmode = cm; @@ -1287,6 +1287,7 @@ int main(int argc, char *argv[]) #endif if (sys_shortcuts==1)//all shortcuts can be disabled by python scripts { + stickmen_keys(); if (sdl_key=='q' || sdl_key==SDLK_ESCAPE) { if (confirm_ui(vid_buf, "You are about to quit", "Are you sure you want to quit?", "Quit")) @@ -1713,31 +1714,47 @@ int main(int argc, char *argv[]) if (it > 50) it = 50; }*/ - if (sdl_key=='z'&&(sdl_mod & (KMOD_LCTRL|KMOD_RCTRL))) // Undo + if (sdl_key=='z') // Undo { - int cbx, cby, cbi; + if (sdl_mod & (KMOD_LCTRL|KMOD_RCTRL)) + { + int cbx, cby, cbi; - for (cbi=0; cbi<NPART; cbi++) - parts[cbi] = cb_parts[cbi]; - parts_lastActiveIndex = NPART-1; + for (cbi=0; cbi<NPART; cbi++) + parts[cbi] = cb_parts[cbi]; + parts_lastActiveIndex = NPART-1; - for (cby = 0; cby<YRES; cby++) - for (cbx = 0; cbx<XRES; cbx++) - pmap[cby][cbx] = cb_pmap[cby][cbx]; + for (cby = 0; cby<YRES; cby++) + for (cbx = 0; cbx<XRES; cbx++) + pmap[cby][cbx] = cb_pmap[cby][cbx]; - for (cby = 0; cby<(YRES/CELL); cby++) - for (cbx = 0; cbx<(XRES/CELL); cbx++) - { - vx[cby][cbx] = cb_vx[cby][cbx]; - vy[cby][cbx] = cb_vy[cby][cbx]; - pv[cby][cbx] = cb_pv[cby][cbx]; - hv[cby][cbx] = cb_hv[cby][cbx]; - bmap[cby][cbx] = cb_bmap[cby][cbx]; - emap[cby][cbx] = cb_emap[cby][cbx]; - } + for (cby = 0; cby<(YRES/CELL); cby++) + for (cbx = 0; cbx<(XRES/CELL); cbx++) + { + vx[cby][cbx] = cb_vx[cby][cbx]; + vy[cby][cbx] = cb_vy[cby][cbx]; + pv[cby][cbx] = cb_pv[cby][cbx]; + hv[cby][cbx] = cb_hv[cby][cbx]; + bmap[cby][cbx] = cb_bmap[cby][cbx]; + emap[cby][cbx] = cb_emap[cby][cbx]; + } - force_stacking_check = 1;//check for excessive stacking of particles next time update_particles is run + force_stacking_check = 1;//check for excessive stacking of particles next time update_particles is run + } + else + { + if (sdl_mod & KMOD_ALT)//toggle + sdl_zoom_trig = (!sdl_zoom_trig)*2; + else + sdl_zoom_trig = 1; + } } +<<<<<<< HEAD +======= + if (sdl_rkey == 'z' && sdl_zoom_trig==1)//if ==2 then it was toggled with alt+z, don't turn off on keyup + sdl_zoom_trig = 0; + SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); +>>>>>>> 230ab97... move some key stuff out of sdl_poll, zoom won't be triggered even when disabled by lua now } #ifdef INTERNAL int counterthing; |
