qzdoom-gpl/src/g_shared
Christoph Oelckers 86e9282193 - removed the sequential processing of JSON objects because the benefit is too small.
After testing with a savegame on ZDCMP2 which is probably the largest map in existence, timing both methods resulted in a speed difference of less than 40 ms (70 vs 110 ms for reading all sectory, linedefs, sidedefs and objects).
This compares to an overall restoration time, including reloading the level, precaching all textures and setting everything up, of approx. 1.2 s, meaning an increase of 3% of the entire reloading time.
That's simply not worth all the negative side effects that may happen with a method that highly depends on proper code construction.
On the other hand, using random access means that a savegame version change is only needed now when the semantics of a field change, but not if some get added or deleted.

- do not I_Error out in the serializer unless caused by a programming error.

It is better to let the serializer finish, collect all the errors and I_Error out when the game is known to be in a stable enough state to allow unwinding.
2016-09-23 14:04:05 +02:00
..
a_action.cpp - another batch. 2016-09-19 19:58:04 +02:00
a_action.h Normalize line endings 2016-03-01 09:47:10 -06:00
a_armor.cpp - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
a_artifacts.cpp Merge branch 'master' into json 2016-09-22 09:09:48 +02:00
a_artifacts.h - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_bridge.cpp - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
a_camera.cpp - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_debris.cpp - made AActor::radius a double. 2016-03-20 15:04:13 +01:00
a_decals.cpp - fixed two typos in property names. 2016-09-23 09:20:58 +02:00
a_fastprojectile.cpp Enhanced FastProjectile trails. 2016-09-08 00:38:11 +02:00
a_flashfader.cpp - another batch. 2016-09-19 19:58:04 +02:00
a_fountain.cpp Normalize line endings 2016-03-01 09:47:10 -06:00
a_hatetarget.cpp - fixed some minor issues found during reviewing the code. 2016-03-16 14:10:13 +01:00
a_keys.cpp - fixed: Lock #255 was inaccessible for LOCKDEFS. 2016-05-18 11:56:39 +02:00
a_keys.h Normalize line endings 2016-03-01 09:47:10 -06:00
a_lightning.cpp - another batch. 2016-09-19 19:58:04 +02:00
a_lightning.h - another batch. 2016-09-19 19:58:04 +02:00
a_mapmarker.cpp Normalize line endings 2016-03-01 09:47:10 -06:00
a_morph.cpp - And another batch of serializers. 2016-09-19 15:07:53 +02:00
a_morph.h Added TRANSFERTRANSLATION morph flag 2016-07-24 00:56:57 +02:00
a_movingcamera.cpp - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_pickups.cpp - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
a_pickups.h - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_puzzleitems.cpp - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
a_quake.cpp - another batch. 2016-09-19 19:58:04 +02:00
a_randomspawner.cpp - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
a_secrettrigger.cpp Normalize line endings 2016-03-01 09:47:10 -06:00
a_sectoraction.cpp - removed the sequential processing of JSON objects because the benefit is too small. 2016-09-23 14:04:05 +02:00
a_setcolor.cpp Normalize line endings 2016-03-01 09:47:10 -06:00
a_sharedglobal.h - all thinker serializers done. 2016-09-20 00:41:22 +02:00
a_skies.cpp - fixed several Destroy methods which blanketly assumed that the object's pointers were valid to use without checks. 2016-09-23 08:49:30 +02:00
a_soundenvironment.cpp - started implementing a JSON based serializer. Unfortunately it is far too slow to be of any real use. 2016-09-18 13:26:34 +02:00
a_soundsequence.cpp - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_spark.cpp - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
a_specialspot.cpp - another batch. 2016-09-19 19:58:04 +02:00
a_specialspot.h - another batch. 2016-09-19 19:58:04 +02:00
a_waterzone.cpp Normalize line endings 2016-03-01 09:47:10 -06:00
a_weaponpiece.cpp - a few more 2016-09-19 13:36:58 +02:00
a_weaponpiece.h - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
a_weapons.cpp Merge branch 'master' into json 2016-09-22 09:09:48 +02:00
hudmessages.cpp - fixed incomplete hudmessage serialization. 2016-09-20 13:21:41 +02:00
sbar.h - all DObjects converted. 2016-09-20 10:27:53 +02:00
sbar_mugshot.cpp - fixed: The mugshot's angle was inverted. 2016-05-11 14:04:21 +02:00
sbarinfo.cpp Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext 2016-09-08 00:39:51 +02:00
sbarinfo.h - floatification of g_shared. 2016-03-24 01:46:11 +01:00
sbarinfo_commands.cpp Switch from abs to fabs 2016-09-12 18:44:04 +02:00
shared_hud.cpp Replace CheckRatio with AspectTallerThanWide in DrawHUD 2016-09-15 07:52:53 +02:00
shared_sbar.cpp - all DObjects converted. 2016-09-20 10:27:53 +02:00