Commit Graph

3558 Commits

Author SHA1 Message Date
Luke Street b4e242b88d ci: Add libgtk-3-dev, disable freetype in macOS build 2022-03-16 02:33:39 -04:00
Luke Street 5a4b5bb38d More Windows fixes & virtual destructor for CSkinnedModel 2022-03-16 01:21:01 -04:00
Luke Street efd14dcaf2 aurora: Use MapAsync for buffer writing 2022-03-15 22:39:22 -04:00
Luke Street 02a7b85b23 aurora: WIP cache for display lists & static buffers 2022-03-15 02:18:45 -04:00
Luke Street bbdad137af CCubeMaterial: Set color channel flags from material 2022-03-15 00:04:44 -04:00
Luke Street b403edb804 ImGuiEntitySupport: Support modifying area attributes in real time 2022-03-15 00:04:44 -04:00
Henrique Gemignani Passos Lima 74c08aa486
Properly depend on zlib 2022-03-15 01:48:08 +02:00
Luke Street ec5f188063 Implement fog 2022-03-14 19:12:18 -04:00
Luke Street af856de6a8 aurora: Start implementing TCGs 2022-03-14 18:00:03 -04:00
Luke Street cdcfc7eccc Fix infinite loop when script object load fails 2022-03-14 02:07:16 -04:00
Luke Street 69d0ad1fd9 Fix Stream API issues 2022-03-14 01:47:25 -04:00
Luke Street 40a3d361dc Fix lighting issues; fix CPatterned damage color 2022-03-14 01:10:29 -04:00
Luke Street f3635c740a CGraphics: Clear flags on StreamEnd 2022-03-13 15:22:08 -04:00
Luke Street 8682525b88 CCubeRenderer: Fix call to SetChanMatColor 2022-03-13 15:17:13 -04:00
Luke Street da224d492a CCubeRenderer: Implement ActivateLightsForModel & PrepareDynamicLights 2022-03-13 15:14:11 -04:00
Luke Street ce646610cc CStateMachine: Fix state name lookup 2022-03-12 15:43:39 -05:00
Henrique Gemignani Passos Lima cf41841f1d
Fix references to WIN32 instead of _WIN32 2022-03-12 21:13:01 +02:00
Luke Street 3be470b7b8 Compile fixes & cleanup 2022-03-12 13:59:30 -05:00
Luke Street 63041d5b70 CAnimSource: Fixes for frame interpolation 2022-03-12 13:55:12 -05:00
Phillip Stephens 3b5d5e1473
Update zeus 2022-03-12 09:03:55 -08:00
Luke Street a3d0da44e2 Implement CGX & migrate usages to CGX/GX 2022-03-12 10:47:20 -05:00
Luke Street 929bb65417 Rework particle token descriptions 2022-03-10 18:56:55 -05:00
Luke Street d7dbec5be0 Implement CVertexMorphEffect & CSkinnedModelWithAvgNormals (prev. CMorphableSkinnedModel) 2022-03-10 18:56:50 -05:00
Luke Street ddc34e3a0c Fix CActor & CScriptDebris CModelFlags 2022-03-10 03:41:43 -05:00
Luke Street 8096ffc29a CCubeMaterial: Fix kcolor set in HandleTransparency 2022-03-10 03:27:50 -05:00
Luke Street 15696f3aa4 Guess how long it took to find this one number 2022-03-10 02:29:02 -05:00
Luke Street cd963c4a5c Reimplement CSkinRules/CSkinnedModel; skinning kinda works! 2022-03-10 01:33:17 -05:00
Phillip Stephens 8714fbf844
CAuiImagePane: helps if you actually use the coordinates and not an empty vector... 2022-03-08 23:48:22 -08:00
Luke Street 4684f4106f Shader fixes & stub out LineRenderer calls in CElementGen 2022-03-09 02:32:01 -05:00
Luke Street d62336b813 CModel destructor & frame list fixes 2022-03-09 02:23:56 -05:00
Luke Street 8d83afa102 CSplashScreen: Render Dolby splash 2022-03-09 00:51:00 -05:00
Luke Street 5097a700f5 CTweakPlayer: Call FixupValues 2022-03-09 00:39:48 -05:00
Luke Street 13b1ebb12e The Great Removal 2022-03-09 00:06:42 -05:00
Luke Street c7f05d0a59 Windows fixes & memory fixes 2022-03-08 18:36:39 -05:00
Luke Street 3fd0b1f23a Fixes & CArtifactDoll/CSamusDoll updates 2022-03-08 17:21:15 -05:00
Luke Street e88f831950 Implement HandleTransparency, lighting & fix texture load 2022-03-08 17:19:02 -05:00
Luke Street a2743b905b aurora: model fixes, texture_convert fixes 2022-03-08 03:52:36 -05:00
Luke Street e0a7236ad6 Various model rendering fixes 2022-03-08 02:44:57 -05:00
Phillip Stephens eb17b8061d
CTevCombiners: I overlooked a possible buffer overrun, fix it by using `maxTevStages` instead of `ERglTevStage::MAX` 2022-03-07 22:19:07 -08:00
Phillip Stephens 791b1fa598
CTevCombiners: Add KColorSel and KAlphaSel configuration to CTevPass::Execute 2022-03-07 22:13:25 -08:00
Phillip Stephens cb2440d79c
CTevCombiners: Remove hack in CTevPass::Execute 2022-03-07 22:08:48 -08:00
Luke Street 14a82a678a Some hacks for TEV stage handling 2022-03-08 00:28:31 -05:00
Luke Street 71342ed75e More aurora::gx refactoring 2022-03-07 18:53:42 -05:00
Phillip Stephens 35674c27e5
CCubeRenderer: More rendering imps 2022-03-06 19:07:00 -08:00
Phillip Stephens aea7ac597a
CCubeRenderer: more model darw imps 2022-03-06 13:01:25 -08:00
Luke Street 7d07892198 Extract GX shader/pipeline generation into shared API 2022-03-06 15:58:06 -05:00
Luke Street cd86dbd6ee More CCubeMaterial, more CGraphics, more aurora::gx 2022-03-06 02:46:42 -05:00
Phillip Stephens 7a61b6cf30
CCubeModel: Fix typo 2022-03-05 20:52:14 -08:00
Phillip Stephens 2bdfe96134
CCubeRenderer: Start getting world rendering implemented 2022-03-05 20:50:54 -08:00
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