Content Creator Request Thread

As I’m sure you all already know, there’s a lot of aspects involved with content creation and it can be difficult for Crowbar Collective to keep up with what’s needed, broken or wished for. This thread will serve as a sort of modding request compendium for CC to look into for Black Mesa. This will help keep things more tidy and organized so that the developers can easily access what the modding community would like addressed.

So if you’re a content creator and you’ve got something you’d like to bring to the attention of the developers to fulfill your modding needs, feel free to post about it here. What’s asked is that you keep it reasonably specific (nothing like “animations don’t work”) and relevant. THIS IS NOT A GENERAL REQUEST THREAD. This thread is for modding and content creation-related requests only.

To ensure that we get some content in right from the get-go, I’ll start off with a couple things.

  • Allow custom scripts/resource files: Black Mesa seems to ignore custom files located in the bms\scripts and bms\resource folders in favor of stock files. Problematic as it disallows a wealth of custom user content, such as closed captions, HUD modification, soundscapes, and more. Also ignored is the bms\particles folder.
  • Enable tools mode: Tools mode is used most notably for creating particles and developer commentary. Currently when attempting to launch Black Mesa in tools mode, the game launches fine but the tools interface is nowhere to be seen.
  • Fix logic_playerproxy entity: Some functions of the entity seem to not be called. Confirmed ones so far are PlayerDied and FlashlightOn.

Well that covers the essentials as far as I’m currently concerned. I do have a small wishlist of additional features I’d like to see, but they’re not nearly as pressing as custom scripts and tools mode. Consider this post as for bonus content, rather than priority.

  • Set the HEV bootup from Anomalous Materials to a flag rather than (or in addition to) the current “is map bm_c1a0a.bsp” check.
  • Allow SP map makers to access the DM hand submodels somehow (A worldspawn option seems the best way to do it, IMO) This would probably also go with muting the HEV sounds for non-default hands. That way we wouldn’t have to handwave or ignore the fact that characters who aren’t supposed to be Gordon have an HEV suit!
  • Bonus points if doing so also automatically changes the battery model and sounds to a security vest, Blue Shift style, or you give item_battery an “appearance” option, but I can think of a few ways to fake that at least semi-convincingly.
  • Since some L4D2 vehicle models have appeared in the game files, it’d be cool to have a L4D2/Alien Swarm style material color overlay in prop entities for use with supported materials. (I think you guys have access to that codeset and could port it. Correct me if I’m wrong.)
  • I think I recall some mention of investigations towards BM eventually supporting a “Custom Campaign” menu, where creators could set a description, thumbnail, and start map. If this is just a delusion I had, I would like to formally request it for when everything else is finished.

@Cryoshell: This thread is for content creators. None of your requests have anything to do with content creation whatsoever. Please place your requests in a relevant thread, or make a new one.

@Crypt: The strikethrough’d request, have we already done that? Is that why you crossed it out?

@JeffMOD: The L4D2 colour modulation is implemented for CU3. I think it’s a bit broken on our internal build but we have a programmer fixing it. Our planned major UI overhaul will have a custom campaigns menu, but I’m unsure as to its status. It’s been slated for every content update so far, and has missed every deadline. We’ll see where it goes.

All other requests, I’ll add them to our internal tracker. They seem reasonable and simple enough. Please continue to add more as you find them.

Yes, I wrote it up, but then remembered we were told it was fixed in CU3. I left it regardless, as it’s technically not released. I could change that if you’d prefer.

This this this a thousand times this. Specific emphasis on character_manifest entries, soundscapes and choreographed scenes (as well as their associated files such as dialogue assets).

For scriptlike files, this raises the possibility of “collisions” the same file exists in multiple mods. I’ve outlined a system to address this- it is somewhat complicated, but I think it provides a lot of flexibility for content:

  • Files are parsed on an entry-by-entry basis to allow for easy additive content- i.e. if I create a modded character manifest file containing nothing but a sci99_something entry, that file would add the sci99_something NPCs to spawn properly in maps, but not be exclusively what the game uses and thereby remove all other non sci99_something NPC characters from the game.

[list][*]This is both to save on time and effort for modders (since they would not have to copy the whole canon script file they want to expand, just add their new content)

  • and to prevent mods from “fighting” unnecessarily (where two mods make different additions to the script file, it doesn’t have to be that only one of the custom files is used verbatim and the other is “overwritten” completely- both entries are added).
  • Given how soundscapes and a few other things work, I think a version of this system is already at least partially functional in the game.
  • This does make it difficult or impossible to remove canon scripts from the game, but I am really not sure why someone would want to do that.

[/:m][]Perhaps provide a “provincial” system where if two mods have the same modified entries in their script files (i.e. two different mods use an NPC named sci99_something), the maps associated with those respective mods use their appropriate scrips (i.e. the maps in Mod A use Mod A’s entry, maps in Mod B use B’s entry).

  • Again, this would prevent “collisions” on an asset-by-asset basis.
  • Presumably this would be done by directory structure, where anything in a mod’s folder becomes associated with that mod.
  • This does raise the problem of how to affect canon scripts (like Citizen’s manifest mod does), since no mod would be located in the canon game structure. Maybe a mod with no maps is automatically flagged “replacement”? It seems weird and counter-intuitive, though…
  • It’s still possible for two mods that attempt to replace canon assets to “collide” by trying to overwrite the same script, but I am fine with leaving that to be resolved arbitrarily- someone downloaded and enabled two different textures for the same gun, what were they expecting to happen?

