Commit Graph

3476 Commits

Author SHA1 Message Date
Phillip Stephens 06a1c6e8ac
Minor fixes, get PRESS START rendering 2022-02-05 07:22:30 -08:00
Phillip Stephens 18cb40268a
Fix about window not centering when window is resized if no ISO/Project is specified 2022-02-04 21:19:28 -08:00
Luke Street 8e695dce74 Fix macOS compilation 2022-02-04 23:25:35 -05:00
Luke Street 509252a17f Splash screen rendering 2022-02-04 21:23:15 -05:00
Phillip Stephens 8d01afc632
Finish CModel constructors 2022-02-04 00:10:09 -08:00
Phillip Stephens dca8af4d96
Fix division on packed normals 2022-02-03 07:26:33 -08:00
Phillip Stephens 9461fe0563
More CModel RE, removed the separated normal types hack 2022-02-03 07:24:41 -08:00
Phillip Stephens a6106b6c42
Fix factory ref 2022-02-01 23:20:29 -08:00
Phillip Stephens aca91b9361
More CModel re-reverse engineering 2022-02-01 23:18:03 -08:00
Phillip Stephens 05f841a5ce
More CModel RE 2022-02-01 01:18:42 -08:00
Phillip Stephens 3ba2c4bfff
Minor fixes, more CModel RE 2022-02-01 00:14:49 -08:00
Luke Street e48435f11e Start wiring up wgpu+winit 2022-01-31 19:06:54 -05:00
Phillip Stephens a491e2e9f2
Minor cleanups 2022-01-30 12:07:24 -08:00
Phillip Stephens 91996ab561
Fixup metaforce.desktop 2022-01-12 21:59:02 -08:00
Phillip Stephens ce33f1124d
Rename urde.desktop to metaforce.desktop 2022-01-12 21:44:39 -08:00
Phillip Stephens 13d4a94ee1
PhazonBeam fixes, add debug hack for Metroid Prime's lair cutscene trigger 2022-01-09 17:17:51 -08:00
Phillip Stephens 8a9701fc30
CMetroidPrimeExo fixes 2022-01-09 17:17:10 -08:00
Phillip Stephens 72082fc409
Add source object name to Object message log 2022-01-09 17:15:59 -08:00
Phillip Stephens bb9a29c82f Fix missed GRP* macros in Runtime/MP0/MP1.cpp 2021-11-25 13:58:15 -08:00
Phillip Stephens 8bc63e0385
Merge pull request #432 from shiiion/beamcombo-elementgen-fix
x280_VELSources and x278_hasVMD don't skip indices
2021-10-31 15:07:56 -07:00
shiiion c23034de9d x280_VELSources and x278_hasVMD don't skip indices 2021-10-31 06:43:17 -07:00
shiiion 345234eb88 x24c_effectTimer wasn't counted down 2021-10-31 04:20:19 -07:00
shiiion 4a5f3114b1 Fixed wavebuster rendering, plus tiny targeting preference (issue?) 2021-10-30 07:52:34 -07:00
Luke Street a2cc6cd204 Merge remote-tracking branch 'darkszero/feature/lazy-commit-resources'
# Conflicts:
#	extern/boo
2021-10-25 23:07:56 -04:00
shiiion 2fcd4717c6 Fixed some mistakes, generates impacts now 2021-10-25 23:02:56 -04:00
Phillip Stephens 8b12a48302 Fix crash 2021-10-25 23:02:56 -04:00
Phillip Stephens 5fd78e4c75 Initial CIceImpact 2021-10-25 23:02:56 -04:00
Luke Street 99b6034e5c CElementGen: Use transposed matrix in SetOrientation 2021-10-25 23:02:56 -04:00
Luke Street 579bfbb51d CElementGen: Correct x208_orientationInverse type to CMatrix3f 2021-10-25 23:02:56 -04:00
Luke Street e94cd265f8 CWaveBuster: Fixes & renaming in RenderBeam 2021-10-25 23:02:56 -04:00
Phillip Stephens 6fe14ab71a Minor fixes to CWaveBuster 2021-10-25 23:02:56 -04:00
Phillip Stephens ea4df90011 Final CWaveBuster imps 2021-10-25 23:02:56 -04:00
Phillip Stephens 527a9a9514 More CWaveBuster imps 2021-10-25 23:02:56 -04:00
Phillip Stephens 7db00e8ea9 More Wavebuster imps 2021-10-25 23:02:56 -04:00
Phillip Stephens 2cf0bd6784 CWaveBuster: Near complete implementation 2021-10-25 23:02:56 -04:00
Luke Street 32e115f4aa Merge remote-tracking branch 'origin/main' into utf8
# Conflicts:
#	DataSpec/DNAMP1/FRME.cpp
#	DataSpec/DNAMP1/MLVL.cpp
#	Runtime/CMain.cpp
#	hecl/lib/Blender/Connection.cpp
2021-10-25 19:03:01 -04:00
Phillip Stephens a6df91b795
Minor fixes for CMetroidPrimeExo 2021-10-23 14:45:03 -07:00
Phillip Stephens 01ee9a83b4
[MetroidPrimeExo] More implementations, and minor bug fix 2021-09-04 16:18:03 -07:00
Phillip Stephens 22d0343a5f
[Thardus] Rename `x5ec` to `x5ec_stateProg` to match observed behavior 2021-09-04 16:17:14 -07:00
Phillip Stephens 88b184536c
Fix Thardus not flinching when a rock is destroyed 2021-08-14 13:37:53 -07:00
Phillip Stephens 3bb05c0ee5
Always initialize all pipelines in CElementGenShaders, this prevents an edge case in Quarantine Access B 2021-08-06 20:19:29 -07:00
Phillip Stephens 30f17812cd
Minor cleanups in Collision code 2021-07-24 17:54:26 -07:00
Phillip Stephens e331c5d5c6
Add Player Transform tools 2021-07-11 17:59:05 -07:00
Phillip Stephens 96680d2660
Add CVarValueReference 2021-07-10 11:32:25 -07:00
Henrique Gemignani Passos Lima 2ad2a5cfa9 Add cvar for when commit resources is done lazily 2021-07-04 02:53:04 +03:00
Henrique Gemignani Passos Lima d2ae2b3818 Support lazy CGraphics::CommitResources 2021-07-04 02:53:04 +03:00
Phillip Stephens 0b523f98c3
Yeah, I'm an idiot, std::min is the correct one 2021-07-02 23:48:02 -07:00
Luke Street 6430f6c765 Update async load / frame limiter logic
Update nod
2021-06-30 17:54:31 -04:00
Luke Street 9ca1a38171 Use UTF-8 exclusively internally
This removes SystemString, SystemChar, etc.
All filepaths and log strings are assumed to be UTF-8,
with conversions to UTF-16 for Windows APIs as appropriate.

