Commit graph

3936 commits

Author SHA1 Message Date
hendricks266
6a6bfc72fd Fix an unused variable in menus.c with USE_OPENGL=0.
git-svn-id: https://svn.eduke32.com/eduke32@5461 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:43 +00:00
hendricks266
38dd14b124 More NAM/WWII GI "bluefont" xbetween fixes missed in r5452.
git-svn-id: https://svn.eduke32.com/eduke32@5459 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:31 +00:00
hendricks266
27c646b5a7 Fix a compiler error on introduced in r5445.
git-svn-id: https://svn.eduke32.com/eduke32@5458 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:28 +00:00
hendricks266
33755d847b Fix typo in r5448.
git-svn-id: https://svn.eduke32.com/eduke32@5457 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:25 +00:00
hendricks266
a5ce52dc78 Fix compiler warnings when building for 32-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5456 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:22 +00:00
hendricks266
aac7301af8 WWII GI: Use "GI2" as the cheat prefix instead of "WW2" because W conflicts with WSAD movement.
git-svn-id: https://svn.eduke32.com/eduke32@5455 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:17 +00:00
hendricks266
ff12dd11f4 Duke3D/Startup: Autodetect the installation path of the World War II GI release on Steam. Windows and Linux only for now, as there appears to be no OS X support.
git-svn-id: https://svn.eduke32.com/eduke32@5454 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:37 +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
4aae9378d0 Implement NAM and WWII GI's replacement cheats.
Whereas Duke starts cheats with DN, NAM starts with NVA and WWII GI starts with WW2. (Hackily: CheatKeys[] is still size 2, and the third character is at the start of every CheatString.)

The cheats hyper (NAM-only), coords, view, skill, weapons, and inventory were not originally present but since they work properly and this is EDuke32, I have re-added them. Non-working cheats are now disabled.

git-svn-id: https://svn.eduke32.com/eduke32@5451 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:28 +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
hendricks266
90623c1f65 Duke3D/Startup: Instead of adding Megaton's music paths, don't remove the gameroot path and let my new S_OpenAudio take care of the SC-55 soundtrack.
git-svn-id: https://svn.eduke32.com/eduke32@5448 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:17 +00:00
hendricks266
f1a658e790 Duke3D/Startup: Clean up the Windows registry reading code.
There is no need to cache the result of a function called only once for each input.

git-svn-id: https://svn.eduke32.com/eduke32@5447 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:14 +00:00
hendricks266
6cb925a95d Duke3D/Sound: Add a hack to the previous commit so that Megaton's grabbag.voc will still upgrade to music/grabbag_voc.ogg, but its subway.voc will no longer upgrade to music/subway.ogg.
git-svn-id: https://svn.eduke32.com/eduke32@5446 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:10 +00:00
hendricks266
26aca9b291 Duke3D/Sound: Restructure S_OpenAudio to check in more paths. For each path, it performs the filename transformations and checks it does currently.
First, it will try the local path (as previously).
Second, it will check to see if the filename originally requested exists inside a GRP or SSI file (its parent), and if it does, it will check in "music/<parent's name sans extension>/".
Third, it will check in "music/".

Do not rely on this when distributing mods: These checks are hacks and may potentially be removed.

git-svn-id: https://svn.eduke32.com/eduke32@5445 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:07 +00:00
hendricks266
fcd7b2e0b1 Duke3D/Sound: Make kopen4loadfrommod a tail-call from S_UpgradeFormat, rename the function to S_OpenAudio, and replace 4x calls to one and then the other. No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@5444 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:04 +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
helixhorned
6123d0b904 Mapster32: add byte array editorcolors[256] to m32script variables.
This makes it possible to set up editor colors at startup (from
m32_autoexec.cfg). For example:

 script_expertmode 1
 do for i range 256 ifge i 33 { set editorcolors[i] i }
 script_expertmode 0

Use this method in the description of how to get old-style 2D colors
in tiles.cfg and suggest an alternative color index pair.

git-svn-id: https://svn.eduke32.com/eduke32@5433 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-20 20:26:51 +00:00
helixhorned
56672fd5e2 Mapster32: make 'script_expertmode' require an argument (0 or 1) to toggle.
Without an argument, it prints the current state.

git-svn-id: https://svn.eduke32.com/eduke32@5432 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-20 20:26:49 +00:00
helixhorned
5aae37c4c5 Mapster32: changes to aid getting the old color scheme (by customizing).
- bump MAX_TILE_GROUP_ENTRIES to MAXUSERTILES
- in loadtilegroups(), only assign a tile color if it wasn't already
  assigned
- allow "hidden" tile groups by omitting the hotkey
- Tweak the description added to tiles.cfg

git-svn-id: https://svn.eduke32.com/eduke32@5430 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:41:00 +00:00
helixhorned
f8076f9207 Mapster32: honor "blocking color" declared with DEF 'spritecol' et al.
Meaning tilegroup's 'colors' directive.

Also, to the packaged tiles.cfg, add a description of how to emulate the
earlier Mapster32 sprite coloring for one tile group.

git-svn-id: https://svn.eduke32.com/eduke32@5429 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:59 +00:00
helixhorned
eb863ef1dc Mapster32: introduce DEF command "2dcolidxrange <col> <idx> <idxend>".
<col> is the editorcolor[] starting index
<idx> is the actual color index start
<idxend> is the actual color index end

So, editor colors from <col> onward will be mapped to
[<idx> .. min(<idxend>, 255)].

Takes precedence over '2dcol'.

git-svn-id: https://svn.eduke32.com/eduke32@5427 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:57 +00:00
helixhorned
5e61b28ebc Mapster32: in drawscreen_drawsprite(), "sprite[j]." -> "spr->".
Also a similar stylistic tweak in parsetilegroups().

git-svn-id: https://svn.eduke32.com/eduke32@5426 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:56 +00:00
helixhorned
22724d7841 Fix POLYMER=0 build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5424 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 19:54:27 +00:00
helixhorned
d204b6df99 premap.c: on prelevel(), clear bits 16 and 32 of effector sprites.
git-svn-id: https://svn.eduke32.com/eduke32@5422 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:14 +00:00
helixhorned
51489e44d4 Mapster32: add var 'corruptcheck_game_duke3d' and enable by default.
Currently, this checks for effector sprites that are not face-aligned.
See
https://forums.duke4.net/topic/8324-icestation-colossus-map-broken

git-svn-id: https://svn.eduke32.com/eduke32@5420 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:11 +00:00
hendricks266
4ef39c8bb8 astub.c: Fix typos in console function definitions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5418 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-02 17:07:50 +00:00
hendricks266
13c7b771a3 Use the script parser for names files instead of custom parsing. This allows names files to define labels as other labels.
git-svn-id: https://svn.eduke32.com/eduke32@5414 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:22 +00:00
helixhorned
d824ddf406 Mapster32: fix fillsector() calls before fade_editor_screen().
The latter allows one to specify a color to keep, but with r5302 the
fillsector() highlights are drawn with transparency, thus making it ineffective.
Add an argument to toggle transparency to fillsector()
(now fillsector_maybetrans()) and two wrapper functions.

git-svn-id: https://svn.eduke32.com/eduke32@5411 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:32 +00:00
terminx
b9802a79df Oops, forgot one. ;)
git-svn-id: https://svn.eduke32.com/eduke32@5409 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-24 00:35:19 +00:00
terminx
f5346f4732 Menu options to control Polymer light and shadow counts
git-svn-id: https://svn.eduke32.com/eduke32@5408 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-24 00:30:35 +00:00
terminx
f22dbc6fdb Add r_pr_lighting 2, which disables the hard-coded lights while leaving lights added in maps enabled.
This also adds a menu option to control r_pr_lighting.

git-svn-id: https://svn.eduke32.com/eduke32@5406 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:21 +00:00
terminx
e742b42ef9 Disable Polymer lights attached to hidden switches.
git-svn-id: https://svn.eduke32.com/eduke32@5404 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:13 +00:00
terminx
c57be0fbdd Don't spawn BLOODPOOL 256 units above the ground.
git-svn-id: https://svn.eduke32.com/eduke32@5402 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:06 +00:00
terminx
a2076027dd Fix errant use of tsprite extra field to check an enemy's health.
git-svn-id: https://svn.eduke32.com/eduke32@5401 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:02 +00:00
terminx
7eec6b36a5 Sprite sorting changes:
-Sort by owner now occurs only when two sprites have matching x/y coordinates.
-Cstat 1024 now activates a special drawing mode that indicates a sprite should be drawn without depth after all other sprites have been drawn. The previous cstat 1024 functionality, an internal hack for shadows cast by models in Polymost, has been moved to bit 1 of a new graphical effects bitfield stored in a tsprite's .extra member.

