[CLIENT] OpenSpades Mod (Graphical Effects/PUBOvl/Misc)

Good day, my crumbliest of crumpets!

This is a modified OpenSpades client(s). Below is an exciting demonstration video:

https://www.youtube.com/watch?v=bAPfZH25iPs

The most recent version of this mod is for the OpenSpades 0.1.3 client. Older versions of this mod can be found at the bottom of this post.

Here is a description & download for the OpenSpades 0.1.3 version of this mod:

Overall, this version of the mod has less features than the previous versions. This is because features from the previous versions have now been implemented in vanilla OpenSpades.

Most of the features I’ve added can be seen in the Setup->Game Options area. They are listed and described below:

  • OpenGL Effects:

[li]Outlines/Outline Strength: Adds outlines to create an effect similar to cel-shading.

  • Textures/Multi-Texture Mode/Texture Strength:[details=Detailed explanation]
    Textures on blocks can be turned on/off via “Textures”. Furthermore, you can go into ‘Multi-Texture Mode’. If you want to customize the textures, here is an explanation for how they work:

Without Multi-Texture Mode, a single texture is rendered on all blocks, this texture is in pak000-Base.pak\Textures\MapBlock.png.

With Multi-Texture Mode, an 8x8 texture atlas (pak000-Base.pak\Textures\MultiMapBlock.png) is used. Each block is mapped to a particular texture on this atlas by way of its color.

The position of a block’s color on the above palette determines which texture on the atlas will be used. For example, black is mapped to the top-leftmost texture on the atlas, white is mapped to the bottom-rightmost texture on the atlas. Block’s colors will be “rounded” to the “closest” of 64 different colors on the palette when determining which texture on the atlas to use.

Any resolution of textures will work so long as the resultant image is square and has power-of-two dimensions.

The last field is “Texture Strength”, which determines the blending between the texture and the block color.
[/details][/li]

  • Spectator Tools:

[li]Spectator Player Names: When you are on the spectator team (and alive), show names above player models.

  • Spectator Wallhack: This is meant to provide functionality similar to PUBOvl. When you are on the spectator team (and alive), a wallhack is enabled. There are some details to clarify about the wallhack: [details=Detailed explanation]

[list]
[li]The wallhack will render players above everything else, including any non-player models.

  • Players are rendered with an outline, whose color is that of their team.
  • Visible players are rendered normally, with a lighter colored outline.
  • Non-visible players are rendered as black with a darker colored outline.
  • A player is ‘non-visible’ when his/her body (excluding gun models) is fully occluded. A player’s body can be ‘occluded by the map’ or ‘occluded by fog’. A player is ‘occluded by the map’ by being behind blocks. A player is ‘occluded by fog’ by being in a fog density of 99.99% or greater. Note that fog density calculation is done using OpenSpades. Different clients can calculate fog differently, so take ‘occlusion by fog’ with a grain of salt.

[/details][/li][/list][/li]

  • Misc:
    [li]Volume: Master volume control.
    [/li]

Some things aren’t in setup that are changed:

  • Added the proper character limit to chat messages.

To use this you may need to download Microsoft Visual C++ Redistributable for Visual Studio 2017. It can be found at the bottom of this page, under the “Other Tools and Frameworks” drop-down menu. Then you just need to download/extract “OpenSpades-Mod-0.1.3-Windows.rar” (at the bottom), and run it normally. This client also works with the fancy PNGSight mod, which can be set up via the instructions on the link.

In Sources.rar, I have attached the modified source code for all files that I’ve changed. All changes have been kept track of using // ADDED: and // MODIFIED: comments (version control is for amatuers). In Resources.rar are all the resource files I have either added or changed.

Downloads:

Here are the older versions of this mod:

OpenSpades 0.1.1c

Here is a description & download for the OpenSpades 0.1.1c version of this mod:

Overall, this version of the mod has less features than the 0.0.12b version. That is because many of the features from the 0.0.12b version are already in vanilla OpenSpades 0.1.1c.

Most of the features I’ve added can be seen in the Setup->Game Options area. They are listed and described below:

  • OpenGL Effects:

