• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Current Known Mod Support Requests

ForrestMarkX

Member
Jun 10, 2019
18
14
30
Texas
Custom Material Compiling

Custom materials can't be compiled ingame due to KFGame.exe being compiled with -NOEDITOR.

This prevents modders from being able to create things that needs a custom material.

A good example of this was a 3D UI system I was making for damage numbers, I can't use a RenderTargetTexture2D in a Particle System. None of the custom UI materials have a Texture parameter defined so doing this was impossible.

This issue is not present at all in UT3 nor does any sort of crashing/bugs happen if a shader cache is baked into a map.


GetPackageLinker Issue

There is an issue with the function ULinkerLoad* UObject::GetPackageLinker inside of UnObj.cpp that is causing assets loaded from cache to fail. This does not include UPK assets from the workshop but includes any .u package.

This issue prevents modders from extending mods present on the workshop, any attempt to use a class or extend it from a different .u will be met with a immediate crash because the class reference to the parent is None.

Issue is not present if the .u is inside of KFGame/Published in Documents or the primary game directory


Canvas clipping issue

Changing ClipX and ClipY in Canvas seems to not affect elements drawn after it, this includes text and drawtile calls. The source of the issue is unknown and has made it impossible to create proper scrolling bar elements or adding in masked materials like scanlines.

Canvas render crash when drawing UI Streamed textures

If you attempt to draw a Texture2D that had been imported with the UI Streamed LODGroup it will crash the rendering engine if you attempt to draw it in anyway from Canvas. This includes DrawTile and DrawMaterialTile.

All cosmetic item icons use this LODGroup and make it impossible to create a custom cosmetics UI without re-importing every cosmetic icon texture.

SoundCue attenuation is broken with mono sounds

Any SoundCue that has a attenuation filter added and is a mono sound it will not be played within a 3D space and will always play from the left audio channel.

This issue prevents any and all sound mods since custom WWise sounds can not be created and be downloaded by the client and have them work out of the box.
 
Last edited:
The first two issues being fixed would massively help with doing mods. If the issues with custom materials especially are fixed, it'll allow for a far wider range of custom content to be created.

If the issue with package linkers are fixed, it would allow us modders to create a modding framework for others to use.
 
Last edited:
Upvote 0
The second one is the most important of any of these as it will enable use to create compatibility patches for other mods, currently the only way to do so is if the only classes you need to extend are serverside only. The asset issue is only secondary as it affects redirect downloads only but the mod extensions issue happens with both workshop and redirect
 
Upvote 0
Chiming in to especially throw my support behind the second issue (GetPackageLinker issue). As it is now, I have to tread carefully to ensure mod compatibility while not overriding anything that might break things because of this. Pharrahnox mentioned on the Discord that fixing this would also allow creation of a mod framework, which is something I'm sure we'd all support.
 
Upvote 0
This is the error that occurs

Code:
[0523.69] Warning: Warning, Failed to load 'kfcrashtest': Can't find file for package 'kfcrashtest' while loading NULL
[0523.69] Warning: Warning, Failed to load 'kfcrashtest.CrashTestPlayerController'! Referenced by 'KFCrashTest_Extended.PlayerControllerExt' ('---').
[0523.69] Warning: Warning, Failed to load 'kfcrashtest': Can't find file for package 'kfcrashtest' while loading NULL
[0523.69] Warning: Warning, Failed to load 'kfcrashtest.Default__CrashTestPlayerController'! Referenced by 'KFCrashTest_Extended.PlayerControllerExt' ('---').
[0523.70] Warning: Warning, Failed to load 'kfcrashtest': Can't find file for package 'kfcrashtest' while loading NULL
[0523.70] Warning: Failed to load ObjectArchetype for resource 'Default__PlayerControllerExt': CrashTestPlayerController kfcrashtest.Default__CrashTestPlayerController in KFCrashTest_Extended
 
Upvote 0
Since you've asked for specific information about why these things would be useful, I'll give a few example for the Material Compiling issue.

Without the ability to compile materials midgame, it's impossible to do almost anything with the Scaleform UI system with weapons for things such as displays because the target for the rendered 2d texture is in the material itself, with no way to change it.

Another example is the inability to use any material for first person weapons aside from the "M_Wep_1stP_Master_PM" material, which isn't as good as the material that is used on many of the weapons in the base game, "M_Wep_1stP_Masked_Master_PM". It also makes it impossible to create any custom materials for anything that isn't a map, so it hampers the ability to do certain things with custom zeds, weapons, and more.
 
Upvote 0
A perfect example of why the second point is useful is the modding framework that has been suggested. A perfect example of why the modding framework would be useful is the mutator hooks I wrote for you a year ago and have yet to be implemented. Those mutator hooks were written to provide modders with a way to modify particular weapon and player properties that are otherwise very difficult to modify (requiring creating a custom perk system). That's exactly the idea of the modding framework. And if we had a framework, I could simply implement the mutator hooks there and not have to wait for the devs to finally copy them into the base game code.

The point is, there are a lot of things that are inherently difficult to modify due to how the devs have written things. Rather than requiring every modder who wants to modify system X to jump through hoops and override potentially dozens of classes (largely meaning no one will do it), we can have that all handled by the modding framework, from which modders can extend and not need to worry about those difficulties. This would additionally allow modding to be more feasible for those less experienced - those who haven't spent hundreds to thousands of hours crawling through your code to figure out how to work around it.

Now that we're here, Yoshiro any word on those hooks?
 
Upvote 0
More info about some of the issues suggested by Marco.
  • On the package linker he suggested you save the files based on GUID and not filename. This would avoid version mismatch issues.
  • On the material compiling he suggested a commandline in KFEditor.exe to compile shaders when brewing a package and baking the compiled shaders into the .upk the same way maps do it
 
