Commit graph

7139 commits

Author SHA1 Message Date
Christoph Oelckers
ef7bcb3a66 - implement Eternity-Style flat and horizon portals. Not tested yet due to lack of material to work with. 2016-01-11 15:07:58 +01:00
Randy Heit
42e9a6a711 Make atlas size a macro definition and default it to 512x512 (was 256x256) 2016-01-10 22:14:35 -06:00
Randy Heit
aaac5ac7a1 Use not so brilliant backgrounds for allocated atlas backgrounds 2016-01-10 22:01:29 -06:00
Randy Heit
670058fa3c Switch to the bottom-left picker for the Skyline Bin Packer 2016-01-10 21:54:28 -06:00
Randy Heit
4f0046105d Change texture atlas display to show allocated rectangles 2016-01-10 21:09:16 -06:00
Christoph Oelckers
ab1bf2bca3 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/actor.h
2016-01-10 22:43:34 +01:00
Christoph Oelckers
918a2ed562 -fixed: Eternity-style skyboxes must check if some portal copy definitions have been set for them. 2016-01-10 22:26:08 +01:00
Christoph Oelckers
2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
Christoph Oelckers
76b0971067 Merge branch 'master' into edf-gl 2016-01-10 10:31:00 +01:00
Christoph Oelckers
bfbc160b0c Merge branch 'zmaster' 2016-01-10 10:30:23 +01:00
Christoph Oelckers
39cdb7cf30 - implement 'loadacs' option for MAPINFO. 2016-01-10 10:21:17 +01:00
Christoph Oelckers
1e193206bf - removed unused RemoveLineIDs function. 2016-01-10 10:08:06 +01:00
Christoph Oelckers
d0978d0760 - added EDF sector handling. 2016-01-10 10:05:06 +01:00
Christoph Oelckers
4fd0a726b1 - more work on EDF handling. Vaporware demo is now loading. 2016-01-10 10:05:06 +01:00
Christoph Oelckers
feeaf29c46 - set translations for Eternity's linked portals for testing. 2016-01-10 10:05:05 +01:00
Christoph Oelckers
bdfac02f69 - EDF parser for linedefs and sectors. Also extended the Eternity xlat table to handle the parameterized types to the point EDF needs. 2016-01-10 10:05:05 +01:00
Christoph Oelckers
9fe016d6d0 - EDF parser part 1: Mapthings. 2016-01-10 10:05:04 +01:00
ZZYZX
4bbec2a7fe Fixed skybox clipping: sprite columns shouldn't be clipped against the current portal if rendered on root level of a skybox. 2016-01-10 05:48:06 +02:00
ZZYZX
605fce9008 Fixed skybox clipping: things in a skybox shouldn't be clipped against current portal. Fixed: portal inside of a skybox sets CurrentPortalInSkybox to false. 2016-01-10 05:45:26 +02:00
ZZYZX
4d518a220c Fixed skybox clipping: lines in a skybox shouldn't be clipped against current portal 2016-01-10 05:22:33 +02:00
Randy Heit
1f34372abc Remove the upper limit on midi_voices.
- Black MIDIs can be brutal, and there's really no reason that this needs
  to be artificially limited to a paltry 256 voices.
2016-01-09 17:55:39 -06:00
Christoph Oelckers
68b4c23a82 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 21:10:46 +01:00
Christoph Oelckers
53d385a596 - need to validate SetSectorTerrain's 'plane' parameter, 2016-01-09 21:10:12 +01:00
Christoph Oelckers
f391216ab9 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 19:48:01 +01:00
coelckers
725408d9fe Merge pull request #468 from alexey-lysiuk/osx_fullscreen_shortcut
Shortcut to toggle fullscreen on OS X
2016-01-09 18:23:43 +01:00
alexey.lysiuk
b27fdcffb5 Added shortcut to toggle fullscreen on OS X
Press Command+F to toggle fullscreen mode in native OS X backend
Set k_allowfullscreentoggle CVAR to false to disable the shortcut
2016-01-09 17:12:58 +02:00
Christoph Oelckers
23cfd29dbb - let's save the terrain properties as names so that they survive a change in the definition files. 2016-01-09 12:28:42 +01:00
Christoph Oelckers
7f454358b9 - added ACS SetSectorTerrain function. 2016-01-09 12:16:41 +01:00
Christoph Oelckers
71c7f2b42c - added 'floorterrain' and 'ceilingterrain' sector properties for UDMF. These will take precedence over texture based terrain if used.
'ceilingterrain' is needed because the top of 3D-floors refers to the model sector's ceiling, so in order to give a 3D floor a terrain it must be assignable to the sector's ceiling.
Note that although it is basically the same property, its actual function bears no relevance to its use in Eternity.
2016-01-09 12:10:36 +01:00
Christoph Oelckers
4b3adf548a - fixed compile errors. 2016-01-09 11:44:05 +01:00
Christoph Oelckers
a5054b0882 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 10:11:46 +01:00
Christoph Oelckers
0b5e419593 - fixed friction logic for sectors.
Issues with the old code:
* when calculating friction for a 3D-floor - swimmable or not - the 3D floor's top texture must be used. The previous version always checked the sector's floor texture, even though the top might as well come from the sector's ceiling.
* 3D floors never checked for the SECF_FRICTION flag at all. According to Boom specs, sector-based friction must be ignored if this is the case.
* Terrain based friction had a higher priority than the sector's own value.