[li]Outlines/Outline Strength: Adds outlines to create an effect similar to cel-shading.

  • Textures/Multi-Texture Mode/Texture Strength:[details=Detailed explanation]
    Textures on blocks can be turned on/off via “Textures”. Furthermore, you can go into ‘Multi-Texture Mode’. If you want to customize the textures, here is an explanation for how they work:

Without Multi-Texture Mode, a single texture is rendered on all blocks, this texture is in pak000-Base.pak\Textures\MapBlock.png.

With Multi-Texture Mode, an 8x8 texture atlas (pak000-Base.pak\Textures\MultiMapBlock.png) is used. Each block is mapped to a particular texture on this atlas by way of its color.

The position of a block’s color on the above palette determines which texture on the atlas will be used. For example, black is mapped to the top-leftmost texture on the atlas, white is mapped to the bottom-rightmost texture on the atlas. Block’s colors will be “rounded” to the “closest” of 64 different colors on the palette when determining which texture on the atlas to use.

Any resolution of textures will work so long as the resultant image is square and has power-of-two dimensions.

The last field is “Texture Strength”, which determines the blending between the texture and the block color.
[/details][/li]

  • Spectator Tools:

[li]Spectator Player Names: When you are on the spectator team (and alive), show names above player models.

  • 1st Person Spectator Enhancements: When first person spectating a player, adds the following: Shows the reticle, shows the player scoping in, improves the player model.
  • Spectator Wallhack: This is meant to provide functionality similar to PUBOvl. When you are on the spectator team (and alive), a wallhack is enabled. There are some details to clarify about the wallhack: [details=Detailed explanation]

[list]
[li]The wallhack will render players above everything else, including any non-player models.

  • Players are rendered with an outline, whose color is that of their team.
  • Visible players are rendered normally, with a lighter colored outline.
  • Non-visible players are rendered as black with a darker colored outline.
  • A player is ‘non-visible’ when his/her body (excluding gun models) is fully occluded. A player’s body can be ‘occluded by the map’ or ‘occluded by fog’. A player is ‘occluded by the map’ by being behind blocks. A player is ‘occluded by fog’ by being in a fog density of 99.99% or greater. Note that fog density calculation is done using OpenSpades. Different clients can calculate fog differently, so take ‘occlusion by fog’ with a grain of salt.

[/details][/li][/list][/li]

  • Misc:
    [li]Volume: Master volume control.
    [/li]

Some things aren’t in setup that are changed:

  • Added the proper character limit to chat messages.

To use this you need to download Visual C++ Redistributable 2015 (unless you already have it). Then you just need to download/extract “OpenSpades-Mod-0.1.1c-Windows.rar” (at the bottom), and run it normally. This client also works with the fancy PNGSight mod, which can be set up via the instructions on the link.

In Sources.rar, I have attached the modified source code for all files that I’ve changed. All changes have been kept track of using // ADDED: and // MODIFIED: comments (version control is for amatuers). In Resources.rar are all the resource files I have either added or changed.

Downloads:

OpenSpades 0.0.12b

Here is a description & download for the OpenSpades 0.0.12b version of this mod:

Most of the features I’ve added can be seen in the Setup->Game Options area. They are listed and described below:

  • Effects:

[li]Smoke: Turns off smoke entirely.

  • Gun Sight Animations: Turns on/off camera sprint animation, grenade explosion camera shake, scope zoom animation.
    [/li]
  • Minimap Settings:

[li]Minimap Tracers: Adds the voxlap feature of minimap tracers.

  • Minimap Gun Type Icons: Gives the minimap separate player icons for each gun type.
    [/li]
  • Scoreboard Settings:

[li]Scoreboard Gun Icons: Shows gun icons beside players on the scoreboard. Won’t work in 800x600.

  • Show Spectators on Scoreboard: Spectators on the scoreboard.
    [/li]
  • Player Observe:[details=Detailed explanation]
    This is intended to function like PUBOvl. To use it, you must have Player Observe turned on. Then, when you switch to spectator team and have respawned, it will go into ‘observe mode’ for whichever player is selected with Player Observe No.

When in observe mode, it will show the 1st-person perspective for that player like in PUBOvl. You can use the left/right arrow keys to move between players. It will also have an ESP turned on, there are some details to clarify about the ESP:

