.NET Parser for The Sims Online's CST format.
Find a file
Tony Bark 2e0c60e3c5
Some checks failed
.NET / build (8.0.x, macos-latest) (push) Has been cancelled
.NET / build (8.0.x, ubuntu-latest) (push) Has been cancelled
.NET / build (8.0.x, windows-latest) (push) Has been cancelled
.NET / test (8.0.x) (push) Has been cancelled
New README
2025-04-27 12:43:05 +00:00
.github Improved GetText function 2024-04-09 09:47:13 -04:00
.vscode Target Standard 2.1 2023-08-10 18:37:03 -04:00
CSTNet Improved GetText function 2024-04-09 09:47:13 -04:00
CSTNet.Tests Removed CaretSeparatedText class 2023-11-28 10:26:54 -05:00
doc Removed CaretSeparatedText class 2023-11-28 10:26:54 -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.sln Removed CaretSeparatedText class 2023-11-28 10:26:54 -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 New README 2025-04-27 12:43:05 +00: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

📅 Support & Update Cadence

Type Frequency Notes
Minor Update Every 36 months Small enhancements, non-breaking changes
Patch Update Monthly or as needed Bug fixes, security updates
Major Update As needed Framework upgrades, major refactors
  • Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)

🧘 Sustainability Practices

  • 20% creative/recovery space built into development
  • Mandatory cooldowns after major launches (minimum 1 week)
  • Crisis Mode Activates if:
    • Critical vulnerabilities
    • Framework-breaking issues

🛡️ Support Levels

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

Project Timeline

Milestone Target Date Status
First Stable Build 12/13/2020 Done
Feature Complete N/A Planned
Maintenance Phase N/A Planned

📓 Project Notes

  • This all began as a "what if?" What if I could make my own? So, I did. First from a Jupyter notebook and then a full-fledged project that technically has a support cycle.
  • While this project is technically feature complete, it is not a full drop-in replacement as it lacks variable (%[digit]) parsing.

📄 License

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