Commit Graph

3319 Commits

Author SHA1 Message Date
Lioncash 6afcf634b0 CGroundMovement: Set optsCopy's wall elastic constant to 0.03f
In GM8E v0, the wall elastic constant of the copied SMovementOptions
instance is set to 0.03f.
2020-02-26 04:12:09 -05:00
Lioncash 2b4888dcb6 CMidiManager: std::move sequencer within SetAudioSysHandle()
Provides the same behavior but without a redundant reference count
increment and then decrement.
2020-02-26 03:16:11 -05:00
Luke S 08604d770a
Merge pull request #163 from lioncash/data
ITweakGunRes: Minor cleanup
2020-02-25 22:32:25 -05:00
Lioncash e80d9c7192 ITweakGunRes: Make use of std::array where applicable
Deduplicates a few array sizes and makes the member variables more
strongly typed.
2020-02-25 15:50:37 -05:00
Lioncash b608a72aad ITweakGunRes: Remove unnecessary c_str() calls
These functions already return the data type that GetResourceIdByName()
expects. Has the side-effect of also eliminating unnecessary strlen
calls.
2020-02-25 15:34:22 -05:00
Luke S 83507f0226
Merge pull request #162 from lioncash/false
CAuxWeapon: Replace always false condition with false in Fire()
2020-02-25 14:42:14 -05:00
Luke S 5454fc213b
Merge pull request #161 from lioncash/return
CPlayer: Add missing return within UpdateOrbitModeTimer()
2020-02-25 14:19:32 -05:00
Luke S c098169e90
Merge pull request #160 from lioncash/mismatch
ITweakPlayerRes: Fix mismatched icon retrievals within ResolveResources()
2020-02-25 14:19:13 -05:00
Luke Street ae591d4817 Add MP1_VARIABLE_DELTA_TIME option (for high refresh rates; buggy) 2020-02-25 14:15:53 -05:00
Lioncash 450bcd019e CAuxWeapon: Replace always false condition with false in Fire()
Given we already check if chargeState is Normal previously, there's no
way that this can also be Charged at the same time.
2020-02-25 04:36:10 -05:00
Luke Street 051a547c42 Update hecl/extern/boo (MSAN fix) 2020-02-25 02:33:49 -05:00
Lioncash 79c409c5e0 CPlayer: Add missing return within UpdateOrbitModeTimer()
Previously, any call to this function would always reset the timer to
0.0, rather than potentially decrement it.

GM8E v0 always returns within the conditional.
2020-02-25 02:17:22 -05:00
Lioncash a92bc16265 ITweakPlayerRes: Remove unnecessary calls to .data()
All of these functions return a string_view, which is accepted by
GetResourceIdByName(), so this avoids several unnecessary std::strlen
calls.
2020-02-25 02:09:45 -05:00
Lioncash 189b03c001 ITweakPlayerRes: Fix mismatched icon retrievals within ResolveResources()
Previously, all of these icons were using the first top icon, rather
than their own respective icons.

This amends that.
2020-02-25 02:07:15 -05:00
Luke S 4ae3bca176
Merge pull request #159 from lioncash/constexpr
CJellyZap: Make kPlayerFilter constexpr
2020-02-24 21:35:54 -05:00
Lioncash c3294977ff CJellyZap: Make kPlayerFilter constexpr
This can be trivially made constexpr. We can also make this a fully
internally linked identifier.
2020-02-24 20:12:58 -05:00
Luke S a194e71fac
Merge pull request #158 from lioncash/file-static
DNAMP1/ScriptObjects: Remove ~127 runtime static constructors and relevant heap allocations
2020-02-24 13:41:11 -05:00
Lioncash 5ff100fdd1 DNAMP1/ScriptObjects: Convert SCRIPT_OBJECT_DB into a std::array
Now that all elements of the std::vector would otherwise be constexpr,
we can use a std::array here instead, given they're all able to
deterministically be available at compile-time.

This gets rid of a runtime static heap allocation at program start.
2020-02-24 03:42:24 -05:00
Lioncash 2ec236fc45 DNAMP1/ScriptObjects: Trim headers in ScriptObjects.hpp
All of these can be migrated into the cpp file, since they're only used
there.

Greatly reduces the amount of work the preprocessor has to do in files
that include this one.
2020-02-24 03:42:05 -05:00
Lioncash e27ac1e2a1 DNAMP1/ScriptObjects: Eliminate several runtime static constructors
All of these entries make use of captureless lambdas, so there's no need
to make use of std::function. We can just use a regular function
pointer, which allows making all of the file-static entries within
IScriptObject constexpr. Eliminating all of their runtime static
constructors.
2020-02-24 03:20:39 -05:00
Luke S 97ab8a56d9
Merge pull request #157 from lioncash/optional-goo
CScriptVisorGoo: Use std::make_optional where applicable
2020-02-24 03:12:17 -05:00
Luke S 1d9224f55c
Merge pull request #156 from lioncash/moving
CSkinnedModel: std::move constructor arguments where applicable
2020-02-24 03:00:59 -05:00
Luke S 551be30b9e
Merge pull request #155 from lioncash/initializer
CGraphics: Silence missing initializer warning
2020-02-24 03:00:31 -05:00
Luke S c8291ee3dc
Merge pull request #154 from lioncash/constexpr
CSamusDoll: Minor changes
2020-02-24 03:00:11 -05:00
Lioncash b3b71a2e76 CScriptVisorGoo: Use std::make_optional where applicable
Same behavior, but without a verbose type name.
2020-02-24 02:57:47 -05:00
Lioncash 6c6df4d4ee CSkinnedModel: std::move constructor arguments where applicable
Fairly straightforward change. We can move the elements here to make use
of the move constructor over the copy constructor.
2020-02-24 02:36:44 -05:00
Lioncash 35ae2c2981 CGraphics: Silence missing initializer warning
Makes the initializer field for the aspect member explicit along with
the rest of the supplied values.
2020-02-24 02:28:27 -05:00
Lioncash 7e2ef9c8ea CSamusDoll: Eliminate variable shadowing in Draw() 2020-02-24 01:50:44 -05:00
Lioncash 9042dddc8c CSamusDoll: Make use of std::array where applicable
Makes the data strongly typed and also allows tooling runtime checks for
debug builds if implementations support it (which MSVC, libstdc++ and
libc++ all support).
2020-02-24 01:48:13 -05:00
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 768e9016fe README.md: Add usage, options, CMake+ninja, VS packages, CLion 2020-02-22 01:47:49 -05:00
Luke Street 07bc020441 Update appveyor configuration & README.md 2020-02-21 17:01:46 -05:00
Luke Street 4e51c24635 Update hecl/extern/boo 2020-02-21 13:51:19 -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
Luke Street 709ec3b1df Merge branch 'pr-152' 2020-02-15 15:33:41 -05:00
Jcw87 7be3f4febb Fixed character type mismatch. 2020-02-15 12:24:50 -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
Phillip Stephens 56cefeecbb
Merge branch 'pr-149' 2020-02-07 19:57:00 -08: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