Git Product home page Git Product logo

Comments (26)

ensiform avatar ensiform commented on June 27, 2024

Not an engine bug, it's a design feature in the server side mod code.

It is set by the worldspawn code when it checks for gravity key existing, and overrides the cvar even if it's default in g_spawn.c

https://github.com/ec-/baseq3a/blob/master/code/game/g_spawn.c#L570-L571

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Not an engine bug, it's a design feature in the server side mod code.

It is set by the worldspawn code when it checks for gravity key existing, and overrides the cvar even if it's default in g_spawn.c

https://github.com/ec-/baseq3a/blob/master/code/game/g_spawn.c#L570-L571

How does that by definition not make it a bug rather than a feature? Shouldn't g_gravity be read-only if it's not meant to be overriden? It certainly makes server setup less flexible.

from quake3e.

The-Gig avatar The-Gig commented on June 27, 2024

Maybe at idsoftware they thought that losing the custom gravity on a map restart was better than risking to end up bringing the old custom gravity to a new map which could end up making it unplayable? Or maybe they just didn't care.
Afaik, the only workaround is using some mod which has got its own workaround. As example, OpenArena introduced g_gravitymodifier (default 1.0) as an alternative to tweaking g_gravity.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Maybe at idsoftware they thought that losing the custom gravity on a map restart was better than risking to end up bringing the old custom gravity to a new map which could end up making it unplayable? Or maybe they just didn't care. Afaik, the only workaround is using some mod which has got its own workaround. As example, OpenArena introduced g_gravitymodifier (default 1.0) as an alternative to tweaking g_gravity.

I just added a couple of custom pk3s I created to the mods we use and it seems to be working. Thanks for your help. :)

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

Not an engine bug, it's a design feature in the server side mod code.
It is set by the worldspawn code when it checks for gravity key existing, and overrides the cvar even if it's default in g_spawn.c
https://github.com/ec-/baseq3a/blob/master/code/game/g_spawn.c#L570-L571

How does that by definition not make it a bug rather than a feature? Shouldn't g_gravity be read-only if it's not meant to be overriden? It certainly makes server setup less flexible.

It is a feature of the gamecode portion, it is irrelevant of which engine is used. Fix it in ec-/baseq3a perhaps but you will not "fix" it in Quake3e or other engine without nasty workarounds. They obviously wished it to remain default on load so that switching from low gravity maps would not retain it that way on purpose.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Not an engine bug, it's a design feature in the server side mod code.
It is set by the worldspawn code when it checks for gravity key existing, and overrides the cvar even if it's default in g_spawn.c
https://github.com/ec-/baseq3a/blob/master/code/game/g_spawn.c#L570-L571

How does that by definition not make it a bug rather than a feature? Shouldn't g_gravity be read-only if it's not meant to be overriden? It certainly makes server setup less flexible.

It is a feature of the gamecode portion, it is irrelevant of which engine is used. Fix it in ec-/baseq3a perhaps but you will not "fix" it in Quake3e or other engine without nasty workarounds. They obviously wished it to remain default on load so that switching from low gravity maps would not retain it that way on purpose.

Unfortunately, my fix did not work. I need to get the original source code for one of the mods, and I'm just going to assume that isn't happening with the other one since it's OSP.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

g_gravity is fixed, but everything else is broken lol.

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

Well of course, it is a change that requires game.qvm be updated. If you wish to use OSP mod then you are SOL. Must be a mod with which the source code is available.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Well of course, it is a change that requires game.qvm be updated. If you wish to use OSP mod then you are SOL. Must be a mod with which the source code is available.

Which sucks. I'm trying to get the community to migrate to OSP Freeze Tag instead of the Freeze Tag mod we've been using, but without being able to set g_gravity to 700, I'm dead in the water. I can't even set this using a static map rotation in OSP for some reason like I can with our current mod. I could probably get the source code for our current mod once one of the members returns a message, but that doesn't really help at all. Just means we'll be able to remove g_gravity from the rotation file. Ugh.

from quake3e.

The-Gig avatar The-Gig commented on June 27, 2024

I think years ago I read about the existence of a qvm decompiler, but I don't know how well it works and how much legal it is, nor where to find it.
An alternative for you could be using customized maps, with tweaked gravity in worldspawn entity... You can learn the entities-only editing trick: https://openarena.fandom.com/wiki/Entities-only_editing
But pay attention to do not spread your custom versions of the maps around the internet with the same names!!!!

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

I mean are there no other mods with freezetag?

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

I mean are there no other mods with freezetag?

Not that have the features I want. There are plenty of freezetag mods.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Oh I might be able to make this happen with both OSP and the Freeze Tag mod we're using. It seems there is no game.qvm in either mod so it must be using the baseq3 game.qvm so if I only put that one file in the vm file in the pk3, it should work I hope...

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

It definitely is using a dll/so or qvm. Osp is mostly server side.

The VM folder contains the qvm in the full install

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

It definitely is using a dll/so or qvm. Osp is mostly server side

It's using qagame.qvm

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

It definitely is using a dll/so or qvm. Osp is mostly server side

It's using qagame.qvm

Same damn thing.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

It definitely is using a dll/so or qvm. Osp is mostly server side

It's using qagame.qvm

Same damn thing.

I don't think that setting is in qagame.qvm. I can't override it anyway though, because there's another qvm file in one of the pk3s. I mean I can override it, but I won't be able to connect without the game crashing and a lot of other issues. Server will be up with custom gravity, but not playable. Trying to find a workaround, but probably not going to happen.

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

Forget trying to override any qvm files for mods you do not have the source code for.

This is a non starter. Nothing for you to replace. If you replace qvm with something else, you're no longer running the mod that you intend (OSP). It's all or nothing unfortunately.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

So it looks like my option are to create a new freeze mod from scratch, get the source code for our current freeze mod and port the OSP functionality that I want into that, or hope the OSP author still checks his email and is willing to make this change for me. None of those options sound too great over such a trivial setting that my community happens to like. Ugh.

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

OSP has been dead for years at this point so that is out of the question afaik. Why exactly can't you just put the setting in map configs for each map or in the rotation?

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

I can with our current freeze mod, but utilizing the exact same rotation config in OSP while disabling using the map pool doesn't seem to work. I've also tried using configmap q3dm1 00 16 dt_gravity.cfg to set it in the map pool file, but setting g_gravity 700 in dt_gravity.cfg doesn't seem to work either.

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

You might be able to achieve something by using https://github.com/thecybermind/qmm but it will require compiling also, and may degrade qvm improvements in the engine itself.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

You might be able to achieve something by using https://github.com/thecybermind/qmm but it will require compiling also, and may degrade qvm improvements in the engine itself.

I'd have to revert to the x86 server, but that could work. Thanks. I'll try it out.

from quake3e.

ensiform avatar ensiform commented on June 27, 2024

Well yes, but I guess it could be made to compile for x64 server. Though that requires coding experience.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Well yes, but I guess it could be made to compile for x64 server. Though that requires coding experience.

Requires a bit of time also which I'm a bit short of at the moment. I'll probably fork it and port it to x64 at some point, but between work, running a gaming community, competing in a tournament, and adult responsibilities, time is not on my side. I'd rather test it first and make sure it works anyway since porting it would be a waste of time otherwise.

from quake3e.

Kr3m avatar Kr3m commented on June 27, 2024

Okay well I figured it out and got it working. Not exactly the way I wanted to get it working, but meh.

from quake3e.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.