git-svn-id: https://svn.eduke32.com/eduke32@5400 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:14 +00:00
terminx
87c8e86d44 Improve the behavior of the BLOODSPLAT family of sprites. This improves the effect so that the blood doesn't stutter when it moves, and no longer occasionally appears to climb back up the wall for a fraction of a second.
git-svn-id: https://svn.eduke32.com/eduke32@5397 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:02 +00:00
terminx
3975df6d2d Fix SE17 warp elevator transition jumps.
git-svn-id: https://svn.eduke32.com/eduke32@5393 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:21 +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
a94a292820 Fix pathsearchmode in Mapster32 when using a .def which loads a .grp.
git-svn-id: https://svn.eduke32.com/eduke32@5389 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:08 +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
terminx
470449a963 Fix saving and loading crosshaircolor, and fix fps counter color when using a palette that doesn't correspond to Duke3D's color indexes.
git-svn-id: https://svn.eduke32.com/eduke32@5387 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:01 +00:00
hendricks266
d6f06b9123 OS X: Fix -Wdeprecated-declarations compiler warnings in the startup windows.
git-svn-id: https://svn.eduke32.com/eduke32@5380 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:46 +00:00
hendricks266
6f0b135140 Fix warning: explicitly assigning value of variable of type 'CACHE1D_FIND_REC *' (aka '_CACHE1D_FIND_REC *') to itself [-Wself-assign]
git-svn-id: https://svn.eduke32.com/eduke32@5378 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:38 +00:00
hendricks266
07a2ccd79b Duke: Add globalgameflag DUKE3D_NO_HARDCODED_FOGPALS, which prevents the game from automatically defining white, red, green, and blue fogpals in the first four adjacent empty palookup slots it finds.
git-svn-id: https://svn.eduke32.com/eduke32@5375 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:19 +00:00
hendricks266
9f1d12eb2c Add globalgameflags to Duke-Mapster32's game-side def parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5374 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:16 +00:00
hendricks266
f232b2fa51 Move PaletteIndexFullbrights back into the engine and autodetect fullbrights instead of hardcoding them.
git-svn-id: https://svn.eduke32.com/eduke32@5373 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:13 +00:00
hendricks266
5f2b662c77 Split the getclosestcol functions into a new object, colmatch.
git-svn-id: https://svn.eduke32.com/eduke32@5359 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:17:59 +00:00
hendricks266
1e40b689b2 C-CON: Correct handling of size-zero gamearrays: Prevent a crash upon loading a savegame containing them, and allow resizearray to zero.
git-svn-id: https://svn.eduke32.com/eduke32@5355 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:55 +00:00
hendricks266
efe58c71f9 C-CON: Fix a harmless "Internal compiler error" warning when using quick structure access on userdef.
git-svn-id: https://svn.eduke32.com/eduke32@5354 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:52 +00:00
hendricks266
f69f1e73df CON: Add "defstate" token which functions identically as in M32script: synonymous with CON's "state" only at top-level (when defining a state). Useful for syntax highlighting.
git-svn-id: https://svn.eduke32.com/eduke32@5353 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:44 +00:00
hendricks266
a557eedf7e Remove NULL checks before calling free(): they are unnecessary as per the C standard. Other cleanup includes factoring code into DO_FREE_AND_NULL() macros.
git-svn-id: https://svn.eduke32.com/eduke32@5352 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:31 +00:00
hendricks266
064461a06f Internally, work with 24-bit palettes instead of 18-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5349 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:11 +00:00
hendricks266
c0e7dba4c1 Restructure the basepaltable subsystem to support up to 256 palettes and use dynamic allocation like palookup and blendtable.
git-svn-id: https://svn.eduke32.com/eduke32@5348 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:02 +00:00
hendricks266
2a237a3d72 Don't error out when lookup.dat can't be read.
git-svn-id: https://svn.eduke32.com/eduke32@5347 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:55 +00:00
hendricks266
ce7a20d4f2 Restructure loadpalette() so that read errors are not immediately fatal and enforce that the necessary parts have been loaded in E_PostInit (after loaddefinitionsfile()).
git-svn-id: https://svn.eduke32.com/eduke32@5346 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:50 +00:00
hendricks266
43459780af Engine: Add E_PostInit, called from the game after loaddefinitionsfile().
git-svn-id: https://svn.eduke32.com/eduke32@5345 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:42 +00:00
helixhorned
5ea8625c37 Mapster32: call update_highlightsector() after 3D mode RCtrl+RAlt.
git-svn-id: https://svn.eduke32.com/eduke32@5343 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 17:54:32 +00:00
hendricks266
c82d98fc77 Update the precompiled Windows libraries: libogg 1.3.2, libvorbis 1.3.5
git-svn-id: https://svn.eduke32.com/eduke32@5342 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 02:58:10 +00:00
hendricks266
51059b3896 Reinstate the printing of quote 121 when DNKEYS is used.
git-svn-id: https://svn.eduke32.com/eduke32@5340 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 02:57:56 +00:00
helixhorned
1ea397d0b4 Mapster32: RCtrl+RAlt (+['] or [;]) selects sectors in 3D mode, by The Mechanic.
git-svn-id: https://svn.eduke32.com/eduke32@5339 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-05 08:30:59 +00:00
helixhorned
0943cd0e3f Mapster32: in manual member editing, Shift+ENTER allows toggling individual bits
For values that are displayed in hex.
Patch by The Mechanic, with modifications.

git-svn-id: https://svn.eduke32.com/eduke32@5338 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-30 07:24:53 +00:00
helixhorned
80aa6eca58 CON: amend action's viewtype -8 to be more in line with the others.
git-svn-id: https://svn.eduke32.com/eduke32@5337 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-29 17:43:42 +00:00
helixhorned
c1a54c60db CON: allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Similarly to how -5 and -7 and are accepted since r3859.

git-svn-id: https://svn.eduke32.com/eduke32@5335 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-29 10:21:52 +00:00
hendricks266
4ed33de69d Amend r5330.
git-svn-id: https://svn.eduke32.com/eduke32@5334 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-18 07:09:04 +00:00
hendricks266
c052540d42 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@5332 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:49 +00:00
hendricks266
2303da6d7c Menus: Mostly revert r5326, and instead restrict the starting and stopping text input to touch devices where we need the on-screen keyboard to appear. This maintains the bugfix on targets with a physical keyboard.
git-svn-id: https://svn.eduke32.com/eduke32@5331 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:31 +00:00
hendricks266
bb4977cc9f Fix the Custom game content directory startup window option loading the folder alphabetically previous to the one selected when the "autoload" folder is present.
git-svn-id: https://svn.eduke32.com/eduke32@5330 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:17 +00:00
hendricks266
4360b89fb5 M32: Add EVENT_PREDRAW2DSCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@5329 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:05 +00:00
hendricks266
8f82bc5239 KenBuild: Astyle and Uncrustify all source.
git-svn-id: https://svn.eduke32.com/eduke32@5327 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:27:27 +00:00
helixhorned
8fb903a83a Menus: don't enable/disable SDL text input.
At program start, text input is enabled anyway and it does not seem to have any
adverse effects. However, disabling it after e.g. game save leads to the OSD
not working properly any more: normal keys are passed via handleevent_pollsdl's
SDL_TEXTINPUT case.

git-svn-id: https://svn.eduke32.com/eduke32@5326 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:47 +00:00
helixhorned
9b68ee5693 Menus: don't repeat #ifdef/#endif for SDL_{Start,Stop}TextInput().
git-svn-id: https://svn.eduke32.com/eduke32@5325 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:46 +00:00
helixhorned
ae56faf0ad Lunatic: in test/helixspawner.lua, make COLOR a global variable. DONT_BUILD.
To demonstrate and test that it can be modified from outside, and that
these changes are kept with savegame restores.

git-svn-id: https://svn.eduke32.com/eduke32@5322 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:41 +00:00
helixhorned
e8623165a7 Mapster32: add config variable 'corruptcheck_heinum'.
With 3 modes:
 0: auto-correction and warning disabled
 1: auto-correction enabled (default, current behavior)
 2: auto-correction and warning enabled

git-svn-id: https://svn.eduke32.com/eduke32@5320 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 07:04:14 +00:00
helixhorned
212343b390 Game: make BOUNCEMINE spawn FRAMEEFFECT only if moving horizontally.
Also add "zshoot -4096 BOUNCEMINE" to lunatic/test/weaponvars.con
to demonstrate that bouncemines can be shot.

git-svn-id: https://svn.eduke32.com/eduke32@5319 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 07:04:11 +00:00
terminx
b8442f0b67 Revert r5316 which completely broke BOUNCEMINE.
git-svn-id: https://svn.eduke32.com/eduke32@5318 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:50:31 +00:00
helixhorned
3730901f43 Game: don't spawn FRAMEEFFECT1 for BOUNCEMINE.
There's no point, really. Since the bouncemine is immobile, the tsprites
will all be overlaid at one point and show the same picture, as far
as I can see. Worse, since r4876, the generated sprites may draw on top
of the actual one. The former have their shade always set to
sprite[t->owner].shade though, and will then appear fully bright (shade
-127, since BOUNCEMINE sets it like this).

This fixes issue number 4 from
http://forums.duke4.net/topic/8042-five-minor-problems-report/

git-svn-id: https://svn.eduke32.com/eduke32@5316 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:40:42 +00:00
helixhorned
91f09c76c5 Game: in DNCOORDS display, show x/y/z for VEL + ps->fric x and y components.
Also, prettify some ps->fric-related code. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5313 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 19:42:54 +00:00
helixhorned
ff56964e1b Game: fix displayed viewscreen when its x/yrepeat isn't evenly divisible by 4.
git-svn-id: https://svn.eduke32.com/eduke32@5312 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:22 +00:00
helixhorned
73ca265137 Fix various, but not all warnings.
Except:
 - missing braces around initializer [-Wmissing-braces]: due to union-in-struct
   vec3f_t
 - comparison between signed and unsigned integer expressions [-Wsign-compare]:
   in polymer.c

git-svn-id: https://svn.eduke32.com/eduke32@5309 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:17 +00:00
terminx
6f9a9c94ec Mapster32: fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.
git-svn-id: https://svn.eduke32.com/eduke32@5307 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-22 02:06:23 +00:00
terminx
e3f02e8dd5 Mapster32: fix unreadable status messages in 3d mode when working with a palette that doesn't align to Duke3d's color layout.
git-svn-id: https://svn.eduke32.com/eduke32@5304 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-20 20:25:21 +00:00
terminx
79ac071f5b Mapster32: change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
git-svn-id: https://svn.eduke32.com/eduke32@5303 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 03:21:19 +00:00
terminx
480dc0ecaf Mapster32:
-Improved indication of selections in 2d mode. This includes both highlighted objects and multiple object selection.
-2d3d improvements: it's no longer possible to end up with a black view due to the z position being out of range when moving the cursor position to a new area with the right mouse button.
-The middle mouse button can now be used in place of the right alt key when selecting sectors, similar to how the left mouse button can be used in place of the right shift key to select points and sprites.
-2d mode mouse cursor has been changed to a 1 pixel thick red cross with a shadow instead of a 2 pixel thick red cross with no shadow. This improves visibility when working in textured mode with lava sectors and other textures similar in color.
-2d mode palette now changes when working in an underwater sector.
-Misc tweaks

git-svn-id: https://svn.eduke32.com/eduke32@5302 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:48 +00:00
terminx
c0aabb7494 Mapster32: don't warn about the map being corrupt if the only thing wrong with it is a sector ceilingheinum or floorheinum set without the corresponding bits to enable sloping set. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5301 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:43 +00:00
terminx
868afddbc3 Mapster32: further 2d mode performance improvements. Sprites are also now displayed with their xrepeat and yrepeat taken into account. It's not perfect yet... needs more "jiggery-pokery"
git-svn-id: https://svn.eduke32.com/eduke32@5293 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 23:07:47 +00:00
helixhorned
0419e64c0a Mapster32: fix a possible oob read via drawspritelabel; sanitize 2d3d mode.
That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are
the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other
thinkable niceties may ensue.

git-svn-id: https://svn.eduke32.com/eduke32@5291 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 14:13:04 +00:00
terminx
21e9125f2d Mapster32: 2d mode performance improvements
git-svn-id: https://svn.eduke32.com/eduke32@5290 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 21:19:41 +00:00
terminx
253f0b8771 Mapster32: improve 2d mode sprite label display. I want to test this further, so this is marked as DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5289 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:48 +00:00
terminx
3ff2e2155c A couple of Mapster32 tweaks to play nicer with different palettes.
git-svn-id: https://svn.eduke32.com/eduke32@5284 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 05:58:00 +00:00
terminx
f72dffce07 Mapster32 changes:
-2d mode sprite colors are now automatically generated from the sprite's 8-bit tile.
-Zooming in and out has been smoothed out.
-The 2d mode crosshair cursor is now 1px thick instead of 2.
-The left mouse button can now be used to select multiple wall points and sprites in 2d mode.
-Ctrl-x now skips corrupt maps instead of going into an infinite loop. ;)
-'-L function in 3d mode works again.
-Sprites with a clipdist that has been changed from the default value of 32 will display a circular approximation of the distance in 2d mode. Note that the real clipping distance is actually closer to a square, but a circle looks much less confusing/stupid alongside the display of floor sprites.
-2d mode status bar has been made a few shades lighter.

git-svn-id: https://svn.eduke32.com/eduke32@5282 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:46 +00:00
terminx
86f94d2897 New experimental Mapster32 hybrid 2D/3D mode feature. Pressing F10 in 2D mode enables a picture-in-picture 3D view in the corner of the screen. When moving the mouse over the 3D view, the controls change to 3D mode controls and all 3D mode operations can be performed. The 3D view can be resized with shift + F10 and can be moved to different positions by holding CTRL and using the arrow keys.
This commit also implements a much more useful automatic grid sizing feature and smooths out zooming in and out of the map.

git-svn-id: https://svn.eduke32.com/eduke32@5281 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:42 +00:00
terminx
d47187a92d Enable sector drawing and textured map in Mapster32 sideview mode with a sideview elevation of 512 (straight up and down).
git-svn-id: https://svn.eduke32.com/eduke32@5278 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:31 +00:00
terminx
311086da3e Minor Android changes. Barf. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5276 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:24 +00:00
terminx
a4032d234c Fix a bug where the editor was forced into game filesystem mode by default, and add a preference to mapster32.cfg to control the default filesystem mode.
git-svn-id: https://svn.eduke32.com/eduke32@5274 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:16 +00:00
terminx
bd427182db Prevent stack overflow when a grp configured via .grpinfo erroneously depends on itself. This should also be addressed in the .grpinfo parser, but this fixes it for now.
git-svn-id: https://svn.eduke32.com/eduke32@5273 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:13 +00:00
terminx
26933ecdc2 More audiolib cleanup, remove 8-bit output support.
git-svn-id: https://svn.eduke32.com/eduke32@5272 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:09 +00:00
terminx
08b101eaed Rework audiolib, interim commit before removing 8-bit output support. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5270 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:33:56 +00:00
helixhorned
f52923fb4d m32exec.c fix "multiple unsequenced modifications to 'insptr' [-Wunsequenced]".
git-svn-id: https://svn.eduke32.com/eduke32@5262 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-06 15:04:13 +00:00
terminx
b5c5611270 Fix crash when playing back an .ogg with comment metadata that doesn't contain "=".
git-svn-id: https://svn.eduke32.com/eduke32@5260 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-04 00:03:55 +00:00
hendricks266
ea82c1d897 Fix warning: narrowing conversion of 'img->vpx_image::d_w' and 'img->vpx_image::d_h' from 'unsigned int' to 'int32_t {aka int}' inside { } is ill-formed in C++11 [-Wnarrowing]
git-svn-id: https://svn.eduke32.com/eduke32@5257 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:48:07 +00:00
hendricks266
f33887b2f8 Convert multi-psky handling to use dynamically-allocated arrays.
git-svn-id: https://svn.eduke32.com/eduke32@5255 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:47:34 +00:00
hendricks266
b7b23310e3 Revert recent icon changes.
git-svn-id: https://svn.eduke32.com/eduke32@5253 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:46:44 +00:00
hendricks266
62d36cede8 Extend S_UpgradeFormat so that "filename.ext" first searches for "filename_ext.flac" and "filename_ext.ogg" before "filename.flac" and "filename.ogg".
This fixes DUKETEAM playing grabbag.ogg instead of grabbag_voc.ogg when Megaton paths have been detected.

git-svn-id: https://svn.eduke32.com/eduke32@5251 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:46:12 +00:00
hendricks266
25543b521b Add SFLAG_HURTSPAWNBLOOD, which allows actors (particularly useractor enemies) to spawn blood when hurt as hardcoded enemies do.
git-svn-id: https://svn.eduke32.com/eduke32@5250 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:59 +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
ad94a8399c C-CON: Add userdef members "globalflags" and "globalgameflags", which control the values specified by the def commands of the same name.
git-svn-id: https://svn.eduke32.com/eduke32@5248 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:30 +00:00
terminx
8ad81e14ee r5238 build fix
git-svn-id: https://svn.eduke32.com/eduke32@5246 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:20 +00:00
terminx
a1b4d05c48 Minor internal CON changes.
git-svn-id: https://svn.eduke32.com/eduke32@5245 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:17 +00:00
terminx
eaa58d2071 Minor VPX playback optimization. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5244 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:13 +00:00
terminx
37bbdd500b Misc Android. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5242 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:07 +00:00
terminx
5064e8b8cd Make 'L' key toggle grid lock in 3D mode, because it affects placement of sprites inserted with 'S'.
git-svn-id: https://svn.eduke32.com/eduke32@5240 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:01 +00:00
terminx
54d016902f vec2_t rotatesprite, take 2
git-svn-id: https://svn.eduke32.com/eduke32@5239 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:47:54 +00:00
helixhorned
fe4db15536 C-CON: fix 'resizearray' after r4735: copy over old values, zero-init new ones.
Make lunatic/test/gamearray.con run in C-CON, too.

git-svn-id: https://svn.eduke32.com/eduke32@5238 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 18:58:31 +00:00
helixhorned
d27824ae3c LunaCON: fix negative alpha for 'rotatespritea'. BUILD_LUNATIC.
Conceptually, this amends r4428.

git-svn-id: https://svn.eduke32.com/eduke32@5237 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:52 +00:00
helixhorned
85be0bebec LunaCON: from 'definevolumename', make g_numVolumes be determined as in C-CON.
git-svn-id: https://svn.eduke32.com/eduke32@5236 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:51 +00:00
helixhorned
29dca07f0b CON: check EVENT_ENTERLEVEL for nonzero RETURN, run w/ other players then.
Background: AMC TC initializes per-player variables from this event.

git-svn-id: https://svn.eduke32.com/eduke32@5235 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:50 +00:00
helixhorned
1d11b6fdd6 Free alloc'd anims in h_dukeanim. Adds a function hash_loop().
git-svn-id: https://svn.eduke32.com/eduke32@5234 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:49 +00:00
helixhorned
9814e6a091 LunaCON: suffix gamearray file names with '.gar'.
git-svn-id: https://svn.eduke32.com/eduke32@5233 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:48 +00:00
helixhorned
40f177cafd LunaCON: expose g_tile[] members of 'tiledata'.
git-svn-id: https://svn.eduke32.com/eduke32@5232 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:47 +00:00
helixhorned
fd94930f14 LunaCON: implement 'clearmapstate', fix 'resetplayerflags' parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5231 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:44 +00:00
hendricks266
7a89c58360 Re-expose clipmoveboxtracenum.
git-svn-id: https://svn.eduke32.com/eduke32@5229 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:11:02 +00:00
hendricks266
d8ee28b89d SW: Fix warning: array subscript is above array bounds [-Warray-bounds]
git-svn-id: https://svn.eduke32.com/eduke32@5228 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:37 +00:00
hendricks266
7f2a6a8404 SW: Fix warning: variable may be used uninitialized in this function [-Wmaybe-uninitialized]
git-svn-id: https://svn.eduke32.com/eduke32@5227 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:20 +00:00
hendricks266
221e58f8ad SW: Fix warning: type does not match original declaration [enabled by default]
git-svn-id: https://svn.eduke32.com/eduke32@5226 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:03 +00:00
hendricks266
41fcb1d32b SW: Replace calls to Error() with buildprintf().
git-svn-id: https://svn.eduke32.com/eduke32@5225 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:41 +00:00
hendricks266
4440fca632 SW: Update MFILE to use the same calls KenBuild uses to save.
git-svn-id: https://svn.eduke32.com/eduke32@5224 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:25 +00:00
hendricks266
033698eaa1 SW: Remove references to cachedebug and defaultspritecstat.
git-svn-id: https://svn.eduke32.com/eduke32@5223 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:07 +00:00
hendricks266
59686129bb SW: Fix warning: passing argument 1 of 'allocache' from incompatible pointer type [enabled by default] and warning: pointer targets in passing argument 3 of 'allocache' differ in signedness [-Wpointer-sign]
git-svn-id: https://svn.eduke32.com/eduke32@5222 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:48 +00:00
hendricks266
809b1e6f65 MACT: Fix warning: passing arguments 2 through 5 of 'SCRIPT_PutDoubleString' discards 'const' qualifier from pointer target type [enabled by default]
git-svn-id: https://svn.eduke32.com/eduke32@5221 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:28 +00:00
hendricks266
dd576b7319 SW: Remove redefinition of SEARCH_FLOOR and SEARCH_CEILING.
git-svn-id: https://svn.eduke32.com/eduke32@5220 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:13 +00:00
hendricks266
d1582b8d0f SW: Fix warning: comparison is always false due to limited range of data type [-Wtype-limits]
git-svn-id: https://svn.eduke32.com/eduke32@5219 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:54 +00:00
hendricks266
34aca8a222 SW: Fix warning: zero-length ms_printf format string [-Wformat-zero-length]
git-svn-id: https://svn.eduke32.com/eduke32@5218 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:34 +00:00
hendricks266
6b89b482b3 SW: Some GRP/def infrastructure.
git-svn-id: https://svn.eduke32.com/eduke32@5217 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:18 +00:00
hendricks266
0fc284d5bf SW: default_buildkeys
git-svn-id: https://svn.eduke32.com/eduke32@5216 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:54 +00:00
hendricks266
8b32035778 SW: Fix conflicting types for: highlight, temppicnum, tempcstat, templotag, temphitag, tempextra, ExtAnalyzeSprites, ExtPreSaveMap
git-svn-id: https://svn.eduke32.com/eduke32@5215 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:37 +00:00
hendricks266
90de898fe5 SW: Fix getnumber and printmessage in the editor.
git-svn-id: https://svn.eduke32.com/eduke32@5214 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:21 +00:00
hendricks266
792397feaa SW: Update the rest of the AudioLib API.
git-svn-id: https://svn.eduke32.com/eduke32@5213 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:04 +00:00
hendricks266
895e829411 SW: Rip out nonexistent calls to AudioLib CD playback functions.
git-svn-id: https://svn.eduke32.com/eduke32@5212 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:05:45 +00:00
hendricks266
93d6d61180 SW: Parallaxed skies.
git-svn-id: https://svn.eduke32.com/eduke32@5211 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:05:20 +00:00
hendricks266
91d6935c88 Add uint32_t PaletteIndexFullbrights[8] so that Polymost can respect the lack of fullbrights in KenBuild and Shadow Warrior.
git-svn-id: https://svn.eduke32.com/eduke32@5210 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:04:38 +00:00
hendricks266
8d78f25bc5 SW: Since sprite->filler is now fogpal, modify the CTF code that uses it to use a new variable in SW's USER struct instead.
git-svn-id: https://svn.eduke32.com/eduke32@5209 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:04:06 +00:00
hendricks266
6e8e49d17f SW: Modify the border-drawing code to work with our widescreen code.
git-svn-id: https://svn.eduke32.com/eduke32@5208 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:47 +00:00
hendricks266
6d0da8bb1a SW: automapping (deleted), visibility --> g_visibility, numpalookups --> numshades
git-svn-id: https://svn.eduke32.com/eduke32@5207 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:30 +00:00
hendricks266
1f59b4c23e SW: Update some API calls.
git-svn-id: https://svn.eduke32.com/eduke32@5206 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:04 +00:00
hendricks266
d5e8209f9d SW: Misc adjustments.
git-svn-id: https://svn.eduke32.com/eduke32@5205 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:02:47 +00:00
hendricks266
5256146f89 SW, KenBuild: tilesiz
git-svn-id: https://svn.eduke32.com/eduke32@5204 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:02:25 +00:00
hendricks266
908560f9aa SW: picanm_t
git-svn-id: https://svn.eduke32.com/eduke32@5203 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:01:44 +00:00
hendricks266
a97d9c5916 SW: hitscan
git-svn-id: https://svn.eduke32.com/eduke32@5202 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:01:22 +00:00
hendricks266
acba32caf4 SW: setsprite, setspritez, getzrange, clipmove, pushmove, neartag, dragpoint, screencapture, md_tilehasmodel, preparemirror, saveboard, loadboard, pos
git-svn-id: https://svn.eduke32.com/eduke32@5201 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:00:38 +00:00
hendricks266
56bdcdae7e SW: Rename SendMessage() to SW_SendMessage() and DELETE() to REMOVE() to avoid conflicts with Windows headers.
git-svn-id: https://svn.eduke32.com/eduke32@5200 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:59:39 +00:00
hendricks266
af0e6df762 SW: Remove references to files removed from our MACT.
git-svn-id: https://svn.eduke32.com/eduke32@5199 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:59:12 +00:00
hendricks266
fad3606c44 SW: Nuke mytypes.h. Mostly.
git-svn-id: https://svn.eduke32.com/eduke32@5198 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:58:29 +00:00
hendricks266
e9655f8469 Add SW to our build system and make relevant changes to avoid fatal build errors.
git-svn-id: https://svn.eduke32.com/eduke32@5197 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:56:03 +00:00
hendricks266
7493c36a94 Add the Shadow Warrior source to our tree after astyling, uncrustifying, and renaming one file.
git-svn-id: https://svn.eduke32.com/eduke32@5196 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:54:34 +00:00
helixhorned
ef25eb6329 LunaCON: implement NODEFAULT per-actor gamevars in the C-CON fashion.
For glocal gamevars, the LunaCON semantics (session gamevar) are kept.
For per-actor ones, this now prevents resetting a gamevar's value to
default on spawn or loadactor. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@5194 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 14:27:03 +00:00
helixhorned
c3b3b376fa config.c: fix an overlapping strcpy() in CONFIG_SetMapBestTime().
git-svn-id: https://svn.eduke32.com/eduke32@5193 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 14:27:01 +00:00
helixhorned
dd2f06b869 LunaCON: allow writing -1 to player[].newowner.
For the other player members, where formerly negative values were allowed
to be written, only -1 is now.

git-svn-id: https://svn.eduke32.com/eduke32@5192 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:50 +00:00
helixhorned
1fc7e10843 savegame: fix g_tile[].proj memory leaks, halve number of projectile_t allocations.
git-svn-id: https://svn.eduke32.com/eduke32@5191 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:49 +00:00
helixhorned
80b766f13a When checking for SE7 water teleportation, regard sign of z velocity.
This fixes RPGs fired upwards at a steep angle teleporting immediately
to underwater when wading in water (reported via PM by Turok 64 Jr).

git-svn-id: https://svn.eduke32.com/eduke32@5190 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:47 +00:00
helixhorned
04cb60c790 Lunatic: account for the projectile changes in r5080. BUILD_LUNATIC.
The (undocumented) Lua-side API stays almost the same.

git-svn-id: https://svn.eduke32.com/eduke32@5188 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:47 +00:00
helixhorned
d30bb3835e LunaCON: allow ':' immediately after 'case' (legacy; warns), writing to ud.god.
Also, on one "gamevar `xxx' is not per-*" diagnostic, print the location of the
gamevar definition.

git-svn-id: https://svn.eduke32.com/eduke32@5187 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:46 +00:00
helixhorned
564e7d2332 Lunatic: fix build and user_defs definition mismatch.
Left: projectile changes.

git-svn-id: https://svn.eduke32.com/eduke32@5186 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:42 +00:00
hendricks266
178d9b1c58 Add more expansion GRPs to the detection list.
git-svn-id: https://svn.eduke32.com/eduke32@5185 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-13 08:57:27 +00:00
hendricks266
57e3dfb721 Add autodetection support for Duke 3D as part of the Steam release of the 3D Realms Anthology.
git-svn-id: https://svn.eduke32.com/eduke32@5184 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-13 08:57:11 +00:00
helixhorned
68f52a4257 Mapster32: honor r_usenewaspect, especially it being off.
For this, add a setaspect_new() setup/restore pair in M32_DrawRoomsAndMasks()
like for G_DrawRooms(). With this, changing viewingrange/aspect via m32script
(in a.m32: [7] -- [9] on the upper row) can only be done in r_usenewaspect 0,
though.

git-svn-id: https://svn.eduke32.com/eduke32@5182 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-10 10:55:30 +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
bbc7e21f2d Fix typo "maxtileallocsiz" --> "maxtiltallocsiz" for MAXYDIM < 640.
git-svn-id: https://svn.eduke32.com/eduke32@5171 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:02:40 +00:00
hendricks266
87ee51a248 Menus: Call SDL_Start/StopTextInput() at the appropriate times so that touch devices display the on-screen keyboard when the user is prompted for text input.
git-svn-id: https://svn.eduke32.com/eduke32@5170 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:02:23 +00:00
hendricks266
d313e2531a Set up input so that the menus are navigable under iOS. This also enables the SELECTDIR back button unconditionally instead of restricting it to non-touch devices. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5169 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-28 21:30:42 +00:00
hendricks266
d11bf55a82 LunaCON: Expose all structs to inline access. Tiledata and paldata are still to-do.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5166 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:08:14 +00:00
hendricks266
5979378c4e CON: Add player[].index, which returns the player ID that you put in. Mostly useful to get the magic value of THISACTOR when applied to the player struct.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5165 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:07:57 +00:00
hendricks266
60106f1e37 Menus: When toggling Music in the Sound menu, respect the LOGO_PLAYMUSIC flag in LOGO_FLAGS for the main menu.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5164 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:10:00 +00:00
hendricks266
c47ebac6c1 AudioLib: When handling a LOOP_END tag in FLAC or Ogg, truncate any blocks that read past it so that the specified value is respected precisely, instead of rounding up to the nearest block size.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5163 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:09:42 +00:00
hendricks266
940bef522d AudioLib: malloc + memset to zero --> calloc
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5162 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:09:19 +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
5ae6253a30 Savegame: for non-user level, don't write garbage into h.boardfn, allow per-map ART.
git-svn-id: https://svn.eduke32.com/eduke32@5160 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-20 20:46:42 +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
helixhorned
474efef336 Double the size of clouds[] (holding sectors with CLOUDYSKIES ceilings).
Also, make cloudx[] and cloudy[] scalars, as the per-sector values were always
identical. In prelevel(), warn if some CLOUDYSKIES-ceiling sectors could not
be set up due to reaching the new 256 sector limit.

git-svn-id: https://svn.eduke32.com/eduke32@5156 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:18 +00:00
helixhorned
cf7de5b43a actors.c: fix 3 incorrect '/' -> tabledivide32_noinline rewrites in r4658.
Division has higher precedence than bitwise-OR.

The cases concerned SE3, SE4 and NEON* sprites.
Incidental info: the blinking of NEON* sprites can be controlled via their
lotag, similarly to how you how you give a "random flash number" as SE4 hitag.

git-svn-id: https://svn.eduke32.com/eduke32@5155 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:17 +00:00
terminx
53d2e0939e Revert "vec2_t rotatepoint()."
This reverts commit b0eeef385aecf9cea3ec2bd0ee82f59982942ce0.

git-svn-id: https://svn.eduke32.com/eduke32@5154 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:49:36 +00:00
terminx
d320ea6d70 Fix the sounds at the end of the episode 3 cutscene.
git-svn-id: https://svn.eduke32.com/eduke32@5153 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:13 +00:00
terminx
ce5260e235 vec2_t rotatepoint().
git-svn-id: https://svn.eduke32.com/eduke32@5150 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:01 +00:00
hendricks266
0d5b933bb3 Fix omission of modules when parsing game-side defs.
git-svn-id: https://svn.eduke32.com/eduke32@5141 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:59 +00:00
hendricks266
896ae2894c Implement "renamefile" during game-side def parsing (normally for "loadgrp" et al.) in addition to engine-side def parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5140 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:45 +00:00
hendricks266
5678b690a2 Fix an OOB in the cheats menu when running with the v0.99 GRP.
git-svn-id: https://svn.eduke32.com/eduke32@5136 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:06:37 +00:00
hendricks266
27e83829c9 Correct the month used in automatic names of savegames created by the "save" CON command.
git-svn-id: https://svn.eduke32.com/eduke32@5135 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:06:20 +00:00
helixhorned
25402be9f2 Fix freeze on pitch 0 sound playback introduced in r4616.
Reported in
http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__220954

Now, PitchTable[] in initialized with the same values as pre-r4608.

git-svn-id: https://svn.eduke32.com/eduke32@5131 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:06 +00:00
helixhorned
ab2d73ce3d LunaCON: update docs and comments in lunatic/test/event_chaining.con
git-svn-id: https://svn.eduke32.com/eduke32@5130 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:05 +00:00
hendricks266
e6f429e2ab Clear the player's quote timer for each MAIN_LOOP_RESTART.
git-svn-id: https://svn.eduke32.com/eduke32@5126 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:52:14 +00:00
hendricks266
4d3cbc64f1 Disallow "autoload" as a choice for the game dir in the Win32 startup window.
git-svn-id: https://svn.eduke32.com/eduke32@5125 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:52:01 +00:00
hendricks266
5c69ae7d11 Allow alpha fade-out for quotes and the menu mouse cursor in 8-bit when the supplied PALETTE.DAT has enough alpha tables to fully display each effect.
git-svn-id: https://svn.eduke32.com/eduke32@5124 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:48 +00:00
hendricks266
392094ee94 Menus: Modify slider bar so that it uses a scale defined in the data structure instead of auto-scaling to the height of the row.
git-svn-id: https://svn.eduke32.com/eduke32@5123 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:26 +00:00
hendricks266
9c89246f7e Menus: Remove all remaining TEXT_GAMETEXTNUMHACK.
git-svn-id: https://svn.eduke32.com/eduke32@5122 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:14 +00:00
hendricks266
4a5886f1b8 Menus: Rename "pickup messages" to "game messages".
git-svn-id: https://svn.eduke32.com/eduke32@5121 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:01 +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
0bc349fde2 C-CON: Add two new structs, tiledata and paldata, accessible only through quick-access.
git-svn-id: https://svn.eduke32.com/eduke32@5115 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:37 +00:00
hendricks266
f68829c08a Don't print quotes when not in-game.
This is required after a change in the cheat menu commit that allows the cheat quotes to trigger from the in-game menu. However, a side-effect was that pressing F12 in the main menu would cause "SCREEN SAVED" to display indefinitely.

git-svn-id: https://svn.eduke32.com/eduke32@5114 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:20 +00:00
hendricks266
d5e3262a74 Avoid reading or writing savegame specdata arrays when the pointer to one is NULL or their count is zero.
git-svn-id: https://svn.eduke32.com/eduke32@5112 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:27 +00:00
hendricks266
9cf7da4366 Avoid triggering undefined behavior in the allocator when loading or saving ProjectileData[].
git-svn-id: https://svn.eduke32.com/eduke32@5111 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:15 +00:00
hendricks266
d49987d3cb C-CON: Add checks to prevent invalid reads/writes when using get/setprojectile on a tile number that does not have a projectile defined for it.
git-svn-id: https://svn.eduke32.com/eduke32@5110 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:03 +00:00
hendricks266
47ddef2521 Restore an insptr++ when executing "endswitch".
git-svn-id: https://svn.eduke32.com/eduke32@5109 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:39:49 +00:00
hendricks266
75801f2e68 Defs: Add token "forcefilter" to textures, skyboxes, and model skins. It forces the use of GL filtering for the resource in question.
git-svn-id: https://svn.eduke32.com/eduke32@5108 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:49:37 +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
257e271162 C-CON: Really fix get/setprojectile.
git-svn-id: https://svn.eduke32.com/eduke32@5105 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:48:37 +00:00
hendricks266
fe17d41b14 Restructure the GRP scanning functionality. Outwardly, this allows GRP selections with special handling (the add-ons and NAM) to function properly when the Windows or GTK startup windows do not run, namely with the OS X startup window, and using the -gamegrp command line parameter on any other platform, or on all of the both under dedicated server mode,
git-svn-id: https://svn.eduke32.com/eduke32@5103 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:30:35 +00:00
hendricks266
df7a257ce5 C-CON: Fix a mistake in r5086 that broke get/setprojectile.
git-svn-id: https://svn.eduke32.com/eduke32@5100 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:37 +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
hendricks266
8a9fb41d5f CON: Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.
git-svn-id: https://svn.eduke32.com/eduke32@5098 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:05 +00:00
hendricks266
c784fdb21c C-CON: Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.
git-svn-id: https://svn.eduke32.com/eduke32@5097 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:28:45 +00:00
hendricks266
a096b579da Fix a typo in r5090.
git-svn-id: https://svn.eduke32.com/eduke32@5096 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:28:29 +00:00
hendricks266
598011d59a OS X: Fix build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5094 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-26 20:39:02 +00:00
hendricks266
0805a0ed45 CON: Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.
git-svn-id: https://svn.eduke32.com/eduke32@5093 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:31:11 +00:00
hendricks266
a90f47c1ea C-CON: Fix processing the bytecode in an incorrect order when executing setplayer on a member with a second parameter, a missed instance of a consideration from r5086.
git-svn-id: https://svn.eduke32.com/eduke32@5092 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:52 +00:00
hendricks266
91a7a3aa00 C-CON: Remove the restriction that prevents userdef access when the current player is not myconnectindex.
git-svn-id: https://svn.eduke32.com/eduke32@5091 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:39 +00:00
hendricks266
bd0f05a706 C-CON: Implement tilesizx/y gamearrays in a fashion similar to M32Script's solution: a STRIDE2 flag.
git-svn-id: https://svn.eduke32.com/eduke32@5090 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:25 +00:00
hendricks266
a14109da20 C-CON: Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.
// valid
definevolumename 3     <text>

// invalid
definevolumename 3
<text>

git-svn-id: https://svn.eduke32.com/eduke32@5089 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:28:09 +00:00
hendricks266
49c85f644d C-CON: Add quick access for the remaining structures without it.
git-svn-id: https://svn.eduke32.com/eduke32@5088 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:57 +00:00
hendricks266
5c8a2e3ea6 C-CON: Enumify quick structure access.
git-svn-id: https://svn.eduke32.com/eduke32@5087 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:42 +00:00
hendricks266
4682da7a22 C-CON: Factor fast struct access and get<struct> out into single functions.
git-svn-id: https://svn.eduke32.com/eduke32@5086 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:25 +00:00
hendricks266
feef0ded2d C-CON: Add PLAYER_PALETTE to quick player struct access, and add a setter that calls P_SetGamePalette().
git-svn-id: https://svn.eduke32.com/eduke32@5085 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:08 +00:00
hendricks266
ab58a33ec6 Menus: Add a Cheats menu to options.
It's old-school.

git-svn-id: https://svn.eduke32.com/eduke32@5084 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 10:49:03 +00:00
hendricks266
6d04da0b49 Menus: Rename MenuPassword_t to MenuTextForm_t, modularize more of its attributes into the data structure, and polish its display and behavior.
git-svn-id: https://svn.eduke32.com/eduke32@5083 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 10:48:34 +00:00
terminx
a9c32b758d Build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5081 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 03:33:57 +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
terminx
93d8d2dbdb Abort animvpx playback if uploading the texture for a frame throws a GL error. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5074 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:27 +00:00
terminx
fa55f368c9 Remove unused buffer to fix warning, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5070 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:15 +00:00
terminx
f4e5e39634 Further gamevar changes/optimizations. This also fixes a bug Fox reported with the "shortcut" access to structure members that's tacked on to GetVar, where if the value of the index you're trying to access happened to equal the ID of the current sprite, it would act as if the variable passed was THISACTOR.
git-svn-id: https://svn.eduke32.com/eduke32@5069 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:12 +00:00
terminx
8fc08a71fa Swap position of "load game" and "options" on main menu so that "load game" follows "new game", for consistency with the slightly different menu you get while in-game.
git-svn-id: https://svn.eduke32.com/eduke32@5068 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:08 +00:00
terminx
7845f5e2fe "Stylistic changes"
Translation: I made some stuff const because I felt like it.

git-svn-id: https://svn.eduke32.com/eduke32@5067 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:05 +00:00
terminx
c725da4829 More Android changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5066 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:01 +00:00
terminx
61f35b827a Remove WeaponChoice* from eduke32.cfg and transition setting to "wchoice" cvar. This commit also removes an Android hack and changes the order of some of the in-game "F" key handling, just because it bugged me that some of them were out of order.
git-svn-id: https://svn.eduke32.com/eduke32@5065 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:39:52 +00:00
hendricks266
201e353771 Amend "renamefile" def token to ensure its proper use. renamefile <GRP/SSI CRC32> <file number> <new filename>
git-svn-id: https://svn.eduke32.com/eduke32@5064 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 08:30:41 +00:00
hendricks266
6e64696605 Expand the quote #13 auto-replacement to catch "OPEN" and "ANY BUTTON" in addition to "SPACE".
git-svn-id: https://svn.eduke32.com/eduke32@5063 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:28:40 +00:00
hendricks266
27777f96c3 Add the Duke DC and Duke Caribbean SSI files to the list of group files automatically detected and added to the startup window.
git-svn-id: https://svn.eduke32.com/eduke32@5062 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:28:27 +00:00
hendricks266
a81be01914 Modify the modern mini-HUD so that:
1. Instead of the Mighty Foot using the Protective Boots inventory item as its icon, display no icon at all.
2. Adjust the ammo icon so that it is drawn at one-quarter size if its y-size is >=50 instead of >50. This fixes the display of Water Pistol Ammo in Duke Caribbean.

git-svn-id: https://svn.eduke32.com/eduke32@5057 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:26:59 +00:00
hendricks266
92afedcb11 Replace the drawing code for the level stats with nearly equivalent code that can be much more easily reproduced in CON.
git-svn-id: https://svn.eduke32.com/eduke32@5054 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-09 07:37:38 +00:00
hendricks266
f2a2e1d8b3 Amend r5048 to also reset ototalclock and lockclock, and to reset all three at the top of G_PlaybackDemo.
git-svn-id: https://svn.eduke32.com/eduke32@5052 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 23:40:08 +00:00
hendricks266
6ed8f27e77 Expand the grpinfo feature to allow defining GRPs requiring NAM, NAPALM, or WWII GI.
git-svn-id: https://svn.eduke32.com/eduke32@5050 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:59:03 +00:00
hendricks266
362a782820 In G_PlaybackDemo(), update totalclocklock when G_DrawRooms() is not called and therefore does not update it. This fixes ART animations displaying in the main menu.
git-svn-id: https://svn.eduke32.com/eduke32@5049 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:49 +00:00
hendricks266
9403200a07 Reset totalclock to zero for each MAIN_LOOP_RESTART.
git-svn-id: https://svn.eduke32.com/eduke32@5048 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:36 +00:00
hendricks266
f821434195 CON: Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.
EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case.
EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used.

WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.

git-svn-id: https://svn.eduke32.com/eduke32@5047 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:24 +00:00
hendricks266
ef28cac919 CON: Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.
From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.

git-svn-id: https://svn.eduke32.com/eduke32@5046 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:06 +00:00
hendricks266
35bee70ee6 CON: Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.
git-svn-id: https://svn.eduke32.com/eduke32@5045 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:47 +00:00
hendricks266
c86bd80dd7 C-CON: Add read-only userdef members "gametypeflags" and "m_gametypeflags", which return GametypeFlags[ud.coop] and GametypeFlags[ud.m_coop] respectively.
git-svn-id: https://svn.eduke32.com/eduke32@5044 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:28 +00:00
hendricks266
d7409a5a95 C-CON: Add read-only userdef members "usevoxels", "usehightile", and "usemodels".
git-svn-id: https://svn.eduke32.com/eduke32@5043 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:13 +00:00
hendricks266
d5ed8aa728 Restore the shade of a tiled MENUTILE to 8, rather than 16.
git-svn-id: https://svn.eduke32.com/eduke32@5042 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:56:57 +00:00
hendricks266
7d701ae7e2 Disable EF_HIDEFROMMP pending proper consideration when multiplayer is closer to being ready.
git-svn-id: https://svn.eduke32.com/eduke32@5041 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:56:45 +00:00
hendricks266
b61908cbf3 CON: Add "resetplayerflags". Flag 1 means "don't ask the user if they want to load".
git-svn-id: https://svn.eduke32.com/eduke32@5039 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-04 02:15:15 +00:00
hendricks266
17906349b4 BSD: Build system fixes/improvements. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5037 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-02 07:54:24 +00:00
helixhorned
97c944a505 LunaCON: add 'definevolumeflags' to keyword pattern, re-apply some changes of r5026.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5036 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-01 14:15:40 +00:00
hendricks266
5953541075 Menus: Fix assorted issues in MENU_NETOPTIONS.
git-svn-id: https://svn.eduke32.com/eduke32@5034 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:15:35 +00:00
hendricks266
697e7d0936 CON: Add "definevolumeflags", currently equipped to hide an episode from the single player and/or multiplayer screens.
enum
{
    EF_HIDEFROMSP = 1<<0,
    EF_HIDEFROMMP = 1<<1,
};

git-svn-id: https://svn.eduke32.com/eduke32@5033 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:15:20 +00:00
hendricks266
afccb6d735 CON: Extend undefinevolume so that it also undefines all levels in the specified volume.
git-svn-id: https://svn.eduke32.com/eduke32@5032 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:14:54 +00:00
hendricks266
31c9d21b06 CON: Rename "cutscene" command to "startcutscene".
git-svn-id: https://svn.eduke32.com/eduke32@5031 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:14:39 +00:00
helixhorned
f5254f2114 Lunatic: update user_defs, CPLUSPLUS=0 in synthesis.sh, disable 'cutscene' for now.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@5029 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:17 +00:00
helixhorned
a9b965498f Lunatic: update files from LuaJIT. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5027 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:14 +00:00
helixhorned
11f81070f2 Lunatic: fix a couple of typo-like issues found by listglobals.sh. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5026 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:11 +00:00
helixhorned
d508ff2694 menus.c: fix two unused-variable warnings.
git-svn-id: https://svn.eduke32.com/eduke32@5025 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 12:43:04 +00:00
terminx
559f75ff54 Remove a couple of Android-specific menu items I accidentally left enabled on PC.
git-svn-id: https://svn.eduke32.com/eduke32@5023 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-21 23:15:27 +00:00
helixhorned
702f80cc17 gamedef.c: tweak g_keywdate[] entries.
git-svn-id: https://svn.eduke32.com/eduke32@5022 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-20 22:10:28 +00:00
helixhorned
1bfdd54f81 actors.c: make Enforcers and Troopers avoid ST1 sectors as in Duke3D.
That is, resurrect the stayput condition for LIZMAN and non-flying
LIZTROOP, but only if changing from a non-ST1 sector. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5021 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-20 22:10:26 +00:00
helixhorned
850206ef62 Stick update of 'totalclocklock' at beginning of G_DrawRooms() instead of drawrooms().
This fixes engine-side sprite animation in the following scenario: CON code
wants to draw a scene from EVENT_DISPLAYREST, but since it covers the whole
screen, disables the drawing of the 3D scene beforehand (RETURN set to 1 from
EVENT_DISPLAYROOMS). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5020 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 22:19:05 +00:00
helixhorned
f541b96213 m32script: in 'for i drawnsprites' handling, back up and restore sprite MAXSPRITES-1.
This fixes the level 5 corruption encountered when issuing that iteration.
(Because the last sprite would be changed from e.g. statnum MAXSTATUS to 0.)
It is also mandatory anyhow since the last sprite may be contained in the map.

git-svn-id: https://svn.eduke32.com/eduke32@5019 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 17:41:57 +00:00
helixhorned
7742d5a40a Mapster32: style-cleanup check_spritelist_consistency() and VM_Execute(): 'for'.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5018 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 17:41:56 +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
helixhorned
b367d57845 gameexec.c: factor out 2x occuring pattern into VM_GetZRange(), clean up 3 funcs.
- VM_GetZRange(), which updates actor[].{floor,ceiling}z, is called from
  A_GetZLimits() and A_Fall().
- Style-cleanup the following: A_Dodge(), A_GetFurthestAngle(),
  A_FurthestVisiblePoint(). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5015 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:53 +00:00
helixhorned
120746322b Revert "gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies."
This reverts r4975. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5014 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:49 +00:00
terminx
cde502d511 Fix Mapster32 mouse cursor in GL
git-svn-id: https://svn.eduke32.com/eduke32@5012 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 01:47:09 +00:00
helixhorned
4f54c7cf88 Fix swapbufreverse(), adding precondition of count >= 4.
Also, in premap.c:G_CacheMapData(), comment out what was supposedly
intended as a debugging message ("percentage ...").

git-svn-id: https://svn.eduke32.com/eduke32@5009 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-17 16:23:04 +00:00
helixhorned
ba84b3c4b6 LunaCON: add 'cutscene' and 'ifcutscene' as NYI commands. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5008 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-17 16:23:01 +00:00
hendricks266
59fa70cc58 Amend previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5007 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 12:18:39 +00:00
hendricks266
75f2028dcc Fix an assertion failure with NETCODE=0. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5006 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 11:50:48 +00:00
hendricks266
894407e58b Apple: Update Xcode project and build system. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5005 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 07:26:10 +00:00
hendricks266
8194310400 Fix build without DROIDMENU.
git-svn-id: https://svn.eduke32.com/eduke32@5004 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 07:08:41 +00:00
hendricks266
d88a938320 Replace erroneous use of EVENT_DISPLAYCROSSHAIR with new event EVENT_DISPLAYCURSOR.
git-svn-id: https://svn.eduke32.com/eduke32@5003 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 07:08:27 +00:00
terminx
16991aaef7 Oops! :)
git-svn-id: https://svn.eduke32.com/eduke32@5002 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 06:01:10 +00:00
terminx
40956094d5 More Android work. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5000 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:59 +00:00
terminx
a035d32e71 Smooth out the loading bar so that all percentage increments are displayed for at least a couple of frames each, and remove the "loaded x/x textures" message on Android.
git-svn-id: https://svn.eduke32.com/eduke32@4999 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:55 +00:00
terminx
8cc7f240d8 Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.
git-svn-id: https://svn.eduke32.com/eduke32@4998 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:52 +00:00
terminx
27e8fcbe57 A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4997 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:48 +00:00
terminx
25668422d8 Get rid of the "press space to restart" message on mobile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4996 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:41 +00:00
terminx
1e8176480d Forgotten changes from a previous commit that renamed functions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4995 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:38 +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
terminx
21fbf2e9df Android menu changes. Moves a few settings in-game instead of in crappy system UI dialogs. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4993 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:32 +00:00
terminx
c577948e94 Remove errant call to G_FadePalette() which caused a frame of corruption at map load under GL renderers, and invalidate all GL textures at map load time (just textures generated from .art on desktop, everything on mobile). This also makes Grabbag keep playing through the loading screen on Android (if no loadscreen music has been defined by a mod). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4991 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:26 +00:00
terminx
9a43465780 Android savegame hacks. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4990 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:23 +00:00
terminx
31b557ef61 More Android changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4989 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:19 +00:00
terminx
22ac21598b C-CON changes
git-svn-id: https://svn.eduke32.com/eduke32@4988 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:11 +00:00
terminx
50c30ab790 Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:
cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked.

Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this:

