#Team Comtress 2 Megathread - It's finally here

1 messages · Page 8 of 1

dusky sapphire
#

i mean the problem is that changing your weapons/class is something that comes easily

#

it doesnt get announced nor is there an easy way to know information about the enemy

#

information is easily available in dota and thats kind of the whole gameplay

#

dota favors being aware of information and making the right decisions for it

#

you cant plan your entire game in tf2 unlike in dota

#

youre not really locked in on a class or any of their weapons, being able to freely swap makes things difficult

#

but yea i totally agree with that lol

wheat herald
#

btw did you see how i implemented main menu music in hud code all to resize the main menu dimmer when you click the casual button

#

I don't remember if I showed you

#

why did that get deleted

#

wtf

#

who is deleting that

#

bruh

#

BRUH

#

i hatr thisd erver....

#

vgui is the best thing ever because it gives me something super wasteful and pointless to do in my free time instead of actually learning something useful like java

tight nexus
#

Are you a hud dev?

wheat herald
#

yeah

wheat herald
#

i havent made any but ive contributed to a few and found a lot of tech in editing vgui

fallen moat
#

I think the biggest draw of vgui is that it’s extremely easy to understand on a basic level. If you have a basic understanding of grids and English vocabulary you can do 98% of edits you’d ever want.
The only real stumbling block is that hudlayout.res is a parent of like 50% of things, and if you don’t realize that then you just won’t understand why your stuff only moves a bit before getting cut off. Which is hard to explain concisely, but relatively digestible to pick up on.

The biggest drawback of vgui is the remain 2% of hud edits are impossible via intended means which is why so much of advance hud editing is basically hacking stuff together. If we were just content saying things like “getting rid of dashboard dimmer is impossible” then vgui would be extremely simple.

#

I think it’s kinda proposing scripting with convars be replaced with just writing your own code because convars aren’t applicable and have a learning curve for people that already know C++.
It’s not incorrect but I feel like for the intended purpose, the current implementation is fine. It’s just when people start doing things that weren’t intended is where stuff gets complicated and hacky.

#

Not necessarily saying you shouldn’t replace VGUI, just that I think interpreting the hacky stuff like 10 technical hud developers do as “having to use stupid hacks to make a menu” is a bit off from what vgui was intended for IMO.

I probably wouldn’t go through the effort of porting any of my huds to a new system. If I wanted to practice building interfaces in JavaScript or something I’d probably just get around to making my portfolio website.
But if hud editing had always made use of JavaScript or whatever more useful languages Panorama used, then I would have learned those things and made my huds using them and it would have been beneficial to my education and career.

tight nexus
#

Script to port from vgui to panorama

#

vguitopanorama (requires .net framework 2007)

wheat herald
#

here's the deal

#

horizontal health bars

fallen moat
#

I mean yeh, but when I make a portfolio website I want it to be practice for something useful.

#

Health bars in any direction. They’re in VGUI, same with ammo bars. They’re just still in the HL2 implementation so everything is based off 100 iirc, which is a useless number in TF2

#

You could make VGUI not hacky by just adding a parameter to allow for hud devs to actually make use of HL2 elements, or just implementing those HL2 elements for TF2.
I don’t think an entirely new system is needed to make VGUI not hacky.

But that doesn’t change the fact that it’s still be proprietary, I think that’d be the main purpose behind switching from VGUI. But then in making your UI code not industry proprietary, you’re making it proprietary relative to TF2, so it’s give and take. You either alienate yourself from the general UI implementation ecosystem by sticking to VGUI or you alienate yourself from the existing TF2 ecosystem by switching away from VGUI

wheat herald
#

that's not the point

fallen moat
#

IMO, unless the mod becomes big enough to rival base TF2, abandoning VGUI would basically have a similar effect as disabling hud mods, people just wouldn’t make HUDs for a mod.
Just look at how many custom HUDs exist for TFC, I think there’s 1 or 2, and that’s with HUDs being able to be ported directly.

fallen moat
# wheat herald that's not the point

I’m making my own points here.

  • Like I think the aspiration of switching to a nonproprietary system is valid.
  • Viewing VGUI as hacky is generally not suuuuper fair IMO. Though I feel like I’m also one of the hackier hud devs so maybe I’m the wrong person to speak on this.
  • HUD devs are lazy and are going to stick to TF2 and mods that can be directly ported or at best ported with some tweaks. But the farther you get from direct portability, the more traction the mod would need for any hud dev to bother.
chilly nova
wheat herald
#

peaches it will be okay

#

if push comes to shove we can just force a random guy to make a ReactVGUI library so I can make all of my websites in VGUI

chilly nova
#

also vgui is kinda horrible to work with on the c++ side steamhapp

wheat herald
#

ive decided that i actually would like to use html + css + js instead of vgui because when you're using vgui you're playing by valve's rules and you have to do things the specific way valve wants you to do them, there's no tooling, there's no flexibility. you have to use valve's data format you can't run your own code or do like data gen or whatever. when you're working with a web stack you can use what ever tools that you want.

#

I just hope that all of the files are editable unlike what minecraft did when they moved away from their old proprietary ui on bedrock they made everything unable to be modified by resource packs

fallen moat
#

I mean yeh, but the main thing is why would I bother?
I think the project is cool but at the end of the day I’m not going to spend hundreds of hours writing a hud for a mod that I’ll play out of interest when I am bored of the main branch of TF2.

wheat herald
#

the point isn't to serve you

#

the point is to make it like more maintainable and easier to work with for mastercoms and for new hud developers who want to make their hud just for team comtress 2

#

mastercoms is a web developer it would be easiest to make their mod if they used familiar technologies rather than buggy archaic broken ass vgui

#

vgui is super hacky

#

there is no scripting which really sucks you have to do all events and shit in the game code

#

more people will be able to make a hud mod than ever before it will be a lot more accessible

fallen moat
# tight nexus Are you a hud dev?

Im not saying TC2 should serve me, I’m getting some HUD dev representation in this conversation and just expressing my views as someone who chose to invest in learning hud development for the main branch of the game and has ported my hud to TC2 for personal use.

