an early merge of some initial preparations for 32bit emulation support.
some refactor of emulationlib and backends
* switch naming convention: arch_bitness (x86_xx / arm_xx)
* new arch_emulator.hpp header to easily create more explicit named
emulator types
This PR aims to do the following:
- Add the `NtUserGetAtomName` syscall.
- Add stub handlers for `NtUserSetWindowsHookEx`,
`NtUserUnhookWindowsHookEx`, and `NtUserCreateWindowEx`.
- Implement `NtGetNlsSectionPtr` (for Code Pages), add
`NtQueryDefaultUILanguage`, and improve `NtQueryInstallUILanguage`.
- Handle `SystemTimeZoneInformation`,
`SystemCurrentTimeZoneInformation`, and
`SystemDynamicTimeZoneInformation` in `NtQuerySystemInformation`.
- Skip `ThreadAffinityMask` in `NtSetInformationThread`.
- Fix `NtConnectPort` to allow TimeZone queries to work properly. This
is probably the most problematic change here because it required messing
with the shared section and hardcoding an offset (2504). Initializing
the data in this offset seems necessary for calls like
`GetTimeZoneInformation` to succeed, so maybe there's no other way
around it.
This PR aims to improve registry handling by keeping the key names
casing in the map intact so they can be queried and the caller gets them
in their proper casing. It also implements the `NtEnumerateKey` and
`NtEnumerateValueKey` syscalls.
Bumps
[eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)
from 5.2.0 to 6.0.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Bumps [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css)
from 1.2.5 to 1.2.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Wombosvideo/tw-animate-css/releases">tw-animate-css's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.8</h2>
<h2>Changelog</h2>
<ul>
<li>45b576d: fix(ci): add line break after 'NOTE'</li>
<li>4ef0cd2: docs: fix file names for transforms</li>
<li>fffea2e: docs: add missing link definitions</li>
<li>b4d57b6: fix: separate accordion and collapisble keyframes <a
href="https://redirect.github.com/Wombosvideo/tw-animate-css/issues/29">#29</a>
(thanks <a
href="https://github.com/nrjdalal"><code>@nrjdalal</code></a>)</li>
<li>0224c22: chore: bump version to 1.2.8</li>
</ul>
<h2>v1.2.7</h2>
<h2>Changelog</h2>
<ul>
<li>d955cb6: docs: add badges (thanks <a
href="https://github.com/nrjdalal"><code>@nrjdalal</code></a>) and
documentation <a
href="https://redirect.github.com/Wombosvideo/tw-animate-css/issues/21">#21</a></li>
<li>e3c2cea: feat(ci): generate NPM friendly README.md</li>
<li>cdca7ef: feat(ci): also publish alias for the package</li>
<li>7c1a7c0: chore: bump version to 1.2.7</li>
</ul>
<h2>v1.2.6</h2>
<h2>Changelog</h2>
<ul>
<li>451e09f: feat: add support for collapsible and refactor keyframes <a
href="https://redirect.github.com/Wombosvideo/tw-animate-css/issues/28">#28</a>
(thanks <a
href="https://github.com/nrjdalal"><code>@nrjdalal</code></a>)</li>
<li>41ccfbb: chore(build): update dependencies</li>
<li>b2de0b8: chore: bump version to 1.2.6</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Wombosvideo/tw-animate-css/compare/v1.2.5...v1.2.6">https://github.com/Wombosvideo/tw-animate-css/compare/v1.2.5...v1.2.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0224c22249"><code>0224c22</code></a>
chore: bump version to 1.2.8</li>
<li><a
href="b4d57b61cb"><code>b4d57b6</code></a>
fix: separate accordion and collapisble keyframes (<a
href="https://redirect.github.com/Wombosvideo/tw-animate-css/issues/29">#29</a>)</li>
<li><a
href="fffea2e0f8"><code>fffea2e</code></a>
docs: add missing link definitions</li>
<li><a
href="4ef0cd246a"><code>4ef0cd2</code></a>
docs: fix file names for transforms</li>
<li><a
href="45b576d5f5"><code>45b576d</code></a>
fix(ci): add line break after 'NOTE'</li>
<li><a
href="7c1a7c0043"><code>7c1a7c0</code></a>
chore: bump version to 1.2.7</li>
<li><a
href="cdca7ef5dd"><code>cdca7ef</code></a>
feat(ci): also publish alias for the package</li>
<li><a
href="e3c2cea71a"><code>e3c2cea</code></a>
feat(ci): generate NPM friendly README.md</li>
<li><a
href="d955cb692c"><code>d955cb6</code></a>
docs: add badges and documentation (<a
href="https://redirect.github.com/Wombosvideo/tw-animate-css/issues/21">#21</a>)</li>
<li><a
href="b2de0b8f56"><code>b2de0b8</code></a>
chore: bump version to 1.2.6</li>
<li>Additional commits viewable in <a
href="https://github.com/Wombosvideo/tw-animate-css/compare/v1.2.5...v1.2.8">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Bumps
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
from 4.4.0 to 4.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@vitejs/plugin-react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@4.4.1</h2>
<p>Fix type issue when using <code>moduleResolution:
"node"</code> in tsconfig <a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/462">#462</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@vitejs/plugin-react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>4.4.1 (2025-04-19)</h2>
<p>Fix type issue when using <code>moduleResolution:
"node"</code> in tsconfig <a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/462">#462</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="57cc39869c"><code>57cc398</code></a>
release: plugin-react@4.4.1</li>
<li><a
href="a62bdd6977"><code>a62bdd6</code></a>
fix(react): fix package.json <code>types</code> (<a
href="https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/462">#462</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/plugin-react@4.4.1/packages/plugin-react">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Bumps [eslint](https://github.com/eslint/eslint) from 9.25.0 to 9.25.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v9.25.1</h2>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="cdc8e8c950"><code>cdc8e8c</code></a>
fix: revert directive detection in no-unused-expressions (<a
href="https://redirect.github.com/eslint/eslint/issues/19639">#19639</a>)
(sethamus)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="1f2b057ddc"><code>1f2b057</code></a>
chore: upgrade <code>@eslint/js</code><a
href="https://github.com/9"><code>@9</code></a>.25.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/19642">#19642</a>)
(Milos Djermanovic)</li>
<li><a
href="771317fa93"><code>771317f</code></a>
chore: package.json update for <code>@eslint/js</code> release
(Jenkins)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's
changelog</a>.</em></p>
<blockquote>
<p>v9.25.1 - April 21, 2025</p>
<ul>
<li><a
href="1f2b057ddc"><code>1f2b057</code></a>
chore: upgrade <code>@eslint/js</code><a
href="https://github.com/9"><code>@9</code></a>.25.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/19642">#19642</a>)
(Milos Djermanovic)</li>
<li><a
href="771317fa93"><code>771317f</code></a>
chore: package.json update for <code>@eslint/js</code> release
(Jenkins)</li>
<li><a
href="cdc8e8c950"><code>cdc8e8c</code></a>
fix: revert directive detection in no-unused-expressions (<a
href="https://redirect.github.com/eslint/eslint/issues/19639">#19639</a>)
(sethamus)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3ed4b3652d"><code>3ed4b36</code></a>
9.25.1</li>
<li><a
href="7a19ccd052"><code>7a19ccd</code></a>
Build: changelog update for 9.25.1</li>
<li><a
href="1f2b057ddc"><code>1f2b057</code></a>
chore: upgrade <code>@eslint/js</code><a
href="https://github.com/9"><code>@9</code></a>.25.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/19642">#19642</a>)</li>
<li><a
href="771317fa93"><code>771317f</code></a>
chore: package.json update for <code>@eslint/js</code> release</li>
<li><a
href="cdc8e8c950"><code>cdc8e8c</code></a>
fix: revert directive detection in no-unused-expressions (<a
href="https://redirect.github.com/eslint/eslint/issues/19639">#19639</a>)</li>
<li>See full diff in <a
href="https://github.com/eslint/eslint/compare/v9.25.0...v9.25.1">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>