Commit Graph

10263 Commits

Author SHA1 Message Date
Christoph Oelckers ee40135d55 - removed the bogus SetPointer method from PClassPointer.
This was blocking proper bookkeeping of class pointer variables, in particular it rendered PointerSubstitution ineffective.
2017-01-21 23:26:58 +01:00
ZZYZX 659c11514b OpenGL: Added picnum override handling for actors 2017-01-21 23:04:45 +01:00
Christoph Oelckers aaae52c60b - fixed: FResourceFile::OpenResourceFile did not close the opened file in case it contained invalid data. 2017-01-21 20:15:06 +01:00
alexey.lysiuk 2358b65921 Fixed compiler warning reported by GGC/Clang
No more 'warning: comparison of integers of different signs: int and unsigned long'
2017-01-21 14:47:10 +02:00
Christoph Oelckers 45d3b58cc6 - fixed redundant variable declaration shadowing an outer one. 2017-01-21 13:26:26 +01:00
Christoph Oelckers 2a6fafa15e - don't let P_DamageMobj return negative values.
This serves no purpose, there's not a single place in the code which checks for it, but if that negative values goes unchecked to functions that expect an actually meaningful value for damage inflicted, some bad results can happen. If no damage is inflicted, a proper 0 needs to be returned so that the value can actually be worked with. The return value was a ZDoom invention, it is completely unclear why -1 was chosen if some kind of protection rendered the damage ineffective.
2017-01-21 13:12:34 +01:00
Christoph Oelckers 4dc1d117f2 - fixed: Without letting CMake find OpenGL, under Windows the library must be added manually to the project or linker errors will happen. 2017-01-21 11:50:53 +01:00
Christoph Oelckers cbdf9870ec - fix uninitialized variable. 2017-01-21 11:46:23 +01:00
Christoph Oelckers 19df603f92 - fixed: P_RailAttack did not make adjustments for the shooter's floorclip. 2017-01-21 10:55:57 +01:00
alexey.lysiuk 5158b1c337 Fixed undefined behavior of DropInventory()
See https://mantis.zdoom.org/view.php?id=93
2017-01-21 11:43:11 +02:00
ZZYZX 6f5fff00a0 Implemented static methods in String struct. Implemented String.Format and String.AppendFormat. Implemented native vararg methods for the future. 2017-01-21 10:32:26 +01:00
Rachael Alexanderson 07409f4997 - fixed compile error with status bar code in poly renderer. 2017-01-21 01:23:49 -05:00
Edoardo Prezioso da3da61b67 - Make OpenGL library link fully dynamic on Unix.
Also, remove all the OpenGL CMake checks, because they're not needed anymore.
2017-01-20 23:21:37 -05:00
Rachael Alexanderson 410a1aa24c Merge https://github.com/coelckers/gzdoom 2017-01-20 20:56:02 -05:00
Christoph Oelckers 7e114c1127 - moved some more code out of the way. 2017-01-21 00:49:54 +01:00
Christoph Oelckers 274727e8ae - moved the draw functions which are exclusively used by the Strife status bar into strife_sbar.cpp to get them out of the way. They are not expected to survive anyway. 2017-01-21 00:41:59 +01:00
Christoph Oelckers 74f4171947 - removed several unused draw functions from DBaseStatusBar. 2017-01-21 00:29:19 +01:00
Christoph Oelckers 355570198d - moved statusbar code to a separate directory before starting work on it. 2017-01-20 22:59:31 +01:00
Christoph Oelckers 36e1d71f2b - fix spelling error. 2017-01-20 22:45:09 +01:00
Christoph Oelckers 23a7fd40aa - fixed: The script wrapper for AActor::TakeInventory erroneously called RemoveInventory, not TakeInventory. 2017-01-20 20:04:57 +01:00
Christoph Oelckers 7adc34932f - fixed: The state parameter for CallStateChain was checked for the wrong type. 2017-01-20 19:56:29 +01:00
Edoardo Prezioso e993f9304b - Fixed GCC/Clang compile error. 2017-01-20 19:10:07 +01:00
Christoph Oelckers 4fa5055548 - fixed: With some functions moved to Weapon, Dehacked needs to check Weapon, not StateProvider to find its code pointers. 2017-01-20 17:23:13 +01:00
Christoph Oelckers 302cb41403 - fixed typo in MorphMonster definition. 2017-01-20 17:20:50 +01:00
Christoph Oelckers 314e49f791 - let A_SpawnProjectile, A_FireProjectile, A_SpawnItem(Ex) and A_ThrowGrenade return the spawned actors to the calling code.
- fixed the return type checks in CallStateChain. These made some bogus assumptions about what return prototypes to support and would have skipped any multi-return function whose first argument was actually usable.
2017-01-20 12:39:51 +01:00
Christoph Oelckers f5421491ec - wrapped the entire DSBarInfo class in a container and completely decoupled it from DBaseStatusBar.
The idea is, when status bars are moved to ZScript that only this small wrapper class needs to be dealt with and the implementation can be left alone. SBARINFO is far too complex to be scriptified, but having it inherit directly from DBaseStatusBar and access its member variables severely limits the options of dealing with the status bar code. This way, it only accesses some globally visible functions in DBaseStatusBar and no variables.