TC2 doesn’t need to serve me but I think if there’s a discussion on transitioning away from VGUI for hud development then there needs to be a discussion on who it serves. If it’s strictly for maintaining the UI of the TC2 default hud then yeh whatever mcoms find easiest is the best.
If it’s for building a base of community made huds then frankly I think TC2 benefits from nearly direct compatibility with main branch TF2. Because at the end of the day people are going to make huds for what they play, and no offense to the project, but I don’t see it overshadowing TF2 in popularity, nor do I think that’s the aim of the project. So you already have a large base of community huds, that currently can be ported over with like 15 minutes of work, which is more than reasonable for the current scope of the project. As the project grows and establishes itself from base TF2 I think it’ll be reasonable to have some more time investment from porting over, but if it’s a totally unique thing then I just don’t think that’ll happen.

wheat herald
#

Web development is the largest area in programming most programmers would be able to pick up hud developing INSTANTLY

fallen moat
#

Read a week’s worth of unique huds.tf questions and tell me those are programmers.

chilly nova
#

you don't need programming experience to write html

wheat herald
spark birch
fallen moat
#

I think VGUI at a basic level is more digestible than HTML

fallen moat
wheat herald
fallen moat
#

And honestly I don’t think a web developer is going to be intimidated by VGUI

spark birch
fallen moat
chilly nova
wheat herald
spark birch
clever creekBOT
#

*So a hell of a

lot friendlier to less

experienced coders.*

fallen moat
#

That’s just some psuedo code. But basically you could use a library to dumb down JavaScript or HTML to the level of VGUI.

shell temple
#

HTML is super easy, it's way easier than VGUI

#

plus you can look stuff up way easier

#

also

#

im not removing vgui

#

for now, this is going to be the main menu only

#

idk if ill ever replace all of the game HUD, that seems a bit pointless

#

also, it's just going to be a single VGUI panel

#

that renders the main menu UI

#

it wont break any huds

#

they can just have their VGUI main menu override

#

but if they want to opt in, they can use the new single panel

wheat herald
#

it will be so dope and swagger thanks mastercoms

wheat herald
#

will it use steam's cef can it use steam's cef libraries so you dont have to update it constantly to prevent huds from hacking youre computor

#

either way im TOTALLY making a hud that embeds a monero miner

#

automatic hud developer donation

#

if u need help from me to port vgui im probably not your guy i dont know web development very well

tight nexus
#

but i agree, we shouldn't get rid of vgui for now

wheat herald
#

will it use the html motd renderer or does the html motd renderer SUCK?

chilly nova
#

SUCK

wheat herald
#

DAMN

fallen moat
clever creekBOT
#

*Yeh I figured. I

just saw that so I was like

“oop better hop in”*

tight nexus
eternal jungle
#

We gotta stop that thing

storm cargo
#

I thought you were playing this game in geforce now cuz of the menu lol

sour sedge
tight nexus
#

now i gotta update all the talker files

tight nexus
#

two and a half hours

#

but it's done

rich moat
#

truly amazing how everytime i work with vgui i find out its worse than I could've ever imagined

#

I was hoping to find a way to make global conditionals (i.e. is_mvm, is_comp, but not limited to specific files), but as far as I can tell without changing how VGUI works a lot of the functions needed to do that are too low down, set to private, etc.

#

could do it manually i guess

wheat herald
#

no it's simple

rich moat
#

how so

wheat herald
rich moat
#

LoadControlSettings requires a res file input

wheat herald
#

yeah?

#

pretty much all vgui is res files

rich moat
#

as far as I can tell there's no way to get the res file programatically from the panel itself

#

everytime LoadControlSettings is used its with a hardcoded res file path

#

thats why things are limited to specific res files in the first place

wheat herald
#

if you open build mode you can see the path IIRC

wheat herald
rich moat
#

because it requires a .res input?

wheat herald
#

yes so whenever a res file loads for vgui it uses this function which you can add more conditionals to im not sure what the problem is

rich moat
#

its not whenever a res file loads, its that specific hud classes call LoadControlSettings from their ApplySchemeSettings overload with the hardcoded .res path of that specific hud file

wheat herald
#

im not sure what you're getting at

rich moat
#

in the case of a panel that can be used in any res file, it can't have a hardcoded path

#

and I can't find anyway to get the path

wheat herald
#

you asked for global conditionals you should just be able to just edit loadcontrolsettings to add global conditionals

rich moat
#

it's not actually compiled by tf2's project, so the only real way you can figure out if its tf2 is this, which is stupid

#

Ideally I think it would be good if, say, the gamemodes themselves (or anything for that matter) could send a signal down to activate a condition, but I'm not really quite sure how to do that yet

wheat herald
#

is -game tf even default anymore

rich moat
#

doesn't look like it

#

well, unless you're on mac

wheat herald
#

the mac version of tf2 is the only true version of tf2

rich moat
#

thats true, it has debug symbols!

eternal jungle
#

I wonder if it would still work if you fix the sendtables or if there's other issues

#

don't really care enough to spend time on it

rich moat
#

hm actually I might be able to figure out how to do this globally

eternal jungle
#

I mean you can always add -game tf

#

Actually I think the launcher adds it for you

eternal jungle
#

Yeah -game tf gets automatically appended to the commandline internally

#

even if you launch without it

#

you can check by running a timedemo and then checking sourcebench.csv, the output includes the full commandline that the game was launched with

rich moat
#

do you think valve would mind if I edited a VPC file to add a public header file :)

#

specifically, string_t.h

chilly nova
#

?

rich moat
#

whats confusing

rich moat
#

yeah but what about that is confusing

chilly nova
#

the entire sentence

#

i may be having a moment

#

but please explain

rich moat
#

ok so

#

VGUI Controls doesn't import string_t, and I'd like to compare a string

clever creekBOT
#

*VGUI Controls doesn't

import string_t, and I'd like

to compare a string*

chilly nova
#

can't you just #include it?

rich moat
#

doesn't seem like it

chilly nova
#

#include "string_t.h"

rich moat
#

I may be stupid, but that also didn't fix it

#

just to clarify, when i say it doesn't import it I mean that its not part of the VPC includes

#

if that makes sense

#

like this whole list

#

at least for this project, its used in several other ones including client and server

chilly nova
#

i mean if it works

#

