| Click here to select a new forum. |
| Another Mac Classic II app |
Posted by: AbelVincze on 2019-10-28 18:17:58 Hi All!
Another stuff i just finished... Need some polishing, but i was so excited to got it working after 1 week of assembly coding (only spare time during the week)
Please enjoy!
Sources: https://github.com/AbelVincze/Cattail-Scroller-Mac68k
|
Posted by: Crutch on 2019-10-28 20:48:21 Gorgeous! How did you display the characters at arbitrary angles?
|
Posted by: AbelVincze on 2019-10-29 02:29:56
Gorgeous! How did you display the characters at arbitrary angles? Thanks! They are precalculated at the begining (this is why the progressbar)
|
Posted by: cheesestraws on 2019-10-29 02:57:32 That's really, really nice.
|
Posted by: Crutch on 2019-10-29 03:57:09 I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed?
|
Posted by: AbelVincze on 2019-10-29 06:51:36
I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed? Yes, kind of.
Every drawing on the screen is done by direct accessing the VIdeo RAM, and i use the less possible system calls, especially in case of accessing the screen, as it would be too slow. I will translate the source file comments, so it will be easier to explore it in case of interest.
|
Posted by: Crutch on 2019-10-30 05:02:12 Yep makes sense. Would be fun to review your source. Very cool demo!
|
Posted by: AbelVincze on 2019-10-30 07:37:52
Yep makes sense. Would be fun to review your source. Very cool demo! Thank you!
I sort of figured. Cool. So you wrote assembly code to rotate each character by a lot of different angles, saved the rotated characters in an offscreen bitmap, then blit them to the screen as needed? It's a bit more complicated because of the timing: i have to clear the previous frame, and redraw the new one.
I have two set of buffered (rotated and shifted graphic) characters, and they are ordered in ascending Y position.
This is how the tasks are done in a single frame:
- waiting for VBL
- Drawing (new buffer's content)/ereasing (old buffer's content) from top to bottom order
- switching buffers
- calculating new coordinates
- rendering NEW buffer content
|
| 1 |