Stephen LARROQUE | 3 Dec 13:01 2014
Picon

How to record mover state from server (not using game engine)

Hello,

I made a server-side demo patch for OpenArena+ioquake3 last year, and since then the patch worked quite well on my servers, except for one problem: the mover states aren't recorded, and this produces a crashing error when trying to replay demos on maps with mover objects:

"Reached_BinaryMover: bad moverState"

I have looked throughout the sourcecode but I can't find a way to access those mover states from server-side (using only files inside the /code/server/ folder).

My question: is there a way to do so? How mover objects are seen from server-side? Are those mover states (something like fromAtoB) really necessary?

Thank you for reading me and for any input on the subject.

Kind regards,
Stephen L.

<div><div dir="ltr">Hello,<div><br></div>
<div>I made a server-side demo patch for OpenArena+ioquake3 last year, and since then the patch worked quite well on my servers, except for one problem: the mover states aren't recorded, and this produces a crashing error when trying to replay demos on maps with mover objects:</div>
<div><br></div>
<div>"Reached_BinaryMover: bad moverState"<br>
</div>
<div><br></div>
<div>I have looked throughout the sourcecode but I can't find a way to access those mover states from server-side (using only files inside the /code/server/ folder).</div>
<div><br></div>
<div>My question: is there a way to do so? How mover objects are seen from server-side? Are those mover states (something like fromAtoB) really necessary?</div>
<div><br></div>
<div>Thank you for reading me and for any input on the subject.</div>
<div><br></div>
<div>Kind regards,</div>
<div>Stephen L.</div>
<div><br></div>
</div></div>
Stephen LARROQUE | 3 Dec 12:49 2014
Picon

Patch proposal: server-side demos

Hi there,

I made a patch to record server-side demos, and I propose that it is added to the ioquake3 page listing third-party patches:


Initially it was made for OpenArena, but later it was ported to OpenArena+ioquake3.

I have used this patch successfully for a whole year on my game servers running OpenArena, so it seems pretty stable (apart from a flaw which prevent replaying demos on maps with mover objects).

The patch has been designed as an external module, so all the core code is implemented inside the following files:

/code/server/sv_demo.c
/code/server/sv_demo_ext.c

A few hooks have to be added to some of the main ioquake3 core files, but they were kept to a minimum to ease portability.

A few technical notes: this patch is completely server-side, meaning this is NOT a game engine mod, thus you only have to replace your server's binary executable, and the server-side demos can be recorded for any mod.

The sourcecode (opensource of course) and more infos are available at the following repo:

I am also open to feedback so feel free to tell me your experience if you try this patch.

Stephen Larroque
<div><div dir="ltr">Hi there,<div><br></div>
<div>I made a patch to record server-side demos, and I propose that it is added to the ioquake3 page listing third-party patches:</div>
<div><br></div>
<div>
<a href="http://ioquake3.org/extras/patches/">http://ioquake3.org/extras/patches/</a><br>
</div>
<div><br></div>
<div>Initially it was made for OpenArena, but later it was ported to OpenArena+ioquake3.</div>
<div><br></div>
<div>I have used this patch successfully for a whole year on my game servers running OpenArena, so it seems pretty stable (apart from a flaw which prevent replaying demos on maps with mover objects).</div>
<div><br></div>
<div>The patch has been designed as an external module, so all the core code is implemented inside the following files:</div>
<div><br></div>
<div>/code/server/sv_demo.c</div>
<div>/code/server/sv_demo_ext.c</div>
<div><br></div>
<div>A few hooks have to be added to some of the main ioquake3 core files, but they were kept to a minimum to ease portability.</div>
<div><br></div>
<div>A few technical notes: this patch is completely server-side, meaning this is NOT a game engine mod, thus you only have to replace your server's binary executable, and the server-side demos can be recorded for any mod.</div>
<div><br></div>
<div>The sourcecode (opensource of course) and more infos are available at the following repo:</div>
<div>
<a href="https://github.com/lrq3000/openarena_engine_serversidedemos/">https://github.com/lrq3000/openarena_engine_serversidedemos/</a><br>
</div>
<div><br></div>
<div>I am also open to feedback so feel free to tell me your experience if you try this patch.</div>
<div><br></div>
<div>Stephen Larroque</div>
</div></div>
Ludwig Nussel | 24 Oct 13:59 2014
Picon

ARM VM completed

Hi,

Another Hackweek, another try. ARMv7 VM is here:
https://github.com/ioquake/ioq3/pull/91

It doesn't do any optimization, just 1:1 translation of QVM ops to
ARM. The server runs fine at least. I don't have actual client
hardware to test with though.

So if you have ARMv7 hardware with 3D drivers I'd be interested to
hear
- if the new VM works at all
- what the performance difference to the interpreted VM is. Esp for
  non baseq3 mods.

cu
Ludwig

--

-- 
 (o_   Ludwig Nussel
 //\
 V_/_  http://www.suse.de/
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix
Imend├Ârffer, HRB 16746 (AG N├╝rnberg)
_______________________________________________
ioquake3 mailing list
ioquake3 <at> lists.ioquake.org
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.
Vincent P. Ellis | 23 Mar 23:19 2014

Managing pull requests

There are lot's of PR's piling up on ioquake3's GitHub page: https://github.com/ioquake/ioq3/pulls
 
Some of them are crap, some of them are useful and a few are pure gold. Why isn't there a discussion on this list, or on GitHub itself, about each PR? And why isn't anyone accepting or rejecting them? People are trying to contribute, but end up just being ignored.


Vincent Ellis
C/C++ Technician
vincent-jjFNsPSvq+iXDw4h08c5KA@public.gmane.org
El Paso, TX
<div><span><span>There are lot's of PR's piling up on ioquake3's GitHub page:&nbsp;https://github.com/ioquake/ioq3/pulls<div>&nbsp;</div>
<div>Some of them are crap, some of them are useful and a few are pure gold. Why isn't there a discussion on this list, or on GitHub itself, about each PR? And why isn't anyone accepting or rejecting them? People are trying to contribute, but end up just being ignored.</div>
<div>
<br><br><span><span>Vincent&nbsp;Ellis<br>C/C++&nbsp;Technician<br>vincent@...<br>El&nbsp;Paso,&nbsp;TX</span></span>
</div></span></span></div>
Philip Herron | 9 Dec 13:09 2013
Picon

Standalone Games

Hey

I was hoping to ask how feasible is it to use your game engine to
develop standalone games not quake 3 client. Wondering could you
infact develop a strategy game for example with this?

Or how feasible would be it or maybe i should look else where?

--Phil
Vincent P. Ellis | 26 Nov 13:06 2013

Custom TTF fonts in GUI

I've read a little bit about the TTF support in ioquake, but i'm curious about using TTF fonts in the UI code. Right now, it's only using bitmapped fonts. Is there an easy way of replacing those, or is it too cumbersome?

Vincent Ellis
C/C++ Technician
vincent <at> linuxmail.org
El Paso, TX
<div><span><span>I've read a little bit about the TTF support in ioquake, but i'm curious about using TTF fonts in the UI code. Right now, it's only using bitmapped fonts. Is there an easy way of replacing those, or is it too cumbersome?<br><br><span><span>Vincent&nbsp;Ellis<br>C/C++&nbsp;Technician<br>vincent <at> linuxmail.org<br>El&nbsp;Paso,&nbsp;TX</span></span></span></span></div>
Vincent P. Ellis | 25 Nov 22:27 2013

CFG files inside baseq3

Why there are so many .cfg files with bot names in baseq3? What's their purpose?
 
Vincent Ellis
C/C++ Technician
vincent-jjFNsPSvq+iXDw4h08c5KA@public.gmane.org
El Paso, TX
<div><span><span><div>
<div><span><span><span><span>Why there are so many .cfg files with bot names in baseq3? What's their purpose?</span></span></span></span></div>
<div>&nbsp;</div>
<div><span><span><span><span><span><span>Vincent&nbsp;Ellis<br>C/C++&nbsp;Technician<br>vincent@...<br>El&nbsp;Paso,&nbsp;TX</span></span></span></span></span></span></div>
</div></span></span></div>
Vincent P. Ellis | 25 Nov 19:02 2013

Standalone based on TA

Using ioquake3, how can we create a standalone game based on TA? Which configuration has to be done?

Vincent Ellis
C/C++ Technician
vincent-jjFNsPSvq+iXDw4h08c5KA@public.gmane.org
El Paso, TX
<div><span><span><div><span><span>Using ioquake3, how can we create a standalone game based on TA? Which configuration has to be done?<br><br><span><span>Vincent&nbsp;Ellis<br>C/C++&nbsp;Technician<br>vincent@...<br>El&nbsp;Paso,&nbsp;TX</span></span></span></span></div></span></span></div>
Dominic Fandrey | 9 Sep 11:22 2013
Picon

Unescaped glop pattern character in sed expression

The * in the sed expression is likely to be interpreted by the shell
and should be escaped.

-- 
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? 
diff -r 2ada1d090a6f Makefile
--- a/Makefile	Sun Sep 08 21:59:58 2013 -0500
+++ b/Makefile	Mon Sep 09 11:21:03 2013 +0200
 <at>  <at>  -4,7 +4,7  <at>  <at> 
 # GNU Make required
 #

-COMPILE_PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]'|sed -e 's/\//_/g')
+COMPILE_PLATFORM=$(shell uname|sed -e 's/_.*//'|tr '[:upper:]' '[:lower:]'|sed -e 's/\//_/g')

 COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/x86/)

