All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Tune the game to feel more like the original (jumping, meter speed, etc.)
- Fix background scroll speed bug
- Randomization
- background elements (have to change most to sprites)
- Pterodactyl sprites
- Collisions
- Collisions with Pterodactyl
- Difficulty increase
- Night shift after certain score
- Scroll speed increases as the score gets higher
- Extras
- Battery Saving
- Toggle sounds (write 0x00 to NR52_REG for sound OFF, 0x80 for sound ON)
- Perform HALT when screen is paused (interrupt to remove HALT)
- Easter eggs
- Dino blinks if you idle at the start
- Battery Saving
rand.h
header for usingrand()
(spawning hazards randomly).- Gravity, velocity, speed, timer, counters and clock related variables.
- Explicit build step to the Makefile.
- Preliminary hazard spawning randomly at different speeds.
- Changed license from BSD to the Chromium license.
- Removed
delay()
calls and started the transition towards physics based jumping usingtime()
. - Move game loop into
update()
andrender()
calls. - Now formatting code based on Artistic Style 3.1 with default braces.
- Reordered some of the functions.
- Fix some comment typos.
- Dino state can now be right foot down, left foot down or jumping.
- Change background scrolling to be on a timer based variable.
- Change feet swapping animation to be on the timer as well.
- Added trailing
U
to designate most numeric constants as unsigned and therefore avoid compiler promotion.
- Migrated the project over to GitHub from GitLab.
- Renamed
move_bkg()
tomove_background()
to avoid shadowing GBDK'smove_bkg()
.
- Now uses a 32 bit variable to keep track of the score. Function prototypes and return values adjusted accordingly. Previously, it would keep a score up to 255 (used an unsigned 8 bit variable).
- Rudimentary background scrolling.
- Rudimentary Hi score tracking.
- Added plenty of bugs related to clock speed...
- Refactored in preparation for the upcoming removal of
delay()
calls. - Now running
clang-format
onmain.c
before commit. - Disabled
flash_score()
and such untildelay()
calls can be removed.
move_dino()
,dino_duck
anddino_jump()
functions.
- Sound effect plays whenever the score arrives at a multiple of 100.
- Score sprites flash whenever the score arrives at a multiple of 100.
- Added Visual Studio Code folder with tasks to
.gitignore
- Build step to Makefile
- Put comments in all the blank comment lines
- CHANGELOG.md had the years set as 2017, should be 2018.
- Changed the last part of the sound function names (from
_noise
to _sound
). - Removed some unnecesary registers from the sound functions.
- Extended README.md
- Game Over window after collision.
- Game Over sound effect.
- Restart after game over by hitting A on the joypad.
- Moved the score sprites further up the screen.
- Separated UI symbols into Digits and Letters.
- Changed the load order of sprites into VRAM.
- Changed hexadecimal macros due to changing the load order.
- Loading and scrolling Hazards (Cactus)
- Basic rectangle collision checks
- Changed
int
declarations toUBYTE
declarations
- Basic score keeping by sprite swapping numbers.
- line() call before
wait_vbl_done()
was affecting VRAM. Deleted allline()
calls.
- Rough Dino ducking animation while holding DOWN on the joypad.
- Jumping height is affected by how long the A button is pressed.
- Hexadecimal notation for VRAM macros instead of decimal notation.
- Initial commit.