Commit graph

21393 commits

Author SHA1 Message Date
Christoph Oelckers
ebbca3685e deal with the last remaining pieces of fixed point math. 2023-11-12 23:03:44 +01:00
Christoph Oelckers
5dd0a43bca make sure that all places that read from SpriteMass ensure that the cache is up to date.
This allows removing the serializer for it.
2023-11-12 23:03:44 +01:00
Christoph Oelckers
b8aee5a730 implemented a serializer for DCustomDude
This writes out the entire object. It is not economical to cut this down and rewrite the init code to make this less heavy.
2023-11-12 23:03:44 +01:00
Christoph Oelckers
30826ef22f rewrote state pointer serializer to handle the in-object states of custom dudes, deleted the old custom dude states and added one missing state to the list. 2023-11-12 23:03:44 +01:00
Christoph Oelckers
73050e3f74 eliminate the redundant pExtra pointer in DCustomDude 2023-11-12 23:03:43 +01:00
Christoph Oelckers
2bae1077cf do not mofify global sequence data for the custom dudes.
Instead control the trigger from the outside so that the global data can be kept immutable. All Seq pointers are now const throughout.
2023-11-12 23:03:43 +01:00
Christoph Oelckers
1f5ff06b91 GC stuff plus one leftover commented out fragment. 2023-11-12 23:03:43 +01:00
Christoph Oelckers
6e0d61d137 nnext fully integrated, everything compiles and links again. 2023-11-12 23:03:43 +01:00
Christoph Oelckers
c17ccd62e6 everything's converted
Doesn't compile yet due to circular dependencies in the headers.
2023-11-12 23:03:43 +01:00
Christoph Oelckers
54878bf125 use std:variant for nextDude to get some type safety 2023-11-12 23:03:42 +01:00
Christoph Oelckers
00112c472d continued witg nnextcdud.cpp 2023-11-12 23:03:42 +01:00
Christoph Oelckers
0e6b536d01 mostly bool fixes. 2023-11-12 23:03:42 +01:00
Christoph Oelckers
52551a8b9b start of nnextcdud.cpp 2023-11-12 23:03:42 +01:00
Christoph Oelckers
98882b0607 more work on aicdud.cpp 2023-11-12 23:03:42 +01:00
Christoph Oelckers
356c425e1e some last changes. 2023-11-12 23:03:41 +01:00
Christoph Oelckers
158cdff069 work on aicdud.cpp 2023-11-12 23:03:41 +01:00
Christoph Oelckers
4f338ab8a2 adapted ai.cpp and callback.cpp. 2023-11-12 23:03:13 +01:00
Christoph Oelckers
62753c02f0 more array iteration fixes. 2023-11-12 23:03:13 +01:00
Christoph Oelckers
b05706929d added all nnext changes to actor.cpp 2023-11-12 23:03:13 +01:00
Christoph Oelckers
5f8ab4a828 array backwards iteration fixes 2023-11-12 23:03:12 +01:00
Christoph Oelckers
7674b7245b header cleanup 2023-11-12 23:03:12 +01:00
Christoph Oelckers
45e14732f2 updated the rest of nnexts.cpp 2023-11-12 23:03:12 +01:00
Christoph Oelckers
463eb7cc9e enabled custom dude stuff in nnextsif.cpp 2023-11-12 23:03:12 +01:00
Christoph Oelckers
33aa9188d7 got through nnextcdud.h 2023-11-12 23:03:11 +01:00
Christoph Oelckers
15ba1bf333 update the first 40% of nnexts.cpp 2023-11-12 23:03:11 +01:00
Christoph Oelckers
72e744cef2 nnext.cpp update, part 1. 2023-11-12 23:03:11 +01:00
Christoph Oelckers
f0131a9fb5 complete workover of nnextsif to adapt to Raze's organization and to get rid of the global work state. 2023-11-12 23:03:11 +01:00
Christoph Oelckers
e889f16803 60% of nnextsif.cpp handled. 2023-11-12 23:03:11 +01:00
Christoph Oelckers
14464dcd9f make things compile again. aiunicult was removed for now because NBlood doesn't have it anymore. 2023-11-12 23:03:11 +01:00
Christoph Oelckers
061d60f911 nnextstr added 2023-11-12 23:03:11 +01:00
Christoph Oelckers
7c727efc0c - names2.h cleanup. 2023-11-12 21:58:18 +01:00
Christoph Oelckers
4396d4132e - deleted conpic.h 2023-11-12 21:55:30 +01:00
Christoph Oelckers
7bf3c57d5d - use texture names for the panel overlays. 2023-11-12 21:54:39 +01:00
Christoph Oelckers
bf8cdad155 - use spritedefs for panel sprites. 2023-11-12 21:42:51 +01:00
Christoph Oelckers
6c0696dd26 - SW: migrated PSP animators to VM functions. 2023-11-12 15:33:43 +01:00
Christoph Oelckers
44f8cf8db6 - deleted build.h and clip.h, now that both are empty. 2023-11-12 14:45:24 +01:00
Christoph Oelckers
43f4962561 - got rid of the global compatibility modes and made 'precise' a parameter for clipmove.
This better reflects how this stuff gets used.
2023-11-12 14:45:24 +01:00
Christoph Oelckers
5bfe62d7b6 - move the clip object collection loop into its own function. 2023-11-12 14:45:24 +01:00
Christoph Oelckers
bac866e772 - use BFSSectorSearch to drive the clipmove collection loop.
This gets rid of another bunch of both code and data.
2023-11-12 14:45:23 +01:00
Christoph Oelckers
3da1966cc7 - moved the clip object storage into the clip object and floatified it. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
ea530cbc49 - float version of clipmove's slope sprite collector.
This could be simplified quite a bit by leveraging the info returned by GetFlatSpritePosition.
2023-11-12 14:45:23 +01:00
Christoph Oelckers
ede7a7ac12 - float version of clipmove's floor sprite collector. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
3ea993140b - new floating point version of clipmove's wall sprite checker. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
4acbfef1dc - float version of face sprite collector. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
3e3df527d2 - rewrote the remaining parts of clipmove's wall collector. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
c2a2743872 - removed the old wall checker code and all dependencies. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
9b8252e2da - reimplemented the wall collision check for clipmove. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
aed69bd4c2 we're past 1.8 now 2023-11-12 14:44:43 +01:00
Christoph Oelckers
207a917275 build script added. 2023-11-12 14:43:28 +01:00
Christoph Oelckers
29499753a6 text update 2023-11-12 13:20:54 +01:00