Lucas Scharenbroich
7d76089215
Remove some dead code
2021-11-22 16:53:47 -06:00
Lucas Scharenbroich
140126afd8
Optimize odd-aligned case in the blitter
...
The SEP/REP pairs that are used to move in and out
of 8-bit mode to do the single-byte pushed on the left
and right edges of the screen can also be used to clear
the necessary carry and overflow flags.
2021-11-22 16:13:29 -06:00
Lucas Scharenbroich
4075ed911c
Use the 'f' key to have the SPRITE_HIDE flag set every other frame for a flashing effect
2021-11-22 13:27:27 -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
90267e4646
Test updating tile ID in UpdateSprite for a run sequence.
2021-11-20 20:33:27 -06:00
Lucas Scharenbroich
9b5d3da0e4
Let character remain facing the direction they were moving after stopping
2021-11-20 14:03:00 -06:00
Lucas Scharenbroich
76801c0e5e
Simplify all of the remaining tile blitters
2021-11-20 13:58:24 -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
e65e6dac8b
Fix mask generatino of flipped tiles
2021-11-20 11:59:37 -06:00
Lucas Scharenbroich
c92606840a
Fix mask generation bug; mask was reversed
2021-11-20 11:09:57 -06:00
Lucas Scharenbroich
c08a4f7278
Merge pull request #3 from lscharen/expand-exception-handler-space
...
Expand exception handler space
2021-11-19 16:52:18 -06:00
Lucas Scharenbroich
a7ba1e4b6b
Add final tile blitter
2021-11-19 16:48:39 -06:00
Lucas Scharenbroich
fd6c686a95
Fix ordering bug that caused /usr/bin/bash0 values to overwrite the sprite
2021-11-19 16:40:21 -06:00
Lucas Scharenbroich
39303041f9
Add priority dynamic tiles + sprite blitter
2021-11-19 16:30:22 -06:00
Lucas Scharenbroich
44cbba3f23
Add in new variants for sprite and priority tiles
2021-11-19 15:07:43 -06:00
Lucas Scharenbroich
5fdb4bcf06
Fix transposed argument in macro definition; dynamic tile + sprite now working
2021-11-19 13:26:19 -06:00
Lucas Scharenbroich
b4871efe8f
Streamlining tile blitter macros
2021-11-19 13:00:59 -06:00
Lucas Scharenbroich
4c31a0d056
Reorg of exception handling code in the core blitter
...
* Moved V-flag handling outside of the 32-byte exception handler
* Switched relative branches to JMP to save a cycle per word
* Updated macros to create a full code snippet instead of assuming
certain values exist in the exception handler buffer
2021-11-19 10:24:09 -06:00
Lucas Scharenbroich
0a9eb76ab5
Checkpoint; have old Dynamic Tile Renderers working
2021-11-18 16:23:44 -06:00
Lucas Scharenbroich
ba76b0047c
Checkpoint on dynamic tile blitters
2021-11-18 15:36:36 -06:00
Lucas Scharenbroich
9a6eb45b20
Add Masked Sprite Tile blitter and fix some minor issues with the macro
2021-11-15 21:23:15 -06:00
Lucas Scharenbroich
d268b34e76
Get masking working with tile map output again
2021-11-15 16:41:01 -06:00
Lucas Scharenbroich
976ab3163b
Fix offset for filling wrap-around byte in BG1
2021-11-15 12:32:38 -06:00
Lucas Scharenbroich
dfd5549918
Sync up with current WIP
2021-11-15 12:23:38 -06:00
Lucas Scharenbroich
bcf8820fbe
Better palette and mask handling
2021-11-14 16:30:16 -06:00
Lucas Scharenbroich
cc8e03e6d3
Add SCB binding infrastructure
2021-11-13 19:45:27 -06:00
Lucas Scharenbroich
b87e2a8d33
Fix register assignments for dynamic tile renderer
2021-11-13 19:44:30 -06:00
Lucas Scharenbroich
596777da8d
Enable non-sprite, solid dynamic tiles
2021-11-12 15:11:29 -06:00
Lucas Scharenbroich
bab57f6e43
Add VSYNC toggle
2021-11-12 11:27:43 -06:00
Lucas Scharenbroich
45ad44f1a6
Update Tiled assets
2021-11-12 09:08:18 -06:00
Lucas Scharenbroich
de5bdc6041
Rename tile blitters to match internal bit fields and add in the solid prioity blitter
2021-11-12 09:07:51 -06:00
Lucas Scharenbroich
55484fd3e4
Regenerate map and add some priority tiles for testing
2021-11-12 09:06:48 -06:00
Lucas Scharenbroich
ab16035c0d
Create and pass options to png2iigs subroutines
2021-11-12 09:05:55 -06:00
Lucas Scharenbroich
6c5b283ae9
Merge pull request #2 from lscharen/multi-tile-sprites
...
Multi tile sprites (1/N)
2021-11-11 22:26:35 -06:00
Lucas Scharenbroich
673b97419a
Clear sprite flag when erasing sprite
2021-11-11 22:22:10 -06:00
Lucas Scharenbroich
dec9a3d106
Fix fast-path return value in PushDirtyTile and correct handling of TS_SPRITE_FLAG
2021-11-11 22:10:54 -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
13393965b3
Switch to the 256x128 tileset image
2021-11-02 22:01:31 -05:00
Lucas Scharenbroich
2f40c79ddf
Improve transparent / background color handling when generating tiles
2021-11-02 21:59:08 -05:00
Lucas Scharenbroich
3a5d2cb3ad
Merge pull request #1 from lscharen/20211020_sprite-and-tile-rewrite
...
20211020 sprite and tile rewrite
2021-11-01 23:47:30 -05:00
Lucas Scharenbroich
bb5f4493d9
Fully integration simple (8x8) sprites into the render pipeline
2021-11-01 23:36:53 -05:00
Lucas Scharenbroich
e83e8d8a0e
Update map assets
2021-10-31 15:44:31 -05:00
Lucas Scharenbroich
83ea7921ff
Switch to use Add/Update sprite and rely on Render to place sprites in frame
2021-10-31 15:44:03 -05:00
Lucas Scharenbroich
532af93538
Small update to add ability to specify a transparent color directly
2021-10-31 15:43:23 -05:00
Lucas Scharenbroich
631f40da23
Nearly complete integration of sprites into rendering function
2021-10-31 15:42:59 -05:00
Lucas Scharenbroich
8f0e82cb04
Update world map and tiles
2021-10-30 19:24:57 -05:00