Lioncash
a49d26f800
CParticleElectric: Return std::nullopt in GetBounds()
...
Same behavior, but avoids zeroing out the internal buffer in some
implementations of std::optional.
2020-04-05 05:12:25 -04:00
Lioncash
eb1209b492
CFlameWarp: Dehardcode container sizes
...
Same behavior, less magic numbers.
2020-04-03 01:10:22 -04:00
Lioncash
194cdf145f
Runtime: Use nullptr where applicable
...
Same behavior, but no magic 0 value.
While we're in the same area, we can do minor cosmetic changes.
2020-03-27 20:18:54 -04:00
Lioncash
241a66dc0a
General: Make use of explicit constructors where applicable
...
Gets rid of potential error prone implicitly constructing constructors.
2020-03-27 06:00:17 -04:00
Lioncash
81dcc0604b
CParticleElectric: Make use of std::array where applicable
...
Prevents array to pointer decay.
2020-03-25 03:58:37 -04:00
Lioncash
c61bee13db
CParticleElectric: Add parameters to function prototypes
...
Makes the interface more self-documenting.
2020-03-25 03:58:37 -04:00
Phillip Stephens
af2738c7b1
Merge pull request #269 from lioncash/sconv
...
CParticleSwoosh: Resolve sign-conversion warnings
2020-03-23 23:29:44 -07:00
Phillip Stephens
00691c1175
Merge pull request #268 from lioncash/intconst
...
CIntElement: Remove const_cast
2020-03-23 23:29:26 -07:00
Phillip Stephens
bb9359c579
Merge pull request #266 from lioncash/make
...
CParticleElectric: Use std::make_unique where applicable
2020-03-23 23:28:59 -07:00
Phillip Stephens
734f1d2db5
Merge pull request #264 from lioncash/move
...
General: Remove unnecessary std::move calls
2020-03-23 23:28:24 -07:00
Phillip Stephens
425f8d4cc8
Merge pull request #263 from lioncash/array3
...
CDecal: Make use of std::array where applicable
2020-03-23 23:28:08 -07:00
Lioncash
7a29f4bf52
CParticleSwoosh: Resolve sign-conversion warnings
...
Resolves trivial warnings within loop condition checks.
2020-03-23 00:38:23 -04:00
Lioncash
a2517a504e
CIntElement: Remove const_cast
...
CIESampleAndHold caches values internally for use later in a non-visible
manner to the user of the class. This is a good place for mutable to be
used.
This improves the readability of the GetValue() implementation.
2020-03-22 06:05:59 -04:00
Lioncash
34a0e9f23d
CParticleElectric: Use std::make_unique where applicable
...
Makes it obvious that std::unique_ptr instances are being created within the
implementation code.
2020-03-22 05:27:49 -04:00
Lioncash
0e54861455
General: Remove unnecessary std::move calls
...
There's no real need to std::move a primitive type. A copy will be
performed either way. We can remove std::move in this case to improve
readability.
2020-03-22 00:56:04 -04:00
Lioncash
2b4b7c36a5
CDecal: Make use of std::array where applicable
...
Same behavior, but with stronger-typing and no implicit array to pointer
decay.
2020-03-21 01:53:41 -04:00
Lioncash
fc4df76afc
General: Make use of emplace_back where applicable
...
Allows for in-place construction. Also results in less code to read in
certain usages.
2020-03-21 00:30:12 -04:00
Lioncash
097d4a4422
Runtime: Collapse emplace_back() calls where applicable
...
Same behavior, but with less code.
2020-03-13 17:14:44 -04:00
Phillip Stephens
97e33bdf11
Merge pull request #213 from lioncash/unique
...
CProjectileWeaponDataFactory: Make GetGeneratorDesc() return a unique_ptr
2020-03-12 15:10:49 -07:00
Lioncash
05bccae70e
CDecalDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:46:02 -04:00
Lioncash
1f42b9be93
CParticleElectricDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:20:48 -04:00
Lioncash
59bbbdf41c
CParticleSwooshDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:17:42 -04:00
Lioncash
93121c38f7
CProjectileWeaponDataFactory: Make GetGeneratorDesc() return a unique_ptr
...
Same behavior, but with safer memory management.
2020-03-12 14:00:23 -04:00
Lioncash
15dce1683e
CElementGen: std::move TToken instance in constructor
...
Allows the parameter to be moved into via calling code.
2020-03-09 13:07:53 -04:00
Lioncash
af2a82b5a7
CElementGen: Make GetSystemCount() a const member function
...
This doesn't modify internal member state, so this can be made a const
member function.
2020-03-09 13:03:42 -04:00
Lioncash
a8486cf479
CElementGen: Resolve sign-conversion warnings in loops
...
Prevents implicit truncation to int from occurring.
2020-03-09 13:01:42 -04:00
Lioncash
9db07b037a
CElementGen: Make use of std::array where applicable
2020-03-09 12:53:28 -04:00
Lioncash
35adfe8abf
CElementGen: Alphabetize forward declarations
...
Makes them nicer to visually scan over.
2020-03-09 12:33:24 -04: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
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
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
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
6a3eba0091
Merge pull request #103 from lioncash/unique
...
CParticleDataFactory: Use unique_ptr where applicable
2019-10-18 01:01:40 -07:00
Lioncash
af7d8e9095
CUVElement: Provide initial value for cv in GetValueUV()
...
The game executable itself sets this variable to an initial value of 1
prior to calling cycleFrames' GetValue() member function.
2019-10-11 17:05:26 -04:00
Lioncash
35fb0e4911
CUVElement: Use const where applicable
...
While we're at it, we can also make conversions to float explicit.
2019-10-11 17:05:23 -04:00
Lioncash
7430b70b73
CParticleDataFactory: Use unique_ptr where applicable
...
Same behavior, but makes the functions a little safer in terms of memory
management.
2019-10-11 15:16:13 -04:00
Lioncash
8b58cdc268
CIntElement: Add class to handle RTOI int elements
...
Within the int element handling code, there seems to be a missing
implementation (with the FourCC 'RTOI'), which seems to take two 32-bit
floating point values, multiplies them, then converts the result to a 32-bit
integer.
2019-10-06 08:52:41 -04:00
Lioncash
ff940612bc
CIntElement: Make use of std::clamp within CIEClamp's overrides
...
Same behavior, less code.
2019-10-04 19:51:38 -04:00
Lioncash
3407a59ad7
CIntElement: Simplify CIEKeyframeEmitter's GetMaxValue()
...
We can just use std::max_element here to collapse the loop into an
assignment.
2019-10-04 19:46:36 -04:00
Lioncash
af0c2c41e3
CIntElement: Organize cpp includes
2019-10-04 19:38:31 -04:00
Lioncash
83873b580e
CIntElement: Join variable declarations with assignments where applicable
2019-10-04 19:38:26 -04:00
Lioncash
66b198d1a4
CElementGen: Correct FourCC in SetTranslation()
...
The game executable checks for a FourCC of ELSC within this function,
not SELC.
2019-10-03 09:45:26 -04:00
Lioncash
36d04456dd
General: Normalize RuntimeCommonB include paths
...
Finishes the normalizing of all of includes within the RuntimeCommonB target's headers.
2019-09-23 17:22:37 -04:00
Lioncash
06789d1860
General: Normalize several headers' include paths
...
Normalizes the include paths and makes them consistent. Also adds any
missing includes relevant to the interface.
2019-09-22 20:36:33 -04:00
Lioncash
f9079f0215
Runtime: Make use of std::make_unique where applicable
...
Makes use of the C++14 make_unique allocation function to allocate class
instances where applicable instead of a reset with a new operator within
it.
This doesn't touch cases where buffers are allocated, given make_unique
would zero-initialize them.
2019-09-12 04:09:48 -04:00
Lioncash
d3d629d405
RuntimeCommon: Use const on member functions where applicable
...
Adds missing const qualifiers on class member functions that don't
modify instance state.
2019-08-14 09:25:39 -04:00
Lioncash
2059535b55
RuntimeCommonB: Use the override specifier where applicable
...
Applies the override keyword where applicable to indicate visually where
member function overriding is occurring. This only targets
the RuntimeCommonB target as a starting point, which resolves around
900+ cases where the keyword could be used.
2019-08-09 09:13:26 -04:00
Jack Andersen
5acf9ecbcf
Graphics debug groups and bug fixes
2019-07-20 22:42:52 -10:00
Jack Andersen
7a3da1f7a6
Massive fmtlib refactor
2019-07-19 18:27:21 -10:00
Jack Andersen
fd0bfc3acf
Minor flamethrower and babygoth fixes
2019-06-30 20:14:42 -10:00
Phillip Stephens
6df0fcde50
Minor CElementGen cleanup, implement CFlaahgraPlants
2019-06-20 14:17:03 -07:00
Jack Andersen
87023b432e
Fixes in ANIM cooking
2019-06-15 16:22:23 -10:00
Jack Andersen
e218b8aeb5
CActorContraption fixes, better CMake dependency handling
2019-06-11 16:05:17 -10:00
Phillip Stephens
81f1e22fc2
More CFlameThrower imps, implement `CScriptSpecialFunction::ThinkChaffTarget` and `CScriptSpecialFunction::ObjectFollowObject`
2019-05-09 19:33:56 -07:00
Phillip Stephens
28071851ad
Initial CFlameThrower imps
2019-04-16 01:00:46 -07:00
Jack Andersen
3a0d2930fa
Numerous uninitialized memory fixes
2019-04-06 19:14:48 -10:00
Jack Andersen
b72cc490e8
Implement CFishCloud
2019-04-02 18:32:31 -10:00
Jack Andersen
99b1a8ef49
Lots of bug fixes
2019-03-12 17:46:20 -10:00
Jack Andersen
2f963b9ce3
Various bug fixes
2019-03-08 22:58:27 -10:00
Jack Andersen
8b9f073635
Various rendering fixes
2019-03-02 20:19:42 -10:00
Jack Andersen
8df0a4913c
zeus constexpr refactor and thermal visor fixes
2019-02-23 21:15:54 -10:00
Jack Andersen
48eaa2545b
Working CScriptGunTurret
2019-02-17 19:47:46 -10:00
Jack Andersen
ad2681f857
Windows fixes
2019-01-28 22:28:35 -10:00
Jack Andersen
d60fcc99c9
Fix CNewIntroBoss and particle bugs
2019-01-04 17:28:02 -10:00
Phillip Stephens
d30ceb6611
More CPuddleSpore implementations
2018-12-12 11:50:37 -08:00
Jack Andersen
636c82a568
New code style refactor
2018-12-07 19:30:43 -10:00
Jack Andersen
7c7da6671a
SIMD refactor
2018-12-07 15:49:15 -10:00
Jack Andersen
9c88971df6
Initial CSpacePirate and rag doll imps
2018-11-23 22:09:35 -10:00
Phillip Stephens
a7e81073ae
CDamageInfo fixes, initial CPuffer
2018-11-13 20:16:11 -08:00
Phillip Stephens
89ece2e9b2
Proper CRandom16 usage
...
More CScriptGunTurret imps
2018-11-09 18:48:06 -08:00
Jack Andersen
1aab0528f3
Various bug fixes
2018-11-07 14:53:38 -10:00
Jack Andersen
3ef7386978
Proper interleaved rendering of indirect-textured particle instances
2018-11-04 21:25:28 -10:00
Jack Andersen
4c306e7e40
Implement CHUDBillboardEffect, bug fixes
2018-11-03 15:08:44 -10:00
Phillip Stephens
dd30f51761
Initial CScriptGun implementation, more loaders
2018-10-27 17:20:30 -07:00
Jack Andersen
29dad50cca
Particle, map and line renderer fixes
2018-10-25 18:37:22 -10:00
Jack Andersen
8fb77eac2c
Various bug fixes
2018-10-20 18:14:00 -10:00
Jack Andersen
3f4aeffb17
Merge branch 'shader-refactor'
2018-10-15 17:17:37 -10:00
Phillip Stephens
bbfe61efbf
Various loader implementations
2018-10-11 15:57:05 -07:00
Jack Andersen
c91e5df986
Convert to pragma once
2018-10-06 17:42:33 -10:00
Jack Andersen
9461e98512
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde into shader-refactor
2018-10-06 16:59:32 -10:00
Jack Andersen
c307e354ca
Huge shader refactor
2018-10-06 16:59:17 -10:00
Phillip Stephens
94fd52d0ea
HUD and CPlayer bug fixes
2018-09-20 11:17:09 -07:00
Phillip Stephens
c3d8967605
Implement CPowerBomb
2018-09-09 18:04:57 -07:00
Jack Andersen
5a60a0acfc
Amuse API changes
2018-08-27 19:44:16 -10:00
Jack Andersen
cd3bba2f0e
Working grapple beam
2018-06-20 14:57:57 -10:00
Jack Andersen
941c4d793c
Fix CScriptEffect translation set
2018-06-12 16:32:02 -10:00
Jack Andersen
8f9d7da3ee
Implement tessellation shader for HLSL
2018-06-07 15:15:46 -10:00
Jack Andersen
a5f25bf3f4
Fix water rendering
2018-06-02 20:11:39 -10:00
Jack Andersen
cc6d79e280
Various bug fixes
2018-05-26 18:22:38 -10:00
Jack Andersen
70b3404b7c
Windows build fixes and warning avoidance
2018-05-24 20:39:38 -10:00
Jack Andersen
f60af632b3
Big fixes and big memory leak refactor (linux only for now)
2018-05-19 20:14:57 -10:00
Jack Andersen
979a54a8a8
More bug fixes
2018-05-17 18:16:33 -10:00
Phillip Stephens
0c49c8ea9e
Implement CScriptActorKeyframe
2018-05-14 14:44:09 -07:00
Phillip Stephens
8d395d932e
Implement CScriptEffect, more fixes for CScritDock
2018-05-13 20:38:36 -07:00
Jack Andersen
9130b9459a
More particle bug fixes
2018-05-13 13:27:47 -10:00
Jack Andersen
faf0ac7d27
Particle POI fix, implement ORNT mode for particles
2018-05-12 18:09:11 -10:00
Jack Andersen
12430610f1
Lots of bug fixes
2018-05-09 21:25:26 -10:00
Phillip Stephens
711c3e0d2c
Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor
2018-04-29 20:12:41 -07:00
Phillip Stephens
6d60ccfd04
Various fixes and tweaks, Implement CExplosion, Add cheats
2018-04-26 14:12:20 -07:00
Jack Andersen
7100ed437f
macOS decal rendering support
2018-03-16 17:41:01 -10:00
Jack Andersen
017185109f
Fix disappearing actor issue
2018-03-04 13:23:21 -10:00
Jack Andersen
46a4a37cc6
Initial working projectiles
2018-02-11 19:30:21 -10:00
Jack Andersen
547471c6ba
Work on projectiles
2018-02-10 19:27:00 -10:00
Jack Andersen
3754962301
Finish CProjectileWeapon
2018-02-09 20:26:12 -10:00
Jack Andersen
ac8dfde174
Various bug fixes and CActor rendering
2018-02-04 20:56:09 -10:00
Jack Andersen
36f1473f3e
All animation nodes implemented
2018-01-29 15:04:01 -10:00
Jack Andersen
bb10423267
Various particle bug fixes
2018-01-26 22:34:46 -10:00
Jack Andersen
7a179eb10a
Various bug fixes
2018-01-13 20:44:22 -10:00
Jack Andersen
73ae278c87
Several collision fixes
2017-12-17 16:54:50 -10:00
Jack Andersen
8901ac2150
Various fixes
2017-12-09 19:30:01 -10:00
Jack Andersen
3894749675
Changes to support boo object tracker API
2017-11-04 20:17:12 -10:00
Jack Andersen
484a4900a0
CMorphBall Complete
2017-09-29 17:45:57 -10:00
Jack Andersen
2c4967ca4d
More work on CMorphBall
2017-09-16 17:13:03 -10:00
Jack Andersen
27cee61765
Implement array-based rstl::reserved_vector
2017-09-10 21:08:30 -10:00
Jack Andersen
10092821c8
Initial round of CMorphBall implementations
2017-09-10 16:18:49 -10:00
Jack Andersen
53ec80ce72
Implement CFlameWarp
2017-09-09 23:04:51 -10:00
Jack Andersen
149eed4b73
Implement CAuxBeam
2017-09-09 14:36:21 -10:00
Jack Andersen
361aa1512b
Finish CGunWeapon
2017-09-04 17:00:19 -10:00
Jack Andersen
640623f3ef
Finish CGrappleArm
2017-09-03 16:22:46 -10:00
Phillip Stephens
870e8c80ee
Refactor ResId into CAssetId
2017-08-12 22:26:14 -07:00
Phillip Stephens
2dee7c72cb
Fix build error
2017-08-01 03:08:42 -07:00
Phillip Stephens
9afacd791b
CActorModelParticles work
2017-07-31 03:47:04 -07:00
Jack Andersen
6c257e1811
Work on CPlayer
2017-07-15 20:13:37 -10:00
Jack Andersen
47e73f9f80
Add particle data binding for rendering PMUS quads
2017-06-12 08:20:07 -10:00
Jack Andersen
14a4bc2050
ZERY fix
2017-06-10 18:07:09 -10:00
Jack Andersen
f8f3bf407a
Finish CParticleElectric
2017-06-10 16:57:35 -10:00
Jack Andersen
f3acc97d63
Implement actual CParticleSwoosh rendering
2017-06-09 19:34:39 -10:00
Jack Andersen
302bd76ebd
Implement remaining CParticleSwoosh renderers
2017-06-05 19:05:09 -10:00
Jack Andersen
a07097855b
Work on CParticleSwoosh renderers
2017-06-04 16:40:29 -10:00
Jack Andersen
ca9170bc88
Several initial CParticleSwoosh implementations
2017-06-03 18:54:47 -10:00
Jack Andersen
6da6e37d42
Conform CElementGen with retail
2017-06-03 15:01:09 -10:00
Jack Andersen
db8a7d3433
CParticleDatabase implementations
2017-06-02 20:03:07 -10:00
Jack Andersen
08cbeceb80
Windows build fixes
2017-05-08 09:10:09 -10:00
Jack Andersen
b2d375a1d7
Finish CSamusDoll
2017-05-05 19:21:42 -10:00
Jack Andersen
db12dd2ea2
Implement CStateManager::Update
2017-03-23 19:30:16 -10:00
Jack Andersen
6c81cea420
Windows fixes and updated rendering interface
2017-03-17 13:33:02 -10:00
Jack Andersen
1629882113
Refactors to support fog volume rendering
2017-03-13 21:03:58 -10:00
Jack Andersen
c407e75943
Frontface culling support for Metal
2017-03-10 11:08:51 -10:00
Jack Andersen
ce723d5505
Frontface culling support boo sync
2017-03-10 10:52:53 -10:00
Jack Andersen
9b9ba95d45
Sync with boo shader cache
2017-03-05 13:03:23 -10:00
Jack Andersen
cac0e328f7
Tons of DrawWorld-related implementations
2017-03-03 18:31:08 -10:00
Phillip Stephens
ac5f28eeff
Add missing factories, update hecl
2017-02-13 13:29:00 -08:00
Phillip Stephens
a8f5efb6e5
Fix command line args on macOS when passed via open, implement CScriptCameraPitchVolume
2017-01-23 02:31:15 -08:00
Phillip Stephens
12c6163e32
Fix CMemoryCardSys shutdown crash
2017-01-22 09:36:25 -08:00
Jack Andersen
e9222c7aba
Merge branch 'master' of https://github.com/AxioDL/urde
2017-01-21 15:53:11 -10:00
Jack Andersen
0744a2307a
Several architectural fixes and additions
2017-01-21 15:40:12 -10:00
Phillip Stephens
362fb6b00d
Implement CParticleGenInfoGeneric
2017-01-20 22:03:37 -08:00
Jack Andersen
513d283bee
Merge branch 'master' of https://github.com/AxioDL/urde
2016-12-22 20:43:26 -10:00
Jack Andersen
d7f79d6ec3
Work on CMemoryCardDriver
2016-12-22 20:41:39 -10:00
Phillip Stephens
598f64002c
Silence warnings, and fix Windows build
2016-12-21 11:27:15 -08:00