Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Precache is full alerts in console. Erratic results in gameplay. #1

Open
argonatorUberTF opened this issue May 18, 2020 · 1 comment

Comments

@argonatorUberTF
Copy link

Defect:
The current MVDSV .28bxe was modified in the source(which can be found on Deurk's repository) was last compiled and updated around 2010.
If has specific mods by Xavior for file read/write in Linux/Windows, finding and verifying filenames, and the coop-packet system(I think). many custom mods were addd.
The latest MVDSV will not run the compiled Quake C of MegaTF COOP, nor UberTF due to those mods. The server code will launch qwprogs.dat compile for the older Mega TF COOP and UberTF , but will crash with a "SV_ERROR" as soon as a client of any kind connects.
Question:
Does the latest version of MVDSV (.32-.33beta) allow more sound precache room and would stop the numerous console messages of sounds being played without being precached.
The sounds are precached, but there are console warnings that there is no room left to precache them.
However, all the extra sound effects and shouts and yells/taunts were temporarily disabled to see if that would prevent this, it did not.
All of the sounds are in the server in directories and the code attempts to precache them, but can't, the server can play them with a warning in the console.
There is a workaround using stuffcmd play (sound).wav .
The next tweak will be to get MVDSV .32 or later to run the compiled code.
There is no way to get the source update to fte64 compiler standards as numerous coding standards were not followed by the original authors. Things like:

Using th_pain with the wrong format or hax on it.
Several if statements contain unary switches.
The grappling hook code would have to be replaced to get rid of four warnings and a compile stop. (maybe put the painkeep one in there instead might work).
After about 10 warnings, FTE64 compiler will not proceed to make the qwprogs.dat anyway.
Even if it did, the version 7 file of progs.dat inside the qwprogs would only run on some server engines. (I did a limited code test compile and verified this)
Suggestion for resolution:
Redo the mods that xav did from the source integrating with mvdsv .32 or latest build.
Specifically add a precache_ sound3 function in quake C code to the engine hook that supports more that 1900 sound files. Or include a full 32 bit index counter for precache sound for engine as:
string (string s) precache_sound = #19; //AND
string (string s) precache_sound2 = #76;

Overall Status:
The server will continue to play more sounds, but with the console log growing to large sizes.
Admins will have to routinely scan for issues, mainly qerror logs, the rest can just be purged every week or so.

Is this possible to add more sound file precaching in this manner and even better perform a differential update to the XAV COOP MVDSV with the latest fixes to .32/.33 ?

I did attempt to build .32 and .33 on Linux and Windows and it will not run the custom qwprogs.dat from XAV or for UbertTF which is 99% similar in Quake C.

@argonatorUberTF
Copy link
Author

argonatorUberTF commented May 18, 2020

The erratic behavior is occasionally it will console log that entities are over 512, but some maps run with 1100 entities just fine. The server hangs in a loop with multiple messages at once to each client or when multiple sound effects are played simultaneously(not precached likely).
UberTF doesn't do packet say or exchange information with a hub server like MegaTF COOP Xavior's did, that code was disabled with returns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant