summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Angus <tim@ngus.net>2001-07-25 19:51:49 +0000
committerTim Angus <tim@ngus.net>2001-07-25 19:51:49 +0000
commitede090a62f34f856e84904cad61670d5920cbc4d (patch)
treed2809d95b4c591d6722a708bc532d84e5f5599ef
parentc4771d2a8707609f9908e4dcc5eb7cbb7c10ed36 (diff)
QVM based MP3 player :)
-rw-r--r--Makefile7
-rw-r--r--depend633
-rw-r--r--src/cgame/cg_consolecmds.c25
-rw-r--r--src/cgame/cg_local.h73
-rw-r--r--src/cgame/cg_main.c2
-rw-r--r--src/cgame/cg_mem.c215
-rw-r--r--src/game/bg_public.h1
-rw-r--r--src/game/g_local.h3
-rw-r--r--src/game/g_mem.c218
-rw-r--r--src/game/q_shared.h5
10 files changed, 767 insertions, 415 deletions
diff --git a/Makefile b/Makefile
index 63b56761..5d946a08 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ GOBJ = \
$(GDIRNAME)/bg_misc.o \
$(GDIRNAME)/bg_pmove.o \
$(GDIRNAME)/bg_slidemove.o \
+ $(GDIRNAME)/g_mem.o \
$(GDIRNAME)/q_math.o \
$(GDIRNAME)/q_shared.o \
$(GDIRNAME)/g_active.o \
@@ -25,7 +26,6 @@ GOBJ = \
$(GDIRNAME)/g_combat.o \
$(GDIRNAME)/g_items.o \
$(GDIRNAME)/g_buildable.o \
- $(GDIRNAME)/g_mem.o \
$(GDIRNAME)/g_misc.o \
$(GDIRNAME)/g_missile.o \
$(GDIRNAME)/g_mover.o \
@@ -64,8 +64,9 @@ CGOBJ = \
$(CGDIRNAME)/cg_view.o \
$(CGDIRNAME)/cg_weapons.o \
$(CGDIRNAME)/cg_creep.o \
- $(CGDIRNAME)/cg_scanner.o \
- $(CGDIRNAME)/cg_mem.o
+ $(CGDIRNAME)/cg_mem.o \
+ $(CGDIRNAME)/cg_mp3decoder.o \
+ $(CGDIRNAME)/cg_scanner.o
UIOBJ = \
$(UIDIRNAME)/ui_main.o \
diff --git a/depend b/depend
index 47a81ffd..cd71ee5c 100644
--- a/depend
+++ b/depend
@@ -1,1021 +1,1036 @@
-releasei386-glibc/game/bg_lib.o: ./src//game/bg_lib.c src/game/q_shared.h \
+releasei386-glibc/game/bg_lib.o: ./src/game/bg_lib.c src/game/q_shared.h \
src/game/surfaceflags.h
-releasei386-glibc/game/bg_misc.o: ./src//game/bg_misc.c src/game/q_shared.h \
+releasei386-glibc/game/bg_misc.o: ./src/game/bg_misc.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h
-releasei386-glibc/game/bg_pmove.o: ./src//game/bg_pmove.c src/game/q_shared.h \
+releasei386-glibc/game/bg_pmove.o: ./src/game/bg_pmove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-releasei386-glibc/game/bg_slidemove.o: ./src//game/bg_slidemove.c src/game/q_shared.h \
+releasei386-glibc/game/bg_slidemove.o: ./src/game/bg_slidemove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-releasei386-glibc/game/g_active.o: ./src//game/g_active.c src/game/g_local.h \
+releasei386-glibc/game/g_active.o: ./src/game/g_active.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_arenas.o: ./src//game/g_arenas.c src/game/g_local.h \
+releasei386-glibc/game/g_arenas.o: ./src/game/g_arenas.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_buildable.o: ./src//game/g_buildable.c src/game/g_local.h \
+releasei386-glibc/game/g_buildable.o: ./src/game/g_buildable.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_client.o: ./src//game/g_client.c src/game/g_local.h \
+releasei386-glibc/game/g_client.o: ./src/game/g_client.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_cmds.o: ./src//game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
+releasei386-glibc/game/g_cmds.o: ./src/game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h src/game/../ta_ui/menudef.h
-releasei386-glibc/game/g_combat.o: ./src//game/g_combat.c src/game/g_local.h \
+releasei386-glibc/game/g_combat.o: ./src/game/g_combat.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_creep.o: ./src//game/g_creep.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_items.o: ./src//game/g_items.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_main.o: ./src//game/g_main.c src/game/g_local.h src/game/q_shared.h \
+releasei386-glibc/game/g_items.o: ./src/game/g_items.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-releasei386-glibc/game/g_mem.o: ./src//game/g_mem.c src/game/g_local.h src/game/q_shared.h \
+releasei386-glibc/game/g_main.o: ./src/game/g_main.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-releasei386-glibc/game/g_misc.o: ./src//game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+releasei386-glibc/game/g_mem.o: ./src/game/g_mem.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-releasei386-glibc/game/g_missile.o: ./src//game/g_missile.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_mover.o: ./src//game/g_mover.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_session.o: ./src//game/g_session.c src/game/g_local.h \
+releasei386-glibc/game/g_misc.o: ./src/game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+releasei386-glibc/game/g_missile.o: ./src/game/g_missile.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_spawn.o: ./src//game/g_spawn.c src/game/g_local.h \
+releasei386-glibc/game/g_mover.o: ./src/game/g_mover.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+releasei386-glibc/game/g_session.o: ./src/game/g_session.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_svcmds.o: ./src//game/g_svcmds.c src/game/g_local.h \
+releasei386-glibc/game/g_spawn.o: ./src/game/g_spawn.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+releasei386-glibc/game/g_svcmds.o: ./src/game/g_svcmds.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_syscalls.o: ./src//game/g_syscalls.c src/game/g_local.h \
+releasei386-glibc/game/g_syscalls.o: ./src/game/g_syscalls.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_target.o: ./src//game/g_target.c src/game/g_local.h \
+releasei386-glibc/game/g_target.o: ./src/game/g_target.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_team.o: ./src//game/g_team.c src/game/g_local.h src/game/q_shared.h \
+releasei386-glibc/game/g_team.o: ./src/game/g_team.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-releasei386-glibc/game/g_trigger.o: ./src//game/g_trigger.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_utils.o: ./src//game/g_utils.c src/game/g_local.h \
+releasei386-glibc/game/g_trigger.o: ./src/game/g_trigger.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/g_weapon.o: ./src//game/g_weapon.c src/game/g_local.h \
+releasei386-glibc/game/g_utils.o: ./src/game/g_utils.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+releasei386-glibc/game/g_weapon.o: ./src/game/g_weapon.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-releasei386-glibc/game/q_math.o: ./src//game/q_math.c src/game/q_shared.h \
+releasei386-glibc/game/q_math.o: ./src/game/q_math.c src/game/q_shared.h \
src/game/surfaceflags.h
-releasei386-glibc/game/q_shared.o: ./src//game/q_shared.c src/game/q_shared.h \
+releasei386-glibc/game/q_shared.o: ./src/game/q_shared.c src/game/q_shared.h \
src/game/surfaceflags.h
-debugi386-glibc/game/bg_lib.o: ./src//game/bg_lib.c src/game/q_shared.h \
+debugi386-glibc/game/bg_lib.o: ./src/game/bg_lib.c src/game/q_shared.h \
src/game/surfaceflags.h
-debugi386-glibc/game/bg_misc.o: ./src//game/bg_misc.c src/game/q_shared.h \
+debugi386-glibc/game/bg_misc.o: ./src/game/bg_misc.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h
-debugi386-glibc/game/bg_pmove.o: ./src//game/bg_pmove.c src/game/q_shared.h \
+debugi386-glibc/game/bg_pmove.o: ./src/game/bg_pmove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-debugi386-glibc/game/bg_slidemove.o: ./src//game/bg_slidemove.c src/game/q_shared.h \
+debugi386-glibc/game/bg_slidemove.o: ./src/game/bg_slidemove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-debugi386-glibc/game/g_active.o: ./src//game/g_active.c src/game/g_local.h \
+debugi386-glibc/game/g_active.o: ./src/game/g_active.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_arenas.o: ./src//game/g_arenas.c src/game/g_local.h \
+debugi386-glibc/game/g_arenas.o: ./src/game/g_arenas.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_buildable.o: ./src//game/g_buildable.c src/game/g_local.h \
+debugi386-glibc/game/g_buildable.o: ./src/game/g_buildable.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_client.o: ./src//game/g_client.c src/game/g_local.h \
+debugi386-glibc/game/g_client.o: ./src/game/g_client.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_cmds.o: ./src//game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
+debugi386-glibc/game/g_cmds.o: ./src/game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h src/game/../ta_ui/menudef.h
-debugi386-glibc/game/g_combat.o: ./src//game/g_combat.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_creep.o: ./src//game/g_creep.c src/game/g_local.h \
+debugi386-glibc/game/g_combat.o: ./src/game/g_combat.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_items.o: ./src//game/g_items.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_main.o: ./src//game/g_main.c src/game/g_local.h src/game/q_shared.h \
+debugi386-glibc/game/g_items.o: ./src/game/g_items.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-debugi386-glibc/game/g_mem.o: ./src//game/g_mem.c src/game/g_local.h src/game/q_shared.h \
+debugi386-glibc/game/g_main.o: ./src/game/g_main.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-debugi386-glibc/game/g_misc.o: ./src//game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+debugi386-glibc/game/g_mem.o: ./src/game/g_mem.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-debugi386-glibc/game/g_missile.o: ./src//game/g_missile.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_mover.o: ./src//game/g_mover.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_session.o: ./src//game/g_session.c src/game/g_local.h \
+debugi386-glibc/game/g_misc.o: ./src/game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+debugi386-glibc/game/g_missile.o: ./src/game/g_missile.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_spawn.o: ./src//game/g_spawn.c src/game/g_local.h \
+debugi386-glibc/game/g_mover.o: ./src/game/g_mover.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+debugi386-glibc/game/g_session.o: ./src/game/g_session.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_svcmds.o: ./src//game/g_svcmds.c src/game/g_local.h \
+debugi386-glibc/game/g_spawn.o: ./src/game/g_spawn.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+debugi386-glibc/game/g_svcmds.o: ./src/game/g_svcmds.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_syscalls.o: ./src//game/g_syscalls.c src/game/g_local.h \
+debugi386-glibc/game/g_syscalls.o: ./src/game/g_syscalls.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_target.o: ./src//game/g_target.c src/game/g_local.h \
+debugi386-glibc/game/g_target.o: ./src/game/g_target.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_team.o: ./src//game/g_team.c src/game/g_local.h src/game/q_shared.h \
+debugi386-glibc/game/g_team.o: ./src/game/g_team.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-debugi386-glibc/game/g_trigger.o: ./src//game/g_trigger.c src/game/g_local.h \
+debugi386-glibc/game/g_trigger.o: ./src/game/g_trigger.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_utils.o: ./src//game/g_utils.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/g_weapon.o: ./src//game/g_weapon.c src/game/g_local.h \
+debugi386-glibc/game/g_utils.o: ./src/game/g_utils.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+debugi386-glibc/game/g_weapon.o: ./src/game/g_weapon.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-debugi386-glibc/game/q_math.o: ./src//game/q_math.c src/game/q_shared.h \
+debugi386-glibc/game/q_math.o: ./src/game/q_math.c src/game/q_shared.h \
src/game/surfaceflags.h
-debugi386-glibc/game/q_shared.o: ./src//game/q_shared.c src/game/q_shared.h \
+debugi386-glibc/game/q_shared.o: ./src/game/q_shared.c src/game/q_shared.h \
src/game/surfaceflags.h
-qvm/game/bg_lib.asm: ./src//game/bg_lib.c src/game/q_shared.h \
+qvm/game/bg_lib.asm: ./src/game/bg_lib.c src/game/q_shared.h \
src/game/surfaceflags.h
-qvm/game/bg_misc.asm: ./src//game/bg_misc.c src/game/q_shared.h \
+qvm/game/bg_misc.asm: ./src/game/bg_misc.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h
-qvm/game/bg_pmove.asm: ./src//game/bg_pmove.c src/game/q_shared.h \
+qvm/game/bg_pmove.asm: ./src/game/bg_pmove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-qvm/game/bg_slidemove.asm: ./src//game/bg_slidemove.c src/game/q_shared.h \
+qvm/game/bg_slidemove.asm: ./src/game/bg_slidemove.c src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/bg_local.h
-qvm/game/g_active.asm: ./src//game/g_active.c src/game/g_local.h \
+qvm/game/g_active.asm: ./src/game/g_active.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_arenas.asm: ./src//game/g_arenas.c src/game/g_local.h \
+qvm/game/g_arenas.asm: ./src/game/g_arenas.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_buildable.asm: ./src//game/g_buildable.c src/game/g_local.h \
+qvm/game/g_buildable.asm: ./src/game/g_buildable.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_client.asm: ./src//game/g_client.c src/game/g_local.h \
+qvm/game/g_client.asm: ./src/game/g_client.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_cmds.asm: ./src//game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
+qvm/game/g_cmds.asm: ./src/game/g_cmds.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h src/game/../ta_ui/menudef.h
-qvm/game/g_combat.asm: ./src//game/g_combat.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-qvm/game/g_creep.asm: ./src//game/g_creep.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-qvm/game/g_items.asm: ./src//game/g_items.c src/game/g_local.h \
+qvm/game/g_combat.asm: ./src/game/g_combat.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_main.asm: ./src//game/g_main.c src/game/g_local.h src/game/q_shared.h \
+qvm/game/g_items.asm: ./src/game/g_items.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-qvm/game/g_mem.asm: ./src//game/g_mem.c src/game/g_local.h src/game/q_shared.h \
+qvm/game/g_main.asm: ./src/game/g_main.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-qvm/game/g_misc.asm: ./src//game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+qvm/game/g_mem.asm: ./src/game/g_mem.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-qvm/game/g_missile.asm: ./src//game/g_missile.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-qvm/game/g_mover.asm: ./src//game/g_mover.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-qvm/game/g_session.asm: ./src//game/g_session.c src/game/g_local.h \
+qvm/game/g_misc.asm: ./src/game/g_misc.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+qvm/game/g_missile.asm: ./src/game/g_missile.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_spawn.asm: ./src//game/g_spawn.c src/game/g_local.h \
+qvm/game/g_mover.asm: ./src/game/g_mover.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+qvm/game/g_session.asm: ./src/game/g_session.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_svcmds.asm: ./src//game/g_svcmds.c src/game/g_local.h \
+qvm/game/g_spawn.asm: ./src/game/g_spawn.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+qvm/game/g_svcmds.asm: ./src/game/g_svcmds.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_syscalls.asm: ./src//game/g_syscalls.c src/game/g_local.h \
+qvm/game/g_syscalls.asm: ./src/game/g_syscalls.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_target.asm: ./src//game/g_target.c src/game/g_local.h \
+qvm/game/g_target.asm: ./src/game/g_target.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_team.asm: ./src//game/g_team.c src/game/g_local.h src/game/q_shared.h \
+qvm/game/g_team.asm: ./src/game/g_team.c src/game/g_local.h src/game/q_shared.h \
src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
src/game/g_team.h
-qvm/game/g_trigger.asm: ./src//game/g_trigger.c src/game/g_local.h \
- src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
- src/game/g_public.h src/game/g_team.h
-qvm/game/g_utils.asm: ./src//game/g_utils.c src/game/g_local.h \
+qvm/game/g_trigger.asm: ./src/game/g_trigger.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/g_weapon.asm: ./src//game/g_weapon.c src/game/g_local.h \
+qvm/game/g_utils.asm: ./src/game/g_utils.c src/game/g_local.h src/game/q_shared.h \
+ src/game/surfaceflags.h src/game/bg_public.h src/game/g_public.h \
+ src/game/g_team.h
+qvm/game/g_weapon.asm: ./src/game/g_weapon.c src/game/g_local.h \
src/game/q_shared.h src/game/surfaceflags.h src/game/bg_public.h \
src/game/g_public.h src/game/g_team.h
-qvm/game/q_math.asm: ./src//game/q_math.c src/game/q_shared.h \
+qvm/game/q_math.asm: ./src/game/q_math.c src/game/q_shared.h \
src/game/surfaceflags.h
-qvm/game/q_shared.asm: ./src//game/q_shared.c src/game/q_shared.h \
+qvm/game/q_shared.asm: ./src/game/q_shared.c src/game/q_shared.h \
src/game/surfaceflags.h
-releasei386-glibc/cgame/cg_consolecmds.o: ./src//cgame/cg_consolecmds.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_buildable.o: ./src/cgame/cg_buildable.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_creep.o: ./src//cgame/cg_creep.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_consolecmds.o: ./src/cgame/cg_consolecmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_draw.o: ./src//cgame/cg_draw.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_creep.o: ./src/cgame/cg_creep.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_drawtools.o: ./src//cgame/cg_drawtools.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_draw.o: ./src/cgame/cg_draw.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_effects.o: ./src//cgame/cg_effects.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_drawtools.o: ./src/cgame/cg_drawtools.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_ents.o: ./src//cgame/cg_ents.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_effects.o: ./src/cgame/cg_effects.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_event.o: ./src//cgame/cg_event.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_ents.o: ./src/cgame/cg_ents.c src/cgame/cg_local.h \
+ src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
+ src/cgame/tr_types.h src/cgame/../game/bg_public.h \
+ src/cgame/cg_public.h
+releasei386-glibc/cgame/cg_event.o: ./src/cgame/cg_event.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-releasei386-glibc/cgame/cg_info.o: ./src//cgame/cg_info.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_info.o: ./src/cgame/cg_info.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_localents.o: ./src//cgame/cg_localents.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_localents.o: ./src/cgame/cg_localents.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_main.o: ./src//cgame/cg_main.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_main.o: ./src/cgame/cg_main.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_marks.o: ./src//cgame/cg_marks.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_marks.o: ./src/cgame/cg_marks.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_mem.o: ./src//cgame/cg_mem.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_mem.o: ./src/cgame/cg_mem.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_players.o: ./src//cgame/cg_players.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_mp3decoder.o: ./src/cgame/cg_mp3decoder.c src/cgame/cg_mp3decoder.h \
+ src/cgame/cg_local.h src/cgame/../game/q_shared.h \
+ src/cgame/../game/surfaceflags.h src/cgame/tr_types.h \
+ src/cgame/../game/bg_public.h src/cgame/cg_public.h
+releasei386-glibc/cgame/cg_players.o: ./src/cgame/cg_players.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_playerstate.o: ./src//cgame/cg_playerstate.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_playerstate.o: ./src/cgame/cg_playerstate.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_predict.o: ./src//cgame/cg_predict.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_predict.o: ./src/cgame/cg_predict.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_scanner.o: ./src//cgame/cg_scanner.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_scanner.o: ./src/cgame/cg_scanner.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_scoreboard.o: ./src//cgame/cg_scoreboard.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_scoreboard.o: ./src/cgame/cg_scoreboard.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_servercmds.o: ./src//cgame/cg_servercmds.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_servercmds.o: ./src/cgame/cg_servercmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-releasei386-glibc/cgame/cg_snapshot.o: ./src//cgame/cg_snapshot.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_snapshot.o: ./src/cgame/cg_snapshot.c src/cgame/cg_local.h \
+ src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
+ src/cgame/tr_types.h src/cgame/../game/bg_public.h \
+ src/cgame/cg_public.h
+releasei386-glibc/cgame/cg_syscalls.o: ./src/cgame/cg_syscalls.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_syscalls.o: ./src//cgame/cg_syscalls.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_view.o: ./src/cgame/cg_view.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_view.o: ./src//cgame/cg_view.c src/cgame/cg_local.h \
+releasei386-glibc/cgame/cg_weapons.o: ./src/cgame/cg_weapons.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/cgame/cg_weapons.o: ./src//cgame/cg_weapons.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_buildable.o: ./src/cgame/cg_buildable.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_consolecmds.o: ./src//cgame/cg_consolecmds.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_consolecmds.o: ./src/cgame/cg_consolecmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_creep.o: ./src//cgame/cg_creep.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_creep.o: ./src/cgame/cg_creep.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_draw.o: ./src//cgame/cg_draw.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_draw.o: ./src/cgame/cg_draw.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_drawtools.o: ./src//cgame/cg_drawtools.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_drawtools.o: ./src/cgame/cg_drawtools.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_effects.o: ./src//cgame/cg_effects.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_effects.o: ./src/cgame/cg_effects.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_ents.o: ./src//cgame/cg_ents.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_ents.o: ./src/cgame/cg_ents.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_event.o: ./src//cgame/cg_event.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_event.o: ./src/cgame/cg_event.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-debugi386-glibc/cgame/cg_info.o: ./src//cgame/cg_info.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_info.o: ./src/cgame/cg_info.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_localents.o: ./src//cgame/cg_localents.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_localents.o: ./src/cgame/cg_localents.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_main.o: ./src//cgame/cg_main.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_main.o: ./src/cgame/cg_main.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_marks.o: ./src//cgame/cg_marks.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_marks.o: ./src/cgame/cg_marks.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_mem.o: ./src//cgame/cg_mem.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_mem.o: ./src/cgame/cg_mem.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_players.o: ./src//cgame/cg_players.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_mp3decoder.o: ./src/cgame/cg_mp3decoder.c src/cgame/cg_mp3decoder.h \
+ src/cgame/cg_local.h src/cgame/../game/q_shared.h \
+ src/cgame/../game/surfaceflags.h src/cgame/tr_types.h \
+ src/cgame/../game/bg_public.h src/cgame/cg_public.h
+debugi386-glibc/cgame/cg_players.o: ./src/cgame/cg_players.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_playerstate.o: ./src//cgame/cg_playerstate.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_playerstate.o: ./src/cgame/cg_playerstate.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_predict.o: ./src//cgame/cg_predict.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_predict.o: ./src/cgame/cg_predict.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_scanner.o: ./src//cgame/cg_scanner.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_scanner.o: ./src/cgame/cg_scanner.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_scoreboard.o: ./src//cgame/cg_scoreboard.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_scoreboard.o: ./src/cgame/cg_scoreboard.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_servercmds.o: ./src//cgame/cg_servercmds.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_servercmds.o: ./src/cgame/cg_servercmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-debugi386-glibc/cgame/cg_snapshot.o: ./src//cgame/cg_snapshot.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_snapshot.o: ./src/cgame/cg_snapshot.c src/cgame/cg_local.h \
+ src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
+ src/cgame/tr_types.h src/cgame/../game/bg_public.h \
+ src/cgame/cg_public.h
+debugi386-glibc/cgame/cg_syscalls.o: ./src/cgame/cg_syscalls.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_syscalls.o: ./src//cgame/cg_syscalls.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_view.o: ./src/cgame/cg_view.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_view.o: ./src//cgame/cg_view.c src/cgame/cg_local.h \
+debugi386-glibc/cgame/cg_weapons.o: ./src/cgame/cg_weapons.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-debugi386-glibc/cgame/cg_weapons.o: ./src//cgame/cg_weapons.c src/cgame/cg_local.h \
+qvm/cgame/cg_buildable.asm: ./src/cgame/cg_buildable.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_consolecmds.asm: ./src//cgame/cg_consolecmds.c src/cgame/cg_local.h \
+qvm/cgame/cg_consolecmds.asm: ./src/cgame/cg_consolecmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_creep.asm: ./src//cgame/cg_creep.c src/cgame/cg_local.h \
+qvm/cgame/cg_creep.asm: ./src/cgame/cg_creep.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_draw.asm: ./src//cgame/cg_draw.c src/cgame/cg_local.h \
+qvm/cgame/cg_draw.asm: ./src/cgame/cg_draw.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_drawtools.asm: ./src//cgame/cg_drawtools.c src/cgame/cg_local.h \
+qvm/cgame/cg_drawtools.asm: ./src/cgame/cg_drawtools.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_effects.asm: ./src//cgame/cg_effects.c src/cgame/cg_local.h \
+qvm/cgame/cg_effects.asm: ./src/cgame/cg_effects.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_ents.asm: ./src//cgame/cg_ents.c src/cgame/cg_local.h \
+qvm/cgame/cg_ents.asm: ./src/cgame/cg_ents.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_event.asm: ./src//cgame/cg_event.c src/cgame/cg_local.h \
+qvm/cgame/cg_event.asm: ./src/cgame/cg_event.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-qvm/cgame/cg_info.asm: ./src//cgame/cg_info.c src/cgame/cg_local.h \
+qvm/cgame/cg_info.asm: ./src/cgame/cg_info.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_localents.asm: ./src//cgame/cg_localents.c src/cgame/cg_local.h \
+qvm/cgame/cg_localents.asm: ./src/cgame/cg_localents.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_main.asm: ./src//cgame/cg_main.c src/cgame/cg_local.h \
+qvm/cgame/cg_main.asm: ./src/cgame/cg_main.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_marks.asm: ./src//cgame/cg_marks.c src/cgame/cg_local.h \
+qvm/cgame/cg_marks.asm: ./src/cgame/cg_marks.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_mem.asm: ./src//cgame/cg_mem.c src/cgame/cg_local.h \
+qvm/cgame/cg_mem.asm: ./src/cgame/cg_mem.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_players.asm: ./src//cgame/cg_players.c src/cgame/cg_local.h \
+qvm/cgame/cg_mp3decoder.asm: ./src/cgame/cg_mp3decoder.c src/cgame/cg_mp3decoder.h \
+ src/cgame/cg_local.h src/cgame/../game/q_shared.h \
+ src/cgame/../game/surfaceflags.h src/cgame/tr_types.h \
+ src/cgame/../game/bg_public.h src/cgame/cg_public.h
+qvm/cgame/cg_players.asm: ./src/cgame/cg_players.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_playerstate.asm: ./src//cgame/cg_playerstate.c src/cgame/cg_local.h \
+qvm/cgame/cg_playerstate.asm: ./src/cgame/cg_playerstate.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_predict.asm: ./src//cgame/cg_predict.c src/cgame/cg_local.h \
+qvm/cgame/cg_predict.asm: ./src/cgame/cg_predict.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_scanner.asm: ./src//cgame/cg_scanner.c src/cgame/cg_local.h \
+qvm/cgame/cg_scanner.asm: ./src/cgame/cg_scanner.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_scoreboard.asm: ./src//cgame/cg_scoreboard.c src/cgame/cg_local.h \
+qvm/cgame/cg_scoreboard.asm: ./src/cgame/cg_scoreboard.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_servercmds.asm: ./src//cgame/cg_servercmds.c src/cgame/cg_local.h \
+qvm/cgame/cg_servercmds.asm: ./src/cgame/cg_servercmds.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h src/cgame/../ta_ui/menudef.h
-qvm/cgame/cg_snapshot.asm: ./src//cgame/cg_snapshot.c src/cgame/cg_local.h \
+qvm/cgame/cg_snapshot.asm: ./src/cgame/cg_snapshot.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_syscalls.asm: ./src//cgame/cg_syscalls.c src/cgame/cg_local.h \
+qvm/cgame/cg_syscalls.asm: ./src/cgame/cg_syscalls.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_view.asm: ./src//cgame/cg_view.c src/cgame/cg_local.h \
+qvm/cgame/cg_view.asm: ./src/cgame/cg_view.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-qvm/cgame/cg_weapons.asm: ./src//cgame/cg_weapons.c src/cgame/cg_local.h \
+qvm/cgame/cg_weapons.asm: ./src/cgame/cg_weapons.c src/cgame/cg_local.h \
src/cgame/../game/q_shared.h src/cgame/../game/surfaceflags.h \
src/cgame/tr_types.h src/cgame/../game/bg_public.h \
src/cgame/cg_public.h
-releasei386-glibc/q3_ui/ui_addbots.o: ./src//q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_addbots.o: ./src/q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_atoms.o: ./src//q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_atoms.o: ./src/q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_cdkey.o: ./src//q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_cdkey.o: ./src/q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_cinematics.o: ./src//q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_cinematics.o: ./src/q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_confirm.o: ./src//q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_confirm.o: ./src/q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_connect.o: ./src//q3_ui/ui_connect.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_connect.o: ./src/q3_ui/ui_connect.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_controls2.o: ./src//q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_controls2.o: ./src/q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_credits.o: ./src//q3_ui/ui_credits.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_credits.o: ./src/q3_ui/ui_credits.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_demo2.o: ./src//q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_demo2.o: ./src/q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_display.o: ./src//q3_ui/ui_display.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_display.o: ./src/q3_ui/ui_display.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_dynamicmenu.o: ./src//q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_dynamicmenu.o: ./src/q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_gameinfo.o: ./src//q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_gameinfo.o: ./src/q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_ingame.o: ./src//q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_ingame.o: ./src/q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_loadconfig.o: ./src//q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_loadconfig.o: ./src/q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_login.o: ./src//q3_ui/ui_login.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_login.o: ./src/q3_ui/ui_login.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_main.o: ./src//q3_ui/ui_main.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_main.o: ./src/q3_ui/ui_main.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_menu.o: ./src//q3_ui/ui_menu.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_menu.o: ./src/q3_ui/ui_menu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_mfield.o: ./src//q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_mfield.o: ./src/q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_mods.o: ./src//q3_ui/ui_mods.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_mods.o: ./src/q3_ui/ui_mods.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_network.o: ./src//q3_ui/ui_network.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_network.o: ./src/q3_ui/ui_network.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_options.o: ./src//q3_ui/ui_options.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_options.o: ./src/q3_ui/ui_options.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_playermodel.o: ./src//q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_playermodel.o: ./src/q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_players.o: ./src//q3_ui/ui_players.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_players.o: ./src/q3_ui/ui_players.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_playersettings.o: ./src//q3_ui/ui_playersettings.c \
+releasei386-glibc/q3_ui/ui_playersettings.o: ./src/q3_ui/ui_playersettings.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_preferences.o: ./src//q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_preferences.o: ./src/q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_qmenu.o: ./src//q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_qmenu.o: ./src/q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_removebots.o: ./src//q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_removebots.o: ./src/q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_saveconfig.o: ./src//q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_saveconfig.o: ./src/q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_serverinfo.o: ./src//q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_serverinfo.o: ./src/q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_servers2.o: ./src//q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_servers2.o: ./src/q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_setup.o: ./src//q3_ui/ui_setup.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_setup.o: ./src/q3_ui/ui_setup.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_sound.o: ./src//q3_ui/ui_sound.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_sound.o: ./src/q3_ui/ui_sound.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_sparena.o: ./src//q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_sparena.o: ./src/q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_specifyserver.o: ./src//q3_ui/ui_specifyserver.c \
+releasei386-glibc/q3_ui/ui_specifyserver.o: ./src/q3_ui/ui_specifyserver.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_splevel.o: ./src//q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_splevel.o: ./src/q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_sppostgame.o: ./src//q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_sppostgame.o: ./src/q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_spreset.o: ./src//q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_spreset.o: ./src/q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_spskill.o: ./src//q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_spskill.o: ./src/q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_startserver.o: ./src//q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_startserver.o: ./src/q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_syscalls.o: ./src//q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_syscalls.o: ./src/q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_team.o: ./src//q3_ui/ui_team.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_team.o: ./src/q3_ui/ui_team.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_teamorders.o: ./src//q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_teamorders.o: ./src/q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-releasei386-glibc/q3_ui/ui_video.o: ./src//q3_ui/ui_video.c src/q3_ui/ui_local.h \
+releasei386-glibc/q3_ui/ui_video.o: ./src/q3_ui/ui_video.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_addbots.o: ./src//q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_addbots.o: ./src/q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_atoms.o: ./src//q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_atoms.o: ./src/q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_cdkey.o: ./src//q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_cdkey.o: ./src/q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_cinematics.o: ./src//q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_cinematics.o: ./src/q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_confirm.o: ./src//q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_confirm.o: ./src/q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_connect.o: ./src//q3_ui/ui_connect.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_connect.o: ./src/q3_ui/ui_connect.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_controls2.o: ./src//q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_controls2.o: ./src/q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_credits.o: ./src//q3_ui/ui_credits.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_credits.o: ./src/q3_ui/ui_credits.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_demo2.o: ./src//q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_demo2.o: ./src/q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_display.o: ./src//q3_ui/ui_display.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_display.o: ./src/q3_ui/ui_display.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_dynamicmenu.o: ./src//q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_dynamicmenu.o: ./src/q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_gameinfo.o: ./src//q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_gameinfo.o: ./src/q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_ingame.o: ./src//q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_ingame.o: ./src/q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_loadconfig.o: ./src//q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_loadconfig.o: ./src/q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_login.o: ./src//q3_ui/ui_login.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_login.o: ./src/q3_ui/ui_login.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_main.o: ./src//q3_ui/ui_main.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_main.o: ./src/q3_ui/ui_main.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_menu.o: ./src//q3_ui/ui_menu.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_menu.o: ./src/q3_ui/ui_menu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_mfield.o: ./src//q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_mfield.o: ./src/q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_mods.o: ./src//q3_ui/ui_mods.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_mods.o: ./src/q3_ui/ui_mods.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_network.o: ./src//q3_ui/ui_network.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_network.o: ./src/q3_ui/ui_network.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_options.o: ./src//q3_ui/ui_options.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_options.o: ./src/q3_ui/ui_options.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_playermodel.o: ./src//q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_playermodel.o: ./src/q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_players.o: ./src//q3_ui/ui_players.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_players.o: ./src/q3_ui/ui_players.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_playersettings.o: ./src//q3_ui/ui_playersettings.c \
+debugi386-glibc/q3_ui/ui_playersettings.o: ./src/q3_ui/ui_playersettings.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_preferences.o: ./src//q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_preferences.o: ./src/q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_qmenu.o: ./src//q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_qmenu.o: ./src/q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_removebots.o: ./src//q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_removebots.o: ./src/q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_saveconfig.o: ./src//q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_saveconfig.o: ./src/q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_serverinfo.o: ./src//q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_serverinfo.o: ./src/q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_servers2.o: ./src//q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_servers2.o: ./src/q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_setup.o: ./src//q3_ui/ui_setup.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_setup.o: ./src/q3_ui/ui_setup.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_sound.o: ./src//q3_ui/ui_sound.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_sound.o: ./src/q3_ui/ui_sound.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_sparena.o: ./src//q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_sparena.o: ./src/q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_specifyserver.o: ./src//q3_ui/ui_specifyserver.c \
+debugi386-glibc/q3_ui/ui_specifyserver.o: ./src/q3_ui/ui_specifyserver.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_splevel.o: ./src//q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_splevel.o: ./src/q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_sppostgame.o: ./src//q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_sppostgame.o: ./src/q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_spreset.o: ./src//q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_spreset.o: ./src/q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_spskill.o: ./src//q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_spskill.o: ./src/q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_startserver.o: ./src//q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_startserver.o: ./src/q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_syscalls.o: ./src//q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_syscalls.o: ./src/q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_team.o: ./src//q3_ui/ui_team.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_team.o: ./src/q3_ui/ui_team.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_teamorders.o: ./src//q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_teamorders.o: ./src/q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-debugi386-glibc/q3_ui/ui_video.o: ./src//q3_ui/ui_video.c src/q3_ui/ui_local.h \
+debugi386-glibc/q3_ui/ui_video.o: ./src/q3_ui/ui_video.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_addbots.asm: ./src//q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_addbots.asm: ./src/q3_ui/ui_addbots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_atoms.asm: ./src//q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_atoms.asm: ./src/q3_ui/ui_atoms.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_cdkey.asm: ./src//q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_cdkey.asm: ./src/q3_ui/ui_cdkey.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_cinematics.asm: ./src//q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_cinematics.asm: ./src/q3_ui/ui_cinematics.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_confirm.asm: ./src//q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_confirm.asm: ./src/q3_ui/ui_confirm.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_connect.asm: ./src//q3_ui/ui_connect.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_connect.asm: ./src/q3_ui/ui_connect.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_controls2.asm: ./src//q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_controls2.asm: ./src/q3_ui/ui_controls2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_credits.asm: ./src//q3_ui/ui_credits.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_credits.asm: ./src/q3_ui/ui_credits.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_demo2.asm: ./src//q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_demo2.asm: ./src/q3_ui/ui_demo2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_display.asm: ./src//q3_ui/ui_display.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_display.asm: ./src/q3_ui/ui_display.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_dynamicmenu.asm: ./src//q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_dynamicmenu.asm: ./src/q3_ui/ui_dynamicmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_gameinfo.asm: ./src//q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_gameinfo.asm: ./src/q3_ui/ui_gameinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_ingame.asm: ./src//q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_ingame.asm: ./src/q3_ui/ui_ingame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_loadconfig.asm: ./src//q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_loadconfig.asm: ./src/q3_ui/ui_loadconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_login.asm: ./src//q3_ui/ui_login.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_login.asm: ./src/q3_ui/ui_login.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_main.asm: ./src//q3_ui/ui_main.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_main.asm: ./src/q3_ui/ui_main.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_menu.asm: ./src//q3_ui/ui_menu.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_menu.asm: ./src/q3_ui/ui_menu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_mfield.asm: ./src//q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_mfield.asm: ./src/q3_ui/ui_mfield.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_mods.asm: ./src//q3_ui/ui_mods.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_mods.asm: ./src/q3_ui/ui_mods.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_network.asm: ./src//q3_ui/ui_network.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_network.asm: ./src/q3_ui/ui_network.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_options.asm: ./src//q3_ui/ui_options.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_options.asm: ./src/q3_ui/ui_options.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_playermodel.asm: ./src//q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_playermodel.asm: ./src/q3_ui/ui_playermodel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_players.asm: ./src//q3_ui/ui_players.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_players.asm: ./src/q3_ui/ui_players.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_playersettings.asm: ./src//q3_ui/ui_playersettings.c \
+qvm/q3_ui/ui_playersettings.asm: ./src/q3_ui/ui_playersettings.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_preferences.asm: ./src//q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_preferences.asm: ./src/q3_ui/ui_preferences.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_qmenu.asm: ./src//q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_qmenu.asm: ./src/q3_ui/ui_qmenu.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_removebots.asm: ./src//q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_removebots.asm: ./src/q3_ui/ui_removebots.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_saveconfig.asm: ./src//q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_saveconfig.asm: ./src/q3_ui/ui_saveconfig.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_serverinfo.asm: ./src//q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_serverinfo.asm: ./src/q3_ui/ui_serverinfo.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_servers2.asm: ./src//q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_servers2.asm: ./src/q3_ui/ui_servers2.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_setup.asm: ./src//q3_ui/ui_setup.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_setup.asm: ./src/q3_ui/ui_setup.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_sound.asm: ./src//q3_ui/ui_sound.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_sound.asm: ./src/q3_ui/ui_sound.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_sparena.asm: ./src//q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_sparena.asm: ./src/q3_ui/ui_sparena.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_specifyserver.asm: ./src//q3_ui/ui_specifyserver.c \
+qvm/q3_ui/ui_specifyserver.asm: ./src/q3_ui/ui_specifyserver.c \
src/q3_ui/ui_local.h src/q3_ui/../game/q_shared.h \
src/q3_ui/../game/surfaceflags.h src/q3_ui/../cgame/tr_types.h \
src/q3_ui/../ui/ui_public.h src/q3_ui/keycodes.h \
src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_splevel.asm: ./src//q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_splevel.asm: ./src/q3_ui/ui_splevel.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_sppostgame.asm: ./src//q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_sppostgame.asm: ./src/q3_ui/ui_sppostgame.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_spreset.asm: ./src//q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_spreset.asm: ./src/q3_ui/ui_spreset.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_spskill.asm: ./src//q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_spskill.asm: ./src/q3_ui/ui_spskill.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_startserver.asm: ./src//q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_startserver.asm: ./src/q3_ui/ui_startserver.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_syscalls.asm: ./src//q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_syscalls.asm: ./src/q3_ui/ui_syscalls.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_team.asm: ./src//q3_ui/ui_team.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_team.asm: ./src/q3_ui/ui_team.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_teamorders.asm: ./src//q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_teamorders.asm: ./src/q3_ui/ui_teamorders.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
-qvm/q3_ui/ui_video.asm: ./src//q3_ui/ui_video.c src/q3_ui/ui_local.h \
+qvm/q3_ui/ui_video.asm: ./src/q3_ui/ui_video.c src/q3_ui/ui_local.h \
src/q3_ui/../game/q_shared.h src/q3_ui/../game/surfaceflags.h \
src/q3_ui/../cgame/tr_types.h src/q3_ui/../ui/ui_public.h \
src/q3_ui/keycodes.h src/q3_ui/../game/bg_public.h
diff --git a/src/cgame/cg_consolecmds.c b/src/cgame/cg_consolecmds.c
index d0529c62..db613646 100644
--- a/src/cgame/cg_consolecmds.c
+++ b/src/cgame/cg_consolecmds.c
@@ -179,7 +179,7 @@ CG_StartOrbit_f
static void CG_StartOrbit_f( void ) {
if (cg_cameraOrbit.value != 0) {
- trap_Cvar_Set ("cg_cameraOrbit", "0");
+ trap_Cvar_Set("cg_cameraOrbit", "0");
trap_Cvar_Set("cg_thirdPerson", "0");
} else {
trap_Cvar_Set("cg_cameraOrbit", "5");
@@ -242,6 +242,28 @@ static void CG_ClientMenu( const char *menuname )
trap_SendConsoleCommand( va( "%s not defined", menuname ) );
}
+/*
+==================
+CG_DecodeMP3_f
+==================
+*/
+void CG_DecodeMP3_f( void )
+{
+ char mp3file[ MAX_QPATH ];
+ char wavfile[ MAX_QPATH ];
+
+ if( trap_Argc() < 2 )
+ {
+ CG_Printf( "usage: decodeMP3 <mp3file> <wavfile>\n" );
+ return;
+ }
+
+ Q_strncpyz( mp3file, CG_Argv( 1 ), MAX_QPATH );
+ Q_strncpyz( wavfile, CG_Argv( 2 ), MAX_QPATH );
+
+ S_decodeMP3( mp3file, wavfile );
+}
+
typedef struct {
char *cmd;
void (*function)(void);
@@ -270,6 +292,7 @@ static consoleCommand_t commands[] = {
{ "vtell_attacker", CG_VoiceTellAttacker_f },
{ "tcmd", CG_TargetCommand_f },
{ "startOrbit", CG_StartOrbit_f },
+ { "decodeMP3", CG_DecodeMP3_f },
{ "loaddeferred", CG_LoadDeferredPlayers }
};
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index c66ce5fe..0e398258 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -36,56 +36,56 @@
// by the server in the server stored userinfos, or stashed in a cvar.
-#define POWERUP_BLINKS 5
+#define POWERUP_BLINKS 5
#define POWERUP_BLINK_TIME 1000
-#define FADE_TIME 200
-#define PULSE_TIME 200
+#define FADE_TIME 200
+#define PULSE_TIME 200
#define DAMAGE_DEFLECT_TIME 100
#define DAMAGE_RETURN_TIME 400
-#define DAMAGE_TIME 500
-#define LAND_DEFLECT_TIME 150
-#define LAND_RETURN_TIME 300
-#define STEP_TIME 200
-#define DUCK_TIME 100
-#define PAIN_TWITCH_TIME 200
+#define DAMAGE_TIME 500
+#define LAND_DEFLECT_TIME 150
+#define LAND_RETURN_TIME 300
+#define STEP_TIME 200
+#define DUCK_TIME 100
+#define PAIN_TWITCH_TIME 200
#define WEAPON_SELECT_TIME 1400
-#define ITEM_SCALEUP_TIME 1000
-#define ZOOM_TIME 150
-#define ITEM_BLOB_TIME 200
-#define MUZZLE_FLASH_TIME 20
-#define SINK_TIME 1000 // time for fragments to sink into ground before going away
+#define ITEM_SCALEUP_TIME 1000
+#define ZOOM_TIME 150
+#define ITEM_BLOB_TIME 200
+#define MUZZLE_FLASH_TIME 20
+#define SINK_TIME 1000 // time for fragments to sink into ground before going away
#define ATTACKER_HEAD_TIME 10000
-#define REWARD_TIME 3000
+#define REWARD_TIME 3000
-#define PULSE_SCALE 1.5 // amount to scale up the icons when activating
+#define PULSE_SCALE 1.5 // amount to scale up the icons when activating
-#define MAX_STEP_CHANGE 32
+#define MAX_STEP_CHANGE 32
-#define MAX_VERTS_ON_POLY 10
-#define MAX_MARK_POLYS 256
+#define MAX_VERTS_ON_POLY 10
+#define MAX_MARK_POLYS 256
-#define STAT_MINUS 10 // num frame for '-' stats digit
+#define STAT_MINUS 10 // num frame for '-' stats digit
-#define ICON_SIZE 48
-#define CHAR_WIDTH 32
-#define CHAR_HEIGHT 48
-#define TEXT_ICON_SPACE 4
+#define ICON_SIZE 48
+#define CHAR_WIDTH 32
+#define CHAR_HEIGHT 48
+#define TEXT_ICON_SPACE 4
-#define TEAMCHAT_WIDTH 80
-#define TEAMCHAT_HEIGHT 8
+#define TEAMCHAT_WIDTH 80
+#define TEAMCHAT_HEIGHT 8
// very large characters
-#define GIANT_WIDTH 32
-#define GIANT_HEIGHT 48
+#define GIANT_WIDTH 32
+#define GIANT_HEIGHT 48
-#define NUM_CROSSHAIRS 10
+#define NUM_CROSSHAIRS 10
#define TEAM_OVERLAY_MAXNAME_WIDTH 12
#define TEAM_OVERLAY_MAXLOCATION_WIDTH 16
-#define DEFAULT_MODEL "sarge"
-#define DEFAULT_TEAM_MODEL "sarge"
+#define DEFAULT_MODEL "sarge"
+#define DEFAULT_TEAM_MODEL "sarge"
#define DEFAULT_TEAM_HEAD "sarge"
#define DEFAULT_REDTEAM_NAME "Stroggs"
@@ -1168,6 +1168,7 @@ extern vmCvar_t cg_bigFont;
extern vmCvar_t cg_noTaunt;
extern vmCvar_t cg_creepRes;
extern vmCvar_t cg_drawSurfNormal;
+extern vmCvar_t cg_debugAlloc;
//
// cg_main.c
@@ -1457,9 +1458,17 @@ void CG_TransitionPlayerState( playerState_t *ps, playerState_t *ops );
void CG_CheckChangedPredictableEvents( playerState_t *ps );
//
-//cg_mem.c
+// cg_mem.c
//
+void CG_InitMemory( void );
void *CG_Alloc( int size );
+void CG_Free( void *ptr );
+void CG_DefragmentMemory( void );
+
+//
+// cg_mp3decoder.c
+//
+qboolean S_decodeMP3( char *mp3File, char *wavFile );
//===============================================
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index 926f055c..dfe76d13 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -180,6 +180,7 @@ vmCvar_t cg_bigFont;
vmCvar_t cg_noTaunt;
vmCvar_t cg_creepRes;
vmCvar_t cg_drawSurfNormal;
+vmCvar_t cg_debugAlloc;
typedef struct {
@@ -259,6 +260,7 @@ cvarTable_t cvarTable[] = {
{ &cg_noVoiceText, "cg_noVoiceText", "0", CVAR_ARCHIVE },
{ &cg_creepRes, "cg_creepRes", "16", CVAR_ARCHIVE },
{ &cg_drawSurfNormal, "cg_drawSurfNormal", "0", CVAR_CHEAT },
+ { &cg_debugAlloc, "cg_debugAlloc", "0", 0 },
// the following variables are created in other parts of the system,
// but we also reference them here
diff --git a/src/cgame/cg_mem.c b/src/cgame/cg_mem.c
index 3490edb2..e4ef82ab 100644
--- a/src/cgame/cg_mem.c
+++ b/src/cgame/cg_mem.c
@@ -1,62 +1,191 @@
// Copyright (C) 1999-2000 Id Software, Inc.
//
//
-// g_mem.c
+// cg_mem.c
//
-//TA: hack to provide dynanmic allocation clientside
-
-/*
- * Portions Copyright (C) 2000-2001 Tim Angus
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* To assertain which portions are licensed under the LGPL and which are
- * licensed by Id Software, Inc. please run a diff between the equivalent
- * versions of the "Tremulous" modification and the unmodified "Quake3"
- * game source code.
- */
-
+// Golliwog: All rewritten to allow deallocation
+//
+// TA: (very) minor changes for client side operation
+// thanks to Golliwog of Quake 3 Fortress ( http://www.q3f.com )
+// for this.
+
+
#include "cg_local.h"
+#define POOLSIZE (256 * 1024)
+#define FREEMEMCOOKIE ((int)0xDEADBE3F) // Any unlikely to be used value
+#define ROUNDBITS 31 // Round to 32 bytes
+
+struct freememnode
+{
+ // Size of ROUNDBITS
+ int cookie, size; // Size includes node (obviously)
+ struct freememnode *prev, *next;
+};
-#define POOLSIZE (256 * 1024)
+static char memoryPool[ POOLSIZE ];
+static struct freememnode *freehead;
+static int freemem;
-static char memoryPool[POOLSIZE];
-static int allocPoint;
+void *CG_Alloc( int size )
+{
+ // Find a free block and allocate.
+ // Does two passes, attempts to fill same-sized free slot first.
-void *CG_Alloc( int size ) {
- char *p;
+ struct freememnode *fmn, *prev, *next, *smallest;
+ int allocsize, smallestsize;
+ char *endptr;
+ int *ptr;
- /*if ( g_debugAlloc.integer ) {
- G_Printf( "CG_Alloc of %i bytes (%i left)\n", size, POOLSIZE - allocPoint - ( ( size + 31 ) & ~31 ) );
- }*/
+ allocsize = ( size + sizeof(int) + ROUNDBITS ) & ~ROUNDBITS; // Round to 32-byte boundary
+ ptr = NULL;
- if ( allocPoint + size > POOLSIZE ) {
- CG_Error( "CG_Alloc: failed on allocation of %u bytes\n", size );
- return NULL;
+ smallest = NULL;
+ smallestsize = POOLSIZE + 1; // Guaranteed not to miss any slots :)
+ for( fmn = freehead; fmn; fmn = fmn->next )
+ {
+ if( fmn->cookie != FREEMEMCOOKIE )
+ CG_Error( "CG_Alloc: Memory corruption detected!\n" );
+
+ if( fmn->size >= allocsize )
+ {
+ // We've got a block
+ if( fmn->size == allocsize )
+ {
+ // Same size, just remove
+
+ prev = fmn->prev;
+ next = fmn->next;
+ if( prev )
+ prev->next = next; // Point previous node to next
+ if( next )
+ next->prev = prev; // Point next node to previous
+ if( fmn == freehead )
+ freehead = next; // Set head pointer to next
+ ptr = (int *) fmn;
+ break; // Stop the loop, this is fine
+ }
+ else
+ {
+ // Keep track of the smallest free slot
+ if( fmn->size < smallestsize )
+ {
+ smallest = fmn;
+ smallestsize = fmn->size;
+ }
+ }
+ }
+ }
+
+ if( !ptr && smallest )
+ {
+ // We found a slot big enough
+ smallest->size -= allocsize;
+ endptr = (char *) smallest + smallest->size;
+ ptr = (int *) endptr;
}
- p = &memoryPool[allocPoint];
+ if( ptr )
+ {
+ freemem -= allocsize;
+ if( cg_debugAlloc.integer )
+ CG_Printf( "CG_Alloc of %i bytes (%i left)\n", allocsize, freemem );
+ memset( ptr, 0, allocsize );
+ *ptr++ = allocsize; // Store a copy of size for deallocation
+ return( (void *) ptr );
+ }
+
+ CG_Error( "CG_Alloc: failed on allocation of %i bytes\n", size );
+ return( NULL );
+}
+
+void CG_Free( void *ptr )
+{
+ // Release allocated memory, add it to the free list.
+
+ struct freememnode *fmn;
+ char *freeend;
+ int *freeptr;
+
+ freeptr = ptr;
+ freeptr--;
- allocPoint += ( size + 31 ) & ~31;
+ freemem += *freeptr;
+ if( cg_debugAlloc.integer )
+ CG_Printf( "CG_Free of %i bytes (%i left)\n", *freeptr, freemem );
- return p;
+ for( fmn = freehead; fmn; fmn = fmn->next )
+ {
+ freeend = ((char *) fmn) + fmn->size;
+ if( freeend == (char *) freeptr )
+ {
+ // Released block can be merged to an existing node
+
+ fmn->size += *freeptr; // Add size of node.
+ return;
+ }
+ }
+ // No merging, add to head of list
+
+ fmn = (struct freememnode *) freeptr;
+ fmn->size = *freeptr; // Set this first to avoid corrupting *freeptr
+ fmn->cookie = FREEMEMCOOKIE;
+ fmn->prev = NULL;
+ fmn->next = freehead;
+ freehead->prev = fmn;
+ freehead = fmn;
}
-void CG_InitMemory( void ) {
- allocPoint = 0;
+void CG_InitMemory( void )
+{
+ // Set up the initial node
+
+ freehead = (struct freememnode *) memoryPool;
+ freehead->cookie = FREEMEMCOOKIE;
+ freehead->size = POOLSIZE;
+ freehead->next = NULL;
+ freehead->prev = NULL;
+ freemem = sizeof(memoryPool);
}
+void CG_DefragmentMemory( void )
+{
+ // If there's a frenzy of deallocation and we want to
+ // allocate something big, this is useful. Otherwise...
+ // not much use.
+
+ struct freememnode *startfmn, *endfmn, *fmn;
+
+ for( startfmn = freehead; startfmn; )
+ {
+ endfmn = (struct freememnode *)(((char *) startfmn) + startfmn->size);
+ for( fmn = freehead; fmn; )
+ {
+ if( fmn->cookie != FREEMEMCOOKIE )
+ CG_Error( "CG_DefragmentMemory: Memory corruption detected!\n" );
+
+ if( fmn == endfmn )
+ {
+ // We can add fmn onto startfmn.
+
+ if( fmn->prev )
+ fmn->prev->next = fmn->next;
+ if( fmn->next )
+ {
+ if( !(fmn->next->prev = fmn->prev) )
+ freehead = fmn->next; // We're removing the head node
+ }
+ startfmn->size += fmn->size;
+ memset( fmn, 0, sizeof(struct freememnode) ); // A redundant call, really.
+
+ startfmn = freehead;
+ endfmn = fmn = NULL; // Break out of current loop
+ }
+ else
+ fmn = fmn->next;
+ }
+
+ if( endfmn )
+ startfmn = startfmn->next; // endfmn acts as a 'restart' flag here
+ }
+}
diff --git a/src/game/bg_public.h b/src/game/bg_public.h
index 37a6d367..4e7c3c2b 100644
--- a/src/game/bg_public.h
+++ b/src/game/bg_public.h
@@ -1022,4 +1022,3 @@ qboolean BG_gotWeapon( int weapon, int stats[ ] );*/
void AxisToAngles( vec3_t axis[3], vec3_t angles);
float arccos( float x );
#define Vector2Set(v, x, y) ((v)[0]=(x), (v)[1]=(y))
-
diff --git a/src/game/g_local.h b/src/game/g_local.h
index e1736309..3c49ab2f 100644
--- a/src/game/g_local.h
+++ b/src/game/g_local.h
@@ -728,12 +728,13 @@ void G_RunClient( gentity_t *ent );
qboolean OnSameTeam( gentity_t *ent1, gentity_t *ent2 );
void Team_CheckDroppedItem( gentity_t *dropped );
-
//
// g_mem.c
//
void *G_Alloc( int size );
void G_InitMemory( void );
+void G_Free( void *ptr );
+void G_DefragmentMemory( void );
void Svcmd_GameMem_f( void );
//
diff --git a/src/game/g_mem.c b/src/game/g_mem.c
index 9d78e816..1e2dc24a 100644
--- a/src/game/g_mem.c
+++ b/src/game/g_mem.c
@@ -3,37 +3,203 @@
//
// g_mem.c
//
+// Golliwog: All rewritten to allow deallocation
-/*
- * Portions Copyright (C) 2000-2001 Tim Angus
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* To assertain which portions are licensed under the LGPL and which are
- * licensed by Id Software, Inc. please run a diff between the equivalent
- * versions of the "Tremulous" modification and the unmodified "Quake3"
- * game source code.
- */
#include "g_local.h"
+#define POOLSIZE (256 * 1024)
+#define FREEMEMCOOKIE ((int)0xDEADBE3F) // Any unlikely to be used value
+#define ROUNDBITS 31 // Round to 32 bytes
-#define POOLSIZE (256 * 1024)
+struct freememnode
+{
+ // Size of ROUNDBITS
+ int cookie, size; // Size includes node (obviously)
+ struct freememnode *prev, *next;
+};
static char memoryPool[POOLSIZE];
+static struct freememnode *freehead;
+static int freemem;
+
+void *G_Alloc( int size )
+{
+ // Find a free block and allocate.
+ // Does two passes, attempts to fill same-sized free slot first.
+
+ struct freememnode *fmn, *prev, *next, *smallest;
+ int allocsize, smallestsize;
+ char *endptr;
+ int *ptr;
+
+ allocsize = ( size + sizeof(int) + ROUNDBITS ) & ~ROUNDBITS; // Round to 32-byte boundary
+ ptr = NULL;
+
+ smallest = NULL;
+ smallestsize = POOLSIZE + 1; // Guaranteed not to miss any slots :)
+ for( fmn = freehead; fmn; fmn = fmn->next )
+ {
+ if( fmn->cookie != FREEMEMCOOKIE )
+ G_Error( "G_Alloc: Memory corruption detected!\n" );
+
+ if( fmn->size >= allocsize )
+ {
+ // We've got a block
+ if( fmn->size == allocsize )
+ {
+ // Same size, just remove
+
+ prev = fmn->prev;
+ next = fmn->next;
+ if( prev )
+ prev->next = next; // Point previous node to next
+ if( next )
+ next->prev = prev; // Point next node to previous
+ if( fmn == freehead )
+ freehead = next; // Set head pointer to next
+ ptr = (int *) fmn;
+ break; // Stop the loop, this is fine
+ }
+ else
+ {
+ // Keep track of the smallest free slot
+ if( fmn->size < smallestsize )
+ {
+ smallest = fmn;
+ smallestsize = fmn->size;
+ }
+ }
+ }
+ }
+
+ if( !ptr && smallest )
+ {
+ // We found a slot big enough
+ smallest->size -= allocsize;
+ endptr = (char *) smallest + smallest->size;
+ ptr = (int *) endptr;
+ }
+
+ if( ptr )
+ {
+ freemem -= allocsize;
+ if( g_debugAlloc.integer )
+ G_Printf( "G_Alloc of %i bytes (%i left)\n", allocsize, freemem );
+ memset( ptr, 0, allocsize );
+ *ptr++ = allocsize; // Store a copy of size for deallocation
+ return( (void *) ptr );
+ }
+
+ G_Error( "G_Alloc: failed on allocation of %i bytes\n", size );
+ return( NULL );
+}
+
+void G_Free( void *ptr )
+{
+ // Release allocated memory, add it to the free list.
+
+ struct freememnode *fmn;
+ char *freeend;
+ int *freeptr;
+
+ freeptr = ptr;
+ freeptr--;
+
+ freemem += *freeptr;
+ if( g_debugAlloc.integer )
+ G_Printf( "G_Free of %i bytes (%i left)\n", *freeptr, freemem );
+
+ for( fmn = freehead; fmn; fmn = fmn->next )
+ {
+ freeend = ((char *) fmn) + fmn->size;
+ if( freeend == (char *) freeptr )
+ {
+ // Released block can be merged to an existing node
+
+ fmn->size += *freeptr; // Add size of node.
+ return;
+ }
+ }
+ // No merging, add to head of list
+
+ fmn = (struct freememnode *) freeptr;
+ fmn->size = *freeptr; // Set this first to avoid corrupting *freeptr
+ fmn->cookie = FREEMEMCOOKIE;
+ fmn->prev = NULL;
+ fmn->next = freehead;
+ freehead->prev = fmn;
+ freehead = fmn;
+}
+
+void G_InitMemory( void )
+{
+ // Set up the initial node
+
+ freehead = (struct freememnode *) memoryPool;
+ freehead->cookie = FREEMEMCOOKIE;
+ freehead->size = POOLSIZE;
+ freehead->next = NULL;
+ freehead->prev = NULL;
+ freemem = sizeof(memoryPool);
+}
+
+void G_DefragmentMemory( void )
+{
+ // If there's a frenzy of deallocation and we want to
+ // allocate something big, this is useful. Otherwise...
+ // not much use.
+
+ struct freememnode *startfmn, *endfmn, *fmn;
+
+ for( startfmn = freehead; startfmn; )
+ {
+ endfmn = (struct freememnode *)(((char *) startfmn) + startfmn->size);
+ for( fmn = freehead; fmn; )
+ {
+ if( fmn->cookie != FREEMEMCOOKIE )
+ G_Error( "G_DefragmentMemory: Memory corruption detected!\n" );
+
+ if( fmn == endfmn )
+ {
+ // We can add fmn onto startfmn.
+
+ if( fmn->prev )
+ fmn->prev->next = fmn->next;
+ if( fmn->next )
+ {
+ if( !(fmn->next->prev = fmn->prev) )
+ freehead = fmn->next; // We're removing the head node
+ }
+ startfmn->size += fmn->size;
+ memset( fmn, 0, sizeof(struct freememnode) ); // A redundant call, really.
+
+ startfmn = freehead;
+ endfmn = fmn = NULL; // Break out of current loop
+ }
+ else
+ fmn = fmn->next;
+ }
+
+ if( endfmn )
+ startfmn = startfmn->next; // endfmn acts as a 'restart' flag here
+ }
+}
+
+void Svcmd_GameMem_f( void )
+{
+ // Give a breakdown of memory
+
+ struct freememnode *fmn;
+
+ G_Printf( "Game memory status: %i out of %i bytes allocated\n", POOLSIZE - freemem, POOLSIZE );
+
+ for( fmn = freehead; fmn; fmn = fmn->next )
+ G_Printf( " %dd: %d bytes free.\n", fmn, fmn->size );
+ G_Printf( "Status complete.\n" );
+}
+
+/* Golliwog: All rewritten
static int allocPoint;
void *G_Alloc( int size ) {
@@ -44,7 +210,7 @@ void *G_Alloc( int size ) {
}
if ( allocPoint + size > POOLSIZE ) {
- G_Error( "G_Alloc: failed on allocation of %u bytes\n", size );
+ G_Error( "G_Alloc: failed on allocation of %i bytes\n", size );
return NULL;
}
@@ -62,3 +228,5 @@ void G_InitMemory( void ) {
void Svcmd_GameMem_f( void ) {
G_Printf( "Game memory status: %i out of %i bytes allocated\n", allocPoint, POOLSIZE );
}
+// Golliwog.
+*/
diff --git a/src/game/q_shared.h b/src/game/q_shared.h
index 895f1961..6faaced2 100644
--- a/src/game/q_shared.h
+++ b/src/game/q_shared.h
@@ -366,6 +366,11 @@ typedef int fixed16_t;
#define M_PI 3.14159265358979323846f // matches value in gcc v2 math.h
#endif
+//TA: stop telling others not to edit q_* <:)
+#ifndef M_SQRT2
+#define M_SQRT2 1.414213562f
+#endif
+
#define NUMVERTEXNORMALS 162
extern vec3_t bytedirs[NUMVERTEXNORMALS];