* Make the appearance and layout more like the MS version
* Added functionality for resetting scores
* Auto-complete the board, when the player is guaranteed to win
- Changes by myself:
* Add a new define WINEMINE_REGKEY to define the registry path of the WineMine settings only one time
* Store the settings in HKCU instead of HKLM and use REG_DWORD, when it makes sense
* Get WineMine to compile warning-free under MSVC
* Make the new "seconds" string translateable
* Make all WineMine resource files consistent and ensure that all visual elements are visible
See issue #2060 for more details.
svn path=/trunk/; revision=31032
- Get rid of CmiKeyObjectListHead and code that was adding/removing entries into it, it wasn't used for anything.
- Change the stupid subkey array (which caused pool fragmentation and slow-downs) with a linked-list version, since we never used the array for random indexing (the point of an array vs a linked list).
- Link key object children to parent key control blocks so that KCBs now own PKEY_OBJECTs (will help with parsing later).
- Get rid of CmiAddKeyToList since this is just an InsertTailList now.
- Remove ReactOS hacks in flush code.
- Do full parallel hive loading code in normal boot too, not just in cd-rom boot: CmpSetFileSize was causing the problem to happen so it's been disabled for now; this allowed removal of multiple ReactOS hacks.
- Use the "Allocate" flag during linking instead of hard-coding FALSE, since this also works now.
- Set HIVE_NOLAZYFLUSH to newly create hives since this is required for later.
- Remove CmiConnectedHiveList since it's not used for anything.
svn path=/trunk/; revision=31030
- Never trust MaximumLength passed from usermode when copying a unicode string (fixes a wide amount of crashes, tested with CdrLabel 4.1).
svn path=/trunk/; revision=31010
- Fix broken CmpTestRegistryLock functions, they could return FALSE even if the lock was held.
- Enable some extra assertions.
- Update KCB flags as well when updating keynode flags in CmpDoCreate.
- Update KCB Last write time as well when updating keynode lastwritetime in CmpDoCreate.
- Do CmpDoOpen with the registry lock held, and tell CmpCreateKeycontrolBlock to lock the KCB exclusively.
- Enable link-node create code to set the ChildHiveRefernece values. This is used to "escape" the current Hive when a KEY_HIVE_EXIT node is detected (an internal symlink) and required for new parsing semantics.
- Implement CmpHandleExitNode to test how "escaping" from an exit node into a link hive works (it does).
- Plug that function into the new parse routine for testing purposes.
- Enable CmpDoOpen path in the new parse routine, only used for link node creation for now.
svn path=/trunk/; revision=31009
- Begin fixing CM_KEY_NODE.
- More proper use of registry lock in create operations.
- Use ObOpenObjectByName (as a test only, ignore the results) in CmpLinkHiveToMaster.
- Implement routines to acquire/release two KCB locks atomically.
- Implement KCB dereference without lock.
- Fix locking in CmpCreateKeyControlBlock so that it now properly locks KCBs when requested.
- Implement rudimentary new-style parse routine that only walks the registry path until it's time to create the link node (since this is the only scenario where it's called from). Prints out the status of the operation but doesn't actually do anything.
svn path=/trunk/; revision=31004
- enumerate default open verb too
- look in HKCR progid for default verbs/file associations
- fix a bug in SHEOW_LoadOpenWithItems
svn path=/trunk/; revision=30992
- append %1 to allow executing in default command
- store prog id as default key in new file ext
- assign default file association when requested
svn path=/trunk/; revision=30990