Commit graph

3480 commits

Author SHA1 Message Date
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