Zandronum Chat on our Discord Server Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001351Zandronum[All Projects] Suggestionpublic2013-05-27 19:232018-09-30 21:49
ReporterIjon Tichy 
Assigned ToTorr Samaho 
PlatformOSOS Version
Product Version1.0 
Target Version3.0Fixed in Version3.0 
Summary0001351: Backport ZDoom revisions r4280, r4283, r4292 (Official CVar and User CVar support in ACS)
Description [^] [^] [^]

Basically, this adds official CVar support to ACS, removing one of the reasons for ConsoleCommand to exist. I'm normally not the sort of person to ask for a backport, but this feature is of such critical importance to Zandronum mods, which tend to define CVars of their own for server customization, and its addition would make ConsoleCommand almost completely useless.

The only thing left would be executing net scripts from the client to the server on ACS, but that's a different ticket.
Attached Files7z file icon setcvar.7z [^] (9,730 bytes) 2014-08-07 08:15

- Relationships
child of 0001070newDusk Phasing out the dangerous ConsoleCommand for various additional/improved ACS commands 
child of 0002172closedTorr Samaho Upgrade GZDoom base to 1.8.6 

-  Notes
User avatar (0006348)
Watermelon (developer)
2013-05-27 19:25

This would be great in helping phase out ConsoleCommand
User avatar (0006351)
TerminusEst13 (reporter)
2013-05-27 19:31

Not only great for helping phase out ConsoleCommand, but would help dramatically in bridging the gap between ZDoom and Zandronum. A lot of advanced ACS trickery works in Zandronum but not in ZDoom--now it's possible to use the advanced ACS trickery in ZDoom, but via an entirely different method that accomplishes the same result.

Making the methods the same would basically mean less difference between zdoom-specific builds for mods and Zandronum-specific builds.
User avatar (0006352)
Edward-san (developer)
2013-05-27 20:22

sorry, but this will happen after 1.1 comes out.
User avatar (0006453)
Torr Samaho (administrator)
2013-06-16 17:07

I agree that it would be very useful to have this, but I didn't check yet whether it would be feasible to backport this at the moment. I'll have a look and report back.
User avatar (0007739)
Torr Samaho (administrator)
2013-12-27 13:42

The implementation of this feature in ZDoom heavily relies on the changes made in ZDoom revision 4253 (revised userinfo handling). So 4253 would also need to be backported which is quite a bit of work on its own.
User avatar (0010135)
Torr Samaho (administrator)
2014-08-06 19:09
edited on: 2014-08-06 19:11

Since this is an important feature to get rid of ConsoleCommand, I backported the CVARINFO lump and the ACS functions SetCVar, GetCVarString and SetCVarString. This binary contains the backports, but is completely untested. Please test if it works as expected.

Note: I intentionally did not backport the user cvars.

User avatar (0010136)
Ijon Tichy (reporter)
2014-08-06 20:45
edited on: 2014-08-06 20:49

Before I do any serious tests, how do server CVars get handled in clientside scripts? Do they follow what the server says, or do they do what they do now and use what the client has them set to?

Edit: Also, is this on the Bitbucket repo? Because if so, I can't find it, and if not, I'll need a 64-bit Linux build to test this.

User avatar (0010139)
Torr Samaho (administrator)
2014-08-07 08:17

Since this is still completely untested, I didn't push it to the Bitbucket repo yet. I attached the necessary patches, so you can test this locally.

So far there is no synchronization of server CVars to the clients, so they still have the old behavior. I plan to change this though, but would first like to know if the basic functionality is working at all.
User avatar (0010158)
Torr Samaho (administrator)
2014-08-10 13:32

I implemented the synchronization of server CVars defined via CVARINFO. While at it, I noticed that the archiving of the custom CVars was completely broken. Even archiving of SERVERINFO CVARs (e.g. sv_smartaim) on the server was broken in 1.2. These issues should also be fixed now. I'll try to post updated binaries and the new source later today.
User avatar (0010159)
Dusk (developer)
2014-08-10 15:27

