ZCC - Zandronum Community Client [ZAN 2.1.2 v1.5]

Maps, modifications, add-ons, projects, and other releases for Zandronum. Also includes announcers.
User avatar
Fused
Topic author
Forum Staff
Offline
Posts: 457
Joined: 3 years ago
Contact:

ZCC - Zandronum Community Client [ZAN 2.1.2 v1.5]

Post#1 by Fused » 1 year ago

Image
A Client enhancement for Zandronum 2.0
By Leonard, Catastrophe and Fused.



Features
  • Chat Prefixes and Suffixes
  • Cvar Pointers
  • Improved cl_identifytarget
  • Various Sound Commands
  • Weapon Bobbing Customization
And Much More!


What it contains
Spoiler (Open)
*NOTE ZCC has a handy menu where you can change various options regarding most of its new features. Find it below the player options.*


Miscellaneous
  • 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.
  • spyback: Will cancel out spying and return the view to your own eyes.
  • spyto: Will spy on the specified player using his ID if allowed by the circumstances.
  • zcc_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.
  • cl_identifytarget was extended. It is now a bitfield, so it works basically like a dmflag: adding one of the values listed below will make the corresponding information show up when available.

    Code: Select all

    1:   Display a player's name.
    2:   Display a player's health.
    4:   Display a player's armor.
    8:   Display a player's weapon name.
    16:  Display a player's (alt)ammo.
    32:  Display a player's class/skin.
    64:  Display a monster's class.
    128: Display a monster's ghost flag.
    256: Display a monster's drops.

    If you don't want to mess around directly with this cvar you can set each information individually using ZCC's menu.

Scoreboard
  • zcc_autoready: Automatically marks you as "ready to go" in intermissions without the need of any inputs.
  • zcc_scoretid: Replaces the standard, obsolete handicap display with the ID of the corresponding player on the scoreboard.
  • zcc_intermissioninfo: Displays both a countdown during intermission and what the upcoming map will be.

Chat
  • Made a proper cursor for the chat that actually blinks.
  • Fixed the maximum chat length to be actually 128 instead of 126.
  • Made the chat support raw color codes which will be useful for the feature below:
  • Added a tab auto-completion feature to the chat that works just like in the console. TAB to go forward and SHIFT+TAB to go backwards. It will cycle through every player's name it finds just like on IRC.
  • zcc_chatprefix/suffix: Allows you to add text before/after your message. for example, doing zcc_chatprefix "\\cf" will change all your text to the color yellow. This also works with using the /me command.

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.
  • zcc_timestamps: setting this to true 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.

Sound
  • zcc_lockmus: will forbid any music changes as if a playlist was playing.
  • 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.

Weapons
  • zcc_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.
  • zcc_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
    6: Quake 1 styled bobbing.

    Please do note that the code used to handle different bobbing styles comes directly from Zdoom's source except for the Quake 1 style which was made by Dark-Assassin.
  • zcc_bobspeed: Float type cvar that controls how fast your weapon bobs. This does NOT do the same as movebob. Default value is 1.0.
  • zcc_hudpitchoffset: Float type 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.
  • zcc_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 zcc_hudpitchoffset value will reverse the scaling as expected.
  • zcc_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.
  • zcc_bobalways: Boolean that will force the weapon to bob even when firing.
  • zcc_swaystyle: Specifies how you want the weapon to sway. It has 4 values, from 0 to 3. This was made to address the problem of seeing the weapon's edge.

    Code: Select all

    0: Normal.
    1: No sway up.
    2: No sway down.
    3: No sway up/down.
  • zcc_viewbob: Stops screen bobbing but not weapon bobbing (unlike movebob 0 which also stops weapon bobbing)

Spectating
  • zcc_telespy: Will teleport you to the person you were spying on once you go back to your own view if you are a spectator.
  • zcc_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.

Pointer cvars