which files were you trying to include it from? i included it from vgui2/vgui_controls/BuildGroup.cpp and it worked without modifying the vpc file

rich moat
#

I was importing it from the BuildGroup header file instead of the cpp file

chilly nova
#

that should work too

#

unless this is a vs thing

rich moat
#

idk i'll try it again

rich moat
#

setting up the conditions themselves is more complicated than I thought

#

I forgot they had a hudtype variable that overwrites whatever hud is usually used for a gamemode

barren beacon
#

give spy a ping

wheat herald
sour sedge
#

I'm patching out ctaps

#

That will make it consistent

fallen moat
#

Was that ctapping? Normally it works fine on flat and down slopes, its only an issue on up slopes iirc

wheat herald
young osprey
#

One thing I'd want to see fix would be the class selection screen, it has a lot of issues like the animations not playing correctly, the facial animations not resetting when surfing the class models, broken lightning and missing sound effects. It's been 'bugging me' for as long as Valve broke it.

eternal jungle
tight nexus
#

patch ctap and make it a feature instead of a bug

wheat herald
#

ctap is a bug?

tight nexus
#

yeah

vernal hull
#

i propose crounching becomes an uninterruptible animation that onky works on the ground. Two bird with one stone, no more crouchjump exploiting either

storm cargo
shell temple
#

is it possible to do game state hand off in the current engine?

clever creekBOT
#

*is it possible

to do game state hand off in

the current engine?*

shell temple
#

like, solely with game code and some commands

#

for a steam networking listen server, could the host upon disconnect, hand off the server state to a client to rehost and redirect to?

#

if so, then we could easily make a scalable matchmaking system

chilly nova
#

couldn't you use the redirect command for that?

shell temple
#

ofc, there's still the issue of unclean exits but it's an improvement

shell temple
#

what i mean is setting up the same game state

#

all entities and game rules preserve state

chilly nova
#

ohhhh

shell temple
#

given to an ideal client as a keyvalues or some more efficient blob

#

doesnt gmod do that?

chilly nova
#

how does the singleplayer saverestore system work?

chilly nova
#

even with engine access it seems like it would be a hell of a lot of work

#

since you'd have to check and annotate like every entity at the very least

#

plus theres extra game state in globals, physics state, etc

#

when will valve release the engine source code steamhapp

rich moat
#

regarding global conditions in VGUI, I have a few questions regarding what people want feature-wise
For a bit of context, TF2 decides which gamemode hud to use through one of 2 ways, the gamemode of the map (usually determined by presence of a logic entity, although if its tc or sd they just use the prefix in the map filename lmao), and by a "hudtype" variable, which maps can use to override the default hud for that gamemode.
So for example, a map that has CTF logic will automatically use the CTF hud, but then the map creator can override that to force, say, the CP hud instead.
Valve uses this for training mode (or maybe planned it for the more indepth scrapped training maps) to force the training HUD instead of any other gamemode HUD.

So my question is: should the hudtype variable also overwrite the global conditions, or should all the conditions for the current scenario be active (i.e. CTF, CP, and training conditions all enabled at the same time)

#

This won't change how specific hud elements are enabled, just the conditions for other, already enabled elements

#

my thought process is that the way valve currently has their hud stuff set up is that there is only one active at a time, but it could maybe useful to know if CTF and Payload or smth are enabled at the same time
BUT it could also break things because maybe a hud uses specific placement that only really works when one is enabled

shell temple
#

@chilly nova what about demos trollfig

chilly nova
#

haaaaaaa

#

:P

#

i don't think they don't have enough data to restore server state

rich moat
#

question since I actually was just thinking this, would adding a netvar break demos

chilly nova
#

i think there was one commit that added a netvar

#

i think it does break demos but i'll check

shell temple
chilly nova
#

no like

#

it doesn't have even remotely enough state

shell temple
#

not a server side demo?

chilly nova
#

even stv demos

shell temple
#

okay

#

why not?

#

im would be fine with taking a reinit path to redo physics and such

#

and even be okay with a 30 second interruption to roll through the demo incrementally

chilly nova
#

i'm more thinking the amount of server-side entity state that never gets networked

shell temple
#

ah right

#

theres like no format to that

#

its just class impls

#

"whatever"

chilly nova
#

yeah

shell temple
#

right?

#

yeah

#

so part of the work would be making saverestore for that too

chilly nova
#

i think the saverestore system has a separate description for class members that you might be able to use

#

but yeah then you'd have to annotate everything

shell temple
#

personally i think #worthit

chilly nova
#

i think you're crazy

#

but go for it

shell temple
#

i mean the crazier option is hosting dedis all over the world

clever creekBOT
#

*i mean the crazier

option is hosting dedis

all over the world*

shell temple
#

and hoping theres enough funding per month

chilly nova
#

i suppose

#

what about not having handoff

#

and heavily penalizing the host stopping the match

shell temple
#

but then its not casual enough

chilly nova
#

ah yeah

shell temple
#

and still fucks over players

chilly nova
#

what state is there anyways

shell temple
#

gamemode progress

#

kd, stats

#

player and building positions

#

timer

#

respawn times

#

etc

chilly nova
#

what if

#

you compiled the server to wasm

#

and then to do handoff you send the entire vm's memory

#

actually no that probably wouldn't work cause of external interfaces

#

unless you wrapped everything

chilly nova
chilly nova
#

i just realized this can be fixed in the SDK, since we have the code for it steamhapp

small tendon
#

Is it feasible to add support for Precision Time Protocol into the dedicated server binary?

eternal jungle
shell temple
chilly nova
#

no it's never getting fixed trollfig

chilly nova
valid quail
#

Hey! I'm sure you have a million bug reports and these are probably known in TF2, just throwing these out there. I don't know if this is a problem in normal servers, but community servers with 0 respawn time still have to wait for the kill cam, but quickly swapping classes twice let's you spawn faster. It's annoying because it's an unnecessary and obscure tech that can't be used by engies without losing their buildings.

#

Also if you get ignited by the degreaser, and then the pyro respawns and changes their flamethrower, you start taking more afterburn damage.

#

(sorry to bother if these are already fixed in TC2)

shell temple
shell temple
sage schooner
#

Just remembered a bug, unsure if fixed yet but tested some time ago. If you're playing on a breadspace map and then a different map with the normal announcer you'll still hear the breadspace announcer in the next map

