Commit Graph

1793 Commits

Author SHA1 Message Date
Lioncash 61dff4367d CSamusDoll: Make use of an anonymous namespace
Makes a separate area for internally linked data.
2020-02-24 01:39:23 -05:00
Lioncash 08ebecdaaf CSamusDoll: Mark skInitialOffset as constexpr
Allows the vector to be initialized at compile-time.
2020-02-24 01:34:59 -05:00
Luke Street 16586c200b Merge branch 'pr-153' 2020-02-21 13:46:52 -05:00
Luke Street f1dd82066a Start implementing CSnakeWeedSwarm 2020-02-20 23:27:12 -05:00
Luke Street a978b030c3 Fix infra model for CWallCrawlerSwarm 2020-02-20 21:50:54 -05:00
Jcw87 e835528fe8 MSVC compile fixes. 2020-02-16 00:10:08 -08:00
Phillip Stephens f251c73e6a
Merge branch 'pr-151' 2020-02-13 14:17:40 -08:00
Lioncash da4dde2437 CAtomicBeta: Correct division arithmetic error in Think()
This is supposed to be a multiplication, not a division (at least this
is what v0-00 does).
2020-02-12 04:57:07 -05:00
Phillip Stephens 0bdad38175
Merge branch 'pr-150' 2020-02-11 20:05:07 -08:00
Lioncash 88f445c94d CParasite: Make static CMaterialList instances constexpr where applicable
Same behavior, but allows the data to be stored within the read-only
segment.
2020-02-11 09:33:58 -05:00
Lioncash 1edcbf7ec6 CMetaree: Set locomotion type to crouched if deactivated in InActive()
v0-00 sets this locomotion type when the deactivation flag is set.
2020-02-07 19:32:51 -05:00
Phillip Stephens 61f9adfa70
Merge branch 'pr-148' 2020-02-07 14:25:31 -08:00
Phillip Stephens 6501d56baa
Merge branch 'pr-147' 2020-02-07 14:24:21 -08:00
Phillip Stephens 60f8dfb9d1
Final CCollisionInfoList imps 2020-02-07 14:20:04 -08:00
Lioncash 16f7925652 CFireFlea: Set CPathFindSearch's padding to 50.0f within AcceptScriptMsg()
v0-00 sets the padding member of CPathFindSearch here to 50.0, not a
member variable that's part of the CFireFlea class.
2020-02-07 16:27:56 -05:00
Lioncash d4245b016f CPuddleToadGamma: Migrate static constants into the cpp file
Makes the data fully internally-linked. This also allows declaring
skBellyOffset as constexpr.

