I don't quite get why you make a "To-Do List" for other people instead of suggestions, but whatever.
Tr!Force wrote:Bug Fixes (Errors that prevent the proper functioning of the game)
Most of them are fixed already, including many that weren't listed here.
Tr!Force wrote:Enhancements (Internal functions could be improved or new features)
- Improved g_slowMoDuel functionally
- String colored messages after a colored name
- 1st person Turret Chair view
- Widescreen/Eyefinity Support
- SinglePlayer Map Entities Support
- Some More limits (cg_fov, name length etc...)
As for the mvsdk itself we want to keep it very simple and as base as possible. I don't think singleplayer entities or support for longer names should be added to the mvsdk serverside. If anything black color in names could be made available, but no "real changes". The "widescreen support" and the stretched HUD fix however are something I want to have in the mvsdk and a compiled version of the mvsdk is supposed to be included in future jk2mv releases (once it's ready).
Currently the problem is mostly the syscalls when running the serverside in 1.02 mode. Due to the sharedEntity struct being shared among the game module and the engine both can access and modify the "shared entities" at any time, so with the mvsdk internally using the 1.03/1.04 structs and the engine using 1.02 structs the structs need to be converted not just once, but every VMCall and every syscall to ensure everything runs fine and both - game and engine - can access the struct at any time. This however leads to massive CPU load (even on modern systems), cause there is an incredible number of conversions going on. We could "work around" the performance loss by not converting the struct for every syscall, but that possibly leads to the engine doing unexpected things every now and then and even then, parts of the botlib always require a conversion or the bots will behave very very weird and glitchy. I have been testing a version where only the botlib related calls are converted online for a few weeks now and so far it runs fine without side-effects.
I would like to release the code, but I was rebasing my repository and dealing with the performance bug at the time real-life pulled me away from working on jk2 mods. So my top priorities related to the mvsdk should be to evaluate which might be the best way to deal with the conversion/performance issues and to finish rebasing the repository, so it got a proper history (will be a couple of big commits after the re-base is finished, but it should have a history then, starting with the proper basejk code, without lots of work-in-progress commits). I didn't start with a public repository cause it started out as a test and I didn't expect those tests to become the "mvsdk".
Little screenshot of the CPU load on one of my server during a test, converting the struct at EVERY syscall (yes, that number seems to be above 100):
- mvsdk_cpu_load_edited.PNG (3.15 KiB) Viewed 93755 times