Pointer cvars were a bit of an experiment. They add 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 "zptr_*" prefix and are as follow:


  • zptr_map: returns the current map's name as a string.
  • zptr_spectating: boolean that indicates wether you are spectating or not.
  • zptr_music: returns the current music's name as a string.
  • zptr_playernum: returns as an int how many players are in the current game.
  • zptr_team: returns an int corresponding to the team you're in. If you have no team it will return -1.
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 zptr_spectating.


Auto-login

The auto-login feature allows you to automatically login to a registered account using a per-server set of passwords/usernames.
The passwords/usernames aren't stored in your .ini but instead in a different file called autologins.zal located in the same directory as your zandronum executable.
This file is compressed but NOT encrypted, those are two different things.



  • zal_autologin (default false): if true will automatically log you in when you connect to a server with a corresponding account in your autologins.zal file.
    NOTE: If you set this to false the autologins.zal file is still usable and can also serve you if you use the console command login without any arguments in which case it will check for an account that corresponds to the server you are currently playing on.
  • zal_add <username> <password>: adds an account for the server you are currently playing on.
  • zal_remove <ip:port>: removes an account for the given server.



Links:
Spoiler: Older versions (Open)



Spoiler: Credits (Open)
Leonard, Catastrophe - Project leaders. Coded and build the binary.
Fused - Co-leader. Logo creator and handing suggestions and ideas to improve the binary.
Dark-Assassin - Quake 1 style bobbing.
Zdoom - Movebob source code.



Post feedback and suggestions below. Any help is appreciated.
Anyone is free to collaborate to this project, so don't hestitate to bring ideas.
Last edited by Fused on Sat Dec 19, 2015 8:57 pm, edited 1 time in total.
#zamapping
00:21:50 <@TheMisterCat> my name is
00:21:50 <@TheMisterCat> who
00:21:53 <@TheMisterCat> my name is
00:21:54 <@TheMisterCat> what
00:21:56 <@TheMisterCat> my name is
00:21:59 <@TheMisterCat> wiki wiki
00:22:03 <@TheMisterCat> read the fucking wiki


ZCC || ZH anti-RQ patch || MultiHud
Zombie Horde: the Extinction || DoomZ : Overpoch
Image

User avatar
Slim
Frequent Poster Miles card holder
Offline
Posts: 858
Joined: 4 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#2 by Slim » 1 year ago

Hggn. It's here.

I can hardly contain my excitement!

Thanks for the birthday present ;)
Image

"Your childish antics grow tiring. If you dare to fight me, then I accept your challenge: Anytime, anywhere." - Zero, Megaman X5
Spoiler: "Quotes" (Open)
5:54 PM - Slim: you're complaining about something so small that
5:54 PM - Lance: so? we do that all the time
5:55 PM - Lance: we're a bunch of losers complaining at a bar minus the bar
Spoiler: "Galactus tried evading" (Open)
Image

User avatar
fr blood
Frequent Poster Miles card holder
Offline
Posts: 883
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#3 by fr blood » 1 year ago

You did it well, good job guys, thanks for that.
Last edited by fr blood on Wed Jun 10, 2015 6:59 pm, edited 1 time in total.
ImageImage

User avatar
Daedalus
 
Offline
Posts: 60
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#4 by Daedalus » 1 year ago

Great stuff, many thanks.

User avatar
DevilHunter
Zandronum Tester
Offline
Posts: 613
Joined: 4 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#5 by DevilHunter » 1 year ago

Great job! Here is a mirror from me

ZandronumZCC

EDIT: ok I have to ask.. What happened to the IfSpectator thing from Cata's Client? it seems to be missing... I liked that feature. :/
Last edited by DevilHunter on Wed Jun 10, 2015 12:27 am, edited 1 time in total.

User avatar
Catastrophe
ZanStuff Reviewer
Offline
Posts: 2179
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#6 by Catastrophe » 1 year ago

DevilHunter wrote:Great job! Here is a mirror from me

ZandronumZCC

EDIT: ok I have to ask.. What happened to the IfSpectator thing from Cata's Client? it seems to be missing... I liked that feature. :/


It was removed because Leonard's cvar pointers can do the same thing and much more.

