1844 Commits

Author SHA1 Message Date
Kawe Mazidjatari
1376e1be82 Add temporary whitelist address for materialsystem crash case
This is required as we still have a very hacky approach for running 'custom' BSP files. Even though we are pretty much ready to move over the proper approach, we haven't been able to update all files yet. This is kept in place but will have to be deprecated and removed among with the MaterialSystem hack before the next release.
2022-12-27 23:10:51 +01:00
Kawe Mazidjatari
d2fc2405c3 Add ability to whitelist return addresses from exception filter
Programmer could add and remove whitelisted addresses. If an exception occurs, the system checks the callstack up to 'MAX_IMI_SEARCH' frames (defined in CCrashHandler), and returns true if found (returning early with 'EXCEPTION_CONTINUE_SEARCH' so we use whatever exception handler is set for this particular case), false otherwise.
2022-12-27 23:08:59 +01:00
Kawe Mazidjatari
81adf428ff Add GPU model info on startup
Kept in for dedicated as the main executable imports the same DLL used for 'EnumDisplayDevices'. No GPU will be displayed if there is none installed or set as primary.
2022-12-27 17:39:00 +01:00
Kawe Mazidjatari
3f4884b20a Fix CrashMsg flag
'2' means that the generic "Apex crashed" message box gets displayed without any additional information regarding the module.
2022-12-27 14:23:54 +01:00
Kawe Mazidjatari
b48f028b5a Make FPU vector unsigned
Value must be unsigned to yield proper output.
2022-12-27 14:21:20 +01:00
Kawe Mazidjatari
57c71b8ee4 Log loaded module information (base and base+imageSize) 2022-12-27 14:12:46 +01:00
Kawe Mazidjatari
3f5102cc6f Detect possible return address in callstack
Also increased the number of frames to capture from 60 to 128, and skipped the last 2 frames.
2022-12-27 13:19:57 +01:00
Kawe Mazidjatari
7dfef9c9c8 CCrashHandler and logging improvements
* CCrashHandler now calls the crashmsg executable to display the error to the user.
* Logs are now placed into directories named to the current time to avoid overwriting them or having 2 instances of the game writing to the same logs.
2022-12-27 02:28:43 +01:00
Kawe Mazidjatari
5502dcb8f1 Add 'build_id' to crash log
Also performed light cleanup.
2022-12-26 23:35:41 +01:00
Kawe Mazidjatari
cd3a80479e Log system information to the crash file
Added:
* CPU brand identifier
* CPU clock speed
* GPU device string
* GPU device state flags
* RAM total (physical/virtual)
* RAM avail (physical/virtual)
2022-12-26 22:00:38 +01:00
Kawe Mazidjatari
89bedf59d8 Fix typo 2022-12-26 21:58:39 +01:00
Kawe Mazidjatari
23070bd8ce Reorder 'CCrashHandler' class and add descriptions to functions 2022-12-26 20:33:09 +01:00
Kawe Mazidjatari
b4383478d1 Initial refactor of the CCrashHandler class
* Fixed recursive call.
* Format file similarly to Respawn's.
* Reduced output code size.

TODO:
* Call crashmsg.exe.
* Add build and system information.
2022-12-26 20:11:37 +01:00
Kawe Mazidjatari
1371bb1f38 Fix typo 2022-12-26 17:01:14 +01:00
Kawe Mazidjatari
08a550327a Fix bug in engine caused by missing comma separator
Valve and Respawn Entertainment forgot a comma in 'g_FieldTypes' causing "FIELD_INTERVAL" and "FIELD_MODELINDEX" to be concatenation. The engine executable patch fixes this problem
2022-12-26 16:58:07 +01:00
Rika
10c82e7e64
Model fixup (#91)
* fix header, flags, and add rest of major structs

* minor type swap

* bone flags because there are new ones

* forgor this

* Add compressed vector types.

* fix bitfield sizes

* Fix compilation.

Co-authored-by: Marvin D <41352111+IcePixelx@users.noreply.github.com>
Co-authored-by: rexx <67599507+r-ex@users.noreply.github.com>
2022-12-26 01:42:26 +01:00
Kawe Mazidjatari
9ec5b6aabd Improve formatting for FPU 2022-12-25 22:49:49 +01:00
Kawe Mazidjatari
0a9045f1c7 Fix typo in crash handler 2022-12-25 22:44:07 +01:00
Marvin D
61383efb50 Comment to plugin system for a bug that needs fixing. 2022-12-25 14:49:24 +01:00
Marvin D
c79f98e4f8 Remove comment on crashhandler. 2022-12-24 16:48:15 +01:00
Marvin D
f9f09bd02a Limit IMI search to 7. 2022-12-24 16:43:19 +01:00
Marvin D
e24b9b90a5 VEH Clean-up. 2022-12-24 16:41:47 +01:00
Marvin D
22506fa689 Fix VEH.
* Make sure IsMaterialInternal won't be inlined.
* Fix recurssive VEH throwing.
* Check if IsMaterialInternal caused exception and ignore it.
2022-12-24 16:40:04 +01:00
Marvin D
d1ec3aaf71 Disable VEH till fix. 2022-12-24 13:06:44 +01:00
Marvin D
8506851860 VEH clean up. 2022-12-23 14:06:31 +01:00
Marvin D
bd2cc9f4b3 EXCEPTION_EXECUTE_HANDLER -> EXCEPTION_CONTINUE_SEARCH 2022-12-23 03:19:43 +01:00
Marvin D
37a50c92b8 VectoredExceptionHandler init.
* Only gets compiled in for release builds.
* Attaches on gamesdk init, so should catch everything on dll setup also.
* Fake PDB parsing still needs to be done.
2022-12-23 02:56:40 +01:00
rexx
c4d23ebcc8 Remove unnecessary comment 2022-12-22 21:45:39 +00:00
rexx
3c3e1c46df Add pak_listtypes command 2022-12-22 21:44:38 +00:00
Kawe Mazidjatari
d9ac275d71 Fix bug where input is lost during resize
This commit fixes a bug causing all input to be lost. This gets triggered when either the console or server browser window is drawing while the user tabs out of the full-screen window, or resizes the game window.
2022-12-22 17:49:38 +01:00
Marvin D
6177c1ebe7 Fix deadlock detection when processing relations 2022-12-22 16:48:47 +01:00
Marvin D
89bc31de10 pass directly instead of ref. 2022-12-22 01:05:39 +01:00
Marvin D
35afca2cf4 Unify string conversion and __FUNCTION__ uses in callback 2022-12-22 01:01:29 +01:00
Marvin D
75b90d9294 Forgot changing HS_SHUTDOWN 2022-12-22 00:53:09 +01:00
Marvin D
841ae89261 Unify string conversion and __FUNCTION__ uses in hoststate 2022-12-22 00:44:53 +01:00
Kawe Mazidjatari
604e4a6705 Fix console bug stripping all spaces from paste
Fixed a bug that gets triggered when pasting some text in the input field that containing space characters. All spaces will be lost during the paste.
Issue has been fixed by removing an extraneous check for space characters, the initial space character input already gets blocked in case 'ImGuiInputTextFlags_CallbackEdit'.
2022-12-21 23:46:27 +01:00
Marvin D
01724cfaad vtable.cpp clean up 2022-12-21 15:55:52 +01:00
Michael Poutre
0077320bb7
Add server response to pylon debug info for GetServer and PostServer (#85) 2022-12-21 00:55:31 +01:00
Marvin D
5f7436f8bd Fix client dll compilation 2022-12-21 00:50:59 +01:00
Marvin D
c071ce2217 Prevent constant ModuleSections_t allocation. 2022-12-20 23:38:45 +01:00
Marvin D
a8ecdd44a6 RPakAssetBinding_t new member names. 2022-12-20 22:56:55 +01:00
Marvin D
f7e419646f Change args. 2022-12-20 01:53:05 +01:00
Marvin D
e8588e59bb Decided on place on where to register new pak assets. 2022-12-20 01:50:51 +01:00
Marvin D
db9c1f5ae6 Fix S0/S1 RTech_CreateDXTexture 2022-12-20 01:04:45 +01:00
Marvin D
9994491551 RTech_RegisterAsset 2022-12-20 01:03:59 +01:00
Marvin D
185a7ad007 IMaterial::GetShaderGlue info 2022-12-14 20:53:27 +01:00
Marvin D
2f4d61ab55 ePluginCallback should be enum class 2022-12-12 17:26:35 +01:00
Marvin D
b13c542ed1 CPluginCallbackList impl
* CPluginSystem allows for function callbacks now.
2022-12-12 17:16:39 +01:00
rexx
651b4b9c33 fix pluginsdk typo 2022-12-10 16:56:47 +00:00
Marvin D
21f995a37b remove un-needed include 2022-12-09 01:17:23 +01:00