From 2a7402dd6c78e5b0e41bae57bfdd8aec57545f0d Mon Sep 17 00:00:00 2001 From: Joel de Vahl Date: Sun, 11 Jan 2009 12:10:30 +0000 Subject: use dmg for osx deliver, build universal binary, fix backspace being entered as a character --- src/engine/client/ec_snd.c | 11 +++++++---- src/game/client/components/menus.cpp | 2 +- src/game/editor/ed_editor.cpp | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/engine/client/ec_snd.c b/src/engine/client/ec_snd.c index a7219b65..ed66cc1f 100644 --- a/src/engine/client/ec_snd.c +++ b/src/engine/client/ec_snd.c @@ -36,7 +36,7 @@ typedef struct int pan; } CHANNEL; -typedef struct VOICE_t +typedef struct { SAMPLE *snd; CHANNEL *channel; @@ -59,6 +59,8 @@ static int center_y = 0; static int mixing_rate = 48000; static volatile int sound_volume = 100; +static int next_voice = 0; + void snd_set_channel(int cid, float vol, float pan) { channels[cid].vol = (int)(vol*255.0f); @@ -73,12 +75,13 @@ static int play(int cid, int sid, int flags, float x, float y) lock_wait(sound_lock); /* search for voice */ - /* TODO: fix this linear search */ for(i = 0; i < NUM_VOICES; i++) { - if(!voices[i].snd) + int id = (next_voice + i) % NUM_VOICES; + if(!voices[id].snd) { - vid = i; + vid = id; + next_voice = id+1; break; } } diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp index 3122a3bd..29372b62 100644 --- a/src/game/client/components/menus.cpp +++ b/src/game/client/components/menus.cpp @@ -240,7 +240,7 @@ int MENUS::ui_do_edit_box(void *id, const RECT *rect, char *str, int str_size, f if (at_index > len) at_index = len; - if (!(c >= 0 && c < 32)) + if (!(c >= 0 && c < 32) && c != 127) { if (len < str_size - 1 && at_index < str_size - 1) { diff --git a/src/game/editor/ed_editor.cpp b/src/game/editor/ed_editor.cpp index 6908484b..bc02d2b4 100644 --- a/src/game/editor/ed_editor.cpp +++ b/src/game/editor/ed_editor.cpp @@ -217,7 +217,7 @@ int ui_do_edit_box(void *id, const RECT *rect, char *str, int str_size, float fo if (at_index > len) at_index = len; - if (!(c >= 0 && c < 32)) + if (!(c >= 0 && c < 32) && c != 127) { if (len < str_size - 1 && at_index < str_size - 1) { -- cgit 1.4.1