Commit graph

123 commits

Author SHA1 Message Date
goaaats
daeb923f6d Add missing declaration for utils::is_running_on_wine() 2025-03-24 19:16:52 +01:00
marzent
7cac19ce81
Implement dalamud-platform launch argument (#1452)
* implement dalamud platform launch arg
* implement cross-platform gamePath fallback
* refactor platform detection heuristic
* add cross platform dalamud runtime detection
2025-03-24 08:42:24 -07:00
goaaats
97add3fc90 Globally disable legacy corrupted state exceptions for now 2025-03-12 23:23:31 +01:00
goaaats
b21a0c9298 Add console argument/env var to disable legacy corrupted state exceptions policy 2025-03-09 19:34:26 +01:00
goat
4af9bc05dc don't rebuild Dalamud.Boot every time, copy out of output directory instead 2024-12-28 14:01:34 +01:00
goat
979bac5d7b fix nonstandard sizeof() usage 2024-11-13 01:19:05 +01:00
Soreepeong
9db4e2f3a1 LoadingDialog: support localization, remove winforms, prevent invalid thread association errors 2024-07-21 18:41:51 +09:00
srkizer
19464ec080
use what already was working instead (#1950) 2024-07-19 08:04:11 -07:00
goat
30581d534a boot: don't link nethost.dll implicitly
Turns out this does not work if we are injecting, since ffxiv_dx11.exe does not have dalamud workdir in its DLL search path and can't link the nethost DLL. I definitely don't want to modify the search path in ffxiv_dx11.exe so this bodge will do for now.
2024-07-17 22:54:34 +02:00
goat
a9ca9b44fb boot: update nethost, hostfxr to 8.0.7 2024-07-17 20:15:39 +02:00
KazWolfe
4a3e6df89e
fix: Don't let a debugger crash Bink (#1892)
Resolves a problem where attaching a debugger can cause Bink to throw an exception, crashing the game.
2024-07-04 12:03:09 +02:00
Kaz Wolfe
61f47449fd
Merge branch 'refs/heads/master' into apiX
# Conflicts:
#	lib/FFXIVClientStructs
2024-06-01 15:13:32 -07:00
goat
d5d9942d91
unfuck std::format (#1815) 2024-05-26 15:33:08 +02:00
srkizer
8ff4662f1f
boot: implement --unhandled-exception=stalldebug (#1690)
Using this option will stall the crashed thread until the debugger
attaches, so that the newly attached debugger can be handed over the
exception, enabling breaking at correct stack location.

`--no-exception-handlers` injector option controlled whether Dalamud
Crash Handler would intercept exceptions before. Those are now either
`default` or `none` option for `--unhandled-exception`.
2024-04-20 21:20:11 -07:00
srkizer
3d59fa3da0
Sanitize PDB root name from loaded modules (#1687) 2024-02-29 15:13:33 -08:00
srkizer
94cf1c82c4
Synchronize DalamudStartInfo between cpp and cs (#1679)
Dalamud Boot was using BootLogPath in place of LogPath, resulting in
wrong log path.
2024-02-22 20:27:07 -08:00
Soreepeong
47da75df24 Some DCH correctness 2024-02-17 21:38:43 +09:00
marzent
4b601f15c7
Merge pull request #1660
* make extra sure progress dialog crash handler is in the foregroud
2024-02-16 13:19:10 -08:00
goat
af7c62e6c4
Merge pull request #1652 from marzent/seh
Make Dalamud handle top-level SEH exceptions
2024-02-16 00:28:23 +01:00
marzent
f4af8e509b make Dalamud handle top-level SEH 2024-02-15 10:05:36 +01:00
Soreepeong
c8be22e284 Do FlushInstructionCache after WriteProcessMemory
While not calling this will work on native x64 machines as it's likely
a no-op under x64, it is possible that the function does something
under emulated environments. As there is no downside to calling this
function, this commit makes the behavior more correct.
2024-02-15 15:42:30 +09:00
goat
c48012418f
Make RewriteRemoteEntryPointW report IErrorInfo, do VirtualProtectEx before WriteProcessMemory (#1642)
Make RewriteRemoteEntryPointW report IErrorInfo, do VirtualProtectEx before WriteProcessMemory
2024-02-15 00:07:23 +01:00
Soreepeong
edc5826fe0 Dalamud.Boot: use unicode::convert 2024-02-15 03:55:00 +09:00
Soreepeong
7e78b6293b Make RewriteRemoteEntryPointW report IErrorInfo, VirtualProtectEx before WriteProcessMemory 2024-02-13 08:35:51 +09:00
srkizer
0cc28fb39d
Changes to Dalamud Boot DLL so that it works in WINE (#1111)
* Changes to Dalamud Boot DLL so that it works in WINE

* Make asm clearer
2024-02-12 12:56:38 -08:00
marzent
386e5f245c
Make the crash handler work on wine properly (#1636)
* add LoadMethod to DalamudStartInfo
* add to_wstring utility function
* append full injector launch args for VEH
* remove usage of std::chrono::zoned_time
* fix injector arguments in crash handler restart
* enable VEH on wine
* remove dead wine detection code
* write out tspack with std::fstream
* fix off-by-one error in get_window_string()
* remove usage of std::chrono when writing tspack
* do not deadlock on crashing DalamudCrashHandler
2024-02-11 13:01:34 -08:00
srkizer
5777745ab3
Add injector option to not apply any exception handlers (#1541)
* Add injector option to not apply any exception handlers

* Log as warning if NoExceptionHandlers is set
2023-12-07 05:06:39 +00:00
Kaz Wolfe
2acba2b81f
Update Dalamud.Boot to use extra import checks
- Ports extra import checks to Dalamud Boot
- Renames is_running_on_linux to is_running_on_wine
- Update relevant logging string for VEH
2023-09-12 17:07:46 -07:00
KazWolfe
82136f0186
Set Dalamud.Boot to cpp20 (#1252) 2023-06-17 21:57:08 -07:00
Ava Chaney
a88f072f60
clientstructs update, fix build on newer vs (#1207)
* update cs

* fix build on VS2022 17.6+
2023-05-23 20:07:58 +00:00
marzent
9169063e04 add prevent_icmphandle_crashes xivfix 2023-03-25 22:17:08 +01:00
goat
1e40cabdc6
feat: make Windows 11 immersive mode configurable 2023-02-19 13:27:58 +01:00
goat
17da5a5a90
Merge pull request #1119 from Soreepeong/dark-mode-title-bar
Enable dark mode window title bar if applicable
2023-02-16 14:05:27 +01:00
Soreepeong
cfd3567a8a Enable dark mode window title bar if applicable 2023-02-16 21:51:26 +09:00
Soreepeong
49267a5777 Allow Windows+Shift+Left/Right when in non-window mode 2023-02-13 14:00:52 +09:00
Soreepeong
67e1e6b071 Fix borderless fullscreen window restoring 2023-02-11 23:09:34 +09:00
Kaz Wolfe
e6beb2a19e
fix: Fix broken case for relative symlinks
Currently, the game will have issues saving files to a relative symlink (for example, when a .DAT file is a symlink pointing to ../CHR_12345/HOTBAR.DAT). This change replaces the symlink resolution system with one that calls `weakly_canonical` to resolve and clean up the path in a single operation.
2023-01-07 15:35:32 -08:00
goat
c47ff6fe76
Merge pull request #1010 from Soreepeong/feature/tspack-from-crash-handler 2022-09-14 18:16:27 +02:00
Soreepeong
470850dd8c Juggle new/dat/old on symlink target 2022-09-14 14:46:00 +09:00
Soreepeong
8718de6121 Offer to generate .tspack from crash handler 2022-09-14 13:36:29 +09:00
Soreepeong
8e21134cdf Fix log culling 2022-09-13 11:37:10 +09:00
kizer
36955ed008
Fix broken GetInputDeviceManager signature (#972) 2022-08-24 08:54:31 +02:00
kizer
8b09449501
Exclusively use wstring/wchar_t for filesystem::path (#960) 2022-08-20 19:03:32 +02:00
kizer
1f1f0aaa20
Show DLL description and version into xivfixes dll load list (#958) 2022-08-18 21:20:45 +02:00
kizer
e9147387c7
Fix error message on import hook fail (#957) 2022-08-18 08:47:38 +02:00
goat
951118ceb6
fix: use global for VEH mutex
attempts to fix stack overflow when debugging in VS
2022-08-17 20:22:21 +02:00
kizer
58ceb1dc87
Offer to restart game from VEH exception handler (#936) 2022-07-26 21:14:48 +02:00
goat
d2ecddbf35
feat: optional CTD reports to gauge stability 2022-07-24 21:23:20 +02:00
goat
805a887f2e
feat: add minidump writer 2022-07-24 18:49:46 +02:00
goat
548100d9ea
deps: update Reloaded.Hooks to fork v2, fixes openprocess calls 2022-07-23 21:32:21 +02:00