Stickymod Beta Release (Sticky paint sourcemod)

Avatar
sicklebrick
876 Posts
Posted Dec 15, 2013

Just a quick paste out of the readme, 'cause I can't quite be bothered and won't have a lot of time for support over <Holiday Name Here>.

================Introduction.

This modification aims to reintroduce some of the sticky paint functionality that was removed from Portal 2 before release. I.e. purple paint.

It's a sourcemod that you stick in your Sourcemods folder and appears as a separate game in Steam, though it shares many settings with portal and can download workshop maps, etc. It uses a modified client.dll and server.dll so you must distribute any creations as a sourcemod, rather than standalone maps.

Briefly, it contains the following:
-Sticky paint.
-Aircontrol (another mod I was working on).
-Precached paint splats for purple paint.
-Purple paint texures.
-Fix for sourcemods being unable to launch maps properly (client.dll).
-Fixed text for menu items (resources folder).
-Prebound "Y" key to test sticky paint.
-Precached audio.
-Other stuff.
-A release script for mappers, yay.

**=================Instructions. **

== Please read them carefully to enable the mod.

----you should give your mod folder a unique name with no spaces in it.
e.g. "catpillow3", "stickymod", "fudgesquabbler", etc
just don't use "portle2" - if everyone did there would be conflicts.

----the "SETUP_MAPPERS_RUN_ME" script this will:
-rename the mod and the resources for you.
-provide a gameinfo.txt
-open gameinfo.txt for editing.
-provide a script to export your mod quickly and run it manually
-remove some warning files.
(mac users have a windows friend do this for you, or do it manually)

--- then just copy your stickymod,fudgesquabbler, etc file over into your
\steam\steamapps\sourcemods\ folder and restart steam

----the .txt files in the resources folder should match this name
e.g. "portal2_english.txt", "stickymod_french.txt", "fudgesquabbler_turkish.txt", etc - setup will handle this. hence the setup batch.

**============= Changelog **

===== Beta
-Fixed things
-Altered manifest
-Improved the setup script.

