Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Json instead of Ini #124

Open
3 of 4 tasks
ZiYueCommentary opened this issue May 29, 2023 · 9 comments
Open
3 of 4 tasks

Use Json instead of Ini #124

ZiYueCommentary opened this issue May 29, 2023 · 9 comments
Assignees
Labels
enhancement New feature or request

Comments

@ZiYueCommentary
Copy link
Collaborator

ZiYueCommentary commented May 29, 2023

  • SCP-294.ini
  • NPCBones.ini
  • 1499chunks.ini
  • loading_screens.ini

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 ZiYueCommentary added the enhancement New feature or request label May 29, 2023
@ZiYueCommentary ZiYueCommentary self-assigned this May 29, 2023
@ZiYueCommentary
Copy link
Collaborator Author

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
Copy link
Owner

Jabka666 commented Oct 24, 2023

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

@Jabka666
Copy link
Owner

Jabka666 commented Oct 24, 2023

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

@ZiYueCommentary
Copy link
Collaborator Author

ZiYueCommentary commented Oct 24, 2023

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
Copy link
Collaborator Author

ZiYueCommentary commented Oct 24, 2023

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

  • SCP-294.ini
  • NPCBones.ini
  • loading_screens.ini

@ZiYueCommentary
Copy link
Collaborator Author

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

@ZiYueCommentary
Copy link
Collaborator Author

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
Copy link
Owner

What about NPCBones.ini?

@ZiYueCommentary
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants