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

2.4 TODO #829

Closed
4 tasks done
flibitijibibo opened this issue Aug 31, 2021 · 36 comments
Closed
4 tasks done

2.4 TODO #829

flibitijibibo opened this issue Aug 31, 2021 · 36 comments

Comments

@flibitijibibo
Copy link
Collaborator

flibitijibibo commented Aug 31, 2021

Wow, that last update didn't take long or anything!

We ended up accumulating a lot of things during the lengthy freeze, so for 2.4 I'm going to intentionally make this a really quick one. 2.4 will only have the following things in it:

  • Update to SDL 2.0.20
  • Merge/Fix all items labeled 2.4
  • Replace SDL_mixer with FAudio
  • Everything labeled localization

If it's a new feature not in the list above, it's probably going to get marked 2.5 unless it's basically written already and is extremely easy to test, because even this list is still a lot of work. Think of 2.4 as mostly a catch-up release to try and undo the damage of the extended freeze. This is also the period where we'll have Misa on as a more official maintainer, so to avoid giving anyone an excessive amount of work right from the get-go I'd like to keep this one MUCH smaller than 2.3.

@TerryCavanagh
Copy link
Owner

Oh, cool, localization! 🎉

Something long term I'd really like to do is update the mobile versions to be based on the C++ version rather than the adobe air version. Probably that's more 2.5 or 2.6, though, as it's a pretty big undertaking.

@flibitijibibo
Copy link
Collaborator Author

A big part of the action set work will be touch integration, so that should be a pretty big step in the right direction. But for things like UI... yeah, it'll take some time 😅

@Fussmatte
Copy link
Contributor

I'm not gonna lie, I'm SUPER pumped for localisation. It's something I'm passionate about in general, plus it's just super cool to see the game running in other languages. And I love doing localisation myself into Esperanto, like I've done officially for Baba is You and unofficially for some other games and media.

This is all just to say I'm super grateful for all the work people have put in to make this a reality; thank you so much. I'm looking forward to the final release of 2.4!

@KabanFriends
Copy link
Contributor

I wonder how localization would be done (like how texts would be translated) for languages like Japanese which was already translated by 3rd-party developers for console releases

Would these text be borrowed from that version, or redone by community or something...?

@flibitijibibo
Copy link
Collaborator Author

Did a bunch of work to consolidate the references to SDL_mixer to a single file; functionally it should be identical to before but with most of the audio code now in a single file. This only removed SoundSystem.cpp/h and a single block in main.cpp.

I'll try to get a first draft of the FAudio rewrite this week. It should be easier to test with these changes in place; the only unit that will ever be rebuilt is Music.cpp (unless CMake screws me, which it might?).

@flibitijibibo
Copy link
Collaborator Author

Bad news: I wasn't able to write the FAudio backend.

Good news: I made it really easy for someone else to do it if I take too long to actually finish it.

The latest revision has all the SDL_mixer interactions isolated to the top of Music.cpp, in MusicTrack and SoundTrack. I also wrote API notes in each function, which can be used alongside FAudio.h to figure out how the implementation will work. Overall it should be very straightforward; the music class is ultimately a single static stream while the sound class is a fire-and-forget voice emitter, which maps really well to FAudio.

@Fussmatte
Copy link
Contributor

Fussmatte commented Jan 16, 2022

I wonder how localization would be done (like how texts would be translated) for languages like Japanese which was already translated by 3rd-party developers for console releases

Would these text be borrowed from that version, or redone by community or something...?

I apologise for this late reply, and you probably already know this by now but it's likely worth mentioning here so people know.

Terry has mentioned on the Discord server that he's considered contacting Nicalis to use their Japanese localisation as a base point for the PC version. However, it's unlikely that it'll be lifted wholesale to be used for the PC version.

Even if all the text from Nicalis were carried over without changes, the amount of new strings that need translation pretty much necessitate a new translation team. I believe the Japanese translators for Dicey Dungeons are who Terry has in mind for this work.

@flibitijibibo
Copy link
Collaborator Author

