Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Nothing Renders #115

Closed
zbee opened this issue Jul 3, 2024 · 4 comments
Closed

[BUG] Nothing Renders #115

zbee opened this issue Jul 3, 2024 · 4 comments
Labels
bug Something isn't working trivial A small sized update that would take almost no effort to implement

Comments

@zbee
Copy link
Contributor

zbee commented Jul 3, 2024

21:17:14.517 | ERR | Exception during raise of "Void OnUmbraDraw()"
	System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
	 ---> System.MissingMethodException: Method not found: 'FFXIVClientStructs.FFXIV.Common.Math.Vector2 FFXIVClientStructs.FFXIV.Client.Graphics.Scene.Camera.WorldToScreenPoint(FFXIVClientStructs.FFXIV.Common.Math.Vector3)'.
	   at Umbra.Game.GameCamera.WorldToScreen(Vector3 worldPos, Vector2& screenPos)
	   at Umbra.Markers.System.Compass.CompassRenderer.OnUpdate() in \umbra\Umbra\src\Markers\System\Compass\CompassRenderer.cs:line 61
	   at InvokeStub_CompassRenderer.OnUpdate(Object, Object, IntPtr*)
	   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
	   --- End of inner exception stack trace ---
	   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
	   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
	   at Umbra.Common.Scheduler.DrawHandler.Invoke() in \umbra\Umbra.Common\src\Scheduler\Scheduler.cs:line 179
	   at Umbra.Common.Scheduler.OnUmbraDraw() in \umbra\Umbra.Common\src\Scheduler\Scheduler.cs:line 85
	   at Dalamud.Utility.EventHandlerExtensions.HandleInvoke(Action act) in C:\goatsoft\companysecrets\dalamud\Utility\EventHandlerExtensions.cs:line 124

WorldToScreenPoint() changed

var res = Camera.WorldToScreenPoint(worldPos);

Not sure how it would work to give it the second parameter it wants, given it currently gets the Screen Position from that function ha.

@zbee
Copy link
Contributor Author

zbee commented Jul 3, 2024

Seemingly a similar issue in this file, with Raycast2()

if (BGCollisionModule.Raycast2(position, new(0, 1, 0), out var hitInfo)) {

@haroldiedema
Copy link
Contributor

haroldiedema commented Jul 3, 2024

This sounds like a bad build. Try cleaning the solution (removing the out directory) and rebuild the project from scratch.

Also make sure Dalamud & FFXIVClientStructs are up-to-date, although this should happen automatically, it may be outdated if you've done some custom set-up in that regard.

@SyniRon
Copy link

SyniRon commented Jul 3, 2024

Confirmed with a fresh download of a4a3318a for Dalamud and I'm seeing the same, it fails to build for me.

2>GameCamera.cs(39,26): Error CS7036 : There is no argument given that corresponds to the required parameter 'worldPoint' of 'Camera.WorldToScreenPoint(Vector2*, Vector3*)'
2>GameCamera.cs(40,29): Error CS1061 : 'Vector2*' does not contain a definition for 'X' and no accessible extension method 'X' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>GameCamera.cs(40,36): Error CS1061 : 'Vector2*' does not contain a definition for 'Y' and no accessible extension method 'Y' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>GameCamera.cs(45,33): Error CS1061 : 'Vector2*' does not contain a definition for 'X' and no accessible extension method 'X' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>GameCamera.cs(46,20): Error CS1061 : 'Vector2*' does not contain a definition for 'X' and no accessible extension method 'X' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>GameCamera.cs(47,20): Error CS1061 : 'Vector2*' does not contain a definition for 'Y' and no accessible extension method 'Y' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>GameCamera.cs(48,20): Error CS1061 : 'Vector2*' does not contain a definition for 'Y' and no accessible extension method 'Y' accepting a first argument of type 'Vector2*' could be found (are you missing a using directive or an assembly reference?)
2>------- Finished building project: Umbra.Game. Succeeded: False. Errors: 7. Warnings: 0
3>WorldMarkerRaycaster.cs(45,31): Error CS0117 : 'BGCollisionModule' does not contain a definition for 'Raycast2'
3>WorldMarkerRaycaster.cs(53,31): Error CS0117 : 'BGCollisionModule' does not contain a definition for 'Raycast2'
3>WorldMarkerRaycaster.cs(59,35): Error CS0117 : 'BGCollisionModule' does not contain a definition for 'Raycast2'
3>------- Finished building project: Umbra. Succeeded: False. Errors: 3. Warnings: 0

This PR seems like it may be relevant, it was since the latest commit to Umbra.
goatcorp/Dalamud#1885

@haroldiedema
Copy link
Contributor

Ah, that explains it. Seems I have to update Umbra again 😅 I'll get on it in a couple of hours.

@haroldiedema haroldiedema added bug Something isn't working trivial A small sized update that would take almost no effort to implement labels Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working trivial A small sized update that would take almost no effort to implement
Projects
None yet
Development

No branches or pull requests

3 participants