203 Commits

Author SHA1 Message Date
Drew DeVault
ed85da313f Fix remaining issues with snowfall blocks
Fixes #194
2015-10-02 08:22:58 -04:00
Drew DeVault
14aa3ce07a Add "InteractiveBoundingBox" to IBlockProvider
This is used to determine the bounding box for interaction in the client
(the ray that's cast from your camera interacts with it to determine the
highlighted block).

TODO: Make it work better with metadata.

This commit also fixes one of the issues with snow: ref #194
2015-10-02 08:15:29 -04:00
Drew DeVault
fe479d1e49 Switch to Pixeludi Pack as default textures 2015-10-01 22:44:14 -04:00
Drew DeVault
578c5af3b9 Add gamepad support 2015-10-01 08:46:09 -04:00
Drew DeVault
394bb0953a Hold down mouse to continue digging the next block 2015-10-01 08:02:25 -04:00
Drew DeVault
9ccbf80ce5 Add block placement/right click actions on client 2015-09-30 20:17:20 -04:00
Drew DeVault
75a39118a9 Add numbers to slots on inventory 2015-09-30 20:03:51 -04:00
Drew DeVault
46569dec08 Cycle through hotbar with scroll wheel 2015-09-30 16:50:25 -04:00
William Moorehouse
fe700bff71 Fixed transparency issues with interface 2015-09-30 16:27:19 -04:00
William Moorehouse
26a0dcea4d Added support for D1-9 keys 2015-09-30 15:57:38 -04:00
William Moorehouse
47fdf4f07a Packet sent on hotbar selection change 2015-09-30 15:56:09 -04:00
William Moorehouse
3b0271b771 Initial work on hotbar interface 2015-09-30 15:28:38 -04:00
Drew DeVault
8d8da15f5a Decode and store inventory updates from server 2015-09-30 08:36:30 -04:00
Drew DeVault
069e80469c Add animation as blocks are broken 2015-09-29 20:39:11 -04:00
Drew DeVault
53987d2d52 Fix issue with disappearing chunks on re-render 2015-09-28 08:35:21 -04:00
Drew DeVault
7b5154ff6f Improve chunk re-rendering 2015-09-28 08:33:10 -04:00
Drew DeVault
512fabf0b5 Re-render chunks when they change
This has some weird problems where the chunks will disappear for a
moment. I spent some time investigating it and I'm still not sure why
this happens.
2015-09-28 08:19:42 -04:00
Drew DeVault
c25f18619e Crazy idea - render water as blue? 2015-09-27 23:51:36 -04:00
Drew DeVault
9fb289f3a7 Add cactus renderer
Unlike Minecraft, however, our cactus has no bottom face. Who cares.
2015-09-27 23:36:40 -04:00
Drew DeVault
07362ad666 Implement digging on client*
* With known limitations

- Changing blocks still doesn't re-render correctly
- The item you're holding doesn't factor into your digging time
- No animation on the block you're digging out
2015-09-27 22:32:07 -04:00
Drew DeVault
9498a05167 Fix rotational math to match Mojang client 2015-09-27 22:03:15 -04:00
Drew DeVault
95f17cde72 Fix texture mapping for torches 2015-09-27 21:46:56 -04:00
Drew DeVault
2eaaf219a8 Fix torch rendering, track the highlighted face
The second bit will allow the client to start doing things like placing
blocks.
2015-09-27 21:00:32 -04:00
Drew DeVault
10a84b94ee Tweak reach rules a bit 2015-09-27 17:21:23 -04:00
Drew DeVault
d238e12f56 Simplify camera positioning 2015-09-27 17:18:49 -04:00
Drew DeVault
02146108ba Fix highlighted block, add crosshairs 2015-09-27 17:14:04 -04:00
Drew DeVault
b85f4fe4f5 Add gui.png 2015-09-25 08:51:20 -04:00
Drew DeVault
b699ad0ab6 Debug info is summoned with F3, not F2 2015-09-24 22:41:48 -04:00
Drew DeVault
49fb3435da Remove deprecated interfaces
Note that these are not fully replaced by modules yet.
2015-09-24 22:38:32 -04:00
Drew DeVault
3722468d01 Create DebugInfoModule
Provides F2 debugging info
2015-09-24 22:28:44 -04:00
Drew DeVault
8fe7329135 Start moving client towards a more refined design
I'm splitting up core pieces of functionality into several smaller
modules. TrueCraftGame will be made smaller and smaller until it's just
a small wrapper around the modules doing all of the work. This should
allow for modders to easily add new modules or replace builtin modules,
and will make the codebase more maintainable in general.
2015-09-24 21:20:36 -04:00
Drew DeVault
915937dbd4 Calculate highlighted block in UpdateCamera
Feels a bit buggy, but will refine over time
2015-09-24 08:45:24 -04:00
Drew DeVault
8f2a4e54a9 Add highlighted block model and VoxelCast class 2015-09-24 08:28:16 -04:00
bilgorajskim
b9741676a6 Fixed crash when backspace was pressed in an empty chat message field 2015-09-23 12:23:08 +02:00
William Moorehouse
29644e2be5 Camera effects implement IEffectMatrices 2015-09-22 14:32:36 -04:00
Drew DeVault
1ac7413c1f Make view bobbing more subtle 2015-09-22 08:44:52 -04:00
Drew DeVault
199dff5362 Adjust client camera a bit
This centers the camera on your bounding box and adjusts the near plane
so that you can't walk up to blocks and see inside of them.
2015-09-21 17:51:19 -04:00
Drew DeVault
15670c3d77 Reduce mouse sensitivity, fix return to launcher
The mouse sensitivity is now more Minecrafty by default (will eventualy
want to make this configurable) and the bug where the launcher won't
re-open after exiting singleplayer is fixed.
2015-09-21 08:16:44 -04:00
Drew DeVault
b7e75a93a5 Add head bobbing as you move 2015-09-20 18:11:02 -04:00
Drew DeVault
b635feb30b Fix issues with client jumping 2015-09-20 17:55:57 -04:00
Drew DeVault
8819ccf27e Fix issues with client physics, implement jumping
Still a bit janky with jumping.

Fixes #146
2015-09-20 17:45:27 -04:00
Drew DeVault
35bac852e6 Make block renderers aware of visible faces
This doesn't work entirely right, so it's disabled for the most part.
2015-09-20 16:34:06 -04:00
Drew DeVault
2d0ce96cc0 Avoid rendering unseen blocks at chunk boundaries 2015-09-20 15:49:31 -04:00
Drew DeVault
79e95e2083 Improve performance, fix grass issue 2015-09-07 17:25:14 -04:00
yankejustin
3830061005 Don't bother clearing the Dictionary
We disposed of the pairs' values. Just remove the reference and let the
garbage collector collect the rest. By calling clear, we are just
wasting our time "removing" the items that the garbage collector would
have to do anyways. Essentially this call just takes up time without
reason.
2015-08-07 14:38:09 -04:00
yankejustin
c4cc852d60 Ensure stream is disposed
Make sure that, even if an exception is thrown in between, that the
MemoryStream is disposed of by using a 'using' block.
2015-08-07 14:36:02 -04:00
yankejustin
1ba64128bb Dispose of old textures
If there were previously-stored fonts, dispose of them before creating
new fonts.
2015-08-07 14:11:33 -04:00
Drew DeVault
ed7a14b871 Rewrite physics engine
This time it sucks slightly less
2015-07-06 19:30:51 -06:00
Garrison Taylor
dbded3785a Add Mac support 2015-07-03 01:53:55 -04:00
Garrison Taylor
00193f075d Add Mac support 2015-07-03 01:53:16 -04:00