Commit Graph

3630 Commits

Author SHA1 Message Date
Luke Street d47d5661c6 Various fixes
- Unlock audio pump on exit
- Remove WinMain from CMain (handled by SDL_main)
- Use SDL2:: namespace in CMake
- Disable buildcache on macOS CI for now
2022-06-02 01:52:58 -04:00
Luke Street 52c8a82283 CMapArea: Fix incorrect pointer punning 2022-05-31 20:51:14 -04:00
Luke Street a76d26d724 CMain: Support SDL2 audio backend 2022-05-31 20:48:25 -04:00
Luke Street 4048492279 iOS and tvOS support 2022-05-27 15:52:16 -04:00
Luke Street 05ad95bdd0 CVisorFlare implementation 2022-05-24 01:44:20 -04:00
Luke Street f80813b9cc Transition all Textured/ColoredQuad usages
- Upload textures using staging buffer
- Fixes SetOrtho logic
- More work on thermal visor rendering (still WIP)
- Rework Dawn backend initialization
- Support MoltenVK on Metal
- Various fixes & cleanup
2022-05-23 20:26:35 -04:00
Luke Street 9c5dda1c7d CMake: Use FindPython3 for TCastTo generation 2022-05-19 00:57:53 -07:00
Luke Street 26fd0e2b9f Text rendering & CWorldTransManager fixes 2022-05-19 00:57:30 -07:00
Luke Street ef71c009c6 aurora: Working palette textures 2022-05-15 15:50:38 -04:00
Phillip Stephens ef771e6489
Re-enable texture load in CRasterFont 2022-05-14 13:22:50 -07:00
Phillip Stephens 978f1ab88a
CTextRenderBuffer Implement image rendering 2022-05-14 13:22:21 -07:00
Phillip Stephens e4af804b8c
Get font glyphs rendering (no images yet) 2022-05-14 12:32:36 -07:00
Phillip Stephens 0ca2786302
Initial CTextRenderBuffer rewrite 2022-05-13 23:47:29 -07:00
Luke Street 22dfd3b3f7 aurora: Rework texture binding API
- Texture binding is now handled by GX calls
- More CCubeMaterial / CCubeRenderer impl
- Semi-working thermal visor rendering
- More CGraphicsPalette impl
- Some CWorldShadow impl
- Start work on indirect texturing
- Stub out CTextRenderBuffer
2022-05-13 19:40:31 -04:00
Luke Street 937aeda51f CScriptMidi: Add destructor implementation
This ensures currently playing track is
stopped, avoiding a UAF in Amuse.
2022-05-12 13:18:12 -04:00
Luke Street 7b6720628c rstl: Add element_type to reserved_vector iterator
Fixes macOS build
2022-05-12 12:21:01 -04:00
Luke Street a9680126b9 CAnimSourceReader: Fixes in VGetAdvancementResults, VAdvanceView, VReverseView 2022-05-12 12:10:01 -04:00
Luke Street cf952906b8 Windows build fixes 2022-05-12 11:13:04 -04:00
Luke Street 712a26ab93 CGraphics: Handle Point type in LoadLight
Also removes shadowRender parameter from
DrawUnsortedGeometry, it's now unused.
2022-05-12 01:57:24 -04:00
Luke Street 4e06ea1bb5 Various lighting fixes 2022-05-12 01:10:06 -04:00
Luke Street e69a4fdd98 CGraphics: Fix light params in LoadLight 2022-05-10 19:40:37 -04:00
Phillip Stephens 724deee2ab
Fix incorrect light colors 2022-05-10 01:40:55 -07:00
Phillip Stephens 17136fdfb9
Implement GX lighting API (need to update shader generation) 2022-05-10 01:20:09 -07:00
Phillip Stephens 3cb38cc94c
Fix oversight in ImGuiControllerConfig 2022-05-09 21:59:57 -07:00
Luke Street 9d634e6a05 Hacky scan visor rendering 2022-05-09 17:13:38 -04:00
Phillip Stephens 10d4bbf297
Initial port configuration (needs cleanup) 2022-05-08 01:50:21 -07:00
Phillip Stephens f8d9207aaa
Fix crash if controller windows are collapsed 2022-05-07 21:26:55 -07:00
Phillip Stephens d1b4a71110
Initial controller configuration support 2022-05-07 21:20:52 -07:00
Luke Street 834bc8d183 aurora: Build fix & cleanup 2022-05-05 01:39:43 -04:00
Luke Street 71e4fbb6d4 CPlayer: Fix curAcceleration initial value 2022-05-03 23:59:59 -04:00
Luke Street 21f54ca09d Runtime: Windows compile fixes 2022-05-03 20:27:19 -04:00
Luke Street ad90e4b511 aurora: Add pipeline progress window 2022-05-03 19:36:30 -04:00
Luke Street 0d52438297 Oops 2022-05-03 00:24:00 -04:00
Luke Street 52756deac9 aurora: Reduce buffer sizes; add buffer size debug overlay 2022-05-02 23:31:14 -04:00
Luke Street 4eff37fcb2 aurora: Code cleanup, more performant hashing 2022-05-02 19:42:59 -04:00
Phillip Stephens ce84609b4e
Implement rumble for all controllers (needs tweaking), fix CFinalInput::InitializeAnalog 2022-04-03 18:13:17 -07:00
Phillip Stephens 75630c87bd
CDamageVulnerability: Use matching functions for WeaponHits/Hurts 2022-04-03 12:18:36 -07:00
Phillip Stephens 6c449ca146
CDamageVulnerability: Use matching GetVulnerability imp 2022-03-31 22:37:23 -07:00
Phillip Stephens 95b3859503
CDamageVulnerability: Fix WeaponHits and WeaponHurts with near matching imps 2022-03-31 22:28:13 -07:00
Phillip Stephens 8ac39d1712
CDamageVulnerability: Fix inverted conditional 2022-03-30 23:41:37 -07:00
Phillip Stephens a994907dd4
CDamageVulnerability: Minor fixes 2022-03-30 23:40:11 -07:00
Phillip Stephens a85eebe496
CMaterialList: Fix BitPosition with matching implementation
CAuiImagePane: Fix animated scans... again
2022-03-27 14:07:50 -07:00
Phillip Stephens e2f2635757
CAuiImagePane: Implement last fade 2022-03-26 22:00:53 -07:00
Phillip Stephens 46ef0e1c93
CAuiImagePane: Match UV order from retail 2022-03-26 20:51:50 -07:00
Phillip Stephens 75d01f9310
CFinalInput: Set controllerIdx to 0 by default, fixes Samus wandering during cutscenes 2022-03-26 20:37:02 -07:00
Phillip Stephens 7461188a43
CCubeMaterial: implement final TCG
GX: add ability to view normals (disabled)
2022-03-26 19:21:55 -07:00
Luke Street 07b4208c42 Implement Model TCG 2022-03-26 21:34:20 -04:00
Luke Street 3a28933ffd CScriptTrigger: Remove HoTE progression hack 2022-03-26 20:42:15 -04:00
Luke Street a0d5c5c285 GX implementation of CHudRadarInterface 2022-03-26 20:24:23 -04:00
Luke Street 2503872065 Fixes for CElementGen / CExplosion 2022-03-26 20:23:44 -04:00
Luke Street e409f05b40 aurora: Add graphics debug group stack 2022-03-26 20:23:16 -04:00
Phillip Stephens 51a1b6ba9b
GX: fix uploading post transform matrices 2022-03-24 01:03:41 -07:00
Luke Street 9bc0e7f2e6 Begin transitioning CCameraFilterPass 2022-03-23 01:35:25 -04:00
Phillip Stephens 7cf863983a
Minor input fixes, restore controller name in input viewer 2022-03-22 12:44:35 -07:00
Phillip Stephens 42dde9187b
Migrate to new CInputGenerator and rename old 2022-03-22 12:04:57 -07:00
Phillip Stephens 9804543327
Fix input not working properly 2022-03-22 10:58:19 -07:00
Phillip Stephens e3c8fa1d8f
Start integrating new controller classes 2022-03-22 10:58:19 -07:00
Phillip Stephens 22c9b55300
CDolphinController: rename known field 2022-03-22 10:58:19 -07:00
Phillip Stephens be79334465
Finish CDolphinController imp, ready for integration 2022-03-22 10:58:19 -07:00
Phillip Stephens 9cedce737f
Initial virtual PAD API 2022-03-22 10:58:18 -07:00
Phillip Stephens a96fe24260
Initial CDolphinController RE 2022-03-22 10:58:18 -07:00
Phillip Stephens ec430567c3
Correct tab usage 2022-03-22 10:54:58 -07:00
Phillip Stephens 64e662069d
Fix reading/writing saves 2022-03-22 01:37:10 -07:00
Luke Street e4715a2df6 CGX: Fix sVtxDescList size 2022-03-20 16:52:07 -04:00
Luke Street 671539d7eb Fix accidentally remove changes to RenderParticles 2022-03-20 16:34:25 -04:00
Luke Street fcfa9f0d64 Begin transitioning CElementGen RenderParticles & many fixes 2022-03-20 16:24:02 -04:00
Luke Street 9bcb06d92a CCubeRenderer: Limit dynamic light count in ActivateLightsForModel 2022-03-19 20:52:23 -04:00
Phillip Stephens 3800322735
CInputGenerator: Toggle rumble if a controller is connected and it's a GC controller 2022-03-19 17:45:04 -07:00
Phillip Stephens 9e546931f4
Merge branch 'new-cmodel' of ssh+git://git.axiodl.com:6431/AxioDL/metaforce into new-cmodel 2022-03-19 12:50:37 -07:00
Phillip Stephens f36b6b0264
CAuiEnergyBar: Reimplement rendering code for the new renderer 2022-03-19 12:49:38 -07:00
Luke Street b9b635b311 aurora: GX Stream API, VtxDesc, TevSwap & more 2022-03-19 13:30:25 -04:00
Phillip Stephens ecb4645e89
CCubeMaterial: Implement H/VStrip animations 2022-03-19 01:16:06 -07:00
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