36ebeadddf
add Timer class for tracking draw & update times (etc)
...
related issue: #33
GitOrigin-RevId: 3762a7a5c7becf83cc50f80d4e5bb6f27244a952
2020-02-13 14:54:06 -05:00
d44ac76d49
fix cones-of-sight tilting in the wrong up/down direction when facing left
...
GitOrigin-RevId: 6b4925c75f44069af84685bc749a3586ad376e1d
2020-02-13 14:54:02 -05:00
4758ce519b
allow player to look up/down
...
GitOrigin-RevId: 00041d67360a610ff032a0ab0ea5826e091f1c90
2020-02-13 14:53:58 -05:00
1f7da03515
make char-to-terrain lookup dictionary-based instead of switch-based
...
GitOrigin-RevId: 0d81e95bf047fab204bff8cf46ece2ab5470bf09
2020-02-13 14:53:54 -05:00
b731e1a785
make tile-texture lookup dictioanry-based instead of switch-based
...
GitOrigin-RevId: 2f0c215bf9e79e92f2c7a5011d8df3d9d80a0dff
2020-02-13 14:53:50 -05:00
c1232d462d
make swordSwingMax const
...
GitOrigin-RevId: 911bff5fb60d0442edbe1e4ff9c005558a258175
2020-02-13 14:53:46 -05:00
3286db1c86
remove Terrain.Empty and clean up TextureSource() switch statement
...
GitOrigin-RevId: 7de691a440982a027898b123b864ff202ae68ea5
2020-02-13 14:53:43 -05:00
f7f7d5076e
Pre-compute texture-source Rectangles.
...
Fixes #14 .
GitOrigin-RevId: e09d86a099ac9274a4f3b7dcac9a2222b461dcea
2020-02-13 14:53:39 -05:00
5cb3ff9fbd
first pass at implementing line-of-sight algorithm
...
partial solution for #29
GitOrigin-RevId: bb5f5dc057ba5947573f9b9c8eb30cc20f635bb0
2020-02-13 14:53:35 -05:00
554578968d
Geometry: add FMath class & convenient accessors for AABB corners.
...
The FMath class is like the System.Math class, but returns floats instead of
doubles so that you don't have to redundantly cast things.
GitOrigin-RevId: 0e1d7f46c7a5c08c1bc2d2c8776ffa56eab697d8
2020-02-13 14:53:31 -05:00
141a0660c4
Debug: draw lines correctly based on camera position.
...
Make convenience function for calling AddLine() with Vectors.
GitOrigin-RevId: 6ca9849f11a1db40cc7aeb3400e711d99f7946b3
2020-02-13 14:53:27 -05:00
1fd515070d
make it possible for new sprite to hit the right end of world
...
GitOrigin-RevId: 95f7abdea1ea08b61aaf43a010e2c891cef5ead9
2020-02-13 14:53:23 -05:00
57b65f559c
rename Aabb -> AABB
...
GitOrigin-RevId: 37b49d7a3ff2b4d0cf3e14e4339316bc72e2785e
2020-02-13 14:53:19 -05:00
f78bff249c
cycle through different attack animations
...
GitOrigin-RevId: e40102b81be56d59948fbfd92d2536262f521c8a
2020-02-13 14:53:15 -05:00
0e363de306
change player sprite to ninja
...
GitOrigin-RevId: 73bc09808a1abf1a130986adfed1d3aa6d220b5c
2020-02-13 14:53:11 -05:00
10453ee5ea
World: add Height property (in pixels)
...
GitOrigin-RevId: 0ae9f03f8e43ee31d42d3393b51c34d0fcd58db5
2020-02-13 14:53:03 -05:00
bb8cf9e63b
make CollisionTargets an auto property
...
GitOrigin-RevId: ca7bf8f68bdc9cacef191cff5efe930ca7942b34
2020-02-13 14:52:59 -05:00
76dbdc6913
Bound camera by right edge of World.
...
Fixes #32 .
GitOrigin-RevId: e193c89509be035d5f6e899cd8c33ff2534a777f
2020-02-13 14:52:55 -05:00
fe64ec705d
Bound player position by both edges of the World.
...
Fixes #10 and #22 .
GitOrigin-RevId: 166be078982f148035072b717b668d47d7541571
2020-02-13 14:52:51 -05:00
ab62e8929a
cleanup: sprite{Height,Width} -> halfSize
...
GitOrigin-RevId: 5620d26f72ba46c74eb7f5335ad1d2b9a3b29602
2020-02-13 14:52:47 -05:00
50479bac3c
while paused, don't clear the list of Debug rects & lines
...
GitOrigin-RevId: d298abc6ad4d7808da927a20c726cab6a65dc61c
2020-02-13 14:52:43 -05:00
588b18f9ad
fix Debug.Toast() & re-enable it
...
GitOrigin-RevId: ae553145ed5884b46714dc1a2cb3d7b96e27cd42
2020-02-13 14:52:39 -05:00
793b292a29
pass in AABBs instead of Rectangles to Player.Update
...
GitOrigin-RevId: 08fe1aaf34210415acaa41e7e407eb1275602889
2020-02-13 14:52:35 -05:00
946497160b
Player.Update() now uses Bresenham's line algorithm.
...
This works, but is still a bit hacky. Cleanups to follow soon.
GitOrigin-RevId: 597a857a200584fee2c06237d7d7dd10403bdfeb
2020-02-13 14:52:31 -05:00
4410ff137a
add Debug.AddRect(AABB) function
...
GitOrigin-RevId: 0acfc3f43f9cc11d1c6925971f20ed6ed18cad61
2020-02-13 14:52:27 -05:00
f1f717da63
remove unused using statement
...
GitOrigin-RevId: d3730b153c23fe158f1cd2bd3bd1f222d1a0bc46
2020-02-13 14:52:23 -05:00
f2db2f4b9e
use new collision-detection algorithm with old resolution algorithm (wip, slightly hacky)
...
GitOrigin-RevId: 998aa02a561ebf9f745b08b1186d39afad92a38e
2020-02-13 14:52:19 -05:00
08792320df
make Facing's enum value correspond to the x-direction they're looking
...
GitOrigin-RevId: fe9318a68edd86a2dcfe949640aba48a2039f69e
2020-02-13 14:52:15 -05:00
bff5d2b490
enable Debug by default
...
GitOrigin-RevId: ba7ff1d9b775484baa023bfb6bb6cbe5bc64d7f8
2020-02-13 14:52:11 -05:00
878d434b22
Add code for intersecting axis-aligned bounding boxes with segments & each other
...
GitOrigin-RevId: 99a855c1a813c0fcdd4fca0fd31456b62e964abb
2020-02-13 14:52:07 -05:00
61b50efa40
make CollisionTargets an array, and don't recompute it every frame
...
GitOrigin-RevId: 92a02231edae5729778ea9ac60a46c83e248c744
2020-02-13 14:52:03 -05:00
644ed88dd8
World: add Tiles to list so that they're sorted by x-coordinate
...
GitOrigin-RevId: f9c6cf8be450fc78aca950ad63ffa8e86a488de3
2020-02-13 14:51:59 -05:00
57e9ea558a
add Debug.AddLine() function that takes in integer coordinates instead of Points
...
GitOrigin-RevId: 145f4f076376bc63e6e899db49cdcfe10beacddf
2020-02-13 14:51:55 -05:00
8c6b0e3c92
set vsync = true; setting it false seems to cause crashes on UWP
...
GitOrigin-RevId: 6f30cefcaa6c61fb0fc3b20eada333db79f4c480
2020-02-13 14:51:51 -05:00
95acee959d
clean up private fields/properties
...
GitOrigin-RevId: d2caf0d5d774e50ba4a2eb9cdc2a40ca28a094ce
2020-02-13 14:51:47 -05:00
7e8e5c3e6d
pull Width and Height into properties
...
GitOrigin-RevId: fe969e51cd393ff350f57acc38cc416954d57252
2020-02-13 14:51:43 -05:00
16062f65c3
World: convert from Tile[][] to List<Tile>
...
GitOrigin-RevId: 27db59aa1170c63d815d9661ef6e5328a17c6a99
2020-02-13 14:51:39 -05:00
e6fa78e30f
World: convert fields to properties
...
GitOrigin-RevId: 7b0552c278cfe48e66e806ff94106617bf834252
2020-02-13 14:51:35 -05:00
84fa044675
more readability fixed via Visual Studio suggestions
...
GitOrigin-RevId: 330f13485cee32f3a069442bad69c57911a0a34c
2020-02-13 14:51:31 -05:00
4b14aef1b5
make a bunch of fields readonly
...
GitOrigin-RevId: 0c3533c6509a6f0199410e977d3377c34b4a753d
2020-02-13 14:51:27 -05:00
0c7c15c047
set target framerate back to 60
...
GitOrigin-RevId: 7a97b3cd07afccafab047ad81df10269360b066e
2020-02-13 14:51:23 -05:00
f5ca85264f
Add Clock class & use it from Player and SneakGame
...
GitOrigin-RevId: fe20c836ca693fdabad4ce72bfdf8952b59b735b
2020-02-13 14:51:19 -05:00
c7ec9e3ad7
start Player on ground
...
GitOrigin-RevId: e781328586e453e0e8c080b7ccb5026de3348064
2020-02-13 14:51:15 -05:00
1ea4d6c39b
don't vsync; set target FPS to 120-ish
...
GitOrigin-RevId: 724e876b9ad97f515919cb150ef7be164d096367
2020-02-13 14:51:12 -05:00
87100eaa67
Player.Update now takes a float which is the model time elapsed.
...
Player.Draw doesn't depend on time elapsed any more.
GitOrigin-RevId: 3396f85f61c8ee430fda8986770663f561538294
2020-02-13 14:51:08 -05:00
83839c92ac
add Pause functionality
...
GitOrigin-RevId: 18fb95475734fef498e64d7d0d350135f652e05c
2020-02-13 14:51:04 -05:00
63aa190afe
move Debug.Enabled check into DrawToasts
...
GitOrigin-RevId: 8265b948f772443580166f89fc39d46735852da3
2020-02-13 14:51:00 -05:00
e30aa75f80
Debug: draw rasterized DebugLines to screen
...
GitOrigin-RevId: aa4253477fa8e3657e19c5e0d534a3288bc23a0a
2020-02-13 14:50:56 -05:00
bba9f643eb
Implement Bresenham's algorithm for line rasterization.
...
This is implemented as a static Line.Rasterize(Point p1, Point p2) function
that returns an array of Points. There's also a Line.Rasterize(x1, y1, x1, y2)
version for convenience.
Unit tests included.
GitOrigin-RevId: 525098f8c76c6c3d1a6ff2c32fa2206cff080a11
2020-02-13 14:50:53 -05:00
3246f8ea45
capitalize struct field names
...
GitOrigin-RevId: 6b4cca3873a88c308a98dac9282959b13ab840bb
2020-02-13 14:50:47 -05:00
cb66a32a24
add 1-space gap so that i can test bug #4
...
GitOrigin-RevId: 89e6e06f1dbf85823846757a57939a263c322947
2020-02-13 14:50:43 -05:00
34e7ab3ee1
make Toasts a list & implement FPS counter as a toast
...
GitOrigin-RevId: bae35697a0329f7d5c1c45cdbc13c3be500b8c73
2020-02-13 14:50:39 -05:00
bee17a99af
create Debug.AddLine() function [currently does nothing]
...
GitOrigin-RevId: c4f9afb4b06181ddff79c207a99bb6ba902e7ade
2020-02-13 14:50:36 -05:00
938a38bd77
Camera.Update: remove unused time parameter
...
GitOrigin-RevId: b3c427b9ccee9a2cfef1c8f24d1c653d975cb513
2020-02-13 14:50:32 -05:00
ae8fa0d21d
Revert "Add .gitignore and .gitattributes."
...
This reverts commit 5c9f574644ecd78b112ea857d658f670ef4773e3.
GitOrigin-RevId: 277054282d105e4a5f185ac51983581c89b8a031
2020-02-13 14:50:24 -05:00
cb1b78b875
Add .gitignore and .gitattributes.
...
GitOrigin-RevId: 5c9f574644ecd78b112ea857d658f670ef4773e3
2020-02-13 14:50:20 -05:00
ea07fc146b
add TODO about setting ySpeed = 0 in head-bonk
...
GitOrigin-RevId: 657d92ebbd303e3da4375ad23dfaf403025622cf
2020-02-13 14:50:13 -05:00
2f75847615
remove toast
...
GitOrigin-RevId: f4e9adf692392df1406f55b32e4a441caeb56f58
2020-02-13 14:50:09 -05:00
459e43186a
refactor Player input/state handling to be less tangled
...
GitOrigin-RevId: 68bd79b722d7fcf2ef8abaf644e2b13544a08ae8
2020-02-13 14:50:05 -05:00
ea82c4ffd3
rename SpritePosition -> SpriteIndex
...
GitOrigin-RevId: b620c8922b92ac9f5b1b4298dfa9ed35a7641f11
2020-02-13 14:50:01 -05:00
03b8688f1e
World: use single multi-line string instead of a string[]
...
GitOrigin-RevId: 38c0745c95e2341a1a2712d480f6403a6ec68ecf
2020-02-13 14:49:57 -05:00
a719e5b370
Add secondary buttons for jump & attack
...
GitOrigin-RevId: adac7b3aa185e10e8cf86046f8a88817c300ef36
2020-02-13 14:49:53 -05:00
bbdc3c3053
SneakGame: remove History<GamePadState> & History<KeyboardState>.
...
GitOrigin-RevId: 1b8dfef93a9024094e342fd2f00f02513451c14f
2020-02-13 14:49:49 -05:00
db6f3e1425
Add Input class to group gamepad & keyboard inputs together.
...
For motion directions (up/down & left/right), have them cancel each other out
if the player attempts to go in opposite directions at once.
Refactor Player & SneakGame to use the new Input class & remove direct access
to Keyboard & GamePad.
GitOrigin-RevId: 80fbed887408ae2b80c01273a49b150f38285dcb
2020-02-13 14:49:45 -05:00
9a1c6646dd
properly handle non-rectangular input string[]s
...
GitOrigin-RevId: eb580f2e9c5a6d93827982240fd295ba30fdb0c4
2020-02-13 14:49:41 -05:00
f58faa0b9f
comment out Toast from Camera
...
GitOrigin-RevId: 3507b5cd381e69ea1d86b533b9e7335df3afeb4b
2020-02-13 14:49:37 -05:00
fb074dc318
History: make backing array readonly
...
GitOrigin-RevId: 33c1bfb915b4f2fb80c3bb1f4b88ef924a45363d
2020-02-13 14:49:34 -05:00
cc37561076
run dos2unix on all source files
...
GitOrigin-RevId: c65ff59d86415057167f600d1c31545b1ff0b49b
2020-02-13 14:49:30 -05:00
960521a6e0
History: add ToArray() method to make tests cleaner
...
GitOrigin-RevId: 5bbf5be614ed6c2d9884ac924ab627ccaa57e355
2020-02-13 14:49:26 -05:00
b169584794
cleanup: spritePosition -> SpritePosition
...
GitOrigin-RevId: b715b0be5499f41c905257f3b19481a9fd81bf71
2020-02-13 14:49:15 -05:00
361a02c67f
rm KeyboardInput
...
GitOrigin-RevId: 1725d577c5be04488a6723b65c0c93fa25d12ab5
2020-02-13 14:49:12 -05:00
660d163119
converted all TODOs into Issues
...
GitOrigin-RevId: aae80308b34fcfa7a99b8dc97c56ee33ceb900ef
2020-02-13 14:49:08 -05:00
9959c5702b
rename LICENSE -> LICENSE.txt & add copy to tools/
...
GitOrigin-RevId: 62c1e512fd59bec50d4c92b281aed504f3387990
2020-02-13 14:48:56 -05:00
ef84fa85a1
Add LICENSE to Shared/ directory
...
GitOrigin-RevId: 03aa301a15ca0721de385e6579d4a5f20866c444
2020-02-13 14:48:50 -05:00
710d1042ab
remove TODO
...
GitOrigin-RevId: 91ae9789334d2e1096a2a75cde49e8e48472d8f6
2020-02-13 14:48:47 -05:00
f0630d1679
go back to just a single RenderTarget
...
GitOrigin-RevId: 0b8fc3090098f84047a85804bb5eb2a15249aadd
2020-02-13 14:48:44 -05:00
9af191e801
remove last Jumpy vestiges
...
GitOrigin-RevId: 259aa3ce7311b1b82f0d0edee81adfa07e50ef7f
2020-02-13 14:48:42 -05:00
d75a469acc
Move JumpyGame -> SneakGame & fix references
...
GitOrigin-RevId: ec99138000848e4cdcf371b53ce0dd2fe5ebed70
2020-02-13 14:48:39 -05:00
096f577e61
change namespace to SemiColinGames
...
GitOrigin-RevId: 3c4e116e770edfcca7f661b3f0d74bb312aa6a04
2020-02-13 14:48:35 -05:00
7e64f2a0be
remove "Jumpy." from {Android, OpenGL, UWP}
...
GitOrigin-RevId: 26b6863116efa26e87fe7818a4ff4dda434e1968
2020-02-13 14:48:31 -05:00
569a330e89
move Jumpy.Shared -> Shared directory
...
GitOrigin-RevId: 781f1fb42b49baa0463ac284ffba7df767fdf8b3
2020-02-13 14:48:28 -05:00