Major Cooke
167cb28563
Added GetProximity(classname, distance, flags, ptr).
...
- Behaves similarly to A_CheckProximity but returns the count of classname instead of true/false.
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-30 00:26:55 +02:00
MajorCooke
41414830a5
- Fixed: A_Warp never properly positioned actors on floors, if they wound up in or on one
2016-07-24 01:02:21 +02:00
MajorCooke
9df65f73fc
Localized the input checker into P_Thing_CheckInputNum now called by both ACS and DECORATE..
2016-06-20 09:41:46 -05:00
Christoph Oelckers
1703842a94
- fixed some issues with teleport fog:
...
* many calls didn't use TELEFOGHEIGHT, mostly those coming from external code submissions that never were tested on anything but Doom. Addressed by adding this value inside P_SpawnTeleportFog and making the distinction between projectiles and non-projectiles from P_Teleport also part of this function.
* there were still a few places which spawned the teleport fog directly, skipping all the added features of P_SpawnTeleportFog.
2016-06-06 10:48:40 +02:00
Christoph Oelckers
8a08fb2f6a
- fixed nullptr/bool mixup.
2016-06-04 20:52:56 +02:00
Benjamin Moir
6633e41cca
added CheckProximity to ACS
2016-05-29 12:38:37 +02:00
Christoph Oelckers
ef98757c7c
- replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
...
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00
Christoph Oelckers
db86385cf6
- removed STACK_ARGS.
...
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
Christoph Oelckers
dabed04d2a
- floatification of p_3dfloors, p_3dmidtex and p_acs.cpp plus some leftovers.
...
- removed all references to Doom specific headers from xs_Float.h and cmath.h.
2016-03-26 12:36:15 +01:00
Christoph Oelckers
fb8e03d5eb
- floatified FLineOpening.
...
- some smaller fixes.
2016-03-25 18:43:37 +01:00
Christoph Oelckers
1125101b37
- floatified AActor::Prev plus the stuff using it.
...
- rewrote some coordinate functions in AActor to use real float math instead of converting back and forth between float and fixed.
2016-03-25 16:25:25 +01:00
Christoph Oelckers
21340c6eba
- floatified the rest of thingdef_codeptr.cpp and got rid of the remaining fixed_t and angle_t parameters in VM-accessed function. The VM should now be free of those types completely.
2016-03-25 12:57:22 +01:00
Christoph Oelckers
7c87479eea
- parameter rework of several spawning functions.
2016-03-23 13:31:12 +01:00
Christoph Oelckers
f60eac8dc0
- floatified FMapThing, dropoffz and GetBobOffset
2016-03-23 12:21:52 +01:00
Christoph Oelckers
f8cf4bcf3d
- trimmed down the AActor Spawn interface and removed all non-float variants.
...
This still needs some cleanup in a few calling functions.
2016-03-23 10:42:41 +01:00
Christoph Oelckers
a652c061f6
- converted g_strife to full floating point use, except the floor height changing stuff in A_LightGoesOut.
2016-03-22 12:42:27 +01:00
Christoph Oelckers
1ff4bb419c
- made AActor::gravity and FMapThing::gravity floats.
2016-03-21 00:51:19 +01:00
Christoph Oelckers
289cdfbefd
- made AActor::floorclip a double.
2016-03-20 23:42:27 +01:00
Christoph Oelckers
cff8e51811
- converted AActor::height to double.
2016-03-20 20:55:06 +01:00
Christoph Oelckers
8362c6a856
- conversion of floorz to double.
2016-03-20 19:52:35 +01:00
Christoph Oelckers
0bdb65c477
- made AActor::radius a double.
...
This means that all files in g_doom are now fully converted.
2016-03-20 15:04:13 +01:00
Christoph Oelckers
51b05d331d
- replaced AActor::vel and player_t::Vel with a floating point version.
...
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.
Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers
aa09cbdada
- renamed some functions and fixed a few more conversion errors.
2016-03-17 00:07:37 +01:00
Christoph Oelckers
671291227e
- first stage of converting actor angles to float complete
...
Patched up everything so that it compiles without errors again. This only addresses code related to some compile error. A large portion of the angle code still uses angle_t and converts back and forth.
2016-03-16 12:41:26 +01:00
Christoph Oelckers
c64eee5b15
Merge branch 'master' into float
...
# Conflicts:
# src/g_heretic/a_hereticweaps.cpp
# src/p_map.cpp
# src/p_mobj.cpp
# src/p_things.cpp
# src/portal.cpp
2016-03-15 00:16:13 +01:00
Christoph Oelckers
651817fad7
- made AActor::velx/y/z and player_t::velx/y fixedvec's.
...
(This commit is 95% search & replace with only a few places where velz was used as a local variable changed.)
2016-03-12 14:11:43 +01:00
Christoph Oelckers
161d03231a
- added custom math routines for reliability.
2016-03-11 15:45:47 +01:00
Christoph Oelckers
f8ebfb541e
- use typedefs for TVector<double> etc.
...
(Better have this out of the way before messing around with this stuff...)
2016-03-10 20:45:45 +01:00
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00
Christoph Oelckers
eafd2519b4
- fixed a few incorrect uses of AngleTo function.
...
- added portal offsetting to all AproxDistance, AngleTo and Vec*To members of AActor.
- optimized displacement retrieval so that the most common case with no offset retrieves a constant null-vector which can be optimized away fully by the compiler.
- early out in P_GetOffsetPosition if there's no portal lines nearby, so that the common case can skip the traverser completely even on maps with line portals.
2016-02-26 11:52:50 +01:00
Christoph Oelckers
208ad14bad
- this wasn't saved when I committed the interpolation stuff.
2016-02-25 01:24:09 +01:00
Christoph Oelckers
e11da06e69
- some preparations for actor interpolation through wall portals.
2016-02-25 00:41:31 +01:00
Christoph Oelckers
6adb069506
- rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
...
This was to resolve some circular dependencies with the portal code.
The most notable changees:
* FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
* split off the parts from p_maputl into a separate header.
* consolidated all blockmap related data into p_blockmap.h
* split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Randy Heit
b3b0886b64
Merge branch 'scripting'
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_blastradius.cpp
src/p_enemy.cpp
src/p_enemy.h
src/thingdef/thingdef.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Christoph Oelckers
c4377b7039
- removed the implicit fixedvec -> TVector conversions because they caused too many problems. Also reviewed all uses of these and made the necessary adjustments. Problems were present in P_SpawnMissileXYZ and P_Thing_Projectile.
...
- replaced some single precision float math with doubles.
2016-01-23 20:44:33 +01:00
Christoph Oelckers
c78344c19d
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_user.cpp
src/thingdef/thingdef_expression.cpp
2016-01-20 15:16:06 +01:00
Christoph Oelckers
68c0f929dc
- refactoring complete. The source compiles again with the renamed position variable.
2016-01-20 15:12:51 +01:00
Christoph Oelckers
bc63b70d88
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/fragglescript/t_func.cpp
src/g_doom/a_bossbrain.cpp
src/g_doom/a_revenant.cpp
src/g_heretic/a_hereticartifacts.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_knight.cpp
src/g_hexen/a_bishop.cpp
src/g_hexen/a_clericholy.cpp
src/g_hexen/a_dragon.cpp
src/g_hexen/a_firedemon.cpp
src/g_hexen/a_flechette.cpp
src/g_hexen/a_heresiarch.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/g_hexen/a_iceguy.cpp
src/g_hexen/a_korax.cpp
src/g_hexen/a_magelightning.cpp
src/g_hexen/a_serpent.cpp
src/g_hexen/a_spike.cpp
src/g_hexen/a_wraith.cpp
src/g_raven/a_minotaur.cpp
src/g_shared/a_bridge.cpp
src/g_shared/a_pickups.cpp
src/g_shared/a_randomspawner.cpp
src/g_strife/a_alienspectres.cpp
src/g_strife/a_crusader.cpp
src/g_strife/a_entityboss.cpp
src/g_strife/a_inquisitor.cpp
src/g_strife/a_loremaster.cpp
src/g_strife/a_programmer.cpp
src/g_strife/a_sentinel.cpp
src/g_strife/a_spectral.cpp
src/g_strife/a_strifestuff.cpp
src/g_strife/a_strifeweapons.cpp
src/g_strife/a_thingstoblowup.cpp
src/p_local.h
src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
c1b44a5694
- let's make some use of AActor::Pos and get rid of some of those X() and Y() calls...
...
- restore proper actor.h file.
2016-01-18 21:01:52 +01:00
Christoph Oelckers
57ab1387f2
- yet more refactoring.
...
Note about A_SkelMissile: The direct change of the missile's position was changed to use SetOrigin. If this is later supposed to be portal-aware, such direct coordinate changes are a no-go to ensure that everything is properly maintained.
2016-01-18 18:52:24 +01:00
Christoph Oelckers
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
fbaab5044d
Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
...
Conflicts:
src/d_dehacked.cpp
src/decallib.cpp
src/g_hexen/a_clericstaff.cpp
src/p_interaction.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0
Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
...
Conflicts:
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
3e446ea04d
- replaced access to AActor's coordinate members with access functions
...
(first 200 compile errors down...)
2016-01-17 13:48:16 +01:00
Christoph Oelckers
2c0f64cf9f
- refactoring of R_PointToAngle2 when used to calculate direction between two actors.
2016-01-10 20:46:26 +01:00
MajorCooke
e2d874e343
Applied _mental_'s suggestion
2015-10-04 12:37:49 -05:00
MajorCooke
af9478f818
- Added Warp properties RadiusOffset and Pitch.
...
- RadiusOffset is a multiplier of the target actor's radius added onto the offsets x and y.
- Pitch is added to the warping actor's current pitch, provided WARPF_USEPITCH is supplied.
- Fixed WARPF_TOFLOOR not working as intended.
2015-10-03 17:28:54 -05:00
MajorCooke
ebf515f8c7
- Fixed unneeded dual call to SetOrigin.
2015-08-25 20:18:06 -05:00
MajorCooke
87cc3f77f9
- Removed WARPF_ADDHEIGHT.
2015-08-10 16:05:44 -05:00
MajorCooke
54af1e379e
- Removed WARPF_MULHEIGHT. Enable its ability by default.
...
- WARPF_ADDHEIGHT will simply change HeightOffset from multiplying to adding by default.
2015-08-10 15:03:29 -05:00