mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-11 20:11:18 +03:00
145 lines
5.0 KiB
Markdown
145 lines
5.0 KiB
Markdown
## What is there left to do?
|
|
|
|
### GUI stuff
|
|
* [DONE] `ChatScreen`
|
|
* [DONE] `ConfirmScreen`
|
|
* [DONE] `DeleteWorldScreen`
|
|
* [DONE] `InvalidLicenseScreen`
|
|
* [DONE] `SmallButton`
|
|
* [DONE] `ScrolledSelectionList`
|
|
* [DONE] `AvailableGamesList`
|
|
* [DONE] `JoinGameScreen`
|
|
* [DONE] `RenameMPLevelScreen`
|
|
|
|
### Save data
|
|
* [DONE] `PlayerData`
|
|
* [DONE] `RegionFile`
|
|
|
|
### Multiplayer
|
|
* [DONE] `ServerSideNetworkHandler`
|
|
* [DONE] `ClientSideNetworkHandler`
|
|
* [DONE] `MinecraftPackets`
|
|
* [DONE] `NetEventCallback`
|
|
* [DONE] `Packet`
|
|
* [DONE] `AddPlayerPacket`
|
|
* [DONE] `ChunkDataPacket`
|
|
* [DONE] `LoginPacket`
|
|
* [DONE] `MessagePacket`
|
|
* [DONE] `MovePlayerPacket`
|
|
* [DONE] `PlaceBlockPacket`
|
|
* [DONE] `PlayerEquipmentPacket`
|
|
* [DONE] `RemoveBlockPacket`
|
|
* [DONE] `RemoveEntityPacket`
|
|
* [DONE] `RequestChunkPacket`
|
|
* [DONE] `StartGamePacket`
|
|
* [DONE] `UpdateBlockPacket`
|
|
|
|
### Xperia Play features
|
|
* [DONE] `Controller`
|
|
* [DONE] `ControllerTurnInput`
|
|
|
|
### World gen features
|
|
* `LargeFeature`
|
|
* `LargeCaveFeature` [unused]
|
|
|
|
### Sound system:
|
|
* Mutex [used for SoundSystemSL, most of it is inlined]
|
|
* [DONE] `SoundEngine`
|
|
* [DONE] `SoundRepository`
|
|
* [DONE] `SoundSystem`
|
|
* `SoundSystemSL`
|
|
* `SoundSystemWindows` (not original, but needed if you want sound on Windows)
|
|
|
|
### Unused entities and their renderers
|
|
* [DONE] `FallingTile`
|
|
* [DONE] `ItemEntity`
|
|
* `ItemSpriteRenderer`
|
|
|
|
### From the non-demo version
|
|
* `ExternalFileLevelStorage`
|
|
* `ExternalFileLevelStorageSource`
|
|
|
|
### Miscellanea
|
|
* `StopwatchHandler` -- `Performance::watches`. Unused?! Don't know.
|
|
|
|
## More generic things left to do:
|
|
|
|
* The level generator is inaccurate in terms of features. Not sure why yet.
|
|
The land and ice generation is accurate, though :)
|
|
|
|
* Untangle all the control flow and variables. Some functions have nonsense variable names like v3, x4,
|
|
and sometimes gotos are used (like label_3). It would be nice to untangle those.
|
|
|
|
* Instead of having a list of directories to include from, have only one and use relative paths instead.
|
|
|
|
* Add the assertions from v0.1.1j (unoptimized debug build)
|
|
|
|
* Attempt to recreate the project structure from Mojang. See the [Reconstructed project structure](#reconstructed-project-structure)
|
|
|
|
## Reconstructed project structure
|
|
Info extracted from:
|
|
* v0.1.0 demo - [D]
|
|
* v0.1.1j alpha - [J]
|
|
* v0.1.0 touch prototype - [T]
|
|
|
|
Obviously, this is VERY incomplete. This is what we know:
|
|
|
|
* Root: `C:/dev/subversion/mojang/minecraftcpp/trunk/handheld`
|
|
|
|
```
|
|
project/android/jni/Android.mk (possibly) [D]
|
|
project/android/jni/Application.mk (possibly) [D]
|
|
src/raknet/* [D]
|
|
src/client/gui/components/RolledSelectionList.cpp [T]
|
|
src/client/gui/components/ScrolledSelectionList.cpp [T]
|
|
src/client/gui/screens/IngameBlockSelectionScreen.cpp [T]
|
|
src/client/gui/screens/ProgressScreen.cpp
|
|
src/client/gui/Font.cpp
|
|
src/client/gui/Gui.cpp
|
|
src/client/gui/GuiComponent.cpp
|
|
src/client/gui/Screen.cpp
|
|
src/client/model/Cube.cpp
|
|
src/client/renderer/Chunk.cpp
|
|
src/client/renderer/GameRenderer.cpp
|
|
src/client/renderer/ItemInHandRenderer.cpp
|
|
src/client/renderer/LevelRenderer.cpp
|
|
src/client/renderer/RenderList.cpp
|
|
src/client/renderer/Tesselator.cpp
|
|
src/client/renderer/Textures.cpp
|
|
src/client/renderer/gles.cpp
|
|
src/client/renderer/entity/EntityRenderer.cpp
|
|
src/client/renderer/entity/HumanoidMobRenderer.cpp
|
|
src/client/renderer/entity/ItemRenderer.cpp
|
|
src/client/renderer/entity/ItemSpriteRenderer.cpp
|
|
src/client/renderer/entity/MobRenderer.cpp
|
|
src/client/renderer/entity/TntRenderer.cpp
|
|
src/client/renderer/entity/TripodCameraRenderer.cpp
|
|
src/player/input - maybe
|
|
|
|
project/ [D]
|
|
android_java/ [D]
|
|
jni/ [D]
|
|
Possibly: Android.mk, Application.mk
|
|
src/ [D]
|
|
raknet/ [D]
|
|
The RakNet source code resides here. [D]
|
|
client/ [T]
|
|
gui/ [T]
|
|
components/ [T]
|
|
RolledSelectionList.cpp [T]
|
|
ScrolledSelectionList.cpp [T]
|
|
screens/
|
|
Font.cpp [T]
|
|
Gui.cpp [T]
|
|
GuiComponent.cpp [T]
|
|
Screen.cpp [T]
|
|
world/ [J]
|
|
level/ [J]
|
|
storage/ [J]
|
|
RegionFile.cpp [J]
|
|
NinecraftApp.cpp [T]
|
|
```
|
|
|
|
* [1] - In v0.1.1j, the RakNet source files are located at: `C:/dev/subversion/mojang/minecraftcpp/trunk/handheld/project/lib_projects//raknet/jni/RakNetSources/`.
|
|
In v0.1.0 demo, they're at `C:/dev/subversion/mojang/minecraftcpp/trunk/handheld/project/android/jni/../../../src/raknet/`.
|