terminx
07cbae15c9
Fix autoaim. Oops.
...
git-svn-id: https://svn.eduke32.com/eduke32@5854 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-06 04:25:36 +00:00
hendricks266
da52bac304
Fix a bug in r5826 regarding display of the WWII GI rocket launcher.
...
git-svn-id: https://svn.eduke32.com/eduke32@5851 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-06 02:15:34 +00:00
terminx
0025c8c96a
I need to quit trying to be clever
...
git-svn-id: https://svn.eduke32.com/eduke32@5846 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-04 04:30:30 +00:00
terminx
4575148c02
Use size_t or ssize_t in for loops where possible
...
git-svn-id: https://svn.eduke32.com/eduke32@5829 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:41:21 +00:00
terminx
aae66ccb11
Further cleanup. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@5828 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:41:04 +00:00
terminx
34453f5090
Continued cleanup. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@5827 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:56 +00:00
terminx
5c6d8c96ad
The great cleanup continues. This one also adds a new feature, SFLAG_WAKEUPBADGUYS. When awoken (changed to an active actor), any sprite with this flag set will wake up any enemy it has line of sight with.
...
git-svn-id: https://svn.eduke32.com/eduke32@5826 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:46 +00:00
terminx
52f678a743
Massive readability cleanup of game code part 1. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@5825 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:35 +00:00
terminx
ae5f941ad0
You're just going to have to trust me that this is 10000 lines worth of formatting and variable name cleanup, and not 10000 lines of functional changes.
...
git-svn-id: https://svn.eduke32.com/eduke32@5821 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:06 +00:00
terminx
03daded192
Vectorize a few more things.
...
git-svn-id: https://svn.eduke32.com/eduke32@5800 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:18 +00:00
terminx
5800cd588c
tsectortype -> usectortype
...
twalltype -> uwalltype
tspritetype -> uspritetype
No other changes.
git-svn-id: https://svn.eduke32.com/eduke32@5796 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:58 +00:00
terminx
0562de125f
More changes similar to the previous commit
...
git-svn-id: https://svn.eduke32.com/eduke32@5795 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:45 +00:00
terminx
74b01416d0
Allow non-player hitscan projectiles to spawn sprites when impacting walls or sectors, and allow them to break sector textures (they could already break wall textures)
...
git-svn-id: https://svn.eduke32.com/eduke32@5783 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:33 +00:00
hendricks266
0434a87e3a
Remove trailing whitespace from anything we don't need to rebase from an upstream.
...
git-svn-id: https://svn.eduke32.com/eduke32@5768 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:28 +00:00
terminx
a3b3a992c0
Fix issue where sometimes hitscan projectile trails weren't spawning
...
git-svn-id: https://svn.eduke32.com/eduke32@5726 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-13 22:15:31 +00:00
terminx
6173a8c339
Revert r5496
...
git-svn-id: https://svn.eduke32.com/eduke32@5700 1a8010ca-5511-0410-912e-c29ae57300e0
2016-04-13 04:04:13 +00:00
terminx
51bc13a9d7
Break cheat code stuff out of game.c and into cheats.c/h. Remove unnecessary header includes from several modules (all relevant headers are already pulled in by duke3d.h).
...
git-svn-id: https://svn.eduke32.com/eduke32@5611 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 02:38:03 +00:00
terminx
8848ffcbd9
Fix warnings. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@5509 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-07 03:29:52 +00:00
terminx
0871e56b92
Projectile changes:
...
-palette is now set at spawn time, instead of during movement (oops!)
-projectiles can no longer hit their owner during their first tic of movement
git-svn-id: https://svn.eduke32.com/eduke32@5498 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-28 02:04:41 +00:00
terminx
1d17d2c6f6
Polymer lighting tweaks, mostly internal.
...
git-svn-id: https://svn.eduke32.com/eduke32@5496 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-28 02:04:29 +00:00
hendricks266
0ddba3388f
Factor out common handling of the end-of-level between sectors tagged 65535 and 65534, switches tagged 65535, and nukebuttons.
...
This fixes the bug with user maps ending in 65534-tagged sectors, reported by FistMarine: https://forums.duke4.net/topic/8367-end-of-level-bug/
It also eliminates dead code belonging to the nukebutton.
git-svn-id: https://svn.eduke32.com/eduke32@5463 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:51 +00:00
hendricks266
0433d97a54
Implement WWII GI weapon display code.
...
Remaining issues with the weapons (both functionality and display):
- The "pistol", "shotgun", and "chaingun" fire too slowly.
- The flamethrower fires too quickly.
- The bazooka drop for reload is late.
- Upon starting a level, the "pistol" should show a reload frame, but it does not.
git-svn-id: https://svn.eduke32.com/eduke32@5453 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:34 +00:00
hendricks266
0fdeed231b
Miscellaneous NAM and WWII GI tweaks/fixes.
...
Remaining issues:
- Inventory item gamefuncs still use their Duke 3D names. The buggy way custom gamefunc binds are saved and loaded needs to be addressed first.
git-svn-id: https://svn.eduke32.com/eduke32@5452 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:31 +00:00
hendricks266
637f48e9ce
Don't implicitly define GAMEFLAG_NAM for WWII GI. Instead, implement a new macro NAM_WW2GI synonymous with (NAM || WW2GI).
...
git-svn-id: https://svn.eduke32.com/eduke32@5450 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:24 +00:00
hendricks266
148927bb9d
Restrict the right-edge widescreen clamping of the Pistol reload and Freezer to Duke Nukem 3D only: NAM and WWII GI don't need it.
...
git-svn-id: https://svn.eduke32.com/eduke32@5449 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:20 +00:00
helixhorned
48e73c65df
player.c: factor out large A_ShootWithZvel() block into A_ShootHardcoded()
...
The block is taken over verbatim; 'vec3_t srcvect' is passed by value.
The primary purpose of this is that it's easier to compare custom projectile
behavior in A_ShootCustom() with the hardcoded one by reading the code
of these two functions. For example, this may be of use to modders wishing
to emulate a hardcoded projectile.
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5435 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-21 12:42:47 +00:00
terminx
72cea8b6b8
Fix up bloodsplat and decal positioning a bit. Nasty hacks removed. Yay.
...
git-svn-id: https://svn.eduke32.com/eduke32@5392 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:18 +00:00
terminx
0f427b8ebd
Set hit data on spawned decals
...
git-svn-id: https://svn.eduke32.com/eduke32@5388 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:05 +00:00
hendricks266
d04d31bd31
Set htg_t 6, 7, and 8 on GROWSPARK sprites upon shooting, as is done for all other hitscan projectiles.
...
git-svn-id: https://svn.eduke32.com/eduke32@5249 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:42 +00:00
hendricks266
b3639ae8e7
Replace most instances of casting byte arrays to wider integral types with the B_(UN)BUF functions in compat.h that were previously used only in the netcode.
...
I have commented out the versions of these functions that perform bitmasks and shifts and replaced them with versions that cast to and from integral types, pending performance and compatibility research across platforms.
git-svn-id: https://svn.eduke32.com/eduke32@5174 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:03:48 +00:00
hendricks266
ce55b4a6fb
Add game-side def "globalgameflags" that takes a single value. Flag 1 disables hardcoded pinning of HUD weapons to the side of the screen in widescreen.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5161 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:08:46 +00:00
helixhorned
5683beec3d
Do "typedef projectile_t defaultprojectile_t;" instead of having an indetical-member type.
...
Move projectile_t to player.h.
git-svn-id: https://svn.eduke32.com/eduke32@5159 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:21 +00:00
hendricks266
8551ae6e22
In P_DisplayWeapon(), don't skip P_DisplaySpit() due to Fist/Knuckles/Tip/Access.
...
git-svn-id: https://svn.eduke32.com/eduke32@5120 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:50:44 +00:00
hendricks266
c24e5f51cd
Add events for the remaining player-related HUD display functions:
...
EVENT_DISPLAYSPIT - loogies from the SPIT projectile
EVENT_DISPLAYFIST - nukebutton fist (shrunk fists are part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNEE - pstomp knee (quick kick is part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNUCKLES - knuckle crack idle animation
EVENT_DISPLAYSCUBA - scuba gear
EVENT_DISPLAYTIP - tip hand
EVENT_DISPLAYACCESS - access cards / keycards
git-svn-id: https://svn.eduke32.com/eduke32@5118 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:57:30 +00:00
hendricks266
0b1d786f35
Move handling of ud.drawweapon from G_DrawWeaponTileWithID() to P_DisplayWeapon(). This fixes it not being applied to the quick kick and mighty foot.
...
git-svn-id: https://svn.eduke32.com/eduke32@5117 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:57:11 +00:00
hendricks266
48358dae19
Replace the use of an "snum" parameter in the screen display functions with screenpeek because we need to keep screenpeek accurate for CON anyway.
...
git-svn-id: https://svn.eduke32.com/eduke32@5116 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:52 +00:00
hendricks266
806bbe6d71
CON: Add projectile workslike flag PROJECTILE_NOSETOWNERSHADE = 0x00200000 = 2097152 that prevents actors from inheriting a projectile's shade when shooting it.
...
git-svn-id: https://svn.eduke32.com/eduke32@5106 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:48:51 +00:00
hendricks266
0adcc4a3f7
C-CON: Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().
...
git-svn-id: https://svn.eduke32.com/eduke32@5099 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:24 +00:00
terminx
c9ce545ab8
A lot of CON rewrites/optimizations. Converts projectile system to dynamic allocation, saving a bunch of memory (something like sizeof(projectile_t) * MAXTILES * 2). This commit also contains changes that reduce overhead for CON commands that take a lot of parameters, by way of adding a Gv_GetManyVars() to replace long strings of subsequent calls to Gv_GetVarX().
...
Savegame version has been bumped due to the projectile changes. There is no way this commit doesn't cause at least one bug, so DONT_BUILD. ;)
git-svn-id: https://svn.eduke32.com/eduke32@5080 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:55 +00:00
helixhorned
326ba366e9
Add lunatic/test/thisactor_getzrange.con, providing 'state thisactor_getzrange'.
...
Also, note a place that is the real cause for "what makes the player slide off
enemies", as far as I can see.
git-svn-id: https://svn.eduke32.com/eduke32@5016 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:54 +00:00
terminx
c486256e01
Android fixes: let the player climb stairs while crouched and fix the quick switch function of the weapon wheel. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4994 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:35 +00:00
hendricks266
53306244f0
Improve weapon switching:
...
1. If you switch away from a weapon and switch to a third when the gun is still going down, continue lowering the first weapon instead of immediately raising the third.
2. If you switch away from a weapon and switch back to it before it lowers completely, raise it from its current position instead of going all the way to the bottom.
git-svn-id: https://svn.eduke32.com/eduke32@4915 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:36 +00:00
terminx
9ab6ab7139
Fix up weapon switching deficiencies
...
git-svn-id: https://svn.eduke32.com/eduke32@4888 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:51:17 +00:00
terminx
bf3c0de73a
Mainly misc cleanups (and a fix for the C++ build), but there are a few important changes in here.
...
VM_OnEvent() has become VM_OnEvent(), VM_OnEventWithReturn(), VM_OnEventWithDist(), and VM_OnEventWithBoth() (the latter of which is only ever used once...). Of course, this required every call to VM_OnEvent() be changed.
memberlabel_t and vmstate_t have been changed to use the regular "int" type versus explicitly specifying int32_t as they did previously. The rationale for this change is simply that it looks cleaner, and I think we should move toward just using "int" in most cases where there's no particular reason to specify an explicit data type.
Also changes CON_KILLIT to just "return" instead of "continue". DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4745 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:29:25 +00:00
terminx
3e7f96c32d
Fix up conveyor belts. This fixes breakage of the movement in general, as well as corrects the general behavior of the effect so that a player on a moving surface is moved at a constant rate, regardless of whether the player crouches, is shrunk, etc. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4741 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:12 +00:00
helixhorned
108a4022fa
C-CON: fix 'readgamearray' on 64-bit platforms.
...
Also prettify P_DisplaySpit().
git-svn-id: https://svn.eduke32.com/eduke32@4734 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:12 +00:00
terminx
7f232bcbd1
Alter weapon switching to cycle through GROW_WEAPON when using next/previous weapon keys. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4707 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:08:03 +00:00
terminx
ce210a9fd7
Clean up some player code a bit... make bobposx/bobposy a vec2_t, make fricxv/fricyv a per-player vec2_t (TODO: CON access), promote angvel in input_t to int16_t and allow for player angle changes that result in odd numbered angles (we were effectively artificially limiting the angle to 1024 values before), fix some HUD model ID stuff that should help with the weapons in the HRP, clean up a bunch of random functions (P_FireWeapon(), P_DisplayTip(), P_DisplayAccess(), P_DisplayWeapon(), P_GetInput(), etc). Also clean up G_SetupFilenameBasedMusic() to loop through flac/ogg/mid when searching for usermap music replacements. Some of this really needs a BYTEVERSION bump, but these commits aren't for synthesis to build so we're not doing it yet. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4703 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:11 +00:00
terminx
8934226bb2
Another 5000 lines of pain and tears. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4680 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:36:34 +00:00
terminx
6c6b68d534
Various additional optimizations: add CLASSIC_SLICE_BY_4 mode to unroll some of the loops in a-c, replace integer divisions by a divisor unknown at compile time with usage of libdivide, clean up pragmas further by removing more old stuff that wasn't used anywhere. This is another one of those nasty commits that make people cry. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4658 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:21 +00:00