Commit Graph

60 Commits

Author SHA1 Message Date
Lioncash 67f6666ea1 Runtime: Add more usages of explicit
Prevents error-prone implicit conversions where applicable.

This targets the regular RuntimeCommon target this time around.
2020-03-31 03:53:49 -04:00
Lioncash 8cd27ac822 RetroTypes: Take types in comparisons by value where applicable
CAssetId, TEditorId, and TUniqueId are all small enough to fit within
registers as is, so we can take these types by value, which allows for
eliminating unnecessary memory referencing.
2020-03-22 04:44:45 -04:00
Lioncash 6ed2415f6f RetroTypes: Mark return types as [[nodiscard]] where applicable
Given the types within this header are quite widely used within the
codebase, it's worth it in this scenario to annotate functions that
expect their return value to be used with the [[nodiscard]] attribute.
2020-03-22 04:43:26 -04:00
Lioncash c77153b03c RetroTypes: Make SObjectTag's operator bool explicit
Prevents potentially error-prone implicit conversions to bool.
2019-09-30 09:00:17 -04:00
Lioncash 8176bf75ef RetroTypes: Make functions noexcept where applicable
Given these are used quite frequently, it's better to explicitly mark
these as noexcept so that they may be used within noexcept contexts.
2019-09-30 08:58:34 -04:00
Lioncash a633b8e8fd General: Normalize RuntimeCommon include paths
Performs the same normalizing done to the RuntimeCommonB target, now all
of the runtime headers have normalized include paths.
2019-09-28 04:14:29 -04:00
Lioncash 1f8ed5af25 RetroTypes: Make types constexpr where applicable
These are generally used as basic tags and ID types, so these can have a
constexpr interface. This is particularly beneficial, given some of
these types are used in file-static lookup tables.

Without being constexpr, these type's constructors in that case are
technically runtime static constructors. While most compilers will
initialize the type at compile-time, this would be dependent on the
optimizer. By marking them constexpr, we allow it outright. It also
allows those arrays to be made constexpr as well.
2019-08-14 05:20:43 -04:00
Jack Andersen 0ab08daae7 Windows build fixes 2019-07-27 15:21:31 -10:00
Jack Andersen 7a3da1f7a6 Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
Phillip Stephens 8c35cd02f0 More CFlaahgra imps 2019-06-19 14:11:13 -07:00
Jack Andersen e218b8aeb5 CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
Jack Andersen 3a0d2930fa Numerous uninitialized memory fixes 2019-04-06 19:14:48 -10:00
Jack Andersen ad2681f857 Windows fixes 2019-01-28 22:28:35 -10:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Jack Andersen c91e5df986 Convert to pragma once 2018-10-06 17:42:33 -10:00
Phillip Stephens 711c3e0d2c Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor 2018-04-29 20:12:41 -07:00
Jack Andersen aec45ad2bb Windows PCH fixes 2017-12-29 15:09:45 -10:00
Jack Andersen 6854cb9df7 Various bug fixes 2017-11-23 22:23:28 -10:00
Jack Andersen bb10aa9844 CResFactory bug fixes 2017-10-27 21:08:48 -10:00
Jack Andersen e274cd12b9 Refactorings to support .upak generation 2017-10-24 21:47:49 -10:00
Jack Andersen 484a4900a0 CMorphBall Complete 2017-09-29 17:45:57 -10:00
Jack Andersen c0d5cee8b1 Additional work on CMorphBall 2017-09-11 19:51:17 -10:00
Phillip Stephens 9b5ec8f86d Fix visigen/hecl dependencies; Cleanup ViewManager; Various implementations 2017-08-29 06:17:52 -07:00
Jack Andersen ed991a6ac0 Initial CPlayerGun implementations 2017-08-24 20:18:09 -10:00
Jack Andersen 8e8ce66799 Additional CPlayer implementations 2017-08-15 19:34:02 -10:00
Phillip Stephens 870e8c80ee Refactor ResId into CAssetId 2017-08-12 22:26:14 -07:00
Phillip Stephens 8409cf7868 Proper TUniqueId implementation, minor bug fixes in CSortedListManager 2017-08-10 06:40:07 -07:00
Jack Andersen 0cae1bb036 Merge branch 'master' of https://github.com/AxioDL/urde 2017-07-30 19:19:26 -10:00
Jack Andersen 925aa3fe1a More CPlayer imps 2017-07-30 19:19:05 -10:00
Phillip Stephens db03927e1d Various imps and minor fixes 2017-07-30 04:00:30 -07:00
Jack Andersen 4528a6b60a Additional CPlayer work 2017-07-23 13:45:04 -10:00
Phillip Stephens b22c0bc75f Fix CGuiTextSupport crash 2017-07-07 05:23:20 -07:00
Jack Andersen b8613d61f8 Tons of save-related fixes 2017-02-07 20:48:43 -10:00
Jack Andersen 3a3298d48e STRG cooking bug fixes 2017-01-26 16:22:52 -10:00
Phillip Stephens 65fb75737f CScriptTrigger work 2017-01-14 19:59:37 -08:00
Phillip Stephens 37aab51253 Formatting, and more script object implementations 2016-12-19 10:27:58 -08:00
Jack Andersen f7f5066038 Better null-tag handling; integrate CSaveWorld and CMapWorld loading 2016-10-08 10:32:36 -10:00
Phillip Stephens 23b6bd350e Prelim CPlayer imps, fix race condition in CGameGlobalObjects 2016-09-25 09:45:22 -07:00
Phillip Stephens 38fcf914b4 CFirstPersonCamera imps 2016-09-16 15:21:19 -07:00
Phillip Stephens f2635f449c Various cleanups and minor imps 2016-09-09 21:50:00 -07:00
Jack Andersen 2a425b5a73 Work on CStateManager::InitializeState flow 2016-08-13 17:00:58 -10:00
Jack Andersen 76afccbdbe More ScriptLoader imps 2016-04-18 14:17:49 -10:00
Jack Andersen 3ae77d3390 Remaining CStateManager fields, loaders, collision stubs 2016-04-17 12:38:05 -10:00
Jack Andersen 042030934b Various CStateManager additions and camera stubs 2016-04-16 11:49:47 -10:00
Jack Andersen 8608b52774 CModelData imps 2016-04-14 11:42:47 -10:00
Jack Andersen 5de5c3d85f Character factory support classes 2016-04-12 20:07:23 -10:00
Jack Andersen 64d85d7427 Add CPOINode family of classes 2016-04-10 21:10:28 -10:00
Jack Andersen fedc93912d Refactor for original/pc dataspec handling 2016-03-25 14:51:59 -10:00
Jack Andersen 783fb4c4fe Humungous refactor 2016-03-04 13:04:53 -10:00
Phillip Stephens 764d75f38e Add ability to reference resources by name 2016-02-20 04:40:58 -08:00