Lucas Scharenbroich
027f9746ec
Checkpoint of work
2022-01-19 20:58:57 -06:00
Lucas Scharenbroich
5bc9cc7ff2
Add a SPRITE_HIDE flag to toggle whether a sprite is drawn or not
2021-11-22 13:26:25 -06:00
Lucas Scharenbroich
2683a91e93
Fix sprite rendering with overlapping sprites. Must erase all sprites first, then re-render
2021-11-20 21:58:09 -06:00
Lucas Scharenbroich
cd5de05d74
Most of the horizontal flip routines are not needed since the _GetTileAddr function returns the correct tile address. Need to finish auditing other Tile blitters
2021-11-20 13:54:19 -06:00
Lucas Scharenbroich
65ce5cbbc0
Add 16x16 vertical flip routine
2021-11-20 13:26:00 -06:00
Lucas Scharenbroich
b607275089
Separate updating a sprite's position with updating it's flags
2021-11-20 12:16:03 -06:00
Lucas Scharenbroich
0cc28f9e6e
Generalize _DrawSprite to handle all sizes and flip bits.
2021-11-20 12:00:21 -06:00
Lucas Scharenbroich
673b97419a
Clear sprite flag when erasing sprite
2021-11-11 22:22:10 -06:00
Lucas Scharenbroich
678c9a0563
Initial shell of generalize sprite size support; just for marking the dirty tiles
2021-11-11 17:06:38 -06:00
Lucas Scharenbroich
bb5f4493d9
Fully integration simple (8x8) sprites into the render pipeline
2021-11-01 23:36:53 -05:00
Lucas Scharenbroich
631f40da23
Nearly complete integration of sprites into rendering function
2021-10-31 15:42:59 -05:00
Lucas Scharenbroich
2f73b9acf5
Small improvements to sprite prototype to fix dirty tiles getting out of sync
2021-10-30 19:24:23 -05:00
Lucas Scharenbroich
0a7d9e15c7
Add external entry point to the erase function
2021-10-28 22:18:33 -05:00
Lucas Scharenbroich
7ec1b8bc29
Fix dumb initialization bug in sprite plane
2021-10-28 21:52:48 -05:00
Lucas Scharenbroich
4e46a6af85
WIP: manual sprite rendering showing on screen
2021-10-28 21:41:01 -05:00
Lucas Scharenbroich
2feb6f590b
Add address in sprite plane for tile rendering; use in tile dispatcher
2021-10-27 00:14:19 -05:00
Lucas Scharenbroich
3b8bf652e1
Continued bug fixing
...
* Missed an XBA to swap tile command bits into a proper index range
* Explicitly track the BASE_ADDR
* Fix some register overwriting
* Add an UpdateSprite method
2021-10-23 22:31:38 -05:00
Lucas Scharenbroich
494673416b
Fix several incorrect uses of internal API; work toward functional demo
2021-10-22 00:56:12 -05:00
Lucas Scharenbroich
4e779e71d2
Tile rendering reorganization
...
This significantly simplifies the dispatch process by creating a
proper backing store for the tiles. Most values that were
calcualted on the fly are now stored as constants in the tile
store.
Also, all tile updated are run through the dirty tile list which
solved a checken-and-egg problem of which order to do sprites vs
new tiles and affords a lot of optimizations since tile rendering
is deferred and each tile is only drawn at most once per frame.
2021-10-21 08:50:07 -05:00
Lucas Scharenbroich
a82c1248db
Add untested framework for handling fringe tile rendering
2021-08-30 22:14:04 -05:00
Lucas Scharenbroich
7d5f7aa721
Refactor GTE Core to be included as an independent Segment in other projects
2021-08-25 09:38:02 -05:00