terminx
b0a4b6a1ee
Convert loops using unsigned integers as iterators to use regular signed ints instead
...
https://kristerw.blogspot.com/2016/02/how-undefined-signed-overflow-enables.html
Doing this as cleanly as possible involved demoting several function parameters concerning object sizes and counts from size_t to int--I'm fine with this change as the functions in question are not actually capable of handling input with sizes larger than what can be stored in a signed 32-bit integer, making the use of size_t here misleading at best.
git-svn-id: https://svn.eduke32.com/eduke32@7673 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
# source/build/src/texcache.cpp
# source/build/src/tilepacker.cpp
2019-09-20 10:04:24 +02:00
terminx
509febe25a
Fix actor z position update bug
...
git-svn-id: https://svn.eduke32.com/eduke32@7667 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:42 +02:00
terminx
549ef41eb7
EDUKE32_STANDALONE stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@7666 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:40 +02:00
terminx
562e6f419c
Use function overloading to clean up some of the CON event execution function names
...
git-svn-id: https://svn.eduke32.com/eduke32@7636 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:21:37 +02:00
terminx
e9116bd23a
Add SFLAG_QUEUEDFORDELETE, to handle detection and manipulation of things like decal sprites marked for deletion
...
git-svn-id: https://svn.eduke32.com/eduke32@7604 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:51:41 +02:00
terminx
301ac48ccd
Utilize the types added in the previous commit
...
This patch is a bit large.
git-svn-id: https://svn.eduke32.com/eduke32@7603 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/mdsprite.h
# source/build/src/build.cpp
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-19 14:46:31 +02:00
terminx
91d8953420
Patch from Fox adding SFLAG_NOWATERSECTOR, to prevent certain sprites from moving into water
...
git-svn-id: https://svn.eduke32.com/eduke32@7489 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:33 +02:00
pogokeen
0bfde1c4d3
Fix issue where swingdoors would refuse to open or close if an enemy was in front of the door in an overlapping but unrelated/disjoint sector
...
git-svn-id: https://svn.eduke32.com/eduke32@7473 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:35 +02:00
terminx
b62fa1fa5c
Fix stupid bug in r7409
...
git-svn-id: https://svn.eduke32.com/eduke32@7461 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:47 +02:00
terminx
b65bfefd0f
Revert change to enemy step heights that wasn't working out
...
git-svn-id: https://svn.eduke32.com/eduke32@7448 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:13 +02:00
terminx
d48ca24079
This should fix most of the remaining issues with projectiles colliding with ledges they shouldn't be hitting
...
git-svn-id: https://svn.eduke32.com/eduke32@7436 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:26 +02:00
terminx
d869e612e4
Fix stupid typo in hardcoded Duke3D actor
...
git-svn-id: https://svn.eduke32.com/eduke32@7426 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
da6b01bf8e
Improve collision for projectiles
...
This does a few things:
-projectiles now use clipmovex() instead of clipmove() (this is like CON_CLIPMOVENOSLIDE)
-the z distances passed to clipmove() are now calculated from the sprite's size instead of being hard-coded
-projectiles now move as if they had SFLAG_NOCLIP applied for the first tic after spawning
git-svn-id: https://svn.eduke32.com/eduke32@7409 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:27 +00:00
terminx
c7f003a1a9
Remove a couple of blocks in A_MoveSpriteClipdist() from standalone builds and call setsprite() unconditionally before doing any movement
...
git-svn-id: https://svn.eduke32.com/eduke32@7406 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:16 +00:00
terminx
06ac4f88b9
This fixes S_CheckSoundPlaying() and makes CON_IFSOUND work correctly in scripts that run during menus. These changes together fix the exchange between Duke and Lani at the end of episode 3 of Duke3D.
...
git-svn-id: https://svn.eduke32.com/eduke32@7279 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:25 +00:00
terminx
b4404978d6
Change A_AddToDeleteQueue() to call A_DeleteSprite() on sprites it removes from the queue directly, as sprites with statnums other than STAT_ACTOR and STAT_MISC are not deleted automatically when their xrepeat is 0. This fixes using CON_INSERTSPRITEQ with sprites of statnums other than STAT_ACTOR and STAT_MISC.
...
git-svn-id: https://svn.eduke32.com/eduke32@7275 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:03 +00:00
terminx
ef6a60396c
Remove unnecessary spriteNum argument from P_Submerge() and P_Emerge()
...
git-svn-id: https://svn.eduke32.com/eduke32@7243 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:36:15 +00:00
seventyfive
87cf4495bf
- Packet code implementation (merge from private c/s repo), world updates are now synced through snapshots. See tag SVN_SyncPoint_Dec2018 on master of the other repo.
...
- "Scratch pad" sprites implementation, to avoid desyncs in sprite indexes, clients will insert temporary sprites which are cleared out when they receive the next snapshot from the server.
- Patches from Striker which fix player stomping frag counts, the accept button when hosting a game through the menu, and a "noffire" command line parameter.
- Patches from NY00123: t_data sync optimizations to improve some jittery behavior on the client side.
git-svn-id: https://svn.eduke32.com/eduke32@7242 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-08 00:40:39 +00:00
terminx
1cbdb901bd
This one is for Hendricks
...
git-svn-id: https://svn.eduke32.com/eduke32@7223 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:25 +00:00
terminx
279bdca726
Was checking something out for a mapper and noticed this block of code should be nested deeper.
...
git-svn-id: https://svn.eduke32.com/eduke32@7222 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:19 +00:00
terminx
0d652ae063
Switch VM_EventCommon to use references
...
git-svn-id: https://svn.eduke32.com/eduke32@7205 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:44 +00:00
terminx
3aaa5e04aa
Clean up some of the level initialization and player value reset functions that live in premap.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7171 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:51 +00:00
terminx
86496a8126
CON structure member access readability cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7169 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:38 +00:00
terminx
ad7d61baa1
Use range-based loops for simplicity
...
git-svn-id: https://svn.eduke32.com/eduke32@7130 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:40 +00:00
terminx
af728b2641
Remove a few useless forward declarations and const-ify a couple of function parameters. Yawn.
...
git-svn-id: https://svn.eduke32.com/eduke32@7070 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:50 +00:00
terminx
7b1cdb6f12
Remove redundant statements. This commit doesn't actually do anything.
...
git-svn-id: https://svn.eduke32.com/eduke32@7066 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:15:38 +00:00
terminx
eee0a71496
Remove dead code branch from RECON (logic oversight) and get rid of a useless fallthrough__
...
git-svn-id: https://svn.eduke32.com/eduke32@7047 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:53 +00:00
terminx
e6277dd8da
Replace a bunch of fall-through comments with our fallthrough__ macro.
...
git-svn-id: https://svn.eduke32.com/eduke32@6976 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-04 05:57:41 +00:00
terminx
8d72c6e5c5
Disable a few more hard-coded sounds in EDUKE32_STANDALONE builds
...
git-svn-id: https://svn.eduke32.com/eduke32@6975 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:20 +00:00
terminx
2738d8e2a4
Add PROJECTILE_RPG_IMPACT_DAMAGE flag for projectiles, 0x00400000. This makes PROJECTILE_RPG_IMPACT function more or less how it did prior to late 2016 when an issue involving the damage was identified and fixed, and moves the damage to the new flag.
...
git-svn-id: https://svn.eduke32.com/eduke32@6974 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-01 19:36:15 +00:00
hendricks266
104bdb131b
Fix warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
...
git-svn-id: https://svn.eduke32.com/eduke32@6949 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:53 +00:00
terminx
b2e788b7e9
EDUKE32_STANDALONE stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@6942 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:03 +00:00
terminx
983781b56d
Fix issue with viewing the player sprite through a security camera
...
git-svn-id: https://svn.eduke32.com/eduke32@6927 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-21 04:12:04 +00:00
terminx
725d556bc4
Fix conveyor belt speed in IM, but not Duke because it breaks gameplay
...
git-svn-id: https://svn.eduke32.com/eduke32@6914 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:47 +00:00
terminx
0dd623a7fe
Don't spawn hardcoded Duke3D debris/guts/glass sprites when compiled as EDUKE32_STANDALONE
...
git-svn-id: https://svn.eduke32.com/eduke32@6911 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:31 +00:00
terminx
9c313158e8
Rework SE26 movement to function more like SE14 than SE24
...
git-svn-id: https://svn.eduke32.com/eduke32@6910 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-09 20:36:24 +00:00
terminx
326af0d062
Fix SFLAG_WAKEUPBADGUYS
...
git-svn-id: https://svn.eduke32.com/eduke32@6908 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-05 21:59:52 +00:00
pogokeen
712646f713
actors.cpp: improve SE_11_SWINGING_DOOR detection and handling of players that block a door's path
...
git-svn-id: https://svn.eduke32.com/eduke32@6893 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 10:01:17 +00:00
hendricks266
7c7b8f62a9
CON: Revert r6526 and r6527. This restores the longstanding behavior of the killit command, and setting sprites' xrepeat to zero, to not actually delete sprites unless their statnum is STAT_ACTOR or STAT_MISC. Be sure to set a sprite's statnum to one of these statnums if you want it to be deleted.
...
This should fix the broken E1L1 sector warp in the existing release of the Duke 64 mod, and the Polymer light culling used in HHR.
git-svn-id: https://svn.eduke32.com/eduke32@6892 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 05:59:08 +00:00
terminx
1fd209444f
Continuing the quest for clearer function names
...
git-svn-id: https://svn.eduke32.com/eduke32@6829 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:12 +00:00
terminx
0340e3cc0f
Engine function name cleanup round 2
...
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ad75d09d57
Use FindDistance3D() instead of sepdist() directly because we don't need/want it inlined here
...
git-svn-id: https://svn.eduke32.com/eduke32@6816 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:03 +00:00
terminx
34525aa853
Standalone build warning fix
...
git-svn-id: https://svn.eduke32.com/eduke32@6806 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 04:39:23 +00:00
terminx
23471fdf0a
Build fixes, oops
...
git-svn-id: https://svn.eduke32.com/eduke32@6805 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 21:06:07 +00:00
terminx
316db0ee5e
Guards
...
git-svn-id: https://svn.eduke32.com/eduke32@6804 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:48:15 +00:00
terminx
d9b24b8f5c
#ifndef EDUKE32_STANDALONE guard a bunch of hardcoded behavior
...
git-svn-id: https://svn.eduke32.com/eduke32@6798 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:44 +00:00
terminx
f978ba0d07
Optimize A_RadiusDamage()
...
git-svn-id: https://svn.eduke32.com/eduke32@6796 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:33 +00:00
terminx
aba97eb6a9
Fix hitradius performance when affecting tons of walls
...
git-svn-id: https://svn.eduke32.com/eduke32@6793 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:17 +00:00
hendricks266
f19607daa8
Fix build
...
git-svn-id: https://svn.eduke32.com/eduke32@6775 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 06:44:27 +00:00
hendricks266
928ce686a6
CON: Add EVENT_DAMAGESPRITE, EVENT_POSTDAMAGESPRITE, EVENT_DAMAGEWALL, EVENT_DAMAGECEILING, and EVENT_DAMAGEFLOOR.
...
In these events, THISACTOR is the projectile (or source of damage), and RETURN is the sprite/wall/sector affected.
Set RETURN to -1 to cancel any hardcoded effects.
ud.return 1 through 5 are the parameters passed to hitradius if RADIUSEXPLOSION is the source of the damage. ud.return 1 is -1 otherwise.
New tokens "damageeventtile" and "damageeventtilerange" or tiledata[].gameflags & SFLAG_DAMAGEEVENT to enable processing for receivers with corresponding tilenums.
CON commands to replicate hardcoded effects (beyond switching tilenums, such as spawning glass) are forthcoming.
Use of EVENT_DAMAGEHPLANE is hereby discouraged.
Patch from Striker, based on work by Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6771 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:10 +00:00