garrysmod-requests icon indicating copy to clipboard operation
garrysmod-requests copied to clipboard

Port some of the easier Portal entities to Garry's Mod

Open wolfestridershooter opened this issue 1 year ago • 6 comments

Details

As I'm sure you know there are some Portal Gun mods on the workshop and I'm aware the portals themselves will likely never be add to the game officially although it would be really nice if all the other entities could be ported over into Garry's Mod since that would make Portal fully playable with just a single addon.

Point entities:

  • [ ] env_portal_credits
  • [x] point_energy_ball_launcher

Brush entities:

  • [ ] func_noportal_volume
  • [ ] func_portal_bumper
  • [ ] func_portal_detector
  • [ ] func_portal_orientation
  • [x] trigger_portal_cleanser

Prop entities:

  • [x] prop_energy_ball
  • [x] prop_glados_core

NPCs:

  • [x] npc_portal_turret_floor
  • [x] npc_rocket_turret
  • [x] npc_security_camera

wolfestridershooter avatar Aug 27 '23 22:08 wolfestridershooter

can you not replicate most of these through lua? excluding the brush entities ofc

garryspins avatar Aug 28 '23 04:08 garryspins

You could but why when you could have the actual entities? I don't think the game entities themselves should have to be recreated in lua

wolfestridershooter avatar Aug 28 '23 05:08 wolfestridershooter

Those entities rely on portals, for what purpose do you want trigger_portal_cleanser? Player from HL2 (and HL2MP) don't have portal feature and there's no portals at all...

Actually, EVERY entity here relies on portals or can be recreated with GLua!

  • env_portal_credits - c'mon, just vgui panel?

  • func_portal_detector - just trigger that detects if there's prop_portal in it

  • func_portal_bumper - entity that used in COMPLEX logic of portal placement calculation and useless if you don't have them (you don't)

  • func_portal_orientation - same as above

  • point_energy_ball_launcher - entity that spawns prop_energy_ball, sets it's velocity and etc...

  • prop_glados_core - prop entity that plays anims and :PlayScene() or :PlaySound()

  • prop_energy_ball - just sprite that bounces around world, dies after some time (same as prop_combine_ball, but don't follow player on bounce)

  • NPCS can be recreated with GLua as I said

    • Camera just follows nearest player do little offset for pose parameters every N second, plays moving sound

    • Rocket turret and turret floor same as camera, but fires bullets/rockets and plays scenes/sounds.

URAKOLOUY5 avatar Aug 28 '23 07:08 URAKOLOUY5

I have ported some of them just for the fun of it, their clientside components are missing right now (those require network compatibility with existing servers to be broken).

I will not be adding the rest for the aforementioned reasons.

robotboy655 avatar Aug 31 '23 20:08 robotboy655

Thank you!

wolfestridershooter avatar Sep 01 '23 21:09 wolfestridershooter

Those entities rely on portals, for what purpose do you want trigger_portal_cleanser? Player from HL2 (and HL2MP) don't have portal feature and there's no portals at all...

Actually, EVERY entity here relies on portals or can be recreated with GLua!

* `env_portal_credits` - c'mon, just vgui panel?

* `func_portal_detector` - just trigger that detects if there's prop_portal in it

* `func_portal_bumper` - entity that used in COMPLEX logic of portal placement calculation and useless if you don't have them (you don't)

* `func_portal_orientation` - same as above

* `point_energy_ball_launcher` - entity that spawns prop_energy_ball, sets it's velocity and etc...

* `prop_glados_core` - prop entity that plays anims and :PlayScene() or :PlaySound()

* `prop_energy_ball` - just sprite that bounces around world, dies after some time (same as prop_combine_ball, but don't follow player on bounce)

* NPCS can be recreated with GLua as I said
  
  * **Camera** just follows nearest player do little offset for pose parameters every N second, plays moving sound
  * **Rocket turret** and turret floor same as **camera**, but fires bullets/rockets and plays scenes/sounds.

I know this is a super late reply but the reasons why I wanted these entities ported to Garry's Mod was because if you've ever seen the attempts at recreating these entities in GLua they are pretty lacking. I'm not 100% sure weather it's because we are missing some functionality in GLua to enable us to recreate these entities 100% faithfully or if it's because everyone who has attempted does know how to code very well, probably a little bit of both. Point is weather or not it is possible to recreate these entities is largely irrelevant because at the end of the day it's just one more barrier for people trying to get Portal working within Garry's Mod. Instead of having just to recreate the portal gun and the portals themselves now we need to worry about getting all the other Portal entities ported over into Garry's Mod via GLua. Plus iirc we have all of Half-Life: Source's entities ported into Garry's Mod, by principle why not the easier ones from Portal? Not to say that I'm not grateful for what was already ported ofc

wolfestridershooter avatar Feb 22 '24 19:02 wolfestridershooter