Commit Graph

3509 Commits

Author SHA1 Message Date
Luke Street 6c3e74b93e CGuiFrame & Model fixes; CModel::Draw impl; Document CModelFlags bits 2022-03-05 19:26:52 -05:00
Luke Street 84b6fcfb44 Remove forRenderer from CGraphics PerspectiveProjectionMatrix 2022-03-05 18:30:43 -05:00
Phillip Stephens 6b1948176a
Remove redundant `GX` specifieron IndTexScale 2022-03-05 13:48:46 -08:00
Phillip Stephens 24a602c10f
Cleanup and more migration to Stream 2022-03-05 13:46:53 -08:00
Luke Street 33d0d14fda Initial working CGraphics Stream API 2022-03-04 22:37:07 -05:00
Phillip Stephens d93cf46bc3
Add CInfiniteLoopDetector to detect infinite loops in release builds 2022-03-04 01:46:33 -08:00
Luke Street 740114af9e Begin transitioning to new CTexture; start Stream API 2022-03-04 02:47:21 -05:00
Phillip Stephens 00fd243f62
CCubeRenderer: Don't fill up the buckets uncontrolled 2022-03-03 00:33:24 -08:00
Phillip Stephens 487dcc4bde
CSkinRules: Fix ReadCount not incrementing offset properly 2022-03-03 00:24:46 -08:00
Phillip Stephens 7010c36056
DolphinCTexture: Near complete RE, usable as-is! 2022-03-02 23:51:11 -08:00
Luke Street 0400388fa6 CGameArea: PostConstructArea fixes 2022-03-02 19:16:48 -05:00
Phillip Stephens b0a711d5e2
Initial proper CTexture RE, fix configuration corruption 2022-03-02 00:26:24 -08:00
Luke Street 5e7b8ebacf Merge branch 'dawn' into new-cmodel
# Conflicts:
#	Runtime/Streams/ContainerReaders.hpp
2022-03-01 01:37:08 -05:00
Phillip Stephens 80362a9483
Fix save loading, rewrite Loadout classes to use CInputStream 2022-02-27 19:33:48 -08:00
Phillip Stephens aa1d6006ed
FileStoreManager: Fix incorrect check 2022-02-27 18:02:33 -08:00
Phillip Stephens fcda2eb261
Add imgui settings back using FileStoreManager to get the path 2022-02-27 17:55:47 -08:00
Phillip Stephens b305454199
FileStoreManager: Use SDL_GetPrefPath, add org argument
Use SDL_GetPrefPath by default, if we fail to get a valid path *then* we use the platform specific logic as a fallback
2022-02-27 17:35:13 -08:00
Phillip Stephens 399b44baf0
Minor cleanup 2022-02-27 17:15:03 -08:00
Phillip Stephens c79ddb8c42
CVarManager: Bring back de/serialization 2022-02-27 17:11:10 -08:00
Phillip Stephens 44f9d6648a
CGraphics: Viewport fixes 2022-02-27 14:46:15 -08:00
Luke Street fb69d3fdba aurora: Add more GX state functions & cleanup 2022-02-27 16:58:27 -05:00
Phillip Stephens 004d78100f
More CCubeRenderer imps 2022-02-27 13:17:44 -08:00
Phillip Stephens 805065b6f2
CCubeRenderer: Add Drawable logic implemented 2022-02-27 12:12:02 -08:00
Luke Street 1583248896 Fix missing CMoviePlayer::Initialize call 2022-02-27 12:08:24 -05:00
Phillip Stephens b02ec12049
Initial CFont implementation, proper CTexture/CGraphicsPalette structures 2022-02-26 18:18:58 -08:00
Luke Street 40a1f3c4a0 Merge branch 'dawn' into new-cmodel 2022-02-26 16:44:13 -05:00
Luke Street 4b69cb449d aurora: DPI scaling fixes (renderer, imgui) 2022-02-26 15:59:55 -05:00
Phillip Stephens 7a59585c70
Use RE'd CStopwatch adapted for std::chrono, get metaforce linking again 2022-02-26 08:42:42 -08:00
Phillip Stephens 8e9199429d
Add CCircularBuffer, CGuiTextSupport changes 2022-02-26 08:17:09 -08:00
Luke Street 586268c66f More CCubeModel/CCubeMaterial 2022-02-26 02:05:59 -05:00
Luke Street 832eb180bd Begin transitioning to new CModel/CCubeModel & friends 2022-02-25 02:45:25 -05:00
Phillip Stephens b5a4bc0c93 Merge CMemoryCardSysOSX and CMemoryCardSysNix 2022-02-24 16:16:49 -08:00
Luke Street c3c9f9d601 Remove shader warmup 2022-02-23 03:20:29 -05:00
Phillip Stephens 1685489303
Get MP1 Trilogy loading, implement version difference in CGuiTextPane, harden FrontEnd for Trilogy missing files 2022-02-23 00:18:50 -08:00
Luke Street d466fab19d aurora: Add controller button remapping 2022-02-23 02:59:52 -05:00
Luke Street 049a7764b8 Add CDvdFile::SetRootDirectory; load proper DOL for Wii versions 2022-02-23 02:04:48 -05:00
Luke Street 848a8e4201 Use game disc title in log message 2022-02-23 01:38:01 -05:00
Luke Street 9966ca13fb Add CDvdFile::DiscInfo and update version detection 2022-02-23 01:28:35 -05:00
Luke Street 107ca74702 Extract extern CMakeLists.txt; add nativefiledialog 2022-02-23 00:28:21 -05:00
Luke Street b2b03f1ace Merge remote-tracking branch 'origin/main' into dawn 2022-02-22 21:09:14 -05:00
Luke Street 648a8e1af5 Merge branch 'new-streams' into dawn 2022-02-22 21:08:53 -05:00
Phillip Stephens 40669f4dc9
Add initial rumble support, use modified SDL branch to support all GC controller rumble modes 2022-02-22 01:12:15 -08:00
Phillip Stephens 15900053fa
Remove athena from Runtime, use raw zlib in bintoc rather than gzip 2022-02-21 22:59:47 -08:00
Luke Street c33674b9ab Lots of Windows fixes; add D3D12; more boo decoupling 2022-02-22 00:53:57 -05:00
Luke Street 54330e43b6 ci: Build only metaforce 2022-02-21 22:12:03 -05:00
Luke Street 5d9b7446cc Include logvisor in RetroTypes.hpp 2022-02-21 21:50:32 -05:00
Luke Street 57d96dbb17
Fully decouple hecl from Metaforce
- Added CStringExtras Convert functions
  (and UTF-compatible versions)
- GX header copied into Runtime
- SFX headers copied into Runtime/Audio
2022-02-21 08:01:06 -08:00
Phillip Stephens 6c92f03664
Move CVar* into Metaforce to begin removal of hecl's Dataspec 2022-02-21 08:01:06 -08:00
Phillip Stephens 64d4b0388c
Get Exo off the DataSpec 2022-02-21 08:01:06 -08:00
Phillip Stephens 1655d229cf
Fixes to get Metaforce booting again! 2022-02-21 08:01:06 -08:00
Phillip Stephens 8afab43876
CSegId is 32 bits in files 2022-02-21 08:01:06 -08:00
Phillip Stephens ad272f7468
More refactoring, decouple tweaks from hecl 2022-02-21 08:01:05 -08:00
Phillip Stephens ce23544a15
Fix CInputStream::Get/ReadBytes not properly updating position 2022-02-21 08:01:05 -08:00
Phillip Stephens dad7249927
RE COutput/InputStream and friends and migrate over
This branch is probably still horribly broken, but it's a good first step to migrating away from having hecl embedded in the runtime
2022-02-21 08:01:05 -08:00
Phillip Stephens 49418f444f
aurora: Cleanup, rename ZTest to ZComp to more accurately describe purprose, implement colored_quad 2022-02-20 13:06:04 -08:00
Phillip Stephens 2648fc50e4
aurora: Implement all major input events (still missing scroll events) 2022-02-19 19:25:21 -08:00
Luke Street 0703cf60b3 aurora: Pipeline info debug overlay 2022-02-19 01:59:24 -05:00
Luke Street b6b68135ef aurora: Working movie player (again) 2022-02-19 00:33:56 -05:00
Luke Street c64f9eb2d1 aurora: Reimplement textures 2022-02-17 19:38:31 -05:00
Phillip Stephens aabef3e058
Aurora: Initial event implementations 2022-02-16 01:23:39 -08:00
Luke Street 7b9f893a49 aurora: the boring C++ version 2022-02-16 00:21:24 -05:00
Phillip Stephens 615204f71f
More input and rendering implementations 2022-02-13 13:32:52 -08:00
Luke Street a413a010b5 CMorphBall: Fix inverted check in ApplySpiderBallRollForces 2022-02-11 11:05:53 -05:00
Luke Street f510f1904c CScriptSpiderBallWaypoint: Small fix in GetClosestPointAlongWaypoints 2022-02-10 23:06:51 -05:00
Phillip Stephens 7ee8f6e01d
Add missing class variable 2022-02-09 01:01:06 -08:00
Phillip Stephens a6b2d66e1e
Input: Add onControllerAdded/Removed callbacks and also display the controller name in the input viewer 2022-02-09 00:54:53 -08:00
Luke Street 52fd54bc3e Input viewer tweaks 2022-02-09 02:16:50 -05:00
Luke Street 339d2a9d5e Tweak imgui font size & hinting 2022-02-09 02:08:07 -05:00
Luke Street bd6aaddf1a Merge remote-tracking branch 'origin/imgui-freetype' into wgpu
# Conflicts:
#	.github/workflows/build.yml
#	.github/workflows/release.yml
#	README.md
#	imgui/CMakeLists.txt
#	imgui/ImGuiEngine.cpp
2022-02-09 01:39:54 -05:00
Luke Street ed4d38073b Fix controller axes + clamping 2022-02-08 22:14:14 -05:00
Phillip Stephens acd861754c
TexturedQuad fixes, Better controller input handling (needs custom mapping) 2022-02-08 11:18:12 -08:00
Luke Street 5a41dab870 Merge remote-tracking branch 'origin/main' into wgpu
# Conflicts:
#	extern/boo
2022-02-08 03:46:22 -05:00
Luke Street 72b4d5a7fc macOS fixes; call onAppWindowResized after launch 2022-02-08 03:42:59 -05:00
Luke Street 011f65c48f Set window icon 2022-02-08 03:28:56 -05:00
Luke Street b871cc965a memmove -> memcpy 2022-02-08 01:59:09 -05:00
Luke Street 921d6bf10a Working movie player 2022-02-08 01:54:05 -05:00
Luke Street a1482b4743 SDL controller input 2022-02-07 20:48:08 -05:00
Phillip Stephens 938852afd8
Remove missed boo nonsense 2022-02-07 04:30:36 -08:00
Phillip Stephens f7061b1a49
Remove boo classes from CAuiImagePane 2022-02-07 04:28:47 -08:00
Phillip Stephens b8e60eac1b
Add a raw verts version for queue_textured_quad 2022-02-07 04:22:51 -08:00
Phillip Stephens 72502ec9a2
Start implementing input 2022-02-07 02:45:56 -08:00
Phillip Stephens 710b9ae6b3
Add resized/moved events, minor cleanup 2022-02-06 14:53:42 -08:00
Phillip Stephens c53ee12578
Add ability to check if DXT1/BC1 is supported, create a fake texture for the time being for hardware that doesn't support it 2022-02-06 05:13:19 -08:00
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