===== Alpha

  • Included a default paint (the blobs) texture for sticky paint
  • Set the default paint colour in autoexec.cfg (purple)
  • Increased the size of the "cast_ray_paint" command's splatter.
  • Bound "y" to cast_ray_paint by default
  • Fixed a bug whereby the user could crouch while on paint
  • Added some setup scripts and such. You've probably used them already
  • Reimplemented the following commands for you to play with:
  • Chapter menus work. yay (hence the renamed resources and client.dll patch)
    ---- sv_paint_surface_sphere_radius (paint blobs only)
    ---- sv_erase_surface_sphere_radius
    ---- paintblob_applies_impulse
    ---- sv_portal_players (unknown)
    ---- sv_maxspeed (alters noclip speed)
    ---- sv_footsteps (sounds)
    ---- sv_friction (whole world friction)
    ---- sv_maxvelocity (player's max vel, any axis)
    ---- steamworks_stats_disable
    ---- player_can_use_painted_power (unknown)
    ---- show_player_paint_power_debug (needs developer >1 )
    ---- paintblob_collision_box_size (no apparent effect)
    ---- sv_laser_cube_autoaim
    ---- hide_gun_when_holding
    ---- player_held_object_distance
    ---- player_held_object_distance_vm
    ---- player_hold_object_in_column
    ---- player_hold_column_max_size (unknown)
    ---- cast_ray_paint (already mentioned, but now fires purple paint)

============== FAQ and stuffs.

== This will be useful as hell when you start mapping.
== Not everything you try is going to work right off the bat, so here are a few things you must take note of:

Jumping unsticks the player.
Why? Makes it far easier to leave the paint without a ton of pre-painted surfaces.
Also, otherwise there's no real way to tell what gel we're still connected to, the angle it's at, etc. Bear in mind the limitations of working in assembly here.

Walking off paint immediately unsticks the player.
Why? Makes sense with the above.

The player is in a crouched position while on gel.
Why? This resolves some issues with the player's collision box not actually rotating properly (despite what the debug shows)
It also means we can get through sideways portals, etc and indicates nicely that we are stuck to gel so is far less disorientating.

The camera is always centered at about 18 units up, inside the bounding box.
This has been fixed to some extent in Gamma

When leaving paint the player's bbox is returned to normal 10 ticks after touching an unpainted surface. (Not upon leaving the gel)
Why? Otherwise if you're on the ceiling and step off the gel, you're immediately the right way up with your head stuck in the ceiling. 10 ticks because that gives gravity enough time to do its thing and pull you clear.
Makes sure the player's face isn't going to hit sloped surfaces upon exit, or it'll stick.
I.e. Just be weary of tight spaces around gel

The B.Box only returns to normal after standing back on solid ground.
Why? Certain surfaces just don't seem to count: some brush types, landing on a model instead of solid ground, etc.
The view will however appear normal in most cases, so check with 'phys_showactive 1', and ma around this issue accordingly.

Other stuff doesn't stick to paint
Why? Doesn't look like there's any code in there for that.
FelixGriffin has a pretty elegant solution to this.

You must include an info_particle_system with "paint_splat_stick_01_A" and "paint_splat_stick_01" in each map.
Why? To precache it, the splat effect will work nicely.
(paint blobs and splatters have already been handled)
OR
put this in the manifest (thanks Felix)
"file" "!particles/paint_splats_fx.pcf"
(this has already been done for you)

Camera does not smoothly rotate.
Why? The code for that is a nightmare. Seriously, it's just crazy. Rewrites the values over themselves multiple times in each tick.

aircontrol is jammed on.
Why? It's f*g magical. EDIT: hah, almost forgot to star that!

Notes:
-Might wanna try "player_held_object_use_view_model 1" for coop style cubes
-Also might wanna use "func_portal_orientation" based on player's rotation

Issues:

  • Painted bridges work, but use the wrong texture at the moment.
  • Coop players don't rotate properly from eachothers point of view.
    (sourcemods don't really work in coop anyway)
  • Cubes sometimes fly out of your hands when you drop them.
  • You have to jump to transfer from solid .bsp to a func_brush at right angles
  • Being on sticky paint and hitting a funnel does some damn weird stuff.

=============Download
NEW

http://sicklebrick.com/wp-downloads/sic ... _gamma.rar
OLD

http://sicklebrick.com/wp-downloads/sic ... d_beta.rar

Contains executable code - so you might wish to scan it on virustotal.com to ease any safety worries.

Advertisement
Registered users don't see ads! Register now!
Avatar
sicklebrick
876 Posts
Posted Dec 15, 2013
Replied 2 minutes later
Here's a cat to make up for that wall of text...
Avatar
FelixGriffin
2,680 Posts
Posted Dec 15, 2013
Replied 1 hour later
Woo! Public beta!

I will try to release the code for the sticky cubes before <Holiday Name Here>, but there are still a few compatibility issues (as seen in my last Hammer Notepad).

Avatar
sicklebrick
876 Posts
Posted Dec 15, 2013
Replied 25 minutes later
Loving this <Holiday Name Here> nonsense - can't wait to see some playable things though ^^
Avatar
Flo2912
80 Posts
Posted Jan 03, 2014
Replied 18 days later

Great Mod!
I've allways been waiting for such a Mod that brings back a real functional STicky Gel

I've created A first simple Testmap with the PTI (And BEE2)

http://steamcommunity.com/sharedfiles/f ... =211549145
It is actually only viewable for friends, so simple add me to your friendlist^^

It's nothing special, just a "remake" of the Map I had begun to build with FelixGriffin's Stickygel, until I got discouraged by creating a lot of different brushes for different Textures (I still want to finish this version too, If I have enougth Time for it.)

I'm looking forward for the final release

EDIT: Heres a Videos I Made about the Map, so you can see it withut adding me to the friendlist (however, for playing you need to add me on Steam, but I'm planing to make the map public accessable, soon^^)
http://www.youtube.com/watch?v=bM4ekp7m-B8

Avatar
Gemarakup
1,183 Posts
Posted Jan 04, 2014
Replied 19 hours later
Is it an override or source mod or what is it? Is it possible to pack it for the workshop?
Also, you can make one brush and cut it with the clipping tool instead of making a lot of brushes.
Avatar
Flo2912
80 Posts
Posted Jan 04, 2014
Replied 3 hours later
It is a Sourcemod and I don't think it is packable in the workshop. However, if you create a Map in Workshop using Gel 1 (with BEE2 for example), you can also load it from the Sourcemod instead of the normal Portal 2 and Play the map with this version of the Game, but Maps that requiers the Sourcemod wouldn't be solveable in normal Portal 2, but can be teoretical loaded and played with it, thats why I haven't published my Map for everyone now, I think I'll wait until the Mod is a bit more known, and there are other who Make maps for it^^
Avatar
sicklebrick
876 Posts
Posted Jan 04, 2014
Replied 3 hours later
Haha, that's awesome Flo - can't wait to see more
Send me a steam invite if you wanna share!

Yishbarr:
Yeah, you need the sourcemod to play it, but the sourcemod can download from the workshop just fine.
So you could easily upload stickymod maps and download from the Sticky sourcemod of your chosing =)

Avatar
FelixGriffin
2,680 Posts
Posted Jan 04, 2014
Replied 1 hour later
Just wondering, would it be possible in assembly to change some seldom-used VScript function to return a different value? That could function as an "assert" in custom maps to make sure they were being played in the Stickymod.
Avatar
sicklebrick
876 Posts
Posted Jan 05, 2014
Replied 17 hours later
Heh, that's not a bad idea Felix. Trouble is I've no idea if it's possible to override the vscript.dll in the same way. If it was, then I guess IsMultiplayer() would be perfect since it returns a bool and sourcemods don't quite support coop play anyway.

Another option I guess might be to re-enable one of the old disabled entities. You could then create one and iterate through all the entities to see if it has been created. (Or even remove an existing one and double check that it hasn't been created)
Might be easier since the entities are compiled into client and server.dll and there's loads of entities that aren't really necessary in P2.

Little busy this week but I'll definitely take a look at it

Avatar
sicklebrick
876 Posts
Posted Feb 17, 2014
Replied 1 month later
Excuse the double post - would like to keep updates separate from comments for the sake of clarity.

====Update Gamma

-You're no longer crouched right up against the wall
-Fixed a bug where standing on thin floor didn't pop you out of sticky mode
-You don't stick when standing on perfectly flat floor.
-Some more streamlined robust code
-Improved setup code. (skill1.cfg for binds, launching the readme, etc)

Avatar
LambdaCore 21
144 Posts
Posted Feb 17, 2014
Replied 26 minutes later
It's a major improvement for shure
Avatar
Wungle
2 Posts
Posted Sep 06, 2015
Replied 1 year later
why doesnt this work?

i try to start it and it just comes up with yellow dots.

Avatar
quaternary
171 Posts
Posted Sep 08, 2015
Replied 2 days later

Wungle wrote:
why doesnt this work?

i try to start it and it just comes up with yellow dots.

Because it was made two years ago, and Portal 2 updates broke it

Avatar
Tinarg
10 Posts
Posted Sep 09, 2015
Replied 12 hours later
Wait, how did he mod the client and server .dll's?
Avatar
FelixGriffin
2,680 Posts
Posted Sep 09, 2015
Replied 4 hours later

Tinarg wrote:
Wait, how did he mod the client and server .dll's?

Disassembling and reassembling.

Avatar
Tinarg
10 Posts
Posted Sep 10, 2015
Replied 19 hours later

FelixGriffin wrote:
Tinarg wrote:

Wait, how did he mod the client and server .dll's?

Disassembling and reassembling.

How does one do that?

Avatar
FelixGriffin
2,680 Posts
Posted Sep 12, 2015
Replied 2 days later
https://en.wikibooks.org/wiki/X86_Disassembly
https://en.wikibooks.org/wiki/X86_Assembly
Avatar
Chyllinalex
4 Posts
Posted Oct 06, 2015
Replied 23 days later
Wow, it's amazing! I don't know anything in game coding but disassembling the client and tweaking it doesnt sound easy at all. It's good to see they didn't completely remove the gel's code from the game. I've been looking for an adhesion gel mod, so glad to see some people are actually working on it! It has so much potential in my opinion... I even worked on underground pump station textures for it xD
Sadly I downloaded and installed it, following the instructions, and the game crashes on the loading screen. Portal 2 updates issues or did I mess something up? :S
Advertisement
Registered users don't see ads! Register now!
Avatar
quaternary
171 Posts
Posted Oct 09, 2015
Replied 3 days later

Chyllinalex wrote:
Wow, it's amazing! I don't know anything in game coding but disassembling the client and tweaking it doesnt sound easy at all. It's good to see they didn't completely remove the gel's code from the game. I've been looking for an adhesion gel mod, so glad to see some people are actually working on it! It has so much potential in my opinion... I even worked on underground pump station textures for it xD
Sadly I downloaded and installed it, following the instructions, and the game crashes on the loading screen. Portal 2 updates issues or did I mess something up? :S

Portal 2 updates issues. :C