Commit cc62455a authored by cobaltcore's avatar cobaltcore
Browse files

Add section on v5 to v6 asset rename migration

parent 6058bd04
......@@ -97,7 +97,7 @@ Of course the question that you've all been asking in your heads is:
This is understandable, especially if you have dozens or even hundreds of custom characters, which would take ages to convert by hand.
Fear not, though, for we provide [a tool](https://git.student-transfer.com/vncollab/st/blob/master/tools/json2yaml.py) and a capable person who knows how to use it to batch-convert all your JSON files to YAML in one fell swoop. Since it is a Python script, it can be somewhat difficult to set up, so if you don't feel like doing that you can hit up `cobaltcore#0045` on Discord (or on the TFGS forums via private message) to have them do it for you.
Fear not, though, for we provide [a tool](https://git.student-transfer.com/vncollab/st/blob/master/tools/json2yaml.py) and a capable person who knows how to use it to batch-convert all your JSON files to YAML in one fell swoop. Since it is a Python script, it can be somewhat difficult to set up, so if you don't feel like doing that, you can hit up `cobaltcore#0045` on Discord (or on the TFGS forums via private message) to have them do it for you.
Alternatively, if you only have one or two files you need to convert, you can use a simple [online converter](https://www.json2yaml.com/) to do it. Simply plug in the contents of your existing JSON file on the left, copy the converted YAML from the right and paste it back into your exitsing JSON file, overwriting its contents. After saving and closing the file, you can simply rename the extension from `.json` to `.yml` and you're good to go!
As an example, the file `character.json` would have to be renamed to `character.yml`.
# v5 to v6 Asset Rename
With the release of v6, we have taken some time to rearrange and update our assets such that they are more logically organized. This change has affected two things:
1. How assets are organized on-disk
2. How assets are named in-game
This change affects background images, CG images and (to a small extent) character sprites.
## Why?
Because the way things were "organized" prior to this was a mess. Ideally we wanted to move to a new naming convention which is consistent and somewhat logical.
As just one example, naming all backgrounds relating to John's house `main` instead of actually putting his name there (like we did for every other family house) was pretty whack.
## What actually happened?
A few areas have been touched upon, which will be elaborated upon in a dedicated section for each:
### Character Sprites
We have renamed Connie's `preggers` outfit to `pregnant` so it's a bit less cringe. That's about it, really.
We thought about rearranging some outfit names to be more consistent, but eventually found that this would be too much trouble to make it worth it, as everybody would've had to update their script files manually. And we're all allergic to manual labor.
### Background Images
This one's a bit of a bigger change. More to the point, we decided to group backgrounds which are related to each other together, such that it becomes easier to intuit what goes where.
Specifically, we opted for a general naming scheme of the format `<location> <room> <variant>`.
As an example, John's bedroom is now called `bg house_davis bedroom_john day`.
This scheme has been applied to all family houses and most other locations which can accomodate this naming convention. For the few backgrounds that can't, they exist as they did before, so no changes were made to those.
For those who are curious about the exact list of changes that were made, you can check out the full list in our GitLab repository, [right here](https://git.student-transfer.com/vncollab/st/-/blob/master/tools/compatibility/bg_changes-v5-v6.txt). This is a simple CSV file with the old name on the left and the new name on the right.
### CG Images
CG's were reorganized a bit as well. This largely consisted of us renaming things, where there are two distinct parts:
1. The base name of the CG
2. Names of components within a specific CG
The goal here was to group CG's more sensically. For example, the Mina and Phila CG's were all over the place, with some CG's which contained both of the twins stored in the `mina` folder while others were stored in the `john_mina_phila` folder. This made referencing things very unintuitive.
In addition to this, we also updated some of the component names, such that we wouldn't have to write `dick_jizz1` anymore, and instead opted for a more refined (and consistent) `penis_0_semen`.
As for the background images before, we also have a full list of changes for these on our GitLab repository, [right here](https://git.student-transfer.com/vncollab/st/-/blob/master/tools/compatibility/cg_changes-v5-v6.txt). This list is a bit more complex, as it consists of newline-delineated groups, each of which targets a specific CG. The first line is always the old and the new base name (which may be the same). The lines below that are the old and the new names of components within that CG which have been updated.
## Updating Your Stuff
As is customary with changes that break things for scenarios and would require copious amounts of work to update, we provide a way to *not* have to do that by hand.
Just like with the JSON to YAML conversion, we provide [a tool](https://git.student-transfer.com/vncollab/st/-/blob/master/tools/compatibility/fix-asset-names-v5-v6.py) and a capable person who knows how to use it to batch-update all your Ren'Py script files in one fell swoop. Since it is a Python script, it can be somewhat difficult to set up, so if you don't feel like doing that, you can hit up `cobaltcore#0045` on Discord (or on the TFGS forums via private message) to have them do it for you.
The script works by looking at the two lists of changes that are linked in the sections above and then scanning through all your script files line-by-line, updating background and CG names where appropriate. After this process is complete, you should have a fully-functioning script file which works in v6.
......@@ -23,6 +23,7 @@ nav:
- Tips, Tricks And Lifehacks: scenario_guide/tips_tricks_and_lifehacks.md
- Porting v3 Characters to v4: scenario_guide/porting_v3_characters.md
- Porting v4 Scenario Data to v5: scenario_guide/moving_v4_json_to_yaml.md
- v5 to v6 Asset Rename: scenario_guide/v5_v6_asset_rename.md
- Scenarios on Android: scenario_guide/scenarios_on_android.md
markdown_extensions:
......
This diff is collapsed.
......@@ -7,9 +7,9 @@ license = "MIT"
[tool.poetry.dependencies]
python = "^3.8"
mkdocs = "^1.1.2"
pymdown-extensions = "^8.1.1"
mkdocs-material = "^7.1.3"
mkdocs = "^1.2.1"
pymdown-extensions = "^8.2"
mkdocs-material = "^7.1.9"
mkdocs-minify-plugin = "^0.4.0"
mkdocs-git-revision-date-localized-plugin = "^0.9.2"
......
<!-- Application header -->
<header class="md-header" data-md-component="header">
<!-- Top-level navigation -->
<nav class="md-header-nav md-grid">
<div class="md-flex">
<!-- Version Selector -->
<div class="lm-select" id="version_select">
<span class="lm-select-ico"></span>
<div class="lm-select-value"></div>
<div class="lm-select-options">
<div class="lm-select-list">
<!-- Will get auto-filled during runtime -->
</div>
</div>
<div class="lm-select-overflow"></div>
</div>
<!-- Link to home -->
<div class="md-flex__cell md-flex__cell--shrink">
<a href="{{ config.site_url | default(nav.homepage.url, true) | url }}"
title="{{ config.site_name }}"
class="md-header-nav__button md-logo">
{% if config.theme.logo.icon %}
<i class="md-icon">{{ config.theme.logo.icon }}</i>
{% else %}
<img src="{{ config.theme.logo | url }}" width="24" height="24" />
{% endif %}
</a>
</div>
<!-- Button to toggle drawer -->
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button"
for="__drawer"></label>
</div>
<!-- Header title -->
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title"
data-md-component="title">
{% block site_name %}
{% if config.site_name == page.title %}
{{ config.site_name }}
{% else %}
<span class="md-header-nav__topic">
{{ config.site_name }}
</span>
<span class="md-header-nav__topic">
{{ page.title }}
</span>
{% endif %}
{% endblock %}
</div>
</div>
<!-- Button to open search dialogue -->
<div class="md-flex__cell md-flex__cell--shrink">
{% block search_box %}
{% if "search" in config["plugins"] %}
<label class="md-icon md-icon--search md-header-nav__button"
for="__search"></label>
<!-- Search interface -->
{% include "partials/search.html" %}
{% endif %}
{% endblock %}
</div>
<!-- Repository containing source -->
{% if config.repo_url %}
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
{% include "partials/source.html" %}
</div>
</div>
{% endif %}
</div>
</nav>
</header>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment