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

[List] Backport all devel features into master #232

Open
11 of 12 tasks
Wohlstand opened this issue Dec 23, 2021 · 15 comments
Open
11 of 12 tasks

[List] Backport all devel features into master #232

Wohlstand opened this issue Dec 23, 2021 · 15 comments
Assignees
Labels
enhancement New quality-of-life feature or request (does not change gameplay)

Comments

@Wohlstand
Copy link
Owner

Wohlstand commented Dec 23, 2021

To continue the main development process, we SHOULD port all major features made at the devel branch into the mainstream. Initially, that branch was intended for the debugging stuff, however, it has grown into the big unpolished thing that I still need to deeply review. Also, some features such as QuadTree optimization would require some rework (for example, making the sort of a tilemap optimization, but making it work for two directions, not linearly, also, make own arrays per layer to avoid the DrPepper problem).

List of features:

  • Multi-resolution - allows changing the in-game resolution into any different than 800x600, but made that smartly. (Dynamic resolution support #328)
  • Layers now track the objects they contain in sets
  • Solution for DrPepper Problem and blocks search optimization (Optimize the layer move processing and GFX render #33) (depends layers, can be improved)
  • File system case sensitivity workaround optimizations
  • Strings replaced with numbers for layer and event names to reduce the general memory use and increase the general performance while processing layers and events (depends on layers)
  • 3DS platform support (depends multires, abstract controls) (3DS platform support #366)
  • PS Vita platform support (depends multires) Done without it
  • Records replaying system
  • New in-game editor (depends abstract controls)
  • Config option to enable fast move at the world map (8c123ed)

Fix bugs:

  • Touch-screen actions for "hold run" mode should always work on Press with a cost of one frame, never for release, as this behavior confuses and makes gameplay being messed up (Fix the "Run" touch button behaviour when "hold run" mode is active #363)
  • Repair the regression of the magic hand functionality (accessible when running a level test using Moondust Editor)

// p.s. Please add items I forgot

How to do the work

  • Choose the task for the work
  • Make the branch from the master
  • Manually apply all changes made at the devel branch to reach the goal of the task, or, re-implement the thing differently if there is a better solution was found
  • Make a pull request that we should review together
@Wohlstand Wohlstand added the enhancement New quality-of-life feature or request (does not change gameplay) label Dec 23, 2021
@Wohlstand Wohlstand added this to the Version 1.3.6 milestone Dec 23, 2021
@Wohlstand Wohlstand pinned this issue Dec 23, 2021
@LoveBodhi
Copy link
Contributor

LoveBodhi commented Dec 23, 2021

There are some unlisted features as well...

Will support Nintendo®Switch™?

@ds-sloth
Copy link
Collaborator

On my end: from my and Axiom's profiling I think that we can do much better than my first block search code. In particular i don't think the quadtree is the right structure to use here. So we may want to think about revising this code as we backport it.

Second, the abstract controls code is feature complete but I want to test it some more before we make it the default. And two of the features depend on abstract controls: (1) proper 3DS port and (2) new in-game editor (for text entry and configuration). So maybe those two features can be a part of 1.3.7? (However, beta 3DS port without working controller configuration can be finished with 1.3.6.)

@ds-sloth
Copy link
Collaborator

ds-sloth commented Dec 24, 2021

Additionally, there is the layers performance optimization (each layer has a standard set containing its objects, and each object represents its layer by an index, not a string) and the strings RAM optimization (all strings are replaced by indices into a global string map). Edit: I see you included the RAM optimization in your list.

@LoveBodhi
Copy link
Contributor

Script System, Parallax Backgrounds, are unlisted (But planned).

@ds-sloth
Copy link
Collaborator

ds-sloth commented Dec 26, 2021

These are the features that are already implemented but not in the main branch. We are also excited to do the features you listed after.

@Wohlstand
Copy link
Owner Author

Wohlstand commented Dec 27, 2021

Script System, Parallax Backgrounds, are unlisted (But planned).

As @ds-sloth said, this list contains features that were already implemented. Features are not implemented yet, going at separated tasks.

@Wohlstand Wohlstand added this to Backlog in Wohlstand's works Dec 29, 2021
@Wohlstand
Copy link
Owner Author

I set the "Records replaying system" being completed as the thing was been added, but, it has some cases to be completed, mainly, tune out the random generator and making the isolated random instance for the non-gameplay cases to don't confuse the seed state while recording on "SMBX Experiments" to replay on TheXTech.

@Wohlstand
Copy link
Owner Author

Vita port PR has been merged, one another item has been solved 🦊
Thanks to @suicvne for the work

@Wohlstand
Copy link
Owner Author

Just now, @ChristianSilvermoon at issue #70 reminded us about another nifty feature that we need to backport, so, I added it into the list

@Wohlstand
Copy link
Owner Author

Editor branch has been merged, I marked "New Editor" as done. The editor itself is not so finished and requires more work to be a more stable thing. So, it is kept as an experimental feature that can be enabled from settings/thextech.ini separately.

@ds-sloth
Copy link
Collaborator

Minor point, but I just backported the episode title display option that @0lhi requested. It's a small feature so I sent it straight to the main branch.

@Wohlstand
Copy link
Owner Author

Little note that recently I made the little optimization of the DirListCI thing: https://github.com/Wohlstand/TheXTech/blob/master/lib/Utils/dir_list_ci.cpp

Now, lists of sub-directories get cached on the first request, and that should avoid multiple reconstructions of the same subdirectory's instance.

@Wohlstand
Copy link
Owner Author

Forgot to check, that Magic Hand integration with Moondust Editor works fine.

@Wohlstand Wohlstand moved this from Backlog to In progress in Wohlstand's works Jul 31, 2022
@Wohlstand
Copy link
Owner Author

The touchscreen controller task has been completed.

@LoveBodhi
Copy link
Contributor

Multires isn't a milestone of 1.3.6!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New quality-of-life feature or request (does not change gameplay)
Projects
Development

No branches or pull requests

4 participants