diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-04-06 14:32:56 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-04-06 14:32:56 +0000 |
| commit | 6ecc2efaecdf70ed6a754bc089c7e0e4606df398 (patch) | |
| tree | de81f3402de0c924acf10c2f71e4dbc721444890 /src/game/client | |
| parent | d15bef7ede6b07dbbc2f6b6a3e23b1ed83e6b6ea (diff) | |
| download | zcatch-6ecc2efaecdf70ed6a754bc089c7e0e4606df398.tar.gz zcatch-6ecc2efaecdf70ed6a754bc089c7e0e4606df398.zip | |
more loads of changes for 0.5.0
Diffstat (limited to 'src/game/client')
| -rw-r--r-- | src/game/client/gc_client.cpp | 2 | ||||
| -rw-r--r-- | src/game/client/gc_client.h | 2 | ||||
| -rw-r--r-- | src/game/client/gc_console.cpp | 4 | ||||
| -rw-r--r-- | src/game/client/gc_hooks.cpp | 18 |
4 files changed, 16 insertions, 10 deletions
diff --git a/src/game/client/gc_client.cpp b/src/game/client/gc_client.cpp index 005e9026..2aeb28b9 100644 --- a/src/game/client/gc_client.cpp +++ b/src/game/client/gc_client.cpp @@ -29,6 +29,8 @@ int64 debug_firedelay = 0; NETOBJ_PLAYER_INPUT input_data = {0}; int input_target_lock = 0; +int input_direction_left = 0; +int input_direction_right = 0; int chat_mode = CHATMODE_NONE; bool menu_active = false; diff --git a/src/game/client/gc_client.h b/src/game/client/gc_client.h index 2ab558f3..15df5dc2 100644 --- a/src/game/client/gc_client.h +++ b/src/game/client/gc_client.h @@ -51,6 +51,8 @@ extern player_core predicted_player; // input extern NETOBJ_PLAYER_INPUT input_data; +extern int input_direction_left; +extern int input_direction_right; // debug extern int64 debug_firedelay; diff --git a/src/game/client/gc_console.cpp b/src/game/client/gc_console.cpp index 935aac91..76bf7218 100644 --- a/src/game/client/gc_console.cpp +++ b/src/game/client/gc_console.cpp @@ -424,8 +424,8 @@ void client_console_init() MACRO_REGISTER_COMMAND("emote", "i", con_emote, 0); // game commands - MACRO_REGISTER_COMMAND("+left", "", con_key_input_state, &input_data.left); - MACRO_REGISTER_COMMAND("+right", "", con_key_input_state, &input_data.right); + MACRO_REGISTER_COMMAND("+left", "", con_key_input_state, &input_direction_left); + MACRO_REGISTER_COMMAND("+right", "", con_key_input_state, &input_direction_right); MACRO_REGISTER_COMMAND("+jump", "", con_key_input_state, &input_data.jump); MACRO_REGISTER_COMMAND("+hook", "", con_key_input_state, &input_data.hook); MACRO_REGISTER_COMMAND("+fire", "", con_key_input_counter, &input_data.fire); diff --git a/src/game/client/gc_hooks.cpp b/src/game/client/gc_hooks.cpp index 81090ca4..36e166d4 100644 --- a/src/game/client/gc_hooks.cpp +++ b/src/game/client/gc_hooks.cpp @@ -375,8 +375,7 @@ extern "C" int modc_snap_input(int *data) // we freeze the input if chat or menu is activated if(menu_active || chat_mode != CHATMODE_NONE || console_active()) { - last_data.left = 0; - last_data.right = 0; + last_data.direction = 0; last_data.hook = 0; last_data.jump = 0; @@ -390,7 +389,13 @@ extern "C" int modc_snap_input(int *data) input_data.target_y = (int)mouse_pos.y; if(!input_data.target_x && !input_data.target_y) input_data.target_y = 1; - + + // set direction + input_data.direction = 0; + if(input_direction_left && !input_direction_right) + input_data.direction = -1; + if(!input_direction_left && input_direction_right) + input_data.direction = 1; // stress testing if(config.dbg_stress) @@ -398,8 +403,7 @@ extern "C" int modc_snap_input(int *data) float t = client_localtime(); mem_zero(&input_data, sizeof(input_data)); - input_data.left = ((int)t/2)&1; - input_data.right = ((int)t/2+1)&1; + input_data.direction = ((int)t/2)&1; input_data.jump = ((int)t); input_data.fire = ((int)(t*10)); input_data.hook = ((int)(t*2))&1; @@ -410,9 +414,7 @@ extern "C" int modc_snap_input(int *data) // check if we need to send input bool send = false; - if(input_data.left != last_data.left) send = true; - else if(input_data.left != last_data.left) send = true; - else if(input_data.right != last_data.right) send = true; + if(input_data.direction != last_data.direction) send = true; else if(input_data.jump != last_data.jump) send = true; else if(input_data.fire != last_data.fire) send = true; else if(input_data.hook != last_data.hook) send = true; |