Commit Graph

86 Commits

Author SHA1 Message Date
hendricks266 0075e746ba Mapster: Don't restrict setgamepalette to the range [0, 3].
git-svn-id: https://svn.eduke32.com/eduke32@5495 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-26 15:42:13 +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
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
hendricks266 b0e82d4264 Split parts of loadlookups() into generatefogpals() and fillemptylookups(), and move Duke-specific LOOKUP.DAT behavior to G_LoadLookups() in source/common.c, which contains the call to loadlookups() as factored out from astub.c and game.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4564 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:45:53 +00:00
hendricks266 a7fb2721e4 Move code non-specific to Duke Nukem 3D from astub.c to a new m32common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4561 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:37 +00:00
hendricks266 b48f3b44e3 Progress towards KenBuild Editor, part 1.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4558 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:16 +00:00
hendricks266 c1c01f0e0b Replace the funkily-formatted GNU.TXT with the FSF's official gpl-2.0.txt. Also, update the FSF's address in all source files that contain it.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4541 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-20 08:55:56 +00:00
helixhorned 494c00713b Mapster32/Lunatic: add functionality to connect Lua funcs to s.bar menu [;]+[F].
Hook up those from test/shadexfog.lua and some debugging ones from engine.lua.

git-svn-id: https://svn.eduke32.com/eduke32@4419 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:14 +00:00
terminx ba0c64971c Widespread use of ARRAY_SIZE macro.
git-svn-id: https://svn.eduke32.com/eduke32@4385 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:25:15 +00:00
helixhorned b79fa42903 Lunatic: add engine.saveLookupDat() and document, related tweaks.
- Mapster32: before loading LOOKUP.DAT, set palookup[0][239]=239 to
  make an identity map of the base shade table's shade 0
- Rewrite color index remapping case of makepalookup() for clarity

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4336 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:06 +00:00
helixhorned df25e3cd7c In loadlookups(), look for gap of 4 consecutive unused pals for fog pals.
As opposed to the previous way, where the first fog pals was <numlookups>+1,
where <numlookups> is the first byte value of LOOKUP.DAT. This allows to
pack e.g. lookups [1 .. 25] and [30 .. <lastpal>] into LOOKUP.DAT and have fog
pals be generated at pals [26 .. 29] (i.e. the additional lookups don't
shift the fog pals, making user maps depending on these numbers not look as
intended.)

git-svn-id: https://svn.eduke32.com/eduke32@4335 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:05 +00:00
helixhorned 7e7507746d Factor out common parts of loading LOOKUP.DAT into engine.c:loadlookups().
Also, error if didn't read enough data and account for TITLE and REALMS
swap between basepal number and on-disk order (sigh).

git-svn-id: https://svn.eduke32.com/eduke32@4334 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:03 +00:00
helixhorned 6547495cac Split r3159..r3161, part 14: The rest.
git-svn-id: https://svn.eduke32.com/eduke32@3180 1a8010ca-5511-0410-912e-c29ae57300e0
2012-11-15 14:28:47 +00:00
helixhorned 1cd11d06ef Revert "Fix the warnings when building with C++, add MSVC C++ build support."
This reverts r3159..r3161.

Conflicts:
	eduke32/build/include/compat.h
(Handled so that r3163's changes are kept applied.)

git-svn-id: https://svn.eduke32.com/eduke32@3165 1a8010ca-5511-0410-912e-c29ae57300e0
2012-11-15 14:27:45 +00:00
terminx 3ff46c02b2 Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.
I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)


git-svn-id: https://svn.eduke32.com/eduke32@3159 1a8010ca-5511-0410-912e-c29ae57300e0
2012-11-14 23:32:43 +00:00
helixhorned 3e1a8c523d In Mapster32, remove ReadGamePalette() and GAMEpalette[] and use engine's palette[].
git-svn-id: https://svn.eduke32.com/eduke32@2515 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-22 22:46:56 +00:00
helixhorned 4d4221d71f Continuously keep track of the number of sprites in the world.
New engine variable 'int32_t Numsprites', not yet saved into savegames
or mapstates. (The capitalization is to distinguish it from the often-used
'numsprites' locals or structure member names.
In the editor, get rid of updatenumsprites().

git-svn-id: https://svn.eduke32.com/eduke32@2478 1a8010ca-5511-0410-912e-c29ae57300e0
2012-03-14 22:30:24 +00:00
helixhorned 15532fa96a Remove a couple of redundant declarations.
git-svn-id: https://svn.eduke32.com/eduke32@2330 1a8010ca-5511-0410-912e-c29ae57300e0
2012-02-09 22:45:38 +00:00
helixhorned 260bbc1f92 cleanup:
- 'whitecol' was defined in the engine and in build.c, use only the engine one
 - make cachesize, artsize, artversion static in engine.c
 - undo some formatting havoc presumably done by astyle

git-svn-id: https://svn.eduke32.com/eduke32@2260 1a8010ca-5511-0410-912e-c29ae57300e0
2012-01-15 22:39:38 +00:00
helixhorned 60fa7d9f00 Remove a few unused variables from global.[ch], update build date string.
git-svn-id: https://svn.eduke32.com/eduke32@2196 1a8010ca-5511-0410-912e-c29ae57300e0
2011-12-25 15:30:50 +00:00
helixhorned 004b98e2b3 A couple of tweaks against accidental overwriting of maps.
- first, fix a bug where

git-svn-id: https://svn.eduke32.com/eduke32@2095 1a8010ca-5511-0410-912e-c29ae57300e0
2011-10-31 19:49:43 +00:00
helixhorned 962910ce32 Move the fixspritesectors call and the start sector updating into ExtPreSaveMap().
This makes the latter also correct when testing a map from the editor.

git-svn-id: https://svn.eduke32.com/eduke32@2001 1a8010ca-5511-0410-912e-c29ae57300e0
2011-09-04 19:43:48 +00:00
helixhorned 606589f605 * Join-bunch functionality in 2d mode ('J'). When applied to two adjacent extended floors with different bunchnums, this makes them equal so that their sectors can be joined in a next step if their ceiling bunchnums are equal. The two floors also must be non-sloped and at the same height.
* slightly tweaked status line, now also displaying the number of bunches
* fix a couple of issues unearthed by valgrind and a TROR nextwall corruption when joining sectors

git-svn-id: https://svn.eduke32.com/eduke32@1930 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-09 17:36:02 +00:00
terminx ef61e48c25 Patch from Hendricks266 and whatever changes happened to be in my tree. I hope they work ;)
"The most noticeable change is the addition of the "includedefault" CON and DEF command, which will attempt to include eduke.con (or nam.con, or ww2gi.con), then game.con, or duke3d.def, or nam.def, or ww2gi.def. This is useful for TCs like my add-ons, where for my pseudo-mutators I currently say "include EDUKE.CON", but I also have to juggle this terrible order of paths, so that I can have an EDUKE.CON file in my HRP which says "include GAME.CON" to allow the mainline game to actually run, but also allow DukePlus to load its EDUKE.CON file (since it uses that and not an -x switch), and also allow any custom EDUKE.CON files in the root to be used."


git-svn-id: https://svn.eduke32.com/eduke32@1909 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-19 00:11:52 +00:00
helixhorned 873375025f * Include file cleanup by dragging most declarations into editor.h
* more useful auto-red wall feature: if no structure-changing operations have been applied after highlighting and duplicating, now also paste 'visual' fields of outer walls (this is one example of the use of a system that temporarily keeps track of nextwalls for former red lines)
* multi-pkies now have individual parallaxyscale


git-svn-id: https://svn.eduke32.com/eduke32@1886 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-15 22:37:24 +00:00
helixhorned 4dba12a5d3 Tweakery in various places.
Engine stuff:
 * Add 'r_shadescale_unbounded' cvar. When set to 0, OpenGL renderers should never
   draw completely black objects (currently only implemented for Polymost)

