-
Notifications
You must be signed in to change notification settings - Fork 62
State
degenerated1123 edited this page Oct 8, 2017
·
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.
- 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
-
- Works
- Decoding of Gothics ADPCM compressed .WAV-files and PCM .WAV files
- Playback of speech in dialogs and some sound effects like level up sound, and log entry added sound
- Ambient sounds
- Animation-triggered sounds
- Using OpenAL for 2D and 3D sound playback
- TODO
- music
- Works
- Main menu (mostly)
- Log-screen
- Status-screen (basic only)
- Usage of Gothics original font files (zCFont from ZenLib) + drawing them
- Advanced Console
- Dialogue animations
- TODO
- Inventory
- Settings-screen
- Works
- Linux
- Windows
- Mac OSX
- Android
- TODO
- bgfx-cmake fails to compile on BSD (clang)
- 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]
- Moving to arbitrary positions
- Todo
- Rename to CharacterController
- Implement proper physics
- 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
- Fighting system
- States like death, unconsciousness, burning, etc
- NPCs not reacting to the player going into their houses
- Swimming
- Torches
- ... 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
- Done.
- Works
- Displaying of static and animated meshes
- Setting up static collision for triangle-meshes
- Particle-Systems
- TODO
- Setting up dynamic rigidbody-physics
- Decals
- Removing a collision-mesh from the world
- Works
- Much stuff, but this thing should be completely rewritten.
- Works
- Opening ASCII- and BinSafe-Files.
- Reading WorldMesh-data
- Reading VobTree
- zCVob
- oCMOB
- oCMobInter
- oCMobContainer
- Particle-Effects
- Ambient-Sounds
- Reading Waynet
- TODO:
- Vobs
- Other types of Mobs
- Decals
- Triggers
- Movers
- more?
- Vobs
- Done
- TODO
- Remove internal data copy
- TODO
- Remove internal data copy
- Works
- Reading text version of G1
- Reading binary version of G2
- Reading animation events
- TODO
- 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)