Commit Graph

381 Commits

Author SHA1 Message Date
db01dcea28 generate Shots on user input & reap them once offscreen 2020-11-19 17:55:27 -05:00
057292c138 separate letterboxColor from backgroundColor. 2020-11-19 17:54:45 -05:00
3c08579ed9 add some shots (pew pew pew) 2020-11-19 17:26:50 -05:00
6fed3acdda add ProfilingList.RemoveAll() 2020-11-19 17:26:05 -05:00
5732d60047 add projectiles to Textures 2020-11-19 17:03:45 -05:00
7695f45cc0 clamp player movement to world 2020-11-19 16:36:21 -05:00
bdfe5555b8 add more ship textures 2020-11-19 15:25:54 -05:00
7b9147d901 Input: flip y-motion to match our usual coordinates (top left is (0, 0)) 2020-11-19 14:44:45 -05:00
fd4bf85d1c add basic shmup game 2020-11-19 14:44:12 -05:00
980f940a34 prefix results with 'lint.py' so that it's obvious where they're coming from 2020-11-18 16:04:59 -05:00
f10e0a689f migrate all tests to xunit 2020-11-18 14:03:19 -05:00
829b9df78e lint fixes for TreeScene. 2020-11-18 12:08:45 -05:00
b15a376244 SharedTests: depend on MonoGame 3.8 2020-11-18 11:59:24 -05:00
fef060f09a SoundEffects.Load(): go back to returning void instead of bool 2020-11-18 11:42:15 -05:00
a08c1bcfc2 Add MusicPlayer & handle NoAudioHardwareException. 2020-11-18 11:26:21 -05:00
39ac88b60a switch back to Sneak as the default game 2020-11-16 14:43:21 -05:00
0dbc6bdd8c TreeScene: allow for ideal vs actual orientation 2020-11-16 14:42:51 -05:00
7358bc0b24 add a fudge to side length 2020-07-21 13:11:50 -04:00
1db526e82d Add Trapezoid.Rotate() & Translate().
Use them to rotate tree segments appropriately.
2020-07-21 11:03:02 -04:00
9ac15e6d35 clean up TreeNode constructor literals 2020-07-16 15:34:22 -04:00
013e4836fb add Tree data structure & render actual Trees 2020-07-16 15:18:30 -04:00
d6addc15e0 Draw basic trapezoidal skeleton. 2020-07-16 11:34:10 -04:00
df436f8c32 TreeScene: draw a triangle 2020-07-15 15:56:56 -04:00
987c86fae9 mv World & Scene to SneakWorld & SneakScene. 2020-07-15 15:17:19 -04:00
56bc1abe06 Add TreeScene & TreeWorld. 2020-07-15 15:01:28 -04:00
5a9b98455f Add TODO about World taking in a GraphicsDevice 2020-07-15 14:59:43 -04:00
0f6424e4a1 private-ize members of Scene 2020-07-15 14:53:03 -04:00
9b25a8a6e0 Add new IScene interface. 2020-07-15 11:48:30 -04:00
811df57950 Make new IWorld interface. 2020-07-15 11:33:59 -04:00
800909394c Camera: use 1920x1080 / 4 explicitly. 2020-07-15 11:20:29 -04:00
d926d23b3f Merge branch 'main' of git.semicolin.games:semicolin/sneak into HEAD 2020-07-14 11:53:14 -04:00
fea3eedb4f Update MSTest versions. 2020-07-14 11:51:58 -04:00
0e44fa9730 Player: remove Pose as a concept. 2020-04-27 16:00:13 -04:00
5823110b44 rm extra blank line 2020-03-25 17:27:07 -04:00
c28f21eef5 Player: partial refactor to use FSM for player state-tracking. 2020-03-25 17:04:58 -04:00
ec8c24e5b6 FSM: deal with IStates directly, don't parametrize on an input type. 2020-03-25 15:16:31 -04:00
3dea13a386 bump starting size of Player.movePoints & Player.candidates 2020-03-25 13:16:18 -04:00
7c0eb479a6 scroll y by a constant scale instead of per-layer. 2020-03-25 12:38:56 -04:00
4a598fb377 Parallax-scroll the background by Y. 2020-03-25 11:04:49 -04:00
fccca0c676 bound camera y-position by world & change dynamics slightly 2020-03-24 15:05:53 -04:00
10c2a86feb camera shake in Y as well (and for less time) 2020-03-24 14:42:14 -04:00
e0d5385350 camera now tracks player y-position too 2020-03-24 14:41:07 -04:00
3be37740f7 Geometry: add equality operators & GetHashCode for structs 2020-03-24 13:57:15 -04:00
a1bc44296a Add "ProfilingList" to debug printout 2020-03-20 13:23:47 -04:00
5ebc61015b ProfilingList: make a DEBUG-only CheckCapacity() function 2020-03-20 13:22:32 -04:00
a6c297196a Add ProfilingList & use it in Player. 2020-03-20 13:12:12 -04:00
70308a5d84 make fields readonly 2020-03-20 11:00:52 -04:00
8ca79a1875 degrees aren't radians 2020-03-18 16:26:55 -04:00
0bb6f22f3d Geometry cleanups / TODO removal. 2020-03-18 16:18:39 -04:00
90ca6c4b58 LinesOfSight: draw outline separately, with a different color 2020-03-18 15:56:33 -04:00