Skip to content

Commit 7c5f6f7

Browse files
authored
Merge pull request #1 from OrsellGaming/dev
v1.1.0 Merge From Dev to Main
2 parents 063e487 + 6153e8a commit 7c5f6f7

15 files changed

+1296
-238
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,6 @@
3333
/Release
3434
p2sm.vcxproj.user
3535
/.idea
36+
p2sm.sln.DotSettings.user
37+
copy.bat
38+
/Build

LICENSE_P2MM

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Portal 2: Multiplayer Mod Team
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

LICENSE renamed to LICENSE_P2SM++

File renamed without changes.

README.md

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
11
# ***P2SourceModPlusPlus*** (Formerly ***WorkshopStopper9000***)
22

3-
## ***A Source Engine Plugin for Portal 2 Source Mods that fixes and adds some QoL features for them!***
3+
## ***A Source Engine Plugin for Portal 2 SourceMods that fixes and adds some QoL features for them!***
4+
5+
> [!NOTE]
6+
> I originally planned `WorkshopStopper9000` to fix the workshop downloading issue, but I hope to add more features and fixes, so now it has become `P2SourceModPlusPlus`. I plan to implement some good features the community will use until the fated day Portal 2: Community Edition (P2:CE) is released. This plugin will act as a temporary solution for mod makers. Once P2:CE's public beta and/or release occurs, I will probably not work on this anymore, as most of the stuff here is fixed over there.
7+
8+
> [!WARNING]
9+
> This plugin was designed in mind for SourceMods, meaning mods loaded through the `sourcemods` folder in Steam. This is not for Portal 2 mods on Steam's store, which can be installed through Steam.
10+
>
11+
> While this plugin should be ok for a Steam Portal 2 mod, note that:
12+
>
13+
> 1. I do not know if Valve will allow such modifications on the Steam platform, especially if it involves one of their games.
14+
> 2. Compatibility will not be 100%, so expect bugs or other issues.
15+
> 3. If you are using this plugin with your mod, I am not responsible if anything bad happens to your mod's page on Steam.
16+
>
17+
> Ideally, if you wish to have some of these features but want to be able to have your mod on Steam, wait for P2:CE to release rather than using this.
18+
>
19+
> I will, in the future, try to add custom elements involving interactions with Steam's API, like achievements, but for now, I don't expect this to work correctly with Steam mods. Plus, in the end, P2:CE will do this properly in the future.
20+
21+
### Features Implemented/Potentially Plan to Implement:
22+
23+
* Stopped workshop maps from being downloaded by the game because the base game's workshop folder isn't on path for SourceMods. Because of this, it tries to get ***ALL*** of them at once, which causes the game to be unstable and occasionally crash.
24+
* Fixed human NPC movement so they don't jitter when they move. `cl_localnetworkbackdoor` is automatically set to 0 without manual adjustment.
25+
* Made `r_screenoverlay` ConVar be enabled by default and not need cheats so `env_screenoverlay` entities can work correctly without `sv_cheats` being needed.
26+
* Added a ConVar to enable instant respawns for multiplayer. Skips those moments in the third-person death cam before respawn.
27+
* Fixed linked portal doors causing crashes on multiplayer when players enter them.
28+
* Increased the max VScript VM runtime so that VScript operations like `for` and `while` loops run without problems. This helps give more leeway in doing things in VScript without the engine complaining and shutting down the rest of the script, spewing errors in the console. While it depends on how the script was programmed and what it is doing, I occasionally notice this, and this fix helps eliminate it.
29+
* Fixed the player flashlight impulse ConCommand, so it no longer requires cheats to be enabled. All that is needed is a key bound to `impulse 100`. However, the flashlight doesn't work perfectly with portals, snapping to odd positions when moving through and unable to shine through portals.
30+
* **(NOT IMPLEMENTED)** Add a ConVar to disable multiplayer death icons.
31+
* **(NOT IMPLEMENTED)** Allow more than one env_projectedtexture to be on at once. However, the engine limit of eight is still enforced! That can not be fixed.
32+
* **(NOT IMPLEMENTED)** Option to turn on or off puzzle maker functionality. Most mods don't use the puzzle maker, but it still loads in. The plugin will try to disable as much of it as possible so the console is not filled with any puzzle-maker-related errors, messages, or other additional bloat.
33+
* **(NOT IMPLEMENTED)** Custom Discord RPC for Portal 2 SourceMods.
34+
* **(NOT IMPLEMENTED)** Additional achievement support and features. Like custom achievements that span multiple maps and have more parts than Door Prize and Smash TV.
35+
* **(NOT IMPLEMENTED)** As informed by MarvinG, `env_sun` disappears when over player crosshair. I have not been able to confirm this and have never noticed it in general.
36+
* **(NOT IMPLEMENTED)** When in water, the player is pushed to the world's origin.
37+
* **(NOT IMPLEMENTED)** Fix SourceMods only getting a small 2 MB of memory for material system render context allocation, increasing it to 6 MB. This could happen if this gets ported to SAR or P2SRM.
38+
* **(NOT IMPLEMENTED)** Linux support.
39+
* **(NOT IMPLEMENTED)** Implement some VScript functions and hooks to capture specific events, turn ConVars on or off, and fix and add new VScript functions.
440

5-
> I originally planned `WorkshopStopper9000` to simply fix the workshop downloading issue, but I hope to add a bit more features and fixes so now it has become `P2SourceModPlusPlus`. Hopefully I can implement some good features that will be used by the community until the fated day Portal 2: Community Edition is released. Basically this is gonna be a temporarily solution for mod makers.
6-
7-
### Features Implemented/Plan to Implement:
41+
### Download and Install Instructions:
842

9-
* Stopped workshop maps from being downloaded by the game because the workshop folder isn't on path for Source Mods. Because of this it tries to get ***ALL*** of them at once, which caused the game to be unstable and on occasion crash.
10-
* **(NOT IMPLEMENTED)** Fix human NPC movement so they don't jitter when they move.
11-
* **(NOT IMPLEMENTED)** Option to turn on or off Puzzlemaker functionality. Most mods don't use the puzzlemaker, but it still loads in. The plugin will try to disable as much of it as possible so console is not filled with any puzzlemaker related errors or messages or any other additional bloat.
12-
* **(NOT IMPLEMENTED)** Custom Discord RPC for Portal 2 Source Mods.
13-
* **(NOT IMPLEMENTED)** Additional achievement support and features. Like custom achievements that span multiple maps that have more parts than Door Prize and Smash TV.
14-
* **(NOT IMPLEMENTED)** Use of player flashlight without needing cheats enabled.
15-
* **(NOT IMPLEMENTED)** By default have env_screenoverlay entities not need the `r_screenoverlay` ConVar be enabled.
43+
Download the latest `addons.zip` under the `Releases` tab on GitHub and extract its folder into the base directory of your SourceMod. Portal 2 should automatically start the plugin up with the game. You should be able to see log messages from the plugin in the developer console if it is loaded. That's it. Please create an Issue post on the plugin's repository if there are any issues. I'll get to it within the next 20 years. (Hopefully not).
1644

17-
### Download and Install Instructions:
45+
> [!IMPORTANT]
46+
> If Portal 2: Multiplayer Mod is running along with P2SM++, P2SM++'s hooks, configs, and settings will take priority over Portal 2: Multiplayer Mod's. If P2SM++ patches the same things that P2:MM does, P2:MM ignores patching as P2SM++ has already done it. Note: P2:MM assumes that it is being loaded second based on how it is loaded normally with the launcher and with a `tempcontent` folder.
1847
19-
Download the latest `addons.zip` under the `Releases` tab on GitHub and extract its folder into the base directory of your Source Mod. Portal 2 should automatically start the plugin up with the game and thus stop the game from downloading workshop maps. You should be able to see a message in the developer console from the plugin if it loaded. That's it. This took about 20 minutes to make, so please create an Issue post on the plugin's repository if there are any issues. I'll get to it within the next 20 years.
48+
**As of writing, 11/10/2024, the plugin is only compatible with Windows. The signature scanner it uses still needs to be compatible with Linux, plus overall, the way the P2:MM plugin is structured (this plugin is built off of some of the P2:MM plugin code as a base), it's impossible to compile for Linux anyway. Literally 1984, I know, but I don't have enough time or experience to figure it out by myself. Linux users should still be able to get away with using Proton or similar to be able to use the plugin's Windows `.dll`. Hopefully, one day, this can be fixed...**
2049

21-
**As of writing, 11/10/2024, the plugin is only compatible with Windows. The signature scanner it uses still needs to be compatible with Linux, plus overall, the way the P2:MM plugin is structured (this plugin is built off of some of P2:MM plugin code as a base), it's impossible to compile for Linux anyway. Literally 1984, I know, but I don't have enough time or experience to figure it out by myself. Linux users should still be able to get away with using Proton or similar to be able to use the plugin's Windows `.dll`. Hopefully, one day, this can be fixed...**
50+
**Update 3/24/2025: I plan to move this over to a forked version of SAR using its code base as a base for this plugin. Its structure is much better, it has more engine functionality accessible in the plugin, and it compiles for Linux. However, do not expect this switch to happen anytime soon. Thank you for being so patient.**
2251

2352
***
24-
Please credit either Orsell/OrsellGaming, Nanoman2525, and NULLderef, or the `Portal 2: Multiplayer Mod Team` if you use this plugin or its code in any way with your Source Mod.
25-
You must also include this repository and P2:MM's license file with the plugin.
53+
Please credit Orsell/OrsellGaming, Nanoman2525, NULLderef, and/or the `Portal 2: Multiplayer Mod Team` if you use this plugin or its code in any way with your SourceMod.
54+
You'll also need to include this repository and P2:MM's license file with the plugin.
2655
Both licenses will be included with the `addon.zip` file you download to get the plugin.
2756
***
28-
29-
```c++
30-
MIT License
31-
32-
Copyright (c) 2024 Portal 2: Multiplayer Mod Team
33-
34-
Permission is hereby granted, free of charge, to any person obtaining a copy
35-
of this software and associated documentation files (the "Software"), to deal
36-
in the Software without restriction, including without limitation the rights
37-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
38-
copies of the Software, and to permit persons to whom the Software is
39-
furnished to do so, subject to the following conditions:
40-
41-
The above copyright notice and this permission notice shall be included in all
42-
copies or substantial portions of the Software.
43-
44-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
45-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
46-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
47-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
48-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
49-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
50-
SOFTWARE.
51-
```

0 commit comments

Comments
 (0)