[li]The ESP will render players above everything else, including any non-player models.

  • Players are rendered with either a red or blue outline. A red outline is for enemies (of the observed player), blue for allies.
  • Visible players are rendered normally, with a lighter colored outline.
  • Non-visible players are rendered as black with a darker colored outline.
  • The ESP does not take gun models into consideration when determining if a player is visible or not.
  • The ESP does indicate sufficiently far away players as non-visible, but I believe it is 3-5 blocks generous in what it considers to be ‘close enough’.

The remaining settings for player observe:

  • The setting Player Names in P.O. turns names on/off around players when in player observe.
  • The setting Show Team Colors makes the ESP use team colors instead of blue/red.

Note that this feature only works with the OpenGL renderer.
[/details][/li]

  • OpenGL Effects:

[li]Outlines/Outline Strength: Adds outlines to create an effect similar to cel-shading.

  • Textures/Multi-Texture Mode/Texture Strength:[details=Detailed explanation]
    Textures on blocks can be turned on/off via “Textures”. Furthermore, you can go into ‘Multi-Texture Mode’. If you want to customize the textures, here is an explanation for how they work:

Without Multi-Texture Mode, a single texture is rendered on all blocks, this texture is in pak000-Base.pak\Textures\MapBlock.png.

With Multi-Texture Mode, an 8x8 texture atlas (pak000-Base.pak\Textures\MultiMapBlock.png) is used. Each block is mapped to a particular texture on this atlas by way of its color.

The position of a block’s color on the above palette determines which texture on the atlas will be used. For example, black is mapped to the top-leftmost texture on the atlas, white is mapped to the bottom-rightmost texture on the atlas. Block’s colors will be “rounded” to the “closest” of 64 different colors on the palette when determining which texture on the atlas to use.

Any resolution of textures will work so long as the resultant image is square and has power-of-two dimensions.

The last field is “Texture Strength”, which determines the blending between the texture and the block color.
[/details][/li]

  • Misc:
    [li]Volume: Master volume control.
  • Player Names in Spectate: Shows names on players when in spectate mode.
    [/li]

Some things aren’t in setup that are changed:

  • Added the proper character limit to chat messages.
  • Loads all the audio/image resources on the load-screen so they aren’t loaded while in the game.
  • Uses the recoil & spread values from OpenSpades 0.1.

To use this you need to download Visual C++ Redistributable 2015 (unless you already have it). Then you just need to download/extract “OpenSpades-Mod-0.0.12b-Windows.rar” (at the bottom), and run it normally. This client also works with the fancy PNGSight mod, which can be set up via the instructions on the link.

I have attached the modified source code for all files that I’ve changed. All changes have been kept track of using // ADDED: and // MODIFIED: comments. Also in Sources.rar is a text file containing info about any Resources that have been changed.

Downloads:

There will inevitably be bugs in these mods that I’ve missed. If you encounter any issues or have any suggestions, don’t hesitate to let me know and I will see what can be done.

God bless and keep you,
The Magnificent Doctor Dank.



KG026b4.png

1 Like

some really useful features here.

love the visual effects!

good job.

suggestion: instead of red and blue for enemy and teammate outlines, how about using actual team colors?

thanks for sharing.

Can you fix the fps issue?

Without player observe, my fps is 180-250
With Player observe, my fps is 20-30

Can you make the player observe less laggy?

Oooo! I like the use where you can mess with the opengl features in - game which makes it interesting. The tracers on the map are so helpful considering in aos that is my best friend when playing arena. I’m pretty sure though that toggling the smoke and the grenade shaking the camera is already implimented in chameleon’s version of OS. (NoLeafClover, I think?) and imo the cellshading(?) feature is already in iceball. Otherwise, me likey :slight_smile:

Nice job! I love what you’ve done so far, but would you be able to add the option of minimizing the game later on? Thanks

Can’t seem to run the modded version due to the MSVCP140.dll file being missing.

I certainly can add that as another option.

I’ve weeded out some substantial inefficiencies, but the lag is still persisting on some computers. The culprit is likely the OpenGL “occlusion query” that’s done for determining if players are visible or not.