What is stopping you from posting these changes on the repo in a separate head?
User avatar (0010164)
Torr Samaho (administrator)
2014-08-10 16:00

For one thing, I want to have as few heads in the main repository as possible (that's why I maintain the stable repository instead of a stable head). For another thing, I don't want to have code that is still completely experimental in the main repository.

I pushed the changes to the accounts repository.
User avatar (0010173)
Torr Samaho (administrator)
2014-08-10 21:01

Here is an updated binary with the sync of custom server vars and the archive fixes.
User avatar (0010192)
Qent (updater)
2014-08-12 21:33

CVARINFO works for archiving clients' settings, replacing ConsoleCommand set/archivecvar in the coopbullets mod. I was also able to use GetCVarString to implement GetCVarFixed, replacing a ConsoleCommand eval. So far so good.
User avatar (0010273)
ZzZombo (reporter)
2014-09-16 12:00 [^]

Eh, Qent is quicker.
User avatar (0014584)
StrikerMan780 (reporter)
2016-03-17 18:03

Related: [^]

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: Ijon Tichy Watermelon TerminusEst13 President People Hypnotoad infurnus Esum Mr. Repo mifu Popsoap Ru5tK1ng StrikerMan780
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2013-05-27 19:23 Ijon Tichy New Issue
2013-05-27 19:25 Watermelon Note Added: 0006348
2013-05-27 19:31 TerminusEst13 Note Added: 0006351
2013-05-27 20:22 Edward-san Note Added: 0006352
2013-05-30 00:06 Hypnotoad Note Added: 0006354
2013-06-11 23:42 Dusk Relationship added child of 0001070
2013-06-16 17:07 Torr Samaho Note Added: 0006453
2013-12-27 13:42 Torr Samaho Note Added: 0007739
2013-12-27 19:36 Visual Vincent Note Added: 0007744
2014-06-15 14:59 Dusk Note Deleted: 0007744
2014-06-15 15:00 Dusk Note Deleted: 0006354
2014-08-06 19:09 Torr Samaho Note Added: 0010135
2014-08-06 19:10 Torr Samaho Note Edited: 0010135
2014-08-06 19:10 Torr Samaho Note Revision Dropped: 10135: 0005498
2014-08-06 19:10 Torr Samaho Assigned To => Torr Samaho
2014-08-06 19:10 Torr Samaho Status new => assigned
2014-08-06 19:10 Torr Samaho Status assigned => needs testing
2014-08-06 19:11 Torr Samaho Note Edited: 0010135 View Revisions
2014-08-06 19:11 Torr Samaho Note Revision Dropped: 10135: 0005499
2014-08-06 20:45 Ijon Tichy Note Added: 0010136
2014-08-06 20:49 Ijon Tichy Note Edited: 0010136 View Revisions
2014-08-07 08:15 Torr Samaho File Added: setcvar.7z
2014-08-07 08:17 Torr Samaho Note Added: 0010139
2014-08-10 13:32 Torr Samaho Note Added: 0010158
2014-08-10 15:27 Dusk Note Added: 0010159
2014-08-10 16:00 Torr Samaho Note Added: 0010164
2014-08-10 21:01 Torr Samaho Note Added: 0010173
2014-08-12 21:33 Qent Note Added: 0010192
2014-09-16 12:00 ZzZombo Note Added: 0010273
2015-05-10 22:12 WaTaKiD Target Version => 3.0
2015-05-10 22:12 WaTaKiD Relationship added child of 0002172
2016-03-17 18:03 StrikerMan780 Note Added: 0014584
2017-02-06 19:03 Dusk Status needs testing => resolved
2017-02-06 19:03 Dusk Fixed in Version => 3.0
2017-02-06 19:03 Dusk Resolution open => fixed
2018-09-30 21:49 Blzut3 Status resolved => closed

Questions or other issues? Contact Us.


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker