Xonotic Forums
New QuakeC virtual machine - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12)
+--- Thread: New QuakeC virtual machine (/showthread.php?tid=7465)



New QuakeC virtual machine - Lyberta - 06-21-2017

So I've decided to write a new QC virtual machine for the Daemon port of Xonotic. DarkPlaces is written in C which is way too old and rewriting it would be slower than starting fresh. I've used the code that is already in the Daemon port but it had quite a few bugs and few very strange and non-portable design decisions. In the result I've rewritten about 90% of it.

Here's the git repo: https://gitlab.com/ftz/qcvm

The code is fully documented and designed to be read by a lot of people.

Now the only thing that is left to port Xonotic to Daemon is to implement all builtin functions. This library has 45 such functions already implemented.


RE: New QuakeC virtual machine - Antares* - 06-21-2017

Am I the only one who doesn't want to deal with vector snapping in Quake 3 (based) engines?


RE: New QuakeC virtual machine - Lyberta - 06-21-2017

(06-21-2017, 07:09 PM)Antares* Wrote: Am I the only one who doesn't want to deal with vector snapping in Quake 3 (based) engines?

What is it?


RE: New QuakeC virtual machine - Antares* - 06-22-2017

https://www.q3df.org/forum/viewtopic.php?p=3516#p3516
Or the terminology was velocity snapping.

I don't have first hand experience with it; it was something brought up while playing Race CTS with someone. The way it was presented, was that if the map was rotated to align with 45 degrees, players would be (slightly) slower than if it wasn't- and slightly slower is the a big difference in a mode fighting over fractions of a second.
It'll be largely imperceivable if someone decided to port a map, but then rotate a bit to troll people.


RE: New QuakeC virtual machine - Lyberta - 06-23-2017

It can easily be removed.


RE: New QuakeC virtual machine - poVoq - 07-13-2017

That's actually really cool! Thanks for speeding the Daemon port along with this!


RE: New QuakeC virtual machine - poVoq - 07-14-2017

(06-21-2017, 01:32 PM)Lyberta Wrote: Now the only thing that is left to port Xonotic to Daemon is to implement all builtin functions. This library has 45 such functions already implemented.

For us non-experts: 45 out of how many approximately to get Xonotic / QC pogs code compiled with gmqcc running on this?


RE: New QuakeC virtual machine - Lyberta - 07-14-2017

Server-side QC: 300.
Client-side QC: 345.
Menu QC: 212.


RE: New QuakeC virtual machine - poVoq - 07-14-2017

Uh, ok... that significantly dampens my enthusiasm for this and explains why the original Xonotic to Daemon porting plan was never getting anywhere. Still great work and lets see where this goes.