- renamed the global ST_X and ST_Y variables because it is far too confusing and error-prone to have the same names inside and outside DBaseStatusBar.
2017-01-20 11:11:22 +01:00
Rachael Alexanderson f3159af211 - fixed: Remove ccmd should check if an object is actually an inventory object before attempting to check its owner. (Ooops!) 2017-01-20 10:03:33 +01:00
Rachael Alexanderson e52772745b Merge https://github.com/coelckers/gzdoom 2017-01-19 23:07:14 -05:00
Christoph Oelckers 9d828a7ca0 - marked all virtual overrides in DSBarInfo with the 'override' keyword so that I do not have to search for them again. 2017-01-20 01:42:21 +01:00
Christoph Oelckers c880b26d98 - scriptified MorphProjectile and CustomSprite.
This should for now conclude actor class scriptification. The remaining ten classes with the exception of MorphedMonster are all too essential or too closely tied to engine feature so they should remain native.
2017-01-20 01:11:36 +01:00
Rachael Alexanderson 62fb5d87c8 - fixed: Remove ccmd should check if an object is actually an inventory object before attempting to check its owner. (Ooops!) 2017-01-19 18:48:21 -05:00
Magnus Norddahl 545ae678e8 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2017-01-20 00:22:29 +01:00
Christoph Oelckers 3c30b59bab more inventory scriptification
* completely scriptified DehackedPickup and FakeInventory.
* scriptified all remaining virtual functions of Inventory, so that its inheritance is now 100% script-side.
* scriptified CallTryPickup and most of the code called by that.

