Skip to content

Conversation

@chyyran
Copy link
Member

@chyyran chyyran commented Jan 29, 2022

Ingame Pipe ABI

Todo

  • Graphics Renderers
    • OpenGL Renderer
    • Vulkan Renderer
    • DirectX 11 Renderer
    • DirectX 12 Renderer
  • Input
    • Storyboard browser input
    • Storyboard overlay toggle
    • Storyboard input redirection and mapping
  • Interop
    • Storyboard GraphQL API for ingame
  • Other
    • Storyboard memory triggers (cheevos? cheats?)

@codecov
Copy link

codecov bot commented Jan 29, 2022

Codecov Report

Merging #836 (1196649) into master (d5eb772) will decrease coverage by 0.32%.
The diff coverage is 10.34%.

❗ Current head 1196649 differs from pull request most recent head bb0dd64. Consider uploading reports for the commit bb0dd64 to get more accurate results

@@            Coverage Diff             @@
##           master     #836      +/-   ##
==========================================
- Coverage   74.43%   74.11%   -0.33%     
==========================================
  Files         546      548       +2     
  Lines       16935    16989      +54     
==========================================
- Hits        12606    12591      -15     
- Misses       4329     4398      +69     

@chyyran
Copy link
Member Author

chyyran commented Jan 29, 2022

dx9 in-process render poc
image

@chyyran chyyran mentioned this pull request Jan 29, 2022
4 tasks
@chyyran chyyran changed the title Feature cef overlay platform Overlays and the Ingame API Feb 1, 2022
@chyyran
Copy link
Member Author

chyyran commented Feb 5, 2022

image

yooooo

@chyyran
Copy link
Member Author

chyyran commented Feb 19, 2022

looking at rewriting the ingame component in Rust for single-assembly injection.

marshalling right now between native and managed context is a mess to say the least

@chyyran
Copy link
Member Author

chyyran commented Feb 23, 2022

Might more sense as a standalone library in Rust here.

We do a lot of hacky shit so this definitely won't be safe Rust but if at all possible a single-dll injection is preferable to chainloading the CLR

https://github.com/SnowflakePowered/snowflake-ingame

@chyyran
Copy link
Member Author

chyyran commented Mar 17, 2022

SnowflakePowered/snowflake-ingame@fec8172 fully implements dx11 and ogl rendering. Can remove inject dll from project

@chyyran chyyran added this to the API 1.0 milestone Aug 15, 2022
@chyyran chyyran self-assigned this Sep 6, 2022
TextureHandle = this.SharedTextureHandle,
Width = this.TargetTextureDescription.Width,
Height = this.TargetTextureDescription.Height,
Size = this.TargetTextureDescription.Width * this.TargetTextureDescription.Height * CEFBufferBPP * 2
Copy link

@pabloko pabloko Apr 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i guess its not (width * height * 4) * 2 but (pitch * height * 4)
since you're backing gl texture with dx texture, you may take into account the stride to get valid size

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

further a lot more of investigation, it turns out a value of 0 will map the resource according to its internal size

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you so much! I’ll continue to work on this once I sort out vulkan for the snowflake-ingame side

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants