Commit Graph
161 Commits
Author SHA1 Message Date
mirkobrombin b2b3df1bfa fix: let the XML writer take whitespace between nodes 2026-10-30 04:29:47 +00:00
mirkobrombin a71c1f2796 feat: find the files Click-to-Run products publish by qualifier 2026-10-30 04:06:25 +00:00
mirkobrombin 01a3a6d255 fix: name alias faces after their alias in DirectWrite 2026-10-30 00:58:30 +00:00
mirkobrombin 3a6aa3cfb9 feat: export the rest of the Web Services API Office imports 2026-10-29 22:29:21 +00:00
mirkobrombin 437c5fbe9d fix: report the settings of a text format that holds no text 2026-10-29 22:06:14 +00:00
mirkobrombin 2276acc36a fix: keep GCC exceptions from piling up callback nesting 2026-10-29 21:39:02 +00:00
mirkobrombin 55d6cf632f fix: give a key's handle back whenever the registry closes it 2026-10-29 21:26:19 +00:00
mirkobrombin fab478bf8a feat: map the sysparams and UI Automation API sets and add PathCchRemoveFileSpec 2026-10-29 21:12:46 +00:00
mirkobrombin 957b4f38c0 feat: export OpenThemeDataForDpi 2026-10-29 20:58:27 +00:00
mirkobrombin b2414c6ee1 feat: name every locale of the language ID tables 2026-10-29 20:41:08 +00:00
mirkobrombin ec16cee9de feat: describe scripts and record digit substitution in Uniscribe 2026-10-29 20:19:33 +00:00
mirkobrombin ee84de1ecb feat: answer GetSystemMetricsForDpi and every metric index 2026-10-29 19:44:05 +00:00
mirkobrombin 0e8e37d45f fix: load a class menu named by a string
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the string menu name lookup for window classes and its menu client check.
2026-10-29 19:21:40 +00:00
mirkobrombin d47a59fcbf fix: let a window make its children while it is being created
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Fixed child window creation during WM_NCCREATE and wrote the nccreate child client test.
2026-10-29 18:57:12 +00:00
mirkobrombin bf43c24725 feat: keep the licenses programs install in the protection store
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the protection store license install and query functions and the system client test.
2026-10-29 18:34:55 +00:00
mirkobrombin 8faeb22b05 feat: serve online ID ticket requests and name missing runtime classes
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the online ID ticket request handling, the missing class names in the WinRT trace and the twinapi client checks.
2026-10-29 18:08:17 +00:00
mirkobrombin 0bb7dd6f04 feat: serve Windows Runtime system classes Office asks for at startup
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the twinapi Windows Runtime system classes, their shell and netlist hooks and the twinapi client test, after Office stopped at startup on missing runtime classes.
2026-10-29 17:10:05 +00:00
mirkobrombin 1708e019cd feat: compile interfaces and Direct3D 9 effects in HLSL 2026-10-29 14:18:48 +00:00
mirkobrombin 888724e413 feat: compile D3D9, effect and shader model 5.1 HLSL 2026-10-29 13:29:09 +00:00
mirkobrombin 4a2fbfd0d5 feat: compile hull, domain and method HLSL with tbuffers 2026-10-29 12:06:25 +00:00
mirkobrombin ba02478235 feat: compile HLSL through an own d3dcompiler_47 2026-10-29 11:10:04 +00:00
mirkobrombin be6e825ba8 fix: report display capabilities for every device context 2026-10-29 09:57:47 +00:00
mirkobrombin 36ec8c1e7b feat: add CryptoAPI session keys 2026-10-29 09:57:47 +00:00
mirkobrombin 7e3c28a0d4 feat: add the UISettings runtime class 2026-10-29 09:57:47 +00:00
mirkobrombin 124a14bd06 feat: add the OEM code pages 437 and 850 2026-10-28 16:56:01 +00:00
mirkobrombin dd792f82b8 fix: ask a process's windows to close when taskkill has no /F 2026-10-28 16:27:35 +00:00
mirkobrombin 9a4eaa040e test: import a .reg file with escapes, a split line and deletions 2026-10-28 16:27:30 +00:00
mirkobrombin 84a58b75f2 chore: merge main into the command-line tools 2026-10-28 16:32:10 +00:00
Ray Bennett 4699a741c1 feat: give console programs the terminal as their console (#31)
* feat: give console programs the terminal as their console

A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.

* test: let the console client run by hand, saying which step failed

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.

* feat: follow the console cursor through the output instead of asking the terminal

Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.
2026-10-28 17:11:25 +01:00
Ray Bennett bb3844ff88 feat: answer SHGetStockIconInfo with the system icons (#29)
Qt's QMessageBox and QFileDialog ask shell32 for the warning,
information, error and question icons, and the program ends when the
call is missing. The stock icons now map to the matching IDI_ system
icon, loaded at the large or small size with SHGSI_ICON, and the
structure reports the icon's index and user32.dll as its file. The
structure is laid out for the caller's width (0x220 bytes for 64-bit
programs, 0x218 for 32-bit ones), and one of another size is refused
with E_INVALIDARG.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the implementation from the documented SHSTOCKICONINFO
 layout and SIID_/SHGSI_ values, and the 32- and 64-bit
 stock_icon_client fixture. Prompt: a Qt program exits when it shows a message box.
2026-10-28 16:50:22 +01:00
Ray Bennett b66a9074fb fix: name a process started by hand by its program in the process snapshot (#35)
CreateToolhelp32Snapshot named another runtime process by the last argument on its host command line. For
`raven --run-process ... cmd.exe -- /c dir`, that is `dir`, so tasklist and process lookups by name missed it.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Took the first argument that is not an option as the program, and extended the snapshot test to start a child that checks its parent's name, for both widths.
2026-10-28 16:50:18 +01:00
Raymond Bennett 39e1ca33f0 feat: add the command-line tools a prompt has beside cmd
find, findstr, more, sort, where, xcopy, attrib, timeout, choice, whoami, hostname, tasklist, taskkill and reg, one program
each for both widths, copied into System32 and SysWOW64.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the fourteen tools and their shared runtime from Microsoft's public command reference, and the batch-file test.
2026-10-27 23:19:39 -04:00
Raymond Bennett ccca5c5b4e feat: give the command processor its parser, built-ins and line editor
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote cmd's parser, IF, FOR, CALL and SETLOCAL, the built-in commands, the prompt's line editor and the batch-file test from Microsoft's public cmd documentation.
2026-10-27 23:19:39 -04:00
Raymond Bennett ef953e9325 feat: start console programs on the terminal and give every prefix a cmd.exe
A console program started from a terminal gets it as its console without --stdio=inherit. CreateProcess runs .bat and .cmd
files through cmd /c, as Windows does. The console code pages start as UTF-8, since Raven has no table for code page 437.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the subsystem check, the batch-file launch, a first command processor from Microsoft's public cmd documentation and its test.
2026-10-27 23:19:39 -04:00
Raymond Bennett 097e087da7 feat: follow the console cursor through the output instead of asking the terminal
Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.
2026-10-27 23:19:31 -04:00
Raymond Bennett d3720c4de7 test: let the console client run by hand, saying which step failed
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.
2026-10-27 23:19:31 -04:00
Raymond Bennett 6e917ded1b feat: give console programs the terminal as their console
A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.
2026-10-27 23:19:30 -04:00
mirkobrombin 1ce0c0324c feat: add Direct3D 10.1 device creation over d3d10core 2026-10-27 17:21:52 +00:00
mirkobrombin 777228a3d6 fix: add the interactive logon groups to the token and correct well-known SID types 2026-10-27 16:52:36 +00:00
mirkobrombin 8316f8fa0f fix: read %s as a wide string in wide printf with the legacy specifier option 2026-10-27 16:04:02 +00:00
mirkobrombin 66b943bca0 feat: add the C runtime entry points Office imports 2026-10-27 15:57:46 +00:00
mirkobrombin 7ebf58957c feat: add RegSetKeyValue and the key and value information classes of the native registry API 2026-10-27 14:46:45 +00:00
mirkobrombin c895d8e91c feat: add PathCchCanonicalize and the command line argument helpers 2026-10-27 14:32:31 +00:00
mirkobrombin 5d7fd5b471 feat: add CreateFile2, host symbolic links and inheritable file handles 2026-10-27 13:42:09 +00:00
mirkobrombin 17717e397e fix: build the bcrypt and schannel tables outside their locks 2026-10-27 13:05:42 +00:00
mirkobrombin 6dc4e2a318 feat: add MSXML 6 and XmlLite to the installer components
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Added the MSXML 6 classes and XmlLite to the ReactOS component build, a libxml2 regexp patch and the tests.
2026-10-27 12:07:27 +00:00
mirkobrombin b679d1417c feat: add the Restart Manager
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the Restart Manager session functions and their test from the documentation.
2026-10-27 11:07:27 +00:00
mirkobrombin 56d33ace7e feat: add timer queues and thread pool timers
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote timer queues, private pools and GetThreadIOPendingFlag with their tests.
2026-10-27 10:53:49 +00:00
mirkobrombin cea6ca7a7a feat: resolve delay-loaded system libraries to the runtime's components
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the loader follow delay imports when choosing components, with a delay-load test.
2026-10-27 10:32:01 +00:00
mirkobrombin fdad9c4bd4 feat: answer local RPC authentication through the Windows logon packages 2026-10-27 10:19:21 +00:00