diff -r 2ada1d090a6f Makefile
--- a/Makefile	Sun Sep 08 21:59:58 2013 -0500
+++ b/Makefile	Mon Sep 09 11:21:03 2013 +0200
 <at>  <at>  -4,7 +4,7  <at>  <at> 
 # GNU Make required
 #

-COMPILE_PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]'|sed -e 's/\//_/g')
+COMPILE_PLATFORM=$(shell uname|sed -e 's/_.*//'|tr '[:upper:]' '[:lower:]'|sed -e 's/\//_/g')

 COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/x86/)

Dominic Fandrey | 9 Sep 11:20 2013
Picon

Why does TOOLS_CC not default to CC?

Is there a good reason for this? I'd expect TOOLS_CC = $(CC) would be
a reasonable default. Or at least TOOLS_CC = cc, which is guaranteed
to exist, unlike gcc, the current default (and not available on
FreeBSD-10).

--

-- 
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? 
Dominic Fandrey | 9 Sep 11:04 2013
Picon

Makefile fixes for FreeBSD

Fix CFLAGS for OpenAL and cURL.

-- 
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? 
diff -r 27359e57fd46 Makefile
--- a/Makefile	Thu Jul 25 10:23:54 2013 +0200
+++ b/Makefile	Mon Sep 09 11:02:53 2013 +0200
 <at>  <at>  -665,14 +665,16  <at>  <at> 

   # optional features/libraries
   ifeq ($(USE_OPENAL),1)
-    ifeq ($(USE_OPENAL_DLOPEN),1)
-      CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+    CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
+    ifneq ($(USE_LOCAL_HEADERS),1)
+      CLIENT_CFLAGS += $(OPENAL_CFLAGS)
     endif
   endif

   ifeq ($(USE_CURL),1)
-    ifeq ($(USE_CURL_DLOPEN),1)
-      CLIENT_LIBS += -lcurl
+    CLIENT_LIBS += $(CURL_LIBS)
+    ifneq ($(USE_LOCAL_HEADERS),1)
+      CLIENT_CFLAGS += $(CURL_CFLAGS)
     endif
   endif

diff -r 27359e57fd46 Makefile
--- a/Makefile	Thu Jul 25 10:23:54 2013 +0200
+++ b/Makefile	Mon Sep 09 11:02:53 2013 +0200
 <at>  <at>  -665,14 +665,16  <at>  <at> 

   # optional features/libraries
   ifeq ($(USE_OPENAL),1)
-    ifeq ($(USE_OPENAL_DLOPEN),1)
-      CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+    CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
+    ifneq ($(USE_LOCAL_HEADERS),1)
+      CLIENT_CFLAGS += $(OPENAL_CFLAGS)
     endif
   endif

   ifeq ($(USE_CURL),1)
-    ifeq ($(USE_CURL_DLOPEN),1)
-      CLIENT_LIBS += -lcurl
+    CLIENT_LIBS += $(CURL_LIBS)
+    ifneq ($(USE_LOCAL_HEADERS),1)
+      CLIENT_CFLAGS += $(CURL_CFLAGS)
     endif
   endif


Gmane