Jabka666 / scpcb-ue-my

SCP - Containment Breach Ultimate Edition
26 stars 10 forks source link

Use Json instead of Ini #124

Open ZiYueCommentary opened 1 year ago

ZiYueCommentary commented 1 year ago

For designing of ini file, loading_screen.ini is unable to be uploaded to ZiYue Weblate, because we can't modify the section.

We can re-design the architecture of loading_screen.ini, but it's better to use json. I will try to make a json reader to make it.

ZiYueCommentary commented 11 months ago

This may be a bad idea.

Currently, the configs of the game fit with ini. If we change them to json forcibly, we can get more codes and bigger, complex configurations only.

Most configs are not too complex to fit json, except subtitles. But subtitles also takes way more space - the size of subtitles.json is 150% of subtitles.ini.

Jabka666 commented 11 months ago

We can rewrite loading screens then. Just make something similar to achievements system

Jabka666 commented 11 months ago

Also I think we should return thinking about IniControler for subtitles. Using a lot of dlls isn't a good practice

ZiYueCommentary commented 11 months ago

Also I think we should return thinking about IniControler for subtitles. Using a lot of dlls isn't a good practice

The latest subtitle system is too complex to use ini, even subtitles.ini is not structured like ini at all.

And about too many DLLs - I can merge RapidBson into BlitzToolbox.dll but it helps nothing, instead, this may cause more confusion. If we need it, just leave it there.

ZiYueCommentary commented 11 months ago

These files are that I think it is worth converting to json:

ZiYueCommentary commented 9 months ago

loading_screens.json and SCP-294.json are not good for backward compatibility in translating. Requires further discussion.

ZiYueCommentary commented 9 months ago

Here are two solutions:

  1. Use json for loadingscreens: More obvious file structure, won't be available in ZiYue Weblate.
  2. Use ini for loadingscreens: Can be available in ZiYue Weblate.

Both of them are not considering backward compatibility, so they are for future versions only.

Jabka666 commented 3 months ago

What about NPCBones.ini?

ZiYueCommentary commented 3 months ago

What about NPCBones.ini?

Obviously it can be converted to. But the complexity of my design made it is not worth to do this. It can and should be replaced by jsonc files, but I don't know how to make this perfectly.