Commit graph

16264 commits

Author SHA1 Message Date
Christoph Oelckers
80427b72e9 - made OP_NEW a builtin function instead of an opcode.
The code was present 3 times due to the JIt, and this is not something that benefits from being a real opcode, even in the interpreted case.
2019-01-10 02:12:43 +01:00
Christoph Oelckers
9506b0e337 - moved the SectorMarker handling into the level itself. 2019-01-10 02:00:58 +01:00
Christoph Oelckers
8cc563b80f - moved particle storage to FLevelLocals. 2019-01-10 01:21:17 +01:00
Christoph Oelckers
2aa9c065ac - added Level parameter to R/P_PointInSector(Sub)Sector. 2019-01-10 00:30:04 +01:00
Christoph Oelckers
a28d5dd973 - moved sound sequence head of list into FLevelLocals. 2019-01-09 22:55:51 +01:00
Christoph Oelckers
ce8d5b48ef - fixing things. 2019-01-09 21:19:27 +01:00
Christoph Oelckers
21ac6ab97f - fixed saving. 2019-01-09 20:54:36 +01:00
Christoph Oelckers
0b2daaf20f - fixed bad variable name. 2019-01-09 20:48:16 +01:00
Christoph Oelckers
c19e1ff5d7 - moved interpolator into FLevelLocals.
- redid P_Ticker. This function is a messy affair of mixing per-level and per-session actions which all depend on proper ordering. As a result it has to run 3 ForAllLevels iterators to ensure that the order does not change.
2019-01-09 20:46:50 +01:00
Christoph Oelckers
45a4bc88a2 - Changed the sound system to ignore sounds not from the primary level.
This is a task for later when other things actually work, but until then, any sound from a sub-level should simply not play at all.
This required giving the positioned S_Sound version a Level argument so that the sound engine can check which level such a sound belongs to.
2019-01-09 19:53:14 +01:00
Christoph Oelckers
00b49282be - the missing parts of last commit. 2019-01-09 19:02:02 +01:00
Christoph Oelckers
4227b9020c - moved bglobal.freeze to FLevelLocals, because this flag has nothing specific to do with bots as it freezes the entire level. 2019-01-09 18:59:41 +01:00
Marrub
adeb8fb65b Fix return value of native BuiltinCallLineSpecial 2019-01-09 18:10:42 +01:00
Christoph Oelckers
cf967b36ff Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-01-09 16:51:43 +01:00
alexey.lysiuk
32cf79c519 - fixed crash with Line_SetPortal special
https://forum.zdoom.org/viewtopic.php?t=63191
2019-01-09 11:41:22 +02:00
alexey.lysiuk
a173021c75 - fixed crash on loading linedefs 2019-01-09 10:55:12 +02:00
alexey.lysiuk
cb4548a160 - fixed compilation error
src\p_tags.cpp(302): error C2143: syntax error: missing ')' before '}'
2019-01-09 10:01:08 +02:00
Christoph Oelckers
0180bcb178 Moved Strife conversation data into FLevelLocals. 2019-01-09 02:03:26 +01:00
Christoph Oelckers
0ed856fbd4 - moved the TIDHash array to FLevelLocals and adjusted the actor iterator code. 2019-01-09 01:42:25 +01:00
Christoph Oelckers
e70d708163 - forgot to delete the static tag manager. 2019-01-09 01:02:03 +01:00
Christoph Oelckers
520d73edf6 - moved the impact decal counter into FLevelLocals and do the counting in a less problematic fashion.
This was yet another piece of code that lived or died with the assumption that there can only be one level, stored in global variables.
2019-01-09 00:04:28 +01:00
Christoph Oelckers
6b9641d673 - moved the tag manager into FLevelLocals.
This also involves deprecating the old creation functions because they do not have a proper level context.
2019-01-08 23:39:48 +01:00
Christoph Oelckers
e91971964f - another large batch of level references removed. 2019-01-08 20:40:43 +01:00
Chronos Ouroboros
d027ef95a3 Fixed multidimensional array definitions. 2019-01-08 17:26:12 +01:00
Christoph Oelckers
c01d3210c2 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/s_sound.cpp
2019-01-08 17:02:33 +01:00
Christoph Oelckers
cf946ff82a - removed another large batch of 'level' references. 2019-01-08 16:58:14 +01:00
alexey.lysiuk
df2893eb45 - increased range of valid sound positions and velocities
https://forum.zdoom.org/viewtopic.php?t=61420
2019-01-08 16:20:14 +02:00
alexey.lysiuk
ac9ab26556 - fixed crash on sound playback without a level 2019-01-08 16:16:26 +02:00
Christoph Oelckers
457969262d - listenactor can be null. 2019-01-08 12:33:14 +01:00
Christoph Oelckers
73fd072d10 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-01-08 10:03:57 +01:00
alexey.lysiuk
3d7b4d946b - fixed build of optimized targets
Undefined symbols for architecture x86_64:
  "AActor::__GetLevel() const", referenced from:
      FModelRenderer::RenderModel(float, float, float, FSpriteModelFrame*, AActor*, double) in models.cpp.o
      FCajunMaster::RemoveAllBots(bool) in b_game.cpp.o
      AF_AAmbientSound_Tick(VMValue*, int, VMReturn*, int) in s_advsound.cpp.o
      V_AddPlayerBlend(player_t*, float*, float, int) in v_blend.cpp.o
      ModActorFlag(AActor*, FString const&, bool, bool) in thingdef_properties.cpp.o