definequote 12345 somefile.anm
define ANIM_SOMEFILE 12345

...

cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished

...

Sounds can be played during animations (and tiles can be overlaid, etc) like this:

onevent EVENT_CUTSCENE
    ifcutscene ANIM_SOMEFILE
    {
        ifvare RETURN 12 // frame 12
            sound FLY_BY
        rotatesprite ...
    }
endevent

The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.

git-svn-id: https://svn.eduke32.com/eduke32@4987 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:07 +00:00
terminx
cc4ddf9ce7 Minor sound cleanup... clean up crappy old code, remove obsolete "FXDevice" and "MusicDevice" variables, etc.
git-svn-id: https://svn.eduke32.com/eduke32@4986 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:00 +00:00
terminx
5595d41ccd Macro for handling ud.bgstretch. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4982 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:46 +00:00
terminx
88e0bfd7d3 More twalltype
git-svn-id: https://svn.eduke32.com/eduke32@4981 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:38 +00:00
hendricks266
529d43f116 Provide a RETURN value of -2 to EVENT_DISPLAYLOADINGSCREEN after G_CacheMapData().
git-svn-id: https://svn.eduke32.com/eduke32@4978 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:47 +00:00
hendricks266
929b04d473 CON: Add undefinevolume, undefineskill, and undefinelevel.
git-svn-id: https://svn.eduke32.com/eduke32@4977 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:33 +00:00
hendricks266
81b09a9ff5 Rename "Polymost.f" string back to "Polymost" because it only confused users.
git-svn-id: https://svn.eduke32.com/eduke32@4976 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:08 +00:00
helixhorned
c18ae15dc5 gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies.
Previously, that was the case only with DRONE and COMMANDER. This makes
non-falling enemies pass properly through TROR bunches.

