| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is usually done so the programmer can forget about initializing in
the future, but it not only hides programming mistakes, but we are also
resetting memory addresses which are never to be used by this simple
game. Hence, just skip resetting RAM altogether.
Last but not least, sprite initialization in `reset` code has also been
optimized so instead of around 2000 cycles it takes half of that. This
is done by only touching the first byte of the four bytes for a sprite
in OAM, which is enough for hiding random sprites and the cost of extra
`inx` instructions is far cheaper than all the extra `sta` to absolute
address with X-index from the old code.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
| |
See: 132b7b1cc807 ("Rename throttle to the proper wording")
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
This is a way to stop vertical velocity mid-air, which is something I
did not know you could do until I read the original manual. The down
arrow has been picked since it was the same choice of the original game
when played on joystick.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
|
| |
Before this commit the same logic as in throttle state was applied in
which acceleration was applied. This brings back the logic more closely
to the original game.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
As it's done in the original game, switch to a throttle state when
falling off a platform.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 2f140cfb7ea7 ("player: First PAL implementation") the rate of
acceleration was adapted for PAL. Now the values for velocities have
been adapted as well, in a way that we get (virtually) the same
experience in PAL and in NTSC.
This has been done by moving the velocity constants into configurable
values, which are then picked up by a new bin/values.rb script. This
script allows us to write the constants in plain floating point numbers,
does the conversion to fixed point numbers as expected, and it also does
the same for PAL by applying the proper NTSC to PAL conversion.
As a cherry on top, some values have also been tuned to match the
original game more closely, even if some more fine tuning might still be
needed here and there.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
The steps by which a player increases its current velocity to reach the
target one has been adapted on PAL, so every five frames it takes an
extra step compared to NTSC. This at least brings PAL to grow its values
at the same rate as NTSC.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
This adds a first implementation of collision checks between the player
and the background.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
Fixes: b3cb545c6ebc ("player: Update its sprites on heading and
throttle")
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
| |
This also corrects a pixel from one of the animations on the chr file.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
That is, stick more closely to what the reference reset implementation
does.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
Partial builds always are on NTSC, so no need to clutter the output with
it.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
During other transitions like game over and such it might also be needed
to have something similar, but for now this should cut it.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
| |
This comes with a more general approach to handle background collision.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
Collisions are not quite there yet, and horizontal movement is still to
be done.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
| |
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
| |
Also add a make target specific for a PAL version, even if only the full
game will be built, not the development "partial" one.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
| |
|
|
|
|
|
|
| |
This commit adds the skeleton for having a title and a main screen. For
now the title menu doesn't do much, as the selection is simply ignored,
but at least it already knows how to cycle between these two states.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|
|
|
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
|