Professional IFF Editor & Analyzer for The Sims 1
Analyze β’ Edit β’ Extract β’ Research
SimObliterator Suite is a comprehensive toolkit for working with The Sims 1 game files. Whether you're a modder, researcher, or just curious about how the game works, this toolkit provides everything you need.
Two interfaces, one backend: Desktop app (DearPyGui) for editing, browser-based viewers for visualization.
| Category | Capabilities |
|---|---|
| File Formats | IFF, FAR1, FAR3, DBPF with 38 chunk type parsers |
| Behavior Analysis | BHAV disassembly, call graphs, execution tracing, authoring |
| Object Editing | SLOT routing, TTAB autonomy, multi-object IFF support |
| Save Editing | Money, skills, motives, personality, careers, relationships |
| Visual Assets | Sprite export (PNG), mesh export (glTF/GLB), animation frames |
| Localization | 20-language STR# support, translation audit, batch copy |
| Safety | Transaction pipeline, snapshots, rollback, validation, audit |
| Research | Unknowns database, opcode documentation, execution model |
| Web Viewers | VitaMoo 3D viewer, character/object browsers, graph viz |
SimObliterator Suite has two parallel UI systems that share the same backend:
| Interface | Technology | Status | Use Case |
|---|---|---|---|
| Desktop App | DearPyGui | Stable | Full editing, save mutations, batch operations |
| Web Viewers | HTML/JS/Flask | Active Development | Browsing, visualization, 3D preview |
The main launch.py entry point opens a DearPyGui-based desktop application with:
- 27 panel modules in
src/Tools/gui/panels/ - Full IFF/FAR/DBPF editing capabilities
- Save file mutation with safety pipeline
- Integrated theming and event system
Files: src/main_app.py, src/Tools/gui/ (32 files total)
Browser-based tools for visualization and data exploration:
| Viewer | File | Description |
|---|---|---|
| VitaMoo | docs/index.html |
3D character viewer with animation playback |
| Character Browser | src/Tools/webviewer/character_viewer.html |
Browse all game sims |
| Object Browser | src/Tools/webviewer/object_viewer.html |
Browse all game objects |
| Library Browser | src/Tools/webviewer/library_browser.html |
Mesh/sprite library |
| Graph Viewer | src/Tools/webviewer/graph_viewer_embed.html |
Interactive dependency graphs |
Server: src/Tools/webviewer/export_server.py (Flask) serves the web interfaces.
Direction: Browser-based tooling is actively expanding. The web viewers offer better cross-platform support and easier sharing of visualizations. Core editing remains in the desktop app for now.
# Install dependencies
pip install -r requirements.txt
# Launch the application
python launch.py# Start the web server
cd src/Tools/webviewer
python export_server.py
# Open browser to http://localhost:5000Download the latest release and run SimObliterator.exe - no installation required!
- IFF Inspector - Browse chunk structure, view hex data
- BHAV Disassembler - Decode SimAntics bytecode with semantic names
- Call Graph Builder - Visualize behavior relationships
- Variable Analyzer - Track data flow through locals, temps, params
- Behavior Classifier - Categorize as ROLE/ACTION/GUARD/UTILITY
- Forensic Analyzer - Deep pattern analysis for research
- Sprite Exporter - SPR2 to PNG with palette handling
- Sprite Sheets - Combine all frames into single image
- Mesh Exporter - 3D models to glTF/GLB format
- Chunk Exporter - Export raw bytes for any chunk
- Family Money - Edit household simoleons
- Sim Skills - Cooking, Mechanical, Charisma, Logic, Body, Creativity
- Sim Motives - Hunger, Comfort, Hygiene, Bladder, Energy, Fun, Social, Room
- Personality - Neat, Outgoing, Active, Playful, Nice
- Career Manager - 24 career tracks with promotions
- Relationships - Daily and lifetime values
- Aspirations & Memories - Modify sim goals and history
- SLOT Editor - Routing slots for sit, stand, ground positions
- SLOT Templates - Pre-built chair/counter configurations
- SLOT XML - Export/import for Transmogrifier workflow
- TTAB Editor - Menu interactions, autonomy levels, motive effects
- Multi-Object IFF - Correctly handles multiple objects per file
- FAR Browser - Browse and extract archives
- ID Conflict Scanner - Detect GUID/BHAV/semi-global clashes
- Safe ID Finder - Find unused ID ranges
- Content Validation - Pre-flight checks before edits
SimObliterator uses a transaction-based safety system:
| Mode | Description |
|---|---|
| π΅ INSPECT | Read-only, no changes possible |
| π‘ PREVIEW | See proposed changes before applying |
| π’ MUTATE | Apply changes with full audit trail |
Every write operation:
- Creates automatic backups
- Shows a preview of changes
- Can be undone/redone
- Is logged for audit
All 110 canonical actions are fully implemented:
FILE_CONTAINER ββββββββββββββββββββ 100%
SAVE_STATE ββββββββββββββββββββ 100%
BHAV ββββββββββββββββββββ 100%
VISUALIZATION ββββββββββββββββββββ 100%
EXPORT ββββββββββββββββββββ 100%
IMPORT ββββββββββββββββββββ 100%
ANALYSIS ββββββββββββββββββββ 100%
SEARCH ββββββββββββββββββββ 100%
SYSTEM ββββββββββββββββββββ 100%
UI ββββββββββββββββββββ 100%
SimObliterator_Suite/
βββ launch.py # π START HERE - Desktop app entry point
βββ requirements.txt # Python dependencies (DearPyGui, Pillow, numpy)
βββ README.md # This file
βββ LICENSE # MIT License
βββ VERSION # Version info
βββ CHANGELOG.md # Release history
β
βββ assets/ # Icons and splash screen
β βββ icon.ico
β βββ icon.png
β βββ splash.png
β
βββ data/ # Runtime databases
β βββ opcodes_db.json # 143 opcode definitions
β βββ unknowns_db.json # Unmapped opcode research
β βββ global_behaviors.json # Behavior library
β βββ global_behavior_database.json # 251 base game globals + expansion ranges
β βββ characters.json # 2MB extracted character data
β βββ objects.json # 3MB extracted object data
β βββ meshes.json # Mesh metadata
β βββ execution_model.json # BHAV execution patterns
β
βββ docs/ # Web-based VitaMoo 3D viewer
β βββ index.html # VitaMoo main page (GitHub Pages)
β βββ viewer.js # 3D character renderer
β βββ viewer.css # Viewer styling
β βββ data/ # Animation/mesh data for viewer
β βββ guides/ # User & Developer guides
β βββ technical/ # Technical references
β βββ research/ # Deep research docs (BHAV, FreeSO, etc.)
β
βββ vitamoo/ # VitaMoo TypeScript source
β βββ src/ # TypeScript modules
β βββ package.json # npm dependencies
β βββ tsconfig.json # TypeScript config
β
βββ Examples/ # Sample files for testing
β βββ IFF_Files/
β βββ SaveGames/
β
βββ src/ # Source code
β βββ main_app.py # Main window (DearPyGui desktop app)
β βββ formats/ # File parsers (IFF, FAR, DBPF)
β βββ Tools/core/ # Parsers, analyzers, editors (47 modules)
β βββ Tools/forensic/ # Deep analysis tools
β βββ Tools/graph/ # Resource dependency graphs
β βββ Tools/gui/ # DearPyGui panels (32 files) β οΈ LEGACY
β β βββ panels/ # 27 panel implementations
β β βββ safety/ # Edit mode & help system
β β βββ theme.py # DearPyGui theming
β β βββ menu.py # Menu bar
β β βββ events.py # Event bus
β βββ Tools/save_editor/ # Save file editing
β βββ Tools/webviewer/ # Web-based viewers (browser) β¨ ACTIVE
β β βββ export_server.py # Flask server (34KB)
β β βββ character_viewer.html # Character browser
β β βββ object_viewer.html # Object browser
β β βββ library_browser.html # Mesh/sprite library
β β βββ graph_viewer_embed.html # Graph visualization
β βββ utils/ # Binary utilities
β
βββ dev/ # Development tools
βββ tests/ # Test suite (276 tests)
β βββ tests.py # Main runner
β βββ test_api.py # API tests (174)
β βββ test_game.py # Game file tests (73)
βββ build/ # Build configuration
βββ SimObliterator.spec
βββ pyproject.toml
| Path | Technology | Files | Status |
|---|---|---|---|
src/Tools/gui/ |
DearPyGui | 32 | Stable, full editing features |
src/Tools/webviewer/ |
HTML/JS/Flask | 6 | Active development |
docs/ + vitamoo/ |
TypeScript/WebGPU | 15+ | VitaMoo 3D viewer |
Note: The DearPyGui desktop GUI (
src/Tools/gui/) provides all editing functionality. Browser-based tooling (webviewer/,vitamoo/) focuses on visualization and is the emerging direction for cross-platform support.
| Guide | Audience | Description |
|---|---|---|
| USER_GUIDE.md | End Users | Complete walkthrough of all features |
| QUICK_REFERENCE.md | Modders | Cheat sheet for chunk types, opcodes, shortcuts |
| ARCHIVER_GUIDE.md | Users | Archiver tool for bulk scanning |
| UI_DEVELOPER_GUIDE.md | Developers | Panel architecture, events, extending the GUI |
| TECHNICAL_REFERENCE.md | Researchers | IFF, BHAV, SLOT, TTAB format specs |
| DEFINITIVE_BHAV_REFERENCE.md | Researchers | Deep BHAV execution model analysis |
- Python 3.9 or later
- pip package manager
# Clone or extract
cd SimObliterator_Suite
# Create virtual environment (optional but recommended)
python -m venv .venv
.venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtThe test suite is modular with 247 tests across two modules:
cd dev/tests
# Run all tests (API + Game)
python tests.py
# Run only API tests (no game files needed)
python tests.py --api
# Run only game file tests
python tests.py --game
# Quick mode (fast subset)
python tests.py --quick
# Verbose output
python tests.py --verbose
# Configure game paths for game tests
# Edit test_paths.txt with your installation pathsSee dev/README.md for full test configuration options.
pip install pyinstaller
pyinstaller dev/build/SimObliterator.specOr simple build:
pyinstaller --onefile --windowed --icon=assets/icon.ico --name SimObliterator launch.pyMIT License - see LICENSE for details.
This software is designed to work with The Sims 1 game files. The Sims is a trademark of Electronic Arts Inc. This project is not affiliated with, endorsed by, or connected to Electronic Arts Inc.
Created by: Dnf_Jeff
For: The Sims 1 Modding & Research Community
Special thanks to:
- The FreeSO project for format documentation
- The Sims modding community for decades of research
- Everyone who helped test and provide feedback
Made with β€οΈ for The Sims community
