MajorCooke
88f96950b5
Projectiles should set their z to floor, not add it.
2016-01-22 11:47:41 -06:00
Christoph Oelckers
da6fe6cad6
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-22 18:24:36 +01:00
Christoph Oelckers
f4f7bd5d34
- fixed a double/fixed_t mixup in P_SeekerMissile
2016-01-22 18:24:15 +01:00
coelckers
8a9df31db9
Merge pull request #501 from Edward850/MF5_NOINTERACTION-velz-fix
...
Fixed cmf_aimdirection doubling up the spawn Z
2016-01-22 12:32:08 +01:00
Christoph Oelckers
01aaef1528
- fixed: The P_DamageMobj call for damaging sectors should be skipped completely if godmode is on, so that instant damage sectors don't kill an invulnerable player.
2016-01-22 12:16:17 +01:00
Edward Richardson
2034f4e49f
Fixed cmf_aimdirection doubling up the spawn Z
2016-01-22 23:06:09 +13:00
Edward Richardson
2dff9a743c
Fixed Z-Velocity movement for MF5_NOINTERACTION
2016-01-22 22:26:21 +13:00
MajorCooke
823edc4a69
- Cleaned up leftovers.
2016-01-21 21:23:43 -06:00
MajorCooke
b51bbf66b0
- Fixed pointer setting not working due to requiring more than the SET* flags.
...
- Changed search algorithm to be square and utilize fixed_t instead.
2016-01-21 21:15:50 -06:00
MajorCooke
793fc90716
Once more homogenized!
...
- DECORATE: color, flags, lifetime, size, angle, xyz offset/vel/accel, startalpha, fadestep.
- ACS: Similar, minus the angle parameter.
2016-01-21 19:59:33 -06:00
MajorCooke
28502b9a80
- Reorganized A_SpawnParticle parameters.
...
- Decorate order is now color, x/y/zoff, velx/y/z, lifetime, angle, flags, size, startalphaf, fadestepf, accelx/y/z.
- ACS order is now color, xyz offset, xyz velocity, lifetime, fullbright, size, startalpha, fadestep, xyz accel
2016-01-21 18:34:39 -06:00
Christoph Oelckers
841c7b275e
Merge branch 'ParticleFlags' of https://github.com/MajorCooke/zdoom
...
Conflicts:
wadsrc/static/actors/actor.txt
2016-01-22 00:58:42 +01:00
Christoph Oelckers
3b4ed8d7cd
- made A_SpawnParticle's fadestep parameter a fixed point value as well.
2016-01-22 00:54:09 +01:00
MajorCooke
13dc6be5a1
- Added flags for A_SpawnParticle and angle parameter.
...
- SPF_FULLBRIGHT makes the particle full bright.
- SPF_RELATIVE encapsulates the following flags:
- SPF_RELPOS: Position is relative to angle.
- SPF_RELVEL: Velocity is relative to angle.
- SPF_RELACCEL: Acceleration is relative to angle.
- SPF_RELANG: Add caller's angle to angle parameter for relativity.
2016-01-21 16:36:58 -06:00
Christoph Oelckers
39014b1732
- make the startalpha parameter of A_SpawnParticle a float to be consistent with other functions that want an alpha value.
2016-01-21 20:13:55 +01:00
Randy Heit
9744b9e0d9
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/dobject.h
src/dobjgc.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-21 12:45:06 -06:00
MajorCooke
9638cbb844
Updated A_CheckProximity Expansion Pruned Edition.
2016-01-21 11:39:13 -06:00
Christoph Oelckers
995721836b
Merge branch 'SpawnParticle' of https://github.com/Edward850/zdoom
...
Conflicts:
src/actor.h
2016-01-21 17:04:52 +01:00
alexey.lysiuk
f10dd68ca6
Fixed actors intersection check
2016-01-21 16:21:09 +02:00
coelckers
65662a9cfa
Merge pull request #493 from alexey-lysiuk/dialog_fixes
...
Fixes for Strife dialog
2016-01-21 14:57:21 +01:00
Christoph Oelckers
68fcbc0c92
- fixed: loading sector damage information from an old savegame could retrieve invalid data due to an uninitialized variable.
2016-01-21 14:54:14 +01:00
alexey.lysiuk
598bccbe93
Added warning when next dialog page is incorrect
2016-01-21 15:53:58 +02:00
alexey.lysiuk
673ac1295c
Fixed broken 'closedialog' property in Strife dialogs
...
See http://forum.zdoom.org/viewtopic.php?t=50524
2016-01-21 15:53:35 +02:00
Christoph Oelckers
5421213711
- typo in interpolation stuff.
2016-01-21 12:37:26 +01:00
Christoph Oelckers
cf2ee1eb3f
- fixed: Interpolations were deleted too early.
...
They were immediately deleted when the associated thinker was destroyed. But this was too early because it missed the final tic of movement, resulting in a visible jump when a moving platform with a player on it came to a halt.
Changed it so that DelRef no longer destroys the interpolation itself. Instead the ::Interpolate method will check if the reference count is 0, and if so and there was no more movement, will then destroy the interpolation.
This ensures that it keeps running until it has interpolated all remaining bits of movement induced by the thinker.
Now moving up a lift is 100% smooth, even with movement interpolation on.
2016-01-21 11:58:44 +01:00
Christoph Oelckers
d347415aee
- fixed some garbage collection issues with interpolations:
...
* FInterpolator depended on external references to prevent its content from getting GC'd.
* none of the pointers in the interpolation objects were declared to the GC.
The result of these issues was that changing anything about the life cycle of interpolation objects caused corrupted memory crashes when a level was changed.
2016-01-21 11:36:37 +01:00
Christoph Oelckers
e4982b1ced
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-21 10:24:03 +01:00
Christoph Oelckers
03d7418f51
- fixed: Since sector movement is done after P_PlayerThink is called, any player position change induced by this is not factored into player_t::viewz and needs to be added explicitly.
...
This fixes the infamous 'view squats down a bit when riding up an elevator' effect. It is also there in the other cases but far less pronounced.
2016-01-21 10:23:20 +01:00
coelckers
8b4194a3e0
Merge pull request #491 from MajorCooke/TF_SensitiveZ2
...
A_Teleport TF_SensitiveZ
2016-01-21 09:10:33 +01:00
MajorCooke
09733d8083
- Don't set both self and pointer's z to spotz when teleporting.
2016-01-20 18:50:30 -06:00
Randy Heit
710fa55288
Port recent SMF changes to XMI and HMI:
...
- Handle SysEx messages instead of ignoring them.
- Don't lose time for unhandled events with delays.
2016-01-20 18:37:05 -06:00
Randy Heit
7f6b421e87
Make sure all unhandled delayed MIDI events generate NOPs
...
- Looking over the code again, I see that discarded SysEx messages can
cause the same issue as unhandled meta events, so generalize the
returning of a NOP for everything.
2016-01-20 18:27:04 -06:00
MajorCooke
93aff2413f
Fixed an issue which caused A_Teleport to set the caller and itself to SpotZ's z position.
2016-01-20 18:18:00 -06:00
MajorCooke
116e157447
Nevermind this.
2016-01-20 15:52:56 -06:00
MajorCooke
d20a7516c9
Updated A_FaceVelocity to remove conflicts.
2016-01-20 15:51:11 -06:00
Edward Richardson
e5c67cee83
Merge branch conflicts fix
...
- CONFLICT (content): Merge conflict in src/p_acs.cpp
- Updated position variables
2016-01-21 10:49:57 +13:00
Randy Heit
1a356dfa51
Fixed: MIDI meta events were completely discarded, including their delays
...
(unless the event was for setting the tempo) This left the following
events in the track to happen at the wrong time.
2016-01-20 14:53:56 -06:00
Christoph Oelckers
98a9d7210a
- fixed the definitions for script access to AActor::x, y, z.
...
(Note: These should be made read only when real scripting becomes available!)
2016-01-20 15:19:35 +01:00
Christoph Oelckers
c78344c19d
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_user.cpp
src/thingdef/thingdef_expression.cpp
2016-01-20 15:16:06 +01:00
Christoph Oelckers
68c0f929dc
- refactoring complete. The source compiles again with the renamed position variable.
2016-01-20 15:12:51 +01:00
Christoph Oelckers
13e25faea7
- p_sight.cpp, p_spec.cpp and p_switch.cpp refactored.
2016-01-20 14:20:14 +01:00
Christoph Oelckers
4d8070927d
- p_maputl.cpp done.
2016-01-20 14:04:47 +01:00
Christoph Oelckers
25107ed421
- since I had to shuffle around the first variables in AActor, let's better commit that change.
2016-01-20 13:49:52 +01:00
Christoph Oelckers
35271187a5
- took care of the rest of p_map.cpp.
2016-01-20 13:48:05 +01:00
Christoph Oelckers
4b9647e539
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_hexenspecialdecs.cpp
src/g_strife/a_thingstoblowup.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
83cbf6cae5
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
src/g_hexen/a_wraith.cpp
2016-01-20 11:41:27 +01:00
Christoph Oelckers
500bc2b852
- fixed two refactoring errors:
...
* A_BridgeOrbit had its radius as an int, not a fixed_t.
* PIT_CheckThing used the wrong coordinate for checking actor distance.
2016-01-20 11:39:41 +01:00
Christoph Oelckers
e9b23cf833
- keep evaluation order of Random() calls defined.
2016-01-20 09:25:30 +01:00
Edward Richardson
5c8ebf487d
Fixed load order for saves
...
- Make sure the PRNG tables are restored after the base level is loaded,
otherwise the tables will restore in a modified state.
2016-01-20 19:14:43 +13:00
Christoph Oelckers
7ea3e49332
- refactored p_mobj.cpp and the first half of p_map.cpp.
2016-01-20 01:48:57 +01:00
Randy Heit
9b9008ecc7
Restore original offset range for WraithFX5 spawn
2016-01-19 18:00:46 -06:00
Christoph Oelckers
b73e1e65f5
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-19 20:17:34 +01:00
Christoph Oelckers
7658111566
- refactoriung of thingdef_codeptr.cpp - probably the ugliest file in the entire project...
2016-01-19 20:15:45 +01:00
Christoph Oelckers
97620b0645
- fixed some leftover unused variable warnings.
...
- match the variable names in thingdef_codeptr.cpp to the ones in the scripting branch to reduce the amount of merge conflicts in upcoming changes.
2016-01-19 16:09:44 +01:00
Chris
119c2f36b2
- Fixed an incorrect memset parameter in wi_stuff.cpp.
...
- Removed some whitespace from wi_stuff.h.
2016-01-19 13:20:32 +00:00
Christoph Oelckers
1faf68794b
- fixed the merge.
2016-01-19 13:59:53 +01:00
Christoph Oelckers
bc63b70d88
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/fragglescript/t_func.cpp
src/g_doom/a_bossbrain.cpp
src/g_doom/a_revenant.cpp
src/g_heretic/a_hereticartifacts.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_knight.cpp
src/g_hexen/a_bishop.cpp
src/g_hexen/a_clericholy.cpp
src/g_hexen/a_dragon.cpp
src/g_hexen/a_firedemon.cpp
src/g_hexen/a_flechette.cpp
src/g_hexen/a_heresiarch.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/g_hexen/a_iceguy.cpp
src/g_hexen/a_korax.cpp
src/g_hexen/a_magelightning.cpp
src/g_hexen/a_serpent.cpp
src/g_hexen/a_spike.cpp
src/g_hexen/a_wraith.cpp
src/g_raven/a_minotaur.cpp
src/g_shared/a_bridge.cpp
src/g_shared/a_pickups.cpp
src/g_shared/a_randomspawner.cpp
src/g_strife/a_alienspectres.cpp
src/g_strife/a_crusader.cpp
src/g_strife/a_entityboss.cpp
src/g_strife/a_inquisitor.cpp
src/g_strife/a_loremaster.cpp
src/g_strife/a_programmer.cpp
src/g_strife/a_sentinel.cpp
src/g_strife/a_spectral.cpp
src/g_strife/a_strifestuff.cpp
src/g_strife/a_strifeweapons.cpp
src/g_strife/a_thingstoblowup.cpp
src/p_local.h
src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
27aeb6a656
- g_shared refactored
2016-01-19 13:26:05 +01:00
Christoph Oelckers
9f78bcd1e6
- Strife game code refactored for coordinates.
2016-01-19 11:50:07 +01:00
Christoph Oelckers
c02d922014
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-19 01:11:13 +01:00
Christoph Oelckers
2326928ff7
- the last bits of Hexen refactored
...
This also fixes a problem with some of Hexen's Wraith's effects which did some repositioning without properly linking them into the blockmap.
2016-01-19 01:10:57 +01:00
coelckers
5c7f72278b
Merge pull request #483 from kevans91/ndebug-fixes
...
*BinPack fixes -- disjointRects only defined #ifdef _DEBUG
2016-01-18 22:39:40 +01:00
Christoph Oelckers
ef7be016c4
- all those 'actor->SetZ(actor->Z() +...) calls weren't pretty so now there's an AddZ method, too.
2016-01-18 22:32:36 +01:00
Christoph Oelckers
c8052ce1b8
- 4 more Hexen files processed.
2016-01-18 22:26:02 +01:00
Christoph Oelckers
61b66904da
- more Heretic and Hexen refactoring.
2016-01-18 22:11:18 +01:00
Braden Obrzut
d94aaf1fcf
- Fixed: Undefined negative double to unsigned int conversion in FNodeBuilder::PointToAngle.
2016-01-18 16:03:37 -05:00
Kyle Evans
7358817975
*BinPack fixes -- disjointRects only defined #ifdef _DEBUG
2016-01-18 14:45:23 -06:00
Christoph Oelckers
ca5ac72364
- added missing FIXED2DBL call in A_Face.
2016-01-18 21:17:11 +01:00
Christoph Oelckers
c1b44a5694
- let's make some use of AActor::Pos and get rid of some of those X() and Y() calls...
...
- restore proper actor.h file.
2016-01-18 21:01:52 +01:00
Christoph Oelckers
460751653d
- refactored most of Heretic's game code.
2016-01-18 20:13:20 +01:00
Christoph Oelckers
57ab1387f2
- yet more refactoring.
...
Note about A_SkelMissile: The direct change of the missile's position was changed to use SetOrigin. If this is later supposed to be portal-aware, such direct coordinate changes are a no-go to ensure that everything is properly maintained.
2016-01-18 18:52:24 +01:00
Christoph Oelckers
2b5e5b6bc3
- next round of refactoring.
...
This contains some advance work for handling line-to-line portals in A_PainShootSkull.
This function is special because it performs a map check itself instead of using one of the common functions from p_map.cpp, like most of the rest of the game code.
2016-01-18 16:49:24 +01:00
Braden Obrzut
b6cdcddf30
- Fixed: Static mirrors in hexen format maps were broken.
2016-01-18 10:30:56 -05:00
Braden Obrzut
f3f77a1ba0
Merge branch 'master' into portals2_visual
2016-01-18 09:45:42 -05:00
Christoph Oelckers
b63eb391f7
- refactored two mire files.
...
- fixed: FraggleScript's SetObjPosition function did not properly set the moved actor's properties. Better use SetOrigin for changing the position.
2016-01-18 12:37:39 +01:00
Christoph Oelckers
e8ee8c5c97
- fixed: secspecial_t was left uninitialized, causing its damage type being an invalid name.
2016-01-18 01:21:20 +01:00
Christoph Oelckers
43314f0c0d
- started refactoring p_map.cpp
...
- added AActor::Top function to replace the frequent occurences of actor->z + actor->height.
2016-01-18 00:59:16 +01:00
Christoph Oelckers
b735138332
- forgot the changes to actor.h.
2016-01-17 22:56:16 +01:00
Christoph Oelckers
a65ff39872
- more coordinate refactoring in p_enemy.cpp.
2016-01-17 22:13:17 +01:00
Christoph Oelckers
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc
Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
...
Conflicts:
src/p_pspr.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
fbaab5044d
Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
...
Conflicts:
src/d_dehacked.cpp
src/decallib.cpp
src/g_hexen/a_clericstaff.cpp
src/p_interaction.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0
Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
...
Conflicts:
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
be91771abc
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-17 18:36:50 +01:00
Christoph Oelckers
c611456397
- more refactoring of AActor coordinate access.
2016-01-17 18:36:14 +01:00
coelckers
2702e68d83
Merge pull request #480 from alexey-lysiuk/fix_legacy_osx
...
Fixes for legacy versions of OS X
2016-01-17 17:12:59 +01:00
Christoph Oelckers
5b610390e1
- some more inline functions.
2016-01-17 16:49:15 +01:00
Christoph Oelckers
87689d3ba6
- global search&replace of ZatPoint calls with commonly named actor variables.
2016-01-17 14:08:20 +01:00
Christoph Oelckers
4ec1459ac0
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-17 13:51:15 +01:00
Christoph Oelckers
3e446ea04d
- replaced access to AActor's coordinate members with access functions
...
(first 200 compile errors down...)
2016-01-17 13:48:16 +01:00
alexey.lysiuk
552c440afa
Fixed another issue with Hexen Mac
...
Hopefully there will be no more bugs with Hexen Mac IWADs (demo or full) as all extra lumps are now discarded
2016-01-17 13:29:44 +02:00
Christoph Oelckers
bf5ee5e542
- added X(), Y(), Z() access functions to AActor.
...
This commit is just preparation for upcoming changes to completely encapsulate the coordinate info in AActor because I'm going to have to work with an altered version of actor.h that cannot be committed without breaking the engine.
With this file present in the repo before work is started the changes can be committed piece by piece.
2016-01-17 12:23:49 +01:00
alexey.lysiuk
24501dbc93
Fixed copy to pasteboard on legacy OS X
...
Copy/paste is now implemented using the method available on all supported versions
This fixes 'unrecognized selector' exception on OS X 10.4 and 10.5
2016-01-17 11:58:44 +02:00
alexey.lysiuk
bfc116b2a4
Fixed exit crash on legacy OS X
...
There is no need to close (and thus deallocate) console window explicitly
This will be done by autorelease pool in application controller event loop
OS X with GC and/or ARC was not affected by this issue
Older versions like 10.4 or 10.5 crashed because of double deallocation
2016-01-17 11:51:46 +02:00
MajorCooke
421dcacb94
Added NULL check to lines.
2016-01-16 16:36:42 -06:00
MajorCooke
e4a74e91fc
- Puffs should not spawn on floors or ceilings with sky flats without the SKYEXPLODE flag.
...
- Added line horizon check for puffs as well.
2016-01-16 16:33:19 -06:00
Christoph Oelckers
e6b6fd799d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-16 16:31:20 +01:00
Christoph Oelckers
0e645ad173
- added a 'non-modify' mode to P_TeleportMove and let A_Respawn use that, rather than letting P_TeleportMove muck around with the actor properties and then have A_Respawn only partially and haphazardly restoring them afterward.
2016-01-16 16:30:53 +01:00
alexey.lysiuk
afed5e62eb
Fixed intercept check in FPathTraverse
...
Because frac variable has fixed_t type it must be compared with fixed one
Test case: try to break stained glass windows or open door at the beginning of Hexen's MAP01
2016-01-16 13:22:27 +02:00
Christoph Oelckers
c3491de466
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-16 09:06:10 +01:00
Christoph Oelckers
5a8062abba
- fixed copy/paste error in secmovefac. (It returned friction instead of movefactor...)
2016-01-16 09:05:46 +01:00
Braden Obrzut
8f31af3ff9
- Work around issue with tree-loop-vectorize in p_acs.cpp.
2016-01-16 00:51:17 -05:00
Christoph Oelckers
f9ae304596
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-15 18:36:49 +01:00
alexey.lysiuk
a8e5b90667
Fixed stuck Strife dialogs
...
See http://forum.zdoom.org/viewtopic.php?t=50451 and http://forum.zdoom.org/viewtopic.php?t=48470
2016-01-15 18:32:49 +02:00
Christoph Oelckers
90e2dc5f5a
- some minor optimizations to FPathTraverse:
...
* since we can trivially decide whether a line crosses the trace behind the end point from checking the return value of P_InterceptVector, there is no need to add those to the list of intercepts as they get discarded anyway in t
* maxfrac is always FRACUNIT so there's no need to waste some variable for a constant value.
2016-01-15 16:40:50 +01:00
Christoph Oelckers
ef8dc22f7d
- looks I missed one file when I member-fied P_AproxDistance and R_PointToAngle2 calls.
2016-01-15 15:36:21 +01:00
coelckers
b38d5b6fb9
Merge pull request #475 from MajorCooke/AlwaysPuffFix
...
Rail Puff Support for Floors and Ceilings
2016-01-15 13:36:51 +01:00
Christoph Oelckers
48232f548d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-15 12:56:56 +01:00
Christoph Oelckers
867b7767ef
- ignore COMPAT_POINTONSIDE in a few places where the side effects of the old P_PointOn*Side functions are either not needed or problematic:
...
* the sight checking code needs to be as precise as possible and should not depend on some old semi-broken routines. (This is more a precision issue of these routines - P_PointOnDivlineSide removes the lower 8 bits of each value - than having an issue with returning the wrong side in some cases.)
* for slope creations it is flat out wrong to use the old routines at all.
* also ignore this in the modern (box-shaped) case of FPathTraverse::AddLineIntercepts. This functionality is new to ZDoom and therefore not subject to compatibility concerns.
* the line-to-line teleporter. It seems the hideous fudging code was just there to work around the design issues of these functions, so let's better not ever call them here in the first place.
* A_PainShootSkull: Its usage here does not depend on these issues.
* P_ExplodeMissile: New code exclusive to ZDoom.
* FPolyObj::CheckMobjBlocking
All occurences in p_map.cpp have been left alone although most of them probably won't need the compatibility option either.
2016-01-15 12:56:27 +01:00
Randy Heit
16781e47ae
Use a 64k stream buffer for all streams, not just net streams
...
- FLACs need a larger buffer than the default to run without starving on
later versions of FMOD.
2016-01-14 20:41:09 -06:00
MajorCooke
dd9e7560c4
Added support for puffs to spawn on floors and ceilings if ALWAYSPUFF is used.
2016-01-14 11:21:08 -06:00
coelckers
722ef02719
Merge pull request #473 from MajorCooke/FadeFix
...
Fade fix
2016-01-14 09:16:39 +01:00
Braden Obrzut
6a87c6cd19
- Fixed usage of uninitialized value in skybox rendering.
2016-01-14 00:49:57 -05:00
MajorCooke
629eaa35a3
- Fixed: A_Fade* could destroy live player bodies because it was calling the Destroy() function directly instead of going through P_RemoveThing.
2016-01-13 20:26:15 -06:00
Randy Heit
f9574a98fd
Fix Timidity's DLS instrument loading:
...
- Envelope data needed to be converted to SF2 values.
- Fine tuning was ignored which made pretty much every instrument off tune.
- Despite this, it still sounds like shit compared to FMOD or Microsoft's
wavetable synth. There are lots of missing notes and some instruments
are still off tune. I'm not sure it's worth trying to salvage it. It'd
probably be better to scrap it, since Timidity is very much oriented
toward GF1 patches, which it handles perfectly fine.
2016-01-13 17:25:24 -06:00
Christoph Oelckers
d234a6af5d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-12 21:35:18 +01:00
Christoph Oelckers
37f18055af
- turned sector_t::FloorSkyBox and CeilingSkyBox into an array.
...
- removed unused SpreadCeilingPortal function.
2016-01-12 21:34:41 +01:00
Randy Heit
dc66f4cb3f
Make _WM_AdjustNoteVolume's pan_ofs a signed int
2016-01-12 06:35:05 -06:00
Edoardo Prezioso
b87c612aba
- Fixed Clang warning on wildMIDI code.
...
Now that '_event_data.data' is changed to 'unsigned int', the 'unsigned long' cast is not needed anymore.
2016-01-12 11:12:19 +01:00
rheit
8408aec347
Merge pull request #456 from alexey-lysiuk/lzma_1514
...
Updated LZMA SDK to version 15.14
2016-01-11 20:53:51 -06:00
Randy Heit
141cd660eb
Didn't need note_off_decay in the WildMidi sample struct
2016-01-11 20:07:14 -06:00
Randy Heit
27bf86e1eb
Fix(?) dBm_pan_volume table
...
- The missing comma on the first line of dBm_pan_volume's definition
looked suspicious, so I checked the MIDI specification at
http://www.midi.org/techspecs/rp36.php and found the equations
there gave different dB values than were in the table. So I
rebuilt it using the equation given there:
20*log (sin (Pi /2* max(0,CC#10 – 1)/126))
2016-01-11 20:06:07 -06:00
Randy Heit
268d2faaf6
Import volume handling changes from current WildMidi git
...
- Description there reads:
> Major work done on “log” volumes. Calculations are now based on decibels.
2016-01-11 20:06:07 -06:00
Randy Heit
5b4a6483b5
Remove get_decay_samples. Not needed.
2016-01-11 20:06:06 -06:00
Randy Heit
7f01a6a30a
Import envelope tweaks for current WildMidi git
2016-01-11 20:06:06 -06:00
Randy Heit
50ecec199f
More stuff we don't need in WildMidi removed
2016-01-11 20:06:05 -06:00
Randy Heit
88beae55bd
Add separate NRPN coarse/fine adjustment for WildMidi
2016-01-11 20:06:05 -06:00
Randy Heit
7f44bc6d0e
Add Yamaha and GM reset sysex handling to WildMidi
2016-01-11 20:06:05 -06:00
Randy Heit
a74d352490
Update gus_pat.cpp's envelope fudging to current git version
2016-01-11 20:06:04 -06:00
Braden Obrzut
0c3b468e42
Merge branch 'osx_start_wnd'
2016-01-11 20:47:06 -05:00
Randy Heit
56f7ace9be
include <limits.h> in the bin packers to make GCC happy
2016-01-11 17:01:29 -06:00
Christoph Oelckers
61e48013dc
- fixed a warning in WildMidi code.
2016-01-11 23:46:12 +01:00
Christoph Oelckers
cd9e18a72b
- fixed: operator<< (FArchive &arc, secspecial_t &p) erroneously read the old special in the compatibility handler as a short, but it must be read as an int.
...
- bumped savegame version to bring it in line with a GZDoom exclusive change.
2016-01-11 23:44:13 +01:00
MajorCooke
7843ece01a
Fixed: Friendly fire damage didn't take LAXTELEFRAGDMG into account.
2016-01-11 15:08:38 -06:00
Christoph Oelckers
011385a20e
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-11 15:30:04 +01:00
Christoph Oelckers
7115590c1d
- moved setup code for Eternity-style skyboxes to p_spec.cpp and consolidated most of it with nearly identical parts of the stacked sector portal setup code.
2016-01-11 15:29:44 +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
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
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
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
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
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
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
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
Randy Heit
efaaccc030
Added $ check for language support for drawing Option Values
2016-01-07 12:59:16 -06:00
Randy Heit
cd4076dc1b
Added $ check for language support for StaticTextSwitchable
2016-01-07 12:59:16 -06:00
Christoph Oelckers
eafa394af4
- re-added and fixed terrain splashes for damaging sectors.
...
Turned out that P_HitWater wasn't even able to spawn the splashes, even after the call was re-added.
2016-01-06 16:42:21 +01:00
Christoph Oelckers
f8b2b4558f
- fixed a few typos (Get instead of Set...)
2016-01-06 15:47:56 +01:00
Christoph Oelckers
154e106315
- make better use of the damageinterval value for Strife's delayed damage.
2016-01-06 14:16:42 +01:00
Christoph Oelckers
990323fb26
Merge branch 'fix_intermission_font' of https://github.com/alexey-lysiuk/gzdoom
2016-01-06 13:37:23 +01:00
Christoph Oelckers
6afd76e5db
- enable damage types for Strife's delayed damage. It will always use the type of damage that was last encountered.
2016-01-06 13:36:22 +01:00
Christoph Oelckers
eb6c855a95
- handle intermediate special values in thinkers. They also need to take care of the related damage variables and flags.
2016-01-06 13:30:28 +01:00
Christoph Oelckers
bd8513c063
- made sector_t::damageamount an int so that it can hold TELEFRAG_DAMAGE.
...
- marked all places where sector_t::special needs to be addressed for the damage overhaul.
NOTE: This commit will not compile!
2016-01-06 12:56:35 +01:00
Christoph Oelckers
1ee441412a
- add savegame compatibility handling for damage related changes: When loading an old savegame the sector specials must be reinitialized to set the damage properties.
2016-01-06 12:31:27 +01:00
alexey.lysiuk
73f4e013f1
Font kerning is no longer ignored in intermission screen
...
See http://forum.zdoom.org/viewtopic.php?t=50304
2016-01-06 13:26:05 +02:00
Christoph Oelckers
5474e01de8
- removed FraggleScript's 'sectortype' function. This was GZDoom exclusive and never documented so it got no public exposure. Since this is incompatible with the damage related changes, it has no more use.
...
- major overhaul of the static sector damage system:
* consolidated special based damage, Sector_SetDamage and UDMF properties into one set of damage properties. The parallel handling that could lead to double damage infliction was removed. This also means that damage through sector specials can be retroactively changed through Sector_SetDamage.
* all special cases were turned into flags. The new system can switch between Strife's delayed damage and regular damage, and it can also set whether terrain splashes are used or not. It also has access to the special properties of the end-level type (i.e. switching off god mode and ending the level.)
* the damage related flags are accessible through Sector_ChangeFlags, not the damage functions themselves.
2016-01-06 12:12:47 +01:00
Christoph Oelckers
b0db5d9b16
- added a SECF_SILENTMOVE flag.
...
Since Eternity got this it's a good candidate for a potential Super-Boom standard, and it's also useful for silencing a sector temporarily without removing the sound sequence.
2016-01-06 02:16:33 +01:00
Christoph Oelckers
d34077a3ba
- ... and finally the push flag.
2016-01-06 02:05:39 +01:00
Christoph Oelckers
3ffcec3eb3
- moved friction flag from special to Flags as well.
2016-01-06 02:01:59 +01:00
Christoph Oelckers
6a63effa1f
- fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
...
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.
This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
2016-01-06 01:50:45 +01:00
Christoph Oelckers
1c6a00059f
- fixed: MAPINFO option fs_nocheckposition parsed the '=' twice.
2016-01-05 20:41:59 +01:00
Christoph Oelckers
46b5900a0d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-05 17:06:24 +01:00
Christoph Oelckers
d0c372692b
- added new ACS function SetSectorDamage which allows the use of actual damage types, unlike the old Sector_SetDamage. Unlike Sector_SetDamage this function does not use damage amount dependent defaults for the interval and the leakiness if none are passed.
2016-01-05 16:29:04 +01:00
Christoph Oelckers
2b519a92b1
- allow setting the sector's damage properties through UDMF.
2016-01-05 16:19:55 +01:00
Christoph Oelckers
3e13e772ef
- after realizing that changing the sector's MOD variable to an FNameNoInit doesn't do anything bad, I just went ahead and got rid of the last place in the engine that still used this data type for internal storage.
2016-01-05 16:10:04 +01:00
Christoph Oelckers
5d388f8e63
Merge branch 'master' of https://github.com/rheit/zdoom into zmaster
2016-01-05 15:41:19 +01:00
Christoph Oelckers
d432df55e9
- changed Sector_SetDamage so that it can explicitly set the damage interval and the leakiness probability, instead of hardcoding it to fixed damage ranges.
...
- fixed: FCajunMaster::IsDangerous did not check for Heretic's sludge type.
2016-01-05 15:39:21 +01:00
Christoph Oelckers
8ded18a96c
- changed default frequency for Timidity++ to 44100kHz.
2016-01-05 14:09:34 +01:00
Christoph Oelckers
b2f860d7ae
- better add a NULL pointer check here.
2016-01-05 11:07:59 +01:00
Benjamin Moir
c9afb199ca
Added "pufftid" parameter for LineAttack.
2016-01-05 13:58:00 +10:00
Braden Obrzut
a1e0ac0b71
Merge branch 'osx_start_wnd' of git://github.com/alexey-lysiuk/gzdoom into osx_start_wnd
2016-01-04 22:11:46 -05:00
Christoph Oelckers
111479063f
- fixed a potential overflow issue with calculating a portal's origin point.
...
- fixed: Sector_SetPortal's Eternity translation was not correct.
The ZDoom variant allows specifying the plane as part of the portal, Eternity does not. Added a new 'plane' type 3 which just means 'any'.
2016-01-04 21:05:09 +01:00
Christoph Oelckers
824801ae6b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-04 11:52:29 +01:00
Christoph Oelckers
bd95c5eadf
- fixed: the ambient sound things need both the args from the DoomEdNum mapping and the actual map.
2016-01-04 11:52:07 +01:00
alexey.lysiuk
02ff3291bd
Fixed division by zero in RNG
...
Random number generator now returns zero for range [0, 0)
2016-01-04 12:16:09 +02:00
alexey.lysiuk
699f274b06
Fixed mouse cursor centering in fullscreen mode
...
Native OS X backed didn't center mouse cursor in fullscreen mode with Retina/HiDPI support enabled
Incorrect size of content view led to placement of cursor in upper right corner of the screen upon releasing of mouse capture
When some action is assigned to this corner using system Hot Corners feature, the given action was triggered on acquiring mouse capture
2016-01-04 10:51:54 +02:00
Christoph Oelckers
772a572431
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-03 11:32:39 +01:00
Christoph Oelckers
a75e65a3d8
- added BLOCKF_SOUND to flag list supported by Line_SetBlocking,
2016-01-03 11:32:23 +01:00
MajorCooke
77013877d1
A_WeaponReady Fix
...
- Zoom and Reload keys triggered the other states instead of themselves (i.e. zoom keybind triggered reload states instead of zoom)
2016-01-02 11:27:02 -06:00
Randy Heit
c86cd53753
Merge branch 'master' of https://github.com/crimsondusk/zdoom into crimsondusk-master
...
Conflicts:
src/am_map.cpp
2015-12-31 20:18:54 -06:00
Randy Heit
1d759283c0
Cleanup the zoom/reload/userX handling for A_WeaponReady
...
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
Randy Heit
4931c90839
Bump save version for bigger WeaponState property
2015-12-31 16:46:18 -06:00
MajorCooke
3566d3157a
Use | instead of +.
2015-12-31 16:46:17 -06:00
MajorCooke
6478b98eea
Update serialization to BYTE from WORD for older save games.
2015-12-31 16:46:17 -06:00
MajorCooke
b09a81126f
- Changed WeaponState from 8-bit to 16-bit integer.
...
- Because the flags for WF_USER#OK are 256 on up, this is required in order to work.
2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67
Added support for weapon states User#.
...
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
addd059410
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-31 23:05:13 +01:00
Christoph Oelckers
5e975ac9f6
- extended $mididevice to add an optional parameter, which has the following meaning for the different MIDI devices:
...
* OPL: specify the core to use for playing this song
* FluidSynth: specify a soundfont that should be used for playing the song.
* WildMidi: specify a config file that should be used for playing the song.
* Timidity++: specify an executable that should be used for playing the song. At least under Windows this allows using Timidity++ with different configs if the executable and each single config are placed in different directories.
* GUS: currently not operational, but should later also specify the config. This will need some work, because right now this is initialized only when the sound system is initialized.
* all other: no function.
These options should mainly be for end users who want to fine-tune how to play the music.
2015-12-31 23:03:53 +01:00
Randy Heit
d8af2e558f
Fix potentiol buffer overrun in MUSSong2::Precache()
2015-12-31 15:28:18 -06:00
alexey.lysiuk
262580c92f
Updated LZMA SDK to version 15.14
...
Enabled support for PPMD compression method
2015-12-31 17:25:49 +02:00
Christoph Oelckers
1316120fe4
- fixed: The MUS precacher did not handle invalid patches well.
...
- increased the valid range of patch values for MUS. According to the original MIDI2MUS code it can handle numbers up to 188, not 181, and at least one track from Eternal Doom uses #183 .
2015-12-31 14:35:34 +01:00
alexey.lysiuk
94fec26cb6
Fixed runtime warning on OS X 10.4 Tiger
...
The 'invalid pixel format attribute' warning was introduced with automated graphics switching control
2015-12-31 11:00:05 +02:00
Christoph Oelckers
c88ed426a8
- oops, this somehow lost the shift operator...
2015-12-30 20:39:38 +01:00
Christoph Oelckers
3c40d71c20
- hopefully fixed the MUS precaching for good.
...
According to blzut3, it looks like it is a byte followed by a variable length field. It can be any value 0-15 and will be followed by that many bytes one for each bank used. If the bank count is 0 then it is shorthand for using one bank (bank 0).
2015-12-30 20:32:19 +01:00
Christoph Oelckers
be6daf5d78
- changed instrument lookup in MUS files.
...
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.
Known variations are:
* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
alexey.lysiuk
63993dee96
Hid resize indicator on OS X startup window
...
The resize indicator overlapped with progress bar and Quit/Cancel button on 10.6 and older versions
OS X 10.7 and newer don't have this indicator at all
2015-12-30 16:05:16 +02:00
alexey.lysiuk
3466a8c7a9
Disabled miniaturization for OS X startup window
...
Old versions of OS X don't support changing of window style mask
2015-12-30 12:19:50 +02:00
alexey.lysiuk
db207feed1
Added missing header #include for old OS X SDKs
2015-12-30 12:17:38 +02:00
Edoardo Prezioso
a2b377c580
- Fixed Clang errors/warnings on wildMIDI code.
2015-12-30 10:58:52 +01:00
Christoph Oelckers
aff42a6186
- don't look up a lump name in PathExpander if we are only looking for real files.
2015-12-30 10:21:17 +01:00
Christoph Oelckers
1def61e3e3
- allow changing the reverb and resampling mode setting for WildMidi.
...
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
Kyle Evans
6c13ba40ac
Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588
2015-12-30 01:09:11 -06:00
Randy Heit
3ec6ad5018
Add SysEx retrieval to the MIDI file reader
2015-12-29 22:39:38 -06:00
Randy Heit
92e0bbeee9
Handle WildMidi's supported SysEx messages
2015-12-29 18:25:13 -06:00
Randy Heit
6d2e93254f
Fix CreateSMF's SysEx writing
...
- It was wrong before. It might still be wrong, but at least it doesn't
look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit
545e2f7c69
Slap WildMidi onto snd_listmididevices's output for Windows
2015-12-29 17:55:20 -06:00
Randy Heit
900937929e
Use critical sections for WildMidi locking
...
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Randy Heit
14361d9313
Remove midi_timiditylike
...
- Did anybody actually use this? Use WildMidi instead if you want
something that sounds more like Timidity++ without actually being
Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers
0cc4bd56d1
- removed the original WildMidi loader and the main playback function because none of those is actually being used anymore.
2015-12-29 23:18:39 +01:00
Christoph Oelckers
c3862d9101
- use PathExpander class for WildMidi's file access functions so that it can find Timdity's data on its own.
2015-12-29 21:18:46 +01:00
Christoph Oelckers
fe2dcfd588
- refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
...
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers
0634205d7f
- let WildMidi tokenizer handle quoted strings.
2015-12-29 18:01:15 +01:00
alexey.lysiuk
3af95e0aea
Added native startup window for OS X
2015-12-29 15:19:42 +02:00
alexey.lysiuk
673e1b4faf
Fixed compilation warning when building with OS X 10.11 SDK
...
The warning was 'null passed to a callee that requires a non-null argument'
2015-12-29 15:14:41 +02:00
alexey.lysiuk
2c3d9e3ab8
Fixed mouse capturing when video isn't initialized yet
2015-12-29 14:52:31 +02:00
alexey.lysiuk
15a269db9d
Extended NSWindow with ability to exit application upon closing by user
2015-12-29 14:52:27 +02:00
alexey.lysiuk
3676a42512
Added missing include guard in i_common.h
2015-12-29 14:52:22 +02:00
alexey.lysiuk
0efdccd942
Separated POSIX's i_system.cpp from native OS X implementation
2015-12-29 14:52:18 +02:00
alexey.lysiuk
6f3e04785d
Added preprocessor macros for AppKit framework versions
...
These macros are needed to build with earlier OS X SDKs
2015-12-29 14:52:11 +02:00
Christoph Oelckers
7fa289109b
- removed all uses of __builtin_expect from WildMidi code.
2015-12-29 11:36:56 +01:00
Christoph Oelckers
944360557f
- removed unused header stuff.
2015-12-29 11:23:43 +01:00
Edoardo Prezioso
7c82c576a3
- Fixed Linux compiler errors and snd_mididevice.
...
-- errno.h is required for 'errno';
-- don't use str(n)casecmp and rely on ZDoom CMake handling;
-- add a missing parenthesis around a 'signed char' cast;
-- remove an unneeded GNU_SOURCE redefinition;
-- the non-MSVC side of snd_mididevice was not adapted to the new code, making wildmidi unavailable through the menu.
2015-12-29 10:33:20 +01:00
Randy Heit
afc36544b7
Add a WildMidi softsynth device
...
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Randy Heit
ee46799d9e
Fix WM_DoGetOutput for big-endian machines
...
- Besides being little-endian centric, this bit shifting madness
was unneccessary since the values were already clamped to a 16-bit
range, so all we need to do is cast them to a short.
2015-12-28 20:51:53 -06:00
Randy Heit
b1405921bf
Merged WM_GetOutput_Linear and WM_GetOutput_Gauss into WM_DoGetOutput
...
- With mixing moved into separate functions, these two functions became
identical except for the function they called to do mixing.
2015-12-28 20:44:10 -06:00
Randy Heit
635b496165
Separate WildMidi mixing from event handling
...
- In order to use ZDoom's own MIDI sequencer event handling must be
completely separate from mixing, but WildMidi had them intertwined
because it wasn't designed for external sequencers.
- Also remove all 'long's defining the output buffers to avoid having
something that's 32 bits wide on Windows and 64 bits wide on Linux.
2015-12-28 20:33:41 -06:00
Randy Heit
a2ebf771d3
Remove '\r' character from beginning of WildMidi error messages
2015-12-28 19:13:34 -06:00
Christoph Oelckers
9d48c84ee3
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-28 21:24:41 +01:00
Christoph Oelckers
060a6b2ff2
- shut down WildMidi when exiting.
...
The pointless error message in WildMidi_Shutdown was removed to keep the rest of the code simple and allowing to call this even when the device never was used.
2015-12-28 21:23:21 +01:00
Christoph Oelckers
a94120b6a4
Merge branch 'master' into WildMidi
2015-12-28 21:01:17 +01:00