- fixed: Passing local variables by reference did not work in the VM.
2017-01-19 23:42:12 +01:00
Rachael Alexanderson 7701a61830 Merge https://github.com/coelckers/gzdoom 2017-01-19 15:50:33 -05:00
Christoph Oelckers 1750ded7c4 - more exporting of AInventory. 2017-01-19 20:56:31 +01:00
Christoph Oelckers 7c6542e595 - partial scriptification of AInventory.
- scriptification of CustomInventory.
2017-01-19 19:14:22 +01:00
Rachael Alexanderson 8a198591f4 Merge https://github.com/coelckers/gzdoom 2017-01-19 11:58:53 -05:00
Christoph Oelckers 19b1c10ba8 - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
Rachael Alexanderson 3b55406302 - fixed: Remove ccmd now no longer removes owned inventory objects (that's what the "take" ccmd is for) 2017-01-19 14:01:12 +01:00
Christoph Oelckers 6d3b26f94c - scriptified the WeaponGiver. 2017-01-19 14:00:00 +01:00
Christoph Oelckers 42f3ccc602 - scriptified a few parts of p_pspr.cpp.
- added a speed parameter to A_Lower and A_Raise in the process.
2017-01-19 13:26:46 +01:00
alexey.lysiuk 0376c8ba24 Removed no longer present file from CMakeLists.txt 2017-01-19 10:08:00 +02:00
Magnus Norddahl 8af97cbbd3 Removed file was still present in CMakeLists.txt 2017-01-19 03:31:51 +01:00
Magnus Norddahl e235d83e5b Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-19 03:19:39 +01:00
Magnus Norddahl 112085ebff Split Clear into two functions 2017-01-19 03:19:31 +01:00
Rachael Alexanderson 9333ce1888 Merge https://github.com/coelckers/gzdoom 2017-01-18 21:15:08 -05:00
Magnus Norddahl e94cb3f114 Rename visplane_t to VisiblePlane 2017-01-19 03:11:49 +01:00
Magnus Norddahl 9eef7f9b32 Make visplanes hash list private 2017-01-19 03:02:32 +01:00
Magnus Norddahl a92771431b Changed visible plane list to use the shared frame memory allocator instead of using its own internal free list 2017-01-19 01:47:58 +01:00
Christoph Oelckers 9f550941d2 - fixed loop ordering in P_SetRenderSector. 2017-01-19 01:39:05 +01:00
Magnus Norddahl 111b5c5469 Add support for repeating skies in the TC sky drawer 2017-01-19 00:12:54 +01:00
Magnus Norddahl 8788a9e788 - Change all sky drawing code use to use the sky drawers
- Add support for drawing repeating skies in the sky drawers
- Add the old 4 column sky fade optimization to the 1 column variant (fixes speed regression when 4col was removed)
- Remove skyplane globals
- Remove walldraw code used to draw the old skies
2017-01-19 00:02:51 +01:00
Christoph Oelckers 8256f25a84 - no need to keep AArmor native, now that all child classes have been scriptified. 2017-01-18 23:46:19 +01:00
Christoph Oelckers 632a29e365 - scriptified HexenArmor. 2017-01-18 23:42:08 +01:00
Christoph Oelckers 2fcffd1fc1 - removed the remaining native parts of ABasicArmor.
- simplified some FindInventory calls using PClass::FindActor to call the variant taking a name directly.
2017-01-18 22:57:47 +01:00
Christoph Oelckers 3148496f57 - scriptified BasicArmor and fixed a few errors in the conversion. 2017-01-18 22:15:48 +01:00
Christoph Oelckers 2dd6fb9595 - scriptified BasicArmorBonus. 2017-01-18 20:23:13 +01:00
Christoph Oelckers 87b9b6111d - scriptified the BeginPlay methods of the VavoomLight classes.
- moved m_Radius back to arg[3] and arg[4], so that scripts have access to light sizes again.
2017-01-18 19:10:25 +01:00
Christoph Oelckers 1ce7b80158 - scriptified the rest of the weapon pieces. 2017-01-18 18:46:24 +01:00
Christoph Oelckers 30a8541a15 - scriptified the weapon piece functions.
- fixed: ClearInventory did not process depleted items properly.
- changed HexenArmor from UNDROPPABLE to UNTOSSABLE because this allowed to remove some special handling in ClearInventory. The only other place which checks this flag also checks UNTOSSABLE.
2017-01-18 17:26:12 +01:00
Christoph Oelckers d8acf774a6 - scriptified the remains of AKey.
- replaced Key.KeyNumber with special1. This is only for internal bookkeeping purposes so there's really no need to complicate this with a new variable when this one works just as well.
2017-01-18 15:17:12 +01:00
Christoph Oelckers d9fd2d509f - scriptified the remains of AAmmo. 2017-01-18 14:18:17 +01:00
Rachael Alexanderson 590781d4a6 Merge https://github.com/coelckers/gzdoom 2017-01-18 05:19:34 -05:00
Christoph Oelckers cfdd580044 - deleted a_artifacts files. 2017-01-18 10:44:51 +01:00
Christoph Oelckers 534b2ebbfb - scriptified the remains of APowerup.
- ensure that actor defaults contain a valid virtual table and class pointer so that they can actually use virtual and class-dependent method functions. This is needed for retrieving script variables from them.
2017-01-18 10:33:03 +01:00
Magnus Norddahl 53a79ca215 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_things.cpp
2017-01-18 04:09:16 +01:00
Christoph Oelckers b41d4d9f84 - initialize variable to make Valgrind happy. 2017-01-18 01:53:15 +01:00
Christoph Oelckers ade9e4c3da - implemented processing of multiple return values in script functions. 2017-01-18 01:27:50 +01:00
Christoph Oelckers 232b64d332 - eliminated the native PowerupGiver class.
- scriptified the respawn invulnerability code into a virtual OnRespawn function for PlayerPawn so that custom effects can be implemented.
2017-01-18 00:11:04 +01:00
Christoph Oelckers 98f9219334 - scriptified the remaining functions in a_artifacts.cpp.
- added some helpers to set scripted member variables through the native property parser.

Unfortunately some classes, e.g. PowerMorph, MorphProjectile and the powerup contain some that cannot be handled through the 'property' definition on the script side so they need to be done from the native side.
2017-01-17 20:30:17 +01:00
Christoph Oelckers 14f2c39e58 - scriptified cht_Give and cht_Take and made them virtual function of PlayerPawn so that this can be better configured for mods that want other options in here.
- improved the class pointer to string cast to print the actual type it describes and not the class pointer's own type.
- fixed: The 'is' operator created non-working code when checking the inheritance of a class pointer, it only worked for objects.
2017-01-17 17:34:39 +01:00
Christoph Oelckers 75d3f42d4f - scriptified APowerup. 2017-01-17 17:34:07 +01:00
Edoardo Prezioso 0da1142bdb - Run libsndfile before libmpg123 when reading an audio lump.
libmpg123 spews quite a lot of debug stuff in stdout when encountering files like WAV or Ogg Vorbis, while libsndfile is silent when encountering an MP3 file.
2017-01-17 16:47:37 +01:00
alexey.lysiuk c4aaeef6b1 Removed homebrew MP3 format detection
It didn't work for all files so let libmpg123 handle all quirks for us
See https://mantis.zdoom.org/view.php?id=60
2017-01-17 11:26:51 +02:00
Edoardo Prezioso c317a4cbf3 - Fixed: wrong FString 'Replace' action function.
The function replaced only the first character of the first argument with the first character of the second argument.
2017-01-17 10:00:35 +01:00
Magnus Norddahl 9e0ae21197 Move fakeceiling and fakefloor into the inner loop 2017-01-17 02:32:23 +01:00
Magnus Norddahl cc0c0f0236 Fix not copying the shade variable first 2017-01-17 02:27:59 +01:00
Magnus Norddahl 8e72e094ce Fix floor brightness affects sprites not in sector 2017-01-17 02:16:13 +01:00
Magnus Norddahl e154ff888d Implement the todo that someone left in the source code 2017-01-17 01:43:45 +01:00
Magnus Norddahl 906c944895 Merge colormap selection into one function 2017-01-17 01:30:12 +01:00
Edoardo Prezioso bfb7b82bcc - Fixed uninitialized data for libsndfile.
According to the API docs, when opening a file for read, SF_INFO::format must be set to 0.
Discovered with Valgrind while running Deus Vult 2 map01.
2017-01-17 00:21:27 +01:00
Christoph Oelckers 8f6571241d - scriptified AÃœpwerInvulnerable. 2017-01-16 23:45:25 +01:00
Magnus Norddahl 2848ca53dc Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_things.cpp
#	src/r_things.h
2017-01-16 23:05:34 +01:00
Christoph Oelckers 6990a46daf - scriptified PowerStrength.
This revealed an interesting bug: When the berserk fadout formula was changed in 2005 the result was essentially broken, resulting in values around 7000 - it only worked by happenstance because the lower 8 bits of the resulting values just happened to work to some degree and never overflowed. But the resulting fade was far too weak and a slightly different handling of the color composition code for the VM made it break down entirely.
This restores the pre-2005 formula but weakened intensity which now comes a lot closer to how it is supposed to look.
2017-01-16 22:27:49 +01:00
Christoph Oelckers c5f100a61d - fixed class name checks for custom properties. 2017-01-16 20:44:52 +01:00
Christoph Oelckers d3ab691afb - scriptified APowerInvisibility.
- changed AlterWeaponSprite so that it doesn't expose renderer internals to the script code.
2017-01-16 20:34:12 +01:00
Christoph Oelckers 616f954153 - scriptified PowerIronFeet and PowerMask. 2017-01-16 19:04:03 +01:00
Magnus Norddahl 6c76c8534b Change visstyle_t back to how it was in ZDoom and stop using it internally in the swrenderer 2017-01-16 16:23:02 +01:00
Christoph Oelckers 65b7e344f7 - added custom property parsing to DECORATE as well. 2017-01-16 10:36:56 +01:00
Christoph Oelckers cd1d96b83a - fixed compilation. 2017-01-16 10:36:56 +01:00
Christoph Oelckers cd0d17dbd5 - made AbsorbDamage work iteratively to avoid large stack use in the VM. 2017-01-16 10:36:56 +01:00
Braden Obrzut ae7b95fc52 - There are more DYN options than just fluidsynth so unconditionally use CMAKE_DL_LIBS. 2017-01-16 02:19:03 -05:00
Magnus Norddahl 1c3440e391 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/r_plane.h
2017-01-16 06:03:21 +01:00
Magnus Norddahl 433eb77c37 Moved DrawSprite to VisibleSprite and marked all its variables as protected 2017-01-16 05:43:56 +01:00
Magnus Norddahl 55131a7a6d Rename vissprite_t to VisibleSprite, convert it into a base class and lower all variables if possible. Remove unused fields and unions. 2017-01-16 05:26:22 +01:00
Magnus Norddahl 57d8b0e34c Rewrite VisibleSpriteList to use TArray 2017-01-16 03:46:05 +01:00
Christoph Oelckers d207b571d9 - scriptified PowerLightAmp and PowerTorch.
- allow calling qualified super methods so skipping some levels is possible.
2017-01-16 00:46:15 +01:00
Christoph Oelckers d2d6e5d486 - scriptified PowerFlight and PowerWeaponLevel2. 2017-01-15 23:21:38 +01:00
Magnus Norddahl cd9043fd94 Make RenderActorView private 2017-01-15 23:03:58 +01:00
Magnus Norddahl f6cc75fad5 Convert r_clipsegment into a class 2017-01-15 22:57:42 +01:00
Magnus Norddahl 74e1cea9c3 Removed openings array 2017-01-15 22:21:21 +01:00
Magnus Norddahl e02aece40a Added a generic memory allocator for memory needed for a frame 2017-01-15 21:45:21 +01:00
Christoph Oelckers 4837e1e770 - partially scriptified APowerSpeed. 2017-01-15 20:58:52 +01:00
Christoph Oelckers 7503937a84 - scriptified PowerTargeter. 2017-01-15 19:44:43 +01:00
Christoph Oelckers bf52ce19e4 - fixed: AActor::ClearInventory should respect IF_KEEPDEPLETED for all items. 2017-01-15 18:58:17 +01:00
Christoph Oelckers 03c7b10fd6 - fully scriptified HealthPickup. 2017-01-15 18:46:40 +01:00
Christoph Oelckers 156f9c488e - added script variable access for native code so that many more classes can be fully exported. Tested with the puzzle items. 2017-01-15 18:16:36 +01:00
Christoph Oelckers 179b6e1a39 - added property definitions to the ZScript parser. This will allow defining custom properties for the default block in custom base classes. See 'Health' for an example.
- support transient object member variables for information that does not need to be put in a savegame.
- fixed: special initialization of objects needs to pass the proper defaults along, otherwise the parent classes will use their own, inappropriate one.
2017-01-15 16:55:30 +01:00
Christoph Oelckers 267600826f - sxriptified key and puzzleitem base classes. 2017-01-15 10:37:54 +01:00
Magnus Norddahl 601ddb270d Create a class for the viewport 2017-01-15 04:06:52 +01:00
Magnus Norddahl 42535b17f1 Rename FRenderer::ClearBuffer to SetClearColor 2017-01-15 03:21:35 +01:00
Magnus Norddahl f9175561bb Change RenderTarget global to be an internal swrenderer variable 2017-01-15 03:19:03 +01:00
Magnus Norddahl aaee6e333f Mark PrecacheTexture private and remove unneeded declarations 2017-01-15 02:50:37 +01:00
Magnus Norddahl 4c12ba740f Remove SetWindow from FRenderer interface 2017-01-15 02:46:43 +01:00
Magnus Norddahl 1e7015643d Remove ErrorCleanup from FRenderer interface 2017-01-15 02:04:49 +01:00
Magnus Norddahl 3093aaadc9 Remove SetupFrame and CopyStackedViewParameters from FRenderer interface 2017-01-15 01:54:25 +01:00
Magnus Norddahl 1b043bb46c Minor cleanup in r_swrenderer 2017-01-15 01:36:57 +01:00
Christoph Oelckers 87617b588a - some minor optimization in the VM. 2017-01-15 01:27:01 +01:00
Christoph Oelckers 9f9cea4b4a - scriptified the health items. 2017-01-15 01:02:38 +01:00
Christoph Oelckers 4759f9a399 - scriptified the backpack.
- added GetParentClass builtin to compiler.
2017-01-14 23:34:47 +01:00
Christoph Oelckers a597979738 - scriptified ammo.
- moved inventory stuff into its own directory.
2017-01-14 21:27:31 +01:00
Edoardo Prezioso d91023ba0b - Fixed GCC/Clang compile errors. 2017-01-14 18:30:01 +01:00
Christoph Oelckers e16713492f - scriptified A_FreezeDeath(Chunks). 2017-01-14 18:26:59 +01:00
Christoph Oelckers 6dc1bb8475 - skriptified the skybox actors.
- fixed code generation for internal pointed arrays, they were missing a pointer dereference.
2017-01-14 18:04:49 +01:00
Christoph Oelckers a9ef73528d - removed all skybox class types from code in preparation for exporting these classes.
- moved SectorPortal struct to FLevelLocals and exported it.
2017-01-14 16:05:40 +01:00
Christoph Oelckers 96777273c4 - scriptified ASoundSequence.
- exported virtual Actor.MarkPrecacheSounds function.
2017-01-14 14:37:29 +01:00
alexey.lysiuk 0b62645a35 Fixed compilation warnings reported by GCC/Clang
gl/data/gl_setup.cpp:430:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:527:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:542:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
nodebuild.cpp:1056:63: warning: format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'int' [-Wformat]
p_glnodes.cpp:379:50: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_saveg.cpp:381:18: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_scroll.cpp:532:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_setup.cpp:2304:43: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
p_setup.cpp:2302:12: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8488:20: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8606:15: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-01-14 15:03:14 +02:00
Christoph Oelckers f83444f3cc - exported the sound sequence interface to scripting.
- split out the map data definitions from base.txt into their own file.
2017-01-14 13:02:08 +01:00
Christoph Oelckers 386c00f17e - scriptified ASoundEnvironment.
This also exposes the functionality as a member function of Sector for easier script access.
2017-01-14 11:43:08 +01:00
Rachael Alexanderson d707f1c22e Merge https://github.com/coelckers/gzdoom 2017-01-14 00:38:26 -05:00
Magnus Norddahl 5ea28897af Move r_scene into a class 2017-01-14 02:25:02 +01:00
Christoph Oelckers 40e7fa5be2 - scriptified the RandomSpawner.
- fixed: String constants were not processed by the compiler backend.
- added an explicit name cast for class types.
2017-01-14 02:05:52 +01:00
Magnus Norddahl 1c4e0c6385 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2017-01-14 01:56:18 +01:00
Christoph Oelckers 4d68f066a0 - fixed: sector.gravity was not serialized. 2017-01-13 23:29:52 +01:00
Christoph Oelckers f759b6757a - scriptified the teleport fog. 2017-01-13 23:17:04 +01:00
ZZYZX a8beb51ca3 Changed opcode implementation to native function implementation 2017-01-13 22:59:45 +01:00
ZZYZX ee2ecf1450 Added %c (from int) and %p (from pointer) support to format() 2017-01-13 22:59:45 +01:00
ZZYZX fcc5f4b77b Fixed EFX_ enum for FxFormat 2017-01-13 22:59:45 +01:00
ZZYZX e75aa08d0a Implemented format() builtin call 2017-01-13 22:59:45 +01:00
Christoph Oelckers 4be0767d7b - scriptified the moving camera. 2017-01-13 22:13:03 +01:00
Christoph Oelckers 51cc7feb4c - scriptified the particle fountains. 2017-01-13 19:29:54 +01:00
Magnus Norddahl ca046d26c5 Make particle texture slightly higher quality 2017-01-13 16:12:43 +01:00
Christoph Oelckers 8e7e1ed757 - don't use local TObjPtr variables. 2017-01-13 15:44:16 +01:00
Magnus Norddahl edd9b6c69c Change the shape of the particle texture 2017-01-13 15:43:06 +01:00
Edoardo Prezioso 6eb9015303 - Fixed GCC/Clang compile errors. 2017-01-13 15:42:53 +01:00
Magnus Norddahl e1506df8a6 Change globvis to be picked up from the r_light values in softpoly 2017-01-13 15:22:22 +01:00
Rachael Alexanderson 2583c94444 Merge https://github.com/coelckers/gzdoom 2017-01-13 09:15:22 -05:00
alexey.lysiuk 8260bbbe77 Fixed compilation with GCC/Clang
No more 'error: cannot jump from this goto statement to its label / jump bypasses variable initialization'
2017-01-13 15:44:23 +02:00
Christoph Oelckers d338ca3ec1 - scriptified the sector actions. 2017-01-13 13:51:47 +01:00
Magnus Norddahl e57c6e98a8 Fix typo 2017-01-13 13:31:33 +01:00
Magnus Norddahl 8209c4f392 Fix compile error 2017-01-13 13:27:31 +01:00
Magnus Norddahl 5d9cc6a706 let 'forcenoskystretch' also apply to sky mode 2 2017-01-13 13:23:00 +01:00
Magnus Norddahl 1d941c9839 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/win32/zdoom.rc
2017-01-13 13:21:10 +01:00
Edoardo Prezioso 3b7d18c129 - Fixed crash while exiting if compiled by GCC -O3. 2017-01-13 12:02:00 +01:00
Christoph Oelckers e621b43dd3 - removed the upper limit of 20 for autosaves. 2017-01-13 11:59:55 +01:00
Christoph Oelckers d73db8c1e8 - added a 'local' parameter to the A_Log family.
- complete "give quakes their own damage type." (was only partially saved.)
2017-01-13 11:48:05 +01:00
Christoph Oelckers a388327acb - give earthquakes their own damage type. 2017-01-13 11:19:40 +01:00
Christoph Oelckers 6cbc0a80e8 - let 'forcenoskystretch' also apply to sky mode 2 and OpenGL, to reflect its true meaning the internal flag has been renamed to FORCETILEDSKY which it always was about. 2017-01-13 11:12:43 +01:00
alexey.lysiuk 4001e7e6bd Fixed compilation with macOS SDK earlier than 10.7 2017-01-13 10:52:35 +02:00
alexey.lysiuk 7e0c870d0f Added missing OpenGL extension for PowerPC Macs 2017-01-13 10:51:56 +02:00
Christoph Oelckers 76870beb2e - fixed the final bit of sector actions.
The IsActivatedByUse implementation was essentially useless because the value was not serialized so it got lost as soon as the game was reloaded from a savegame.
With the refactoring this is no longer an issue but the access function needed to be changed over to read the info from 'health'.
2017-01-13 01:44:17 +01:00
Christoph Oelckers 1400f401e7 - fixed use of multiple sector actions in the same sector.
The entire setup was quite broken with each item using its own activation result and the ones of the subsequent items in the list as the return value.
This rendered the STANDSTILL check in the main function totally unpredictable because the value it depended on could come from any item in the list.
Changed it so that the main dispatcher function is part of sector_t and does the stepping through the list iteratively instead of letting each item recursively call its successor and let this function decide for each item alone whether it should be removed.
The broken setup also had the effect that any MusicChanger would trigger all following SecActEnter specials right on msp start.
2017-01-13 01:34:43 +01:00
Christoph Oelckers cf39af0642 - consolidated the sector action classes.
This can be done with a lot less overhead by using one of the object's properties to store the activation flag, so that all the nearly redundant trigger methods can be folded into one.
2017-01-13 01:06:37 +01:00
Christoph Oelckers 85a84b5e94 - scriptified FastProjectile. 2017-01-13 00:35:56 +01:00
Christoph Oelckers cc58f13e4e - scriptified the sector silencer. 2017-01-12 23:35:24 +01:00
Christoph Oelckers 3d73919092 - scriptified CustomBridge.OnDestroy. 2017-01-12 22:56:06 +01:00
Magnus Norddahl 9723078121 Removed dc_texturemid 2017-01-12 22:52:17 +01:00
Christoph Oelckers 7b7623d2c4 - split DObject::Destroy into the main method, a native OnDestroy and a scripted OnDestroy method and made the main method non-virtual
This was done to ensure it can be properly overridden in scripts without causing problems when called during engine shutdown for the type and symbol objects the VM needs to work and to have the scripted version always run first.
Since the scripted OnDestroy method never calls the native version - the native one is run after the scripted one - this can be simply skipped over during shutdown.
2017-01-12 22:49:18 +01:00
Magnus Norddahl bd8d2f501f Remove dc_light_list 2017-01-12 22:11:25 +01:00
Magnus Norddahl 9e940b4287 Remove basecolormap global 2017-01-12 21:29:19 +01:00
Magnus Norddahl 929e07697d Remove foggy global 2017-01-12 20:13:21 +01:00
Christoph Oelckers 0b94d4e0a3 - scriptified the bridge things, except the Destroy method which still requires work to allow virtually calling this. 2017-01-12 19:55:25 +01:00
Magnus Norddahl f912b4ab8b Convert r_actualextralight global to a function 2017-01-12 19:09:13 +01:00
Magnus Norddahl 40f79371f5 Remove GlobVis global as it apparently wasn't very global! 2017-01-12 18:38:27 +01:00
Magnus Norddahl 80e1844d6c Split r_main into r_viewport, r_scene and r_light 2017-01-12 16:21:46 +01:00
alexey.lysiuk de6a66851e Fixed issue with extraction of built GL nodes
See https://mantis.zdoom.org/view.php?id=39
2017-01-12 16:24:55 +02:00
Christoph Oelckers 8e19dc8f10 - restored dialog ID and removed commented-out old code. 2017-01-12 11:54:53 +01:00
Christoph Oelckers 23482735a0 - removed PClassAmmo.
No need to maintain these clunky meta class for one single property. The overhead the mere existence of this class creates is far more than 100 spawned ammo items would cost.
There is no need to serialize AAmmo::DropAmount, this value has no meaning on an already spawned item.
2017-01-12 11:44:33 +01:00
Christoph Oelckers da43576035 - updated IWAD picker template to the one submitted by Gez for QZDoom. 2017-01-12 10:11:43 +01:00
Christoph Oelckers bcd73292d3 - checked P_GetRenderSector against the original implementation from before the glsegextras were added and reinstated all checks from that version. 2017-01-12 09:58:13 +01:00
Rachael Alexanderson 1b750c1cfd Merge https://github.com/coelckers/gzdoom 2017-01-12 00:17:40 -05:00
Christoph Oelckers 0d575a20cc - added new PRINTNAME_ constants for retrieving next and secret next level. 2017-01-12 01:11:26 +01:00
Rachael Alexanderson a3ad22a460 Merge https://github.com/coelckers/gzdoom 2017-01-11 18:54:43 -05:00
Christoph Oelckers 85488f2f30 - added GetActorFloorTexture and GetActorFloorTerrain ACS functions. 2017-01-12 00:49:40 +01:00
Christoph Oelckers ea163f3898 - exported FCheckPosition to the VM and completed the parameter lists for Actor.CheckPosition and Actor.TryMove. 2017-01-12 00:26:16 +01:00
Christoph Oelckers 5ef9429ae4 - added the ability to attach a constructor or destructor to an internally defined struct.
There are a few which require explicit native construction or destruction that need to be exported to the VM, e.g. FCheckPosition.
The VM cannot handle this directly, it needs two special functions to be attached to handle such elements.
2017-01-11 23:46:03 +01:00
Magnus Norddahl c80860cd5d Split r_visibleplane into more files 2017-01-11 23:27:35 +01:00
Magnus Norddahl 2988a5fe87 Convert r_visibleplane into classes 2017-01-11 23:08:24 +01:00
Magnus Norddahl 9f8ac7e498 Convert r_skyplane into a class 2017-01-11 22:09:06 +01:00
Magnus Norddahl 0885ff44a0 Convert r_flatplane and r_slopeplane into classes 2017-01-11 21:59:26 +01:00
Magnus Norddahl fc29958dc7 Convert r_fogboundary to a class 2017-01-11 21:33:28 +01:00
Magnus Norddahl 3f8e5d26b8 Rename RenderBSP to RenderOpaquePass and RenderTranslucent to RenderTranslucentPass 2017-01-11 20:42:39 +01:00
Magnus Norddahl 6f1836b68b Move classes in r_visiblesprite to their own files 2017-01-11 19:50:07 +01:00
Magnus Norddahl 32b91dd978 Convert r_visiblesprite to classes 2017-01-11 19:33:02 +01:00
Magnus Norddahl 8ed66791e7 Change define to enum 2017-01-11 18:38:51 +01:00
Magnus Norddahl 48b4915f5b Convert r_playersprite to a class 2017-01-11 18:35:20 +01:00
Magnus Norddahl ee2811450d Convert r_wallsprite to a class 2017-01-11 18:28:19 +01:00
Magnus Norddahl 7bed0ffeb6 Convert r_voxel to a class 2017-01-11 18:25:14 +01:00
Magnus Norddahl 164af7264f Convert r_sprite into a class 2017-01-11 18:17:28 +01:00
Magnus Norddahl deae5bb1a6 Convert r_particle to a class 2017-01-11 18:14:04 +01:00