Some computers can handle the occlusion query better than others; I get a solid 60 fps with player observe, but other people are getting bad fps. Hopefully low fps in the player observe isn’t much of a problem anyway, since the relatively low frequency of updates from the server causes things to look choppy regardless.

Still, there are some things I can do to optimize the occlusion query! Let us pray that helps, but if it doesn’t, I don’t know what more I can do.

Thank you, old egg! Although I fear I do not know what you mean by minimizing :-[

Did you download Download Visual C++ Redistributable for Visual Studio 2015 from Official Microsoft Download Center ???

Imaginary edit to my previous post:

I updated things so the lag has been fixed!

I can’t edit my original post, but the links on my original post will now go to the updated files.

btw if someone reports the ID of a hacker you can do /dd_poNum 5 (as an example) to observe ID 5, makes it a lot easier than hunting down the ID of a name in the scoreboard tbh. Extremely useful for admin’ing in the best client - OpenSpades (did I trigger anyone? no? okay)

great, looking forward to that

you’re no longer restricted from editing your old posts

Why didn’t you show off or list as a feature, the arguably best, most useful, and awesomest feature you added? :slight_smile:

Thanks.

I’ve made one more update based on requests I’ve gotten. I’ve edited the main post, but in a nutshell the added things are:

  • Gun icon beside player name on scoreboard.
  • ESP outline with team color.
  • ESP outline with team color.
  • Fix screenshots with player observe.
  • Arrow keys for player observe.

Expected.

Let me assure you, Torchy-poo, my naive and foolish friend: A detail is never missed, a subtlety is never glanced over. Furthermore, any indications I give that might lead you to believe otherwise are, in all cases, a shrewd and deceitful act. Do you really think I simply skipped over that thing, forgetting about it as casually as one forgets to tie their shoe? And if such a display of ignorance on your part wasn’t enough, you then you go and mention it publicly, asking that I reveal it?

Are you mad?

You know as well as I do what the consequences of unleashing such powerful and potent energies unto the general public would be. If any random person stumbled across that feature, it would at least lead to the death of Ace of Spades, even the internet. In fact, under any reasonable expectations, it would lead to the end of all mankind. I regret ever creating such a monstrosity - and I hope with sincerity that we see it left forgotten and unused, to rot in the pits of darkness and obscurity.

In truth, I cannot comprehend why you even bring such things up. What remains as the only logical reason for such behavior? You wish me to emphasize the importance of that critical principle. Very well, then recall it, and recall it not lightly: Whatever cover the book forces into your eyes, you must always judge it by the opposite.

His Divine Holiness, the Almighty Transcendent Overlord of the Grand Intergalactical Imperium of Eternal Dank Memes.

Can you make it so that when you are observing #31 and press Right Arrow key, it goes to #0 and vice versa (for the left arrow key*)?
and also can you make it so that it quickly scrolls through the players if you hold it for like 2 seconds?

Can i only have the PLayer Observe Menu or do i have to download the entire thing?

To the Dankest of all. Your Creation is cool. It adds lots of new features but i found a problem.
All the commands gives you : Invalid number or arguments for “command”
As shown by this picture right under this line.

Before you ask if #1 was a player on the server, yes he was.
He Killed me 2 seconds after I got to cover and that’S when I went to see his ping.
I know it’s not server side since i tried it on multiple servers and it was always the same line.
If any1 else encounter the same problem I’d like to know. I don’t want to be alone in this :confused:
Apart from this, the mod is Dank as it can be.
Good work!

From one of your admirator : Twoday


Your commands are including :slight_smile: at the end of it.

oh…

I appreciate the kind words, ManWithoutEars! You have a Doctor’s gratitude and blessing.

This is precisely the case. You seem to have a bad case of the ^_^s, without even knowing it. The solution is related to the theatrics up above. Looking through the Game Options menu, you should be able to find a setting that will put an end to your freakish condition.

%)%.

Could you make it so it only appears when you talk and not when you type in a command?

The END is NEARRR! :slight_smile:

Why don’t you just turn it off? You do know that it’s basically just a “Torch Appreciation” setting right?