-
Notifications
You must be signed in to change notification settings - Fork 62
State
degenerated1123 edited this page Dec 7, 2016
·
9 revisions
- Working
- Interpreting all of the daedalus-instructions
- Calling functions, stack, etc
- Calling externals
- Initializing instances
- TODO:
- Classes are described in
Daedalus::registerGothicEngineClasses
, which can be done automatically. The Daedalus-Symbols of the classes are actually in order, so we can just map everything using that, instead of making use of an evil makro. - Symbols have unused variables and are very heavy, which could be improved
-
Externals.cpp
is currently containing everything and should be split up. - Creating an NPC is pretty messy, as there are externals defined inside some classes in the
Daedalus
-namespace, triggering callbacks to REGoth-code, pre- and post-versions... That can be improved. - Monster AI
- Classes are described in
- Works
- Extracting the world-mesh
- Putting vobs
- Initializing the world using script-functions (inserting items/npcs)
- TODO
- Not all vobs implemented (particle-systems, decals)
- Loader is crammed into the
WorldInstance
-class, which can be improved greatly. - Preprocessing of the worldmesh and collisionmesh takes ages. Can be cached or speed up.
- Could be loaded in parallel
- Some kind of progress indicator during loading would be nice
- Loading and managing of Freepoints
- Extracting the BSP-Tree and using it for culling and sections (NPC-houses)
- Works
- All vob-types supported by the .zen-loader, except mobs!
- Inserting NPCs/Items from json-file instead of startup-script
- Export/Import of all major controllers
- TODO
- Read mobs (Some work is done for that already!)
- Compress on the fly, maybe do some simple encryption
- Loader is crammed into
WorldInstance
as well, which can be improved.
- Works
- Binding (multiple) keys to actions
- Mouse input
- TODO
- Android-Input is pretty bare
- Works
- Drawing of World-Mesh, Static-meshes, Animated models
- Fog
- Day/Night coloring
- TODO
-
WorldRender.cpp
doesn't look very good. Rendering-system should be reworked at some point. - Compile the shaders for D3D11/12 on windows
- Put shader sources into the repository
-
- Works
- Decoding of Gothics ADPCM compressed .WAV-files
- Playback using SFML
- TODO
- SFML is too large. Replace with OpenAL or something similar.
- Glitch at the end of decoded ADPCM wavs
- Works
- Basic tree-structure for UI
- Debug-drawing of dialogs using Imgui
- Displaying dialog-options using Imgui
- Displaying dialog-lines using Imgui
- TODO
- Basically everything
- Usage of Gothics original font files (zCFont from ZenLib) + drawing them
- Console
- Dialogs are still pretty rough. No animations, dialog-selection pops up between sentences.
- Inventory, menus, ...
- Works
- Linux
- Windows
- Mac OSX
- Android
- TODO
- bgfx-cmake fails to compile on BSD (clang)
- Audio not implemented on android
- N64-port
- Works
- Basic collision-detection
- Script-State tracking
- Equipping all kinds of items
- Using Mobs (still early version)
- [More, but I'm tired right now]
- Todo
- Rename to CharacterController
- Remove old routine system
- Implement proper physics
- Implement proper pathfinding (Currently only following the waynet)
- NPCs take other paths than in the original (Baal Parvez runs through the forest from the old camp (I think!))
- Many Event-Messages are not implemented yet
- Player movement should be done using messages as well
- Some monsters not playing idle-animation
- Fighting system
- States like death, unconsciousness, burning, etc
- Proper inventory (UI)
- NPCs not reacting to the player going into their houses
- Proper animation-library (For all kinds of weapons, etc)
- Swimming
- Torches
- Animation when picking up items
- ... Probably way more ...
- Works
- MobCore-system describing the different types of mobs without needing a new controller every time
- Playing animations on both Mob and interacting player
- Finding all positions we can interact from
- Tracking of the current state the mob is in
- TODO
- Find out what the max-state is and block it there
- Complicated mobs like alchemy-tables, beds, doors are not implemented yet
- CLosing-animations on chests should be reversed, but the reverse-flag is not yet read from the MDS-file.
- Works
- Done.
- Works
- Opening ASCII- and BinSafe-Files.
- Reading WorldMesh-data
- Reading VobTree
- zCVob
- oCMOB
- oCMobInter
- oCMobContainer
- Reading Waynet
- TODO:
- Vobs
- Particle-Effects
- Other types of Mobs
- Decals
- Triggers
- Ambient-Sounds
- Movers
- more?
- Vobs
- Done
- TODO
- Remove internal data copy
- TODO
- Remove internal data copy
- Works
- Reading some of the contents of the text-version in Gothic 1
- TODO
- Most features. Parser is pretty bare as well.
- Binary files used by G2 (G1 uses text) not supported at all
- Reading of animation-events
- TODO
- Remove internal data copy
- Done
- Wrote some code, but never tested it. Should be working, I guess.
- TODO
- Remove internal data copy
- Everything needed by the game works. Format is very verbose.
- TODO
- Use a union in the opcodes to make them smaller! (PARStackOpCode)