Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/thpatch/win32_utf8
Transparent UTF-8 support for native Win32 ANSI applications
https://github.com/thpatch/win32_utf8
ae826165568313a52dc089b8bb75c4b7ab52dc1a authored over 9 years ago by nmlgc <[email protected]>
f43f715ed245277f6d51994ac2f999f8540ec416 authored over 9 years ago by nmlgc <[email protected]>
Interestingly, on Visual C++, this doesn't further reduce build times quite as
much as I would h...
Trivializes inclusion into other codebases, and cuts the compilation time in
half.
EditDisk actually reads those.
aa5b4ec49e4fd161131cdd1715c5380fbcc8a459 authored over 9 years ago by nmlgc <[email protected]>
Too bad that the Wine unit tests only cover the most boring of test cases for
that function.
2c7b0e7876016f502182a99a4eb093934559f4ca authored over 9 years ago by nmlgc <[email protected]>
aa81dde325648aa58f79f7fc17600fae805945fd authored over 9 years ago by nmlgc <[email protected]>
95e9304ce737848e744c5fd69a0474226a2a8eb4 authored over 9 years ago by nmlgc <[email protected]>
Testing this function using Wine's unit tests now… and apparently, we never
had a test case that...
4edc4c9f2b52c71cd4d62f0189126e2f32153e8e authored over 9 years ago by nmlgc <[email protected]>
The majority of Win32 API functions we cover actually behave like this, with
GetCurrentDirectory...
I wanted to optimize the #includes as well, but in the end, you just can't
avoid Windows.h witho...
065facc440bbd304f9bcbdd37111c4c2a11074b4 authored over 9 years ago by nmlgc <[email protected]>
Not only is this bound to reduce program startup time a bit, which will become
more and more imp...
Which thankfully can be done without breaking the Visual Studio build.
9b15b07924808ec6bdcb53827080b9e696a36f2b authored over 9 years ago by nmlgc <[email protected]>MinGW doesn't have them, but we don't care about them anyway.
4d6a075aedd43f8847d1be0b94c362bd07f1ed2f authored over 9 years ago by nmlgc <[email protected]>ab2db1763b6300bb7858add2d1c0e3901202ced2 authored almost 10 years ago by nmlgc <[email protected]>
79d2e55cc4d909dd85e2f86ae9fcc5da14cbb8f2 authored about 10 years ago by nmlgc <[email protected]>
bdec9c19bef7c9b404c7bce4b0e83645c62898e3 authored about 10 years ago by nmlgc <[email protected]>
Starting with the version.dll functions that accidentally XP compatibility two
commits ago.
R~ight, MAKEINTRESOURCE(). In a higher-level language, these resource IDs
(which can either be s...
f131d83a4b7312a1c194c64656e1c6d0f734b9f9 authored about 10 years ago by nmlgc <[email protected]>
It's just useless since the caller has to free the VLA anyway if the string is
not NULL. There's...
Message and class stuff is still too hard (as in "do I really need a hash
table to elegantly wor...
We will also be converting into the opposite direction.
b93717f4268b088145e580ed79572b7eda4e261a authored about 10 years ago by nmlgc <[email protected]>a382659845d39cc9131e7f0ffc3193443df63c0e authored about 10 years ago by nmlgc <[email protected]>
Another relic from the Windows 3.1 days, back when Unicode still was 16-bit,
and it shows. If an...
c379fabce5b549c69866c4d7fdc41d2fdcb23086 authored about 10 years ago by nmlgc <[email protected]>
614b2e9e7ecb5507284252096f59eb3b9f4494ec authored about 10 years ago by nmlgc <[email protected]>
Eh, the Touhou-Online launcher is too hard. It actually does everything right,
but it can't be r...
These should have been here all along, and thcrap will be moving to a better
library in the futu...
Also introducing a naming scheme for all the different build permutations
while we're at it.
.....
85cb7765c0c32dec78cb8940f7c83bc22f5fac4f authored about 10 years ago by nmlgc <[email protected]>
Yeah, I know, I'm still using bullshit proprietary "enterprise" software, but
still, MinGW manag...
Separate project, separate files.
5886e21f2edb04ed2f0a92e86aa18c81c28482b5 authored about 10 years ago by nmlgc <[email protected]>
Really, folder browse dialogs without an edit box should be outlawed. I mean,
all you have to do...
db836ce0e3659569ee81321986bf5d4965058283 authored about 10 years ago by nmlgc <[email protected]>
'Cause you know, it might get concatenated with a hardcoded string in the
fallback codepage, lea...
We've never had a test case for detouring SHGetPathFromIDList(), and due to a
typo in the old ma...
Now that thcrap and win32_utf8 are split into separate repositories, it makes
sense to move that...
c1ed5f82d9978eb756dd6123093167ac5f3f566e authored over 10 years ago by MuffinPimp <[email protected]>
This came out of a fruitless attempt to turn EditDisk into Unicode for an
easier setup of the PC...
Yeah, it feels sort of weird to export these as part of win32_utf8, but hey, thcrap needs that f...
5e494b2fb48d50dcc0fc67288b48717cf1484c73 authored over 10 years ago by nmlgc <[email protected]>ff4ac9776e663796b8033f637b858f090d8f3e35 authored over 10 years ago by nmlgc <[email protected]>
228c2c88dc362faa5c9ca0c1c389add21d1763b3 authored over 10 years ago by nmlgc <[email protected]>
ae217c812aeba496660607923470bba466f73d2f authored over 10 years ago by nmlgc <[email protected]>
Yeah, it also took me a while to wrap my head around the concept of returning zero (= 1 value) f...
89d561d018ed9575582f538da575a47a52064ea7 authored over 10 years ago by nmlgc <[email protected]>59e290e5d2d819955d753ba351457f8b9d91ce3a authored over 10 years ago by nmlgc <[email protected]>
bc2f39de63d1838f9d302cba05effb528f237775 authored over 10 years ago by nmlgc <[email protected]>
Well, we had to enter CRT territory at one point.
f8ae365e179d5eb13633476bb995e98a1019dbcc authored over 10 years ago by nmlgc <[email protected]>2ade752a2d31757bad148e1118e86af9a3c8c906 authored over 10 years ago by nmlgc <[email protected]>
a4f5a0344de96f0139eaa0b86d62bed559687482 authored over 10 years ago by nmlgc <[email protected]>
093899961b30429204a915300a01f6bafc176540 authored over 10 years ago by nmlgc <[email protected]>
6df3dfe58d3ba4e11019a3b2d9e4d580297b513e authored over 10 years ago by nmlgc <[email protected]>
3f1a1798f1c5151daf766ab0b67abf05c7412b30 authored over 10 years ago by nmlgc <[email protected]>
75504d16fcfe7df651396e35fb2a6f0140f33cd9 authored over 10 years ago by nmlgc <[email protected]>
52ec319ccc62e780ad1659c78d88ca33e3467719 authored over 10 years ago by nmlgc <[email protected]>
c6aae0c083b2d8eff17c10a06baf31ff95e4fb8c authored over 10 years ago by nmlgc <[email protected]>
I've been thinking for a long time about how to reduce the redundancy in all these wrappers, and...
cee5c3cb06f721f41d1a13d737aac90944dee2be authored over 10 years ago by nmlgc <[email protected]>92c9d2ef7a5afa1d3fb73bae7b2bf5d3c00acbc0 authored over 10 years ago by nmlgc <[email protected]>
4a25a23b58af7ad8e8cbb051afd1f06bdca53800 authored over 10 years ago by nmlgc <[email protected]>
Required for Danmakufu. And yes, it works, even through UPX. I can't believe it either.
d8b3e99c07450a486f83055945285c3cadf565b3 authored almost 11 years ago by nmlgc <[email protected]>92c857f864333a91fbb83a1a4aff06797a0ff621 authored about 11 years ago by nmlgc <[email protected]>
c8f0c9753ea01949b3ae6180892d242103c84b67 authored about 11 years ago by nmlgc <[email protected]>
This is driving me ma~d.
596ee1d8c4e7a34020579dfefcf86a8c5a0a1814 authored about 11 years ago by nmlgc <[email protected]>abf4d73f667edc2d01329d079bc86b81be013bff authored about 11 years ago by nmlgc <[email protected]>
bcca1995aaaac164356d6bf59cc76c16c74df3c3 authored about 11 years ago by nmlgc <[email protected]>
Whoops.
2ab57daddec5eb7459dd5e842ee05481564b1a1b authored about 11 years ago by nmlgc <[email protected]>Necessary for the pad input check in the custom.exe of th06 (... and later games, if only it act...
47b74fc0a1eac2eabefd44c411994f321d62a5cc authored about 11 years ago by nmlgc <[email protected]>1d8263a18d6e7c5840f6ba69a381cb9f95c521a7 authored about 11 years ago by nmlgc <[email protected]>
... and a bit of everything: missing initializations of local variables, alphabetical sorting of...
589bb985d15147af47e897f7cefc8df65aa2703b authored about 11 years ago by nmlgc <[email protected]>efeed3746901d3468e7b3a5b5833559e888899eb authored about 11 years ago by nmlgc <[email protected]>
33b996380995c040466162b6b5fc693b3f1e74c1 authored about 11 years ago by nmlgc <[email protected]>
For the few cases where we need them.
7efb678e1d9785c7a656f707dbe0c03ec51cca8c authored about 11 years ago by nmlgc <[email protected]>That's the kind of stuff you only notice when testing a different compiler. Another lesson learned.
c6511411fab11328157556fb8ff531c0b9c565c2 authored about 11 years ago by nmlgc <[email protected]>Necessary for vpatch chaining.
89370eaf2058230bfb683300e970f6a6bc8b96a1 authored about 11 years ago by nmlgc <[email protected]>Huh, I forgot sorting the detoured functions in win32_detour.c back in 7e258645f7caa7ee67dc24cf1...
8eb563a0d15eef726128845bcd5d5e97905a11d0 authored about 11 years ago by nmlgc <[email protected]>... instead of intransparently multiplying it by some factor. You should not be able to accident...
d329b31ad18284d2949ddaa78b4d68fce2377d9a authored about 11 years ago by nmlgc <[email protected]>That should have been all the whitespace issues.
5d9457d5770bdf56cfeabcc8740b5983ee2d679c authored about 11 years ago by nmlgc <[email protected]>ee4108d48b200d188d33bd0922819d6a2e7da981 authored over 11 years ago by nmlgc <[email protected]>
edc1a5290d7ff2d06e845d04286785029096ae91 authored over 11 years ago by nmlgc <[email protected]>
Finally, we have the "GetCurrentDirectory functionality" the original function unfortunately lacks.
a26632c77fea1da8835b253d3245d7edce917024 authored over 11 years ago by nmlgc <[email protected]>4c029147d24323e66f2026015f6c4166913bec98 authored over 11 years ago by nmlgc <[email protected]>
f7ea7a248ce086dbcddb2816be654841d8276c7f authored over 11 years ago by nmlgc <[email protected]>
The existing calls to win32_utf8's custom CreateDirectory function assumed that the directory pa...
1decdb864106c3f522e9fc9584825e0ae7817e20 authored over 11 years ago by nmlgc <[email protected]>Now with more "hey, didn't I have a macro for that?".
a7a239cf8f53a16c3d8b7a1e83765c58083e2511 authored over 11 years ago by nmlgc <[email protected]>2574c11477b100a821dc643ab8b6aa29f30030c4 authored over 11 years ago by nmlgc <[email protected]>
You can now:
* pass NULL as the destination parameter to get the required buffer size for the co...
Bravo, Microsoft. What a great design.
If you just replaced lpTemplateName with an integer para...
8709b3fe295c3a39964daaa2ee9d2418ca32fc5e authored over 11 years ago by nmlgc <[email protected]>Recently, I seem to have forgotten that VLAs need to be freed, too.
0c73e890b4110d322bbd34288adbfc6d2dd253d3 authored over 11 years ago by nmlgc <[email protected]>cdc137673d7a5f993ae2a1553e8c6d4aaa5961e7 authored over 11 years ago by nmlgc <[email protected]>
9f568955f933385ac466be581fe76452ab511825 authored over 11 years ago by nmlgc <[email protected]>
This is necessary to run th125 and later with user names that contain non-ASCII characters.
10ab238231dab933dc5e00348d91d757edf5891c authored over 11 years ago by nmlgc <[email protected]>fb17c70c343b931a84f3341a3a45302b613ecad3 authored over 11 years ago by nmlgc <[email protected]>
This correctly terminates the resulting string in any case. :)
9c8f187d865b41ff76996182e08ef71d3c7b0065 authored over 11 years ago by nmlgc <[email protected]>I must have read over the "size, in wide characters" part. This becomes a problem once you only ...
a013b504bed323fcfbab706119ea84098d08562a authored over 11 years ago by nmlgc <[email protected]>13bb12cc1e2f00fd3247107607543045652b7dd4 authored over 11 years ago by nmlgc <[email protected]>
e555b221cf3a1893bc61ddae6d1c8ce4ed521eab authored over 11 years ago by nmlgc <[email protected]>