Commit Graph

9012 Commits

Author SHA1 Message Date
Christoph Oelckers da83d9e2bd - converted player serializer and everything it needs.
This means that everything belonging to the level snapshot will be generated in the JSON output.
2016-09-21 01:18:29 +02:00
Christoph Oelckers 3a1191281f - some preparations for converting the player serialization code.
- converted sound and canvas texture serialization.
- refactored file_zip, so that it can be used to load loose zip files and extract their compressed data directly.
- added handling to FSerializer to generate and consume compressed Zip file entries.

If all goes well this will allow saving savegames as Zips when the rework is done, which will make analyzing them a lot easier.
2016-09-20 23:13:12 +02:00
Christoph Oelckers 970c168b13 - re-added serialization of treanslations.
- removed more dead code.
2016-09-20 19:45:32 +02:00
Christoph Oelckers e101014432 - converted the user variable serializer. 2016-09-20 18:27:47 +02:00
Christoph Oelckers e41296a64d - added some separators to dobject.cpp
- added restore code for subsector automap info.
2016-09-20 13:30:31 +02:00
Christoph Oelckers f3e8c7c241 - fixed incomplete hudmessage serialization.
- fixed a few errors in the ACS module serializer.
- reordered a few things to how they were in the old code.
- optimized serialization of the level.Scrolls array to happen within the sector. This is to allow skipping 0-entries which normally constitute the vast majority of them.
2016-09-20 13:21:41 +02:00
Christoph Oelckers cf1e6d5275 - converted FBehavior::StaticSerializeModuleStates.
- removed some code which is no longer needed.
2016-09-20 11:35:25 +02:00
Christoph Oelckers 42e38f6cc1 - more cleanup to reduce references to FArchive. 2016-09-20 10:59:48 +02:00
Christoph Oelckers af6404f763 - all DObjects converted.
- cleaned out some old cruft that's no longer needed.
2016-09-20 10:27:53 +02:00
Christoph Oelckers daf43f9d35 - added polyobject serializer.
- added sanity checks to prevent a savegame from being loaded with an incompatible map
- refactored a few things to simplify serialization.
- started work on main level serializer function.
2016-09-20 09:11:13 +02:00
Christoph Oelckers ab43e0c8cb - all thinker serializers done. 2016-09-20 00:41:22 +02:00
Christoph Oelckers a5000ead4c - another batch. 2016-09-19 19:58:04 +02:00
Christoph Oelckers e89d072abc - 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
Christoph Oelckers 340c7795f3 - clean out the dump. It's not like this branch is ever going zo be used for saving with the old code anyway. Only the stuff needed to not make it crash or fail on compilation is kept. 2016-09-19 16:10:25 +02:00
Christoph Oelckers 88eab9d1f9 - And another batch of serializers. 2016-09-19 15:07:53 +02:00
Christoph Oelckers a542e99143 - a few more 2016-09-19 13:36:58 +02:00
Christoph Oelckers 7edf4c1afc - added new serializers to several classes and moved the old ones to the dump file. 2016-09-19 12:53:42 +02:00
Christoph Oelckers d24aa5dec9 - reformatting for easier search. 2016-09-19 10:47:59 +02:00
Christoph Oelckers e754fae0a8 - removed FS HUD pics. No mod in existence ever used them and a quickly thrown together test showed that the code did not even work. And since there's no reason to fix it they are gone now. 2016-09-19 10:41:21 +02:00
Christoph Oelckers c665cc53f9 - moved new code to its proper location and started moving the replaced old archive code to a placeholder file for easy removal later. 2016-09-19 10:34:54 +02:00
Christoph Oelckers 475077f1de Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-19 09:01:34 +02:00
Christoph Oelckers daf33b5b4f - master is now at 2.3pre. 2016-09-19 09:01:21 +02:00
Christoph Oelckers 65c6388d44 Merge branch 'master' into json 2016-09-19 03:54:36 +02:00
Christoph Oelckers 3eb1af6957 - added a GetMissileDamage function to DECORATE which can be used to properly retrieve an actor's damage value.
The damage property should be considered deprecated inside expressions from now on.
2016-09-19 03:45:22 +02:00
Christoph Oelckers f1ba19073f - split Damage into two variables: DamageVal for the old constant and DamageFunc for the DECORATE function.
The way this was done was a major headache inducer, requiring reconstruction of the function each time the value was changed and in general made actor damage a major hassle.
There was a DECORATE wrapper to mimic the original behavior but this looked quite broken because it completely ignored the different semantics of both damage calculation types.
It also made it impossible to determine if damage was a function or a value.
This accessor has been reverted to what it should be, only returning the constant, which now is -1 for a damage function. I am sorry if this may break the odd mod out but a quick look over some DECORATE-heavy stuff showed that this was never combined in any of them so that accessing 'damage' in DECORATE code depended on an actual damage function.

