-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Remaining issues I had no time for.
Some deserve a own issue probably, some are small things, some are just random thoughts I put on the todo list.
issues I'm working on rn:
- [x] Chat whisper
- [ ] Splitscreen specing
- [ ] Map votes map preview (use attribute: is_default_map)
- [x] Changing info while on server renames to (0)
high prio:
- WGPU backend, for opengl support (and maybe even angle)
- Proper CI setup
- Rate limits / spam protection on server. rn there is nothing for chat msgs, player info changes etc.
- 45° binds should be added without min distance hacks (simply snap cursor to 45°)
- Control when race/round demo recordings are started (twgame race, vanilla round)
- [x] Add more key targets to bind
(mouse3 etc.)
- [x] Misc votes not implemented
- log
calls should be in client console, log::error!
should create a client notification (ClientNotifications
)
- Chat commands (parser logic & suggestions & errors should be used from local console)
- Background themes missing & the auto logic etc. missing
- Mods get an own dir, files from that dir are loaded into the physics module, which e.g. will allow lua interpreters to work
- Server: on map change ask interface for what data it should carry over to after the map change
- Going into controls with a clean client shows nothing, since binds are initialized when connecting to server
- [x] Bezier curves missing
Other:
- Get away from crates with generic names ("shared", "base"). use proper names instead.
- Spec multi view
- Chat msg that mentions should highlight own player
- Display teams in server browser players list (server info) - servers should have list of teams and inside teams are list of players
- Spatial chat needs to respect distance & ddrace-team
- Versioning (phy mod version, phy interface version, phy <-> render interface version) + handling by the client
- Hide ips in status
rcon (add show_ip)
- Game should ask the physics module if a player can start a vote (why again?)
- Add demo marker (event for it already exists)
- Skin color clamp (not too dark) <- let mod decide, but color picker should show clamp & unclamped mode or smth
- Demos: export cut to video
- Compression dict downloadable for network
- Always add flag type to ctf flag events? more future proof
- Cache community icons (community icons container <- requires a new community json format)
- Create a community server in rust, maybe use account system to allow changes from the maintainers
- Make communities work, since they are currently for cpp version there was no real way to test
- Filter communities without servers
- System clock in hud (when scoreboard open) <- must come from outside of rendering module, don't do kernel calls tho (or minimize?)
- Controls ui incomplete
- Laser projectile is not created directly (same tick)
- Map votes in server: downloaded maps as category (currently they are ignored.)
- Scoreboard skin too high (or text is too low)
- Scoreboard redesign (mostly font sizes etc.)
- twgame + Ghost (ghost is completely untested)
- Statboard
- Finish ingame ui (esp. ddrace is mostly untested)
- Idea: twgame/ddrace - generate freeze looking skin out of the skin texture (for freeze)
- In vanilla character: handle assists for the actionfeed (and add rendering support)
- Nameplates: direction keys, strong weak indicator, clan tag, player id
- DNS lookups are blocking
- ffmpeg feature on windows (does not work with cross compile mingw at least)
- (test) macos support
- UI for demo encoder render settings (show nameplates etc.)
- Master server url hardcoded
- Emoticons not perfect, since they are now part of snapshot system.
- Demo video rendering with pure rust libs (low prio)
- Ipv6 testing with resource download server
- Render tee should not take alpha argument.
- Verify downloaded images & sounds (done, but community icons must be used with community icon container)
- Hookcol colors configurable in client
- Ingame sound is still wrong, spatial not working as desired. maybe add a scale factor inside the sound backend? - not really easy
- Merge ddnet/ddnet#8544
- Sound backend should recover forcepaused scenes/streams/sounds/listeners (not too important, very very edge case)
- Events client prediction & automatic recognition if out of sync with server (should rarely happen because of automatic prediction margin)
- Should intra tick time for sent input in prediction tick be considered? for smoother interpolation (instant input feature)
- Weapon in shared-game should be moved to other crate
- Network list all default values for config in a readme or smth
- Initial server info should include a snapshot (for the binary diff that never can be skipped)
- Translations (maybe also downloadable?)
- App icon
- Try to use royalty free (or generally open source) formats in video recorder (those that support web)
- Input "snapshots" to either save bandwidth (must be checked) and another interesting case would be to allow prediction margin offsets to be used to simulate lower ping for a high ping player (who is in team with low ping player)
- Prediction timer must be better at start + when lags occur
- consider naga_oil's module imports for code cleanup
- Screenshot path
- Particle manager in split view adds too many particles(e.g. ninja pickup)
- vk testing: use the plugin interface to check command correctness (?)
- server is empty => auto reload config (if changed)
- vk custom render:
- wasm support
- load custom shader files
- VK descriptor layout cleanup (done?)
- hold f3 for few seconds in vote -> force vote (if mod)
- DeserializeSeed for wasm results & parameter decoding (saves heap allocation for e.g. Vec<PlayerRenderInfo>
) in hot path - very hard
- Community server (which allows to see which friends are playing, add friends etc.)
- Server not responding/network lost etc.:
*** - Needs a broadcast like string ("Connection lost...")
*** - After timeout -> show UI to reconnect
- Friend list needs community server, favorite players should be like cpp version's friends
- Test websockets with tls
- Editor see other user's mouse events
- Editor rendering key frame points
- Create invalid test cases for network (also check and create is_0rtt tests)
- Dummy/bot icon in scoreboard/server browser
- Connect as spectator (not joining the game after connecting) (needed?)
- Editor tee (for tee animation), so animations are not hardcoded
- Servers not in master server need to verify their certs somehow
- Vanilla: team spawns <--> normal spawn (and fallback if teamplay but no team spawns)
- Mouse grabbing -- macos missing
- User input direction arrow
- Strong weak indicator
editor
- timeline:
*** - animation control
*** - predict the position of the next animation point visually (e.g. for quad pos, where the quad will be)
*** - value graph
*** - hover over point => set time dragger directly to point time (easier handling)
*** - values are often off (because inner graph rect is often not used correctly)
- descriptions (markdown descriptions)
- quad slice as extra tool
- [x] add auto mapper
- [x] swap layers/groups
- server settings (tune zones are already handled extra)
- change on disk: suggest reload
- quad/sounds: when pos animated (animation panel open), the selectable points don't move along with the item (wrong map.user.time is passed, animation panel)
- blue prints
- hover over image (when changing tile layer image) -> preview layer with that image -- "raw" image preview missing
- host, join ui - ugly, doesn't save anything previously typed in
Some CI stuff I saved that are interesting:
cargo-machete (strips unused deps very quickly)
cargo-edit (cargo upgrade or cargo upgrade -i)
cargo-geiger
cargo-license
cargo-crev
cargo-bloat