nesbox / TIC-80

TIC-80 is a fantasy computer for making, playing and sharing tiny games.
https://tic80.com
MIT License
5.03k stars 488 forks source link

Bug: 258 sprite apears on ESC #1992

Open BuoYancYdabl opened 2 years ago

BuoYancYdabl commented 2 years ago

What is wrong When tapping fast escape key the 258 sprite shows on the cursor for one frame!

How to recreate 1) Fill 258 sprite with anything noticable; 2) Start going back and forth to editor and console; 3) You'll notice sprite appearing on one frame below cursor.

Additional information GIF Platform: Windows 7, PC Version of TIC: v1.0 Pro winxp Is fullscreen: yes

BuoYancYdabl commented 2 years ago

Please confirm if this also happens to you. I need to know is this my PC, or the TIC-80. It might be visual artifact, because im specifically using wrong videodriver.

pythonmcpi commented 2 years ago

Can reproduce using the Windows (regular) build from Github Actions Build #954. I believe my video drivers are up to date.

joshgoebel commented 1 year ago

Perhaps another issue with the new cursor code? Tagging as bug.

pyanmcbride commented 1 year ago

Perhaps another issue with the new cursor code? Tagging as bug.

I have noticed it before the new cursors.

BuoYancYdabl commented 1 year ago

Ok, so somehow that bug moved from 258 to 259. This happens on a quarter of a second if you interfere in to cursor memory. Have this bug in the other project now.

BuoYancYdabl commented 1 year ago

Well I have found some more weird stuff. For example, this bug affects the moving between editors or console while sprite in 257, 258 and 259 are appearing when game is lanching/closing. It have nothing to do with manual cursor changing, because I disabled that in my game to test it.

Miguel-hrvs commented 4 months ago

If you set tic_point hot to something high, like tic_point hot = {100000}; the sprite doesn't show up anymore. Could work like a workaround. Is one of the three mouse sprites being stored in one of the tiles in the spritesheet? If we use const tic_tile* tile = &studio->config->cart->bank0.sprites.data[sprite]; the 258 sprite is not being displayed, but the same cursor sprite gets duplicated with the same effect as the sprite before. Also removing the hot stuff fixes it. In addition to it, this way the mouse stop flickering pressing esc. Here's the file: studio-c.zip