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

Board view logic improvement #10

Closed
4 tasks done
Tracked by #1
CloneWith opened this issue Jul 29, 2024 · 11 comments
Closed
4 tasks done
Tracked by #1

Board view logic improvement #10

CloneWith opened this issue Jul 29, 2024 · 11 comments

Comments

@CloneWith
Copy link
Owner

CloneWith commented Jul 29, 2024

  • Rewrite the beatmap listing logic (manually specified)
  • Built-in board editor (considering)

Various problems have found in OFFC Test Match:

  • When A trap is placed, InstructionDisplay won't display the correct trap information

    • Found in the latest build in derived/tboard, probably caused by unexpected/unpredicted box status
  • Two messages maybe displayed at the same time (when EX will be triggered at the same time)

@CloneWith CloneWith mentioned this issue Jul 29, 2024
19 tasks
@CloneWith CloneWith changed the title Redesign the board's beatmap fill logic. Board view improvement Jul 29, 2024
@NaughtyChas
Copy link
Collaborator

NaughtyChas commented Jul 29, 2024

  • Rewrite the beatmap list logic (manually specified)

Beatmap listing can be achieved by edit beatmaps in correct order inside Rounds Editor:

Rounds Editor Board
image image

Listing from top to bottom in Rounds Editor will result in a expected order from top to bottom, from left to right.

This issue is worth to be re-thinked.

@CloneWith
Copy link
Owner Author

Not until now have I reliazed this trick!
So I think we temporarily don't need a Board-specific editor?

@NaughtyChas
Copy link
Collaborator

NaughtyChas commented Jul 31, 2024

Not until now have I reliazed this trick! So I think we temporarily don't need a Board-specific editor?

Depends on display logic of EX Screen. The board should in 4x4 size, adding more than 16 beatmaps will cause board display issue, as shown in the pic below:

image

In this case I have added 16 + 4 beatmaps in current round, for 16 maps in board & 4 EX maps. The board is now in a 4x5 display which is not we are expecting.


Here are some potential solution towards this issue:

  1. Change board's beatmap display logic to make it not render beatmaps labelled as EX.
  2. Add a EX editor.

It is obvious that the second solution should be easier to implement. Problem is it will cause some degree of redundant if we add a dedicated tab on the left. A suggested approach is to add four input boxes on the right of the EX screen, each of them accept beatmap IDs, for EX 1-4 respectively.

Take a look at commit 347b9e8 which demonstrate the concept.

@CloneWith
Copy link
Owner Author

I think we've somehow implemented solution 1 in the EX Stage view, where we only add mod=EX beatmaps to the list, refer to this commit.

Noticeably a disadvantage of this implementation is portability, which means we can't use other mod names other than EX to make a map visible in EX view. Chances are that I'll add this as a JSON argument and enable it to be configured in the main settings screen.

@NaughtyChas
Copy link
Collaborator

I think we've somehow implemented solution 1 in the EX Stage view, where we only add mod=EX beatmaps to the list, refer to this commit.

Noticeably a disadvantage of this implementation is portability, which means we can't use other mod names other than EX to make a map visible in EX view. Chances are that I'll add this as a JSON argument and enable it to be configured in the main settings screen.

Solution 1 is indeed already implemented in the code, and it works well in the perspective of EX view. However adding 4 extra EX maps in Round Editor, with Mods defined as EX with blank Mod Index, these maps somehow will display in the board, which is not expected.

Round Editor
image image

The first solution can be marked as complete only when these EX Maps are not being rendered on the board view.

@CloneWith
Copy link
Owner Author

The first solution can be marked as complete only when these EX Maps are not being rendered on the board view.

Fixed in the latest commit.

Map Settings Board View
Settings Board

@NaughtyChas
Copy link
Collaborator

The first solution can be marked as complete only when these EX Maps are not being rendered on the board view.

Fixed in the latest commit.

Map Settings Board View
Settings Board

Reviewed, cheers for your fantastic work! This issue can be drown to a close, since we have addressed how we're going to fill the board with corresponding beatmaps.

@NaughtyChas
Copy link
Collaborator

NaughtyChas commented Aug 3, 2024

commit bc3507f added board arrangement edit based on Board row/column. only input boxes are being created so far:

image


  • Rewrite the beatmap listing logic (manually specified)

Re-opening this issue and the first task, as no specific methods is being declared so far to put correspond beatmap into boxes. Re-check it if we complete this.


As we have to give every beatmap a position, automatic EX situation and winning judgement should be easier to get implemented. Opening new issue at #17 .

@CloneWith
Copy link
Owner Author

Re-opening this issue and the first task, as no specific methods is being declared so far to put correspond beatmap into boxes.

This is implemented in our recent commits.

The switch

To prevent boards being broken by maps with undefined board coodinates, I've added a switch in the header of each round. To use the manually set position, we just need to turn the switch on and then it will work.

@NaughtyChas NaughtyChas changed the title Board view improvement Board view logic improvement Aug 5, 2024
@NaughtyChas
Copy link
Collaborator

@CloneWith are there any thing left we haven't finish in this issue? Closing this issue if ready.

@CloneWith
Copy link
Owner Author

CloneWith commented Aug 20, 2024

Seemingly most stuff about this has been done, and we can safely close this now.

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

2 participants