.NET Parser for The Sims Online's CST format.
Find a file
Tony Bark 2789562abd Update CST class for nullability and debug interop
- Changed preprocessor conditions to use DEBUG instead of NET8_0 for interop methods.
- Updated NormalizeEntries and GetEntry methods to accept nullable string parameters.
- Bumped project version to 2.1.101-alpha and updated changelog.
2026-01-07 04:25:06 -05:00
.github Remove solution and build workflow, update publish workflow 2026-01-07 03:03:36 -05:00
.vscode Target Standard 2.1 2023-08-10 18:37:03 -04:00
CSTNet Update CST class for nullability and debug interop 2026-01-07 04:25:06 -05:00
CSTNet.Tests Add AllowMissingPrunePackageData to project files 2026-01-07 03:20:03 -05:00
doc Update CST class for nullability and debug interop 2026-01-07 04:25:06 -05:00
notebooks Improved GetText function 2024-04-09 09:47:13 -04:00
.editorconfig Removed CaretSeparatedText class 2023-11-28 10:26:54 -05:00
.gitattributes Add .gitignore and .gitattributes. 2020-12-08 17:56:36 -05:00
.gitignore Rewrote normalizing algorithm 2020-12-11 01:05:46 -05:00
code_of_conduct.md Migrated CST notebook from .NET Labs 2020-12-08 18:46:52 -05:00
CSTNet.slnx Added SLNX solution file 2026-01-07 02:30:10 -05:00
Directory.Build.props Reproducible Builds 2023-08-18 01:46:47 -04:00
LICENSE Relicensed under BSD 3-clause 2022-04-29 06:39:56 -04:00
README.md Update target frameworks and improve README 2026-01-07 02:44:21 -05:00

🔠 CST.NET

CST.NET is a library for parsing Maxis' key-value pair format. It can be used in conjunction with your own custom frameworks, or the original UIText APIs.

Caret-Separated Text (or CST) is a key-value pair format represented by digits or words as keys and the value as text enclosed between carets. (e.g. <key> ^<text>^) Any text which is not enclosed with carets is considered a comment and ignored. Neither strings nor comments may use the caret character.

🛠 Features

  • Native support for Sims Online's .cst files.
  • UIText Support
  • Variable support

🗓️ Update Cycle

Type Frequency
Minor Update Every 36 months
Patch Update Monthly or as needed
Major Update As needed

🛡️ Support

  • Active Support
  • Limited Support (Security patches only)
  • Maintenance Mode (Dependency-only updates)
  • Archived (No active work planned)

🧰 Prerequisites

Before you begin, ensure you have the latest versions of the following installed:

📝 Project Notes

  • While this project is technically feature complete, it is not a full drop-in replacement as it lacks variable (%[digit]) parsing.
  • I'm deprecating the .sln solution type in favour of .slnx going forward. It'll be removed sometime in the future.

🔍 Background

This all began as a "what if?" What if I could made my own CST parser? It was an attempt to create my first algorithm. One that was a little better than came before. So, I did. First from a Jupyter notebook and then a full-fledged project that now has it's own support cycle.

⚖️ License

I license this project under BSD-3-Clause license — see the LICENSE file for full text.