Please or Register to create posts and topics.

Stickymod Beta Release (Sticky paint sourcemod)

Page 1 of 2Next

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>.


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.


== 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
steamsteamappssourcemods 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)
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!

-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


- 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.

NEW ... _gamma.rar
OLD ... d_beta.rar

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

Here's a cat to make up for that wall of text...

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).

Falsi sumus crusto!

Loving this <Holiday Name Here> nonsense - can't wait to see some playable things though ^^

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) ... =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^^)

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.

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^^

Haha, that's awesome Flo - can't wait to see more :D
Send me a steam invite if you wanna share!

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 =)

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.

Falsi sumus crusto!

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 :D

Page 1 of 2Next