git-svn-id: https://svn.eduke32.com/eduke32@4975 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:31 +00:00
helixhorned
7cc1067a3d actors.c: style-cleanup A_MoveSpriteClipdist(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4974 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:31 +00:00
helixhorned
70dc2f7376 CON: Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.
- Add declarations of C functions to defs.ilua, names to dynsymlist,
  fix typo in con_lang.lua, ffi.string() calls in control.lua
- Assert that G_LastMapInfoIndex() is always called with ud.last_level >= 1.
  (A stricter requirement than necessary to prevent follow-up oob accesses, but
  logically the most meaningful.)
- In G_PrintParTime() and G_PrintDesignerTime(), return "<invalid>" if the above
  does not hold. This can happen from EVENT_NEWGAME, for example. Add a test to
  lunatic/test/qgetsysstr.con.  DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4972 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:28 +00:00
hendricks266
e8f842ac28 CON: Add read-only access to ud.config.MusicToggle through the "musictoggle" member.
git-svn-id: https://svn.eduke32.com/eduke32@4970 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:04:09 +00:00
hendricks266
b355d75ab3 CON: Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.
git-svn-id: https://svn.eduke32.com/eduke32@4969 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:50 +00:00
hendricks266
d7f846d0b6 Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.
git-svn-id: https://svn.eduke32.com/eduke32@4968 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:30 +00:00
hendricks266
c5b3cfa445 Correct the special behavior to select the pipebomb detonator when you have no pipebombs in your inventory but you have some thrown in the environment so that it animates properly and also applies with the next/previous weapon functions.
git-svn-id: https://svn.eduke32.com/eduke32@4967 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:06 +00:00
hendricks266
2cbd80ad90 Move EVENT_DISPLAYMENU to after the black translucent background is drawn when in-game.
git-svn-id: https://svn.eduke32.com/eduke32@4966 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:02:51 +00:00
helixhorned
a7bea4f6bc Classic: fix underallocation of TILE_TILT and tilting at very small resolutions.
Since TILE_TILT is only allocated once, it must be done with the maximum
possible size.

git-svn-id: https://svn.eduke32.com/eduke32@4965 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:15 +00:00
helixhorned
de2a14290f LunaCON: make -fbad-getactorvar-use-pli enabled by default. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4962 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:12 +00:00
helixhorned
952a723229 Make g_player a +1 offset pointer into 'static g_player_s[1 + MAXPLAYER]'.
This fixes the out-of-bounds read of former g_player[] in VM_EventCommon_().

git-svn-id: https://svn.eduke32.com/eduke32@4961 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:11 +00:00
helixhorned
0190983067 Lunatic: fix typos in control.lua (get/setmusicposition).
git-svn-id: https://svn.eduke32.com/eduke32@4957 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:15 +00:00
helixhorned
57079dfee1 Add SFLAG_NOWATERDIP, unconditionally preventing actors from dipping into ST1 water.
By default, the following enemies have this flag set: OCTABRAIN, COMMANDER, DRONE.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4956 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:14 +00:00
helixhorned
f022631fa8 Actor ST1 handling: use A_GetWaterZOffset() with VM_Move(), too. DONT_BUILD.
This is where things are changed at last. This fixes lizmen walking on water.

git-svn-id: https://svn.eduke32.com/eduke32@4955 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:13 +00:00
helixhorned
c0d45ef1ec Actor ST1 handling: cleanup part 2. DONT_BUILD.
Factor out condition for whether a z offset is added or not
("fix for flying/jumping monsters getting stuck in water", etc.) into
a function A_GetWaterZOffset() (and a helper A_GetVerticalVel()).

git-svn-id: https://svn.eduke32.com/eduke32@4954 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:12 +00:00
helixhorned
36c3fd9216 Actor ST1 handling: clean up code a bit. (Preparation for real changes.)
In VM_Fall(), keep a temp preliminary new z position of the actor and
assign only when we return. This is to each ease watching its value in GDB.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4953 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:12 +00:00
helixhorned
a0a4006d85 menus.c: fix C build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4951 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-04 21:32:53 +00:00
hendricks266
9f910ff10c Fix next/previous weapon when the pipebomb detonator is active.
git-svn-id: https://svn.eduke32.com/eduke32@4950 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:27:52 +00:00
hendricks266
7c800f6631 Don't allow Ogg Vorbis or FLAC files to be defined from def if the binary was built without the proper libraries.
git-svn-id: https://svn.eduke32.com/eduke32@4949 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:18:11 +00:00
hendricks266
b6d625b202 Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.
git-svn-id: https://svn.eduke32.com/eduke32@4948 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:59 +00:00
hendricks266
ef4a19bb50 Fix a bug where FLAC sound effects would loop when they were not supposed to.
git-svn-id: https://svn.eduke32.com/eduke32@4947 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:25 +00:00
hendricks266
3018dee77c Menus: Mouse, touch, and pointer controls now take the origin into account.
git-svn-id: https://svn.eduke32.com/eduke32@4946 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:10 +00:00
hendricks266
93a3ff34e8 Add events EVENT_DISPLAYINACTIVEMENU and EVENT_DISPLAYINACTIVEMENUREST and userdef members m_origin_x and m_origin_y.
This allows for CON screen display code to use menu animations. The following is an example of how to adapt screen features that should animate.

before:

onevent EVENT_DISPLAYMENUREST
    ifvare current_menu 0 // main menu
    {
        setvar x 1
        setvar y 1
        rotatesprite x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
    }
endevent

after:

state DisplayMenuCommon
    ifvare RETURN 0 // main menu
    {
        getuserdef[THISACTOR].m_origin_x x
        getuserdef[THISACTOR].m_origin_y y
        addvar x 65536
        addvar y 65536
        rotatesprite16 x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
    }
ends

onevent EVENT_DISPLAYMENUREST state DisplayMenuCommon endevent
onevent EVENT_DISPLAYINACTIVEMENUREST state DisplayMenuCommon endevent

git-svn-id: https://svn.eduke32.com/eduke32@4945 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:58 +00:00
hendricks266
7fb76291ee Make my menu animation code a little bit more modular.
git-svn-id: https://svn.eduke32.com/eduke32@4944 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:34 +00:00
hendricks266
74bb822804 Revise r4707 to fix some remaining issues with next/previous weapon.
git-svn-id: https://svn.eduke32.com/eduke32@4943 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:22 +00:00
hendricks266
6048f9d766 Simplify the macros used for distinguishing between OS X and iOS.
git-svn-id: https://svn.eduke32.com/eduke32@4942 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:10 +00:00
hendricks266
36291f2e30 Fix "rv may be used uninitialized".
git-svn-id: https://svn.eduke32.com/eduke32@4941 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:15:50 +00:00
hendricks266
3c8b06c688 Fix "textsize.x may be used uninitialized".
git-svn-id: https://svn.eduke32.com/eduke32@4940 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:15:37 +00:00
helixhorned
038a9f8eb6 Lunatic: fix build and linking. DONT_BUILD.
- t{sector,wall}type are simply typedef'd to the non-t versions
- make FORCE_INLINE unconditional of DISABLE_INLINING (otherwise there are
  multiple definitions of these functions)
- update lunatic/doc/lpeg-lunatic.patch to apply against the LPeg 0.12 I just
  downloaded


git-svn-id: https://svn.eduke32.com/eduke32@4937 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-19 00:11:25 +00:00
helixhorned
621b52aec5 osdfuncs.c: get rid of a warning with GCC. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4936 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-19 00:03:00 +00:00
helixhorned
ace6087f7b Classic: fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.
In setview(), we now assert windowx2 < xdim. The only calling places where its
non-violation is non-trivial to ascertain are (1) showview from CON and
(2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine.
Case 2 is adapted; see comments there.


git-svn-id: https://svn.eduke32.com/eduke32@4935 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 23:16:37 +00:00
helixhorned
3a433130bb Fix bsearch() call for user G_LoadMapHack(): don't access nonexistent storage. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4933 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 20:31:37 +00:00
hendricks266
b8783d0448 Fix warning in previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4929 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 05:40:42 +00:00
hendricks266
011fd40dda CON: Add new commands "getmusicposition" and "setmusicposition" that operate on the playback position of the current music track.
// Example: Switch between tracks like radio stations.
 getmusicposition temp
 starttrackvar next_music_track
 setmusicposition temp

Only implemented for Ogg Vorbis, FLAC, and XA. Consult the devs before using these commands.

git-svn-id: https://svn.eduke32.com/eduke32@4928 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:28:49 +00:00
hendricks266
86e7a97ef7 Fix a crash exposed by animating the menu back button.
git-svn-id: https://svn.eduke32.com/eduke32@4927 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:27:46 +00:00
hendricks266
e7b7a9fcf1 Clean up duplicate and strangely-formed cases in C_ParseCommand().
git-svn-id: https://svn.eduke32.com/eduke32@4926 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:27:19 +00:00
terminx
bd27267b6b Fix savemapstate/loadmapstate (fixes a crash at shutdown, among other things)
git-svn-id: https://svn.eduke32.com/eduke32@4923 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-16 06:30:42 +00:00
terminx
4c883f81b6 MSVC build fix... guess it was upset about the macro expansion
git-svn-id: https://svn.eduke32.com/eduke32@4921 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:24 +00:00
terminx
cdaa25ef07 Implement better fade-out for quotes and for the mouse cursor in the menu.
git-svn-id: https://svn.eduke32.com/eduke32@4919 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:14 +00:00
hendricks266
2d161b1bf7 Menus: Implement better back button.
git-svn-id: https://svn.eduke32.com/eduke32@4918 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:57:29 +00:00
hendricks266
c42faee32e Menus: Make black background boxes translucent again.
git-svn-id: https://svn.eduke32.com/eduke32@4917 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:57:11 +00:00
hendricks266
c1c672032b Menus: Add proper edging for the tops and bottoms of scrolling lists.
git-svn-id: https://svn.eduke32.com/eduke32@4916 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:54 +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
hendricks266
49ba033faa Convert some multi-line UI messages to single G_ScreenText calls with line breaks.
git-svn-id: https://svn.eduke32.com/eduke32@4914 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:19 +00:00
hendricks266
7bcb05f7f0 Fix aligned screentext with newlines.
git-svn-id: https://svn.eduke32.com/eduke32@4913 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:55:56 +00:00
terminx
7daf4fdcd3 Fix tdupsprite in m32script.
git-svn-id: https://svn.eduke32.com/eduke32@4911 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 09:28:46 +00:00
terminx
d70ac064b7 Make dist() and ldist() take void pointers so we can compare spritetype with tspritetype without inserting casts everywhere.
git-svn-id: https://svn.eduke32.com/eduke32@4910 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 09:28:41 +00:00
terminx
0b1433b07c Disable mouse input affecting the menu when the console is down. This code is awful, because I am an awful man.
git-svn-id: https://svn.eduke32.com/eduke32@4906 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 01:54:18 +00:00
terminx
107bb7a3fa Introduce "twalltype" for temporary uses of walltype where using wall_tracker_hook() would be invalid. This is similar to "tspritetype" and fixes a bunch of problems in the editor that cropped up when changing the tracker sanity checks to an assert that only exists in debug builds (branching upon any write to a sprite, sector or wall had an unacceptable impact on performance).
git-svn-id: https://svn.eduke32.com/eduke32@4903 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:38 +00:00
terminx
364cf15c4f Questionable CON changes and optimizations. <3
git-svn-id: https://svn.eduke32.com/eduke32@4902 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:10 +00:00