b01aab4a39
Standardize on C++ headers.
...
Also removes a bunch of duplicate #includes of stuff that's already
pulled in by HeadSpin.h.
2013-01-28 23:15:54 -08:00
e2a0041d31
plStringify ControllerDebugDisplay.
...
plStringification of plPXPhysicalControllerCore::IDrawDebugDisplay
and general clean-up. Also changed to only display
avatar collisions heading if any exist to show.
2013-01-19 21:22:37 -08:00
343610fb5a
Fix crash when enabling Controller Debug display.
2013-01-19 16:44:10 -08:00
f510b529f8
Remove unused headers from hsStlUtils.h (and push them downstream where needed)
...
Also fix a couple of plString and header issues identified by Paradox on GCC/Clang
2013-01-01 21:35:10 -08:00
3f79d69463
Merge pull request #238 from Hoikas/hdr-work
...
More Header Cleanups
2013-01-01 15:38:25 -08:00
bb4d36e69d
Remove windoze include from hsThread.h
2012-12-22 17:16:01 -05:00
d3ea8fe333
Rework PhysX collision flutter bug workaround
...
To better handle erroneous trigger events under the new timing method, use the number of times the simulation has actually advanced instead of the number of evals received.
Cleaned up a bit.
2012-12-21 23:08:14 -05:00
d06ba6362c
Only apply height correction to human avatars.
2012-12-21 23:08:13 -05:00
47efb94aa8
Fix warping an avatar triggers all detectors along the path
...
When explicitly moving an avatar over the given threshold, teleport the underlying actor most of the way before moving the controller.
2012-12-21 23:08:09 -05:00
b5aaecc48d
Fix subworld transition bug
...
Use the actual global location, not the interpolated location when moving between subworlds. Rebuild the controller cache.
2012-12-21 23:08:08 -05:00
462d4d6906
Improve simulation timing at low frame rates.
...
Increased kDefaultMaxDelta to 0.15.
Added a small bias to combat a truncation issue.
2012-12-21 23:08:07 -05:00
d4e9be28ec
Remove some PhysX workarounds that are no longer required.
2012-12-21 23:08:06 -05:00
70e766ae5b
Updated plPXPhysicalControllerCore
...
While based heavily on the old implementation, this is essentially a rewrite.
Notable changes -
Controllers are now updated at the same fixed frequency as the simulation.
Resulting output is interpolated between steps to precisely match the frame delta.
Physics work is only done when enough time has passed to perform a step.
The kinematic actor that followed around the controller has been removed.
The underlying kinematic actor created by the NxController is now used for triggering.
A new sim group was added for a kinematically controlled avatar.
2 unused files removed -
plPXPhysicalController.h & plPXPhysicalController.cpp
2012-12-21 23:08:05 -05:00
b219c3c3cc
Alright, this _TEMP_CONVERT_ stuff was a stupid idea
2012-11-13 18:40:13 -08:00
3c2a8c66e7
Remove more empty source files
2012-11-11 23:00:24 -08:00
a709e17069
Obliterate hsBool
2012-07-14 18:46:27 -04:00
c8873a9082
The real Relto plunge fix...
...
Hack. PhysX is going away, so I'm not going to expend a lot of effort on
making a technically correct fix.
2012-04-12 21:52:58 -04:00
027e830360
Keep dynamics asleep during init process
...
When we set the global pose and transform, we wake up dynamics. This can be
somewhat evil, so we put them back to sleep as they are supposed to be.
2012-02-22 00:45:18 -05:00
7dcf2e66a3
Greatly simplify collision detectors
2012-02-13 01:34:45 -05:00
1b0e139ae5
Only send out one collide msg per frame
...
This addresses a "PhysX turd" that some Cyan programmer noted in
plCollisionDetector. Cleaning up that cruft is pending...
2012-02-13 01:34:35 -05:00
8ec1a92359
Rewrite kickable force stuff...
...
Cyan's old code was confusing and would allow you to walk on top of small
kickables. Now, we impart force to these small kickables up to a certain
point where imparting force to them becomes somewhat risky.
2012-02-13 01:33:16 -05:00
0689901c5e
Band-aid for poorly modelled stairs
...
Looks like the Cyan modellers didn't extend the stair ramps all the way
down in some places. To compensate, we can now take higher steps but can't
walk on slopes quite as steep as before. I think this should balance out
nicely.
2012-02-13 01:33:15 -05:00
6b259f4699
Merge remote-tracking branch 'origin/master' into plString
...
[AMEND] Fixed one new case which came in from master
2012-02-11 14:02:30 -08:00
4b70d592c9
Fix some %s errors in plPhysX
2012-02-11 13:31:43 -08:00
8f2d4a6712
Revert hacks and do it right.
...
Now that we properly suspend/resume the simulation AND filter out false
positives in the PanicLink region, we can use the correct PhysX apis have
have regions that work 100%
2012-02-10 12:47:35 -05:00
77cd055a27
Merge remote-tracking branch 'origin/master' into plString
2012-02-09 20:57:21 -08:00
d4dabfb047
That looks dangerous...
...
PhysX is nicely capable of clamping for us without those nasty hacks, so
let's allow PhysX to do it for us. Hopefully, this will keep anything too
insane from happening when I disable the framerate limit.
2012-02-09 00:29:23 -05:00
54b5e4cf24
Fix Gira basket explosions
...
Tweak the GZ marker detector region fix to only wake up kinematic detector
regions... waking up regular dynamic actors before we position them causes bad
things to happen.
2012-02-06 21:44:13 -05:00
8cbde377ef
Fix an obvious memory leak.
...
This thing was pissing me off, which made me piss off a lot of other people,
which pissed off even more people, so the entire planet got pissed off and
nuclear warfare began. So, let's not do stupid crap and piss me off, okay?
2012-02-06 21:17:08 -05:00
33dbdce2f1
Really fix those bizarre panic links
...
Looks like Cyan never actually stopped simulating, so we simulate through
adding objects to the scene and positioning them. This is a bad thing(TM),
so now we suspend/resume the simulation on plAgeLoadedMsg.
2012-02-06 18:51:36 -05:00
e6ebf7ffaf
Merge remote-tracking branch 'origin/master' into plString
...
Conflicts:
Sources/Plasma/FeatureLib/pfPython/pyVault.cpp
Sources/Plasma/NucleusLib/pnUtils/Private/pnUtSubst.cpp
Sources/Plasma/PubUtilLib/plAvatar/plAvatarMgr.cpp
Sources/Plasma/PubUtilLib/plPipeline/plDXDeviceRefs.cpp
Sources/Plasma/PubUtilLib/plPipeline/plDXPipeline.cpp
--HG--
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Unix/pnUtUxStr.cpp => Sources/Plasma/NucleusLib/pnUtils/Unix/pnUtUxStr.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Unix/pnUtUxSync.cpp => Sources/Plasma/NucleusLib/pnUtils/Unix/pnUtUxSync.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Unix/pnUtUxUuid.cpp => Sources/Plasma/NucleusLib/pnUtils/Unix/pnUtUxUuid.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/W32Int.h => Sources/Plasma/NucleusLib/pnUtils/Win32/W32Int.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Addr.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Dll.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Dll.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Misc.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Misc.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Path.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Path.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Str.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Str.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Sync.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Sync.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Time.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Time.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Uuid.cpp => Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Uuid.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAddr.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAddr.h => Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtAllIncludes.h => Sources/Plasma/NucleusLib/pnUtils/pnUtAllIncludes.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtArray.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtArray.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtArray.h => Sources/Plasma/NucleusLib/pnUtils/pnUtArray.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtBase64.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtBase64.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtBase64.h => Sources/Plasma/NucleusLib/pnUtils/pnUtBase64.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtBigNum.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtBigNum.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtBigNum.h => Sources/Plasma/NucleusLib/pnUtils/pnUtBigNum.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtCmd.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtCmd.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtCmd.h => Sources/Plasma/NucleusLib/pnUtils/pnUtCmd.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtCoreLib.h => Sources/Plasma/NucleusLib/pnUtils/pnUtCoreLib.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtCrypt.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtCrypt.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtCrypt.h => Sources/Plasma/NucleusLib/pnUtils/pnUtCrypt.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtHash.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtHash.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtHash.h => Sources/Plasma/NucleusLib/pnUtils/pnUtHash.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtList.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtList.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtList.h => Sources/Plasma/NucleusLib/pnUtils/pnUtList.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtMath.h => Sources/Plasma/NucleusLib/pnUtils/pnUtMath.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtMisc.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtMisc.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtMisc.h => Sources/Plasma/NucleusLib/pnUtils/pnUtMisc.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtPath.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtPath.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtPath.h => Sources/Plasma/NucleusLib/pnUtils/pnUtPath.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtPragma.h => Sources/Plasma/NucleusLib/pnUtils/pnUtPragma.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtPriQ.h => Sources/Plasma/NucleusLib/pnUtils/pnUtPriQ.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtRand.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtRand.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtRand.h => Sources/Plasma/NucleusLib/pnUtils/pnUtRand.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtRef.h => Sources/Plasma/NucleusLib/pnUtils/pnUtRef.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtSort.h => Sources/Plasma/NucleusLib/pnUtils/pnUtSort.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtSpareList.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtSpareList.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtSpareList.h => Sources/Plasma/NucleusLib/pnUtils/pnUtSpareList.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtStr.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtStr.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtStr.h => Sources/Plasma/NucleusLib/pnUtils/pnUtStr.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtSync.h => Sources/Plasma/NucleusLib/pnUtils/pnUtSync.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtTime.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtTime.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtTime.h => Sources/Plasma/NucleusLib/pnUtils/pnUtTime.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtTls.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtTls.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtTls.h => Sources/Plasma/NucleusLib/pnUtils/pnUtTls.h
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtUuid.cpp => Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.cpp
rename : Sources/Plasma/NucleusLib/pnUtils/Private/pnUtUuid.h => Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.h
2012-02-05 22:12:00 -08:00
3e811a4a87
More PhysX region tweaks
2012-02-03 09:44:22 -05:00
18b5a02479
Fix the Relto panic link weird stuff
...
The ladder region fixes introduced the panic link. Now we should always
verify the following when changing anything related to the stupid kinematic
actor turd:
- Linking to any Ahnoying Sphere's main LIP does not result in a panic link
- The Teledahn hatch ladder camera works as expected
- That the game doesn't crash on anything stupid, like a nil SceneNode
2012-01-30 21:46:34 -05:00
c339f947ba
Merge remote-tracking branch 'origin/master' into plString
...
Conflicts:
Sources/Plasma/CoreLib/hsStream.h
Sources/Plasma/FeatureLib/pfAudio/plListener.cpp
Sources/Plasma/FeatureLib/pfConsole/pfConsoleCommands.cpp
Sources/Plasma/FeatureLib/pfConsole/pfDispatchLog.cpp
Sources/Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp
Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp
Sources/Plasma/FeatureLib/pfPython/cyMisc.h
Sources/Plasma/FeatureLib/pfPython/cyMiscGlue4.cpp
Sources/Plasma/FeatureLib/pfPython/plPythonFileMod.cpp
Sources/Plasma/FeatureLib/pfPython/plPythonFileMod.h
Sources/Plasma/FeatureLib/pfPython/pyImage.cpp
Sources/Plasma/FeatureLib/pfPython/pyJournalBook.cpp
Sources/Plasma/FeatureLib/pfPython/pyNetServerSessionInfo.h
Sources/Plasma/NucleusLib/pnKeyedObject/plFixedKey.cpp
Sources/Plasma/NucleusLib/pnKeyedObject/plKeyImp.cpp
Sources/Plasma/NucleusLib/pnKeyedObject/plUoid.cpp
Sources/Plasma/NucleusLib/pnKeyedObject/plUoid.h
Sources/Plasma/NucleusLib/pnMessage/plMessage.h
Sources/Plasma/NucleusLib/pnNetCommon/plNetApp.h
Sources/Plasma/PubUtilLib/plAvatar/plCoopCoordinator.cpp
Sources/Plasma/PubUtilLib/plDrawable/plDrawableSpansExport.cpp
Sources/Plasma/PubUtilLib/plDrawable/plDynaDecalMgr.cpp
Sources/Plasma/PubUtilLib/plDrawable/plWaveSet7.cpp
Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.h
Sources/Plasma/PubUtilLib/plNetClient/plNetClientMgr.h
Sources/Plasma/PubUtilLib/plNetCommon/plClientGuid.h
Sources/Plasma/PubUtilLib/plNetMessage/plNetMessage.cpp
Sources/Plasma/PubUtilLib/plNetMessage/plNetMsgHelpers.h
Sources/Plasma/PubUtilLib/plNetTransport/plNetTransportMember.h
Sources/Plasma/PubUtilLib/plPhysX/plSimulationMgr.cpp
Sources/Plasma/PubUtilLib/plPipeline/plDXPipeline.cpp
Sources/Plasma/PubUtilLib/plPipeline/plPlates.cpp
Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.cpp
Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.h
Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.cpp
Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.h
Sources/Plasma/PubUtilLib/plScene/plRelevanceMgr.cpp
Sources/Plasma/PubUtilLib/plScene/plRelevanceMgr.h
Sources/Plasma/PubUtilLib/plSurface/plGrassShaderMod.cpp
2012-01-28 17:20:01 -08:00
e34414889f
Convert plUoid's object name to a plString
2012-01-28 16:24:20 -08:00
91fc595407
Completely kill off CoreLibExe
2012-01-25 16:58:44 -05:00
eb946f76a4
Get rid of MemAlloc.
2012-01-25 16:58:41 -05:00
5013a978eb
Get rid of NEW(), TRACKED_NEW, and ZERO().
2012-01-25 16:58:35 -05:00
8a3f0cfd5b
Get rid of DEL() and FREE() macros.
...
Part of CoreLibExe must die.
2012-01-25 16:58:28 -05:00
be26b145df
HeadSpin.h is now the core header.
...
Rearrange some things so such that low-level CoreLib headers aren't quite
so crazy. For higher level stuff, you still need to include the
appropriate header.
2012-01-25 16:58:27 -05:00
e020651e4b
Eliminate hsScalar and hsFixed
...
Modern CPUs support floats just fine... hsFixed was crazy.
2012-01-25 16:58:20 -05:00
5027b5a4ac
Convert custom HeadSpin integer types to standard types from stdint.h
2012-01-25 16:58:18 -05:00
b4e1dc352e
Fix player and CGZ marker games
2012-01-19 00:59:56 -05:00
64a0c49439
Bonus: Some cleanups for collision message handling and slightly improved
...
logging
2012-01-18 18:57:58 -05:00
7c40364752
Fix some more incorrect PhysX Api calls for Kinematic Actors
...
As I discovered several months ago, Cyan used the incorrect
NxActor::setGlobal(Pose/Position) function(s) to transform kinematic actors.
This is incorrect but was apparently allowed in PhysX 2.6.0. PhysX 2.6.4
enforces the correct moveGlobal(Pose/Position) functionality, so we MUST use
that.
2012-01-17 22:57:58 -05:00
e462ef04b3
Fix Endian functions names in hsTypes and hsStream.
...
Function and macro names for endianness were previously vague,
and on big-endian systems entirely misleading. The names are
now properly descriptive of what they actually do.
2011-10-25 20:23:25 -07:00
eb2767a5f7
Open source re-licensing
2011-10-22 17:03:49 -07:00
adc3653296
fix relative includes in PubUtilLib, move them up to where they belong, remvoe some unused files
2011-09-01 13:21:23 +02:00
46c4a457e0
Syntax fixes for PubUtilLib.
2011-07-24 15:29:45 -07:00
057566416b
Fix for animated detector regions not actually animating (cleft bucket cloth, Er'cana harvester ladder)
2011-05-09 15:30:27 -04:00