169 Commits

Author SHA1 Message Date
rjkiv
4546ab04d5 add wcsncmp 2025-08-07 13:03:27 -07:00
rjkiv
33ef2562d9 more funcs 2025-08-07 12:45:50 -07:00
rjkiv
cf346634a8 use std::string over char* 2025-08-07 12:29:23 -07:00
rjkiv
92f8944cf1 implement FindResourceW and LoadResource 2025-08-07 11:23:34 -07:00
rjkiv
9324825d04 why segfaulting lmao 2025-08-06 12:52:09 -07:00
rjkiv
3f5b1c3767 use wideStringToString 2025-08-06 11:47:04 -07:00
rjkiv
ca647d32e7 get a lil farther (segfaulting again lol) 2025-08-06 11:38:10 -07:00
rjkiv
a045fd0b9e a few more funcs 2025-08-06 11:21:33 -07:00
rjkiv
6a161b0155
Merge pull request #2 from pixel-stuck/xbox
properly implement GetModuleFileNameW
2025-08-04 14:15:06 -07:00
pixel-stuck
0320efcda2 properly implement GetModuleFileNameW 2025-08-04 17:10:52 -04:00
rjkiv
5d7a1a7685 more cl funcs (segfaulting) 2025-08-04 12:02:28 -07:00
rjkiv
dc2ad0d678 more cl funcs 2025-08-04 10:53:35 -07:00
rjkiv
459efea654
Merge pull request #1 from pixel-stuck/xbox
More progress on xbox 360 cl.exe
2025-08-03 15:53:12 -07:00
pixel-stuck
4b8517a62b More progress on xbox 360 cl.exe 2025-08-03 18:47:51 -04:00
rjkiv
98b45be485 sanity checks 2025-08-02 17:23:02 -07:00
rjkiv
50adcae3dd remove usage of vectors 2025-08-02 16:01:40 -07:00
rjkiv
8db6b6a929 first attempt at __wgetmainargs 2025-08-02 15:39:08 -07:00
rjkiv
4415cee6d4 more cl.exe funcs 2025-07-28 16:35:46 -07:00
rjkiv
83ef667cfb tweak initterms_e again 2025-07-27 12:23:19 -07:00
rjkiv
4fdeffba3c tweak initterms_e 2025-07-27 12:08:35 -07:00
rjkiv
4c88e1ab5e make the winentry a winfunc 2025-07-27 12:05:34 -07:00
rjkiv
553d83d0f0 add funcptr typedef 2025-07-27 11:52:21 -07:00
rjkiv
f34bebdeec add initterm_e to msvcrt 2025-07-27 11:50:49 -07:00
rjkiv
63f6e151eb add msvcr100 to msvcrt lib 2025-07-27 11:36:14 -07:00
rjkiv
1f907e34bc
Merge branch 'decompals:main' into main 2025-07-27 11:14:17 -07:00
rjkiv
78f4d534df
Add InterlockedCompareExchange (#85) 2025-07-27 10:29:38 +02:00
rjkiv
d88a4c9530 un-atomicize 2025-07-26 21:26:14 -07:00
rjkiv
57cb392654 add interlockedcompareexchange 2025-07-26 21:15:49 -07:00
Dávid Balatoni
8bd112f0e4
Add GetTempFileNameA (#84) 2025-06-18 00:12:39 +02:00
Ethan Roseman
5343bc70d9
Update CI step versions 2025-06-14 13:32:35 +09:00
Howard Luck
c01d9a25b9
findNextFile improvement (#82)
* move empty pattern check into while loop

* early return if pattern is empty

* comment
2025-06-01 22:22:17 +09:00
Pheenoh
93862405ed
move empty pattern check into while loop (#81) 0.6.16 2024-08-19 21:00:15 -06:00
Exant64
bcc6eae470
Added quotation mark check in files::pathFromWindows (#77)
* Added quotation mark check in files::pathFromWindows

* Moved quotation mark logic to createprocess argument processing code
0.6.15
2024-07-23 00:29:47 -06:00
Parker
701134e596
fix (#80) 2024-07-23 00:27:03 -06:00
Anghelo Carvajal
ca9364a0df
Add trailing periods support to FindFirstFileA (#75)
* idk

* meh

* Implement trailing periods on FindFirstFileA

* ah?

* Remove assert
0.6.14
2024-05-27 19:51:24 -06:00
Anghelo Carvajal
396008c593
Proper implementation for GetSystemTime and GetLocalTime (#73)
* Implement

* GetLocalTime
2024-03-23 10:56:34 -06:00
Anghelo Carvajal
0fbe87751f
Fix FindFirstFileA failing due to an empty parent and add locale LCType stubs (#71)
* Fix sn cpp.exe not finding the include paths

* str_for_LCType stubs for sn gcc as.exe
0.6.13
2024-03-22 22:44:53 -06:00
Mark Street
6d284d4461
Update link to gc/wii compilers (#72) 2024-03-22 22:30:18 +00:00
Mark Street
d71a902ace
Add GetTempPathA (#68)
* Add GetTempPathA

* Update dll/kernel32.cpp

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
0.6.12
2024-02-10 22:09:28 +00:00
limb
a1b929a413
Fixed grammatical error in README.md (#67)
less dependencies -> fewer dependencies
2024-01-10 22:59:53 +09:00
ConorB
a85e589de5
[TEMPORARY FIX] Fix issues with the stack not being resized correctly (#65) 0.6.11 2023-12-23 15:34:37 -07:00
Mark Street
ae5b4fffaa
Add EnumSystemLocalesA stub (#63) 0.6.10 2023-11-26 20:04:27 +00:00
nocato
c6fa592a31
Handle dwCreationDisposition in CreateFileA to fix PSYLINK (#60)
Before this change, dwCreationDisposition parameter of CreateFileA was
ignored by wibo. However, it turns out that PSYLINK.EXE in PsyQ 4.4
sometimes depends on correct handling of that parameter.

When building overlays with PSYLINK.EXE, it sometimes opens the
resulting overlay file the second time, with OPEN_EXISTING creation
disposition (as opposed to TRUNCATE_EXISTING). Before the change,
wibo opened that file with fopen(..., "wb+") which truncated the file
even though OPEN_EXISTING (non-truncating) was requested. This affected
https://github.com/foxdieteam/mgs_reversing, where one of the overlays
(camera.bin) was built incorrectly when using wibo (worked correctly
on Windows or with wine).

This commit adds proper handling of dwCreationDisposition parameter.
The file now can be opened in truncating or non-truncating mode.
Additionally, the implementation now reacts correctly to file
existing/non-existing as specified by the requested creation disposition
mode. For example, if CreateFileA is called with OPEN_EXISTING and the
file does not exist it will set an error and not create a new file
(the previous behavior). If the file exists, it's opened in
non-truncating mode, as TRUNCATE_EXISTING or CREATE_ALWAYS is required
for truncation.

After the fix you can correctly build the whole mgs_reversing project
with wibo - tools running under wibo: ASMPSX, ASPSX, CC1PSX 4.0 & 4.4,
PSYLINK. I have NOT tested other executables apart from those.
0.6.9
2023-10-27 16:18:06 +09:00
Mark Street
2d627de537
Fix segfault in CoCreateInstance (#59)
* Fix segfault in CoCreateInstance

* update comment

* typo

* typo x2
0.6.8
2023-10-25 22:06:49 +01:00
Mark Street
0f8fb7f62d
Support ProDC NgcAs.exe (#57) 0.6.7 2023-10-22 09:11:00 +01:00
Mark Street
30ef434872
Add Fibre local storage (Fls*) functions for armcc (#55)
* Add Fibre local storage (Fls*) functions for armcc

* Update dll/kernel32.cpp

Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>

* Update dll/kernel32.cpp

Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>

* Update dll/kernel32.cpp

Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>

* Update dll/kernel32.cpp

Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>

* one more copypasta

---------

Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>
0.6.6
2023-10-17 21:33:22 +01:00
EstexNT
a829d0d58b
Fix a use-after-free in CreateProcessA (#54)
Co-authored-by: Simon Lindholm <simon.lindholm10@gmail.com>
0.6.5
2023-10-17 19:39:28 +01:00
Simon Lindholm
90101d8bc1 Minor cppcheck lint fixes 2023-10-16 20:08:52 +02:00
Simon Lindholm
4bf81a9ec9 Fix ineffective "x < 0" comparisons in CompareString
Pointed out by cppcheck.
2023-10-16 20:08:52 +02:00
Simon Lindholm
b1dd93d7b7 Zero out TIB
Not for any particular reason, but having it contain non-deterministic
stack garbage seems like a bad idea.
2023-10-16 20:05:34 +02:00