eternal basin
#

I tried compiling TF2 SDK and loading into a stock map, but it crashes as soon as I'm supposed to enter the map. Anyone get any similar problem?

eternal basin
#

nevermind, it fixed itself after I ran it a second time. weird that it crashed the first time!

vernal hull
barren beacon
#

concerning

chilly nova
#

is there a way to query workshop subscriptions for a different app

#

load will not go well :(

#

"generic fail", even better

#

ugh looks like the api doesn't like that i'm not app 440

eternal jungle
#

I wonder if objector decals work

chilly nova
eternal jungle
#

they do

#

get owned

#

but I think they're using a similar system to the workshop maps aren't they?

eternal jungle
#

I guess they're different

#

Did you try just lying to the steam API and telling it you are 440

#

to see if that's really the problem

#

I tried that and it still doesn't work :(

chilly nova
#

hm

rich moat
#

has anyone figured out why debug builds crash yet?

#

as far as I can tell its unfortunately in code which is not part of the SDK, since it looks like the inventory request works fine

#

it just goes to some mystical gcclient place that we only have a header for and then breaks

shell temple
#

isn't it because its not expected for mixed release modes to be used?

rich moat
#

that would make sense i guess, but it does seem rather silly that valve would just not want people to compile as debug since thats kind of... helpful

umbral siren
#

is there any documentation with all balance changes listed?

round coyote
#

I was wondering the same thing.

stone river
#

was looking through sdk forks and this caught my eye (in part because of demoknight tf2)
i've been a tf2 classic player for the past couple years, and only started playing live tf2 again recently - classic and similar leaked code projects were largely siloed off for a long time, both for better and for worse, but between those mods coming into the mainstream and having known for a while that none of these games can really be what i want from team fortress, i want to see what other tf2 communities are working on
planning to look at contributing since i have a programming/it background, but i don't want to overpromise since source itself is new to me and i have other obligations

also looked through mcoms' recent posts about design/balance out of curiosity and i agree with a lot of what's been said about the philosophy behind changes

fallen moat
#

Could TC2 make koth’s first-cap spawns more intuitive, or are those controlled by the map?
Basically koth’s spawn times are longer for defending team and shorter for attacking team, but on the first cap of the game (neutral to teamed) spawn times don’t be changed for people actively respawning.
BUT if there is more than one spawn wave, the first cap will lengthen affect any spawn wave after that first one.

I’m not sure if it’s an intentional decision or not, but there are a lot of high level players that think first cap is just flat out bugged and don’t know the mechanism. So making it more intuitive would be a big plus.

tight nexus
#

opinions about returning to v_ and w_ models?

#

also for forced first person taunts, i think more viewmodel animations should be created for the sandvich

#

that's a common item used in comp

halcyon hamlet
#

I love V models

#

The C models took away so much detail

storm cargo
eternal jungle
#

r_drawviewmodel 0 problem solved

storm cargo
wheat herald
#

i dont really see the point

tight nexus
#

nvm

storm cargo
wheat herald
#

i cant really tell the difference other than the reflection which seems entirely subjective to me

tight nexus
#

but decompiling is shit

wheat herald
#

can you add a taunt for the jarate if you try taunting with it right now nothing happens

storm cargo
#

oh yeah, moving taunts

tight nexus
#

forget about the forced taunts lol i got confused

#

but still, i think an animation for the sandvich (and for scout's sodas) would be good

tight nexus
#

footsteps still play for heavy when crouching for some reason

alpine karma
#

cus he heavy

tight nexus
#

is there a reason why valve didn't include audio stuff in the sdk?

rich moat
#

its probably mostly lumped in with the engine code

chilly nova
#

only the code needed to build the client and server dlls is included (well, mostly. there is some extra stuff. but no source code for other dlls)

high wigeonBOT
#

@umbral siren has leveled up! (28 ➜ 29)

umbral siren
#

yeah, nothing to do with audio it seems, sorry

rich moat
#

well I managed to get the game to load and apply the global conditions relatively easily but as it turns out, its surprisingly hard to get the game to reload the files when necessary

#

at least without just doing a full hud_reloadscheme

#

I mean in theory I could do it in the client code but that seems like an absolute nightmare to maintain and I'd like to be able to keep it out of game code as much as possible

gilded bobcat
#

Hey idk if this is the right place for this, but one thing I would love to see fixed is how getting airblasted affects air control. JI update notes say airblast would "cause the target player to have reduced air control for a short period", but in reality the reduced control lasts until you are grounded again. The current behavior is clearly not intended, and also very unintuitive and disruptive. A pyro airblasting you when you rocket jump away from them causes you to practically get locked into your trajectory, which makes no sense.

wheat herald
shell temple
#

personally i dont see a reason to change it at the moment unless airblast was reworked again

#

and im not really interested in doing a third airblast rework

clever creekBOT
#

*and im not really

interested in doing a

third airblast rework*

shell temple
#

the current airblast is very much designed around killing momentum

#

actually very much designed as a rocket jumping counter

halcyon hamlet
#

I love airblast

#

Its so funny to juggle people around

shell temple
#

if we wanted to remove that, it would warrant a whole rework to the mechanic

wheat herald
#

give pyro airblast infinite range

dusky sapphire
#

pyro should be able to charge their airblast

gilded bobcat
#

I don't understand how the mechanic is intended, unless "a short period" means until the player lands

#

the reduction in air control is definitely needed, as airblasting airborne players would be nearly useless otherwise

#

but I do not understand why it shouldn't last for a certain amount of time instead of until being grounded

wheat herald
#

It doesn't affect anything anyways I genuinely didn't even know that effect existed until solarlight pointed it out and i have 5000 hours on this game

gilded bobcat
#

Well yeah I didn't know about it either until I started playing trolldier lol

#

It's mainly noticeable when jumping away from pyros

#

But the fact that it is quite inconsequential but annoying when it happens is why I would like to see it fixed

high wigeonBOT
#

@gilded bobcat has leveled up! (1 ➜ 2)

gilded bobcat
#

Haven't looked into the game code but I would guess changing the air control reduction to last for x amount of time would be quite easy, and almost no one would notice anything, and I doubt anyone would dislike it

fossil vault
#

Balance this, balance that. I want more killbind types

#

let me turn into an ice statue at will to confuse friend and foe

clever creekBOT
#

*let me turn into

an ice statue at will to

confuse friend and foe*

fossil vault
#

I didnt do that deliberately but somehow felt like it would be a haiku

shell temple
#

i can see how infinite time would be weird

#

but its hard to determine a good time for it to end, ill try to think of things

#

the lazy thing to do would be to treat it as same as the old stun, and set it to 0.5s

#

but its a new mechanic, obviously

#

so it requires new time bounds

#

i think there should be some differences in how duration is computed based on some different factors

gilded bobcat
#

yeah that is true, I hadn't actually thought about what the duration should be

vernal hull
wheat herald
#

you should default sv_pure to -1 since it doesn't work

stone river
#

pyro has always been in this weird spot where two of the main reasons you'd use pyro over other classes (airblast and afterburn) are both just miserable to play against, but they're both baked into the class's mechanical identity, power relative to other classes, and player expectations of what pyro is to the point that there's no easy way to address them

#

you could realistically argue that most classes are trapped in an established identity that makes the game less fun for at least one person playing
but for pyro you can say that about basically every useful characteristic they have

wheat herald
tight nexus
#

someone made like 100 prs in sdk repo in like 40 minutes lol

eternal jungle
#

Dont worry Niterux will review them

stone river
# wheat herald you forgot about comboing which is actually fun and airblast isnt really that ba...

the only part of combo pyro that has notable interplay between the weapons is using airblast to remove a form of counterplay (it also does this by removing the strategic commitment of changing weapons rather than adding new tools), and when its main utility is making stuff pyro can already do better it neither adds anything that would make pyro more fun to interact with nor adds anything new to make pyro worth picking

also that video is what optimal pyro play has been for years, even at the peak of puff n sting where pyro could do 200 damage in half a second it wasn't as useful as babysitting or uber stalling

wheat herald
#

hopefully they're all merged

stone river
#

there's stuff i like about pyro (for most of my time with tf2 i was a pyro main) but the moment you start optimizing all the things i like about the class collapse

wheat herald
spark birch
#

When the airblast hitbox was just a giant cube with no directional cone that clipped slightly behind the pyro, so if a spy went to stab them and they airblast at the right time, it would airblast the spy away from behind.

chilly nova
#

it may be a box again in tc2 trollfig

#

it was when i checked on the base sdk

spark birch
#

All roads lead to screw over Spy.

#

"Life is pain! I hate m-"

tight nexus
#

does hl2 use binds_per_command to allow several binds, without overriding?

#

wait nvm

tight nexus
#

i don't remember which source 1 game had an extra slot for keys in the keyboard menu

#

oh wait it's hl1

chilly nova
#

source 1 - 1

#

close enough

umbral siren
storm cargo
chilly nova
#

@sour sedge must be stopped

shell temple
#

wasnt the shape fixed in the 64 bit update

chilly nova
#

no

#

it was never actually fixed

#

we just got lucky with the stack layout

shell temple
#

ohh

storm cargo
#

some weird shit

wheat herald
#

can you add the jalorpy (half life 2 episode 2)

rich moat
#

I've actually seen someone in the tf2maps discord who was trying to get it to work in tf2 with the sdk

#

on an unrelated note, does anyone know if there are any known issues with VGUI and paths using backslashes? they use CUtlDict to store cached res filepaths, and even though the dict class has an option to do compares where forward slashes and backslashes are handled the same, its not used anywhere in the code

#

just a weird thing I noticed and I'm curious if anyone has ever seen an issue due to it

wheat herald
#

probly dont work on linux

#

linux only know forward slash it dont know back slash

rich moat
#

I don't think it is an issue there since like 99% of the LoadControlSettings calls use hardcoded strings that use forward slashes, but it looks like vgui screens use a keyvalue for the res filepath it uses as an input

#

so maybe there it would break

#

maybe its actually intentional to force programmers to use forward slash so that they don't break compat with linux trollfig

umbral siren
wheat herald
#

jalorpy

umbral siren
#

what's that

wheat herald
chilly nova
#

how feasible would it be to try and replace all the core engine dlls

wheat herald
#

easy

#

ctrl c ctrl v

chilly nova
#

but what about stuff like matsys

#

or filesystem, or inputsystem

stone river
#

gonna take some time over the next week or so to look through the issue tracker
haven't really done public repo prs before but both it and the engine are things i'd like to learn

shell temple
#

@chilly nova unreal engine layer trollfig

chilly nova
wheat herald
#

@shell temple You're a lovely awesome person steamhapp

spark birch
barren glacier
#

Was this issue with the BASE jumper parachute appearing in the middle of the air ever fixed?

tight nexus
#

Valve: fix it yourself

tranquil mirage
#

would be possible to force high res model and texture only for viewmodel or is something more engine sided?

eternal jungle
#

Wtf why is there code in the game for translucent viewmodels

#

I thought that was a hud hack

shell temple
#

jill was working on a solution without a hack

delicate schooner
barren glacier
#

Valve not finishing what they started is a common occurrence

delicate schooner
#

Hopefully the community can find a fix 🙂

barren glacier
sour sedge
umbral siren
# barren glacier

Hunt Down The Freeman is a Fan-Made creation of Royal Rudius Entertainment. Not created by Valve.YOU ARE THE VILLAIN...It's time to tell the story of the villain. Hunt Down The Freeman takes you into a journey like no one has before. Witness the pain of the villain firsthand with over 2 hour gameplay, over 40 levels, immersive gameplay, cinemati...

Price

$9.99

Recommendations

3372

▶ Play video
barren glacier
keen kayak
#

what backstab changes are made in this version?

sour sedge
chilly nova
#

i'm holding you to that

tight nexus
#

does l4d2 have a different vgui version?

vernal hull
#

never specified which two hours

umbral siren
tranquil mirage
#

what

umbral siren
#

so

tight nexus
umbral siren
#

for emoticons?

tight nexus
#

But for now I don't want to see more tf2 code, I'm tired

tight nexus
young osprey
next frost
#

Can someone tell me how to install the Linux version manually

clever creekBOT
#

*Can someone tell me

how to install the Linux

version manually*

next frost
#

Or windows version with proton?

shell temple
#

cant you launch the game?

#

the itch zip should just work

next frost
#

I put it in the sourcemods folder and don’t show on steam

astral yarrow
#

just click tc2 64 exe

chilly nova
#

run the tc2.sh script, that should work no matter what

crystal lynx
#

For me, it was as simple as moving the downloaded content of the zip, in your sourcemod folder. As sourcemod/tc2/

#

Launching from itch.io, doesn't work at all of course

next frost
chilly nova
#

it'll be in the files you downloaded

next frost
chilly nova
#

wherever you extracted the tc2 game files to

crystal lynx
# chilly nova oh?

The Windows version will launch through wine, and the Linux one might still be sandboxed. Even without enabling it, it didn't managed to launch it that way.

next frost
chilly nova
crystal lynx
#

~/.steam/Steam/Steamapps/sourcemods

chilly nova
crystal lynx
chilly nova
next frost
#

./tc2.sh ─╯
[S_API] SteamAPI_Init(): Loaded '/home/medrinnn/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 243750
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561199769827413 [API loaded no]
[Source Mod Launcher] Launching default game: tc2
SDL video target is 'x11'
SDL video target is 'x11'
Using shader api: shaderapivk
info: Game: hl2_linux64
info: DXVK: v2.3
info: Vulkan: Found vkGetInstanceProcAddr in libvulkan.so @ 0x72481e39ff00
info: Built-in extension providers:
info: SDL2 WSI
info: Enabled instance extensions:
info: VK_EXT_surface_maintenance1
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_xlib_surface
MESA-INTEL: warning: Haswell Vulkan support is incomplete
warn: Skipping Vulkan 1.2 adapter: Intel(R) HD Graphics 4600 (HSW GT2)
warn: DXVK: No adapters found. Please check your device filter settings and Vulkan setup. A Vulkan 1.3 capable driver is required.
Convar sdl_displayindex has multiple different change callbacks
Using Breakpad minidump system. Version: 120022 AppID: 243750
Setting breakpad minidump AppID = 243750
Using breakpad crash handler
[S_API] SteamAPI_Init(): Loaded '/home/medrinnn/.local/share/Steam/linux64/steamclient.so' OK.
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
03/19 20:24:33 minidumps folder is set to /tmp/dumps
03/19 20:24:33 Init: Installing breakpad exception handler for appid(243750)/version(120022)/tid(6869)
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561199769827413 [API loaded yes]
SteamInternal_SetMinidumpSteamID: Setting Steam ID: 76561199769827413
Did not detect any valid joysticks.

#

[CFontManager] Forcing freetype2 for GorDIN
[CFontManager] Forcing freetype2 for GorDIN-Black
[CFontManager] Forcing freetype2 for GorDIN-Bold
[CFontManager] Forcing freetype2 for GorDIN-Light
[CFontManager] Forcing freetype2 for GorDIN-Regular
[CFontManager] Forcing freetype2 for GorDIN-Semibold
[CFontManager] Forcing freetype2 for GorDIN Black
[CFontManager] Forcing freetype2 for GorDIN Bold
[CFontManager] Forcing freetype2 for GorDIN Light
[CFontManager] Forcing freetype2 for GorDIN Regular
[CFontManager] Forcing freetype2 for GorDIN Semibold
Fontconfig error: Cannot load default config file: No such file: (null)
crash_20250319202437_2.dmp[6883]: Uploading dump (out-of-process)
/tmp/dumps/crash_20250319202437_2.dmp
crash_20250319202437_2.dmp[6883]: Finished uploading minidump (out-of-process): success = yes
crash_20250319202437_2.dmp[6883]: response: Discarded=1
crash_20250319202437_2.dmp[6883]: file ''/tmp/dumps/crash_20250319202437_2.dmp'', upload yes: ''Discarded=1''
/home/medrinnn/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2.sh: line 113: 6869 Segmentation fault (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

#

that the log

chilly nova
#

hmmm

#

can you run coredumpctl dump

next frost
#

coredumpctl dump \E2\94\80\E2\95\AF
PID: 4973 (steamwebhelper)
UID: 1000 (medrinnn)
GID: 1000 (medrinnn)
Signal: 4 (ILL)
Timestamp: Wed 2025-03-19 20:27:17 +00 (55s ago)
Command Line: $'/home/medrinnn/.local/share/Steam/ubuntu12_64/steamwebhelper --type=renderer --user-agent-product=Valve Steam Client --user-data-dir=/home/medrinnn/.local/share/Steam/config/htmlcache --crashpad-handler-pid=4905 --buildid=1741737356 --steamid=0 --lang=en-US --num-raster-threads=2 --enable-main-frame-before-activation --renderer-client-id=5 --time-ticks-at-unix-epoch=-1742413594666924 --launch-time-ticks=816290402 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,985147375092270763,11602722209531856295,262144 --enable-features=PlatformHEVCDecoderSupport --disable-features=BackForwardCache,DcheckIsFatal,DocumentPictureInPictureAPI,SpareRendererForSitePerProcess,ValveFFmpegAllowLowDelayHEVC --variations-seed-version --log-file=/home/medrinnn/.local/share/Steam/logs/cef_log.txt'
Executable: /home/medrinnn/.local/share/Steam/ubuntu12_64/steamwebhelper
Control Group: /user.slice/user-1000.slice/[email protected]/app.slice/app-cosmic-steam-native-2168.scope
Unit: [email protected]
User Unit: app-cosmic-steam-native-2168.scope
Slice: user-1000.slice
Owner UID: 1000 (medrinnn)
Boot ID: 506f856afabe425396b49b6b900d38a0
Machine ID: 74b390ecd88e455b9ce4955b8b6ff725
Hostname: cachyos
Storage: /var/lib/systemd/coredump/core.steamwebhelper.1000.506f856afabe425396b49b6b900d38a0.4973.1742416037000000.zst (present)
Size on Disk: 65.6M
Message: Process 4973 (steamwebhelper) of user 1000 dumped core.
Refusing to dump core to tty (use shell redirection or specify --output). @chilly nova

chilly nova
#

oh sorry do coredumpctl dump hl2_linux64 instead

next frost
#

Wait a sec I restart my pc

#

coredumpctl dump hl2_linux64 \E2\94\80\E2\95\AF
PID: 6869 (hl2_linux64)
UID: 1000 (medrinnn)
GID: 1000 (medrinnn)
Signal: 11 (SEGV)
Timestamp: Wed 2025-03-19 20:24:37 +00 (7min ago)
Command Line: $'/home/medrinnn/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2_linux64' -game /home/medrinnn/.local/share/Steam/steamapps/sourcemods/tc2/tc2
Executable: /home/medrinnn/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2_linux64
Control Group: /user.slice/user-1000.slice/[email protected]/app.slice/app-cosmic-com.system76.CosmicAppList-6724.scope
Unit: [email protected]
User Unit: app-cosmic-com.system76.CosmicAppList-6724.scope
Slice: user-1000.slice
Owner UID: 1000 (medrinnn)
Boot ID: 506f856afabe425396b49b6b900d38a0
Machine ID: 74b390ecd88e455b9ce4955b8b6ff725
Hostname: cachyos
Storage: /var/lib/systemd/coredump/core.hl2_linux64.1000.506f856afabe425396b49b6b900d38a0.6869.1742415877000000.zst (present)
Size on Disk: 6.6M
Message: Process 6869 (hl2_linux64) of user 1000 dumped core.

            Module [dso] without build-id.
            Stack trace of thread 6869:
            #0  0x000072481f77cf0d n/a (n/a + 0x0)
            #1  0x00007248193af80b n/a (n/a + 0x0)
            #2  0x000072481a99d822 n/a (n/a + 0x0)
            #3  0x000072481a99ddbb n/a (n/a + 0x0)
            #4  0x000072481f508cc2 n/a (n/a + 0x0)
            #5  0x000072481f508d54 n/a (n/a + 0x0)
            #6  0x000072481f508e58 n/a (n/a + 0x0)
            #7  0x000072481f508e67 n/a (n/a + 0x0)
            #8  0x000072481f4e544a n/a (n/a + 0x0)
            #9  0x000072481f6278ce n/a (n/a + 0x0)
            ELF object binary architecture: AMD x86-64

Refusing to dump core to tty (use shell redirection or specify --output).

chilly nova
#

gahhhh why do you do this to me systemd

#

i'll take a look later

next frost
#

can i install the win version

#

and run with proton?

chilly nova
#

yeah i think that'll work

#

since theres no vac

next frost
#

how?

chilly nova
#

@crystal lynx would you happen to know specifically, i've never done it myself

chilly nova
next frost
#

ohhh

crystal lynx
#

Need to set the Source SDK 2013 Multiplayer via Proton

tight nexus
#

if valve managed to make proton be able to run autocad reliably i would instantly change to linux

next frost
crystal lynx
tight nexus
#

wine doesn't work well

#

yet

tight nexus
#

well afaik

crystal lynx
# tight nexus wine doesn't work well
tight nexus
#

mmm i'll check that later

crystal lynx
tight nexus
#

jk not changing to linux trollfig

next frost
#

./tc2.sh \E2\94\80\E2\95\AF
[S_API] SteamAPI_Init(): Loaded '/home/medrinnn/.local/share/Steam/linux64/steamclient.so' OK.
IPC function call IClientUtils::SetAppIDForCurrentPipe took too long: 97 msec
Setting breakpad minidump AppID = 243750
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561199769827413 [API loaded no]
[Source Mod Launcher] Launching default game: tc2 now i have this log

ivory sorrel
fossil vault
#

what is one supposed to use?

fallen moat
#

I like fusion 360

ivory sorrel
charred shadow
ivory sorrel
#

using AutoCAD is like using Microsoft Paint to do graphical design

tight nexus
#

I know

#

I'm currently using revit

ivory sorrel
tight nexus
#

But i still have to use autocad since it's the only thing my father uses

tight nexus
#

He's not into the bim sector yet

tight nexus
fallen moat
#

Working as intended

barren glacier
#

Are we finally able to fix that shadows through walls bug

wheat herald
#

no

barren glacier
#

ah so it's tied to the engine itself

tranquil mirage
#

just add ray tracing

#

done

barren glacier
#

TF2 RTX Remix ||at 9 FPS||

#

What about the issue with pyro air blast spam

delicate schooner
strong remnant
tranquil mirage
#

portal prelude implemented qt inside source for hud (i guess)

#

qt for comtress when

#

ops

#

portal revolution**

#

or to more specifc, strata source

chilly nova
#

strata source uses panorama for game ui afaik

#

and qt for engine tools like hammer

tranquil mirage
#

ah

#

makes more sense

#

panorama for comtress when

#

not ironically wouldn't be a bad idea to use godot ui feature on tf2

chilly nova
#

the issue with integrating any ui system is that we can't modify the engine

tranquil mirage
#

hack

#

that's a shame, really

chilly nova
#

afaict the only way to really do custom ui is to wrap it in a vgui panel

#

or completely bypass the input & rendering systems like how cheats do it

tranquil mirage
#

the source sdk isn't the csgo version?

chilly nova
#

no

tranquil mirage
#

valve couldnt do that?

chilly nova
#

yes valve could do it

#

but you can't do change the engine with just the sdk

#

(if i get one person saying to use hooks i will)

#

actually

#

we could do a lot of nice stuff with hooks

#

but idk if coms would want to do that

tight nexus
#

why was gameui code removed too?

strong remnant
#

time to get a direct hit, kill that spy and switch back

#

love it.

spark birch
#

It's one thing I'd really love Comtress to think about, tweaking the engine so it mildy dislikes Spy, rather than outright hating him.

strong remnant
#

I also hate spy, so I think engine should hate it too

spark birch
#

Come on, the engine should be somewhat fair at least.

strong remnant
#

maps should be tweaked to have thicker walls

#

that could fix the problem without messing with engine

tight nexus
#

that would be harder than fixing the engine

fallen moat
#

Honestly it’s surprising how thick of walls will show shadows through. Walls need to be kinda counter intuitively thick to not show through.

You could maybe texture them as cinder block to justify it, but brick is so common place by now that I think it’d be less awkward to just add invisible walls to keep people away from the wall. Or just accept shadow wall hacks

eternal jungle
#

Just turn shadows off and then you can feel morally superior to the shadow wall hackers when you beat them

#

It's a feature steamhapp

keen kayak
#

i decided to turn shadows very low to get 8fps back 😦

storm cargo
#

blob shadows that you find in 3D platformers to help you see where you land better.

barren beacon
umbral siren
# barren glacier Are we finally able to fix that shadows through walls bug

In the Attic of Luigi's Mansion on the Nintendo Gamecube, the attentive player may see, amidst a flash of lightning, during Luigi's phone call, an unnerving shadow is cast on the wall. The disturbing thing about this is that shadow is seen hanging above the floor making it appear as though Luigi's shadow has hung itself. This is, of course, just...

▶ Play video
midnight surge
#

so

#

whats happened lately

chilly nova
shell temple
#

kinda bored

shell temple
#

until dedicated server hosting is available from valve i dont wanna do anything tbh

chilly nova
#

shrimply run a client with textmode

eternal jungle
#

I wonder how different the server vstdlib or tier0 are

#

from the normal ones

chilly nova
#

are they even different

#

other than having symbols on linux

eternal jungle
#

Well there must be something different about them right

#

Keyvalues got messed up when using the wrong one

umbral siren
eternal jungle
#

I think she means like valve releasing a working version of the standalone server utility

#

for the source sdk 2013

#

that actually works without having to do extra manual stuff to get it working

chilly nova
#

i mean there is a dedicated server app

eternal jungle
#

I mean like the mod tf sdk

#

server.dll

#

working with that standalone srcds

fossil vault
#

Cant wait for the dedicated server to come out right alongside the heavy update

tight nexus
#

gonna make a hack fix where players can't do dmg in setup time

eternal jungle
#

If you need help you can ask replaycoding

#

replaycoding is a hacker

tight nexus
#

Would it be possible to create a bind_per_class command?

eternal jungle
#

I think keybinds rely on stuff in the engine, it may be doable though

#

Even if it is, is it worth the effort of implementing it instead of just using class configs?

tight nexus
#

It would be the same

#

The command would just write to CLASS.cfg

wheat herald
#

writing files is really scary

#

what if we just make it accept 10 arguments instead

eternal jungle
#

Yeah that seems bad

#

Plus what would it write

#

would it write bind key thing

#

or like bind_class class key thing

#

if the former then you'd still have to bind the key to something else on other classes

#

it just seems bad all around

tight nexus
#

Doesn't "bind" do that already?

eternal jungle
#

What do you mean?

tight nexus
#

Bind writes to config.cfg right?

eternal jungle
#

yeah

tight nexus
#

Then it is the same

#

bind_per_class Engineer +helpme

#

Would write to engineer.cfg

eternal jungle
#

And just do nothing with regards to the key on other classes?

#

If you don't also bind it in all your other class configs, it will be bound on engineer, but when you switch class it will stay

#

Also you would you deal with the mastercomfig issue

#

mastercomfig class configs are no longer in cfg

#

how would the game know that

#

(it can't write to the ones in the mastercomfig vpk)

wheat herald
#

how would you deal with configs beig inside read protected dirctry

tight nexus
#

i guess in ther other class configs it would write unbind

eternal jungle
#

Yeah I mean certainly you could do it

#

Like just add a console command that writes whatever you like into any file

#

You'd have to decide how you want to handle the issues of writable class configs potentially not existing or being in another location

#

I wonder if it would be possible to achieve the same goal with aliases

#

I guess it wouldn't probably

candid arrow
#

Don't know whether it had already been asked or not and don't know where to ask this if not here: I'm new to this channel and discord as a whole (yes, really), sorry.
But is TC2 coming to Steam in the future? I know there's a lot of work to be done, so I'm not expecting it anytime soon, but is there's a possibility?
Have a good day, everyone.

tight nexus
#

planned

#

but

storm cargo
#

I don't get what this means.

candid arrow
#

@tight nexus Thank you good sir

eternal jungle
#

You have to do special steps to build and run it

#

Valve probably plans to fix that since misyltoad commented on the issues about it

#

So mastercoms is waiting for valve to act in that regard

storm cargo
#

ahhh

candid arrow
#

It doesn't matter to me even if I will have to wait even 10 years till TC2's Steam release.
It will outshine vanilla TF2.

round coyote
#

o-o

midnight surge
#

can we have every single mannpower change from the past 5 years reverted

crystal lynx
#

Ain't a rebalance mod.

midnight surge
#

it was

#

were you not here for the countless playtests of experimental changes

crystal lynx
#

Not since. Saw the pinned post.

#

Even with notifications on the topic, I feel i don't get updated enough. Oh well, that's on me.

midnight surge
#

anyway, every single change to mannpower thats been made recently has made the gamemode worse

#

every class that was fun to play isnt anymore, including changes that just make some of them unplayable

#

heavy can barely move around the map anymore because they removed his ability to jump out of grapple that everyone else had

#

so hes just sluggish and doesnt fit the pace of the gamemode at all

#

not to mention some maps are designed for jumps because you wont always have a ceiling above where you want to grapple

#

so he just gets totally owned by simply existing

#

demoknight is just laughably useless now

#

if a demoknight charges with a powerup he has to wait an entire minute before his charge is refilled

#

its fucked

#

while using an item like the splendid screen which reduces your cooldown its still like 45 seconds

#

the persian persuader which refills a portion of your charge meter on hit takes 14 hits to get you back to full charge

#

at least the tide turner still fills up your meter if you get a kill, but it wont matter because your damage is nerfed compared to any other melee weapons which get a damage bonus for the gamemode

#

im not even touching on the "dominant state" they added which nerfs players doing well by giving them a lazy marked for death debuff they cant do anything to remove

#

so theyre just punished for getting good at the game???

#

idk, i think its one of the worst balance updates tf2 has gotten

#

and its for a gamemode that already barely gets players! i used to play the gamemode until those changes!

midnight surge
#

you get crits when your team is falling behind!!!

storm cargo
#

All those rebalances and I still dont wanna play mannpower LMAO.

#

After playing it countless times.

#

(The matchmaker would constantly put me in mannpower despite most maps being ticked on til I ticked mannpower off)

shell temple