Changed the rules as follows:
* if the sector's SECF_FRICTION flag is set (i.e. something explicitly changed the sector's friction), this value is used regardless of terrain settings.
* if this flag is not set, the terrain's friction is used, if defined, using the proper plane for 3D-floors.
* otherwise the default is used.
2016-01-09 10:11:20 +01:00
Randy Heit
786caaf36b Execute disconnect scripts immediately before the player is destroyed.
- Disconnect scripts were previously run at some point after the player
  left. Now they are run immediately before destroying the player. Since
  the player hasn't actually been destroyed yet, the player also gets to
  be the script's activator. This gives you a chance to scrape whatever data
  you want from the player before they're history. Note that if you do
  anything to make the script wait, the script's activator will become the
  world, as it was before.
2016-01-08 22:41:23 -06:00
Randy Heit
bf31d66d31 Use a better packing algorithm for the texture atlases
- The old algorithm is something I threw together that produced decent,
  but not spectacular results since it had a tendency to waste space by
  forcing everything onto "shelves".
  The new packer is the Skyline-MinWaste-WasteMap-BestFirstFit algorithm
  described by Jukka Jylanki in his paper *A Thousand Ways to Pack the Bin - A
  Practical Approach to Two-Dimensional Rectangle Bin Packing*, which can
  currently be read at http://clb.demon.fi/files/RectangleBinPack.pdf
  This is minus the optimization to rotate rectangles to make better fits.
2016-01-08 22:37:06 -06:00
Randy Heit
f330a81909 Rename packing textures to texture atlases for the D3D code
- I figure since I now know the "proper" name for these things, I should
  call them by it.
2016-01-08 20:08:10 -06:00
Randy Heit
a43f5a8eca Remove now unused variable from SpawnPolyobj 2016-01-08 20:08:06 -06:00
Christoph Oelckers
52bab6571b Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-01-09 01:24:18 +01:00
Christoph Oelckers
23ff54c942 Merge branch 'zmaster' 2016-01-09 01:23:45 +01:00
Christoph Oelckers
cf564c60c2 - simplified setup of polyobjects defined from explicit lines
The old method had a problem with missing order numbers and aborted the level load and made many assumptions that no longer apply with BSP based polyobject rendering.
2016-01-09 01:23:00 +01:00
coelckers
ddc8c06da8 Merge pull request #35 from alexey-lysiuk/fix_mmx_check
- fixed: check for MMX availability
2016-01-08 10:20:29 +01:00
coelckers
500c1623d0 Merge pull request #467 from kevans91/freebsd-build
I missed one last spot where a FreeBSD compilation should follow the …
2016-01-08 09:58:55 +01:00
alexey.lysiuk
d97494afea - fixed: check for MMX availability
the check was using C compiler flags instead of C++ which led to test failure for 32-bit Intel targets, at least on Linux with GCC
2016-01-08 10:18:16 +02:00
Kyle Evans
d20f18a4bb I missed one last spot where a FreeBSD compilation should follow the path of OS X -- <signal.h> needs to be pulled in for signal functions 2016-01-07 22:48:25 -06:00
MajorCooke
bfd9e2bc1c - Added CHF_STOPIFBLOCKED and CHF_DONTTURN macro.
- CHF_STOPIFBLOCKED simply prevents the actor from changing directions for movement.
- CHF_DONTTURN implies NORANDOMTURN, NOPOSTATTACKTURN and STOPIFBLOCKED.
2016-01-07 19:20:02 -06:00
MajorCooke
da9c3ff9d2 Added A_Wander Flags.
- WF_NORANDOMTURN and WF_DONTANGLE do the same as their CHF_ counterparts for A_Wander.
2016-01-07 17:38:45 -06:00
MajorCooke
f357a36c5c - New A_Chase flags.
- CHF_NORANDOMTURN: Actor will not randomly turn during chasing to pursue its target. It will only turn if it cannot keep moving forward.
- CHF_DONTANGLE: Actor does not adjust its angle to match the movement direction.
- CHF_NOPOSTATTACKTURN: Actor will not make its first turn after exiting its attacks.
2016-01-07 17:38:25 -06:00
MajorCooke
ccc694bbcd - Added the following flags, all affixed with CPXF_:
- NODISTANCE: Disables distance checking.
- CHECKSIGHT: The qualifying actor must be in sight in order to count.
- SET<TARGET/MASTER/TRACER>: Gets the first qualifying actor and sets the calling actor's specified pointer to it.
- SETONPTR: If the function is being aimed at another actor other than the caller, sets that actor's pointers instead. Requires a SET* flag to work.
- FARTHEST: The actor farthest from the checking actor is set as the pointer. Requires a SET* flag to work.
- CLOSEST: The closest qualifying actor is set as the pointer. Requires a SET* flag to work.
2016-01-07 17:09:02 -06:00
Christoph Oelckers
926e9fdac4 - fixed: For 2D-drawing of camera textures the render style was not set. 2016-01-07 22:20:57 +01:00
Randy Heit
efaaccc030 Added $ check for language support for drawing Option Values 2016-01-07 12:59:16 -06:00