-
PORT TO MP BRANCH
-
Gameinterface.cpp (Server)
- Delete comment on Motd file not being able to be loaded (L:1721) once we're on MP branch
-
ClientScoreboardDialog.cpp (Client)
- Get online data from the API
- Add friends leaderboard list
- Add format for online & friends leaderboard lists
- Fill the lists with API data
- Update rank for event runtime_posted
- Discuss update interval time
- Consider adding a "100 tick" column
- Localize rank tokens
- Make FindItemIDForPlayerIndex(int) return an ItemID for another person's time
- Sort function for online times
- Fix bugs: Lines being chopped down & mapsummary not being set
- Discuss columns widths
- De-hardcode the font used on size checking
- Find where to place friends leaderboards
- A lot of variables are not necessary. Ensure which are and remove the rest
- Use GetTextSize instead of calculating it per character
-
MapSelector.cpp (Client)
- Localize strings (remove ServerBrowser)
- Make the panel display from menu selection (edit GameMenu.res and do "engine ToggleMapsPanel")
- Remove references to Server Browser
- Cleanup classes to remove useless/commented code
- Local Maps tab
- Header columns: Completed | Map name | Game type | Difficulty | Best time
- Populate with maps already on disk (parse .mom files?)
- Parse .mom/zon/bsp files to fill the Dialog with information
- Change filters
- Map name
- Gametype (bhop/surf/etc)
- Difficulty
- Linear/Staged
- "Online Maps" Tab
- Apply filters to API searches
- Parse data from API and apply to list
- Start the selected map
- Download a selected map, and its .zon and .mom file (if not exist)
- Open a MapInfoDialog to show progress on download?
- Set the correct gamemode type, tickrate, etc based on .mom file
-
MapInfoDialog.cpp (Client)
- Localize (remove ServerBrowser)
- Show information about the map
- Local info
- Local PBs
- Link replays to each local time
- Other local info/stats (how many total runs)
- Online info
- Top 10 times for the map
- Link replays to each online time
- Other online info/stats
- Local info
- Make the user able to start the map from the Dialog
- Online maps need to be downloaded
- Local maps simply start like normal
-
The "mom"-ification and refactoring
- mom_player (Server/Client)
- Copy valuable snippets from HL2/CS Player classes
- Clean up the EntSelectSpawnPoint() method
- mom_gamerules (Shared)
- Follow the hl2_gamerules.cpp file for creation
- Improve mom_spawn_with_weapons implementation
- mom_gamemovement.cpp (Shared)
- Implement rampboost fix by TotallyMehis
- mom_usermessages.cpp (Shared)
- Remove the usermessages that aren't necessary
- Remove even more messages
- mom_client.cpp (Server)
- Precache all necessary sounds/models for the mod
- VPC Scripts
- Add the new mom files to the proper VPC scripts
- Verify & remove the files we deleted from the appropriate VPC scripts
- Remove any and all unnecessary HL2/generic code that doesn't pertain to the mod
- Remove all ifdef (SIXENSE) code segments
- Remove all ifdef (XBOX/X360 etc) & IsX360() code segments
- Remove all ifdef (TF/PORTAL/DOD) code segments
- Remove all ifdef (HL2_EPISODIC/HL2_LOSTCOAST/HL2MP) code segments
- Remove all ifdef (HL1_DLL/CSPORT_DLL) code segments
- Remove all ifdef (INVASION_DLL/NEXT_BOT/TERROR/USES_ECON_ITEMS) code segments
- Inspect and cherry pick ifdef (CSTRIKE_DLL) code segments
- Format (CTRL + K, CTRL + D) every class to follow the tabs->spaces and other spacing style for code
- Remove any unused files
- hud_squadstatus.cpp
- hud_posture.cpp
- hud_flashlight.cpp (the hud element)
- hud_battery.cpp
- teamplayroundbased_gamerules.h/cpp
- Entire hl2/ subfolder in client/server/shared
- Entire sdk/ subfolder in client/server/shared
- Eventually undefine HL2_DLL and remove corresponding code
- mom_player (Server/Client)
-
Creation of a shared (Client/Server) utils class with useful methods/data (gamemode, tickrate etc)
- Create global enumeration for gamemodes
- Store current gamemode on a global variable
-
Gamemodes
- BHOP -> 100 tick, no stamina, autojump/no autojump (Cvar so people can manual scroll if they want)
- SURF -> 66 (default)/100 , no stamina, autojump
- KZ -> 100 tick, stamina, no autojump
-
weapon_momentum_gun.cpp (Shared) and CS:S weapon entities
- Import CS:S weapon entities over
- Import extra CS:S weapon entities (Knife and Grenades)
- Cleanup CS:S weapon entities/reduce class clutter
- Make the main gun toggleable (the player spawns with it, presses button to use/hide it)
- Look into removing the crosshair? Customization?
- Consider keeping the hud_ammo.cpp HUD element for displaying how many bullets the player has in the clip
- Change model
- Tone down or remove view-bob
-
timer.cpp (Client)
- Play effects (animations) for run states
- Move to bottom center (above speedometer)
- Utilize the .res file variables for position/color/etc
- Feed real data for the hud
- Have more info (checkpoints, current stage/total stages, etc)
- Only display relevant info
- Act accordingly to gamemode
- Add stamina settings for kz/scroll modes
- Implement Hud Messaging system to interact with Timer.cpp (server)
- Localization
- Discuss bufsize for strings taking intoa count localizations
-
hud_cp_menu.cpp (Client)
- Make creating a checkpoint stop your timer
- Make checkpoints available for output to files
- Consider local timer for routing
- Consider KZ game mode basically requiring checkpoints
- Extract underlying menu class and make hud_cp_menu create one
- Use .res files
-
mom_triggers.cpp (Server)
- Tweak limit speed method
- Implement Hud Messaging system to interact with timer.cpp (client)
- Add the option to define what angles should the player have after being teleported
- Unify every spawnflag (So each one has an unique 'id')
- Bonus stages (either flags added to existing triggers or child entites)
-
Timer.cpp (Server)
- Add hash checking
- GetCPCount seems to return wrongly
- Are command flags needed?
-
tickset.cpp (Server) Make tick-setting crossplatform
-
In-game mapzone editor (Server/Client) allows for creation of zone files (on older CS maps) without using Hammer
-
mapzones.cpp (Server)
- Add support for the new custom triggers
-
mapzones_edit.cpp (Server)
- Change description for mom_zone_defmethod
- Improve methods of triggers (Probbably also find a better suitting name)
- Improve binding (Add more build binds for things like mom_zone_defzone variations)
-
Credits
- Few values are set to default when the map ends, we have to set it to how the user had it before going to the credits
- If the user disconnects before the credits ending, hud convar values will not be set back to how they were before
-
GUI changes
- Add practice mode state to timer VGUI panel
-
Implement CEF
- Create custom HTML HUD
- Create custom HTML menu
- Incorporate (precompiled/source?) into project
-
Consider importing Portal-like entities for non-euclidean geometry
-
Replays
- Use ghostingmod as an example of how to make/read the files
- Make map selection/leaderboards be able to download replays
-
Spectate system (like replays but streamed online)
- Use ghostingmod (server) as an example
- Racing system (like spectating but you can move around)
- Synchronize start, notified ends
- Allow disqualifications, drop outs, disconnections
- Free play online ghosts (Similar to current bhop/surf servers. Community is important.)
-
Global chat
- Simple general and map chat via IRC or something
-
func_shootboost: (Potential entity that handles shootboosts (not needed))
-
weapon_momentum_gun (Client/Server)
- "Wire-frame" models for each gun override
- Edited gun sounds that reference original sounds?
-
Gamemodes (Ideas)
- RocketJump -> 100 tick?, no stamina?, autojump?
-
Get greenlit
-
Timer.cpp (Server)
- Include the extra security measures