-
Notifications
You must be signed in to change notification settings - Fork 66
WIP: Move most skeleton stuff to engine #1489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: for-0.56.0/sync
Are you sure you want to change the base?
Conversation
|
Probably related to that problem reported by CodeQL: Thread 1 "daemon" received signal SIGSEGV, Segmentation fault.
Util::SerializeTraits<refEntity_t, void>::Read (stream=...) at src/engine/client/cg_msgdef.h:127
127 ent.boneMods = stream.Read<std::vector<BoneMod>&>(); |
|
Oh yeah, that was an unfinished change. |
5ae3f4d to
dc1a501
Compare
|
So, this fixe dll. I now can get it run as exe too, but with nexe (PNaCl) I get:
|
de64f25 to
926b067
Compare
I've added a few more fixes, can you check if you still get this error? Do note that I have pushed fixes both on this branch and on the Unvanquished one. |
|
I get the same. Anyway, can you rebase on latest |
926b067 to
99c6824
Compare
Hmm, that's weird. I'd need to look at it later, there are stil la few bugs that need to be fixed. |
Done, although I haven't tested it yet after rebase. |
|
Thanks, the rebase was successful (I can build the game with Saigo). I get the same error with a nexe built with Saigo. |
|
Maybe there's padding being inserted into |
dc61fec to
cf47328
Compare
|
This is mostly done now, I believe the only remaining issues are because |
|
So I've unfortunately run into another issue: There are 3 options I can see right now: add more IPC calls to get skeletons just for those entities (which is really ugly), go back to the implementation that simply batches skeletons, or move particle systems to engine. The latter might also solve some performance issues with particle systems that we have right now. |
|
This version is, however, faster than #1386. |
cf47328 to
06b3c18
Compare
|
This fixes a few things. The problems still remaining are legs skeletons not being set to torso skeletons, some animations missing/incorrect, and the above problem about particle systems/trail systems attachments. |
I figured out another solution for this:
|
06b3c18 to
8c4e69a
Compare
8c4e69a to
e544480
Compare
e544480 to
d6dcedc
Compare
Also implement a render entity cache to avoid back-and-forth synchronisation.
d6dcedc to
477acc2
Compare
|
Most issues fixed now, particles and trails work through a render entity cache. Just need to figure out why view weapons and jetpack behave weirdly (probably just because the original skeleton code in cgame was written by a fucktard). |
Cgame-side pr: Unvanquished/Unvanquished#3276.
A proper solution to the issue of highly inefficient IPC with skeletal models. Skeleton will now be built and blended in the engine instead of cgame, and it will no longer be transferred through IPC at all, +this will avoid a bunch of extraneous copies. An additional benefit is that this will skip doing anything with skeletons for entities that get culled away. Cgame will now only send the relevant frame numbers/lerp/etc through IPC as part
refEntity_t.The layout I'm using for testing is this: https://users.unvanquished.net/~reaper/maps/layouts/plat23/test.dat.