Refactored the TODO a little bit, mostly to separate localization issues from general bugs for 2.4 (which there aren't many of).

Note that the action set stuff has been downgraded quite a bit, it's mostly been boiled down to making just enough of a layer to have keyboard and gamepad bindings that can be used by the localization work. We'll figure out the more robust action set system as part of 2.5.

FAudio is still delayed while I get some other things out the door.

@N00byKing N00byKing mentioned this issue Mar 11, 2022
2 tasks
@flibitijibibo
Copy link
Collaborator Author

The FAudio port has been merged into master. This went through a ton of iteration and a pretty good amount of testing, but more testing is always welcome - if you're not focused on localization I would focus on testing music and sound effects. (As a reminder, the input work has been demoted to just what's necessary for localization, SDL_ActionSet needs to come first and that's on hold until I can pitch it to a larger sponsor and get the work done).

@Kokasgui
Copy link

Kokasgui commented May 5, 2022

Hey! A question: is the game getting Steam Cloud support in the near future? I think it would greatly benefit it!

@InfoTeddy
Copy link
Contributor

Hey! A question: is the game getting Steam Cloud support in the near future? I think it would greatly benefit it!

It's not on the 2.4 list. But it might be added in a later update. It's been asked for a lot.

@flibitijibibo
Copy link
Collaborator Author

All I need to do is set up autocloud, so if it's not set up by the time RC1 is tagged someone should bother me about it.

@rvbg
Copy link

rvbg commented Jun 27, 2022

With the release of the Steam Deck, Steam Cloud support is more important than ever before. Would be awesome to see!

@flibitijibibo
Copy link
Collaborator Author

SDL_ActionSet is going to take some more time, so I've cut it from the 2.4 requirements - as soon as localization is ready we can start the process for testing/tagging a new stable release.

@Daaaav
Copy link
Contributor

Daaaav commented Aug 23, 2023

So here's the status on all remaining issues tagged either "required for 2.4" or localization (excluding the 2.5 ones):

@flibitijibibo
Copy link
Collaborator Author

Filed #992 for the editor option. I'm also okay with delaying 904 to 2.5 if everyone else is okay with that.

@TerryCavanagh
Copy link
Owner

Once the last of the localisations are in, I think I'd like to take a fresh look at #904 (probably not) and #860 (maybe) - I think they basically won't happen if they don't happen now, and maybe that's ok, but, you know, let's think it through!

@flibitijibibo
Copy link
Collaborator Author

flibitijibibo commented Jan 2, 2024

The current build passed Deck cert, so we're in sort of a Last Call mode for 2.4 - anything not immediately essential for 2.4 should probably be bumped to 2.5, which at this point is likely all non-localization tasks, except maybe the screenshot and text reload hotkeys. If at all possible it'd be great to have this out next Wednesday, but that's of course an arbitrary deadline - happy to push it back if something urgent comes up at the last minute.

@Daaaav
Copy link
Contributor

Daaaav commented Jan 2, 2024

Yay!

From my perspective nothing's really holding us back, apart from the text reload hotkey!

Another overview of the current "required for 2.4" and "localization" tags, which means we could probably have the update out today or tomorrow if we want:

Also, there have been developments on supporting an Arabic localization in the past few days! But that should probably also not hold back 2.4 from releasing. The best is probably to add it in a 2.4.x update in a few months, even if 2.5 development has also been started.

@flibitijibibo
Copy link
Collaborator Author

Went ahead and bumped c-hashmap to 2.5, since I can use my downstream branch and all it does is fix some keywords for VS2010.

The IME fix also should be okay as-is for 2.4.0, in addition to polishing that feature I may also need to double check something involving text input and key press latency there (the Celeste community found something related to this in FNA recently so I'll have to make sure we're not doing the same thing).

@TerryCavanagh
Copy link
Owner

This is great news :) (I went ahead and merged the repo update issue)

Regarding the Arabic localization - it's a bit of a rush, but the team would like to try it and I think it'd be great to include, so expect some commits around that this week before release! We're now aiming for the 10th!

@InfoTeddy
Copy link
Contributor

Went ahead and bumped c-hashmap to 2.5, since I can use my downstream branch and all it does is fix some keywords for VS2010.

Could the same be done for SheenBidi (which #1093 adds)? In that case, the library has a(n) (easily fixed) Valgrind error (see Tehreer/SheenBidi#19).

Alternatively, I was thinking that I would just fork both repositories with the applied patches and update our submodules to point to those.

@flibitijibibo
Copy link
Collaborator Author

We can use downstream submodules for now, yeah - we can try to get back on mainline for both projects after 2.4 is out.

@flibitijibibo
Copy link
Collaborator Author

Today's the day! In about 3 hours I'll tag and push 2.4 to 2.4-beta and send Terry the standalone builds, and Terry will push the novelty oversized launch button an hour after that.

@TerryCavanagh
Copy link
Owner

giphy

@flibitijibibo
Copy link
Collaborator Author

It's live! Also added a 2.3-archive branch on Steam for archiving purposes.

@flibitijibibo flibitijibibo unpinned this issue Jan 11, 2024
@flibitijibibo
Copy link
Collaborator Author

flibitijibibo commented Jan 15, 2024

Will likely push a 2.4.1 Wednesday at some point, it's pretty safe as it has mostly language fixes along with a single visual regression fix. #1118 and #1119 also lgtm so if everyone's happy with those MRs I can get those when I tag as well!

EDIT: Woops, tomorrow's not Wednesday... more time for me to squeeze in GameCube support!

@TerryCavanagh
Copy link
Owner

Hey! Actually there are a few more things in the pipeline on the localisation front, including the linegap issue which I want to take a stab at this week. It also doesn't seem like there's anything really critical that needs to be pushed out asap. Can we leave 2.4.1 for two weeks?

@flibitijibibo
Copy link
Collaborator Author

Works for me, will hold off on tagging until the localization updates are done.

@TerryCavanagh
Copy link
Owner

TerryCavanagh commented Jan 21, 2024

Ok! I'd now like to suggest Monday the 5th of February as the release date for 2.4.1. There are a number of localisation update projects happening in the background, but this date should give everyone enough time to get things ready without being rushed.

Hopefully we'll stick on 2.4.1 for a while!

@flibitijibibo
Copy link
Collaborator Author

That works for me - SDL 2.30 should be out by that time so the Linux-exclusive controller enhancements will be multiplat for 2.4.1.

@TerryCavanagh
Copy link
Owner

Hey! We should probably give the 2.4.1 update another couple of days to allow for more of a back and forth with the new translators. I think we still need a few adjustments! Shouldn't take too much longer, sorry.

@flibitijibibo
Copy link
Collaborator Author

No worries, SDL 2.30 tagged this week so that buys some more time to test changes on my end.

@TerryCavanagh
Copy link
Owner

I think we are now finally ready to go with 2.4.1! Ready whenever it suits!

@flibitijibibo
Copy link
Collaborator Author

Sounds good, will try and publish on Tuesday!

@flibitijibibo
Copy link
Collaborator Author

Will tag in about an hour - at the same time I'll make a 2.4-updates branch so that the 2.5 work can start without being blocked by bugfix releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants