Commit graph

119 commits

Author SHA1 Message Date
gez
b9951b548d * Updated to ZDoom 4140:
- Fixed: If you hit a wall at the right moment you would some times come out of a teleporter with sliding velocity.
- Fixed incorrect -= operators in vectors.h.
- Add support for user variables on things in UDMF maps. If you include an actor's user variable in its UDMF thing definition, that user variable will be set to the desired value for that actor when the map is loaded.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1528 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-17 13:01:54 +00:00
gez
a6b89e2b6a * Updated to ZDoom 4136:
- Fixed: spynext/prev were unreliable with player prediction.
- Fixed: The changemap CCMD did not work for maps not defined by MAPINFO.
- Fixed: When adding a forwardmove value, P_Bob() needs to do the same pitch-dependent scaling   as P_ForwardThrust().
- Changed the "notrelevant" checks in R_RenderMaskedSegRange() to not include equality in their   comparison operators. Fixes one map (http://forum.zdoom.org/viewtopic.php?f=2&t=34082); might   break others. Maybe. [This does not concern the OpenGL renderer.]
- Fixed: info CCMD listed bounce flags twice, under separate names.
- Skip the MF2_PASSMOBJ height checks in PIT_CheckThing() for ripper missiles.
- Fixed: Because P_OpenMapData() now reopens the containing file for the map, P_LoadGLNodes() needs a new check for if the map came from a regular wad.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1527 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-14 10:28:14 +00:00
gez
6739e1a875 * Updated to ZDoom 4071:
- Don't use the global numsectors variable when testing if a map is a Build map in P_IsBuildMap() and P_LoadBuildMap().
- In P_SetSafeFlash(), check the requested state against every actor when Dehacked moves the flash to some other class's states instead of just assuming it's good.
- In A_ReFire, allow refiring when a weapon is pending, but weapon switching is not okay at this time.
- P_MovePsprites() should now always call P_CheckWeaponSwitch(), because the latter function now has its own WF_WEAPONSWITCHOK check in the correct place.
- When doing kickback in P_DamageMobj(), choose a random direction if the target and origin are in the exact same spot.
- Fixed: G_CheckSpot() should not use the player start's z position unless LEVEL_USEPLAYERSTARTZ is set.
- Force node building for garrison.wad from The Master Levels so that the teleporter to the red key won't leave you in the ground.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1517 b0f79afe-0144-0410-b225-9a4edf0717df
2013-02-08 10:45:58 +00:00
gez
fef3619592 * Updated to ZDoom 4019:
- Added MAPINFO flag "SpawnWithWeaponRaised".
- Added CHANGELEVEL_PRERAISEWEAPON flag for use with ACS's ChangeLevel.
- Move NULL player check earlier in P_PoisonDamage, before player is accessed.
- Add NULL decal check to FDecalLib::ParseGenerator().
- Initialize sprframe to NULL in FListMenuItemPlayerDisplay::Drawer().
- In UpdateJoystickConfigMenu(), do not access joy before checking if it's NULL.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1502 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-03 20:33:41 +00:00
gez
f433b6edfc * Updated to ZDoom 3982:
- Fixed: The map loader did not check for the new node formats.
- Added support for loading ZGL3/XGL3 nodes.
- Added additional debug spew for the nodebuilder.
- Restored the nodebuilder's debug spew that was present in ZDBSP but not the internal version.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1483 b0f79afe-0144-0410-b225-9a4edf0717df
2012-12-08 15:05:42 +00:00
gez
f96e89a29d * Updated to ZDoom 3971:
- Fixed: Intermission text could run off the bottom of the screen at some resolutions.
- Fixed map checksum calculation.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1477 b0f79afe-0144-0410-b225-9a4edf0717df
2012-11-19 13:47:33 +00:00
gez
2f4ec97603 * Updated to ZDoom 3905:
- Fixed: Broke UDMF in PK3 loader.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1459 b0f79afe-0144-0410-b225-9a4edf0717df
2012-10-25 00:00:38 +00:00
gez
ad1f5007a4 * Updated to ZDoom 3901:
- Run down the semaphores so they behave more like a mutex (note: mutexes/condition variables seem to be much slower).
- Fixed: vid_maxfps and cl_capfps could run into a deadlock on Linux based operating systems.
- Remove 255 character length restriction on lump names.
- Removed directory checking for big endian wads since the header check should be sufficient.
- Added support for compression in wads and big endian wads (which basically means the Jaguar Doom wad can be loaded as a pwad although it's pretty ugly since the graphic formats aren't supported).
- Instead of implementing the wad code in three places, use the normal resource code for map loading and GL node loading.
- OK, so we can't have vid_maxfps on OS X since there does not appear to be an equivalent to POSIX timers. The only thing I could find would require Objective-C and an event loop.
- Ported frame rate limiting code to SDL. [OpenGL renderer still not affected.]

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1458 b0f79afe-0144-0410-b225-9a4edf0717df
2012-10-23 18:22:28 +00:00
Christoph Oelckers
d8ef694138 - Update to ZDoom r3751:
Added the item flag IF_RESTRICTABSOLUTELY. When this is set, players of the wrong class cannot pickup an item at all. (For instance, normally players in Hexen can still pick up other players' weapons for ammo. With this flag set, they cannot do that either.)
    The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
    Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all player starts are added to a pool, and players spawn at a random spot.
    Pass playernum as a parameter to P_SpawnPlayer(). Now P_SpawnMapThing() is the only thing that uses the MapThing's type to determine the which player is spawning.
    Fix some GCC 4.7.1 warnings.
    Added UsePlayerStartZ MAPINFO option to cause P_SpawnPlayer() to offset the spawned player's Z position by the MapThing's Z, just like for any other MapThing.
    P_SpawnPlayer() now respects a player's SPAWNCEILING and SPAWNFLOAT flags.
    Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
    Make floatbobbing a purely cosmetic effect that does not alter an actor's real position in the world.
    We don't need to keep the FloatBobOffsets[] verison of DoWaggle around.
    What I didn't have this saved? ugh
    Fixed: The action function version of ACS_NamedExecuteWithResult only accepted three script parameters.
    Fixed: Editing the player (thing #1) with DeHacked would remove its MF2_PUSHWALL flag.
    This was not supposed to be committed as part of r3737.
    Don't use abbreviations in exception descriptions.
    Do do not disable config writing before DoGameSetup() (introduced in r3653) if the config file does not already exist. This way, we can create a default config file without removing anything from an existing config file if things go wrong early during setup.
    Added Hacx 2.0 detection.
    Let's go ahead and bump the version in trunk.
    Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
    Fixed: DDrawFB should not recreate all its resources when the palette changes if we were the one responsible for the palette change.
    Fixed: DDrawFB::CreateSurfacesComplex() starting tries at 2 instead of 0 is not "debugging cruft" since it counts down, not up. (Partially reverts r3195)
    Fixed: ACS function pointer instructions need to call GetFunction on the tagged module instead of the active behavior.
    Added support for Eternity Engine's function pointer ACS instructions. (Note that an alternative ACS compiler is necessary to use these instructions properly.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1420 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-08 08:24:45 +00:00
gez
adfb2eeb3b * Updated to ZDoom r3517:
- Changed calculation of soundorg for triangular sectors. In many cases the center of the bounding box won't be inside the sector but on one of the outer lines so something different is needed.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1346 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-05 18:28:34 +00:00
gez
1c6fb66783 * Updated to ZDoom r3487:
- Use 64-bit coordinates for a few spots in the FPathTraverse constructor and P_SightPathTraverse().
- Allow FTraceInfo::TrlaceTraverse to pass the endpoints to FPathTraverse as deltas instead of as absolute coordinates.
- Replace >>MAPBLOCKSHIFT with GetSafeBlockX/GetSafeBlockY from Mocha Doom.
- Fixed: Use buggy PointOnSide for respawning monsters too.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1325 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-28 12:55:40 +00:00
gez
af22020682 * Updated to ZDoom r3480:
- Fixed: Sprites drawn with the shaded render style were always fullbright.
- Remove unused FRICTION definition.
- Fixed: Switching maps using the ResetHealth flag while dead would prevent proper reinitialization of the player on the new map.
- Fixed: If the znodes were based on a map with more vertexes than the one it is being loaded for, reject them.
- Fixed: Prematurely closing a Door_Raise-type door now properly examines the actual sound sequence to determine if it should start the closing sequence.
- Fixed: Poison damage lost damage type information if the poisoner was destroyed before poisoncount reached 0.
- Fixed: Poisoners without a PainType should use their own DamageType to pick the Pain state to make the target enter, not the target's DamageType.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1323 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-24 10:14:51 +00:00
gez
f46566268e * Updated to ZDoom r3461:
- Fixed: Just walking onto a 3D floor would not send SECSPAC_HitFloor or SECSPAC_HitCeiling events as it does with the real floor and ceiling. You needed some Z movement to make it happen.
- Fixed: P_CheckFor3DFloorHit() needs to use the actor's floorz instead of its z, and P_CheckFor3DCeilingHit() needs to use the actor's ceilingz instead of its z. These functions are called from P_ZMovement() when a collision with the floor or ceiling has been detected but before the z has been clamped. e.g. A hard fall will leave the actor's z beneath the floor even though it will be set to the floor after P_CheckFor3DFloorHit() returns.
- Changed CheckActorFloor/CeilingTexture to only check 3D floors that exist and are solid.
- Fix another signed/unsigned warning from GCC.
- Fixed: DCanvas::Dim() and DCanvas::Clear() did not clamp their coordinates to the screen.
- Fixed: When checking the REJECT contents one byte at a time, P_LoadReject() used rejectsize instead of i as an index into rejectmatrix.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1319 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-20 16:32:50 +00:00
gez
12f0af93ad * Updated to ZDoom r3442:
- Added clearlinespecial, for doom.wad e3m4 line 1069.
- Allow using the parameterized compatibility options with IWAD maps.
- Fixed: Destroying a weapon that claimed it was its own sister would crash.
- Apply fix from previous commit to Doom-format maps. (Previous commit only did it for Hexen.)
- Fixed: In non-UDMF maps, projectile impact activation implies projectile cross activation as well.
- Applied a modified version of FDARI's patch to prevent giving health to dead things:
  * P_GiveBody() now takes a max parameter so that it can also do the bulk of the work AHealth::TryPickup() previously did.
  * Setting an actor's health to 0 or below with SetActorProperty will now kill the actor properly.- Added setactivation command for compatibility.cpp to fix the gear boxes on hexdd.wad, map54, which should be set for player uses activation but are not.
- Added some developer mode messages for setlinespecial and clearlinespecial.
- Fixed: Old-style ACS has the string table record offsets from the start of the object file to the strings, not from the start of the string table, so UnescapeStringTable() needs to be told where the offsets are based.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1313 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-16 00:22:53 +00:00
gez
aff9d3692c * Updated to ZDoom r3426:
- Fixed: The softsynths could get stuck on the last notes of nonlooping songs.
- Fixed: FMOD as MIDI device always looped the song, even when it shouldn't (such as the title music).
- Fixed: UnescapeStringTable() used the wrong position in the script file for Hexen-style ACS.
- Fixed: If the first four bytes of the NODES lump are all zero, the nodes would not be loaded, nor would they be generated.
- Fixed: Monsters spawned by the Boss Brain would not go after the player unless they were in sight.
- Added gather2.wad's map05 and darkside.wad's map01 (which are actually the same map) to compatibility.txt for Arch-Vile ghost resurrection.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1306 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-11 09:07:02 +00:00
gez
40af0eae39 * Updated to ZDoom r3383:
- Added writemidi console command. If the currently playing song is a MIDI variant, this will write it to disk.
- Fixed: XMISong::ProcessInitialMetaEvents() did not set the Division for tempo events. (Why does XMI modify the division based on the tempo?)
- Fixed: UDMFParser::AddUserKey() checked against the wrong token types when determining the values type. Also, GetUDMFInt() performed a float-to-fixed conversion on the value it returned.
- Fixed: The nodebuilder is highly likely to renumber vertices, so we need to remember how the original vertices map to the new ones until after vertex slopes are handled.
- Added custom flechettes patch, with ArtiPoisonBag4 renamed to ArtiPoisonBagGiver and ArtiPoisonBag5 renamed to ArtiPoisonBagShooter.
- Added thrupushups fix.
- Added HMI/XMI division fixes, and partially the XMI tempo fix (not currently used).
- Fix strife linetype 11 again.
- Added startup screen customization.
- Print named script's names for the scriptstat console command.
- Added ACS_NamedExecuteWithResult for DECORATE expressions. Since this is a pretty long name, you can also use CallACS, if you wish. The two are synonyms.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1287 b0f79afe-0144-0410-b225-9a4edf0717df
2012-02-23 00:48:50 +00:00
gez
6aa69e1279 * Updated to ZDoom r3295:
- Added proper splash checks with 3D-floors.
- Fixed crash when trying to play a MIDI file with no notes.
- Fix warnings reported by gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 
- Fixed MSVC warning.
- Adjust VisibleToPlayerClass to accept multiple classes as well as work with inheritance.
- Backported VisibleToTeam and VisibleToPlayerClass from Skulltag with some modifications.
- Backported kgsws's weapon dropitem changes from Skulltag.
- Fix more errors found with static code analysis.
- Fix uninitialized string buffer in bot code.
- Fixed some more potential NULL pointer accesses.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1257 b0f79afe-0144-0410-b225-9a4edf0717df
2011-09-21 22:29:19 +00:00
Christoph Oelckers
16d097f2a6 Update to ZDoom r 3267:
- added dmflag for not counting monsters in 'end level' sectors.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1228 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-07 21:58:03 +00:00
Christoph Oelckers
36d6b3dd3b - restored the Subsector pointer in seg_t because dealing with glsegextras is just too annoying
- moved remaining global entry points of the GL renderer into render interface.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1227 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-07 21:36:19 +00:00
Christoph Oelckers
b1c05168da - fixed some leftover references to the software renderer
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1226 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-07 19:41:28 +00:00
Christoph Oelckers
4e74a881b6 - update to ZDoom r 3261:
Removed unneeded includes of r_local.h.
    Removed more r_ header dependencies from the rest of the code.
    took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
    Changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
    FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 18:59:20 +00:00
gez
5540b6fefc * Updated to ZDoom r3257:
- Removed some unnecessary r_ header #includes.
- Separated sprite and skin maintenance code from r_things.cpp into a separate file.
- Moved r_interpolate.cpp and r_translate.cpp to r_data.
- Merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.
- Rename src/resources to src/r_data.
- Fixed: p_sectors.cpp wouldn't compile.
- Moved side_t::GetLightLevel out of software rendering code.
- Moved render style and border drawing code out of r_draw.cpp.
- Moved all code not specific to the software renderer out of r_bsp.cpp.
* Adapted GL files to changes.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1222 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 15:39:10 +00:00
gez
05888b9577 * Updated to ZDoom r3249:
- Moved R_AlignFlat out of renderer into main game code (r_ to p_.)
- Moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
- Updated CMakeLists.txt for last commit.
- Separated all voxel related resource maintenance code from r_things.cpp and r_data.cpp into its own file.
* Adapted GL files to #include changes.
* Added back GL-needed fields to FVoxel, FVoxeldef and FCanvasTexture.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1221 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 12:47:47 +00:00
gez
cebc85342e * Updated to ZDoom r3245:
- Separated all colormap-related code from v_palette.cpp and r_data.cpp into its own file.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1220 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-04 19:06:12 +00:00
Christoph Oelckers
dbd6c3d6b5 - Update to ZDoom r3224:
Emulate the size limit of Doom's lightscale table by capping the value of vis passed to GETPALOOKUP. The end result is that there is a minimum distance around you where light amplification stops and it gets no brighter. Should this scale with visibility? I can't say. So, yeah, it turns out all these years ago, I made this out to be harder than it really is.
    Fixed: Light levels outside the range [0,255] really do matter.
    Added FDARI's latest actor pointer submission.
    Added kgsws's 3D floor textute rotation fix.
    Added DavidPH's damage type specific damage color submission.
    Added DavidPH's A_PainAttack extension submission.
    Fixed: Telefrag damage should not be affected by skill damage factors.
    Added A_GunFlash extension submission.
    Added DONTCORPSE submission.
    Added SEEINVISIBLE submission.
    Added submission for disabling some new and rather pointless GCC warnings.
    Fixed: Selecting TiMidity++ as a MIDI device without a working timidity.exe, then switching to a different MIDI device would leave music silent until a new song was started. (The discrepancy between mus_playing.handle and currSong is one which should probably be handled properly at some point.)
    Fixed: Typo in FClipRect::Intersect() could case bad clipping.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1216 b0f79afe-0144-0410-b225-9a4edf0717df
2011-06-12 09:08:10 +00:00
gez
84ef9ea80c * Updated to ZDoom r3198:
- Fixed: P_CheckPosition() should checks all lines contacted by the actor. Stopping once it finds one blocking line will prevent any further lines with specials from activating their specials.
- Add the wad a map is defined in to the output of listmaps.
- Fixed: DDrawFB::Lock() should only act on NeedResRecreate when going from LockCount 0 -> 1.
- Fixed: When DDrawFB::Lock() has to recreate resources, it left the LockCount at 0. This causes problems if something else locks it before it is unlocked, because the second locker will think it is the first. This happens in R_RenderViewToCanvas(). See DDrawFB::PaletteChanged() for the most common reason why Lock() would need to recreate resources.
- Fixed: DDrawFB::CreateSurfacesComplex() had debugging cruft left in that skipped all but the last attempts.
- Fixed logging of video debug info to a file to not multiply define dbg.
- Fixed: Building with NOASM defined no longer worked, because the DrawSlab routines in a.asm conflicted with the ones in r_draw.cpp.
- Colorize missing texture messages.
- Place a limit on the number of reports per missing texture. On maps with many lines and many sides of missing textures, this can take a very long time, because each missing textures causes a scan of every single line (for the sake of packed sidedefs), and each output line also requires an update of the hidden RichEdit logging control.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1212 b0f79afe-0144-0410-b225-9a4edf0717df
2011-05-09 07:31:04 +00:00
gez
dcf55d28a6 * Updated to ZDoom r3156:
- Fixed: The shareware -file check wasn't working anymore.
- Damn integer type confusion... :(
- GCC warning fixes (GCC stupidity for the most part.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1199 b0f79afe-0144-0410-b225-9a4edf0717df
2011-02-20 11:58:37 +00:00
gez
a461c0ba88 * Updated to ZDoom r3131:
- Add ~/.zdoom as a default path in [FileSearch.Directories] on Unix systems.
- Fixed: Fake floor's validcounts were not initialized.
- Fixed: When loading non-UDMF maps, things did not have their conversation field zero'ed.
- Added an assert for the FAKE3D_REFRESHCLIP case at the end of R_RenderMaskedSegRange(), because Valgrind indicates this is being run
  without ds->bkup being set to something valid. I do not immediately know how this should be fixed.
- Fixed: Actions in the saee menu need to do full range checks for the number of currently selected item.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1187 b0f79afe-0144-0410-b225-9a4edf0717df
2011-02-03 14:33:52 +00:00
gez
3764a7484d - Updated to ZDoom r3124 (software 3D floors).
- Adapted GZDoom code to changes.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1184 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-29 13:14:31 +00:00
gez
05763b39eb * Updated to ZDoom r3096:
- Removed obsolete references to 'generated' directory from Wadsrc project. 
- Fixed: The internal blockmap builder still used 16 bit WORDs to reference linedefs so it failed on USMF maps which exceed this value.
- Fixed: Hexen's chess ending should never use the cluster's endtext.
- Make the assembly span drawers compatible with newer NASM's default optimization level.
- Added Chris's second crashcatcher patch.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1161 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-09 16:52:22 +00:00
Christoph Oelckers
8414b8102d - GL changes for engine restart.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1131 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-15 23:16:24 +00:00
gez
d2cef2f3be * Updated to ZDoom r3042:
- Added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
- Fixed handling of missing backgrounds for intermission text screens for real this time.
- Added automap patch to mark trigger lines.
- Fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- Don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1129 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-15 16:32:37 +00:00
gez
e6750550a5 * Updated to ZDoom r3038 (IWAD selection dialog already fixed in previous commit):
- Added DavidPH's submission for specifying vertex heights directly in UDMF.
- Move static AM color initialization into the AM_StaticInit function.
- Move D_LoadWadSettings to keysections.cpp.
- Made some more data reloadable.
- Data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- Fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- Fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)
- Fixed: GCC compiler warnings.
- Zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.
- Changed some data init code to delete the data it wants to initialize first. 
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- Fixed: Starting a new game did not clear the hub statistics array.
- Cleaned up D_DoomMain a little. It's still far too large though.
- Added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- Added 'clearaliases' CCMD.
- Init bot specific actor properties right after parsing DECORATE, not when spawning the first bot (which is too late.)
- Changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- Initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.
- Cleaned up switch code and fixed several problems:
  * savegames stored an index in the switch table and performed no validation when loading a savegame.
  * setting of a random switch animation duration was broken.
  * separated the 2 values stored in the Time variable into 2 separate variables.
  * defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- Added function for serializing switch and door animation pointers.
- Bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1128 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-14 22:53:44 +00:00
gez
d0338ea7a0 * Updated to ZDoom r3029:
- Fixed: "Show IWAD selection dialog" was only shown on Windows.
- Moved animated door definitions into texture manager and split all associated code off p_doors.cpp
- Fixed GCC compilation.
- Moved switch definitions into texture manager and split all associated code off p_switches.cpp into its own file.
* Note: This is the last revision backward compatible with saves from the latest official version.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1127 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-14 21:32:41 +00:00
gez
d444a0a4b0 * Updated to ZDoom r3026:
- Moved texture counting code into FTextureManager.
- Moved all code and data for Build tile management into FTextureManager.
- Moved texture animation management into FTextureManager.
- Changed: Animate textures only once per frame, not per view. Otherwise with animations that have sub-frame accuracy camera textures of the same area can show different animation frames if the frame changes falls between the rendering of the different views.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1126 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-11 19:47:05 +00:00
Christoph Oelckers
a9e96a6315 - fixed: The floorplane's alpha was not initialized.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1079 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-08 20:22:18 +00:00
gez
e0becf97db * Updated to ZDoom r2992:
- Add alpha property to sector_t::splane. Not used yet.
- Add an alpha parameter to R_FindPlane.
- Fixed: R_FindPlane must do a full visplane comparison for stacked sectors with a non-0 alpha for the sector plane.
- Made the alpha used by stacked sectors part of the visplane. This will be needed to fix the merging of stacks with the same displacement but different alpha values.
- Replaced all calls to sqrtf with sqrt. Also changed P_RadiusAttack to use doubles for all floating point calculations.
- Fixed: When playing non-looping songs GMESong::Read could return without releasing the critical section.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1074 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-07 17:18:15 +00:00
gez
721da445c3 - Adapted FraggleScript and dDamageEnd code to use ClearCounters() function.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@982 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-19 09:17:37 +00:00
Christoph Oelckers
a2b6d9c276 - fixed P_LoopSideDefs could crash on the second P_LoopSidedefs call if there were unconnected linedefs in the map.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@943 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-08 08:53:54 +00:00
gez
adb28b67b1 * Band-aid fixes:
- Fixed crash on startup in music_midi_out.cpp by preventing division by Tempo if Tempo is zero.
- Fixed crash on startup in gl_vertexbuffer.cpp when trying to access the sectors array though it was NULL. (It shouldn't even happen given numsectors is zero so the for iteration shouldn't even start, but it happened anyway for some mysterious reason.)
* Updated to ZDoom r2677:
- Cleaned up the ugly MIDI song creating code a little.
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp is no longer used but is kept around as a reference.
- Fixed: When the game nodes were the same as the render nodes, their pointers would not be NULLed.
- Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the same implementation.
- Added a player for HMI midi files.
- Set 'setslopeoverflow' compatibility flag for all maps in Massmouth2.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@932 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-03 08:11:47 +00:00
Christoph Oelckers
9b022ff54e - fixed: The partner segs need to be initialized before spawning the actors so doing it in gl_PreprocessLevel is too late.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@927 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-31 21:17:34 +00:00
gez
d43f8a936f * Updated to ZDoom r2629:
- Fixed: The automap was too aggressive about hiding markers.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@922 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-29 09:51:24 +00:00
Christoph Oelckers
179674ebb0 - added subsector processing for textured automap.
- optimzed rendering code a little.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@911 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-27 21:25:13 +00:00
Christoph Oelckers
af753ebe37 - Update to ZDoom r2613
* addition of textured automap. (not active for GL renderer yet!)



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@909 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-27 17:42:01 +00:00
Christoph Oelckers
9b3e28d936 - always call P_LoopSidedefs before initializing polyobjects.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@900 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-20 19:42:21 +00:00
Christoph Oelckers
4c933e66f5 - fixed: Conditions for deciding ehether to rebuild the sidedef loop info before initializing polyobjects was wrong.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@896 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-18 20:59:03 +00:00
gez
18ae99a67a * P_LoopSidedefs() needed another fix as it shouldn't try to report errors found on the second loop.
* Updated to ZDoom r2543:
- Added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@894 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-15 13:10:53 +00:00
gez
bd45d338fc * Updated to ZDoom r2542:
- Fixed: The center flag for drawimage didn't work.
- Fixed: GCC didn't like casting from seg_t* to unsigned int on 64-bit systems.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@893 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-15 08:23:24 +00:00
gez
35e395f5f4 - Fixed: P_LoopSidedefs() needs to clean out sidetemp[] because when it's called a second time, the maximum of the number of vertices and that of sides may have increased compared to when P_AllocateSideDefs() created the array, which led to access violations.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@892 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-14 19:39:35 +00:00
gez
9ad088f62d * Updated to ZDoom r2532:
- Added PinkSilver's ACS Checksight submission.
- Added TheShooter7/Aroenai's patch for switch on pickup menu option.
- Added TheShooter7's patch for NOPITCH flags for hitscan attacks.
- Enable backpatching on non-Windows machines.
- Maybe enable assembly on Intel Macs?
- Make the Cocoa IWAD picker behave like the others: Double-clicking an entry starts it, as does pressing Return, and pressing Escape is equivalent to the Cancel button.
- Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
- Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting working now.
- Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
- Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@886 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-13 11:41:17 +00:00