Commit Graph

86 Commits

Author SHA1 Message Date
Simon Lindholm 42f2e6935e MessageBoxA 2022-07-27 21:27:27 +01:00
Simon Lindholm ff947fb707 Fix Heap{Re,}Alloc 2022-07-27 21:27:27 +01:00
Mark Street fa6c98406e A handful more functions to get cpe2exe to start 2022-07-27 21:27:27 +01:00
Simon Lindholm ced712df09 Clean up function resolution a little 2022-07-18 23:02:55 +02:00
Mark Street 11bdc5e8a2
move dlls into dll/ dir (#16) 2022-07-18 09:54:17 -04:00
Ryan Burns b86a542fe2
Explicitly link std::filesystem as needed (#14)
* Fix cmake install command

PROGRAMS specifies executable files, while TARGETS specifies cmake
targets. This install command happened to work when doing an in-tree
build (build dir == source dir) but will otherwise fail.

* Explicitly link std::filesystem as needed

On some older compilers, std::filesystem is provided as a separate
library from the C++ standard library. For example, on GCC 8, one must
explicitly link with -lstdc++fs.

We can use a drop-in https://github.com/vector-of-bool/CMakeCM module to
automate detection of and linking against this auxiliary library when needed.

* Add missing include

std::min is in <algorithm> header
This is transitively included in libstdc++ (GCC)
but not in libc++ (Clang)

(Encountered when testing -lc++fs auxiliary library linking in Clang 7)
2022-07-08 02:02:27 +09:00
Mark Street e997178c57
Fix double ghcr.io in docker tag (#13) 2022-07-07 03:51:32 +09:00
Ethan Roseman fae4219d7f
Revert "Add -lstdc++fs to cmake for older GCC (#11)" (#12)
This reverts commit 583769d7c8.
2022-07-07 03:26:16 +09:00
BR- 583769d7c8
Add -lstdc++fs to cmake for older GCC (#11) 2022-07-07 03:21:18 +09:00
Luke Street 4ae7bba638
Add CMakeLists.txt (#8)
* Add CMakeLists.txt

* Use CMake in CI

* Remove Makefile & update README.md
2022-07-06 20:03:19 +09:00
camthesaxman 97c946fd86
implement SetEndOfFile, CreateDirectoryA, RemoveDirectoryA, SetFileAttributesA (#6)
* implement SetEndOfFile, CreateDirectoryA, RemoveDirectoryA, SetFileAttributesA

* call fflush before ftruncate
2022-07-06 11:26:24 +09:00
Luke Street a8b9452f33
kernel32: Use fstat in GetFileSize (#10)
Improves mwldeppc performance significantly.

Before:
real    0m30.322s
user    0m7.800s
sys     0m22.495s

After:
real	0m16.679s
user	0m4.693s
sys	    0m11.965s

Wine (for comparison):
real    0m24.625s
user    0m0.048s
sys     0m0.034s
2022-07-06 00:13:20 +02:00
Luke Street 07af846d1c files: Use drive letter Z: for root FS (matches wine) 2022-07-04 21:38:21 +02:00
Luke Street d29a78e862 Makefile: Target C++17 instead of C++2a 2022-07-04 21:38:21 +02:00
Simon Lindholm 3b181ab40a Remove invalid assert 2022-07-04 19:38:49 +02:00
Simon Lindholm a47a2e5e8b Allow building with older GCC 2022-07-04 19:27:23 +02:00
Simon Lindholm 228bf4663e File handles 2022-07-04 00:42:47 +02:00
Mark Street 84cb52fe70 FileTimeToSystemTime, SetFileTime 2022-07-04 00:05:30 +02:00
Mark Street b9f6c4c64e
Add support for SN compilers (#4)
* More kernel32 functions implemented poorly

* fix a smattering of issues to make cc1n64 work

* fix issues breaking psyq aspsx

* Return lowercase Windows paths if uppercase path doesnt exist

* Add SetStdHandle

* Add super naive FormatMessageA

* Case insensitive file matching

* PR comments

* Adding CompareString* + SetEnvironmentVariableA functions

Co-authored-by: Ash Wolf <ninji@wuffs.org>
Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>
2022-07-03 23:27:48 +09:00
Ethan Roseman 5c1f8ca7c8
[ci] Release on any tag, and create a separate gh release for each 2022-07-03 23:15:45 +09:00
Ethan Roseman b84567268c
Upload build / update release on updates to master 2022-07-02 02:18:03 +09:00
Mark Street 29f93f0d1c Add Dockerfile + build action (#3)
* Add Dockerfile + build action

* Remove 'test' entry that didn't trigger action
2022-06-30 20:42:24 +01:00
Ethan Roseman d92f0d1d08
Readme changes, github actions ci, test (#1)
* Readme changes, github actions ci, test

* Std flag change for older GCC versions"

* Install gcc multilib

* test fix and formatting

* Don't segfault on nonexistant file and show error instead

* Update ci.yml

* PR comments

* remove silly bit
2022-07-01 04:23:00 +09:00
Simon Lindholm f11759cc71 mwcc 4.* 2022-06-29 17:34:38 +02:00
Simon Lindholm 916c10543d ole32 2022-06-29 17:26:24 +02:00
Simon Lindholm 6281fa2da7 Support more mwcc versions 2022-06-29 16:57:11 +02:00
Simon Lindholm 121bfb3939 Better realloc zeroing 2022-06-29 16:57:11 +02:00
Simon Lindholm 81e85504de Improve logging 2022-06-29 16:56:36 +02:00
Simon Lindholm e0017ac105 fix realloc zeroing 2022-06-29 15:18:29 +02:00
Simon Lindholm d565bd4231 files & times 2022-06-29 14:41:16 +02:00
Simon Lindholm 1a9d5d5a86 resources 2022-06-29 13:19:45 +02:00
Simon Lindholm e6dc3b4ffd Command line parsing 2022-06-29 01:29:26 +02:00
Simon Lindholm 82c05df74e more 2022-06-29 01:07:04 +02:00
Simon Lindholm 207da3f472 "Better" LoadString stub, makefile 2022-06-29 00:29:29 +02:00
Simon Lindholm 3fd1f6a30c wip 2022-06-28 23:08:23 +02:00
Ash Wolf d1a4fd35a7 first commit 2022-06-13 02:20:18 +02:00