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

Expand Mega Surface support #148

Open
wants to merge 32 commits into
base: dev
Choose a base branch
from
Open

Commits on Jan 5, 2024

  1. Shrink missized blits

    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    2247f1d View commit details
    Browse the repository at this point in the history
  2. Don't clamp Bitmap::blit

    Bitmap::stretchBlt handles that now
    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    43ac2b3 View commit details
    Browse the repository at this point in the history
  3. Fix blitting from megatextures

    Code mostly taken from the implementation in Bitmap::drawText
    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    086adde View commit details
    Browse the repository at this point in the history
  4. Change the create Bitmap from surface constructor to always take owne…

    …rship of the surface, and provide an option to leave it as a mega surface
    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    44739b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ed0ef42 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8d02148 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1d9806c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8b4b12b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b9a1aeb View commit details
    Browse the repository at this point in the history
  10. Limit squeezing text to a minimum of 50%

    Not quite accurate to what VX Ace is doing, but I think that's mostly because of kerning differences.
    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    e0290eb View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9e2a4aa View commit details
    Browse the repository at this point in the history
  12. Match some outline positioning behavior from RGSS and enable transpar…

    …ent outlines
    
    Outlines should 1) Not change the position of the text and 2) Be visible even if the text is cut off from reaching the edge of the rect, without leaving the rect itself.
    We're currently not drawing full text for the outlines like RGSS does, so we don't perfectly succeed at (2), but if we ever start doing that then the logic is already there.
    
    Text transparency with outlines present still doesn't match Enterbrain's implementation, but I gave up on trying to figure that out.
    WaywardHeart committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    c1b50ba View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. More properly handle src_rects in sprites with negative positions or …

    …too-large dimensions.
    
    I also fixed a small bug in how the wave position was calculated.
    
    I ALSO fixed src_rects in general for waves. (How was that not noticed before now?)
    WaywardHeart committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    b7ad640 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Guard against deleted bitmaps

    Ruby is not guaranteed to delete bitmaps after any windows, sprites, etc that they are attached to. In the event that the attached object is not deleted before the next call to Graphics.update, this will most likely result in a segfault, as isDisposed() is not guaranteed to return true for a deleted bitmap.
    
    Bitmap::invalid was added in an attempt to guard against this for sprites, but since the bitmap in question is deleted it's not guaranteed that the pointer actually points to null, which made the fix unreliable.
    WaywardHeart committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    35d46e6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9bb6a9b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce12247 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3d1932c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b8d6471 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6668022 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    83ee323 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    57fb65f View commit details
    Browse the repository at this point in the history
  9. Fix wrapRange

    WaywardHeart committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    ce239f6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1c25c9a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    60241f0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    57b1130 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f985437 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    705b319 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    db50c46 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    77fb2d8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    eb7384c View commit details
    Browse the repository at this point in the history
  18. Support mega surfaces in Windows, Planes, and Sprites

    I'm implementing this via "child" bitmaps, which determine which part of the parent will be visible, manually shrink it if necessary, and send back new values for zoom and offsets.
    
    Window contents and Planes are currently fully functional. Window skins still aren't supported, because it seemed unlikely that would be needed.
    Sprites support everything except patterns.
    WaywardHeart committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    657f9d1 View commit details
    Browse the repository at this point in the history
  19. Fix radial_blur on rectangles

    The old code only functioned perfectly on squares.
    WaywardHeart committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    2d0ad61 View commit details
    Browse the repository at this point in the history