Mapster32:
 * Add 'r_shadescale' to config
 * In 3D mode, make SPACE behave the same as holding down a mose button: the
   currently pointed-at object is locked. Required some modification of a.m32
   to play well (i.e. not reset SPACE). This is useful by itself but more so
   in conjunction with the next point
 * make Alt behave as a modifier with PGUP/PGDN: when aiming at a 2-sided wall,
   move the other side's sector's ceiling or floor (only this is new).
 * Auto-alignment of walls can be controlled in a finer grained fashion now:
   When pressing '.', only the immediate neighbors get aligned. Use Ctrl-. for
   the old behaviour.
 * When inserting a point in 2D mode, auto-align the neighboring wall


git-svn-id: https://svn.eduke32.com/eduke32@1848 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-17 23:37:38 +00:00
helixhorned b158521449 Besides catching a few more corner cases, there's better mouselook handling and a warning (but no fix) for a rare and bad corruption when splitting a sector in this revision.
git-svn-id: https://svn.eduke32.com/eduke32@1836 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-08 23:02:38 +00:00
helixhorned 73d6ad1d04 Oops, r1801 crashed Mapster in the undo system. Also less/better automatic wall[].xrepeat resizing on things like attaching a wall to another.
git-svn-id: https://svn.eduke32.com/eduke32@1803 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-25 22:10:25 +00:00
helixhorned 48d15c23c6 Mapster32 cleanup. The biggest visible change should be the more robust editing near the limits (still not perfect though).
git-svn-id: https://svn.eduke32.com/eduke32@1801 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-24 20:40:27 +00:00
helixhorned 71d5dc5e59 Selective auto-correction option for the corruption checker. 'corruptcheck now' will print numbered tags for each warning, which can then be used like this: 'corruptcheck tryfix 20 34-64'. General cleanup; make mapster32 not depend on enet objects.
git-svn-id: https://svn.eduke32.com/eduke32@1799 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-21 23:08:21 +00:00
helixhorned 348474dd14 Mundane Mapster Maintenance Melee, Part 2
git-svn-id: https://svn.eduke32.com/eduke32@1797 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-15 21:02:43 +00:00
helixhorned 8bf5f5f848 Fix handling of lotag and friends in generic sprite search. Tags like 65535 which are really (int16_t)(-1) are now also found.
git-svn-id: https://svn.eduke32.com/eduke32@1787 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-03 17:44:03 +00:00
plagman b6dce8a559 Move the new basepal table one step further so that the engine is now aware of it.
git-svn-id: https://svn.eduke32.com/eduke32@1781 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-27 06:35:52 +00:00
helixhorned 51eb2c7cd3 Too much stuff for one commit.
engine:
* sector-like sprite clipping now works with x- xor y-flipped actual sprites

mapster32:
* corruption checker has been hooked up to loading/saving routines to inform/warn the user
* also warn if mouse pointer is over corrupt wall which is shown in pink then: you should not move such a wall!
* faster map loading by deferring polymer_loadboard to 3d mode entrance (also removes some 'glGetTexLevelParameteriv returned GL_FALSE' warnings)
* more logical maphack light handling, the logic is still a bit dodgy though
* some menu and misc. function fixup
* redundancy elimination...

API:
* added consts various for 'char *filename' parameters
* loadboard() now accepts bit 4 for flags (formerly 'fromwhere')

git-svn-id: https://svn.eduke32.com/eduke32@1760 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-16 00:23:39 +00:00
helixhorned 917b924a0d Fixes crash in 2d map drawing where sector[-1] was accessed; added commands a2xy and ah2xyz to m32script, coded 2d preview of swinging and sliding doors; added "samprate" setting to configuration, useful if the default one gives jittering/echoey audio
git-svn-id: https://svn.eduke32.com/eduke32@1697 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-17 20:00:44 +00:00
helixhorned c354695d60 bugfixes; mark tiles in tile selector for later grouping (press SPACE on a tile); a.m32: convert to CRLF and add [xyz]vel query in 3d mode (Alt-KP1), also different keys for Polymer override var tweaking; some CRLF->LF in LF-only files.
git-svn-id: https://svn.eduke32.com/eduke32@1695 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-14 21:32:28 +00:00
terminx 1102b74a35 mostly multiplayer fixes among other things
git-svn-id: https://svn.eduke32.com/eduke32@1672 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-19 15:14:00 +00:00
terminx 013ac85e2d Emit RPG_EXPLODE, PIPEBOMB_EXPODE and LASERTRIP_EXPLODE from the actual EXPLOSION2 sprite instead of whatever spawned EXPLOSION2, to prevent the sound from being owned by whatever sprite happens to spawn with the ID the RPG/pipebomb/whatever had before it was removed
Add brightness/gamma/contrast cvars to Mapster32

Fix bug with WEAPON_SEMIAUTO flag for custom weapons

Fix VM error with starttrack when specifying an invalid music track

Fix detection of 0x1a EOF characters in CON files

Fix a couple of additional sound issues

Fix crash in pushmove()

Fix Mapster32 textured 2D mode display being a few pixels off from the actual lines drawn

Fix crash when clicking "cancel" in Mapster32 startup window

Add Makefile detection to build with -march=pentium3 -mtune=generic on i686


git-svn-id: https://svn.eduke32.com/eduke32@1665 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-03 08:53:57 +00:00
terminx ac7767986a Updated synthesis script, moved some non-essential files around, updated license headers on all non-BUILDLIC files, added memory cache on top of texcache to improve load times, moved some duplicated keyboard handling stuff from winlayer/sdlayer to baselayer, fixed keypad / in Mapster32 tile selector, fixed bug where p->rotscrnang and p->look_ang never reset to 0, added support for reloading maphack based polymer lights after mode changes/savegame loads, other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1652 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-25 10:56:00 +00:00
helixhorned 8077dcd633 Mapster32 maintenance pack #1
The bulk of this commit is "code rape"--or rather, caressing, rewritten for readability.
Actual changes/fixes:
  - fixed "walking" in 2d mode
  - fixed DELETE key in OSD in SDL build
  - main loop in general (timeout for event wait after 200 ms so that highlights blink)
  - access to some pr_override* variables in m32script (suggested by Roma Loom)
  - API cleanup (added statics and consts here and there)

git-svn-id: https://svn.eduke32.com/eduke32@1644 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-18 05:14:17 +00:00
helixhorned 32a86d8fce m32: have default grid size in configuration
git-svn-id: https://svn.eduke32.com/eduke32@1621 1a8010ca-5511-0410-912e-c29ae57300e0
2010-04-11 13:04:53 +00:00
helixhorned ea0e088da5 Initial checkin of m32-script.
git-svn-id: https://svn.eduke32.com/eduke32@1493 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-12 23:03:15 +00:00
helixhorned 4e4e2f16d8 4x bigger max. zoom in 2d mode at Gambini's request
git-svn-id: https://svn.eduke32.com/eduke32@1491 1a8010ca-5511-0410-912e-c29ae57300e0
2009-08-31 13:43:13 +00:00
helixhorned da8e401298 mapster32: more logical "bottom walls swapped"-bit handling; misc. cleanups
git-svn-id: https://svn.eduke32.com/eduke32@1466 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-25 20:16:22 +00:00
terminx f3d93e8406 Undo/redo support for Mapster32 and some other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1361 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-05 16:21:33 +00:00
helixhorned ba394b0bcf added some mapster32 config vars; fixed mapster32 crash in linux; DEBUGANYWAY for Makefiles
git-svn-id: https://svn.eduke32.com/eduke32@1296 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-07 18:56:22 +00:00
terminx 1e5bac7ef4 git-svn-id: https://svn.eduke32.com/eduke32@1248 1a8010ca-5511-0410-912e-c29ae57300e0 2009-03-16 15:18:01 +00:00
terminx 18896fd0cd git-svn-id: https://svn.eduke32.com/eduke32@1208 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-13 12:23:18 +00:00
terminx 9095a4911d git-svn-id: https://svn.eduke32.com/eduke32@1206 1a8010ca-5511-0410-912e-c29ae57300e0 2009-01-10 07:38:50 +00:00
terminx d6914ed108 ass rape
git-svn-id: https://svn.eduke32.com/eduke32@1205 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-09 09:29:17 +00:00