Updates amuse, athena, boo, kabufua and nod
2021-06-30 14:20:45 -04:00
Luke Street 6e12554026 CMain: Use QueryPerformanceCounter for frame limiter on Windows 2021-06-29 00:12:41 -04:00
Henrique Gemignani Passos Lima d8e5f03886 Only instantiate m_actorDebugRender when used 2021-06-29 01:38:51 +03:00
Henrique Gemignani Passos Lima 1b4e0dc754 Improve Optick events 2021-06-29 01:10:54 +03:00
Henrique Gemignani Passos Lima de4ddcaa9c Fix Optick not running 2021-06-29 00:35:55 +03:00
Phillip Stephens 63c4083bef
More Exo work 2021-06-26 13:31:52 -07:00
Phillip Stephens 7ca8c666ef
Restore WaitUntileComplete 2021-06-13 19:33:13 -07:00
Phillip Stephens 933279ceb6
Various knockback related fixes, don't call WaitForComplete in CGameaArea 2021-06-13 18:06:29 -07:00
Phillip Stephens ace87397d7
Knockback/Damage fixes 2021-06-13 03:11:16 -07:00
Luke Street 5356cd688a rstl: Make iterators default-constructible (MSVC STL fix) 2021-06-12 00:45:14 -04:00
Luke Street 5d65131966 Improvements to install target 2021-06-12 00:13:57 -04:00
Luke Street 073af40c4d
Use freetype for ImGui fonts if available 2021-06-07 13:10:55 -07:00
Phillip Stephens a9bcb7a9ce
Reformat pass 2021-06-07 12:29:18 -07:00
Phillip Stephens 4cd242aef3 Fix compile error with MSVC 2021-06-06 18:40:16 -07:00
Phillip Stephens 3664b1b8d1
More compile fixes, disable clang CI for now 2021-06-06 17:35:39 -07:00
Phillip Stephens 0b4f15341b
Use EntityList instead of `rstl::resverved_vector<TUniqueId, 1024>' directly 2021-06-06 17:07:45 -07:00
Phillip Stephens 5bfe881b95
Compile fixes 2021-06-06 16:58:27 -07:00
Phillip Stephens 5f1aed51cb
De-hardcode max entity count 2021-06-06 16:53:41 -07:00
Phillip Stephens 89378700f7
Fix incorrect check for Top-left in ShowDebugOverlay 2021-06-06 14:24:29 -07:00
Phillip Stephens 34baaa8adb
Give the input viewer it's own overlay 2021-06-06 14:22:59 -07:00
Phillip Stephens 995dc184b0
Tie fullscreen state into the CVar 2021-06-06 13:59:53 -07:00
Phillip Stephens 73b7ba8414
Add "Reset to defaults" button to CVar viewer 2021-06-06 13:28:16 -07:00
Phillip Stephens 4845ea605a
Fix minimum dt value (was setting it to be <1/30 by accident) 2021-06-06 13:27:15 -07:00
Phillip Stephens 6ff7e06c15
Remove unnecessary namespace specifier in CGameArea 2021-06-04 22:31:10 -07:00
Phillip Stephens e9b2230c0a
Rename CStateManager::x8_idArr to CStateManager::x4_idArr to better match the game 2021-06-04 22:30:38 -07:00
Phillip Stephens 95f44be694
Rename CSavwWorld to CWorldSaveGameInfo 2021-06-04 22:30:23 -07:00
Phillip Stephens 354d3a0199
Actually fix AuiImagePane 2021-06-04 02:53:12 -07:00
Phillip Stephens 0a869db665
Fix animated scans 2021-06-04 02:06:24 -07:00
Phillip Stephens 8f1b39c27f
Revert change in CTextExecuteBuffer to fix intro text 2021-06-03 23:21:36 -07:00
Phillip Stephens 945302c481
Remove deleted file from CMakeLists.txt 2021-06-03 23:08:51 -07:00
Phillip Stephens 144af8cc15
Rename CWorldLayerState to CScriptLayerManager (this is it's actual name) 2021-06-03 23:08:05 -07:00
Phillip Stephens 99d363d5df
Finish initial CCredits implementation, merge EFlowStates with EClientFlowStates 2021-06-03 16:47:04 -07:00
Phillip Stephens 665dc5fd51
Fix credits scale 2021-06-03 16:24:04 -07:00
Phillip Stephens 0c6813d952
Implement CCredits, minor text parser fixes 2021-06-03 16:24:02 -07:00
Phillip Stephens 0f92b8d8c5
Rename CRelayTracker back to CScriptMailbox 2021-06-03 14:40:01 -07:00
Phillip Stephens 95c944563b
I'm dumb, it is `std::min' 2021-06-02 22:17:42 -07:00
Phillip Stephens 8c2832d13e
More Spiderball fixes 2021-06-02 22:02:51 -07:00
Phillip Stephens 902de57403
Spiderball fixes and cleanup 2021-06-02 21:26:54 -07:00
Phillip Stephens a9858433b8
Spiderball fixes and cleanup 2021-06-02 14:54:58 -07:00
Phillip Stephens deaf14bca6
Fix windows 2021-06-02 11:32:35 -07:00
Phillip Stephens 4cd8ff3586
Fix windows 2021-06-02 11:08:20 -07:00
Phillip Stephens c6db983c41
Fix memcard path CVars and add menu notifying player when they've been reset 2021-06-02 08:06:22 -07:00
Luke Street 281da0bfd4 ImGuiEngine updates & use ImGui stdlib functions 2021-06-02 07:49:03 -04:00
Phillip Stephens 89f58beeb1
Use fileStorage directory for imgui settings 2021-06-02 03:30:04 -07:00
Phillip Stephens 8151e0fe80
Fix Spiderball particles 2021-06-02 03:30:04 -07:00
Luke Street 02ed24a7f1 Use PRI defines for format strings (fixes macOS build) 2021-06-01 10:34:34 -04:00
Phillip Stephens 13350ca3d9
Fix CElementGen::x60_advValues crash 2021-05-31 13:46:25 -07:00
Phillip Stephens 41a2a4ae6d
Rename CScriptDock enum values to match behavior 2021-05-31 13:12:08 -07:00
Phillip Stephens 02fa17025a
More entity inspection 2021-05-31 13:11:38 -07:00
Phillip Stephens b4c2cf2ea4
Prevent potential nullptr deeref 2021-05-31 13:11:01 -07:00
Phillip Stephens ff8c1b15a1
Rename and publicly expose LoadStringTable->ImGuiLoadStringTable 2021-05-31 13:09:58 -07:00
Phillip Stephens cc54aad6f0
Add keyboard shortcuts for Pause and Step Frame 2021-05-31 13:08:56 -07:00
Phillip Stephens aeb55b8fe9
Move room time calculate to ImGuiConsole::PostUpdate 2021-05-31 13:07:41 -07:00
Luke Street b4c951ff58 Utilize window pivot 2021-05-31 11:13:22 -04:00
Luke Street b55e56b8a6 Add developer menu hint on startup 2021-05-31 11:03:41 -04:00
Phillip Stephens 137e96c732
Fix cooking new world/area data without an underscore in the name 2021-05-30 23:10:59 -07:00
Phillip Stephens 27f25223fb
Initial PlayerLoadout structure 2021-05-30 22:14:07 -07:00
Phillip Stephens 201d5c5423
Don't show menubar by default, use to toggle it 2021-05-30 18:44:02 -07:00
Phillip Stephens 45097955a7
Add CVar listeners for Debug menu 2021-05-30 18:23:20 -07:00
Phillip Stephens 6fb78f1add
CVar::hasDefaultValue doesn't do what I thought it did, and I wrote the darn thing 2021-05-30 18:10:42 -07:00
Luke Street 9995199fbf Fix layer overlay string offsets 2021-05-30 20:50:24 -04:00
Luke Street 2fc4a9c0e3 Add Layer info overlay 2021-05-30 20:29:35 -04:00
Phillip Stephens f4b845484d
Add missing scalar value to Vec4f 2021-05-30 17:18:43 -07:00
Phillip Stephens 882a58202e
Implement ConsoleVariables window 2021-05-30 17:15:22 -07:00
Luke Street bed05b1357 Add area ID/name to Area Info debug overlay 2021-05-30 19:57:35 -04:00
Luke Street b4268f7504 Fix missile amount increments 2021-05-30 19:03:23 -04:00
Luke Street 24115948ce Split Amount/Capacity sliders in Items window 2021-05-30 18:56:33 -04:00
Luke Street beb3f65c2b Add Any% and 21% options to Items 2021-05-30 18:37:07 -04:00
Luke Street 598cca3040 Update credits 2021-05-30 18:04:44 -04:00
Luke Street 39f4c3e114 Fix shutdown ordering issues 2021-05-30 16:59:19 -04:00
Luke Street 2894ddb768 Fix missed reference to steady_clock 2021-05-30 15:40:08 -04:00
Luke Street 78bcba85e2 Various updates:
- Simplify Layers logic with hecl bugfix
- Show About window with error message on launch with no game
- Use high_resolution_clock for FPS & load logic (increased resolution on Windows)
2021-05-30 15:03:35 -04:00
Luke Street 052c1888cb Honor scale factor in input viewer 2021-05-30 08:45:49 -04:00
Luke Street 1559441431 Pop inactive color before View button 2021-05-30 08:09:33 -04:00
Luke Street 23f92d450a Update missed ImVec2 references 2021-05-30 08:05:37 -04:00
Luke Street 4cd2932023 Use zeus instead of ImGui math 2021-05-30 08:02:45 -04:00
Phillip Stephens 92f13efbef
Add missing hasPrevious check to input overlay 2021-05-30 00:57:51 -07:00
Phillip Stephens d9b7229e79
Add input visualization, protect first 7 object slots from deletion
The first 7 slots in the game are related to the player, we don't want to allow anyone to delete them because the game *will* crash
2021-05-30 00:52:20 -07:00
Phillip Stephens 48ad17b274
Moar inspection!!! 2021-05-29 17:43:33 -07:00
Phillip Stephens fdd08ca59d
Implement CScriptSwitch inspection 2021-05-29 16:38:41 -07:00
Phillip Stephens 68845c9ee3
Always ensure we have a valid CRandom16 for the GUI code, implement CScriptTimer inespection 2021-05-29 16:17:16 -07:00
Luke Street a67389cea8 Fixes for MSVC 2021-05-29 18:45:08 -04:00
Luke Street 1d95301789 CScriptActor & CDamageVulnerability inspect 2021-05-29 18:45:08 -04:00
Phillip Stephens 53aabceae2 Allow editing amount/capacity separately 2021-05-29 18:45:08 -04:00
Phillip Stephens a066e9aa79 Add CScriptEffect inspection 2021-05-29 18:45:08 -04:00
Luke Street 953876393c Add Help->ImGui->Clear Settings 2021-05-29 18:45:08 -04:00
Luke Street 1bf00f1444 Add filter & warp to Layers window 2021-05-29 18:45:08 -04:00
Luke Street 37f24d4cc5 Add CGameLight properties 2021-05-29 18:45:08 -04:00
Luke Street 303e671a6c Add "Current area" option to Inspect 2021-05-29 18:45:08 -04:00
Phillip Stephens 5cc3f9c05a Use `0x` prefix on hex values, add Editor ID and Area names 2021-05-29 18:45:08 -04:00
Phillip Stephens bc7ff9afaf Fix oversight in Connection lists 2021-05-29 18:45:08 -04:00
Luke Street e400506017 Set initial window size for Layers 2021-05-29 18:45:08 -04:00
Luke Street 44ab54745f Add note on Artifacts tab 2021-05-29 18:45:08 -04:00
Luke Street 822e5d3410 Compact layout for Items window 2021-05-29 18:45:08 -04:00
Luke Street 4d92c87463 Rename worldLayers -> m_worldLayers 2021-05-29 18:45:08 -04:00
Henrique Gemignani Passos Lima 75e84a467b Add imgui layer editor 2021-05-29 18:45:08 -04:00
Luke Street 5167a33605 Okay, actually fix link ordering 2021-05-29 18:45:08 -04:00
Luke Street 3524ac2281 Try different way of specifying link ordering 2021-05-29 18:45:08 -04:00
Luke Street c59192beb6 Fix ImGuiStringViewText on MSVC 2021-05-29 18:45:08 -04:00
Luke Street 29558c988f Add default case to AnimationStateToStr 2021-05-29 18:45:08 -04:00
Luke Street a29a0a583b Fix debugHovered logic 2021-05-29 18:45:08 -04:00
Luke Street 25db5f6e44 Update area map with items All/None 2021-05-29 18:45:08 -04:00
Luke Street 0910863842 Resolve clang-tidy issues & update config 2021-05-29 18:45:08 -04:00
Luke Street 8176f9db38 Proper About window icon scaling 2021-05-29 18:45:08 -04:00
Luke Street d2160eb74d Move Highlight checkbox to Entity 2021-05-29 18:45:08 -04:00
Luke Street 4e804d0bc2 Add Items window 2021-05-29 18:45:08 -04:00
Luke Street 7536e0dcef Serialize CVarManager on shutdown; add build type to About 2021-05-29 18:45:08 -04:00
Luke Street 28c0ebf096 Fix double free; add credits to About 2021-05-29 18:45:08 -04:00
Phillip Stephens 0a76ee1ae2 Add trigger visualization to inspecter 2021-05-29 18:45:08 -04:00
Phillip Stephens acb827a3b5 Add incoming connections 2021-05-29 18:45:08 -04:00
Luke Street 9dc8f664af NoResize for view button column 2021-05-29 18:45:08 -04:00
Phillip Stephens 3aabafd315 Fix crash at launch if g_GameState or g_StateManager is null, don't serialize CVarManager 2021-05-29 18:45:08 -04:00
Luke Street e46ba3ef98 Add About window & debug overlays 2021-05-29 18:45:08 -04:00
Luke Street 5ac2a298f0 Improve overall Inspect performance & fixes 2021-05-29 18:45:08 -04:00
Luke Street c6a75a242f Remove needless references in range loops 2021-05-29 18:45:08 -04:00
Luke Street 0e54d55bf7 Inspect window filter & Patterned body state info 2021-05-29 18:45:07 -04:00
Luke Street 7bd05089e1 Some CPhysicsActor fields 2021-05-29 18:45:07 -04:00
Luke Street 604a9b841b Use existing ScriptObject{State,Message}ToStr 2021-05-29 18:45:07 -04:00
Luke Street 7e9408868f Add connections view 2021-05-29 18:45:07 -04:00
Luke Street 4f48a442de Actor highlighting on selection 2021-05-29 18:45:07 -04:00
Luke Street 4740ca0c43 Add all entities to ImGuiEntitySupport 2021-05-29 18:45:07 -04:00
Luke Street 0841bd4ab2 Initial work on entity introspection 2021-05-29 18:45:07 -04:00
Luke Street bae1d7d59f Update boo; fix viewport/scissor in main loop 2021-05-29 18:45:07 -04:00
Luke Street f8fa3d1f20 Add Warp menu 2021-05-29 18:45:07 -04:00
Luke Street 6eb0d366fe Various fixes / cleanup 2021-05-29 18:45:07 -04:00
Luke Street 55002f1537 Begin Runtime ImGui integration 2021-05-29 18:45:07 -04:00
Luke Street 0fb21ece35 ImGui cursors, clipboard, TTF font & fixes 2021-05-29 18:45:07 -04:00
Luke Street 4b4e991c39 Fix Windows build 2021-05-29 18:45:07 -04:00
Luke Street d0f088e7d5 Fix Metal rendering; HI-DPI improvements 2021-05-29 18:45:07 -04:00
Luke Street 1a5ec8b569 Add initial imgui implementation 2021-05-29 18:45:07 -04:00
Luke Street 94f10bb002 Remove Editor & specter 2021-05-29 18:45:07 -04:00
Luke Street 332ebee36c CDamageVulnerability: Fix missing "Bomb" vulnerability 2021-05-29 18:44:46 -04:00
Phillip Stephens 8f493f17f1
Minor fixes, use CUnitVector in CCollionInfo 2021-05-23 13:10:57 -07:00
Phillip Stephens 070d34d281
Add CMayaSpline update zeus 2021-05-23 11:53:15 -07:00
Phillip Stephens ec08dea524
Minor CSpacePirate fixes and cleanups, add temporary failsafe to keep CSpacePirate's transform from going NaN 2021-05-16 15:29:34 -07:00
Phillip Stephens d44a997a3a
Revert test changes 2021-05-16 12:23:13 -07:00
Phillip Stephens 128015baa6
Code cleanup 2021-05-16 12:11:45 -07:00
Phillip Stephens e9b4cce6db
Remove debug print 2021-05-09 16:10:05 -07:00
Phillip Stephens 6718f697dd
Fix Flaahgra's attack by using the correct variable in CBodyController 2021-05-09 16:05:36 -07:00
Phillip Stephens 6ec2814b8c
CFlaahgra cleanups 2021-05-09 13:53:04 -07:00
Phillip Stephens 61464651cd
CDamageVulnerability fixes 2021-05-08 20:14:38 -07:00
Luke Street 5918daf818 CElementGen: Add activeParticleCount sanity check 2021-05-06 14:35:02 -04:00
Phillip Stephens a3628bebff CElementGen: Disable RecreatePipelines logic for the time being 2021-05-06 11:27:29 -07:00
Phillip Stephens bd050e8ac0 Start renaming CThardus functions 2021-05-06 10:53:19 -07:00
Phillip Stephens 847211f81f Remove unnecessary switch from CLight constructor 2021-05-06 10:52:35 -07:00
Phillip Stephens 5e0604f101 Correct Light radius calculation 2021-05-06 10:51:54 -07:00
Phillip Stephens 2b8bc3fd8a
Minor corrections, and fix memorycard corruption 2021-05-02 15:06:38 -07:00
Phillip Stephens 6ad0e5cb37
CGameCollision: Cleanups 2021-05-01 19:53:11 -07:00
Phillip Stephens 7e97b6f997
CGameCollision: Fix sign error 2021-05-01 19:52:36 -07:00
Phillip Stephens 0d63119cfc
CCollisionActor: Minor fixes and cleanups 2021-05-01 17:28:04 -07:00
Phillip Stephens f1b0c4b735
CJellyZap fixes 2021-04-25 20:16:16 -07:00
Phillip Stephens 518e639f69
Don't recreate every pipeline in CElementGen, only those relevent to CParticle instances 2021-04-20 18:00:03 -07:00