Skip to content

Fix clipped RDP rectangle drawing#147

Merged
anacierdem merged 2 commits intoDragonMinded:trunkfrom
meeq:fix/rdp_draw_textured_rectangle_scaled
Jun 25, 2021
Merged

Fix clipped RDP rectangle drawing#147
anacierdem merged 2 commits intoDragonMinded:trunkfrom
meeq:fix/rdp_draw_textured_rectangle_scaled

Conversation

@meeq
Copy link
Contributor

@meeq meeq commented Jun 24, 2021

Fixes this issue with Flappy Bird, which uses clipped rectangles for the pipes and backgrounds as they scroll off-screen:

2021-06-24_15-40

Turns out making an unsigned integer negative yields strange results.

@meeq
Copy link
Contributor Author

meeq commented Jun 24, 2021

This was broken by #70

@anacierdem
Copy link
Collaborator

I think this is relevant for an explanation.

@anacierdem anacierdem merged commit 92feeeb into DragonMinded:trunk Jun 25, 2021
@meeq meeq deleted the fix/rdp_draw_textured_rectangle_scaled branch June 25, 2021 18:06
anacierdem added a commit to anacierdem/libdragon-docker that referenced this pull request Jul 27, 2021
Changed

- Improve fastpath of dfs_read (DragonMinded/libdragon#133)
- Refactor n64tool (DragonMinded/libdragon#153, DragonMinded/libdragon#155)

Fixed

- Zero-initialize the token array to avoid -Werror=maybe-uninitialized (DragonMinded/libdragon#134)
- Initialize arguments to main libdragon entrypoint (DragonMinded/libdragon#136)
- SD support fixes and dragonfs fopen fix (DragonMinded/libdragon#137)
- lib/include paths in tests Makefile (DragonMinded/libdragon#138)
- Reenable test_timer_ticks for emulators (DragonMinded/libdragon#140)
- n64tool: return error in case the seek offset required backward seek (DragonMinded/libdragon#144)
- Add missing extern "C" in debug.h (DragonMinded/libdragon#146)
- Ensure C++ global constructors are not garbage collected by ld (DragonMinded/libdragon#148)
- Fix clipped RDP rectangle drawing (DragonMinded/libdragon#147)

Added

- restart_timer and new_timer_stopped functions (DragonMinded/libdragon#131)
- dfs_rom_addr (DragonMinded/libdragon#133)
- Implement EEPROM Filesystem and test ROM (DragonMinded/libdragon#125)
- ed64romconfig binary (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
- Support for RTC status/read/write commands (DragonMinded/libdragon#152)
anacierdem added a commit to anacierdem/libdragon-docker that referenced this pull request Jul 27, 2021
Changed

- Improve fastpath of dfs_read (DragonMinded/libdragon#133)
- Refactor n64tool (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
  - It no longer support byte-swapping and only generates a z64 file.

Fixed

- Zero-initialize the token array to avoid -Werror=maybe-uninitialized (DragonMinded/libdragon#134)
- Initialize arguments to main libdragon entrypoint (DragonMinded/libdragon#136)
- SD support fixes and dragonfs fopen fix (DragonMinded/libdragon#137)
- lib/include paths in tests Makefile (DragonMinded/libdragon#138)
- Reenable test_timer_ticks for emulators (DragonMinded/libdragon#140)
- n64tool: return error in case the seek offset required backward seek (DragonMinded/libdragon#144)
- Add missing extern "C" in debug.h (DragonMinded/libdragon#146)
- Ensure C++ global constructors are not garbage collected by ld (DragonMinded/libdragon#148)
- Fix clipped RDP rectangle drawing (DragonMinded/libdragon#147)

Added

- restart_timer and new_timer_stopped functions (DragonMinded/libdragon#131)
- dfs_rom_addr (DragonMinded/libdragon#133)
- Implement EEPROM Filesystem and test ROM (DragonMinded/libdragon#125)
- ed64romconfig binary (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
- Support for RTC status/read/write commands (DragonMinded/libdragon#152)
anacierdem added a commit to anacierdem/libdragon-docker that referenced this pull request Jul 28, 2021
Changed

- Removed make, download, init, buildDragon, prepareDragon, and installDependencies NPM scripts
  - Update the necessary vscode and travis configuration
  - Update the readme to match - this also fixes #31
- Improve fastpath of dfs_read (DragonMinded/libdragon#133)
- Refactor n64tool (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
  - It no longer support byte-swapping and only generates a z64 file.
  - Change test bench Makefile to reflect latest changes

Fixed

- Zero-initialize the token array to avoid -Werror=maybe-uninitialized (DragonMinded/libdragon#134)
- Initialize arguments to main libdragon entrypoint (DragonMinded/libdragon#136)
- SD support fixes and dragonfs fopen fix (DragonMinded/libdragon#137)
- lib/include paths in tests Makefile (DragonMinded/libdragon#138)
- Reenable test_timer_ticks for emulators (DragonMinded/libdragon#140)
- n64tool: return error in case the seek offset required backward seek (DragonMinded/libdragon#144)
- Add missing extern "C" in debug.h (DragonMinded/libdragon#146)
- Ensure C++ global constructors are not garbage collected by ld (DragonMinded/libdragon#148)
- Fix clipped RDP rectangle drawing (DragonMinded/libdragon#147)
- Enable byte swap flag for the make action and update documentation accordingly
- Skip the second parameter to the libdragon command as well
- Enable --byte-swap flag for the make action

Added

- restart_timer and new_timer_stopped functions (DragonMinded/libdragon#131)
- dfs_rom_addr (DragonMinded/libdragon#133)
- Implement EEPROM Filesystem and test ROM (DragonMinded/libdragon#125)
- ed64romconfig binary (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
- Support for RTC status/read/write commands (DragonMinded/libdragon#152)
- Generic libdragon NPM script
anacierdem added a commit to anacierdem/libdragon-docker that referenced this pull request Jul 28, 2021
Changed

- Removed make, download, init, buildDragon, prepareDragon, and installDependencies NPM scripts
  - Update the necessary vscode and travis configuration
  - Update the readme to match - this also fixes #31
- Improve fastpath of dfs_read (DragonMinded/libdragon#133)
- Refactor n64tool (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
  - It no longer support byte-swapping and only generates a z64 file.
  - Change test bench Makefile to reflect latest changes

Fixed

- Zero-initialize the token array to avoid -Werror=maybe-uninitialized (DragonMinded/libdragon#134)
- Initialize arguments to main libdragon entrypoint (DragonMinded/libdragon#136)
- SD support fixes and dragonfs fopen fix (DragonMinded/libdragon#137)
- lib/include paths in tests Makefile (DragonMinded/libdragon#138)
- Reenable test_timer_ticks for emulators (DragonMinded/libdragon#140)
- n64tool: return error in case the seek offset required backward seek (DragonMinded/libdragon#144)
- Add missing extern "C" in debug.h (DragonMinded/libdragon#146)
- Ensure C++ global constructors are not garbage collected by ld (DragonMinded/libdragon#148)
- Fix clipped RDP rectangle drawing (DragonMinded/libdragon#147)
- Enable byte swap flag for the make action and update documentation accordingly
- Skip the second parameter to the libdragon command as well
- Enable --byte-swap flag for the make action

Added

- restart_timer and new_timer_stopped functions (DragonMinded/libdragon#131)
- dfs_rom_addr (DragonMinded/libdragon#133)
- Implement EEPROM Filesystem and test ROM (DragonMinded/libdragon#125)
- ed64romconfig binary (DragonMinded/libdragon#153, DragonMinded/libdragon#155)
- Support for RTC status/read/write commands (DragonMinded/libdragon#152)
- Generic libdragon NPM script
@vieux
Copy link
Contributor

vieux commented Aug 3, 2021

@meeq thanks for fixing this 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants