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

Large CharSet support ($CharSet) doesn't work properly on looping maps #3149

Closed
Mimigris opened this issue Nov 17, 2023 · 2 comments
Closed

Comments

@Mimigris
Copy link

Player platform:

Windows, 64 bits continuous build of the Player.

Describe the issue in detail and how to reproduce it:

Create an horizontal looping map and place an event randomly in it. Use a graphic for its CharSet starting with the character $, and make it have a huge size in length (e.g. 1000% of a normal CharSet).
Example with this version of the EasyRPG RTP CharSet Actor1, named here $Actor1.
$Actor1

While in-game, if you are standing at the right of the event, you should notice that the event will not be displayed if the vertical line on its right is not displayed on the screen.

Here, the player is on the right of the event and the event is on-screen; the event is displayed:
screenshot_7

Here, the player is on the right of the event, but the event is not on-screen; only the vertical line on the right of the event is displayed on-screen, so the event is still displayed:
screenshot_8

Here, the player is on the right of the event, but the event is not on-screen and the vertical line on its right is not on-screen; the event is not displayed on-screen:
screenshot_9

There is no such issue with the left side.

Another thing to note is that a big vertical CharSet can overlap differently depending on where you are located on the map, though it may not be a huge issue if said event is overlapping itself since I don't think that a lot of users would try that.

@Ghabry
Copy link
Member

Ghabry commented Apr 3, 2024

Found a solution for the complete disappearing of the charset. Patch follows next week, code currently too ugly 😅

This will not solve the Z order "issue" (depending on your location other events are drawn above or below the large charset) but this isn't really solvable due to how charset rendering order works. So that part is Won't Fix/Not a bug.

(the lack of transparency is because the program I used to rescale messed up the color palette)

screenshot_1

@Ghabry Ghabry added this to the 0.8.1 milestone Apr 3, 2024
@Ghabry
Copy link
Member

Ghabry commented Apr 14, 2024

Correction: I found the reason why the z order changes, so this is also looking good now and they stay the same priority :) (at least when testing on that simple map here).

before.webm
after.webm

Ghabry added a commit to Ghabry/easyrpg-player that referenced this issue Apr 15, 2024
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($).

Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small.

Fix EasyRPG#3149
Ghabry added a commit to Ghabry/easyrpg-player that referenced this issue Apr 15, 2024
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($).

Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small.

Fix EasyRPG#3149
Ghabry added a commit to Ghabry/easyrpg-player that referenced this issue Apr 15, 2024
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($).

Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small.

Fix EasyRPG#3149
Ghabry added a commit to Ghabry/easyrpg-player that referenced this issue May 9, 2024
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($).

Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small.

Fix EasyRPG#3149
@Ghabry Ghabry closed this as completed in c338202 May 12, 2024
florianessl pushed a commit to florianessl/Player that referenced this issue May 24, 2024
The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($).

Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small.

Fix EasyRPG#3149
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants