Skip to content

Commit

Permalink
J2D: Implement JSystem 2D rendering library, use it display Wind Wake…
Browse files Browse the repository at this point in the history
…r place names (#735)

* Add name to dDemo_manager_c enabling logic based on specific demos

* Starting point for Placename implementation

* Fix duplicate d_place_name creations, and Outset Island bti location

* JSystem: Add J2D.ts. Implemented loaders for SCRN, PIC1, and PAN1

* Wind Waker: Add automatic parsing of BLO (2D UI) data types

* J2D: Adding starting point of J2DPane and J2DPicture

These can (hackily) be used to render a super basic pane

* Hackily render place names. A good starting point.

* J2D: Child panes correctly inherit their parents translation

* J2D: Handle UV binding

* J2DPicture: GX modes now consistent with original

* Fix place name constantly being created when at place 0 (Outset Island)

* J2DPicture: Alpha is now computed correctly as texApha * vertAlpha * drawAlpha

* J2D: Formatting

* Added `fopMsgM_` functionality to framework.ts, similar to `fopKyM_`

This is used by the message system, of which d_place_name is a part. In the future, I'll also use this for message dialogs during demos.

* Place names now fade in and out

* J2DPicture: Clean up UVBinding and texture setting

* J2D: Handle Y-coordinate flip in ortho matrix. Gamecube origin is top-left, ours is bottom left.

Place names are now in the correct positions

* Use === and !=== instead of == and !=

* J2D: Handle non 4:3 aspect ratios

* Formatting

* Render place names into the UI render list so they appear on top

* Fix bug where alpha could exceed 0xFF and wrap back to near 0

* J2D: Reorganizing and cleanup

* PlaceName: Remove old code, cleanup

* J2D: Implement J2DScreen

* PlaceName: Fill out Placename enum, support 2 digit ids

* Cleanup unused imports, add missing private designator

* Update `J2Pane.drawSelf()` comment to be more clear

* Rename `updatePlaceName` to `dPn__update()`

* Rename `J2D.ts` to `J2Dv1.ts` and add comment explaining v1 vs v2

* J2D: Add `| null` to optional member

Co-authored-by: Jasper St. Pierre <[email protected]>

* J2D: Fix ortho convention to match original, fix J2DPicture vert data to work with new ortho matrix

Thanks to Jasper for setting me straight on where the Y inversion was coming from (J2DOrthoGraph::setPort())

* J2D: Setup J2DGrafContext's ortho matrix similar to original (640x480)

* J2DScreen: Don't use static members to avoid leaking memory between scenes

---------

Co-authored-by: Jasper St. Pierre <[email protected]>
  • Loading branch information
themikelester and magcius authored Dec 17, 2024
1 parent 0e22c12 commit 133b397
Show file tree
Hide file tree
Showing 7 changed files with 699 additions and 4 deletions.
Loading

0 comments on commit 133b397

Please sign in to comment.