To get proper damage, a future commit will add a DECORATE function which calls AActor::GetMissileDamage.
2016-09-19 03:36:51 +02:00
Christoph Oelckers 967ed48fd3 - fixing. 2016-09-19 01:48:48 +02:00
Christoph Oelckers 718614a820 - cleanup 2016-09-19 01:07:51 +02:00
Christoph Oelckers ceaa040750 - added a workaround to avoid sprite splitting when it may cause glitches for sprites that get rotated in the draw pass. 2016-09-18 17:45:02 +02:00
Christoph Oelckers a5628518c1 - cut down on data size by not saving trivial defaults. 2016-09-18 16:41:34 +02:00
Christoph Oelckers 9313a99e12 - 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
Christoph Oelckers 3db7d9ad84 - fixed: AActor::alternative was not declared as a pointer. 2016-09-18 12:22:56 +02:00
Christoph Oelckers 6b4aee28bc Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-17 20:22:43 +02:00
Major Cooke 80c1baa596 Fixed: Pitch was rotating around the wrong axis. 2016-09-17 12:10:22 -05:00
Christoph Oelckers bec17bd222 - FLATSPRITE fixes. 2016-09-17 08:26:30 +02:00
Magnus Norddahl f2a3b8978d Added declaration in the shader that was missing 2016-09-17 00:30:03 +02:00
Gaerzi d99d43aeba Fixes to fuzz shaders 2016-09-17 00:30:03 +02:00
Major Cooke d01b0e061e Moved flatsprite code into CalculateVertices. 2016-09-16 12:07:28 -05:00
Major Cooke 66d20726c2 Reintroduced flat sprites once more.
- Take note, current flat sprites will change. With no pitch involved, sprites are now flat across the ground.
2016-09-16 11:47:20 -05:00
Christoph Oelckers 7c2886e8ea - fixed the last commit:
The altered vertices must always be copied to the actual buffer and it's not necessary to copy everything, copying the 4 changed ones is sufficient.
2016-09-16 08:10:19 +02:00
raa-eruanna 476b727d5d "actorlist" and "actornum" no longer return already-owned inventory objects 2016-09-16 00:47:56 -04:00
Magnus Norddahl 3c1868f7e6 Fix wrong flash rectangle size after window resize 2016-09-16 02:53:19 +02:00
raa-eruanna ac70f77e44 Added the following ccmds:
actorlist, actornum, monsternum, itemsnum, countitemsnum
Modified the following ccmds:
 monster, items, countitems

All commands with "num" at the end simply print a count of their respective filters, all other listed commands now print a list and a count.
2016-09-15 15:09:36 -04:00
Magnus Norddahl 0d27996a64 Replace CheckRatio with AspectTallerThanWide in DrawHUD 2016-09-15 07:52:53 +02:00
Magnus Norddahl 48f491cfd1 Fix video mode selection bug 2016-09-15 07:52:53 +02:00
Christoph Oelckers d128e28044 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-14 21:05:45 +02:00
Christoph Oelckers f3a4036dc5 - lgpl.txt 2016-09-14 21:05:25 +02:00
Leonard2 cb17e109f1 Added "division by zero" to the VM-aborting errors 2016-09-14 20:47:00 +02:00
Leonard2 65af26f962 The VM now properly aborts on critical errors 2016-09-14 20:46:18 +02:00
Christoph Oelckers 8b6e09ca09 - changed the license of the OpenGL renderer to LGPL v3.
This was done to clean up the license and to ensure that any commercial fork of the engine has to obey the far stricter requirements concerning source distribution. The old license was compatible with GPLv2 whereas combining GPLv2 and LGPLv3 force a license upgrade to GPLv3. The license of code that originates from ZDoomGL has not been changed.
2016-09-14 20:01:13 +02:00
Major Cooke 3b2359959e Quakes must use their own independent falloffs.This caused discrepencies and sudden drop-outs in stacked quakes otherwise. 2016-09-13 23:06:57 -05:00