2019-01-08 10:13:41 +02:00
Christoph Oelckers
48fa938b10 - Gave DThinker a Level field and replaced all uses of the placeholer __GetLevel function.
Thinkers are always part of a level if they are linked and active, so this reference needs to be kept so that a thinker can unlink itself on destruction.
2019-01-08 01:57:26 +01:00
Christoph Oelckers
8dabd2961d Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-01-08 01:19:26 +01:00
Christoph Oelckers
63c516a1a9 - p_acs.cpp done. 2019-01-08 00:49:49 +01:00
Christoph Oelckers
52fbfb3f49 - removed level references in the software renderers. 2019-01-07 22:31:19 +01:00
Christoph Oelckers
f251e341a8 - continued with the 'level' eradication. 2019-01-07 20:50:34 +01:00
Christoph Oelckers
aac7657fb1 - P_Ticker handled
It may be a bit tricky to separate per-session and per-level actions here - for now only the sound resuming has been moved because that cannot be done per level.
2019-01-07 17:33:17 +01:00
Christoph Oelckers
15f933f20a - did some more simple replacements of level 2019-01-07 17:31:06 +01:00
Christoph Oelckers
e9e303405f - same for the ambient sound 2019-01-07 17:28:30 +01:00
Christoph Oelckers
b57c6df075 - removed dependency on global time in sound sequence code.
This can better use a countdown timer that doesn't depend on external behavior.
2019-01-07 17:22:38 +01:00
Christoph Oelckers
dac380cc71 - removed most level access from sound code. 2019-01-07 17:11:55 +01:00
Christoph Oelckers
6b9b2d3b4b Moved access to ACS instance data out of ScriptUtil worker class
This is better done at a higher level.
2019-01-07 17:04:16 +01:00
Christoph Oelckers
949da8eb8d - removed global level variable from a few more places
The serializer will require special treatment because it needs the level to index the map geometry.
However, since this only gets called from inside the level itself, the solution is relatively simple: At the start of level serialization it sets the level pointer and at the end clears it again.
2019-01-07 17:00:51 +01:00
Christoph Oelckers
56fd068126 Moved high level parts of view border drawing to status bar. 2019-01-07 16:56:44 +01:00
alexey.lysiuk
0441c9c950 - fixed key number assignment during parsing of locks
https://forum.zdoom.org/viewtopic.php?t=63171
2019-01-07 14:45:04 +02:00
alexey.lysiuk
162db98674 - fixed crash on creation of scroll texture
Example: Hadephobia MAP19 crashes on loading
2019-01-07 11:33:39 +02:00
alexey.lysiuk
69d5fa3c4e - fixed many compilation errors with GCC and Clang 2019-01-07 10:22:31 +02:00
Christoph Oelckers
5577143b6f - fix missing include 2019-01-07 08:21:51 +01:00
Chronos Ouroboros
523983a836 Added support for implicitly-sized initialized arrays.
Also fixed dynamic arrays not being cleared before initializing.
2019-01-07 08:18:51 +01:00
Christoph Oelckers
1b068a10c6 - fixed last PR.
The result of GetPointer must be null checked as well!
2019-01-07 01:09:57 +01:00