|
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 |
|
|
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 |
|
|
2aef0e26f5
|
Player: stop making a List<AABB> every frame.
|
2020-03-18 14:52:28 -04:00 |
|
|
de01b04873
|
Player: stop creating a new Point[] via Line.Rasterize every frame.
|
2020-03-18 14:34:47 -04:00 |
|
|
67550a789b
|
move History.ToArray() into test code.
|
2020-03-18 14:03:37 -04:00 |
|
|
63a2645814
|
Timer: suppress printouts when not in DEBUG mode
Debug: add "using System.Diagnostics"
|
2020-03-18 11:13:06 -04:00 |
|
|
7625339d4c
|
add TODOs for places where "new" is used during per-frame code
Fixes #12.
|
2020-03-18 11:11:40 -04:00 |
|
|
fb3538cea9
|
Add ability to move by a single pixel in DEBUG builds.
Fixes #15.
Also enables the LeftShoulder + RightShoulder + [BUTTON] combos only while
we're in DEBUG mode.
|
2020-03-16 15:36:46 -04:00 |
|
|
b10e03857f
|
add more sfx
|
2020-03-16 15:04:26 -04:00 |
|
|
0c7fa95711
|
new sfx file names
|
2020-03-16 14:57:24 -04:00 |
|
|
e4a4754ace
|
fix comment to match new Xbox UI
|
2020-03-16 14:57:02 -04:00 |
|
|
36a7f70fef
|
make NPCs a pixel less thicc
|
2020-03-16 14:56:32 -04:00 |
|
|
9bd33a406a
|
remove unused Crouching & Stretching poses
|
2020-03-11 16:12:46 -04:00 |
|
|
393e9d14b9
|
Player: track position with a Vector2.
Fixes #10 (mostly).
|
2020-03-11 16:04:22 -04:00 |
|
|
dfb80c9fde
|
NPC: Position is now a Vector2, not a Point
|
2020-03-11 15:07:00 -04:00 |
|
|
e97ff479d0
|
Sprite: keep track of Width and Height
|
2020-03-11 14:42:10 -04:00 |
|
|
b4e644c2d4
|
calculate spriteCenter more rigorously
|
2020-03-11 14:19:27 -04:00 |
|
|
36a72b938f
|
calculate NPC physics-box correctly
|
2020-03-11 13:56:33 -04:00 |
|
|
f7567686b3
|
Debug.AddLine(): make the 4-ints version the default
|
2020-03-11 12:48:55 -04:00 |
|
|
4c2437e1ac
|
add Debug.AddPoint()
|
2020-03-11 12:44:14 -04:00 |
|
|
c08defc656
|
Keep Update() from advancing by very large chunks; use more double math
|
2020-03-11 11:12:14 -04:00 |
|
|
4346f20024
|
remove World.TileSize constant
|
2020-03-11 11:01:34 -04:00 |
|
|
a4802031d5
|
World: load size directly from JSON.
|
2020-03-10 17:32:33 -04:00 |
|
|
b85661e2c4
|
add support for 8x8 obstacles
|
2020-03-10 17:10:09 -04:00 |
|
|
a93076419d
|
Debug: turn functions into noops if not compiled with DEBUG.
Fixes #11.
|
2020-03-10 15:58:56 -04:00 |
|
|
3d1de388b8
|
remove jumpTime / jumpElapsed
|
2020-03-10 15:06:52 -04:00 |
|
|
127693e2af
|
make Camera & NPC fields readonly
|
2020-03-10 15:06:25 -04:00 |
|
|
8f79bb8680
|
add a little screen-shake
|
2020-03-10 15:04:41 -04:00 |
|
|
37c679b704
|
move Camera into World
|
2020-03-10 14:38:08 -04:00 |
|
|
536af82beb
|
make NPCs stop at the edge of platforms
|
2020-03-10 10:09:55 -04:00 |
|
|
275e535eac
|
LinesOfSight: draw outlines around the vision cones.
|
2020-03-09 16:13:52 -04:00 |
|
|
06eac128c2
|
LinesOfSight: make vision cones red
|
2020-03-09 14:59:14 -04:00 |
|
|
437130ab55
|
Scene: always draw LinesOfSight
|
2020-03-09 14:57:39 -04:00 |
|
|
9504c2236c
|
LinesOfSight: support multiple NPCs
|
2020-03-09 14:47:21 -04:00 |
|
|
473256d105
|
make some classes static and some fields readonly
|
2020-03-09 12:48:10 -04:00 |
|
|
8f2fec053d
|
Pull out the "Paused" string into a file.
|
2020-03-09 12:46:19 -04:00 |
|
|
4870964cc5
|
attach LinesOfSight to the first NPC
|
2020-03-09 12:41:07 -04:00 |
|
|
8720896e87
|
make top-level classes public
|
2020-03-09 12:22:33 -04:00 |
|
|
66ce866b12
|
move LinesOfSight into World
|
2020-03-09 12:19:19 -04:00 |
|
|
3fc8b49636
|
World: move Tile to bottom of file
|
2020-03-09 11:48:22 -04:00 |
|
|
bb910fbe58
|
World: rearrange a bunch of code to be in a more sensible order
|
2020-03-08 18:58:52 -04:00 |
|
|
36e70989af
|
rename "tiles" to "obstacles"
|
2020-03-08 18:36:42 -04:00 |
|
|
fa4784fc49
|
IsHarmful -> IsHazard
|
2020-03-08 18:30:46 -04:00 |
|
|
299ab41ec2
|
add hazards layer
|
2020-03-08 18:27:20 -04:00 |
|
|
9aa0d05eb2
|
add the background layer
|
2020-03-08 17:43:11 -04:00 |
|
|
983a02b364
|
remove old Levels file
|
2020-03-08 17:28:45 -04:00 |
|
|
5121f6d775
|
World: load levels by parsing a JSON level description.
|
2020-03-08 17:23:51 -04:00 |
|
|
28ef337691
|
make field readonly
|
2020-03-07 12:40:21 -05:00 |
|
|
0a37453dbd
|
switch to sourcing all tiles from Grassland
|
2020-03-06 19:01:48 -05:00 |
|
|
392495a61e
|
remove unneeded timeInState calc & redundant "string?" annotation
|
2020-03-06 14:20:17 -05:00 |
|
|
0f8d9c2814
|
FSM / Player / NPCs now get World as an argument to Update()
|
2020-03-06 12:28:58 -05:00 |
|
|
1b124f84df
|
FSM now takes a type parameter so that we can use FSM with other classes.
|
2020-03-06 12:16:33 -05:00 |
|
|
08091106ea
|
Terrain: use optional arguments for IsObstacle / IsHarmful
|
2020-03-06 12:02:41 -05:00 |
|
|
b2583677bf
|
Terrain now takes an IsHarmful param in constructor.
|
2020-03-06 11:44:43 -05:00 |
|
|
f756780660
|
NPCs should start in "run" state.
|
2020-03-06 11:44:19 -05:00 |
|
|
b574a5a702
|
change Sprite / Animation times to double (sec) instead of int (ms).
|
2020-03-05 21:12:11 -05:00 |
|
|
53083818c0
|
Add a TODO and fix a smol cleanup.
|
2020-03-05 17:39:30 -05:00 |
|
|
3c4e63ada0
|
Add basic FSM & use it from NPC.
|
2020-03-05 17:39:17 -05:00 |
|
|
53c6d8483f
|
include multiple NPCs, have them turn around based on platforms.
|
2020-03-05 16:17:57 -05:00 |
|
|
5b82f4d646
|
handle PingPong animations
|
2020-03-05 15:55:40 -05:00 |
|
|
0b8eb3e3f1
|
Player: start using Sprite data to calculate texture source / animations.
|
2020-03-05 15:28:34 -05:00 |
|
|
654bb7fe97
|
load JSON files directly instead of embedding in XML.
|
2020-03-04 16:16:41 -05:00 |
|
|
9672fabcfd
|
Add Sprite class & load sprite metadata from JSON.
|
2020-03-03 17:14:05 -05:00 |
|
|
4299a009b7
|
use auto property
|
2020-03-03 13:08:51 -05:00 |
|
|
d270efe643
|
move Player into World
|
2020-03-03 13:04:29 -05:00 |
|
|
f801f95551
|
move to a root LICENSE.txt
|
2020-03-02 20:46:44 -05:00 |
|
|
65fe870a9a
|
let Scene decide when to draw itself & when to play music
GitOrigin-RevId: 0eac6682b0bbe4d436707c44d9685c1e518b8295
|
2020-03-02 16:47:42 -05:00 |
|
|
29cf5eb0c9
|
add short music loop to demo stage
GitOrigin-RevId: 7ea3d773b12341eb3eb3aabd9000cc32014faac8
|
2020-03-02 15:33:56 -05:00 |
|
|
02b1dd4874
|
Add simple NPC.
GitOrigin-RevId: 47cd7abaf80d7ced14d0b4b92390c8c0edddae1c
|
2020-02-28 17:13:52 -05:00 |
|
|
d9e9fcf9a2
|
remove trailing whitespace
GitOrigin-RevId: 4ccd727a7921e8ef08296586283d84bdc6f31c99
|
2020-02-27 20:24:40 -05:00 |
|
|
de8ca4a374
|
Add sword-swing sound effects.
GitOrigin-RevId: 946a808c6f7e96297ec291f2b8e55ae062d5193b
|
2020-02-27 20:24:36 -05:00 |
|
|
f4581ecaf8
|
Player now takes damage from spikes.
GitOrigin-RevId: e9096316218f2590aac74ce1055a0829f71bdff8
|
2020-02-27 19:13:59 -05:00 |
|
|
a431ad094b
|
smush hearts together a smidge
GitOrigin-RevId: ebb0e78ff5f3c51d6ddc9765e38fb262bccee160
|
2020-02-27 16:50:19 -05:00 |
|
|
c189cfcc09
|
Add player health & a heart sprite.
GitOrigin-RevId: 3389f46044a3fbb48af8533370c0318982c9ad83
|
2020-02-27 16:28:48 -05:00 |
|
|
c213009134
|
Add Text.DrawOutlined() function & other text helpers.
GitOrigin-RevId: 47f9115767c9acac31edaed13ba0ac62732a27f1
|
2020-02-27 15:46:54 -05:00 |
|
|
830fc1ee9a
|
set font to be PointClamped
GitOrigin-RevId: 6f21d2f11df5ba30061ca2994988f5bbd5d38b1d
|
2020-02-27 11:54:37 -05:00 |
|
|
c2fa12db9b
|
Stop printing out jumpTime.
GitOrigin-RevId: dc062283389545c0dd55a3438cc192c2d449ef9a
|
2020-02-26 17:59:09 -05:00 |
|
|
f8fa66385d
|
Display "Paused" message when paused.
Add a new "Banner" style font for the pause message.
GitOrigin-RevId: 62f9537574351b961d7a2bd74f12e218f1047062
|
2020-02-26 17:44:36 -05:00 |
|