Version Management
Wiener manages versions at the data row level, allowing you to filter which rows are included in output by specifying a version at convert time.
How It Works
Add a master_version column to each Excel sheet and record a version number (uint) per row.
When running Wiener with the -version option, only rows with a version number equal to or less than the specified value are included in the output.
Wiener.exe -settings settings\develop_settings.yaml -version 101
Rows with version 100 and 101 are output; rows with version 102 or higher are excluded.
Configuration
Add the Excel version column name to settings.yaml.
# Name of the version column in Excel
version_excel_name: "master_version"
Excel files that do not need version management do not require this setting.
Add a master_version column to each Excel sheet you want to version.
| master_version | id | name | value |
|---|---|---|---|
| 100 | 1 | Rice | 200 |
| 101 | 2 | Bread | 400 |
| 102 | 3 | Flour | 600 |
| 103 | 4 | Sauce | -800 |
When running with version 101, only rows with version 100 and 101 are output; rows with version 102 or higher are excluded.
Use Cases
Excluding Dev Data from Production Builds
Assign a high version number to work-in-progress data (unreleased characters, debug items, etc.).
| Data | master_version |
|---|---|
| Normal Item A | 100 |
| Normal Item B | 100 |
| Unreleased Character (WIP) | 999 |
Running with -version 100 for production builds automatically excludes the development data.
Hotfixes
Register emergency fix data with a version one higher than the current release, then distribute as a hotfix binary.
Normal binary: -version 100 (pre-balance adjustment)
Hotfix binary: -version 101 (post-balance adjustment)
Related
- Mismatch Detection — detecting mismatches caused by version differences
- Obfuscation — applying obfuscation to version-specific binaries