Commit graph

662 commits

Author SHA1 Message Date
helixhorned
924dccca21 safer sprintf
git-svn-id: https://svn.eduke32.com/eduke32@1911 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-19 18:42:48 +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
95a33b72bd editor: tweak RShift so that unnecessary gray walls aren't selected; fix ugly bug with TROR joining
game: when entering/leaving water or slime, delay changing palette by one game tic to make it look right


git-svn-id: https://svn.eduke32.com/eduke32@1899 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-29 12:30:38 +00:00
helixhorned
e92099b2f7 Polymost:
* rudimentary TROR support
 * free mixing of multi- and single-tile pskies
 * Don't cull models behind you. That is, treat them like floor sprites in that respect. This way large models like corpses don't disappear from the view unexpectedly.

Classic:
 * tweak the last row and column of the translucency table so that e.g. a transparent sprite against a FANSPRITE wall doesn't show up purple (only if Duke3D table is found)

Misc.:
 * fixes TROR-nextwall corruption when deleting sectors
 * tile selector 'goto' now has also completion
 * I forgot a file for the non-OpenGL build last time


git-svn-id: https://svn.eduke32.com/eduke32@1892 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-22 21:52:22 +00:00
terminx
19d65b699c Add null ptr check to minitext and fix the quotes for DNCLIP
git-svn-id: https://svn.eduke32.com/eduke32@1884 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-13 05:48:22 +00:00
helixhorned
98456aefe3 -- engine:
* support for free mixing of multi- and single-tile parallaxed skies in classic
* make visibility independent of yxaspect and viewingrange in OpenGL modes

-- editor:
* when dragging walls, restore pixel width after that (only for the left and right walls of pointhighlight, and its nextwalls, if any)
* pasting on walls and auto-aligning them now carries over a few more fields

-- fixes:
* visibility in OpenGL modes wasn't incremented gradually (regression due to making 'clamp' an inline function instead of a macro)
* memory corruption due to calling qlz_compress with less than the recommended surplus storage of 400 bytes
* decorative sprites in the mirror showing non-flipped
* make the subway SE message (much) more helpful by showing which sector the game considers to be the track sector


git-svn-id: https://svn.eduke32.com/eduke32@1882 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-12 23:31:13 +00:00
helixhorned
203cf0b7b1 A crapload of random stuff.
* Polymer light access to m32script (light[<lightidx>].<field>). As an application, provide a state 'insertlights' that takes the currently active lights and puts them into the map as SEs (e.g. for maphack recovery).
* Prototype of a mechanism to gray out certain portion of a map, making them inactive to various, but not all, editing operations. Highlighting a set of sectors and pressing Ctrl-R will make the Z bounds be [(least ceiling z), (greatest floor z)] of all selected ones, pressing Ctrl-R when no sectors are highlighted will reset them. Not sure if it's for production use at this stage...
* The 'align walls' feature [.] now has three independently toggleable behaviours: recurse nextwalls (toggled when Ctrl is pressed), iterate point2s (disabled when Shift is pressed), and also copy pixel width (toggled when Alt is pressed).
* Make shades clamp instead of overflowing in the editor

Fixes:
* crash when carrying out certain operations on walls with xrepeat 0
* the Pause key on linux. Also make demo recording start on Shift-ScrollLock because ScrollLock alone is too easily pressed when pausing


git-svn-id: https://svn.eduke32.com/eduke32@1877 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-07 18:23:34 +00:00
helixhorned
9c3889e59b Fix more overheadmap crashes, this time with 'Last Pissed Time'. Mapster32 now asks to jump to a sector, wall, sprite, or coordinates with 'J. Also fix crash when pressing '-' (not KP-) when aiming at something with tile 0.
git-svn-id: https://svn.eduke32.com/eduke32@1874 1a8010ca-5511-0410-912e-c29ae57300e0
2011-04-28 21:28:33 +00:00
helixhorned
a2b3b6006c * Correctly draw floor-aligned sprites with non-power-of-two textures in classic renderer.
* Sprite cstat 2048 ('use own shade', [N]) now works more or less. (Issues may arise when combined with sector light effects.)
* Begin work on 'smart' tag labeling system for Mapster32.  Right now, it only displays a '+' after tags with linking semantics.
* 


