Page 1 of 2

Zandronum's Advanced Binary [ZAN 2.0 v1.0] - DISCONTINUED

Posted: Tue Jun 02, 2015 2:29 pm
by Fused
NOTE: Zandronum's Advanced Binary is being discontinued because it's being merged with Catastrophe's client, and renamed to Zandronum Community Client. A thread will be posted soon.
New version: http://zandronum.com/forum/showthread.php?tid=6050


Zandronum's Advanced Binary
A binary enhancement for Zandronum 2.0.
What it contains
Spoiler: small patches (Open)
This patch fixes minor bugs of zandronum, in particular:
  • Teleported things are no longer interpolated online.
  • Lagging players no longer jitter when having a high enough velocity.
  • The connect sound now plays with people not starting as spectators.
Spoiler: notifications & scoreboard (Open)
This patch adds 3 new cvars:
  • l_showpacketloss: Displays a little message when you experience packet loss with how many packets were missed in the same style of the "connection interrupted" messages.
  • l_autoready: Automatically marks you as "ready to go" in intermissions without the need of any inputs.
  • l_scoretid: Replaces the standard, obsolete handicap display with the ID of the corresponding player on the scoreboard.
Spoiler: console (Open)
This patch provides features regarding the console:
  • If the input line is empty, using ctrl+c will copy the selected line in the console's history instead, allowing you to directly copy chat lines for instance.
  • A new cvar, con_timestamps, will append timestamps at the beginning of each line in the console's history.
  • The console command "wait" was always off by one tic, meaning that "wait" or "wait 1" actually delayed a command by 2 tics. To fix this and still remain compatible with older aliases, "wait 0" is now accepted and will actually properly wait one tic.
  • The console cursor now uses a more robust position calculation, allowing you to copy raw color codes in the console without any troubles.
Spoiler: sounds (Open)
This patch concerns changes regarding sounds/music.
  • A new cvar, snd_lockmus, will forbid any music changes as if a playlist was playing.
  • A new command, snd_stopsounds, will stop all currently playing sounds without restarting the sound engine, making it a better alternative to snd_reset if you wish to stop loud and annoying looping sounds. This command is similar to "stopsounds" from some source-engine games if you are familiar.
Spoiler: weapon hud (Open)
This patch covers changes to the client's weapon and adds a bunch of new cvars:
  • l_interpolateweapons: When enabled, offset changes including bobbing will be interpolated, meaning that weapon movements are no longer capped at 35 fps but are actually virtually unlimited, taking advantage of your framerate. Trust me, you WILL notice the difference especially if you use weapon bobbing.
  • l_bobstyle: Changes the way your weapon bobs. Up to 6 different values, ranging from 0 to 5. The corresponding styles are as follow:

    Code: Select all

    0: Normal
    1: Inversed normal
    2: Alpha-style bobbing
    3: Inversed alpha-style
    4: Smooth bobbing
    5: Inversed smooth
    
    Please do note that the code used to handle different bobbing styles comes directly from Zdoom's source.
  • l_bobspeed: Float cvar that controls how fast your weapon bobs. This does NOT do the same as movebob. Default value is 1.0.
  • l_hudpitchoffset: Float that lowers/raises your weapon depanding on your current pitch and the next cvar's value. Default value is 0.0 and disables this feature.
  • l_hudpitchstyle: Controls which parts of your pitch affects the weapon offsetting and how. 4 different values are possible, ranging from 0 to 3. The values correspond to this list:

    Code: Select all

    0: The whole pitch scales the offset.
    1: Only half of your pitch will scale, more precisely the lower part in this case.
    2: Same as above but the upper part is used this time.
    3: The scaling is split in half, the bottom and lower parts scales the offsetting the same way.
    
    Combining this with a negative l_hudpitchoffset will reverse the scaling as expected.
  • l_swayspeed: Float that makes your weapon sway when you look around. This is similar to what you may see in this video. Negative values will reverse the weapon sway as you would expect but looks odd. Default value is 0.0 and disables this feature.
  • l_viewbob:
    Stops screen bobbing but not weapon bobbing (unlike movebob 0 which also stops weapon bobbing)
Spoiler: spectating (Open)
This patch is dedicated to spectating:
  • A new cvar, l_telespy, will teleport you to the person you were spying on once you go back to your own view if you are a spectator.
  • A new command, spyback, will cancel out spying and return the view to your own eyes.
  • Another command, spyto, will spy on the specified player using his ID if allowed by the circumstances.
  • Another cvar, l_spectsource, will enable a source-engine like noclipping mode when spectating which means you will be able to not only pass through walls but also floors and ceilings.
Spoiler: cvars (Open)
This patch was a bit of an experiment. It adds a very interesting capacity to cvars: pointer cvars.
Basically instead of having a cvar change/retrieve its local value, a pointer cvar can do the same directly to zandronum's memory.
If you are familiar with zdoom/zandronum's source, pointer cvars are defined much like standard cvars but with a different macro. The pointer cvars defined so far are using CVAR_NOSET, because allowing the user to change them would only cause a mess, but pointer cvars ARE able to change the value they point to if desired.

The current pointer cvars are all using a "ptr_*" prefix and are as follow:

  • ptr_map: Returns the current map's name as a string.
  • ptr_spectating: Boolean that indicates wether you are spectating or not.
  • ptr_music: Returns the current music's name as a string.
  • ptr_playernum: Returns as an int how many players are in the current game.
Note that those cvars can only be very useful if you are an advanced console user.
For instance, with some aliasing, you might make your mouse button attack when playing but spying when spectating using ptr_spectating.

Screenshots
[spoiler]since most features can not be captured with a single picture, the most relevant features are shown here.

A few of the new cvars
Image