[/*:m][/list:u]

To add to some other things:

HEV suit might be possible.

So the submodel hand thing is a bit weird. If you remember a while back, there was a bug (around July iirc) where Gordons hands were the zombie hands for a while in SP. That was a big hit, everyone thought it was hilarious. I asked around to the programmers because I really wanted to make it a feature that you could change via options. A sort of easter egg of sorts. I was told that it’s really not that simple, and really is not easy to implement. That being said, we’re farther out from Launch now and things are running hella more smoother. I may bring it up again. (RIP Zombie Gordon, July 2015)

(Same issues as above, maybe?)

Also, the -tools -nop4 bug has been put up on the tracker, issue #618.

In addition to the custom resource files, currently, resource files are locked in English only. This discourages a portion of modders who would like to mod the game in their language. For example, bootup.txt crash the game when non-English characters are used. Menu texts are also cannot be modified in the same regard.

Non-Latin characters, actually. I’ve translated it to Portuguese (several words have accents) and it worked well. But yeah, some of the menu stuff is unacessible; most of it is in the game_ui file.

Oh, well. I should’ve known. Also, a few more things to suggest.

Some outputs are not working: in func_50cal, the output OnAmmoDepleted doesn’t seem to work. Now, no 50 cal guns in Black Mesa have ammunition limits, but since this is supposed to be a modding thread, and I was actually making a map with ammo limit 50 cal, I thought I should throw it in. I was trying to make the H.E.V. say “Ammunition depleted.” once it runs out of ammo, but the output doesn’t get called.

Barnacles do not have “Ambush Mode” spawnflag - bug? In the original HL series, it was possible to make them ambush you by making them not have their toung stick out initially, and have them out when you call “DropToungue” input). The spawnflag seemed to be overriden by “Tougue never penetrates water”, which seems like an equally nice option, by the way.

Would it be possible to have reprogrammed turrets have no ammo limits using spawnflags, keyvalues, etc? I was trying to somewhat recreate that scene from Nova Prospekt in Half-Life 2, using turrets to defend the ememies. But reprogrammed sentries have ammunition limits and generally low health. I can bypass the health via SetHealth input, but if they keep retract themselves after shooting 3 or more enemies, it doesn’t quite feel the same. They also would have to not die if they get knocked over too. Or better yet- maybe add keyvalue like func_50cal above, let mappers decide how much ammo the turret have. e.g. -1 for infinite ammo. This seems a much better option than spawnflag, but not sure how it could be worked out seeing how turrets are technically NPCs. I understand if this is something impossible.

In Half-Life series, musics come up in sound browsers, but in Black Mesa they do not. Is it be possible to fix this?

About the alternate hand skin (guard hand skin, etc), it’s a nice feature, but it would also have to disable the “Freeman lines”. e.g. “Lead on, Gordon!” or “Squad, we’ve got Freeman!”. Marines have this function via spawnflags, but I don’t think guards/scientists do.

Assuming that they fix the content mounting issues, you could edit the response rules file to simply not use any of the “Freeman” lines whenever a global context is present. That would be a viable alternative to the “Disable freeman lines” spawnflag (again, once they fix the content mounting/external file override issues).

These are good. I’ll ask about the .50cal thing, and if it’s broke for sure I’ll make a report for it.

Our music may be in the the wrong format for previewing in sound browser, so tha probably why it’s not show up. If it’s not showing up in game too, then it’s a bigger issue.

  • The console command r_flushlod causes the engine to crash without error. The command quickly refreshes the models so you can view changes in-game immediately, but right now since it crashes, you have to manually restart the game to reload the models, which takes significantly longer.

I was talking about since you can’t preview it in the browser you actually have to go into sounds.vpk and look for the name, and that’s a bad thing. Some other suggestions:

Modder-friendly Tentacle. Currently they are heavily script based, especially with the heights they bang. They are always set to bang certain heights you see in Blast Pit which is a bad news for modders. So a way to specify heights they bang would be a good option. However I have no idea how this would work out with current animation system for Tentacle, which probably was pre-animated and therefore do not support this. In this case then, simply a sort of “bang only the first level” spawnflags would be a nice alternative, that is, will only attack this particular level checked, which would be a suitable option for most map makers. (Courtesy of Maki!)

INVISMETAL textures don’t seem to work - they still make non-metal sounds.

Is func_tank sort of broken for non-0-degrees? If I want to make func_tank that is rotated like, 90 degrees, the steps required is a bit complicated. I first build the tank in non-rotated ways, that is in 0 degrees, and then specify the 90 degrees in its angles keyvalue. I do not remember having to do this in other games, I would just build the tank in a desired angle and done. The alternative seem to work OK, so I’d say this is just a minor issue. I just wanted to bring it up if anyone came across same obstacle as me.

A minor compliant, but when you open Hammer it is recognized as the game in Steam. This makes it frustrating to open both the game and the hammer together, as trying to open the game result in “The game is already running”. I can open the game first and then hammer, however this gives a temporal “video card has crashed” error (although the game runs fine)

I can’t say anything about the tentacles right now, but I’ll pop the suggestion.

func_tank is a dash janky atm, and we know about it, but not sure when a fix will come through.

For hammer: No idea how that works programming side, so again, I shall confer with the magic programmers and see what they say.

I assume this is the post mentioned here.

Okay, thanks on the Tentacles.

Like I said - it doesn’t have to be “smart” about making sure its head doesn’t hit collision or something. Basically, I want a flag that disables its vertical ascent/descent while in its normal AI.

I wanted you to post about the Tentacles yourself since it was your idea, but I thought you weren’t going to see my reply (the one I directed you to here in Steam forum), and I also saw you were inactive for quite a long time so I thought I would make one myself along with mine. Feel free to keep suggest ideas or report bugs that would help your mapping journey, though.

Anyway, Chon has stated that the likelyhood of the Tentacles in newer Surface Tension is slim. He hasn’t talked about modding topic, though. It would be really, really nice if this were implemented, but as a modder I know how just somethings can’t be done. I’m not an AI coder so I don’t know a lot on this topic, and I even doubt if it’s really hard to make Tentacles bang only the base (it’s more of removing the AI code, actually), if it’s something impossible, I guess we’ll have to accept it.

EDIT: New bugs found- The input UnholsterWeapon and HolsterWeapon do not work. Since it’s only one line I just edited my previous post instead of making a new one. On input fire, this happens:

CBaseAnimatingOverlay::AddGesture: model models/humans/guard_02.mdl missing activity ACT_DISARM

Please don’t report “bugs” here. They might get lost. This is for requests from content creators and as such if it’s a true bug it might not get added to the fix list for a while.

Apologies for the bit of a bump, but one big thing I could see helping campaign creators would be allowing custom character/gib manifest files, soundscapes, etc. to be loaded per map.

e.g. examplemap.bsp would load examplemap_character_manifest.txt, examplemap_gib_manifest.txt, and/or examplemap_soundscapes.txt, were the file(s) to exist.

Figure per map would be the best way to avoid conflicts, and allow the loading to go automatically. Ideally, the files would be loaded on top of the default files, rather than instead of the defaults.

That’s actually a pretty good idea. I don’t how deeply ingrained into the engine the current loading system is, but the idea itself sounds simple enough on everyone.