Christoph Oelckers
49a07180c0
- scriptified ClassChanged.
2017-02-17 23:56:22 +01:00
ZZYZX
12aa18a92b
Preparing to do class-based method scopes: can't change class scope once defined (play stays play, ui stays ui)
2017-02-18 00:39:57 +02:00
Christoph Oelckers
50d2846e40
- scriptified UpdateColorsets.
2017-02-17 23:16:07 +01:00
Magnus Norddahl
89a2e434d4
Fix typo where __m128 should have been __m128i
2017-02-17 23:03:48 +01:00
Magnus Norddahl
4240a15f3a
Hook up php generated wall drawer
2017-02-17 22:58:55 +01:00
ZZYZX
014db18f2a
Fixed some things around
2017-02-17 23:36:16 +02:00
Christoph Oelckers
97eed1e6df
- scriptified UpdateSkins.
2017-02-17 22:12:56 +01:00
ZZYZX
3056570ea9
Implemented a call check between ui/play/data
2017-02-17 23:02:43 +02:00
Christoph Oelckers
498da825a5
- made the Skins array scripting friendly and exported it.
2017-02-17 21:51:23 +01:00
ZZYZX
a2f3d8511d
Implemented a read check between ui/play/data fields with a meaningful error
2017-02-17 22:46:18 +02:00
ZZYZX
a7a4406bb1
Supposedly implemented a write check between ui/play/data
2017-02-17 22:41:04 +02:00
ZZYZX
8b0dee6f66
My am dumb: PStruct is a base for PClass
2017-02-17 22:00:47 +02:00
Christoph Oelckers
6a2525b737
- scriptified PickPlayerClass.
2017-02-17 20:58:11 +01:00
Christoph Oelckers
b375657509
- scriptified DPlayerMenu::SkinChanged.
2017-02-17 20:49:04 +01:00
Christoph Oelckers
51493cde8c
- scriptified DPlayerMenu::MenuEvent.
2017-02-17 20:02:26 +01:00
ZZYZX
ecd4f5a32d
Removed supposedly debug value added in commit b0f3121bec
2017-02-17 20:25:11 +02:00
ZZYZX
496b2a74ce
Disallow const qualifier for classes
2017-02-17 20:04:40 +02:00
ZZYZX
195ae24dcb
const method cannot write to self
2017-02-17 19:54:59 +02:00
ZZYZX
338e676e73
Allow calling const methods on readonly structs
2017-02-17 19:25:29 +02:00
Christoph Oelckers
f4e9cd0009
- scriptified DPlayerMenu::MouseEvent.
2017-02-17 18:21:59 +01:00
ZZYZX
0f031c5f22
Renamed 'allowui' to 'clearscope'. 'allowui' doesn't reflect the real meaning of the keyword which clears implicit 'play' or 'ui' inherited from parent class (for classes) or owning type (for methods/fields)
2017-02-17 18:24:01 +02:00
ZZYZX
2b20abff02
Fixed consistency of checks
2017-02-17 18:01:39 +02:00
ZZYZX
4fe9c7d8c8
Added parsing of ui, play, allowui and const qualifiers
2017-02-17 17:58:16 +02:00
Christoph Oelckers
416911587e
- scriptified PlayerMenu.Drawer
2017-02-17 16:53:36 +01:00
Magnus Norddahl
cd2179e62a
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-17 05:35:15 +01:00
Magnus Norddahl
e42f914efa
Added php script generating the 32 bit wall drawers
2017-02-17 05:34:33 +01:00
Rachael Alexanderson
80f762f8a4
Merge https://github.com/coelckers/gzdoom
2017-02-16 20:40:07 -05:00
Christoph Oelckers
18925d07be
- fixed a typo.
2017-02-16 23:17:19 +01:00
Christoph Oelckers
b523aa13c8
- fixed crash with bad state labels.
2017-02-16 21:51:32 +01:00
Christoph Oelckers
1d52037779
- skip the Direct3D setup if building with a non-XP toolset on Visual Studio.
2017-02-16 21:01:52 +01:00
Christoph Oelckers
36e5bab657
- removed the fixed search path for FMod on drive E: because this can cause problems with automated builds on unknown systems.
...
This should never have been set up like this.
2017-02-16 19:45:03 +01:00
Christoph Oelckers
944f2bf266
- fixed armor save percentage values in Dehacked.
2017-02-16 19:29:07 +01:00
Christoph Oelckers
ccb083ed25
- fixed initialization of joystick menu with bogus MENUDEFS
2017-02-16 18:55:36 +01:00
Christoph Oelckers
cfeb1724fe
- added a Door_AnimatedClose special.
2017-02-16 18:35:58 +01:00
Christoph Oelckers
4d99b58f96
- allow using the default menu settings classes when none is specified in MENUDEFS.
2017-02-16 17:45:51 +01:00
ZZYZX
5e5d0d3e57
Using separate keyword 'nonew' as reverse abstract; nonew is inherited, and nonew class can only be created from the first nonew class in the hierarchy
2017-02-16 12:40:09 +02:00
alexey.lysiuk
59db1a882f
Fixed compilation warnings reported by MSVC
...
src\s_sound.cpp(1259): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
src\c_bind.cpp(479): warning C4101: 'c': unreferenced local variable
2017-02-16 11:01:06 +02:00
ZZYZX
0803faf596
Compile time check for abstract class instantiation to reduce programming errors ASAP
2017-02-16 04:22:14 +02:00
ZZYZX
0819dd8d89
Actually pass PFunction to OP_NEW
2017-02-16 04:14:21 +02:00
ZZYZX
7d3663500f
Disallow creation of abstract classes outside of their own class (this is so that modders can create their own factory methods, not just for native)
2017-02-16 03:49:03 +02:00
Rachael Alexanderson
ef22d10756
Merge https://github.com/coelckers/gzdoom
2017-02-15 20:08:21 -05:00
ZZYZX
363990a105
Class abstractness should be inherited
2017-02-16 02:31:20 +02:00
ZZYZX
3577e4eddc
Fixed possible nullptr dereferencing on c->Type() == nullptr
2017-02-16 02:14:49 +02:00
Christoph Oelckers
304e989496
- allow splashing on non-swimmable, non-solid 3D floors if they are marked liquid and have a splash assigned.
2017-02-15 23:06:24 +01:00
Christoph Oelckers
4df2a221a8
- fixed: The special called by the InterpolationSpecial actor must have no activator.
...
This required splitting A_CallSpecial into a direct wrapper around P_ExecuteSpecial and implementing itself as a script function calling ExecuteSpecial so that this special case can use a version of the function that can be used without an activator.
2017-02-15 22:49:13 +01:00
Christoph Oelckers
b3d7980b90
- fixed: PowerProtection clamped its damage minimum to 1, but should do it to 0.
2017-02-15 21:20:11 +01:00
Rachael Alexanderson
bf1aa71194
Merge https://github.com/coelckers/gzdoom
2017-02-15 11:19:51 -05:00
Rachael Alexanderson
bd86abede3
- fixed Skulltag rune bugs.
...
1) When used in a hub, returning to a previous level in the hub deactivated the runes if they were a permanent powerup.
2) When picking up two different runes with the same effect, one rune wearing off removed the effect completely.
3) This entire system was done through an extremely hacky CheatFlags implementation. This was a gross hack, and it was no wonder it didn't always work properly.
2017-02-15 16:37:45 +01:00
Magnus Norddahl
c95a52166d
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-15 13:26:52 +01:00
Magnus Norddahl
01cbb14f14
Change wall project to use the fixed version from GZDoom as it was most likely more tested
2017-02-15 13:26:43 +01:00
Christoph Oelckers
46d12635ce
- fixed warning
2017-02-15 13:17:20 +01:00
Christoph Oelckers
67f6f28b55
- fixed: When finding the highest floor plane on a given side of a linedef, the necessary tests may not depend on the actual highest floor, which may originate from the other side of the line and cause valid planes that are between the currently set plane and the actual highest floor to be skipped.
2017-02-15 13:14:59 +01:00
Rachael Alexanderson
e01895bf80
Merge https://github.com/coelckers/gzdoom
2017-02-15 07:06:52 -05:00
Magnus Norddahl
fc97ef0913
Fix palette fog boundary rendering error
2017-02-15 13:01:00 +01:00
Christoph Oelckers
d8b8767ee9
- disabled render events pending further discussion and evaluation.
2017-02-15 12:27:50 +01:00
Christoph Oelckers
c8db1f151e
- fixed: All FNames inside actor classes need to be FNameNoInit or their constructor will overwrite them after copying the defaults.
2017-02-15 12:16:24 +01:00
Christoph Oelckers
d8ebbcfc08
- fixed: When loading a savegame the player class in the userinfo needs to be updated.
...
- fixed: Class pointers should not be added to the list of garbage collected pointers.
- fixed several warnings in the event code.
2017-02-15 11:55:08 +01:00
Rachael Alexanderson
5dad292c56
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-02-15 05:43:15 -05:00
Rachael Alexanderson
2b8db72cef
Merge commit '2234d36c7ac531fd802803216f747f82b58be8c2'
...
# Conflicts:
# src/r_main.cpp
# src/r_plane.cpp
# src/r_things.cpp
2017-02-15 05:42:57 -05:00
Rachael Alexanderson
959ac8c65b
Merge commit '9caf5c641b374848c065059b5152339806fa7734'
2017-02-15 05:28:38 -05:00
Christoph Oelckers
6fef653aa1
- exported GetUDMF methods to scripting.
2017-02-15 01:03:47 +01:00
Christoph Oelckers
8d7a64bd17
- added a virtual 'used' method that gets called when the player presses use on an actor. This method will only be called if the actor does not have the USESPECIAL flag - that one will be handled as before.
2017-02-15 00:43:30 +01:00
Christoph Oelckers
c01289e999
- added ZScript property handling for names, sounds and colors.
2017-02-14 23:28:49 +01:00
Christoph Oelckers
2f1b5c375e
- fixed: Line_SetPortal crashed with one-way portals.
2017-02-14 23:13:29 +01:00
Christoph Oelckers
c5204f34ca
- fixed: The code to play the mage lightning's attack sound was converted wrong, because it used the same structure as looping sounds normally so, but doesn't actually loop.
2017-02-14 22:51:53 +01:00
Christoph Oelckers
a6156297ce
- don't adjust sprite offsets of IWAD sprites in sequences which have been replaced partially. This can be overridden by specifying 'iwadforced' in the SPROFS lump.
2017-02-14 22:04:52 +01:00
Christoph Oelckers
3170591e32
- restated some weird number manipulation in SBARINFO for powerup time. This appears to be needed to distinguish between non-expiring items and non-present items.
2017-02-14 22:04:52 +01:00
alexey.lysiuk
a9f650c3f2
Fixed compilation warnings reported by GCC/Clang
...
src/events.cpp:167:66: warning: format specifies type 'char *' but the argument has type 'char' [-Wformat]
src/events.cpp:167:84: warning: data argument not used by format string [-Wformat-extra-args]
src/events.cpp:1036:20: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2017-02-14 22:13:31 +02:00
alexey.lysiuk
dd0f55e8d8
Fixed compilation of Cocoa backend
2017-02-14 22:02:47 +02:00
Christoph Oelckers
b7b0e64471
- separated splash detection from water level setting.
...
This could cause problems if 3D floors with different properties for slashing and waterlevel were occupied at the same time. By keeping the slash code separate both parts can be handled without having to look out for the other.
2017-02-14 20:11:30 +01:00
Christoph Oelckers
9e769f29c3
- the native part wasn't saved.
2017-02-14 19:34:01 +01:00
Christoph Oelckers
2234d36c7a
Merge branch 'thereisnospoon' of https://github.com/jewalky/gzdoom
...
# Conflicts:
# src/dobject.h
2017-02-14 19:10:02 +01:00
Christoph Oelckers
2e5ada5f25
- fixed texture clamping calculations for negative scales.
2017-02-14 18:20:21 +01:00
Christoph Oelckers
2e11b4f346
- fixed: The S_Sound script export did not call the actual function.
2017-02-14 17:03:31 +01:00
Christoph Oelckers
7b1645d239
- fixed the item check in OptionMenuItemCommand.
...
This was calling the wrong GetItem function.
2017-02-14 16:50:10 +01:00
Magnus Norddahl
7f81e0bd26
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2017-02-14 14:55:02 +01:00
Christoph Oelckers
443ac50887
- fixed: DMenu::CallTicker called the Drawer methods of the menu instead of the Ticker methods.
2017-02-14 13:19:37 +01:00
alexey.lysiuk
08bf08f297
Restored effect of negative horizontal texture scale in software renderer
2017-02-14 12:33:27 +02:00
Magnus Norddahl
eac98ac226
Calculate sprite dynamic light contribution and pass it along to the sprite drawer
2017-02-14 06:37:06 +01:00
Magnus Norddahl
5ef8ecce2a
Fix wall scroller direction
2017-02-14 02:52:41 +01:00
Christoph Oelckers
73ed351144
- don't error out on unknown CVars for optional parameters in menu items.
2017-02-13 23:24:31 +01:00
Rachael Alexanderson
2a71ec89de
Merge https://github.com/coelckers/gzdoom
2017-02-13 17:02:56 -05:00
Christoph Oelckers
32da1de385
- fixed: negative texture scales should not affect the direction a wall scrolls in.
2017-02-13 22:37:16 +01:00
Christoph Oelckers
cb758f6dab
- added a 'nolightfade' MAPINFO option which disables light diminishing in OpenGL. Note that this only works for light modes 0-3. Modes 4 and 8 use special light math that would not work if such a setting was forced.
2017-02-13 22:17:15 +01:00
Christoph Oelckers
1a63450fe2
- fixed a few issues with actor bouncing logic.
2017-02-13 22:00:27 +01:00
Christoph Oelckers
5dd00e44ef
- fixed bad parameters for MouseEvent call in menus.
2017-02-13 20:06:07 +01:00
Christoph Oelckers
6525e04118
- added restrictions to CVAR and CCMD access functions for the menus. CVAR changes are only allowed when the menu is open or for mod-CVARs. The CCMD execution function is now private to the control requiring it and heavily guarded against improper access from the outside so that abuse is mostly impossible.
...
This also means that the remaining scriptification of the menu is on hold. The player menu would require even more access to critical game data, which is a no-go, and the other remaining menus offer little benefit from getting scriptified.
2017-02-13 19:18:45 +01:00
Christoph Oelckers
7877bcbdcb
- exported more parts of the joystick menus and also exported all strings for them to the string table.
...
- exported the skeleton definition for list menus.
2017-02-13 17:45:03 +01:00
Magnus Norddahl
9159e3b1f0
Move software canvas drawing to its own file in the software renderer
2017-02-13 17:32:52 +01:00
Magnus Norddahl
10b36934c2
Fix vid_hw2d 0 translation bug
2017-02-13 16:13:24 +01:00
Magnus Norddahl
93f43e8751
Menu code accessed the screen buffer without a lock
2017-02-13 15:42:35 +01:00
Magnus Norddahl
69787fac72
Fix translation issue
2017-02-13 15:08:11 +01:00
raa-eruanna
a2edca6032
- fix at least one of the GCC errors
2017-02-13 07:01:44 -05:00
Rachael Alexanderson
8c176575c8
Merge https://github.com/coelckers/gzdoom
2017-02-12 21:39:20 -05:00
Christoph Oelckers
89ef30166d
- fixed assembly output for SO instruction.
2017-02-13 00:25:39 +01:00
Christoph Oelckers
46c0d27fe7
- scriptified the entire OptionMenu class and all still existing native subclasses.
2017-02-13 00:08:20 +01:00
Magnus Norddahl
22be201fc7
Split line drawing into more functions
2017-02-13 00:00:25 +01:00
Christoph Oelckers
12db190f41
- scriptified the CVar printers for the gameplay and compatibility menus.
2017-02-12 23:17:05 +01:00
Christoph Oelckers
2b977f70e6
- scriptified the video mode menu (only the part that extends the actual menu class, the entire thing is basically non-modifiable but this code would otherwise stand in the way of properly handling the rest of the menus.)
2017-02-12 23:05:39 +01:00
Christoph Oelckers
7d96f85fe8
Merge remote-tracking branch 'remotes/origin/master'
2017-02-12 21:57:46 +01:00
Christoph Oelckers
b6ad14a614
- made adjustments to text input menu to work with scripts.
2017-02-12 21:45:37 +01:00
Christoph Oelckers
f0e925c5a7
- scripted color picker fully working.
2017-02-12 20:20:47 +01:00
Christoph Oelckers
dbf3530696
- the keybinding control works again, this time fully scripted.
2017-02-12 18:38:23 +01:00
Christoph Oelckers
2e9c1ec3f3
- fixed translation setup for player backdrop.
...
- fixed return value of GetAction method of menu controls.
2017-02-12 16:48:29 +01:00
Christoph Oelckers
03283de4e8
- fixed issues with option menu items.
...
- fixed the octal parser in strbin.
- remove 'new' token because it gets in the way.
2017-02-12 16:02:55 +01:00
Christoph Oelckers
4562695854
- fixed stringtable access in menus.
2017-02-12 14:28:38 +01:00
Christoph Oelckers
bb6def820f
- everything compiles and mostly works again.
2017-02-12 14:04:48 +01:00
Rachael Alexanderson
ae0ef8b09d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-02-12 06:28:20 -05:00
Magnus Norddahl
9482c3e639
Fixed voxel clipping bug
2017-02-12 11:32:06 +02:00
alexey.lysiuk
c01107181a
Reset sound position only when there is no listener
...
https://mantis.zdoom.org/view.php?id=206
https://mantis.zdoom.org/view.php?id=248
2017-02-12 11:26:25 +02:00
Magnus Norddahl
83332562f1
Fix skyhack
2017-02-12 07:37:18 +01:00
Magnus Norddahl
bb749c032a
Create SetTopTexture, SetMiddleTexture and SetBottomTexture
2017-02-12 07:24:35 +01:00
Magnus Norddahl
b5c5bd9a1c
Create ClipSegmentTopBottom function
2017-02-12 06:44:03 +01:00
Magnus Norddahl
8d25a6d8d4
rw_offset is not a member variable
2017-02-12 06:23:57 +01:00
Magnus Norddahl
0dadf38bbe
Create WallPartTexture class
2017-02-12 06:17:38 +01:00
Magnus Norddahl
0ba8448782
Fix colormap null pointer crash
2017-02-12 03:25:27 +01:00
Magnus Norddahl
9123c71bb6
Fix clang warning
2017-02-12 03:25:17 +01:00
Magnus Norddahl
5a85fabfa6
Add true color support to voxel renderer
2017-02-12 01:27:26 +01:00
Christoph Oelckers
ee1217c8c7
- everything compiles again, now to make it work again with all menu widgets 100% scripted.
2017-02-12 01:18:49 +01:00
Magnus Norddahl
0cea344dce
Fix voxel clipping bug
2017-02-11 23:23:34 +01:00
Magnus Norddahl
8c5360e547
Enable Ken Silverman's voxel drawing code now that he has given us permission to license it as GPL
2017-02-11 22:10:52 +01:00
Christoph Oelckers
2a5b26c27c
- removed native option menu controls. Note that this commit will not compile!
2017-02-11 21:28:48 +01:00
Magnus Norddahl
3e28d53308
Move rw_havelow and rw_havehigh to local function variables
2017-02-11 20:27:11 +01:00
Magnus Norddahl
9e2702d885
Move more encrypted code into IsInvisibleLine, IsDoorClosed and IsSolid
2017-02-11 20:01:23 +01:00
Magnus Norddahl
1983dd2483
Move code closer to where it is used
2017-02-11 19:13:26 +01:00
Magnus Norddahl
1141e05fdf
Decipher some line setup code into ShouldMarkFloor, ShouldMarkCeiling and ShouldMarkPortal
2017-02-11 18:52:49 +01:00
Magnus Norddahl
c17317de24
Rename variables and group them a little more how they are used
2017-02-11 18:00:02 +01:00
Christoph Oelckers
fc4e1ffcdf
- separated the savegame menu code into an internal class managing the savegame data and the actual menu.
...
The manager class cannot be scriptified because it provides the internal implementation which may change at some point in the future. It also encapsulates all access to the file level because if that part is not protected, modders could write malware mods.
2017-02-11 17:20:12 +01:00
Christoph Oelckers
947b625c50
- all menu items scriptified, but not yet active.
2017-02-11 16:11:48 +01:00
Rachael Alexanderson
a52f79055d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/menu/playerdisplay.cpp
2017-02-11 05:05:24 -05:00
Christoph Oelckers
f91d91d6e8
- all optionmenu items scriptified, but not integrated yet.
2017-02-11 00:36:53 +01:00
alexey.lysiuk
d2affc7c0c
Fixed crash on attempt to get string value of null
...
https://mantis.zdoom.org/view.php?id=231
2017-02-10 16:19:33 +02:00
Christoph Oelckers
98de1fcfcb
- make the pixel buffer of the player backdrop dynamic.
2017-02-10 14:18:00 +01:00
Christoph Oelckers
65174af544
- moved the backdrop for the player box into the texture manager so that the menu doesn't have to bother with managing the texture itself.
2017-02-10 14:07:21 +01:00
Christoph Oelckers
8c780ab7ff
- exported the drawer function of the colorpicker menu.
2017-02-10 13:21:35 +01:00
alexey.lysiuk
04e2b3be4a
Fixed compilation with GCC/Clang
...
No more 'enumeration previously declared with fixed underlying type' error
2017-02-10 13:34:28 +02:00
Christoph Oelckers
be9b2b38fc
- ColorpickerMenu.MouseEvent exported.
2017-02-10 11:44:46 +01:00
Rachael Alexanderson
ad1092c670
Merge https://github.com/coelckers/gzdoom
2017-02-10 00:16:25 -05:00
Christoph Oelckers
07ba75762b
- the first menu function has been scriptified.
2017-02-10 00:25:50 +01:00
Magnus Norddahl
3c0d769499
Fix portals draw segment indexing bug
2017-02-09 22:58:28 +01:00
Christoph Oelckers
7efa9cd70d
- made the menu descriptors garbage collectable and started exporting some fields as preparation for script work on the menu.
2017-02-09 20:18:53 +01:00
Rachael Alexanderson
6ed46921c8
Merge https://github.com/coelckers/gzdoom
2017-02-09 11:21:01 -05:00
Christoph Oelckers
f37db344df
- removed class pointers from AActor's pointer list.
2017-02-09 15:13:43 +01:00
alexey.lysiuk
7c8babceba
Extended mouse wheel handling in Cocoa backend
...
Horizontal scrolling using mouse wheel with Shift keyboard button hold is no longer ignored
2017-02-09 16:07:28 +02:00
alexey.lysiuk
14ca635dc1
Fixed clashing of actor render flags' values
...
Sorted definitions in ascending order of values
See https://mantis.zdoom.org/view.php?id=204
2017-02-09 15:45:35 +02:00
Magnus Norddahl
ff4de4a744
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-09 12:19:33 +01:00
Magnus Norddahl
c16aa3d361
Fix crouch player sprite
2017-02-09 12:18:40 +01:00
Christoph Oelckers
4e1300ecbe
- added a script export for ACS's ReplaceTextures function.
2017-02-09 12:02:07 +01:00
Rachael Alexanderson
325ef6d7d7
Merge https://github.com/coelckers/gzdoom
2017-02-09 05:56:01 -05:00
nashmuhandes
3d9673af44
Fixed: Models did not take SpriteRotation into account
2017-02-09 11:29:10 +01:00
nashmuhandes
a4d146c843
Added DONTCULLBACKFACES MODELDEF flag to forcefully disable backface culling on models
2017-02-09 11:24:10 +01:00
Christoph Oelckers
845f5e0833
- fixed: A_Teleport and A_Warp had incorrect declarations for their state parameter.
2017-02-09 11:22:36 +01:00
Christoph Oelckers
4f0747c59e
- fixed: Class pointers were accepted for objects of the base type 'Object'.
2017-02-09 11:11:54 +01:00
alexey.lysiuk
4dd7e02721
AActor::GiveInventory() is now functional
...
See https://mantis.zdoom.org/view.php?id=213
2017-02-09 10:15:05 +02:00
Rachael Alexanderson
47100e473e
Merge https://github.com/coelckers/gzdoom
2017-02-09 02:09:21 -05:00
Magnus Norddahl
371dd98102
Show player in mirrors and portals
2017-02-09 05:57:37 +01:00
Magnus Norddahl
388c511e11
Fix portal sprite clipping bugs
2017-02-09 05:42:15 +01:00
Christoph Oelckers
ccecfeb45c
- to avoid problems with the final garbage collection, the players' PendingWeapon needs to be cleared manually.
...
This is because it can point to a non-standard value which the garbage collector cannot deal with during engine shutdown.
2017-02-09 01:34:07 +01:00
Rachael Alexanderson
5948c7b0da
Merge https://github.com/coelckers/gzdoom
2017-02-08 18:42:24 -05:00
Christoph Oelckers
4e685f2b78
- fixed: for unpositioned sounds the play position was never initialized and depended on random memory contents.
2017-02-08 23:29:52 +01:00
Christoph Oelckers
36a07b8e6e
- remove all type table entries from garbage collection.
...
Like the symbols and the VM functions this is data that is static from startup until shutdown and has no need to be subjected to garbage collection. All things combined this reduces the amount of GC-sensitive objects at startup from 9600 to 600.
2017-02-08 22:43:20 +01:00
Christoph Oelckers
8277299135
- Turned DropItem into a plain struct again like it was before the scripting branch got merged.
...
Making this an object had little to no advantage, except being able to remove the deleter code. Now, with some of the class data already being allocated in a memory arena so that freeing it is easier, this can also be used for the drop item lists which makes it unnecessary to subject them to the GC. This also merges the memory arenas for VM functions and flat pointers because both get deleted at the same time so they can share the same one.
2017-02-08 20:37:22 +01:00
Christoph Oelckers
9499c22dfe
- restored ZDoom 2.8.1's version of FindClassTentative which just modified the existing class instead of replacing it and having to run a costly and volatile PointerSubstitution call to replace all pointers to the old one.
2017-02-08 19:52:33 +01:00
Christoph Oelckers
17a2666bd4
- moved DisplayName, the last remaining PlayerPawn meta property, to PClassActor so that PClassPlayerPawn could be removed.
...
Now all actors have the same metaclass and therefore it will always be the same size which will finally allow some needed changes to the type system which couldn't be done because it was occasionally necessary to replace tentatively created classes due to size mismatches.
2017-02-08 19:42:24 +01:00
Christoph Oelckers
68e9918ed5
- moved player color sets and pain flashes into global variables.
...
There's simply never enough of them and they are used far too infrequently to justify the hassle of tagging along two TMaps per class.
For what they provide, single global lists that handle all player classes at once are fully sufficient.
2017-02-08 19:10:11 +01:00
Major Cooke
dd102caf13
- Fixed: SetCamera didn't have the 'action' identifier, nor did it use the actual 'cam' actor provided, rendering it nonfunctional.
2017-02-08 18:17:09 +01:00
Christoph Oelckers
c77f6636f8
- moved the three remaining variables from PClassInventory to PClassActor so that PClassInventory can be removed.
2017-02-08 18:11:23 +01:00
Christoph Oelckers
eebe09fb59
- moved the scalar class properties of PClassInventory into AInventory.
...
What's left is the non-scalars, they will need different treatment to get them out of the way.
2017-02-08 16:57:48 +01:00
Christoph Oelckers
2ca0e34785
- turned many of PClassPlayerPawn's strings into names and moved all scalar properties into APlayerPawn.
...
The goal is to get rid of PClassPlayerPawn and PClassInventory so that the old assumption that all actor class descriptors have the same size can be restored
This is important to remove some code that seriously blocks optimization of the type table because that can only be done if types do not need to be replaced.
2017-02-08 16:42:13 +01:00
Christoph Oelckers
a6785afddb
- optimized the FName versions of IsDescendantOf and IsKindOf. These can be done without first looking up the class type itself.
2017-02-08 15:47:22 +01:00
Christoph Oelckers
31223ca180
- remove all symbols that get linked into the symbol table from the garbage collector.
...
Symbols are very easy to manage once they are in a symbol table and there's lots of them so this reduces the amount of work the GC needs to do quite considerably.
After cleaning out compile-time-only symbols there will still be more than 2000 left, one for each function and one for each member variable of a class or struct.
This means more than 2000 object that won't need to tracked constantly by the garbage collector.
Note that loose fields which do occur during code generation will be GC'd just as before.
2017-02-08 14:34:39 +01:00
Christoph Oelckers
f1b3d60b2f
- PSymbol does not need to inherit from PTypeBase. This also means that there are no remaining references to any symbol object outside of the symbol tables.
2017-02-08 13:37:13 +01:00
Christoph Oelckers
18c532c307
- moved the compiler symbols into their own file.
...
- removed all pointer declarations to types from the symbols. All types must be placed into the type table which means that they can be considered static.
2017-02-08 13:17:25 +01:00
Christoph Oelckers
5a81a4ca16
- moved a few things around to have them into better fitting places.
2017-02-08 12:24:08 +01:00
Christoph Oelckers
f6d6f310a9
- fixed comments.
2017-02-08 11:56:12 +01:00
Christoph Oelckers
3cbd62479b
- took VMFunction out of the DObject hierarchy.
...
As it stood, just compiling the internal ZScript code created more than 9000 DObjects, none of which really need to be subjected to garbage collection, aside from allowing lazy deallocation.
This puts an incredible drag on the garbage collector which often needs several minutes to finish processing before actual deletion can start.
The VM functions with roughly 1800 of these objects were by far the easiest to refactor so they are now. They also use a memory arena now which significantly reduces their memory footprint.
2017-02-08 11:13:41 +01:00
Magnus Norddahl
2d25002e2a
Fix InterestingSegments not being properly resized in PopPortal
2017-02-08 02:59:25 +01:00
Magnus Norddahl
4f73a722af
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_draw.cpp
2017-02-08 00:34:19 +01:00
Christoph Oelckers
3cddcc8524
- removed PClassType and PClassClass.
...
All non-actors now use PClass exclusively as their type descriptor.
Getting rid of these two classes already removes a lot of obtuse code from the type system, but there's still three more classes to go before a major cleanup can be undertaken.
2017-02-07 20:45:56 +01:00
Magnus Norddahl
b36444ca1c
Fix camera shader colormap (invulnerability effect) not getting applied to hardware accelerated player sprites
2017-02-07 20:43:41 +01:00
Christoph Oelckers
e3d07bddab
- moved the TypeTableType pointer from PClassType to PType.
...
Removing this variable is needed to remove PClassType and PClassClass as the next step to eliminate all of PClass's subclasses in order to clean up the type system.
2017-02-07 20:25:52 +01:00
Christoph Oelckers
7ed554158c
- got rid of PClassWeapon.
...
Still 5 subclasses of PClass left...
2017-02-07 19:02:27 +01:00
Christoph Oelckers
776509e68a
- let skip_super use the AActor assignment operator. The blanket memcpy it used was clobbering some data.
...
- moved the Finalize method from PClassActor to AActor. Now that defaults get their vtbl pointer initialized this will actually work.
2017-02-07 18:12:59 +01:00
Christoph Oelckers
56024a1ebe
- implemented the backend for dynamic arrays. Still needs thorough testing but it should be complete.
...
- use a memory arena to store flat pointers so that the messed up cleanup can be avoided by deallocating this in bulk.
- added a new SO opcode to the VM to execute a write barrier. This is necessary for all objects that are not linked into one global table, i.e. everything except thinkers and class types.
- always use the cheaper LOS opcode for reading pointers to classes and defaults because these cannot be destroyed during normal operation.
- removed the pointless validation from String.Mid. If the values are read as unsigned the internal validation of FString::Mid will automatically ensure proper results.
2017-02-07 14:48:27 +01:00
Christoph Oelckers
4ca69f10c7
- removed a few unused definitions.
2017-02-07 10:55:59 +01:00
Rachael Alexanderson
d760b5070a
Merge https://github.com/coelckers/gzdoom
2017-02-07 02:23:48 -05:00
Christoph Oelckers
f9712460f3
- fixed: 3D floors could be set for untagged sectors.
2017-02-07 00:31:01 +01:00
Christoph Oelckers
2021baf47d
- fixed: The 'transparent' line flag did not work due to a leftover OPAQUE constant where floats were expected.
2017-02-07 00:24:04 +01:00
Christoph Oelckers
f77a528e13
- added type checks for DynArray.Copy and Move and fixed parameter processing.
2017-02-07 00:12:55 +01:00
Christoph Oelckers
96b2cb0a45
- fixed code generation for local dynamic arrays.
...
- removed some code repetition by inherit all variable types which reference a PField for a variable offset from a base class so that PField replacements can be done with one set of code.
2017-02-06 22:57:42 +01:00
Christoph Oelckers
ca48a687f8
- major work on dynamic array support. Mostly working, some issues still exist with Move and Copy methods and with assignments in stack variables.
2017-02-06 21:39:21 +01:00
Christoph Oelckers
12477216ef
- did some cleanup on the OPL files to remove all use of homegrown integer types in favor of the standard ones. This already helps getting rid of one of the MUSLIB files still left.
2017-02-06 19:26:45 +01:00
Magnus Norddahl
58495ea714
Renamed Clip3DFloors to Clip3D to fix gcc compile error
2017-02-06 16:04:27 +01:00
Magnus Norddahl
7e6c91d73c
Remove yslope loopup table and StepColumn
2017-02-06 15:15:09 +01:00
ZZYZX
b23937c924
Safety measures: disallow using netevent when not in a level
2017-02-06 16:14:18 +02:00
ZZYZX
52d9077477
Added playsim event (netevent CCMD)
2017-02-06 16:02:44 +02:00
ZZYZX
77546ad5c2
Added non-playsim console-called event
2017-02-06 15:52:20 +02:00
ZZYZX
7a03570e4a
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-06 15:18:13 +02:00
ZZYZX
f368e70f89
Fixed overflows in String.Mid
2017-02-06 13:31:01 +01:00
ZZYZX
b7e64a2bc5
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-06 14:14:23 +02:00
ZZYZX
124d025131
More string methods
2017-02-06 12:35:21 +01:00
Rachael Alexanderson
942f90a759
Merge remote-tracking branch 'gzdoom/master'
2017-02-05 16:07:48 -05:00
Christoph Oelckers
d90f2ba1fa
- wrap the va_list that gets passed around by the Draw functions into a struct so that the templates can use reliable, identical semantics for both this and the VM's arg list.
2017-02-05 21:54:09 +01:00
Christoph Oelckers
a4dbbf6969
- fixed P_NightmareRespawn did not respawn a map defined spawn health and neither made skill-related adjustments.
2017-02-05 21:43:16 +01:00
Christoph Oelckers
810efe517d
- fixed: AActor::SetOrigin lost its 'virtual' qualifier in the ZScript merge, but ADynamicLight needs this to work properly.
2017-02-05 21:38:06 +01:00
Christoph Oelckers
e55406bc23
- changed clean scaling factor calculation so that it doesn't prefer larger scales on high resolution displays.
...
This was a tweak that only makes sense when the scaling factors are low, i.e. 2 vs. 3, but for modern high resolutions it will enlarge things a bit too much.
2017-02-05 18:48:49 +01:00
alexey.lysiuk
481bddf628
Fixed incorrect offscreen rendering of player's blend
2017-02-05 18:16:27 +01:00
ZZYZX
e4970189b6
Tactical merge
2017-02-05 19:14:56 +02:00
Christoph Oelckers
72810c969d
- added ChangeCamera script function.
2017-02-05 18:07:12 +01:00
Christoph Oelckers
9e038b75fa
- exported DrawChar and DrawText.
2017-02-05 16:47:33 +01:00
Christoph Oelckers
52bec33c0d
- exported BrokenLines to scripting as a new class.
...
- removed the hard limit of 128 lines for V_BreakLines.
2017-02-05 16:18:41 +01:00
Christoph Oelckers
d8a1ce88b0
- a few more exports from FFont.
2017-02-05 13:55:38 +01:00
alexey.lysiuk
ef871ec09f
Fixed compilation with GCC/Clang
...
error: cannot pass non-trivial object of type 'FName' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-02-05 14:52:17 +02:00
Christoph Oelckers
b570d0819b
- streamlined font handling for scripts a bit.
...
- moved the two 'you raised the alarm' messages for Strife to the string table
2017-02-05 13:14:22 +01:00
Rachael Alexanderson
9c50600286
- fix compile errors
2017-02-05 00:53:36 -05:00
Rachael Alexanderson
59f32d497d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
# src/v_draw.cpp
2017-02-05 00:08:01 -05:00
Christoph Oelckers
5cfac78116
- added write barriers to the menu code.
...
The GC was causing some crash issues with the items not having been subjected to a write barrier.
2017-02-05 01:52:09 +01:00
Magnus Norddahl
4172d70d95
Make Frozen Time rendering 4 times faster by grouping draw segments in batches of 100 (old algorithm processed 32000 draw segs per sprite!)
2017-02-05 00:42:42 +01:00
Christoph Oelckers
470dc138c6
- got rid of all DTA_Translation uses.
2017-02-05 00:17:29 +01:00
Christoph Oelckers
dadc8e2ec2
- removed all uses of DTA_Translation except for the single one that passes a custom built table.
...
This means that with the exception of 3 pointers the DrawTexture interface only accepts numeric values now.
Still need to get rid of the last 3 to have this ready for scripting.
2017-02-04 23:26:28 +01:00
Christoph Oelckers
d50e52ea59
- use DrawChar to draw font characters instead of calling DrawTexture directly.
...
Mostly done to remove uses of DTA_Translation.
2017-02-04 22:50:23 +01:00
Christoph Oelckers
6dea3eef8e
- exported DrawTexture to scripting.
...
This uses templates to avoid source duplication of ParseDrawTextureTags. Not tested yet.
2017-02-04 22:09:49 +01:00
Magnus Norddahl
bf6ab1efc8
Clip sprites by thread slice
2017-02-04 21:55:56 +01:00
Magnus Norddahl
d1cbb76b63
Only render player sprites on main thread
2017-02-04 21:00:05 +01:00
Magnus Norddahl
beae9a3dc7
Stop using validcount for sprites
2017-02-04 20:32:06 +01:00
Christoph Oelckers
a102807737
- atags for null pointers have no meaning so do not assert on them.
2017-02-04 19:37:19 +01:00
Magnus Norddahl
cfe4c55973
Remove software renderer internals from F3DFloor
2017-02-04 19:13:56 +01:00
alexey.lysiuk
e8c2444ddd
Fixed compilation with GCC/Clang
...
error: use of undeclared identifier 'op'
error: no matching function for call to 'ListEnd'
error: no matching function for call to 'ListGetInt'
error: no matching function for call to 'ListGetDouble'
...
2017-02-04 18:10:30 +02:00
Magnus Norddahl
8ad132b64f
Execute scene slices on worker threads
2017-02-04 16:45:36 +01:00
Christoph Oelckers
ec15c7f4c3
- removed the fatal errors for invalid actor->movedir.
...
These can be silently mapped to DI_NODIR to let the engine get the actor back on track.
2017-02-04 16:29:01 +01:00
Christoph Oelckers
43d759782d
- fixed: Stack based local VM object pointers should not be subjected to a read barrier.
...
This isn't done for register based variables so for consistency it should not be done for stack based variables, too.
This difference in handling made it impossible to check the target of a hitscan attack if it was destroyed by getting damaged.
2017-02-04 16:23:14 +01:00
Magnus Norddahl
d9e545a519
Hook up thread slices and eliminate some statics hiding in misc functions
2017-02-04 15:51:54 +01:00
Magnus Norddahl
f50532af8a
Reorder scene setup to do the stuff that can't be threaded first
2017-02-04 14:20:58 +01:00
Magnus Norddahl
5bae06a3c6
Make RenderScene the work dispatching class
2017-02-04 14:00:21 +01:00
Magnus Norddahl
5105a5d254
Fix msvc compile error
2017-02-04 13:43:39 +01:00
Christoph Oelckers
d3ed83942f
- did some preparations to ParseDrawTextureTags to allow using the same code for parsing tag lists generated by the VM.
...
- removed the fixed point alpha tag from DrawTexture and replaced all uses with the floating point version.
2017-02-04 13:11:12 +01:00
Magnus Norddahl
6f5e720576
Split drawer command queue from drawer threads
2017-02-04 12:38:05 +01:00
ZZYZX
b833f5a852
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-04 10:27:37 +02:00
Rachael Alexanderson
ebb8da563a
Merge https://github.com/coelckers/gzdoom
2017-02-04 02:56:18 -05:00
Magnus Norddahl
45f623faf4
Move frame memory allocator into RenderThread
2017-02-04 02:50:52 +01:00
Christoph Oelckers
abac756289
- exported some stuff for fonts and screen size that will be needed for the menus.
2017-02-04 00:46:22 +01:00
Magnus Norddahl
627a388d57
Move renderer singletons into a RenderThread class
2017-02-04 00:25:37 +01:00
Christoph Oelckers
d5b908186c
- some work on the base classes for menus. None of this is being used yet.
2017-02-04 00:19:25 +01:00
Christoph Oelckers
8578a5a12e
- added a 'new' intrinsic to create new objects from inside scripts.
...
This is not tested yet and likely to not working correctly yet. Will be fixed once I get far enough to use it later.
2017-02-03 22:56:03 +01:00
Christoph Oelckers
d5962b290c
- turned all menu items into actual objects.
...
This is needed for script export.
2017-02-03 21:35:42 +01:00
Magnus Norddahl
4fadc4e9a3
Fix typo
2017-02-03 21:25:51 +01:00
Magnus Norddahl
da346427d3
Change draw segment list to use TArray
2017-02-03 21:11:55 +01:00
alexey.lysiuk
c6e42d6fa0
Added handling of modifier keys for mouse events in Cocoa backend
2017-02-03 22:01:34 +02:00
alexey.lysiuk
f04b0d129d
Removed useless assignment in Cocoa backend
2017-02-03 21:56:14 +02:00
ZZYZX
eb7548d639
Printf doesn't work with FString on GCC
2017-02-03 20:54:42 +02:00
ZZYZX
b18b71c065
Mouse coordinates for UI mouse events are actually data1/data2, not x/y
2017-02-03 20:49:45 +02:00
ZZYZX
f816537992
Setting Order directly (while the event handler is registered) will result in all sorts of broken behavior. Made readonly.
2017-02-03 20:44:27 +02:00
ZZYZX
03f7c39ea7
Fixed mouse input in event handlers. Added RequireMouse field in event handler to signify that native mouse should be turned on for certain handlers.
2017-02-03 20:34:34 +02:00
ZZYZX
08f1731ded
Added keyboard modifiers for mouse events in SDL backend.
2017-02-03 17:39:26 +02:00
Christoph Oelckers
82eae78f7e
- fixed a small memory leak in the texture manager.
2017-02-03 13:11:55 +01:00
ZZYZX
0d96517f5f
Implemented RenderOverlay hook that executes directly after level and statusbar
2017-02-03 13:29:34 +02:00
ZZYZX
6a0103a746
Merged p_setup conflict
2017-02-03 13:02:44 +02:00
ZZYZX
b45af599c5
Explicit handler deinitizliation in P_Shutdown and P_FreeLevelData
2017-02-03 13:01:15 +02:00
ZZYZX
9bb4cf1c03
User input events first take
2017-02-03 12:28:40 +02:00
Christoph Oelckers
a5f417b1e5
- removed all uses of BYTE as function return value or functio parameter from the dynamic light code.
...
These were truncating the actual light values.
2017-02-03 10:13:41 +01:00
Magnus Norddahl
812cc61b16
Fix some typos
2017-02-03 09:08:00 +01:00
Magnus Norddahl
892350ac2e
Add functions to CameraLight
2017-02-03 09:00:46 +01:00
Magnus Norddahl
a0a40281b3
Simplify skyplane light selection
2017-02-03 08:19:59 +01:00
Magnus Norddahl
191438b238
Move Drawers function to viewport
2017-02-03 08:06:47 +01:00
ZZYZX
27c5e21a1d
Moved E_InitStaticHandlers(true) a bit higher in the initialization so that local scripts receive PlayerEntered properly
2017-02-03 09:04:01 +02:00
Christoph Oelckers
1515ab8f4a
- removed the long broken and obsolete PlayMovie code.
2017-02-02 23:21:21 +01:00
ZZYZX
490159f6df
Removed duplicate PlayerEntered call
2017-02-02 22:37:22 +02:00
ZZYZX
5d8b3e8084
Fixed PlayerEntered for non-travel enters
2017-02-02 22:22:10 +02:00
ZZYZX
7f2d97d7ef
Reverted previous commit
2017-02-02 22:18:28 +02:00
ZZYZX
2f79f74d2d
Fixed condition
2017-02-02 22:14:22 +02:00
ZZYZX
dae4a48574
G_FinishTravel: only call RETURN/REOPEN on actual hub return as documented, not on every snapshot/savegame load
2017-02-02 21:52:09 +02:00
ZZYZX
957a8cb117
Count resurrect cheat as respawn
2017-02-02 21:34:26 +02:00
ZZYZX
39355cf45d
Implemented player scripts.
2017-02-02 21:25:07 +02:00
ZZYZX
19d2f6a4db
REOPEN scripts should not be called per player pawn
2017-02-02 20:27:57 +02:00
ZZYZX
7fa50c22e5
Added player events
2017-02-02 20:26:56 +02:00
ZZYZX
bc1194d03b
Added ordering for handlers - by int value returned by virtual function GetOrder(); Also, some handlers (WorldUnloaded and WorldThingDestroyed) are now executed in reverse order.
2017-02-02 19:57:00 +02:00
Magnus Norddahl
c219969b68
Fix blinking wall light regression
2017-02-02 18:46:21 +01:00
Magnus Norddahl
7b4d9675c9
Fix compile errors
2017-02-02 15:24:21 +01:00
Magnus Norddahl
e90b73539e
Move viewport drawing to its own folder
2017-02-02 15:10:06 +01:00
Magnus Norddahl
d8c6f9acfd
Limit access to sprite drawer variables
2017-02-02 13:51:41 +01:00
Magnus Norddahl
f3d968cf41
Move wall drawer args into functions
2017-02-02 11:16:18 +01:00
Rachael Alexanderson
226e5238fc
Merge https://github.com/coelckers/gzdoom
2017-02-01 21:57:37 -05:00
Magnus Norddahl
69b7312099
Add some transform helpers on RenderViewport
2017-02-01 23:23:10 +01:00
Magnus Norddahl
d91e6ccece
Remove dc_destorg and ylookup
2017-02-01 22:24:34 +01:00
Magnus Norddahl
ca93d7456a
Change redundant bRenderingToCanvas into a helper function
2017-02-01 21:59:48 +01:00
Magnus Norddahl
bb0a223b80
Remove unused dc_destheight
2017-02-01 21:55:55 +01:00
Magnus Norddahl
7b578bbb53
Remove redundant dc_pitch
2017-02-01 21:52:29 +01:00
Magnus Norddahl
93166fa150
Remove r_swtruecolor variable as it is redundant
2017-02-01 21:42:08 +01:00
Christoph Oelckers
becc00a8be
- added a check to P_VerifyBlockmap to discard all blockmap with blocks whose first entry is not 0.
...
Seems someone has written a node builder which violates this long-standing assumption (https://www.doomworld.com/vb/source-ports/92468-introducing-zokumbsp/ )
However, rather than second-guessing the format's correctness it's more advisable to just discard such blockmaps to avoid some less obvious issues that may creep up.
2017-02-01 21:40:47 +01:00
Christoph Oelckers
d663f31e77
- removed the annoying assert in the dynamic light code.
...
I don't think that any of the remaining situations are a genuine problem, so let's just set the radius to the larger value.
2017-02-01 19:24:05 +01:00
Christoph Oelckers
a59a9e7420
- missed one.
2017-02-01 19:17:56 +01:00
Christoph Oelckers
6bfbff2a69
- renamed RF_INTERPOLATE to RF_INTERPOLATEANGLES to avoid confusion about its meaning.
2017-02-01 19:11:14 +01:00
Major Cooke
d55f1d3f6f
- Adopted Nash's code for handling models with INTERPOLATE.
2017-02-01 19:09:18 +01:00
Major Cooke
39fcea9176
Added INTERPOLATE actor flag, allowing the previously reverted interpolation code to be toggleable.
2017-02-01 19:09:18 +01:00
Christoph Oelckers
04988a331b
- fixed warning.
2017-02-01 19:07:41 +01:00
Magnus Norddahl
e78e76a593
Move r_viewport variables into a class
2017-02-01 16:02:21 +01:00
Christoph Oelckers
b77a0eb7cf
- let D_PageDrawer always clear the background.
...
The math in DCanvas::FillBorder does not always work out so better clean the entire screen before drawing a fullscreen image to ensure that the menu blend is always drawn over something valid.
2017-02-01 11:44:13 +01:00
Christoph Oelckers
bc29f61bfd
- set the default for menu mouse input to 'touchscreen-like' because there's too much hardware out there which doesn't play nice with mouse input events.
2017-02-01 11:25:28 +01:00
Christoph Oelckers
6d28aa3541
- do not use strtol for parsing critical values that can get large.
...
This function will truncate everything that is larger than LONG_MAX or smaller than LONG_MIN to fit into a long variable, but longs are 32 bit on Windows and 64 bit elsewhere, so to ensure consistency and the ability to parse larger values better use strtoll which does not truncate 32 bit values.
2017-02-01 11:19:55 +01:00
Rachael Alexanderson
4e45ea2300
Merge https://github.com/coelckers/gzdoom
2017-01-31 23:04:56 -05:00
Christoph Oelckers
90ee22b760
- don't let monsters without a See state disappear if they try to enter it.
2017-02-01 01:13:26 +01:00
alexey.lysiuk
3d147a032c
Proper RDTSC implementation for x86_64 targets
...
Higher 32 bits of Time Stamp Counter were ignored in non-MSVC Windows and macOS builds
2017-01-31 17:51:12 +02:00
alexey.lysiuk
47faaa87fc
Fixed deprecation warning reported by Clang
...
warning: 'register' storage class specifier is deprecated and incompatible with C++1z [-Wdeprecated-register]
2017-01-31 17:41:44 +02:00
alexey.lysiuk
b12c8a8f79
RDTSC-based glcycle_t for macOS
...
Time profiler implementation is now closer to Windows version
2017-01-31 16:00:14 +02:00
alexey.lysiuk
1cdfcb4935
RDTSC-based cycle_t for macOS
...
Windows and macOS now share most of related code
Old implementation using mach_absolute_time() was more precise (at least in theory) but too costly
2017-01-31 15:57:47 +02:00
alexey.lysiuk
6225f60eb2
Added cheat flag for console variables
...
CVAR with this flag can be set in console or from command line when sv_cheats is enabled
There is no such restriction for changing its value from ACS, via SetCVar() and related functions
'cheat' modifier can be used in CVARINFO lump to create variable of this kind
2017-01-31 14:08:09 +01:00
Christoph Oelckers
94d5d6848e
- moved all code that deletes some data from P_SetupLevel to P_FreeLevelData so that P_Shutdown can also call it.
...
This is particularly important for camera textures which otherwise would not be taken down before a restart.
2017-01-31 13:46:35 +01:00
Christoph Oelckers
3131c08640
- fixed: the restart CCMD must clear out all statically stored pointers to VM functions because they do not survive the shutdown that is needed before loading new data.
2017-01-31 13:41:23 +01:00
Magnus Norddahl
4fdacfe96e
Fix crash in palette mode
2017-01-31 13:26:06 +01:00
Christoph Oelckers
f0a325a904
- fixed: The restart CCMD needs to clear the global FraggleScript before taking down the class system.
...
This is a soft root and would never be deleted otherwise.
2017-01-31 13:22:05 +01:00
ZZYZX
765bc2db39
Made map-section handlers in MAPINFO not static. Static now unambiguously means 'global from GameInfo'.
2017-01-31 06:24:39 +02:00
ZZYZX
6ada9c0291
Made map-section handlers in MAPINFO not static. Static now unambiguously means 'global from GameInfo'.
2017-01-31 06:22:01 +02:00
ZZYZX
26d38e6527
Since WorldThingDestroyed is the reverse of WorldThingSpawned, it should ignore actors that didn't call PostBeginPlay.
2017-01-31 04:53:18 +02:00
ZZYZX
89c475c2d1
Added WorldThingDamaged hook
2017-01-31 04:35:44 +02:00
ZZYZX
9942a59866
Almost forgot (x2): thing revived world event
2017-01-31 04:11:09 +02:00
ZZYZX
e74cd9883d
We don't want to store event objects in savegames.
2017-01-31 04:02:55 +02:00
ZZYZX
066b22af0a
Almost forgot: WorldTick hook, since ZScript doesn't have delays
2017-01-31 03:24:46 +02:00
ZZYZX
9a8a93fe51
Made global handlers (from GameInfo) implicitly transient, because these never get serialized anyway.
2017-01-31 02:37:36 +02:00
ZZYZX
3c1cecfa2b
Implemented WorldLightning and WorldThingDestroyed.
2017-01-31 02:15:57 +02:00
ZZYZX
71f62af6db
Implemented WorldThingDied (calls at the same point as SCRIPT_Kill); Added Inflictor parameter for WorldThingDied.
2017-01-31 02:07:00 +02:00
ZZYZX
27c8140c46
Replaced specialized event handlers with Event structure passed to a method; returned the check for virtual implementation to make sure that we don't waste time initializing the event data.
2017-01-31 01:28:47 +02:00
Rachael Alexanderson
e715e53c1d
Merge https://github.com/coelckers/gzdoom
2017-01-30 17:16:01 -05:00
Christoph Oelckers
0e5aee48aa
- clamp MAPINFO provided fog density values to a valid range because negative values can trigger undefined shader behavior.
2017-01-30 22:23:36 +01:00
Magnus Norddahl
eadeccd709
Fix typo
2017-01-30 20:23:50 +01:00
Magnus Norddahl
0c61b56655
Clean up SkyDrawerArgs interface
2017-01-30 20:21:18 +01:00
Christoph Oelckers
7c5e3fb677
- disabled angular interpolation again.
...
This can only be used if the entirety of the game code is aware and dealing with this properly. However, that isn't the case so the amount of glitches this causes far exceeds the number of desired interpolations.
2017-01-30 14:19:50 +01:00
Magnus Norddahl
98fa2976fa
Clean up the SpanDrawerArgs interface a bit
2017-01-30 12:46:17 +01:00
Magnus Norddahl
c574b0ad3f
Remove R_InitColumnDrawers and only allow DrawerArgs classes to call drawers
2017-01-30 11:53:11 +01:00
Magnus Norddahl
c486892c4a
Make colfunc, wallfunc, spanfunc private and remove the rest
2017-01-30 11:43:15 +01:00
Magnus Norddahl
2f365e7d2b
Rename ColumnDrawerArgs to SpriteDrawerArgs
2017-01-30 11:27:58 +01:00
Magnus Norddahl
e17c8c1678
Split wall drawer selection from sprite
2017-01-30 11:25:25 +01:00
ZZYZX
5751f84350
Moved empty virtual methods to script side
2017-01-30 11:56:03 +02:00
ZZYZX
2382a76be5
Made separate .Find in Static handlers for convenience.
2017-01-30 09:33:06 +02:00
ZZYZX
c7e3ff2356
Static event handlers can create/register/unregister other static event handlers.
2017-01-30 09:28:27 +02:00
ZZYZX
e8a0eda476
AddEventHandlers in GameInfo
2017-01-30 09:19:42 +02:00
ZZYZX
414d16a0f7
Reverted spriteID part - can't be a string
2017-01-30 09:11:10 +02:00
ZZYZX
83f868a049
Implemented WorldThingSpawned hook. Also changed Console.Printf to automatically add \n. Also fixed vararg calls with names.
2017-01-30 09:10:33 +02:00
ZZYZX
0598c18ad8
Added WorldEventHandler with WorldThingSpawned. WorldThingDestroyed is not implemented because you already can attach an object that would check master's state.
2017-01-30 08:47:15 +02:00
ZZYZX
fd282d3001
Fixed map/global static handlers; map handlers should not receive WorldLoaded/WorldUnloaded on load/save anymore.
2017-01-30 08:19:38 +02:00
ZZYZX
09ca1f610d
Removed World*Unsafe handlers (merged with WorldLoaded/WorldUnloading); Removed the concept of 'map-local static' handlers, static handlers are now only those that run globally.
2017-01-30 07:50:09 +02:00
Magnus Norddahl
36a23d60b8
Make spanfunc private and local to SpanDrawerArgs
2017-01-30 05:26:57 +01:00
Magnus Norddahl
81a20213a7
Force colormap/light selection to go through function calls
2017-01-30 05:07:07 +01:00
ZZYZX
3e44109ad1
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-30 05:39:01 +02:00
Magnus Norddahl
fd459b1f13
Remove redundant span drawer args
2017-01-30 04:35:28 +01:00
Christoph Oelckers
ba629379ca
- fixed: for levels with 0-length lines the allocation size of the lines array was too large because it didn't subtract those deleted lines.
2017-01-30 00:25:40 +01:00
Rachael Alexanderson
0af86efb17
Merge https://github.com/coelckers/gzdoom
2017-01-29 18:17:09 -05:00
Christoph Oelckers
b93c3619e9
- fixed: The implementation for Doom64 colors did not handle particles.
2017-01-29 18:57:47 +01:00
Christoph Oelckers
729eade8f5
- enable terrain splashes for non-solid non-swimmable 3D floors.
2017-01-29 18:46:35 +01:00
Christoph Oelckers
2883b113f3
- fixed bad scale setting for SBarInfo.
2017-01-29 18:33:19 +01:00
Christoph Oelckers
eef91463ab
- fixed: Non-actor classes never called InitializeDefaults to set up their special variables.
...
- fixed: DThinkerIterator and DBlockThingsIterator did not have a default constructor that was safe to call from an out-of-game context.
2017-01-29 18:23:39 +01:00
Christoph Oelckers
c0ef052d07
- added interpolation for actor angles which for models is needed.
2017-01-29 13:13:00 +01:00
Christoph Oelckers
1884c8a98d
- ensure that the radius of a dynamic light remains positive to avoid problems with the assumption that a light has an actual size.
...
- extended the maximum settable light size in GLDEFS to 1024 throughout.
- fixed: A fullbright flat should not be subjected to a sector's material color.
2017-01-29 12:00:05 +01:00
Christoph Oelckers
a2a1d214c0
- extended give and take cheat's arguments to full integers.
2017-01-29 11:45:28 +01:00
Magnus Norddahl
162f469630
Remove unused variables from the old 4 column drawers
2017-01-29 10:25:32 +01:00
Magnus Norddahl
7c7d6e99e9
Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs
2017-01-29 10:05:37 +01:00
Christoph Oelckers
8e469c1343
Corrected bad 'or' operation
2017-01-29 09:57:55 +01:00
Magnus Norddahl
92bd752935
Move drawerargs globals into a class and make them local
2017-01-29 07:49:04 +01:00
ZZYZX
9a54a5affe
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-29 01:01:28 +02:00
Rachael Alexanderson
0c101102dc
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Rachael Alexanderson
2fb82aaa9f
Revert "- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers."
...
This reverts commit 2f9453bc86
.
# Conflicts:
# src/swrenderer/line/r_line.cpp
# src/swrenderer/line/r_renderdrawsegment.cpp
# src/swrenderer/things/r_decal.cpp
# src/swrenderer/things/r_wallsprite.cpp
2017-01-28 17:37:57 -05:00
Christoph Oelckers
4f5d5d5de7
- this should have been in the last commit.
2017-01-28 21:49:52 +01:00
Christoph Oelckers
95afc97d48
- ok, that color_absolute option was pretty much redundant, considering that it is already possible to explicitly set a fog density per sector - it was only necessary to give that priority over standard depth fade calculations for fog-less sectors.
2017-01-28 21:42:58 +01:00
Christoph Oelckers
476aceb5d7
- added new properties to UDMF spec.
...
- implemented color_absolute flag,
2017-01-28 21:22:48 +01:00
Christoph Oelckers
e96f231420
- added Doom64 colors for sprites.
2017-01-28 21:02:03 +01:00
Christoph Oelckers
ee22a9371b
- use Doom64 colors on sectors and linedefs.
2017-01-28 20:44:46 +01:00
Christoph Oelckers
12d073a27d
- objectcolor stuff.
...
# Conflicts:
# src/gl/renderer/gl_renderstate.cpp
2017-01-28 19:06:21 +01:00
Christoph Oelckers
dbbd797baa
- added the needed properties for Doom64 colors and a little FraggleScript hack to test it with existing maps.
2017-01-28 19:05:39 +01:00
Christoph Oelckers
1d2ae53ecb
Revert "- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly."
...
This reverts commit dd03bb1fcb
.
Turns out that making this work in GL will create a complete mess so better remove the option as it would only cause problems.
2017-01-28 18:26:52 +01:00
Magnus Norddahl
4afac0f2cc
Force all drawing to go through DrawerStyle
2017-01-28 16:36:39 +01:00
Rachael Alexanderson
2f9453bc86
- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers.
2017-01-28 09:53:24 -05:00
Rachael Alexanderson
d27a152d9b
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 09:38:10 -05:00
Christoph Oelckers
dd03bb1fcb
- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly.
2017-01-28 12:20:18 +01:00
Rachael Alexanderson
c923f8c5e1
- fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game.
2017-01-28 10:04:22 +01:00
Magnus Norddahl
8fceb60532
Removed unused variable
2017-01-28 08:40:31 +01:00
Magnus Norddahl
bd35d1d39f
Remove ds_fcolormap
2017-01-28 08:19:21 +01:00
Magnus Norddahl
dbf9cd5de5
Remove a few more drawerargs
2017-01-28 08:17:31 +01:00
Magnus Norddahl
9eebe3e940
Remove unused drawer args
2017-01-28 08:04:11 +01:00
Magnus Norddahl
fe40ad200e
Remove the goto in RenderDecal::Render!
2017-01-28 07:13:52 +01:00
Magnus Norddahl
5f38b15635
Move colfunc family of globals into a DrawerStyle class and localize its usage
2017-01-28 07:08:59 +01:00
Rachael Alexanderson
f9eb06a22e
- fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game.
2017-01-28 00:13:27 -05:00
ZZYZX
2c314f3f3f
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-28 05:23:16 +02:00
Rachael Alexanderson
00823217c7
Merge https://github.com/coelckers/gzdoom
2017-01-27 19:17:24 -05:00
ZZYZX
13c6d16905
Fixed: compile-time error in vararg function call would result in a crash.
2017-01-28 00:32:43 +01:00
Major Cooke
46ee2c5ec6
- Fixed HITTARGET, HITMASTER, HITTRACER, crash and xdeath states being broken on bouncing actors that die/explode.
2017-01-27 18:03:09 +01:00
Rachael Alexanderson
5cbe829c05
Merge https://github.com/coelckers/gzdoom
2017-01-27 11:33:05 -05:00
Christoph Oelckers
1eb2c75328
- explode bouncing objects directly inside P_BounceActor if the bounce count expired. The calling code is too messed up to handle this cleanly.
2017-01-27 16:15:17 +01:00
Christoph Oelckers
08c252274a
- fixed issues with uninitialized RNGs and bad assumptions about corpse pointers always being fully initialized when being destroyed.
...
Both of these may be true when occuring during normal gameplay, but not during an exception unwind in the serializer, which caused crashes if ACS errored out due to mismatched scripts.
2017-01-27 12:02:47 +01:00
Christoph Oelckers
15b95cc023
- fixed: DECORATE was creating a new global constant namespace for each single included file, not just once per DECORATE lump.
2017-01-27 10:51:12 +01:00
alexey.lysiuk
6a826f37bd
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2017-01-26 22:21:22 +02:00
Magnus Norddahl
ed05a2edd3
Create CameraLight class
2017-01-26 10:22:54 +01:00
Magnus Norddahl
4bbf1ba11c
Move visibility stuff into LightVisibility
2017-01-26 09:49:07 +01:00
Magnus Norddahl
933f2d116a
Move DrewAVoxel to VisibleSpriteList
2017-01-26 08:39:44 +01:00
Magnus Norddahl
34f85569b4
Change RenderTranslucentPass to be a singleton
2017-01-26 08:36:28 +01:00
Magnus Norddahl
8b0304c1e3
Remove static from RenderFogBoundary
2017-01-26 08:24:44 +01:00
Magnus Norddahl
29dcea49d7
Move RenderDrawSegment to its own file
2017-01-26 08:13:39 +01:00
Magnus Norddahl
6899b351a2
Create class for draw segment list
2017-01-26 08:01:44 +01:00
Magnus Norddahl
2821c15795
Rename drawseg_t to DrawSegment
2017-01-26 07:03:27 +01:00
Magnus Norddahl
9d9395c855
Updated the copyright
2017-01-26 06:59:20 +01:00
Magnus Norddahl
9c4b11b671
Add OpenGL ES support to Linux target and enable it for ARM devices
2017-01-25 07:18:26 +01:00
Magnus Norddahl
348b73eb83
Fix gcc warning
2017-01-25 03:45:57 +01:00
Magnus Norddahl
eb2b5269f9
Fix linux compile errors
2017-01-25 03:28:11 +01:00
Rachael Alexanderson
a04699ec1c
Merge https://github.com/coelckers/gzdoom
2017-01-24 18:15:39 -05:00
Rachael Alexanderson
c1ff1c6336
- Set banded light to "false" to not impact GZDoom defaults.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
9a777f719b
- Added "gl_bandedswlight" to reduce the software light emulation gradient to 32 levels.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
84d2a89f49
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# wadsrc/static/language.enu
2017-01-24 12:03:57 -05:00
Rachael Alexanderson
eb3f83f908
- Since tonemap tweaks are on the menu now, make their changes affect instantly.
2017-01-24 17:57:03 +01:00
Rachael Alexanderson
494be00ce5
- Made default values for gl_paltonemap_powtable and gl_paltonemap_reverselookup more "id-like".
2017-01-24 17:57:03 +01:00
Rachael Alexanderson
6e47bf9bbc
- Added gl_paltonemap_powtable and gl_paltonemap_reverselookup for tweaking palette tonemap generation.
2017-01-24 17:57:03 +01:00
Magnus Norddahl
934f6a88bb
Fix compile error
2017-01-24 17:10:28 +01:00
Rachael Alexanderson
20a83f95b9
Merge https://github.com/coelckers/gzdoom
2017-01-24 08:39:22 -05:00
Christoph Oelckers
02f678dccc
- there seem to be ACS compilers which let 'delay' pass inside a function. Since this is an unsupported feature which brings the ACS VM into an unstable state it has to be handled with a hard abort to avoid crashes.
2017-01-24 11:59:59 +01:00
Christoph Oelckers
e3c36998b6
- delete all compile-time symbols for scripting after finishing compiling data.
...
Even the bare-bones gzdoom.pk3 gets rid of over 2000 symbols this way that otherwise would need to be tracked by the garbage collector.
2017-01-24 11:57:42 +01:00
ZZYZX
8c36a2a3df
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-24 11:05:14 +02:00
Christoph Oelckers
c12dfd7e4d
- fixed: only explicit class type casts must obey strict namespace rules, i.e. only '(class<type>)(variable_to_cast)'
...
The general rule is as follows: A class name as a string will always be looked up fully, even if the class name gets shadows by another variable because strings are not identifiers.
It is only class names as identifiers that must obey the rule that if it is not known yet or hidden by something else that it may not be found to ensure that the older variable does not take over the name if it gets reused.
2017-01-24 10:04:46 +01:00
Magnus Norddahl
86d9594d6e
Convert r_walldraw to a class
2017-01-24 08:41:35 +01:00
Magnus Norddahl
b256f6ed89
Make wallsetup globals local to where they are used
2017-01-24 07:06:47 +01:00
Magnus Norddahl
ac74a7a1e0
Refactor wall setup into ProjectedWallLine and ProjectWallTexcoords
2017-01-24 06:50:17 +01:00
Magnus Norddahl
12271cbfb5
Remove the 1000 portal segment limit and make WallPortals private to RenderPortal
2017-01-24 05:31:39 +01:00
Magnus Norddahl
946ab93ff6
Remove unused friend declaration
2017-01-24 05:00:11 +01:00
Magnus Norddahl
f94cced13d
Move ColormapLight to r_light
2017-01-24 04:24:04 +01:00
Magnus Norddahl
ca8f71b561
Remove the need for RenderPlayerSprites::SetupSpriteScale
2017-01-24 04:19:43 +01:00
Magnus Norddahl
ba6094be2e
Detach player sprites from VisibleSprite
2017-01-24 04:15:54 +01:00
Rachael Alexanderson
3ea27cd996
Merge https://github.com/coelckers/gzdoom
2017-01-23 22:12:55 -05:00
Magnus Norddahl
07acd9375b
The memset antipattern cannot be used on classes with a virtual table
2017-01-24 02:28:32 +01:00
Magnus Norddahl
55d9392fb8
Add fallback code to Linux target so if OpenGL is either unavailable or can't be used it falls back to the old software SDL FB
2017-01-24 01:43:45 +01:00
Christoph Oelckers
17ed23bfcc
- don't read the full height of a player from the defaults, because that cannot be changed by A_SetHeight.
...
Instead a new member, FullHeight is used for this now.
2017-01-24 00:12:06 +01:00
ZZYZX
3e093a20ff
First take at serialization
2017-01-24 00:17:12 +02:00
Christoph Oelckers
3f999a990c
- removed a line of debug code that made GCC/Clang go nuclear.
2017-01-23 23:06:29 +01:00
ZZYZX
23c9386add
Removed RenderCamera, RenderBeforeThing, RenderAfterThing. Serialization preparations.
2017-01-23 23:05:51 +02:00
alexey.lysiuk
6586877ac5
Merge branch 'master' of https://github.com/coelckers/gzdoom into master
2017-01-23 22:48:16 +02:00
alexey.lysiuk
799f6c6e26
Fixed compilation error with GCC/Clang
...
src/scripting/zscript/zcc_compile.cpp:1039:11: error: no viable conversion from 'FName' to 'FString'
2017-01-23 22:20:07 +02:00
ZZYZX
efb1e5d33a
Implemented global EventHandlers in MAPINFO
2017-01-23 20:48:57 +02:00
ZZYZX
ba4a74265c
Fixed static handlers being OF_Fixed: only global (non-map) static handlers should be fixed.
2017-01-23 20:48:57 +02:00
ZZYZX
76b99da4b3
Added EventHandlers in Map section of MAPINFO
2017-01-23 20:48:57 +02:00
ZZYZX
890166a732
Hopefully I'm using OF_Fixed correctly
2017-01-23 20:48:57 +02:00
ZZYZX
35ec14f465
Made the EventHandler class tree a bit more branchy. Now disallowing creation of Static* via EventHandler.Create.
2017-01-23 20:48:57 +02:00
ZZYZX
a226337185
More portal fixing in software renderer
2017-01-23 20:48:57 +02:00
ZZYZX
ac19af7514
Fixed RenderCamera event in software renderer
2017-01-23 20:48:57 +02:00
ZZYZX
302af61686
Added per-thing render hooks
2017-01-23 20:48:57 +02:00
ZZYZX
5bfd484ae2
Generalized event handler definition; removed excessive VM calls when we don't have override defined.
2017-01-23 20:48:57 +02:00
ZZYZX
ca0d92a454
Added EventHandler.CreateOnce and EventHandler.Find to refer to handlers after they are created
2017-01-23 20:48:57 +02:00
ZZYZX
ce616f9c06
Added: prototype event system
2017-01-23 20:48:57 +02:00
Christoph Oelckers
b3aa7c61a9
- fixed: Class and struct name lookup was not context aware.
...
If a later module reused an existing name for a different class or struct type, this new name would completely shadow the old one, even in the base files.
Changed it so that each compilation unit (i.e. each ZScript and DECORATE lump) get their own symbol table and can only see the symbol tables that got defined in lower numbered resource files so that later definitions do not pollute the available list of symbols when running the compiler backend and code generator - which happens after everything has been parsed.
Another effect of this is that a mod that reuses the name of an internal global constant will only see its own constant, again reducing the risk of potential errors in case the internal definitions add some new values.
Global constants are still discouraged from being used because what this does not and can not handle is the case that a mod defines a global constant with the same name as a class variable. In such a case the class variable will always take precedence for code inside that class.
Note that the internal struct String had to be renamed for this because the stricter checks did not let the type String pass on the left side of a '.' anymore.
- made PEnum inherit from PInt and not from PNamedType.
The old inheritance broke nearly every check for integer compatibility in the compiler, so this hopefully leads to a working enum implementation.
2017-01-23 19:10:28 +01:00
alexey.lysiuk
d0565cafbd
Fixed compilation error with GCC/Clang
...
src/scripting/zscript/zcc_compile.h:95:10: error: extra qualification ‘ZCCCompiler::’ on member ‘StringConstFromNode’ [-fpermissive]
2017-01-23 11:19:26 +02:00
Rachael Alexanderson
03226e5a0a
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-01-23 00:17:25 -05:00
Christoph Oelckers
5a4a5a17db
- added core lump checks for ZScript.
...
- load internal shaders only from file 0. This does not contain aborts, like most of the other checks,but it will now refuse to load any core shader file from anything but gzdoom.pk3.
2017-01-23 01:56:15 +01:00
Christoph Oelckers
517733a04e
Merge branch 'clangfix' of https://github.com/edward-san/zdoom
...
# Conflicts:
# src/scripting/zscript/zcc_compile.h
2017-01-23 01:39:31 +01:00
Christoph Oelckers
f720073b31
- removed all code that was only there to implement the broken Simplifier that just got removed.
2017-01-23 01:37:43 +01:00
Christoph Oelckers
68c3f42a53
- no more Simplify for global constants as well.
2017-01-23 01:10:40 +01:00
Edoardo Prezioso
4694f9b201
- Fixed GCC/Clang 'extra qualification' error.
2017-01-23 00:22:25 +01:00
Edoardo Prezioso
092b2d6ea0
- Fixed Clang compile error [-Wnon-pod-varargs].
2017-01-23 00:11:42 +01:00
Christoph Oelckers
061ba48dc1
- no more simplify in state parameters.
...
- resolving constants with the backend requires a few more error checks.
2017-01-22 23:53:50 +01:00
Christoph Oelckers
2880f56080
- also switched scripted properties away from Simplify.
2017-01-22 23:00:41 +01:00
Christoph Oelckers
4c93e2baa3
- use the expression evaluation capabilities of the compiler backend to resolve constants in actor defaults.
...
This is the first step to get rid of Simplify and all the baggage it depends on.
2017-01-22 22:19:32 +01:00
Christoph Oelckers
f9f5e45824
- memset the entire vissprite structure when drawing a psprite because this does not initialize all fields.
2017-01-22 20:12:44 +01:00
Christoph Oelckers
f15b051327
- use std::unique_ptr to manage the resource file for loading a savegame because the try/catch handler to ensure its deletion was causing some problems.
2017-01-22 20:06:11 +01:00
alexey.lysiuk
f9ef935840
Fixed warning reported by GCC/Clang when optimization is enabled
...
src/scripting/codegeneration/codegen.cpp:4097:12: warning: variable 'cast' is used uninitialized whenever 'if' condition is false
2017-01-22 17:00:36 +02:00
alexey.lysiuk
935d49d75f
Fixed returning of value from TakeInventory() function
...
Issuing take CCMD no longer causes assertion failure at src/scripting/vm/vmexec.h:662
assert(numret == C && "Number of parameters returned differs from what was expected by the caller")
2017-01-22 13:51:46 +02:00
alexey.lysiuk
03f9425eb1
Fixed missing xBRZ menu options on platforms without MMX support
...
xBRZ texture resize modes are no longer removed from menu for targets with HAVE_MMX undefined
2017-01-22 12:11:17 +02:00
alexey.lysiuk
33b69a27ae
Restored HAVE_MMX definition in CMake
2017-01-22 11:14:48 +02:00
alexey.lysiuk
da4981ef91
Fixed invisible mouse cursor in SDL backend
...
See https://mantis.zdoom.org/view.php?id=71
2017-01-22 10:25:37 +02:00
Rachael Alexanderson
df35d53a57
Merge https://github.com/coelckers/gzdoom
2017-01-21 22:02:50 -05:00
Christoph Oelckers
d289c00ae3
- restored a line of code that got lost when fixing the parameter checks in CallStateChain.
2017-01-22 01:28:37 +01:00
Rachael Alexanderson
53acc28f26
Merge https://github.com/coelckers/gzdoom
2017-01-21 17:47:18 -05:00
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
Magnus Norddahl
7dfb46b8d9
Convert r_decal to a class
2017-01-11 18:10:51 +01:00
Magnus Norddahl
4b96d7377f
Detach voxel and wallsprite projection from (normal) sprite projection and move the type decision making to RenderBSP::AddSprites
2017-01-11 17:59:29 +01:00
Christoph Oelckers
ca2ac4e4fd
- reverted debug stuff.
2017-01-11 17:16:07 +01:00
Magnus Norddahl
dce3a1c81c
Move remaining parts of r_things into r_visiblesprite
2017-01-11 15:41:42 +01:00
Magnus Norddahl
f288d589ff
Move defines and enums to where they are used
2017-01-11 15:09:35 +01:00
Magnus Norddahl
72762e583f
Move AddSprites to r_bsp and R_ProjectSprite to r_sprite
2017-01-11 15:02:36 +01:00
Rachael Alexanderson
82ee9e7399
Merge https://github.com/coelckers/gzdoom
2017-01-11 07:48:45 -05:00
Christoph Oelckers
7f3e18a6cc
- fixed a few memory leaks.
2017-01-11 11:37:27 +01:00
Christoph Oelckers
72101473d0
- fixed: The texture for legacy dynamic light handling was always allocated, even if not needed, and it was never freed.
2017-01-11 10:47:45 +01:00
Christoph Oelckers
d1ce098d59
- fixed a crash with GL nodes not having partner segs where both sides have a sidedef. This can happen for some render hacks.
2017-01-11 10:46:26 +01:00
Christoph Oelckers
f4edaa2662
- fixed the railgun's spiral duration was set incorrectly.
2017-01-11 01:46:17 +01:00
Rachael Alexanderson
799d0d1091
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-01-10 19:39:12 -05:00
Rachael Alexanderson
0362deefc4
Merge commit '6552e5a7a18cb334dfa1000e0c52836df2edec95'
2017-01-10 19:38:15 -05:00
Christoph Oelckers
385ebf2ed2
- fixed: Stairs_BuildUpDoomCrush wasn't in the special dispatcher list.
2017-01-11 01:13:39 +01:00
Christoph Oelckers
de4153ceaf
some groundwork for the implementation of dynamic arrays
...
- created script exports for all relevant functions with all integral types.
- created script side definitions for the underlying data types.
- added a void pointer type so that the prototype for the pointer array can use a generic type every pointer can be assigned to.
2017-01-11 00:57:31 +01:00
Christoph Oelckers
11d93cb030
- removed r_columnmethod 1 because the code was broken and already gone from QZDoom.
2017-01-10 22:28:15 +01:00
Christoph Oelckers
6552e5a7a1
- fixed: 'stat music' tried to access a non-existent stream decoder for any music played through Timidity++ on OpenAL.
2017-01-10 22:16:32 +01:00
Christoph Oelckers
2abd16f117
- fixed: Any inventory item that is about to be placed in an inventory must stop all its sounds.
2017-01-10 22:01:29 +01:00
Christoph Oelckers
3e4f799bbc
- made Actor.DamageMobj virtual.
2017-01-10 21:31:52 +01:00
Christoph Oelckers
3f94a15cfe
- added a virtual PostSpawn method to RandomSpawner, this will get called when the actor has been spawned so that the spawner can do some special setup with it.
2017-01-10 20:14:48 +01:00
Christoph Oelckers
06c97d898b
- added a new parameter to A_CustomRailgun to customize the inaccuracy induced by a moving target.
2017-01-10 20:08:23 +01:00
Magnus Norddahl
361bb11b13
Remove -28 offset to fix issue 0000012
2017-01-10 20:07:51 +01:00
Christoph Oelckers
3696d34806
- added IF_NOSCREENBLINK flag, see http://mantis.zdoom.org/view.php?id=9
2017-01-10 19:57:51 +01:00
Magnus Norddahl
12e272248e
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-01-10 18:25:14 +01:00
Magnus Norddahl
4be291fb61
Fix divide by zero (issue 0000022)
2017-01-10 18:25:06 +01:00
Rachael Alexanderson
866ee43ec9
Merge https://github.com/coelckers/gzdoom
2017-01-10 11:03:58 -05:00
alexey.lysiuk
d9efeb206d
Fixed crash on loading GL nodes
...
See http://mantis.zdoom.org/view.php?id=21
2017-01-10 17:16:18 +02:00
Magnus Norddahl
ece8e95853
Revert range adjustment (can't make out if this is wrong or not - if it is, it is wrong across the entire function)
2017-01-10 15:16:55 +01:00
Magnus Norddahl
751bd120ac
Fix warning about potential uninitialized lightfiller reported by gcc
2017-01-10 15:14:55 +01:00
Magnus Norddahl
8fc6660a4a
Disable SSE stuff
2017-01-10 13:45:14 +01:00
Magnus Norddahl
c4573fa343
Disable SSE on arm
2017-01-10 13:39:57 +01:00
Christoph Oelckers
46179936ec
- added global per-mod precaching lists, to be defined in MAPINFO's Gameinfo section.
2017-01-10 01:00:06 +01:00
Christoph Oelckers
96788850d3
- added a workaround for a crashing condition in FThinkerIterator.
...
It can actually happen that the thinker chain gets broken if an actor being iterated happens to destroy the immediately following actor in the chain as well. In that case both actors lose their chain links and the iterator cannot advance any further, the only solution to avoid a crash is to terminate the iteration of the current list.
2017-01-10 00:38:08 +01:00
Christoph Oelckers
26170419f4
- fixed: The stair builder code tried to access a member of a null pointer after finding no more stair sectors.
2017-01-09 23:24:00 +01:00
Edoardo Prezioso
815a440014
- Fixed the wrong handling of empty command line argument.
2017-01-09 22:00:48 +01:00
Christoph Oelckers
5396e8d07d
- fixed: The Windows CreateFramebuffer methods need to check the desired screen size for an actual resolution when switching to fullscreen.
2017-01-09 21:26:19 +01:00
Christoph Oelckers
cc8c20adf8
- fixed: non-existent partner segs were not properly initialized.
2017-01-09 20:54:22 +01:00
alexey.lysiuk
079f3bd78c
Fixed compilation errors with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2017-01-09 17:26:19 +02:00
Rachael Alexanderson
6c04439315
- Fixed compile errors with last merge.
2017-01-09 10:16:24 -05:00
alexey.lysiuk
bc492a0b7f
Autoaim is now updated when adjusting slider with mouse
...
Fixes #208 Autoaim slider in Player Setup does not save if changed with cursor
2017-01-09 16:52:15 +02:00
Rachael Alexanderson
05662e5c4d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_plane.cpp
# src/r_things.cpp
2017-01-09 09:51:06 -05:00
Magnus Norddahl
4c67a717f8
Remove drawerargs from r_things
2017-01-09 14:56:29 +01:00
Magnus Norddahl
4eac238d26
Remove commented out code
2017-01-09 14:52:50 +01:00
Magnus Norddahl
bb2806c9ca
Remove WallSpriteTile global
2017-01-09 14:51:34 +01:00
Magnus Norddahl
b9024f87a0
Remove unused globals
2017-01-09 14:48:19 +01:00
Magnus Norddahl
65fa807433
Remove spriteshade global
2017-01-09 14:46:57 +01:00
Magnus Norddahl
3b5dc96f4a
Move player sprite scale to r_playersprite and make it private
2017-01-09 14:28:31 +01:00
Magnus Norddahl
da85de01de
Move prototype
2017-01-09 14:22:00 +01:00
Magnus Norddahl
6d642b1906
Move FCoverageBuffer to r_voxel
2017-01-09 14:20:47 +01:00
Magnus Norddahl
579199a246
Move R_DrawVisSprite to r_sprite and move R_DrawMaskedColumn to r_draw
2017-01-09 13:53:02 +01:00
Kyle Evans
8cc52dab5e
Fix build on GCC/Clang
...
Obtained from: kcat/Csonicgo (IRC)
2017-01-09 10:11:13 +02:00
Christoph Oelckers
472ace1bea
- removed the needless copying around of the vertexdatas array. The slope code can just use this from the TArray created by the UDMF parser.
2017-01-09 01:40:14 +01:00
Christoph Oelckers
b9ac44e8f2
- fixed: The sight checker's portalgroup variable was not initialized.
...
- got rid of glsegextras.
This was probably one of the most ill-conceived means to save some memory in ZDoom, but now, when a pure software rendered engine no longer needs to be considered it's just totally useless to keep this mess in.
2017-01-09 01:28:07 +01:00
Christoph Oelckers
12037fdc95
- made the vertexes array VM friendly.
2017-01-09 00:46:16 +01:00
Christoph Oelckers
f78927500e
- exported all meaningful parts of side_t to the VM.
2017-01-08 21:42:26 +01:00
Christoph Oelckers
97a90c52e0
- fixed: Particles should disappear if their alpha goes below zero.
2017-01-08 19:44:00 +01:00
Christoph Oelckers
c9964d36d6
- fixed: A single sight check iteration may not succeed if origin and end point are in different portal groups. All those may do is collect more portals.
2017-01-08 19:34:04 +01:00
Christoph Oelckers
7a5171a2e9
- fixed: The check for virtual function overrides was never done if the overriding function had no qualifier at all.
...
- fixed several occurences where an 'override' qualifier was missing.
2017-01-08 19:07:26 +01:00
Christoph Oelckers
cd7986b1b1
- refactored global sides array to be more VM friendly.
...
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
alexey.lysiuk
e188047d70
Fixed compilation with GCC/Clang
2017-01-08 17:20:27 +02:00
Christoph Oelckers
a54d2d8a55
- fixed UDMF initialization for linedef portal info.
2017-01-08 16:09:21 +01:00
Christoph Oelckers
1c74faea73
- exported line_t's functions to the VM.
2017-01-08 15:45:37 +01:00
Christoph Oelckers
cb89a1a81a
- fixed inconsistent use of line_t::portaltransferred.
...
Some parts used 0 as 'nothing' others used UINT_MAX. 0 should refer to the map's default sky, not to nothing.
2017-01-08 14:59:31 +01:00
Christoph Oelckers
71d1138376
- refactored the global lines array into a more VM friendly form, moved it to FLevelLocals and exported it to ZScript.
...
- disabled the Build map loader after finding out that it has been completely broken and nonfunctional for a long time. Since this has no real value it will probably removed entirely in an upcoming commit.
2017-01-08 14:39:16 +01:00
Christoph Oelckers
5ee52f159e
- refactored the level backup data needed by the serializer into p_saveg.h.
2017-01-08 12:11:31 +01:00
Christoph Oelckers
5ec786eef7
- removed the 'dumpmap' CCMD because it was mostly broken anyway and would require a complete rewrite in UDMF to get back on track.
2017-01-08 11:52:35 +01:00
Magnus Norddahl
3b7bc2d1e5
Add NO_DRAWERGEN define
2017-01-08 04:54:11 +01:00
Magnus Norddahl
d825ec334c
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2017-01-08 04:48:49 +01:00
Christoph Oelckers
d2a51a57e1
- added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom.
2017-01-08 01:15:45 +01:00
Christoph Oelckers
3beed216dd
- exported all relevant functions from sector_t.
...
Please note that currently most of these have little use, they are for future feature support.
2017-01-08 00:50:40 +01:00
Rachael Alexanderson
6e06adb795
Merge https://github.com/coelckers/gzdoom
2017-01-07 16:04:46 -05:00
Christoph Oelckers
82adc5bf1e
- exported secplane_t to scripting.
2017-01-07 21:29:43 +01:00
Christoph Oelckers
91981e25a8
- moved all 'sectorptr - &level.sectors[0]' constructs into a subfunction.
2017-01-07 20:02:25 +01:00
Christoph Oelckers
c02281a439
- refactored the global sectors array into a more VM friendly type and moved it into FLevelLocals.
2017-01-07 19:32:24 +01:00
Magnus Norddahl
bf850bb788
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/swrenderer/scene/r_things.cpp
2017-01-07 17:44:15 +01:00
Christoph Oelckers
d381fb5e3f
- fixed: A_SetInventory must check for voodoo dolls and delegate the action to the real player because it will always break the real player's inventory if done so.
2017-01-07 15:44:39 +01:00
Christoph Oelckers
581cd27818
- floatified the translucency values in particle_t to elimintate the gross inaccuracies with fadeout time.
...
- widened ttl variable in particle_t to short to allow longer living particles than 6 seconds.
- reordered fields in particle_t to reduce struct size a bit.
2017-01-07 15:44:39 +01:00
Christoph Oelckers
42b1432b64
- fixed: initialization of local vector variables did not properly allocate registers if the initializer was a subelement of another local vector variable.
2017-01-07 15:44:38 +01:00
Christoph Oelckers
acf66d9f8f
- fixed some edge cases with visible player sprites through non-static line portals. This required reinstating some code which I thought was no longer needed.
2017-01-07 15:44:38 +01:00
Rachael Alexanderson
de5f5a1221
Merge https://github.com/coelckers/gzdoom
2017-01-06 22:06:25 -05:00
Christoph Oelckers
62ea83a35a
- let the prediction code handle all 4 threaded lists an actor gets linked into.
...
This is mostly a straight refactoring of the existing code to work independently of specific member variables in the involved classes, using a bit of template magic to avoid redundancy and moving the work code into subfunctions.
It still needs some testing to see if it a) helps fix the crash issues and b) doesn't break anything-
2017-01-06 15:06:17 +01:00
Christoph Oelckers
c52bc06e9b
- use a memory arena to allocate msecnodes.
...
These are rather small and extremely frequently allocated, so they are prime candidates for memory arena, because it not only avoids fragmentation and internal overhead due to mass allocation of small memory blocks but it also makes it a lot faster to free the memory when finishing a level.
2017-01-06 13:09:58 +01:00
Christoph Oelckers
ed25cf61c5
- moved the msecnode code to its own file.
...
Note that this originates from Boom so it needs to keep the Doom license.
2017-01-06 12:54:01 +01:00
Christoph Oelckers
b11c8fef57
- renamed a few variables for clarity.
2017-01-06 11:56:17 +01:00
Christoph Oelckers
44ad55602d
- got rid of uint32(-1) casts.
2017-01-06 11:43:27 +01:00
alexey.lysiuk
b297047060
Removed useless integer type size expansion
...
Fixed Apple's Clang warnings:
absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value
2017-01-06 10:40:51 +01:00