ValveSoftware / ValveSoftware/source-sdk-2013

[TF2] Decrypt all TF class and weapon definitions for use in mods

Open
#1,395 1 comment 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10k
Forks
3k
Avg merge
8d 11h
Merged PRs (30d)
2

Description

Given that the TF2 SDK is now public, there is simply no point in keeping the weapon and class definition data in scripts and scripts/playerclasses encrypted using VICE, as the associated tooling and decryption key for these files are now present in the source code:

https://github.com/ValveSoftware/source-sdk-2013/blob/39f6dde8fbc238727c020d13b05ecadd31bda4c0/src/game/shared/tf/tf_shareddefs.cpp#L1612-L1615

The current TF2 SDK code is also capable of loading non-ICE-encrypted data, as observed in #1394.

A PR to include every decrypted CTX in mod_tf should be trivial enough on its own...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the decryption tooling and key referenced in src/game/shared/tf/tf_shareddefs.cpp near lines 1612-1615, then inspect the definitions under scripts and scripts/playerclasses. Compare the non-ICE loading behavior described in issue #1394. Done means the CTX definitions included in mod_tf are decrypted and remain loadable.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.