Braden Obrzut
5079d6c505
- Fixed: clang 32-bit compile (I hear it still doesn't run though).
...
- Applied edward's patch to remove boolean increment.
2013-08-27 20:28:38 -04:00
Randy Heit
064710422b
Accept empty struct and enum definitions (useless as they may be)
2013-08-24 20:32:59 -05:00
Randy Heit
80daf736ec
Accept enums and structs defined at global scope
2013-08-24 20:28:26 -05:00
Randy Heit
956d754804
DECORATE cleanup
...
- Remove some ExpVal stuff that wasn't used.
2013-08-23 22:17:08 -05:00
Randy Heit
2f7183b937
Use PField instead of PSymbolVariable for DECORATE expressions
...
- The type systems used by PField and FxExpression are completely
incompatible, but I think I got the differences taken care of as far
as ParseNativeVariable(), ParseUserVariable(), and FxClassMember are
concerned.
- Support for declaring native bool variables has been removed for the time
being. It wasn't used anyway.
- Removed PSymbolVariable.
2013-08-23 22:02:51 -05:00
Randy Heit
0d1973a659
Make PStruct::AddField() check for duplicates
...
- PStruct::AddField() now checks the symbol table for a symbol of the same
name before adding a new field. If the name is in use, it returns NULL.
2013-08-23 21:56:18 -05:00
Randy Heit
27ddaad7ca
Set PStatePointer's TypeTableType in PType::StaticInit()
...
- It was forgotten about earlier.
2013-08-23 21:54:35 -05:00
Randy Heit
263b160905
Add PFixed and PArray types
...
- These are types that are stored as integers but otherwise handled as floating point values.
2013-08-23 21:53:54 -05:00
Randy Heit
b5d37348f6
Add code generation simplification methods to PType
...
- To assist with using PType with DECORATE expression code generation,
added GetStoreOp(), GetLoadOp(), and GetRegType() to PType.
2013-08-23 21:52:04 -05:00
Randy Heit
2ec3cbddb9
Mark PType's GetValueInt method as const
2013-08-23 21:50:33 -05:00
Randy Heit
3ea0d1b444
Add VM opcodes NOP, LANG, and SANG
...
- To simplify code generation genericizing, add three new opcodes
* NOP: No-Operation
* LANG: Load Angle - load a BAM angle into a float reg as degrees
* SANG: Save Angle - store a float reg into a BEM angle, converting from degrees
2013-08-23 21:46:40 -05:00
Randy Heit
a69089ffd7
Change disassembly dumps to be controlled from one spot
...
- Instead of changing three places to turn disassembly dumps on and off,
do it with just one place. As a side effect, this now handles the case
where the dump file can't be opened.
2013-08-23 21:43:56 -05:00
Randy Heit
3f6c3fa927
Remove unused GetVariableValue()
2013-08-21 23:19:46 -05:00
Randy Heit
d798c7896c
Remove FxGlobalVariable class
2013-08-21 23:01:41 -05:00
Randy Heit
01822c002f
Use PField instead of PSymbolVariable for A_SetUserVar/Array
2013-08-21 22:58:12 -05:00
Randy Heit
6aee7833d0
Use PField instead of PSymbolVariable for SetMapThingUserData()
2013-08-21 22:51:12 -05:00
Randy Heit
5aff8156ba
Use PField and not PSymbolVariable for ACS's Get/SetUserVariable
2013-08-21 22:39:28 -05:00
Randy Heit
4cf0ef7e3f
Minor PField changes.
...
- Rename FieldOffset and FieldType so they no longer have the "Field" prefix
- Add a Flags field.
2013-08-21 22:38:05 -05:00
Randy Heit
e50c00c856
Add generic integer setters and getters for PInt and PFloat types
2013-08-21 22:36:46 -05:00
Randy Heit
6198c000af
Fix A_DropItem from merge
2013-08-21 22:31:40 -05:00
Randy Heit
fd9c450c6e
Fix merge for ACS's DropItem
2013-08-21 22:28:53 -05:00
Christoph Oelckers
8e8f6cf5a6
- A_AlertMonsters flags submission by NeuralStunner.
2013-08-20 20:33:03 +02:00
Christoph Oelckers
3e4678765b
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/thingdef/thingdef_codeptr.cpp
2013-08-18 12:18:59 +02:00
Christoph Oelckers
116defbb35
- fixed: LookForEnemiesInBlock needs to check for MF7_NEVERTARGET.
2013-08-18 09:11:40 +02:00
Randy Heit
5fe5fe7c51
Merge branch 'scripting' of github.com:rheit/zdoom into scripting
2013-08-14 22:15:28 -05:00
Randy Heit
cf87d0f1e9
Use PFunction instead of PSymbolActionFunction in DECORATE parser
2013-08-14 22:00:16 -05:00
Randy Heit
aba691ad72
Implement NewClassPointer()
2013-08-14 21:59:10 -05:00
Randy Heit
8fbb4b90fb
Add some flags for PFunction
2013-08-14 21:56:21 -05:00
Randy Heit
ed1c22186f
Add PStatePointer type
2013-08-14 21:53:03 -05:00
Christoph Oelckers
62830f7927
- added separate automap color for non-counting monsters.
...
- fixed: using a nonexistent CVAR in a ColorPicker menu item caused a crash.
2013-08-14 00:32:05 +02:00
Christoph Oelckers
c8b4fb0d3d
- added a 'closemenu' CCMD so that menu options that close the menu can be added.
2013-08-13 21:09:46 +02:00
Christoph Oelckers
7a87e08107
- added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place.
2013-08-13 21:01:14 +02:00
Christoph Oelckers
9ebf345fec
Merge branch 'maint'
2013-08-13 08:53:23 +02:00
Christoph Oelckers
1b79f7d956
- fixed chance default for ACS's DropItem.
2013-08-13 08:52:53 +02:00
Christoph Oelckers
3518b4dd28
- allow menu's back button and the pause sign to be animated.
2013-08-12 22:46:45 +02:00
Christoph Oelckers
61c94648dc
- added ACS CheckFlag function.
2013-08-12 22:38:52 +02:00
Christoph Oelckers
ba3e57281a
Merge branch 'maint'
2013-08-12 21:12:20 +02:00
Christoph Oelckers
072b66fb9f
- fixed: The music that's defined in the Gameinfo section of MAPINFO could not set the order for multitrack music lumps.
2013-08-12 21:11:53 +02:00
Christoph Oelckers
aa03609b69
- added IF_TOSSED inventory flag.
2013-08-12 21:00:23 +02:00
Christoph Oelckers
be1a00c537
Merge branch 'maint'
2013-08-12 20:42:21 +02:00
Christoph Oelckers
e14590d8ce
- moved NOTELESTOMP to flags7. When committing I was accidentally on maint instead of master and in master flags6 was already full.
2013-08-12 20:41:33 +02:00
Christoph Oelckers
44a1b94ad9
- added MF6_NOTELESTOMP flag that prevents an actor from telefragging under all possible circumstances.
2013-08-12 20:23:54 +02:00
Christoph Oelckers
f2c250d35d
- flags7 variable added to AActor.
2013-08-12 20:09:21 +02:00
Christoph Oelckers
2bcc5cd7cc
Merge branch 'maint'
2013-08-12 09:14:18 +02:00
Christoph Oelckers
ecfe67dd78
- removed weirdness from Powerup.Strength property that was specifically tailored to its use on PowerInvisibility and made its use problematic elsewhere.
2013-08-12 09:13:55 +02:00
Christoph Oelckers
fabf8272e6
Merge branch 'maint'
2013-08-11 21:04:17 +02:00
Christoph Oelckers
1b2d8420bb
- DropItem for ACS.
2013-08-11 20:57:53 +02:00
Christoph Oelckers
c0174ea7cd
- Added A_DropItem for DECORATE.
2013-08-11 20:48:08 +02:00
Christoph Oelckers
35764ff3b2
- fixed: Powerup.Strength is a fixed point value, so using it as health amount for PowerRegeneration requires division by FRACUNIT.
2013-08-11 20:39:53 +02:00
Christoph Oelckers
5bb4b558a4
Merge branch 'maint'
2013-08-11 13:37:36 +02:00
Christoph Oelckers
c5cba70fc8
- removed obsolete quit message #defines.
2013-08-11 13:36:48 +02:00
Christoph Oelckers
c7a46492eb
- fixed bad index variable in R_RenderFakeWallRange.
2013-08-11 12:41:14 +02:00
Randy Heit
55bec365e8
Added a way to specify paramater flags for PFunction
...
- And right now, the only flag is "Optional".
2013-08-10 20:24:12 -05:00
Randy Heit
973b0f5c56
Change PFunction's superclass from PNamedType to PSymbol
2013-08-10 20:17:55 -05:00
Randy Heit
6575499f37
Added basic implementation for PField.
...
- I don't know why this didn't give me trouble before, but I needed to add IMPLEMENT_CLASS for PField.
2013-08-10 20:17:29 -05:00
Randy Heit
3e46e6376c
Added NewPrototype() function
2013-08-10 20:06:54 -05:00
Randy Heit
f18c7b8959
Make FType::Hash work for PPrototype
...
- For Prototypes, Hash is passed the address of two TArrays. If we blindly
hash those without checking their contents, then we can forget about
ever finding any matching prototypes in the type table. (Not that I
remember why I wanted them to be unique, but I'm sure I must have had my
reasons.)
2013-08-10 20:05:42 -05:00
Christoph Oelckers
3bcc4078b1
Merge branch 'maint'
2013-08-10 10:19:20 +02:00
Christoph Oelckers
1c889dc9fa
- let APowerRegeneration use the Strength property to define the amount of regeneration it gives.
2013-08-10 09:51:48 +02:00
Christoph Oelckers
c8f0df44f2
Merge branch 'maint'
...
Conflicts:
src/am_map.cpp
2013-08-10 09:41:50 +02:00
Christoph Oelckers
25ec3fb8fe
- added MF6_RELATIVETOFLOOR flag.
2013-08-10 09:32:55 +02:00
Christoph Oelckers
211d293002
- added MF6_NOTONAUTOMAP flag to exclude things from being shown with the scanner powerup. The IDDT cheat will not be affected by this.
2013-08-10 08:53:37 +02:00
Christoph Oelckers
55f637c906
- fixed: When creating colormaps for 3D floors the model sector's fade value must be used when defining a fog volume.
2013-08-09 23:40:34 +02:00
Christoph Oelckers
9c12c03684
Merge branch 'maint'
2013-08-09 20:36:08 +02:00
Christoph Oelckers
6a07118ea4
- added ML_BLOCKHITSCAN line flag.
2013-08-09 20:35:10 +02:00
Christoph Oelckers
a78ad3188b
- added MF5_NOFORWARDFALL flag to prevent attacks from making its victim fall forward randomly.
2013-08-09 20:20:23 +02:00
Christoph Oelckers
0a258f95ea
- added gravity property to UDMF things. Positive values are multiplied with the class's gravity property, negative values are used as their absolute.
2013-08-09 16:25:16 +02:00
Christoph Oelckers
bba092cc0b
Merge branch 'master' into scripting
...
Conflicts:
src/d_player.h
src/g_doom/a_archvile.cpp
src/thingdef/thingdef.h
src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Christoph Oelckers
21bce3b0c4
Merge branch 'maint'
2013-08-09 12:51:26 +02:00
Christoph Oelckers
5d0369d4ed
- Ability to set A_VileAttack's initial attack's damage type - by BlueShadow.
2013-08-09 12:18:58 +02:00
Christoph Oelckers
b187451a71
- added APROP_ViewHeight and APROP_AttackZOffset submission by TheFortuneTeller.
2013-08-09 12:06:51 +02:00
Christoph Oelckers
34b71baad1
- added Player.Aircapacity property which is used as a multiplier for the level's air supply.
2013-08-09 11:57:14 +02:00
Christoph Oelckers
a0c214104d
Merge branch 'maint' of https://github.com/rheit/zdoom into maint
2013-08-09 11:47:33 +02:00
Christoph Oelckers
e6c880c93a
- fixed: The sector's 'hidden' UDMF property did not properly clear the corresponding flag if the value was 'false'.
...
- added UDMF 'waterzone' property for sectors.
2013-08-09 11:47:25 +02:00
Christoph Oelckers
151d54aaf5
- added 3 more modes for am_cheat: 4-6 are the same as 1-3 with the exception that lines not drawn on the regular automap won't be shown.
2013-08-09 11:32:46 +02:00
Christoph Oelckers
9f35788164
- added custom automap overlay colors.
...
- extended am_drawmapback so that map backgrounds can only be drawn if used with custom colorsets and Raven's, assuming that these sets were specifically made for the accompanying backgrounds.
2013-08-09 11:00:24 +02:00
Braden Obrzut
5b228ae5a7
Merge branch 'maint'
2013-08-09 00:25:51 -04:00
Braden Obrzut
7e76fb0078
- Fixed: Disable ifitem jumping if a link isn't specified since an invalid value can cause a crash.
2013-08-09 00:25:29 -04:00
Braden Obrzut
bb494292c6
- Fixed P_CheckMapData allowed non-map lump names to pass resulting in a crash when actually trying to load the map.
2013-08-08 23:47:58 -04:00
Randy Heit
93cbdd37a5
PArray's size should take alignment into account.
2013-08-08 22:27:40 -05:00
Randy Heit
6c1f3a1396
Added PStruct::AddField()
2013-08-08 22:27:40 -05:00
Randy Heit
476a98652c
Remove extraneous PField class
...
- Remove the existing PField class, rename PMemberField to PField, and
derive it from PSymbol instead of the old PField.
2013-08-08 22:27:39 -05:00
Randy Heit
7e24f6b00c
- Added NewStruct() function.
2013-08-08 22:27:39 -05:00
Randy Heit
0ec33191aa
- Added NewEnum() function.
2013-08-08 22:27:39 -05:00
Randy Heit
12a312b6b4
- Fixed: NewArray returned the element type, not the array type.
2013-08-08 22:27:38 -05:00
Randy Heit
dbaf72772b
Move the symbol table from PClass to PStruct.
2013-08-08 22:27:38 -05:00
Randy Heit
11b588de4a
Add names for fallback tokens.
...
- Fixed: When falling back to the IDENTIFIER token, the identifier it
would get was undefined, because it never got initialized.
2013-08-02 21:54:50 -05:00
Randy Heit
5cc8a9c2a7
Remove redundant Resolves
...
- ParseExpression() calls Resolve() on the FxExpression before returing
it, so there's no need to immediately Resolve() what it returns.
2013-08-02 21:19:05 -05:00
Randy Heit
4f528e3832
Remove lax from FCompileContext
...
- It's always set to true these days, so let's get rid of it.
2013-08-02 21:13:40 -05:00
Randy Heit
09c902ce55
Remove isconst from FCompileContext.
...
- It's not used anymore, so keeping it around is pointless.
2013-08-02 21:09:49 -05:00
Christoph Oelckers
8f45e906d4
Merge branch 'automap_colors'
2013-08-02 18:16:05 +02:00
Christoph Oelckers
aa72857c72
- implemented automap color parser for MAPINFO (code not tested yet!)
2013-08-02 16:56:42 +02:00
alexey.lysiuk
5c05f1f3cd
- Ignored dehacked.exe from *.zip files to enable loading of *.deh files.
2013-08-02 10:17:06 +03:00
Christoph Oelckers
845020c617
- ovthingcolors were not properly set.
...
- added all the missing color CVARs for the overlays which previously duplicated use of one of the other CVARs.
2013-07-31 23:13:20 +02:00
Christoph Oelckers
d77673d681
- reorganization of automap color handling for easier maintenance
...
Mostly preparation to implement a per-mod automap option but also fixes a few minor issues with some colors that are not defined in the original game specific colorsets.
2013-07-31 22:59:35 +02:00
Edoardo Prezioso
0dc70f847c
- Be more compatible with C++11 narrowing conversions system.
2013-07-31 12:27:54 +02:00
Edoardo Prezioso
8cab8f180b
- Be clear about the safe 'memset/memcpy' operations on virtual classes.
...
Since I remember that 'memset/memcpy' is safe in this code, it should be okay to cast to the generic pointer all the 'virtual class' arguments before calling the above functions. Shuts up Clang warnings.
2013-07-31 12:23:31 +02:00
Randy Heit
58f088c1ab
Remove FxExpression::EvalExpression() entirely
...
- For the purposes of getting constant values from expressions, the only
class where Resolve doesn't duplicate the functionality of
EvalExpression was FxConstant. So, every other class has had its
EvalExpression taken away, and FxConstant has had it renamed to GetValue.
2013-07-30 22:52:27 -05:00
Christoph Oelckers
4eb6f74e36
Merge branch 'maint'
2013-07-30 16:53:00 +02:00
Christoph Oelckers
3480d40484
- fixed: AActor::Die may only randomize the death state's duration if it is positive. Otherwise -1 (infinite) gets clobbered.
2013-07-30 16:52:36 +02:00