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

Setup for support of generated changelogs #6473

Draft
wants to merge 13 commits into
base: develop
Choose a base branch
from

Conversation

Garanas
Copy link
Member

@Garanas Garanas commented Oct 8, 2024

Description of the proposed changes

Closes #6239.

Related to #6444 and #6472.

Reworks the changelog dialog module.

Lazy loading of changelog data

The changelogs are now lazy-loaded. In practice that means that changelogs are only loaded into memory if a user ends up clicking on a changelog in the changelog dialog. This matters because without this we'd load in about five megabytes worth of data just by clicking on the lobby.

Hot reload

Add additional debugging functionality that allows one to edit the changelog with hot reload-like functionality. This means you can open the dialog and as you make changes to the dialog file it will re-open immediately with your changes applied!

hot-reload-example.mp4

Works better than in .Net 8.0!

Testing done on the proposed changes

Opening and closing of the dialog in a harmonic manner.

Checklist

  • Changes are annotated, including comments where useful
  • Changes are documented in the changelog for the next game version

@Garanas Garanas added the area: changelog management related to (automated) management of changelogs label Oct 8, 2024
@Garanas
Copy link
Member Author

Garanas commented Oct 8, 2024

@Zjonn An initial setup of how we'll apply your work in-game. Looking forward to implementing your workflow into the deployment workflows 😃 !

if Changelog.OpenChangelog() then
Changelog.Changelog(GetFrame(0))
-- ChangelogDialog, if necessary.
local changelogDialogManager = import("/lua/ui/lobby/changelog/changelogdialog.lua")
Copy link
Member Author

@Garanas Garanas Oct 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems silly but we do this to isolate the import so that the hot reload functionality behaves better. As in - that it doesn't try to reload everything that imports the changelog dialog module at the file scope 😄 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: changelog management related to (automated) management of changelogs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Introduce lazy loading of in-game changelog file(s)
1 participant