OpenMiner/TODO

97 lines
3.7 KiB
Plaintext
Raw Normal View History

TODO
# General
2019-01-14 10:53:43 +01:00
• TODO: Use Faithful 32x for buttons, backgrounds and font (or use Minecraftia for the latter)
2019-12-30 19:00:59 +09:00
• TODO: Add a texture pack system
◦ TODO: It should be able to accept any type of texture resolution
• TODO: Add fullscreen, resolution options and handle window resize
• TODO: Include server code in the client for singleplayer games
2019-01-14 10:53:43 +01:00
# Issues
• DONE: Crafting doesnt always work
• DONE: A mix of pickaxe + axe recipes gives a pickaxe?!
• DONE: Lighting doesnt propagate between chunks
• DONE: Pressing `Esc` key in `SettingsMenuState` should just quit the category, not the state
• DONE: Chunks are sent too many times to client on login
• TODO: Lighting issues
◦ DONE: Sunlight doesnt propagate correctly
◦ DONE: When loading chunks with smooth lighting enabled, they have black borders
2020-01-04 15:39:04 +09:00
◦ DONE: Flower lighting is weird
◦ TODO: Trees should block light
• TODO: `ServerWorld::sendWorldData` is useless and should be replaced by `sendSpawnData`
• TODO: Shapeless recipe code isnt working
2019-12-30 21:46:06 +09:00
• TODO: GUI scale issues
◦ TODO: `HUD` doesnt update when GUI scale is changed
◦ TODO: `SettingsMenuState` should update scaling when the setting is changed
◦ TODO: `Workbench` and `Furnace` 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?)
2019-12-30 21:46:06 +09:00
• 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`, `Chunk`
• TODO: License headers
# Refactorings
• DONE: In `SettingsMenuState`, the “Done” button shouldnt be part of the `Menu`
• TODO: Remove the ability of `Chunk` and `ChunkLightmap` to access surrounding chunk blocks
• TODO: `Chunk::setBlock` does way too much things, fix this
• 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
2019-12-30 21:46:06 +09:00
→ Or maybe it would be better to use a VAO in `GameKit`
# Lua API
• TODO: New texture system to make things easier for Lua
◦ TODO: Use a separate texture for each block
◦ TODO: Since this may lower the perfs, optimize it
◦ TODO: Load textures from Lua
◦ TODO: Use names instead of ids in Lua
# GUI
• DONE: Add a LuaGUI class to handle GUI from Lua
2019-01-07 03:55:37 +01:00
• DONE: Add more GUI elements
2019-01-07 02:39:39 +01:00
◦ DONE: `InventoryWidget`
2019-01-07 03:55:37 +01:00
◦ DONE: `CraftingWidget`
2019-01-07 02:39:39 +01:00
◦ DONE: `Image`
• WIP: Implement GUI elements requested by `Furnace`
◦ DONE: `FurnaceWidget` first
◦ TODO: Then its components
2019-12-30 21:46:06 +09:00
• TODO: Handle custom size crafting table (try with 5x5 for example)
# Menus
2019-04-08 18:24:42 +02:00
• DONE: Main menu
• TODO: World loading/saving
• TODO: World selection menu
2019-01-05 03:18:05 +01:00
# World
• TODO: Block metadata
2019-01-05 03:18:05 +01:00
• TODO: Day/night cycle
2019-01-05 03:18:05 +01:00
# Chunk generation
• TODO: Use the seed
• TODO: Biomes
2019-01-05 03:18:05 +01:00
# Graphics
2018-06-14 04:19:16 +02:00
• TODO: Add nodebox-like draw type
2018-06-14 04:19:16 +02:00
> vim:ft=notes