Commit Graph

75 Commits

Author SHA1 Message Date
Colin McMillen
b238fa2d37 Collision detection between player and enemy shots. 2015-06-01 21:23:53 -04:00
Colin McMillen
f5b67dd535 Change shots to be single-shot and 8x8 sprite size. 2015-06-01 19:42:19 -04:00
Colin McMillen
a92499fc40 Fix a bug - *now* we don't need InitSpriteTables. 2015-06-01 00:35:25 -04:00
Colin McMillen
abddbf0033 Turns out we did still need InitSpriteTables. 2015-06-01 00:28:43 -04:00
Colin McMillen
2bb1bc161d Add multiple enemy shots. 2015-06-01 00:18:03 -04:00
Colin McMillen
4bf0033962 Make enemy sprites red. 2015-05-31 18:08:52 -04:00
Colin McMillen
526bc9e320 Spawn enemy shots from right edge of screen. 2015-05-31 18:03:46 -04:00
Colin McMillen
d81c9a9e4b Refactor jmp -> bra. 2015-05-31 17:40:22 -04:00
Colin McMillen
29d4ff2309 Update README.md 2015-05-31 17:33:45 -04:00
Colin McMillen
398d62d22d Update README.md 2015-05-31 17:33:32 -04:00
Colin McMillen
12d4c9c5f4 Update README.md 2015-05-31 17:24:04 -04:00
Colin McMillen
f51a544956 Various refactorings.
Rename InitializeFoo -> InitFoo.
Break UpdateWorld into a few functions.
shotArray -> playerShotArray.
2015-05-31 17:20:13 -04:00
Colin McMillen
98aedecd4c Create array for enemy shots.
Move "memory layout" comments and definitions into memory.asm.
2015-05-31 17:07:01 -04:00
Colin McMillen
4521c5d96b Remove InitializeSpriteTables routine. 2015-05-31 16:49:22 -04:00
Colin McMillen
0fa70c0889 Make a table of possible shot velocities.
Also fix bug caused by omission of "clc" before "adc".
2015-05-31 16:30:17 -04:00
Colin McMillen
eb7757a8b3 Change shot sprite to be up against left edge.
Also fix a bug where some entries of the sprite buffer weren't being
cleared.
2015-05-31 15:05:37 -04:00
Colin McMillen
6eab6050e8 Allow for negative x-velocity. 2015-05-31 14:31:13 -04:00
Colin McMillen
54d2828bf6 Shinier star graphic. 2015-05-31 13:35:06 -04:00
Colin McMillen
b802431925 Change output file extension .smc -> .sfc 2015-05-31 12:32:36 -04:00
Colin McMillen
1dc44a3f00 Move sprite table RAM location. 2015-05-31 12:27:30 -04:00
Colin McMillen
bac214a95b Fix subtraction / two's complement bug. 2015-05-31 11:36:14 -04:00
Colin McMillen
e39f802bd5 Loop through shots array to find an empty spot. 2015-05-31 11:31:18 -04:00
Colin McMillen
7d0140d233 Alternate up-shots and down-shots. 2015-05-31 11:05:04 -04:00
Colin McMillen
5ace3844dc Shots can now have negative y-velocity. 2015-05-31 10:45:29 -04:00
Colin McMillen
611b4d20f2 Update world & sprites in separate loops.
Also give shots a y-velocity.
2015-05-30 22:43:27 -04:00
Colin McMillen
25a2fb20ab Change bit-format of scratch sprite table.
Now each sprite's bits count as: "1 = large" and "1 = enabled", which is
more intuitive.
2015-05-30 12:02:25 -04:00
Colin McMillen
48db4aca58 Don't bother storing zeroes to joypad registers. 2015-05-30 11:32:35 -04:00
Colin McMillen
116d591c60 Update shot speed and cooldown timer. 2015-05-30 11:08:26 -04:00
Colin McMillen
510aca6ed3 More register documentation. 2015-05-30 11:04:22 -04:00
Colin McMillen
49abebc211 Allow more than 4 shots. 2015-05-30 10:53:31 -04:00
Colin McMillen
0e7d46c46f Don't read joysticks during auto-joypad read. 2015-05-30 09:28:07 -04:00
Colin McMillen
5c45dfa834 Make macros for setting 16bit/8bit registers.
Also disable NMI while processing, and start refactoring joypad handler.
2015-05-30 09:03:55 -04:00
Colin McMillen
8c5b4232c1 Add a period. 2015-05-29 08:04:38 -04:00
Colin McMillen
36b54692c1 Simplify handling of secondary sprite table.
We now keep a buffer that has one byte per sprite, and later pack it
into the bitfield format wanted by OAM, instead of calculating the
bitfield manually during UpdateWorld
2015-05-29 08:03:20 -04:00
Colin McMillen
7a04a359fa Tighten up vBlankCounter code. 2015-05-28 08:44:38 -04:00
Colin McMillen
325006664b and+cmp -> bit where possible 2015-05-28 07:17:09 -04:00
Colin McMillen
7b637436b8 Define a constant for shot array length. 2015-05-27 07:51:51 -04:00
Colin McMillen
c94ac75c45 Remove trailing whitespace. 2015-05-27 07:09:44 -04:00
Colin McMillen
f324413101 Use symbolic constant for backgroundBlue. 2015-05-27 06:56:42 -04:00
Colin McMillen
292cb079a5 Allow for multiple shots at once. 2015-05-25 15:35:22 -04:00
Colin McMillen
2bf56bb422 Change addresses back, to match the comment. 2015-05-25 14:32:07 -04:00
Colin McMillen
a0532f0429 Refactor to use .defines for many memory locations. 2015-05-25 14:28:00 -04:00
Colin McMillen
7b6cd3f583 Reformat main file.
Mostly moved stuff around so that it's in a more sensible order.
2015-05-25 12:52:38 -04:00
Colin McMillen
1319e4f52d Add the ability to shoot with the B button.
Forgot to update the main file.
2015-05-25 12:07:08 -04:00
Colin McMillen
782db84d48 Add the ability to shoot with the B button.
For now, only one shot can be in-flight at a time.
2015-05-25 12:01:42 -04:00
Colin McMillen
a7fec6d4be Remove unused PCX file. 2015-05-25 10:00:14 -04:00
Colin McMillen
025d0ea3ec Use 32x32 sprites for ship.
Also use neviksti's pcx2snes rather than eKid's.
2015-05-25 09:42:54 -04:00
Colin McMillen
e8d57e5cbe Add *.pic and *.clr to gitignore. 2015-05-25 09:40:26 -04:00
Colin McMillen
55fdf055fe Initialize BG3 tilemap with random numbers.
Fill bank 2 with random bytes for things that want randomness.

Move all the graphics data to bank 1.
2015-05-25 08:04:15 -04:00
Colin McMillen
e2a51abc7b Use new ship sprite.
Taken from:
http://opengameart.org/content/spaceships-1
and shrunk down a bit.
2015-05-24 20:32:41 -04:00