git-svn-id: https://svn.eduke32.com/eduke32@1866 1a8010ca-5511-0410-912e-c29ae57300e0
2011-04-14 20:48:08 +00:00
terminx
1fdafcdad6 Cleaning out my tree... mostly internal changes. Adds workaround to disable texture compression with the crappy fglrx driver on Linux, fixes FIRE sprites so that they don't render at their sector's floorz all the time, changes CON compiler around a bit to use a loop instead of calling C_ParseCommand() 10 million times.
git-svn-id: https://svn.eduke32.com/eduke32@1857 1a8010ca-5511-0410-912e-c29ae57300e0
2011-04-07 01:16:29 +00:00
helixhorned
06afc4dcc5 * Comment out some practically dead code (rendmode 1 and 2, pcx screenshots), cutting some 8k from the release binary.
* Refactor two nearly identical chunks in polymost.c into one function in the hope of getting some more, but interestingly that did nothing at all. At least it's more readable this way...
* Commit, but don't enable, code for writing PNG screenshots (I'm tired of converting them every time). Requires libpng which in turn requires zlib.

git-svn-id: https://svn.eduke32.com/eduke32@1852 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-19 18:07:12 +00:00
terminx
bcc3682af0 Update nedmalloc.dll and fix undesirable FIRE/FIRE2 and COOLEXPLOSION1 behavior from http://forums.duke4.net/index.php?showtopic=2961&st=90&start=90
git-svn-id: https://svn.eduke32.com/eduke32@1827 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-05 03:57:15 +00:00
terminx
cdd800890f Add a couple more resolutions to the table in baselayer.c and add the compile date and time to eduke32.log
git-svn-id: https://svn.eduke32.com/eduke32@1823 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-04 10:09:12 +00:00
terminx
8c47f34c7c Use svn revision numbers in synthesis build strings
git-svn-id: https://svn.eduke32.com/eduke32@1821 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-04 09:29:03 +00:00
terminx
323008432a Consolidate POLYMOST preprocessor define into USE_OPENGL, remove SUPERBUILD preprocessor define, add additional mode to neartag() to skip sprite searches and speed up processing (and enable for CON_OPERATE), fix issue with nearby single instance sounds not playing due to out of range sounds blocking their playback, fix issue with settings.cfg being reset to default bindings when running a mod that specifies its own cfg base name, improve CON structure member interface read/write performance, fix a bug with CON "move" pointer validation
git-svn-id: https://svn.eduke32.com/eduke32@1820 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-04 08:50:58 +00:00
plagman
9c60fd054f Slight tweak to the main loop to be more interactive when the game code runs really slow (as opposed to the renderer).
git-svn-id: https://svn.eduke32.com/eduke32@1817 1a8010ca-5511-0410-912e-c29ae57300e0
2011-03-03 06:57:42 +00:00
terminx
a241d80030 fix win32 build
git-svn-id: https://svn.eduke32.com/eduke32@1805 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-25 22:50:59 +00:00
terminx
043bb208b3 Multiplayer improvements
git-svn-id: https://svn.eduke32.com/eduke32@1802 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-25 21:50:19 +00:00
plagman
177e506e01 DREALMSPAL and TITLEPAL were accidentally swapped with revision 1772.
git-svn-id: https://svn.eduke32.com/eduke32@1798 1a8010ca-5511-0410-912e-c29ae57300e0
2011-02-20 06:07:57 +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
plagman
4a2fd12f4b Manage base palette as IDs instead of passing pointers around ($10 says I broke something). Corresponding engine change will be coming up; this is in prevision of highpal handling of game palettes.
git-svn-id: https://svn.eduke32.com/eduke32@1772 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-17 03:49:34 +00:00
helixhorned
92223c2c85 Atrributify various function declarations. Right now the attributes used are noreturn, nonnull and format, the latter allowing us to catch silly printf errors. Again, these range from relatively benign to disastrous.
git-svn-id: https://svn.eduke32.com/eduke32@1740 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-19 22:47:10 +00:00
plagman
a0269f6dac getcwd with NULL gives us memory allocated from the system, so don't try to use nedmalloc to free it.
git-svn-id: https://svn.eduke32.com/eduke32@1737 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-19 02:04:59 +00:00
terminx
92fc1d3566 Fix digitalnumberz spacing and saving/loading of screen size
git-svn-id: https://svn.eduke32.com/eduke32@1732 1a8010ca-5511-0410-912e-c29ae57300e0
2010-12-03 06:50:16 +00:00
terminx
c0fd65345e remove obsolete CON compile warnings about affecting multiplayer sync, add -nodinput compatibility parameter to work around DirectInput crash issues on certain systems, fix http://forums.duke4.net/index.php?s=&showtopic=2961&view=findpost&p=60752
git-svn-id: https://svn.eduke32.com/eduke32@1729 1a8010ca-5511-0410-912e-c29ae57300e0
2010-11-23 22:30:27 +00:00
helixhorned
07ecd3eede Set union ['] and difference [;] for sector selection in Mapster32; probably fix for crash on clipshape-init; replace tabs in doc/build*.txt with three spaces.
git-svn-id: https://svn.eduke32.com/eduke32@1728 1a8010ca-5511-0410-912e-c29ae57300e0
2010-11-20 16:47:18 +00:00
helixhorned
a38307a54f Fixes quite a few nasty bugs with the new clipping code, including the crash. Clip shapes are now loaded from _clipshape0.map through _clipshape9.map (no break like when loading tiles, just see if each is present). Mapster32: insert some safety code for sprites with sectnum<0. Because this is still a bad thing, have the m32script corruption checker catch this and run it periodically from EVENT_DRAW2DSCREEN. Also draw such sprites in 2D mode with a blood-red color, and make them draggable. Remove set[sector,wall,sprite] commands.
git-svn-id: https://svn.eduke32.com/eduke32@1722 1a8010ca-5511-0410-912e-c29ae57300e0
2010-10-31 19:54:03 +00:00
helixhorned
f1caa980d0 Sector-like sprite clipping. Check samples/spriteclip.txt.
git-svn-id: https://svn.eduke32.com/eduke32@1719 1a8010ca-5511-0410-912e-c29ae57300e0
2010-10-28 20:17:22 +00:00
helixhorned
e0874390ff New aspect determination code for classic/Polymost, controlled with r_usenewaspect and r_screenaspect cvars; print stack traces with SDL/GCC; change signature of app_main in game.c to match declarations found in other places and return different positive values on init error.
git-svn-id: https://svn.eduke32.com/eduke32@1712 1a8010ca-5511-0410-912e-c29ae57300e0
2010-10-17 14:49:39 +00:00
helixhorned
91250f081c New CON commands:
* sectsetinterpolation <sector>
 * sectclearinterpolation <sector>
 * clipmove <<ret>> <<x>> <<y>> <z> <<sectnum>> <xvect> <yvect> <walldist> <floordist> <ceildist> <clipmask>
 * lineintersect  <x1> <y1> <z1>  <x2> <y2> <z2>  <x3> <y3>  <x4> <y4>  <<intx>> <<inty>> <<intz>> <<ret>>
 * rayintersect <x1> <y1> <z1>  <xv> <yv> <zv>  <x3> <y3>  <x4> <y4>  <<intx>> <<inty>> <<intz>> <<ret>>
 * calchypotenuse <<ret>> <x> <y>
(all except *interpolation also in m32script). Also fixes Sect_ClearInterpolation to be symmetrical to its Set counterpart (shouldnt change anything since it was unused). Added "-conversion YYYYMMDD" switch for keyword-compatibility with old mods.
Mapster32: invisible sprite preview with Quote-i.

git-svn-id: https://svn.eduke32.com/eduke32@1708 1a8010ca-5511-0410-912e-c29ae57300e0
2010-09-27 21:52:04 +00:00
terminx
1a214939d7 Possibly fix another weird crash
git-svn-id: https://svn.eduke32.com/eduke32@1688 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-07 23:14:23 +00:00
terminx
a7eb0418d1 Global thermonuclear code rape
git-svn-id: https://svn.eduke32.com/eduke32@1677 1a8010ca-5511-0410-912e-c29ae57300e0
2010-08-02 08:13:51 +00:00
terminx
e1649ec722 Polymer performance improvement and some game related bug fixes. Improves Polymer framerate by about 25% in most cases and fixes problems causing Duke Caribbean doors to malfunction.
git-svn-id: https://svn.eduke32.com/eduke32@1676 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-26 22:36:45 +00:00
terminx
8a3dd08b14 more multiplayer fixes
git-svn-id: https://svn.eduke32.com/eduke32@1673 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-22 20:29:09 +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
plagman
9853a66551 Fix build.
git-svn-id: https://svn.eduke32.com/eduke32@1670 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-05 19:33:29 +00:00
plagman
8fa536c83d Lose the quitflag check until we know while it gets out of sync between clients and server. This cause the new networking code to be somewhat usable again.
git-svn-id: https://svn.eduke32.com/eduke32@1669 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-05 08:59:58 +00:00
plagman
1374de7492 Fix multiplayer.
git-svn-id: https://svn.eduke32.com/eduke32@1668 1a8010ca-5511-0410-912e-c29ae57300e0
2010-07-05 08:10:15 +00:00
helixhorned
386c50d41c SDL/non-Windows: external midi playing with fork/exec and signals; double initprintf internal buffers since they got too long for the --help text; warn on replacing empty tile with a hightile; fix a keypad issue in Mapster32
git-svn-id: https://svn.eduke32.com/eduke32@1663 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-27 10:08:58 +00:00
terminx
0b5de0800a Final round (I hope!) of sound fixes. Should also fix the crash on exit on Windows and the REACTOR sprite size bug.
git-svn-id: https://svn.eduke32.com/eduke32@1662 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-26 08:51:42 +00:00
terminx
068d3c0e52 This is mostly just build fixes for USE_OPENGL=0, POLYMOST=0 and POLYMER=0. Also updated the precompiled libogg/libvorbis/libvorbisfile that are supplied for MinGW.
git-svn-id: https://svn.eduke32.com/eduke32@1660 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-23 04:20:46 +00:00
terminx
9143833fc8 rotatesprite and multivoc have a rape baby
No, seriously.  Adds widescreen aware rotatesprite and works out half a dozen huge problems in the sound system, among other things.


git-svn-id: https://svn.eduke32.com/eduke32@1658 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-22 21:50:01 +00:00
terminx
4c3c64286a shading changes and fixes for a few crashes
git-svn-id: https://svn.eduke32.com/eduke32@1657 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-07 09:03:16 +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
02379ee1d2 More of them. Includes the possiblity of typing m32script commands directly into the OSD (without "do", see osdtryscript in mapster32.cfg) and improved diagnostics.
git-svn-id: https://svn.eduke32.com/eduke32@1649 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-22 23:41:18 +00:00
terminx
45052b8273 minor changes from my tree that I'm committing to test automated synthesis builds
git-svn-id: https://svn.eduke32.com/eduke32@1645 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-19 10:02:35 +00:00
terminx
21192dfb48 Make nedmalloc a compile time option and add support for loading an external nedmalloc.dll at run time if it isn't compiled in
git-svn-id: https://svn.eduke32.com/eduke32@1643 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-18 00:30:30 +00:00
terminx
65b29ab092 win32 stuck input fix among other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@1642 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-16 22:53:08 +00:00
terminx
6b5ec5b3f6 fix a few more reported issues
git-svn-id: https://svn.eduke32.com/eduke32@1635 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-09 22:12:29 +00:00
terminx
3514722a74 fix input when using vsync
git-svn-id: https://svn.eduke32.com/eduke32@1634 1a8010ca-5511-0410-912e-c29ae57300e0
2010-05-09 08:51:25 +00:00