While we're at it, we can also make the solid filter constexpr as well,
given it isn't modified anywhere. This allows the data to be placed
within the read-only segment and potentially gets rid of a runtime
static constructor.
2020-02-07 15:55:23 -05:00
Lioncash 0dd7e3e7bf CFlickerBat: Add missing SetMuted() call within Death()
v0-00 contains a call to SetMuted(false) in game code.
2020-02-07 09:38:56 -05:00
Phillip Stephens 330a1bff76
Merge pull request #145 from lioncash/blood-collision
CBloodFlower: Implement GetCollisionResponseType
2020-02-03 14:45:21 -08:00
Phillip Stephens 67e4c2e135
Merge pull request #144 from lioncash/blood-const
CBloodFlower: Mark sFireEffects as constexpr
2020-02-03 14:45:02 -08:00
Phillip Stephens 28ee845564
Merge pull request #143 from lioncash/steering
CWarWasp: Amend damping radius value within ApplyNormalSteering()
2020-02-03 14:44:39 -08:00
Phillip Stephens 569886de6a
Merge pull request #142 from lioncash/decay
CScriptPlatform: Amend delta time value in AcceptScriptMsg for deletion
2020-02-03 14:44:21 -08:00
Phillip Stephens 48570cd956
Merge pull request #141 from lioncash/dock-aa
CScript*: Return std::nullopt in GetTouchBounds()
2020-02-03 14:43:58 -08:00
Phillip Stephens 06d7a3e00a
Merge pull request #140 from lioncash/enum-class
CScriptDock: Make EDockState an enum class
2020-02-03 14:43:28 -08:00
Lioncash d1a714cf1a CBloodFlower: Implement GetCollisionResponseType
CBloodFlower seems to be missing the implementation from v0-00. This
change adds in its equivalent behavior.
2020-02-03 10:42:26 -05:00
Lioncash 855841607b CBloodFlower: Mark sFireEffects as constexpr
Allows the strings to be put into the read-only section of the binary
(and makes it explicit that the strings aren't modified).

While we're at it we can make use of std::array.
2020-02-03 10:14:19 -05:00
Lioncash f675bc3857 CWarWasp: Amend damping radius value within ApplyNormalSteering()
GM8E v0-00 uses 2.5 for the second Arrival() damping radius value, not 3.0.
2020-02-01 16:37:23 -05:00
Lioncash 3147d39cd9 CScript*: Return std::nullopt in GetTouchBounds()
In some implementations, returning via default construction for
std::optional can cause the entire inner buffer to be zeroed out.

Returning with std::nullopt causes only the internal validity flag to be
set and nothing more.
2020-02-01 01:06:43 -05:00
Lioncash c944d04614 CScriptPlatform: Amend delta time value in AcceptScriptMsg for deletion
Game code makes use of 1.66666675f here, not 0.0f.
2020-01-31 23:53:39 -05:00
Lioncash 9a8f99faa5 CScriptDock: Make EDockState an enum class
Makes the enum type strongly typed. All usages currently allow for this
anyways.
2020-01-31 21:34:10 -05:00
Lioncash 458ff8949a IGameArea: Make Dock's reference count variable signed
In all usage cases, this variable is used with functions that expect a
signed value. This eliminates quite a few signed mismatch warnings.
2020-01-31 21:29:53 -05:00
Lioncash a3ebe8727f CScriptSound: Remove active check within AcceptScriptMsg() deactivate path
Game code doesn't check for active status within this branch, and
there's no comment indicating whether or not this difference was intentional.
2020-01-31 17:37:46 -05:00
Lioncash 495ff19aad CDamageInfo: Make certain constructors constexpr
Allows eliminating potential runtime static constructors by allowing
file-scope instances to be declared constexpr.
2020-01-31 02:06:14 -05:00
Phillip Stephens 918f1a9fcb
Merge pull request #136 from lioncash/rainsplash
CRainSplashGenerator: Amend lower bound constant for speed in SSplashLine::Update()
2020-01-30 20:12:11 -08:00
Phillip Stephens 968c3394c6
Merge pull request #135 from lioncash/dash-elements
CPlayer: Add missing element to skDashStrafeDistances
2020-01-30 20:12:00 -08:00
Phillip Stephens d7f475166f
Merge pull request #134 from lioncash/function-error
CPlayer: Fix function call mismatch within SidewaysDashAllowed()
2020-01-30 20:11:49 -08:00
Phillip Stephens b1322a5613
Merge pull request #133 from lioncash/trunc-float
CTextParser: Resolve double->float truncation within ParseTag()
2020-01-30 20:11:39 -08:00
Phillip Stephens 0116e56332
Merge pull request #132 from lioncash/static-instance
CRealElement: Remove redundant instance() call in CRELifetimeTween::GetValue()
2020-01-30 20:11:24 -08:00
Phillip Stephens 11352ef042
Merge pull request #131 from lioncash/top-const
CActor: Remove top-level const from GetScaledLocatorTransform() and GetLocatorTransform()
2020-01-30 20:11:12 -08:00
Phillip Stephens 9eb69dfd8b
Merge pull request #130 from lioncash/naming
CAutoMapper: Make SAutoMapperRenderState constructor parameter names more informative
2020-01-30 20:10:54 -08:00
Phillip Stephens 004d8bab22
Merge pull request #129 from lioncash/emplace
CGuiTextSupport: Make use of emplace_back() in AddText()
2020-01-30 20:10:41 -08:00
Lioncash 1aa24bd287 CRainSplashGenerator: Amend lower bound constant for speed in SSplashLine::Update()
Game code actually uses a constant of 4.0f as the lower bound for speed, not
0.015625f.
2020-01-30 22:20:49 -05:00
Lioncash 29ca2b6062 CPlayer: Add missing element to skDashStrafeDistances
This was previously missing the initial element within the array,
causing all the elements in the table to be shifted to the left by one.
This corrects that.
2020-01-29 03:51:50 -05:00
Lioncash 264c897bb5 CPlayer: Fix function call mismatch within SidewaysDashAllowed()
This function actually calls GetPressInput() here, not
GetDigitalInput().
2020-01-29 03:18:36 -05:00
Lioncash 03f2ebc768 CTextParser: Resolve double->float truncation within ParseTag()
This should be prepended with the f suffix to prevent double to float
implicit truncation.
2020-01-29 02:26:50 -05:00
Lioncash 13afd9b033 CRealElement: Remove redundant instance() call in CRELifetimeTween::GetValue()
This only needs to be called once.
2020-01-29 02:07:55 -05:00
Lioncash edf5511af4 CActor: Remove top-level const from GetScaledLocatorTransform() and GetLocatorTransform()
Same behavior, less code.
2020-01-29 01:50:31 -05:00
Lioncash 88cecd80ec CAutoMapper: In-class initialize SAutoMapperRenderState member variables
Simplifies the parameterized constructor a little bit and provides a
consistent initial state for the default constructor.
2020-01-28 13:29:59 -05:00
Lioncash 50fbd2ad42 CAutoMapper: Make SAutoMapperRenderState constructor parameter names more informative 2020-01-28 13:26:48 -05:00
Lioncash 7f20cd0883 CGuiTextSupport: Make use of emplace_back() in AddText()
Same behavior, less code.
2020-01-28 00:22:19 -05:00
Lioncash 3d5ed90d1a CWeaponMode: Make constexpr capable
Given this is such a simple type, this can be made usable with
constexpr. This allows the type to be usable at file-scope without
potentially incurring a runtime constructor.
2020-01-23 23:12:18 -05:00
Phillip Stephens 516ea136f4
Merge pr-127 2020-01-20 20:05:21 -08:00
Phillip Stephens 8d90edd55f
Initial CChozoGhost imp 2020-01-20 20:00:40 -08:00
Lioncash b847930a85 CCameraManager: Collapse loop into std::find_if in RemoveCameraShaker
We can collapse the loop into a find_if call here, since it only does a
look up and nothing more.
2020-01-20 12:57:23 -05:00
Lioncash b3fcbf9a89 CCameraManager: Resolve signed/unsigned mismatch in RemoveCameraShaker
An unsigned value is passed into RemoveCameraShaker at its only usage
spot. This also resolves unsigned/signed comparisons within the function
itself.
2020-01-20 12:51:52 -05:00
Luke Street 72e068419f Merge branch 'pr-126' 2020-01-17 19:57:50 -05:00
Luke Street a66a965437 Merge branch 'pr-125' 2020-01-17 19:57:48 -05:00
Lioncash 9ce652bfd6 CNewIntroBoss: Correct base class call to DoUserAnimEvent()
This function actually calls CPatterned's implementation of
DoUserAnimEvent(), not CActor's.
2020-01-15 15:32:18 -05:00
Lioncash ab2ad38220 CPatterned: Mark CMaterialList instance in CollidedWith as constexpr
This isn't ever modified, so we can mark it constexpr to eliminate
potential runtime initializers.
2020-01-15 14:48:21 -05:00
Lioncash 1cb289f243 RuntimeCommon: Normalize cpp inclusions
Normalizes the headers for the cpp files in the RuntimeCommon target.
Now all headers and source files within the RuntimeCommon/RuntimeCommonB
targets are normalized and consistent with one another.
2020-01-15 09:15:47 -05:00
Phillip Stephens 677687f228
Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/urde 2020-01-05 20:25:21 -08:00
Phillip Stephens 841996a872
More work on CThardus 2020-01-05 20:24:54 -08:00
Luke Street 67d0fa55df Fix shriekbat damage 2020-01-02 19:54:59 -05:00
Lioncash 221cc5c6b8 RuntimeCommonB: Normalize cpp file includes
Like the prior changes normalizing the inclusions within headers, this
tackles the cpp files of the RuntimeCommonB target, making these source
files consistent with their headers.
2019-12-22 18:12:04 -05:00
Phillip Stephens 21159e604e
More CThardus 2019-12-14 15:50:29 -08:00
Phillip Stephens 8689d599c5
GCC Fixes 2019-12-14 01:14:58 -08:00
Phillip Stephens 70747e23d5
Fix font rendering and world teleporter in MPT and PAL 2019-12-11 10:55:19 -08:00
Phillip Stephens b507799478
Add texture info lookup 2019-12-11 00:37:30 -08:00
Phillip Stephens 1a13f7e4ee
Update submodules, initial CTextureCache 2019-12-10 20:51:33 -08:00
Phillip Stephens 4e5921c952
Update submodules 2019-12-10 20:51:23 -08:00
Phillip Stephens 34e78a2dd0
Move CParticleGlobals from the executable and onto the heap, minor fixes, update wiki link 2019-12-03 00:47:05 -08:00
Phillip Stephens 697a100bca
Implement CScriptSpecialFunction::ThinkAreaDamage, and more CThardus 2019-11-24 07:32:45 -08:00
Phillip Stephens 655dc01a06
Add support for override paks 2019-11-21 07:37:08 -08:00
Phillip Stephens b23575f2aa
Stop GCC's whining 2019-11-19 15:15:45 -08:00
Phillip Stephens 8b6dff70b4
Properly cleanup Xorg in visigen, various fixes and cleanups in URDE, more CRidley imps 2019-11-19 15:06:25 -08:00
Phillip Stephens 4762c7b832
Finish Ridley's AI function implementations 2019-11-14 08:39:20 -08:00
Phillip Stephens e059f224d4
Fix behavior translation, still needs work 2019-11-13 10:44:43 -08:00
Phillip Stephens 8881376195
Some ridley fixes 2019-11-13 09:58:49 -08:00
Phillip Stephens a1c7692d36
More CRidley imps 2019-11-12 12:25:21 -08:00
Phillip Stephens 3b101267f8
Merge pull request #88 from lioncash/radar
Graphics/Shaders: Minor changes
2019-11-10 08:03:42 -08:00
Lioncash 940ab1f662 World/CFluidPlaneGPU: Name variable to be more meaningful in RenderStripWithRipples() 2019-11-09 20:22:16 -05:00
Lioncash 136a229a1a Graphics/Shaders: Use std::array where applicable
Makes the arrays strongly typed and impervious to array->pointer decay.
This also allows simplifying some operations (such as being able to call
fill() instead of needing to use std::fill, etc).
2019-11-09 20:22:16 -05:00
Lioncash 417506572c Graphics/Shaders/CCameraBlurFilter: Move Vert definition into cpp file
This is private and not used anywhere in the exposed interface, so this
can be moved into the cpp file to make it an implementation detail and
allow moving a zeus header into the cpp file.
2019-11-09 20:22:16 -05:00
Lioncash 902f4fb5c5 Graphics/Shaders: Use forward declarations where applicable
Now, with all of the headers normalized, we can safely convert some
headers into forward declarations without needing to worry about
potentially breaking code in other headers or source files.
2019-11-09 20:22:09 -05:00
Phillip Stephens 21ed1b6660
Merge branch 'master' of ssh+git://git.axiodl.com/AxioDL/urde 2019-11-09 15:49:09 -08:00
Phillip Stephens 6c1f682e0f
Initial CRidley implementation 2019-11-09 15:48:46 -08:00
Lioncash 0546553f2d IOStreams: Replace CZipSupport with lambda functions
We can safely replace the class with direct lambda functions, given they
don't need to capture any state.
2019-11-09 02:57:39 -05:00
Lioncash 9a728a38d6 IOStreams: Use 1U when shifting bitmasks
Otherwise this is technically shifting a signed value, which can lead to
warnings. While we're at it, we can use UINT32_MAX instead of
0xFFFFFFFF to mean the same thing.
2019-11-08 19:05:45 -05:00
Lioncash 95a0b0e559 IOStreams: Remove reinterpret_casts where applicable
We can simply make use of writeBytes() where applicable, which does it
for us, which makes the code a slight bit less verbose.
2019-11-08 18:55:13 -05:00
Lioncash 3894c0539e IOStreams: Use fmt where applicable
Eliminates the use of printf and instead uses fmt so types can
automatically be formatted without the use of casts.

While we're at it, we can resolve a sign-conversion warning in
PrintBinary().
2019-11-08 18:51:07 -05:00
Lioncash cf8fe1861f IOStreams: Normalize cpp file inclusions 2019-11-08 18:45:31 -05:00
Phillip Stephens f2c207b85e
Fix regression 2019-11-06 10:12:20 -08:00
Phillip Stephens 297513c8d4
Fix Impact Crater causing an infinite loop for simply not having a skybox 2019-11-06 09:33:45 -08:00
Phillip Stephens 77b61b0e68
Fix saves sending you to incorrect rooms, fix triggers 2019-11-05 09:18:14 -08:00
Phillip Stephens 1a5179feb2
Fix CSpacePirate activating too early 2019-11-05 02:22:14 -08:00
Phillip Stephens b87f94802d
Merge pull request #120 from lioncash/collision
CCollisionResponseData: Minor changes
2019-10-30 01:13:40 -07:00
Phillip Stephens ec7f6804cb
Merge pull request #119 from lioncash/constexpr
CollisionPrimitive: Make collision primitive types constexpr capable
2019-10-30 01:13:31 -07:00
Lioncash fff7b90c85 CCollisionResponseData: In-class initialize primitives
Avoids needing to give them their own entry within the constructor
initializer list.
2019-10-29 19:43:23 -04:00
Lioncash 156c0e8cd0 CCollisionResponseData: Name parameters in function declarations
Allows IDEs and other introspection tools to be more useful when
indicating parameters in function calls.
2019-10-29 19:41:53 -04:00
Lioncash 9c391f90e3 CCollisionResponseData: Join vector initializations into constructor initializer list
Generally provides marginally better code generation.

We can also fill x10_sfx with the invalid SFX constant at the same time
instead of performing a resize and then filling it again.
2019-10-29 19:41:53 -04:00
Lioncash 3d67088697 CCollisionResponseData: Make use of std::array where applicable
Allows us to replace some heap allocating file-scope std::vector
instances with constexpr std::arrays, eliminating quite a few static
constructors.
2019-10-29 19:41:48 -04:00