User avatar
Kara Kurt
Posts a lot
Offline
Posts: 760
Joined: 3 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#7 by Kara Kurt » 1 year ago

Uh, I'm lost with all those binaries. What is this, an SSJ10 fusion of previously released binaries? Can't read quite well when it's this late, sorry!

User avatar
-Jes-
Frequent Poster Miles card holder
Offline
Posts: 822
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#8 by -Jes- » 1 year ago

This is basically the two recent binaries combined into a package of pure
Image

User avatar
DevilHunter
Zandronum Tester
Offline
Posts: 613
Joined: 4 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#9 by DevilHunter » 1 year ago

Catastrophe wrote:
DevilHunter wrote:Great job! Here is a mirror from me

ZandronumZCC

EDIT: ok I have to ask.. What happened to the IfSpectator thing from Cata's Client? it seems to be missing... I liked that feature. :/


It was removed because Leonard's cvar pointers can do the same thing and much more.


If that is the case... How do I adjust my bind to do so then? I just copied the one from your topic btw.

User avatar
Catastrophe
ZanStuff Reviewer
Offline
Posts: 2179
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#10 by Catastrophe » 1 year ago

Leonard posted this

Code: Select all

alias +attackorspy "+attack;test $zptr_spectating spynext"
alias -attackorspy "-attack"
bind mouse1 +attackorspy


Mess around with it
Last edited by Catastrophe on Wed Jun 10, 2015 3:25 pm, edited 1 time in total.

User avatar
DevilHunter
Zandronum Tester
Offline
Posts: 613
Joined: 4 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#11 by DevilHunter » 1 year ago

Ok I got it.. I just replaced ifspectator in my bind to test $zptr_spectating. Kinda seemed pointless for changing the name and junk but eh..

User avatar
Kara Kurt
Posts a lot
Offline
Posts: 760
Joined: 3 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#12 by Kara Kurt » 1 year ago

Okay so that's great idea you guys got by merging two binaries into one, a couple of questions now:

1) I'd like to bind spy_next/prev on the mouse wheel however I do use the wheel for weapnext/prev and other commands so I'd like to ignore spynext/prev when playing and make them only work when spectating even though it would also be useful to be able to use spynext/prev when playing, so here is my idea:

Is it possible to implement a similar thing (let's say spect_spynext/prev) but only for spectators ?

2) Is there a way to fully disable the movebob, e.g. go back to its default state ? (default hud_pitch, default speed, default sway, etc)

When I have movebob 0, weapons keep moving up/down/left/right when I'm moving the mouse.

Perhaps make a feature which would allow us to make toggle between 2 presets.

3) Is the packetloss indicator accurate ? When I'm having some PL, they rarell can be counted on the fingers of one hand, I'm talking about 10/20 PLs and it doesn't look like I'm losing 20 packets, dunno. Maybe I should modify packets size so I'd get 1 or 2 instead.

That being said kudos for improving spectator mode and bringing it some cool spy features.

User avatar
Leonard
Forum Regular
Offline
Posts: 132
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#13 by Leonard » 1 year ago

Kara Kurt wrote:1) I'd like to bind spy_next/prev on the mouse wheel however I do use the wheel for weapnext/prev and other commands so I'd like to ignore spynext/prev when playing and make them only work when spectating even though it would also be useful to be able to use spynext/prev when playing, so here is my idea:

Is it possible to implement a similar thing (let's say spect_spynext/prev) but only for spectators ?

Use an alias with zptr_spectating and the test command (as written in the OP).

Kara Kurt wrote:2) Is there a way to fully disable the movebob, e.g. go back to its default state ? (default hud_pitch, default speed, default sway, etc)

When I have movebob 0, weapons keep moving up/down/left/right when I'm moving the mouse.

Set zcc_swayspeed to 0 (which is the default value).

Kara Kurt wrote:3) Is the packetloss indicator accurate ? When I'm having some PL, they rarell can be counted on the fingers of one hand, I'm talking about 10/20 PLs and it doesn't look like I'm losing 20 packets, dunno.