Last edited:
  • Like
Reactions: GearShift
Upvote 0
The materials issue also seems to prevent use of a custom "lens' material for scopes. I suspect it's similar to the issues encountered when trying to create displays similar to the healer or welder screens, in that there's an issue with the specific TextureRenderTarget being used in custom materials.
 
Last edited:
Upvote 0
From the previous thread and updated with current state. Its upsetting to see how little was done in over a year&half...

Denied | Investigating | Planned | Implemented

Documentation and Communication
  • Centralized and Updated SDK Documentation - No one has provided much use here - Better dev interation please.
  • Community Contributions to SDK Wiki - Access can be granted, but not advertised and no incentive to contribute
  • Landscape Requirements - what is causing Checkered Material when using the provided Landscape MIC - I figured this out and documented here: https://wiki.killingfloor2.com/index.php?title=Setting_Up_Landscapes_(Killing_Floor_2)
  • Documentation on Animation Pipeline - Still Required
  • Additional Documentation in Src - particularly for KFPerk - Still Requiured
  • Additional Kismet Node Documentation - Somewhat added - NEEDS UPDATING
  • Future mentions in the changelog details for refactored Variables/Functions (ie providing BossIndex and bGoToBossCameraOnDeath in GameInfo) - Still Needed, Especially when recent modding has been completely ignored in previous updates
Bugs
  • SDK Crash on Initial Custom Mesh Placement of New Imported Mesh: https://www.youtube.com/watch?v=0XWz0SxVR98
  • SDK Crash on LOD removal: https://www.youtube.com/watch?v=XFRn13H2Tj0
  • SDK Crash on Foliage Tool for Splat and Shadows/Light Maps: https://www.youtube.com/watch?v=odcP-yqiCmA
  • Unable to Load Objects from Cache - SEE THIS THREAD
  • Timeout on Workshop Item Downloading in game - No Word
  • Ambient Sound Actors play through one channel with Spatialized set to True - Previously Denied BUT SHOULD BE REVIEWED Mentioned in this thread as well
  • Modify Soundtrack per map - missing track bug playing nothing - No Word
  • Spine Loft Actors display incorrectly - No word but unlikely to be implemented
  • Grey Scale Projections for Coloured Lighting from Texture - Probably related to the below issue - Could be solved with material function
  • Mask Materials not working properly with Precomputed Lighting - Bug Thread: https://forums.tripwireinteractive....cing-precomputed-static-shadows-for-lightmaps
  • Streaming Levels displayed incorrectly while located in Cache - No Word
Feature Requests
  • Custom Map Previews - No Word
  • Providing Sound/AkBank Manifests - Provided guide to creating custom sounds ....even if it was for RS2, not entirely sure if it has compatibility
  • It would also be good to have some power of the existing AkAmbientSounds as we can't modify any of their values either - No Word
  • Additional GameInfo and Mutator Hooks - No Word
  • Code Review for KFPerk to be more accessible for Modders - No Word
  • Providing GUI/HUD Elements to be Modified - No Word
  • Image Based Reflections - Unlikely to happen but no word.
  • Scene Capture Cubemap Actor support for DX11 - Unlikely to happen but no word
  • Lightmass/Photon Mapping - Unlikely to happen but no word
  • Additional support for custom materials for Landscape Tool - See wiki guide
  • Screen Door Fade - Not happening
  • Kismet Node for returning Game Mode being played for Endless mode integration in Holdout Maps - Provided

Here are a couple of bugs that have popped up over time, I would say all these should be a priority over others:

Masked Materials not Creating Static Shadows
Bug Thread: https://forums.tripwireinteractive....cing-precomputed-static-shadows-for-lightmaps
This is probably the most important one for mappers - This bug has completely killed my enthusiasm for mapping and has persisted for over 2 years - THIS HAS AN IN HOUSE FIX

Custom Gamemodes not recognized by KFSeqEvent_LevelLoaded results in broken Maps
Bug Thread: https://forums.tripwireinteractive....kfseqevent_levelloaded-results-in-broken-maps
This should not be put in as a feature as Mittens said. This is a bug and it needs a solution.

Custom Zeds and Weapons No longer give XP and/or Dosh
Bug Thread: https://forums.tripwireinteractive....ort-ae/2332709-broken-custom-zeds-and-weapons
Bug Thread: https://forums.tripwireinteractive....stom-weapons-no-longer-give-dosh-on-zed-kills

Custom Objective Maps Blacklisted from Objective Level Select (lol)
Bug Thread: https://forums.tripwireinteractive....-map-with-objective-mode-gametype-not-working

Dynamic weapon content loading more than necessary
Bug Thread: https://forums.tripwireinteractive....ic-weapon-content-loading-more-than-necessary

Landscape Visibility Tool Crashing SDK
Bug Thread:https://forums.tripwireinteractive....ugsplat-with-use-of-landscape-visibility-tool
THIS HAS AN IN HOUSE FIX

Here are some features requested not previously mentioned

Better Objective Mode Tools
Thread: https://forums.tripwireinteractive....recommended-improvements-to-objective-systems
Specifically the option for a 'blank' endless objective. Current Objective Mode offers no flexibility.
 
  • Like
Reactions: Pharrahnox
Upvote 0
Delta69er
A fix for custom weapons not granting dosh and a system to allow objective maps to show up in menu/servers will be in the next update (this will require maps to have a custom .ini that ships with them so the game knows what modes it supports). Workshop server downloads should also be fixed in the next update.

I've brought the other issues back up for review.
 
Last edited:
Upvote 0