OpenMiner/TODO
2020-02-08 19:48:31 +09:00

65 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TODO
# General
• TODO: Use Faithful 32x for buttons, backgrounds and font (or use Minecraftia for the latter)
• TODO: Include server code in the client for singleplayer games
# Issues
◦ TODO: Trees should block light
• TODO: Shapeless recipe code isnt working
• TODO: GUI scale issues
◦ TODO: `HUD` doesnt update when GUI scale is changed
◦ TODO: `SettingsMenuState` should update scaling when the setting is changed
◦ TODO: All Lua-defined GUI are not scaled correctly with lower GUI scale settings
◦ TODO: Send client screen size and GUI scale to server
• TODO: Blocks can be accessed from outside the world (will need a refactoring)
• TODO: Collisions are fucked up with blocks placed at `x = -1` from `x = 0`
• TODO: Blocks can be placed inside the player (check for AABB?)
• TODO: Sometimes its possible to aim between two blocks and right-clicking will replace one
# Code improvements
• DONE: Pass `ClientCommandHandler` instead of `Client` in the game (for example in `BlockCursor`)
→ DONE: This will allow to send network commands via a single function
→ DONE: The code wont be replicated anymore
→ DONE: Packages musnt be send from another place than `ClientCommandHandler`
• TODO: Use `ServerCommandHandler` instead of `Server` (cf. above)
• TODO: If possible, `Cube` should inherit from `ItemWidget` or `Widget`
• TODO: Rename `Cube` to either `InventoryCube`, `CubeItemWidget` or `CubeWidget`
• TODO: Unify cube coords in `BlockCursor`, `Cube`, `ChunkBuilder`
# Refactorings
• TODO: Add a mesh system, either here or in `GameKit`
→ Maybe this is the way to add custom vertex attributes while having default ones? Check 3dee
→ Or maybe it would be better to use a VAO in `GameKit`
# GUI
• TODO: Implement `FurnaceWidget` completely in Lua
◦ TODO: Add a `ProgressBarWidget` and find how to make it communicate between client and server
◦ TODO: Remove `BlockMetadata::get` which is only required by `FurnaceWidget`
• TODO: Implement `PlayerInventoryWidget` completely in Lua
# Menus
• TODO: World loading/saving
• TODO: World selection menu
# World
• TODO: Day/night cycle
# Chunk generation
• TODO: Use the seed
• TODO: Biomes
# Graphics
• TODO: Add nodebox-like draw type
> vim:ft=notes