Check the unique ID of every player on the scoreboard
Image

With a simple cvar you will get notified on packetloss.
Image[/spoiler]
Video coming soon™


Download
Mirror 1
Mirror 2 - be sure to rename the executable to zandronum.exe in this mirror.
Source code
Spoiler: older versions (Open)
none just yet.
Spoiler: additional credits (Open)
Leonard - Project leader. Coded and build the binary.
Fused - Co-leader. Handing suggestions and ideas to improve the binary
Zdoom - Movebob source code

Post feedback and suggestions below. Any help is appreciated.

RE: Zandronum Advanced Binary

Posted: Tue Jun 02, 2015 2:39 pm
by Sean
Another binary? Wow. Doesn't seem to be for me, though.
Good luck anyway.

RE: Zandronum Advanced Binary

Posted: Tue Jun 02, 2015 2:47 pm
by Fused
Sean wrote: Another binary? Wow. Doesn't seem to be for me, though.
Good luck anyway.
Thanks.
I know it's a bit messy that there's suddenly two binaries, but this was already prepared a few weeks in advance without expectation of other binaries to suddenly pop up.

RE: Zandronum Advanced Binary

Posted: Tue Jun 02, 2015 4:56 pm
by Slim
Fused wrote: Alpha-style bobbing
:D

(Finally it's back!)

.....I really really hope these get integrated into 3.0, because these features all seem so cool.

RE: Zandronum Advanced Binary

Posted: Tue Jun 02, 2015 4:57 pm
by Ænima
Love it. Especially the pointer CVARs and the weapon swaying stuff!

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 5:26 pm
by Kara Kurt
Can you upload screenshots, this build does not work for me.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 6:05 pm
by Fused
Kara Kurt wrote: Can you upload screenshots, this build does not work for me.
Odd, it should work just fine. Anyhow, uploaded a few.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 7:18 pm
by fr blood
Well done, I tested it and approve it, it shall be included on next Zand too.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 7:59 pm
by Kara Kurt
Fused wrote:
Kara Kurt wrote: Can you upload screenshots, this build does not work for me.
Odd, it should work just fine. Anyhow, uploaded a few.
It says LIBEAY32.DLL is missing.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 8:07 pm
by Sean
[/size]
Kara Kurt wrote:
Fused wrote:
Kara Kurt wrote: Can you upload screenshots, this build does not work for me.


Odd, it should work just fine. Anyhow, uploaded a few.


It says LIBEAY32.DLL is missing.


Grab the Light package.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 8:13 pm
by Fused
My bad, I forgot to mention this. Updated OP with a link in case you still need this.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 8:18 pm
by Sean
Fused wrote: My bad, I forgot to mention this. Updated OP with a link in case you still need this.
I think its better to use the link I posted as the site you linked gave me a whiff of fishiness.

RE: Zandronum's Advanced Binary

Posted: Tue Jun 02, 2015 9:02 pm
by Kara Kurt
Thanks.

Is there a way to implement an option that mutes sound when out of focus (aka alt-tabbing) ?

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 12:49 am
by -Jes-
Bug: Using changemus gives me silence until altering music volume, which returns me to the map music.

Swayspeed doesn't affect spied people. Guess it's just not designed to do that?

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 8:42 am
by Leonard
-Jes- wrote:Bug: Using changemus gives me silence until altering music volume, which returns me to the map music.
Can't reproduce. Could you provide more details like what you changemus to exactly?
Did you also try with a standard zandronum binary?
-Jes- wrote:Swayspeed doesn't affect spied people. Guess it's just not designed to do that?
Yes. Just like bobbing, swaying requires the player's input.

EDIT:
Kara Kurt wrote:Is there a way to implement an option that mutes sound when out of focus (aka alt-tabbing) ?
This is aready a standard zandronum feature. Use the cl_soundwhennotactive cvar.

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 11:37 am
by Daedalus
I downloaded this cause I was getting that libeay32.dll is missing nonsense, it worked and all but shortly afterwards I started getting these annoying popups that I could only close through the task manager. :neutral:

EDIT: This is nice to use aside from above, the only thing that is missing is the the always bob command that Dark-Assassins binary had, weapons continue to bob when firing/reloading (seen here) instead of centring statically.

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 2:03 pm
by fr blood
Could you add the Quake 3 weapon bob style ?

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 2:19 pm
by Sean
Daedalus wrote:
I downloaded this cause I was getting that libeay32.dll is missing nonsense, it worked and all but shortly afterwards I started getting these annoying popups that I could only close through the task manager. :neutral:
That's odd. I've used that package many times before and have never experienced this. Maybe you just had bad luck?
I'll have a look later...

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 3:22 pm
by Kara Kurt
Leonard wrote:
Kara Kurt wrote:Is there a way to implement an option that mutes sound when out of focus (aka alt-tabbing) ?
This is aready a standard zandronum feature. Use the cl_soundwhennotactive cvar.
Didn't know. Probably because it isn't in sound options when it should be.

RE: Zandronum's Advanced Binary

Posted: Wed Jun 03, 2015 3:59 pm
by Leonard
The DLL dependency issue was caused by the fact that I used a compiled OpenSSL installation instead of following what the wiki says in this regard.
I went on and compiled OpenSSL myself and the DLL is no longer required to use the binary.
This needs to be said though: compiling OpenSSL is a MAJOR pain in the ass..

The dropbox link (first mirror) is updated (nothing new, just the DLL issue was fixed) but you'll have to wait for the second mirror since this is fused's link.

EDIT:
Daedalus wrote:the only thing that is missing is the the always bob command that Dark-Assassins binary had, weapons continue to bob when firing/reloading (seen here) instead of centring statically.
I'll probably implement it the next time I update the binary.