{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":16473475,"defaultBranch":"master","name":"3Dmigoto","ownerLogin":"bo3b","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-02-03T08:10:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6544511?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724057735.0","currentOid":""},"activityList":{"items":[{"before":"d6a89301f0fd8c89bb7b0996bfdd1f4f5ae79d24","after":"2a27f84f117a683e32600ff7ca28f27679ada223","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T07:21:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"CI Build - 1.4.1","shortMessageHtmlLink":"CI Build - 1.4.1"}},{"before":"d7eec4b9f0fd56959b5c4bb1d0ad9efe40b7cee7","after":"d6a89301f0fd8c89bb7b0996bfdd1f4f5ae79d24","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T07:15:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update Publish.bat for Github Action use.\n\nWe need to fetch the built artifacts and put them where the Action can zip them into a downloadable product.\n\nThis copies the geo-11 build process, including bumping build numbers at each Github job.","shortMessageHtmlLink":"Update Publish.bat for Github Action use."}},{"before":"599cd27f30f440867251c0e4a9a625139ebc5eb6","after":"d7eec4b9f0fd56959b5c4bb1d0ad9efe40b7cee7","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T06:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update zip_release.yml\n\nRemove specific version check, default should be vs2022 right now at least.","shortMessageHtmlLink":"Update zip_release.yml"}},{"before":"e7f822ed9887e1cfa2b5305b472dffd749ed4390","after":"599cd27f30f440867251c0e4a9a625139ebc5eb6","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T06:52:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update zip_release.yml\n\nSwitch vs-version to just '2022' to specifically use vs2022 toolset.","shortMessageHtmlLink":"Update zip_release.yml"}},{"before":"02770f1f8033518f3645637d3ea4bcc51609f591","after":"722abdd52eaa969fa52dd5e0a099160e4863e863","ref":"refs/heads/master","pushedAt":"2024-08-25T06:46:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Add a zip_release.yml for CI builds.\n\n(copied from vs0222 branch- this is necessary in master for Actions to be available. It is currently set for only manual builds.)\n\nThis is an edited copy of the geo-11 CI build, which uses the Publish.bat but properly auto-increments the build version number.\n\nThis should setup a vs2022 environment and do a full zip release build, leaving artifacts on github for downloads.\n\nWe are done making builds on our own machines, the actions are far superior.","shortMessageHtmlLink":"Add a zip_release.yml for CI builds."}},{"before":"b22c5df6feb5c14e15bdcf608d313335144144a6","after":"e7f822ed9887e1cfa2b5305b472dffd749ed4390","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T06:40:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Add a zip_release.yml for CI builds.\n\nThis is an edited copy of the geo-11 CI build, which uses the Publish.bat but properly auto-increments the build version number.\n\nThis should setup a vs2022 environment and do a full zip release build, leaving artifacts on github for downloads.\n\nWe are done making builds on our own machines, the actions are far superior.","shortMessageHtmlLink":"Add a zip_release.yml for CI builds."}},{"before":"19e636a78e6ee2a08b8f19bb65a7f01187380363","after":"b22c5df6feb5c14e15bdcf608d313335144144a6","ref":"refs/heads/vs2022","pushedAt":"2024-08-25T06:05:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update version to 1.4.0\n\nIf we happen to decide to use this updated branch, it would be good to have a minor version bump because the entire toolset has changed.\r\n\r\nIf we have breaking changes like dropping Win7 support, we should move to 2.0.","shortMessageHtmlLink":"Update version to 1.4.0"}},{"before":"9fff26452ba35e86dca28dcc6ad0b6e567ceccd1","after":"19e636a78e6ee2a08b8f19bb65a7f01187380363","ref":"refs/heads/vs2022","pushedAt":"2024-08-20T11:25:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Some small tweaks to compile under c++17.\n\nThese are almost all char vs. byte variants, and c++17 is strict about byte != char.\n\nAdd some casting, and convert some vectors from byte to char where it's clear they actually are char.\n\nThis all compiles without errors now, but is untested.","shortMessageHtmlLink":"Some small tweaks to compile under c++17."}},{"before":"147cee69b39785b2646b83f4b91d15ef5c73f468","after":"9fff26452ba35e86dca28dcc6ad0b6e567ceccd1","ref":"refs/heads/vs2022","pushedAt":"2024-08-19T09:58:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update .sln file to be VS2022 v17.\n\nVersion 17 is VS2022, manually changing header so that it defaults to VS2022 instead.","shortMessageHtmlLink":"Update .sln file to be VS2022 v17."}},{"before":null,"after":"147cee69b39785b2646b83f4b91d15ef5c73f468","ref":"refs/heads/vs2022","pushedAt":"2024-08-19T08:55:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update convenience copy for new paths.\n\nQuick sanity test in Witcher3 shows this version runs and seems OK.\n\nA couple of the other test games won't run. HeadLander hangs, and Inside is not in 3D, but does not crash and 3Dmigoto loads.","shortMessageHtmlLink":"Update convenience copy for new paths."}},{"before":"ea9f8ce2c2e2cb845d587f052491ca2c5d79af03","after":"02770f1f8033518f3645637d3ea4bcc51609f591","ref":"refs/heads/master","pushedAt":"2024-08-04T21:10:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bo3b","name":"Bo3b Johnson","path":"/bo3b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6544511?s=80&v=4"},"commit":{"message":"Update Injector to v10.0.17763.0\n\nJust making it match the other projects for now.","shortMessageHtmlLink":"Update Injector to v10.0.17763.0"}},{"before":null,"after":"60e93a271fa29e503f00d4f17f961a17cb7927d3","ref":"refs/heads/GIMI","pushedAt":"2024-02-29T11:57:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"GIMI (Genshin Impact Model Importer) fork source drop","shortMessageHtmlLink":"GIMI (Genshin Impact Model Importer) fork source drop"}},{"before":"3eabc5f8a974333f2604b6a7815d8403525f48bd","after":"ea9f8ce2c2e2cb845d587f052491ca2c5d79af03","ref":"refs/heads/master","pushedAt":"2023-10-06T01:30:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Add draw=auto\n\nThis works like the existing drawindexed=auto and drawindexedinstanced=\nauto commands, but calculates the vertex count from the size and stride\nof the currently bound vb0.\n\nThis is useful for Unity games where the pre-skinning shaders run on the\nmesh vertex buffers without an index buffer assigned where drawindexed=\nauto would not be suitable.\n\nSome relevant discussion happening over here:\nhttps://github.com/DarkStarSword/3d-fixes/issues/19","shortMessageHtmlLink":"Add draw=auto"}},{"before":"458af5c0b3ab1ddcb2de19e23db1b2842840057c","after":"3eabc5f8a974333f2604b6a7815d8403525f48bd","ref":"refs/heads/master","pushedAt":"2023-08-30T21:46:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"HLSLDecompiler: Fix use of overwritten index variable\n\nIndexing into matrices works differently in assembly and HLSL - in\nassembly the index is in multiples of float4s, but in HLSL it is in\nmultiples of matrices.\n\nThe decompiler has a few strategies to handle this difference, notably\nit attempts to recognise where the index variable in assembly was\nmultiplied by the number of rows (columns?) in the matrix, and tries to\nuse the input register of that multiplication as the index instead of\nthe output register.\n\nHowever, in the event that the input and output to that multiplication\nwere the same register it will use the output variable that has been\nmultiplied in assembly, and will then be implicitly multiplied again in\nHLSL.\n\nThis adds a check to skip this strategy if the input and output\nregisters to the multiplication are the same. The decompiler will then\nselect the next strategy, which is dividing the index variable by the\nnumber of rows in the matrix.","shortMessageHtmlLink":"HLSLDecompiler: Fix use of overwritten index variable"}},{"before":"da3602914b18edf5ce5a92179ca146001f4932c4","after":"458af5c0b3ab1ddcb2de19e23db1b2842840057c","ref":"refs/heads/master","pushedAt":"2023-08-30T21:08:31.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"HLSL Decompiler: Fix choosing wrong bool variable in constant buffer\n\nThis fixes the case where the wrong boolean variables were chosen when a\nsuffix is specified, in this case cb1[2].z would match c2 without the\nsuffix incorrectly resolving to gFogEnable instead of\ngVertexBlendEnable2, and cb1[3].y would match c3 / gVertexBlendEnable4\ninstead of gUseInputVertexColor:\n\n bool gFogEnable : packoffset(c2);\n bool gVertexBlendEnable2 : packoffset(c2.z);\n bool gVertexBlendEnable3 : packoffset(c2.w);\n bool gVertexBlendEnable4 : packoffset(c3);\n bool gUseInputVertexColor : packoffset(c3.y);\n\nThe decompiler already has logic to handle similar cases for floats and\n[u]ints, but was missing bools from that list - adding them corrects the\nissue.\n\nUpdate the .chk files for test shaders impacted by this bug - in\naddition to the DOAXVV skinning shader, two test shaders from\nBinaryDecompiler were also impacted.\n\nThe re2 min precision shaders changed again - unlikely to be related to\nthis commit, perhaps they are using uninitialised memory?","shortMessageHtmlLink":"HLSL Decompiler: Fix choosing wrong bool variable in constant buffer"}},{"before":"54af9048e3efcf88544da742b7bb7eac93e4873a","after":"da3602914b18edf5ce5a92179ca146001f4932c4","ref":"refs/heads/master","pushedAt":"2023-08-27T23:58:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Add check_target_even_without_loader setting\n\nThis is a backwards compatibility setting to make sure that the\n[Loader]Target setting is only used if either actually using the\nexternal loader as before, or if this setting has been explicitly turned\non. There are apparently some fixes in the wild that have target\nuncommented and set to a bogus executable - this will prevent those\nfixes from breaking.","shortMessageHtmlLink":"Add check_target_even_without_loader setting"}},{"before":"339cc6bce3a8afb2836d882673b34434a3118ab7","after":"54af9048e3efcf88544da742b7bb7eac93e4873a","ref":"refs/heads/master","pushedAt":"2023-08-27T19:21:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Add effective_dpi for UI scaling\n\nThis will return the \"effective DPI\" (not the real/raw/physical DPI)\nthat Windows reports for the purpose of scaling UI elements (such as the\nhelp text shader) on ultra high resolution / 4k displays.\n\nIt will attempt to retrieve the effective DPI for the monitor that the\ngame is displayed on, though the Windows APIs for this have taken\nmultiple iterations to get right, so this behaviour might end up being\nsomewhat dependent on a combination of the game's process wide DPI\nawareness, the version of Windows it is running on and the resolution...\nWider testing may be needed to ensure that this behaves well in as many\nsituations as possible.\n\nThe APIs are loaded dynamically to ensure Windows 7 compatibility\nremains intact, and on these older versions that don't support effective\nDPI it will return 96, which is the effective DPI reported when scaling\nis set to 100% or to DPI unaware applications.","shortMessageHtmlLink":"Add effective_dpi for UI scaling"}},{"before":"24aba5ca669a6cf02b324f30b3608983d60b95ff","after":"339cc6bce3a8afb2836d882673b34434a3118ab7","ref":"refs/heads/master","pushedAt":"2023-08-26T04:56:53.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Exclude desktop.ini files by default\n\nSome of the third party modding communities have added this to prevent\n3DMigoto from trying to parse Windows desktop.ini files. Seems like a\ngood idea, so include it in the template d3dx.ini.","shortMessageHtmlLink":"Exclude desktop.ini files by default"}},{"before":"8e0a78109c82d70b2c0d92d046af0fe092ce55eb","after":"24aba5ca669a6cf02b324f30b3608983d60b95ff","ref":"refs/heads/master","pushedAt":"2023-05-25T13:57:56.227Z","pushType":"push","commitsCount":1,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Fix logging ini condition failed when it in fact succeeded\n\nIncluded ini files that have a condition in their preamble were always\nproducing a log message suggesting they would be skipped, even if the\ncondition passed and they were in fact included:\n\n Processing \"C:\\Users\\0043\\Downloads\\3Dfix-DOA6-1.1\\Mods\\3d-vision\\stereo correction.ini\"\n condition = stereo_available\n condition = false, skipping \"Mods\\3d-vision\\stereo correction.ini\"\n\nMove the log message to after checking the condition.","shortMessageHtmlLink":"Fix logging ini condition failed when it in fact succeeded"}},{"before":"72b5e39ca2429d9a2732b4bc03f6b31f5cf66240","after":"2c1575b4af7a23ed8d835fc5da7cd539de3cafe9","ref":"refs/heads/Rename_Reformat","pushedAt":"2023-05-24T15:19:46.527Z","pushType":"push","commitsCount":4,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/master' into Rename_Reformat","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/master' into Rename_Reformat"}},{"before":"88633bcef119bde3a4c23c31fadb6fa05dbb66ea","after":"8e0a78109c82d70b2c0d92d046af0fe092ce55eb","ref":"refs/heads/master","pushedAt":"2023-05-24T14:35:21.066Z","pushType":"push","commitsCount":1,"pusher":{"login":"DarkStarSword","name":"Ian Munsie","path":"/DarkStarSword","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/379749?s=80&v=4"},"commit":{"message":"Fix crash in DOA6 in Optimus laptops by enabling hooking quirk protection around present\n\nThis fixes a long standing crash in DOA6 when running in dual GPU /\nOptimus laptop environments:\n\nhttps://github.com/bo3b/3Dmigoto/issues/106\n\nWhen both GPUs are enabled we see the game create a DX11 device,\nseparately create a swapchain, at least one present call passes ok, then\njust before the splash screen should end we get another present call,\nbut this time when we call the original Present() we unexpectedly get\nanother D3D11CreateDevice call (this time specifying an adapter):\n\n d3d11.dll!D3D11CreateDeviceAndSwapChain(IDXGIAdapter * pAdapter=0x0000017afc0b5880, D3D_DRIVER_TYPE DriverType=D3D_DRIVER_TYPE_UNKNOWN, HINSTANCE__ * Software=0x0000000000000000, unsigned int Flags=138, const D3D_FEATURE_LEVEL * pFeatureLevels=0x00000043443feae0, unsigned int FeatureLevels=1, unsigned int SDKVersion=7, DXGI_SWAP_CHAIN_DESC * pSwapChainDesc=0x0000000000000000, IDXGISwapChain * * ppSwapChain=0x0000000000000000, ID3D11Device * * ppDevice=0x00000043443feaa0, D3D_FEATURE_LEVEL * pFeatureLevel=0x0000000000000000, ID3D11DeviceContext * * ppImmediateContext=0x0000000000000000) Line 940 C++\n [External Code]\n d3d11.dll!D3D11CreateDevice(IDXGIAdapter * pAdapter=0x0000017afc0b5880, D3D_DRIVER_TYPE DriverType=D3D_DRIVER_TYPE_UNKNOWN, HINSTANCE__ * Software=0x0000000000000000, unsigned int Flags=138, const D3D_FEATURE_LEVEL * pFeatureLevels=0x00000043443feae0, unsigned int FeatureLevels=1, unsigned int SDKVersion=7, ID3D11Device * * ppDevice=0x00000043443feaa0, D3D_FEATURE_LEVEL * pFeatureLevel=0x0000000000000000, ID3D11DeviceContext * * ppImmediateContext=0x0000000000000000) Line 858 C++\n [External Code]\n d3d11.dll!HackerSwapChain::Present(unsigned int SyncInterval=1, unsigned int Flags=0) Line 567 C++\n [External Code]\n\nAnd we get a null pointer dereference in DirectX shortly thereafter:\n\n d3d11.dll!NDXGI::CDevice::EnsureChildDevice(struct IDXGIAdapter *,class ATL::CComPtr &,char const *) Unknown\n dxgi.dll!CDXGISwapChain::EnsureChildDeviceInternal(struct IDXGIAdapter *,enum DXGI_INTERNAL_CHILD_DEVICE_TYPE) Unknown\n dxgi.dll!CDXGISwapChain::PrepareWindowedBltPresent(bool,bool,unsigned int,class DXGITrack &,unsigned __int64 &) Unknown\n dxgi.dll!CDXGISwapChain::PresentImplCore(struct SPresentArgsCore const *,unsigned int,struct tagRECT const *,unsigned int,struct DXGI_SCROLL_RECT const *,struct IDXGIResource *,struct CDXGISwapChain::PresentResultActions &) Unknown\n dxgi.dll!CDXGISwapChain::PresentImpl() Unknown\n dxgi.dll!CDXGISwapChain::Present(unsigned int,unsigned int) Unknown\n GameOverlayRenderer64.dll!00007ffd25108f63() Unknown\n d3d11.dll!HackerSwapChain::Present(unsigned int SyncInterval, unsigned int Flags) Line 567 C++\n [External Code]\n\nThis occurs in DOA6 specifically because we use the 3DMigoto Loader to\ninject 3DMigoto from outside the game directory, which enables a hook on\nD3D11CreateDevice, which allows the real DirectX to call back into\n3DMigoto, allowing us to pass our wrapped device back to the real\nDirectX, which is bad, and results in a crash.\n\nThis commit enables the hooking_quirk_protection around the present\ncall so that when we get the unexpected call to D3D11CreateDevice we\npass it straight through to the real DirectX without modification.","shortMessageHtmlLink":"Fix crash in DOA6 in Optimus laptops by enabling hooking quirk protec…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNVQwNzoyMTowNC4wMDAwMDBazwAAAASjYsVb","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0yNFQxNDozNToyMS4wNjY3MjFazwAAAAMzX7gu"}},"title":"Activity · bo3b/3Dmigoto"}