Why wouldn't it be? The server will only kick you if you miss more than 1024 packets which is big compared to just 10/20.
Spoiler (Open)

Code: Select all

<@WaTaKiD> punish me
* Seanphone gets his belt out
<+Seanphone> all right WaTaKiD bend over

Code: Select all

<Kokiri> capo whos your fav pony?
<capo> i like them all

Code: Select all

cobalt changes topic to 'ZDoom 2.6.1 progress: at r3771, 23 revisions left (98% complete)'
<edward-san> omg
<edward-san> almost finished!!!
<Sean> !!!!!!!!!!!!!!
<Sean> Plot twist: This is the status of Half-Life 3.
<Dusk> plot twist: the percentage count suddenly begins to decline instead
<Sean> Torr makes a forum post "We're going back to 2.5.0"
<Dusk> and we do so incrementally

User avatar
Catastrophe
ZanStuff Reviewer
Offline
Posts: 2179
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#14 by Catastrophe » 1 year ago

Kara Kurt wrote:Is it possible to implement a similar thing (let's say spect_spynext/prev) but only for spectators ?


Yes, play around with the code I posted above.

User avatar
Armitage
FNF Team
Offline
Posts: 186
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#15 by Armitage » 1 year ago

cl_identifytarget (Identify Players) never works for me ever since I started using the ZCC Client, none of the variables 1-4 work but Identify Monsters works just fine. Is their a server cvar which can disable the Identify Players function? I don't want to have to make a fresh config in the event that's causing the problem due to this.
Last edited by Armitage on Mon Jun 15, 2015 8:21 pm, edited 1 time in total.

User avatar
fr blood
Frequent Poster Miles card holder
Offline
Posts: 883
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#16 by fr blood » 1 year ago

Armitage wrote:cl_identifytarget (Identify Players) never works for me ever since I started using the ZCC Client, none of the variables 1-4 work but Identify Monsters works just fine. Is their a server cvar which can disable the Identify Players function? I don't want to have to make a fresh config in the event that's causing the problem due to this.


Same for me, and players can't be identified if monster identification is off.
ImageImage

User avatar
Catastrophe
ZanStuff Reviewer
Offline
Posts: 2179
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#17 by Catastrophe » 1 year ago

Will be fixed soon, with an expansion to identifying in general. No ETA yet as I've got to set Visual Studio up on this computer.

User avatar
Dark-Assassin
Maintenence Crew
Offline
Posts: 887
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#18 by Dark-Assassin » 1 year ago

Should have an IRC channel for this. #zcc should do.

Edit:
Got a Linux x64 build compiled.
zandronumZCC-linux64-v1.tar.gz
Goes in to /usr/games/zandronum/ if installed from the repo.
Last edited by Dark-Assassin on Tue Jun 16, 2015 3:01 pm, edited 1 time in total.

User avatar
Fused
Topic author
Forum Staff
Offline
Posts: 457
Joined: 3 years ago
Contact:

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#19 by Fused » 1 year ago

Added. Thanks for that.
#zamapping
00:21:50 <@TheMisterCat> my name is
00:21:50 <@TheMisterCat> who
00:21:53 <@TheMisterCat> my name is
00:21:54 <@TheMisterCat> what
00:21:56 <@TheMisterCat> my name is
00:21:59 <@TheMisterCat> wiki wiki
00:22:03 <@TheMisterCat> read the fucking wiki


ZCC || ZH anti-RQ patch || MultiHud
Zombie Horde: the Extinction || DoomZ : Overpoch
Image

User avatar
Dark-Assassin
Maintenence Crew
Offline
Posts: 887
Joined: 4 years ago

RE: ZCC - Zandronum Community Client [ZAN 2.0 v1.0]

Post#20 by Dark-Assassin » 1 year ago

No probs. I should set up another linux VM for x86 (32-bit) builds too.

Also, if there are any updates, send me a PM.


Return to “Projects, Maps & Mods”



Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 0 guests