Kawe Mazidjatari
eede2b65f3
Force signature dictionary full rebuild
...
Launch times become slower in debug builds due to the many added signatures; force full rebuild of dictionary.
2023-01-23 02:24:41 +01:00
Kawe Mazidjatari
502a1d2324
Switch box overlay transform type to 'matrix3x4_t'
...
Actual type turned out to be 'matrix3x4_t' after further reverse engineering.
2023-01-23 02:20:21 +01:00
Kawe Mazidjatari
6f02e3ae13
Make CBaseEntity members protected
2023-01-23 02:08:12 +01:00
Kawe Mazidjatari
932f73530f
Studio hdr improvements
...
* More mapped-out version of 'CStudioHdr'.
* Added hitbox getters for 'mstudiobbox_t'.
2023-01-23 02:07:42 +01:00
Kawe Mazidjatari
07ef57536d
Add modelinfo vftable pointers
2023-01-22 16:48:16 +01:00
Kawe Mazidjatari
2cd28ab304
Obtain debug overlay interface through factory
2023-01-22 13:08:02 +01:00
Kawe Mazidjatari
4ebe031341
Disable BHit raytrace z-buffer by default
2023-01-22 12:28:48 +01:00
Kawe Mazidjatari
3b0ed17c0d
Ray_t structure improvements
...
Apparently it has 2 flag fields?
2023-01-22 12:05:28 +01:00
Kawe Mazidjatari
aa353f76cb
Update bspflags.h
2023-01-22 12:04:21 +01:00
Kawe Mazidjatari
437b80eac4
Update trace masks
...
Changed trace masks to reflect that of the engine.
2023-01-22 01:43:31 +01:00
Kawe Mazidjatari
aa22460924
Update bsp flags to reflect changes in engine
...
Changes where acquired from Squirrel script constants initialization.
2023-01-21 16:40:32 +01:00
Kawe Mazidjatari
9903ed2597
Add bsp flags from source sdk
2023-01-21 16:38:55 +01:00
Kawe Mazidjatari
4ca0146499
EngineTrace improvements
...
Add server's EngineTrace to SDK, unfortunately it does not have a exposed factory interface unlike the client's version.
2023-01-21 16:24:36 +01:00
Kawe Mazidjatari
560e06ff20
Improve CGameTrace
...
Set field 'hit_entity' to C(_)BaseEntity*.
2023-01-21 16:20:54 +01:00
Kawe Mazidjatari
3b48e0c746
Fix 'Ray_t' structure
...
Correct size and offsets. Most fields still unknown but for our current use case this doesn't matter.
2023-01-21 16:19:39 +01:00
Kawe Mazidjatari
4022fbd3ad
Fix bad assert
...
Field 'm_bInitialized' should be set prior to calling this, this field was named differently and its use case was inverted, forgot to reflect changes in assert.
2023-01-21 14:49:53 +01:00
Kawe Mazidjatari
7b669ea8c6
Engine trace cleanup
...
Separate into different files to make it easier for other classes to access.
2023-01-20 17:20:50 +01:00
Kawe Mazidjatari
a69c287e17
Align IClientMessageHandler vftable
...
Ported from S7 to S3.
2023-01-20 16:00:12 +01:00
Kawe Mazidjatari
9720d8b0f1
Fix 'g_pGlobals' and 'UTIL_PlayerByIndex()'
...
'UTIL_PlayerByIndex' now returns the player from the edict array properly, 'g_pGlobals' had to be dereferenced twice.
2023-01-20 14:07:25 +01:00
Kawe Mazidjatari
05d2c5e3ea
Add g_pEntityList to SDK
2023-01-20 02:12:14 +01:00
Kawe Mazidjatari
aec30a8047
Slight fix for CGlobalVarsBase
...
Fixed offsets for 'm_fCurTime' and 'm_fFrameTime'.
2023-01-19 21:44:42 +01:00
Kawe Mazidjatari
54f08bd887
Work-in-progress user command executor
...
* Added some getters in 'CBaseEntity' and 'CServerNetworkProperty'.
* Implemented 'CPlayer::SetTimeBase'.
* WIP implementation of 'CPlayer::RunNullCommand'.
2023-01-19 15:25:45 +01:00
Kawe Mazidjatari
d4b576bd49
Light structures cleanup
2023-01-19 15:06:08 +01:00
Kawe Mazidjatari
b21fa6b665
Fix CBaseAnimating and CPlayer structure alignment
...
This change creates correct assembly output.
2023-01-19 02:02:42 +01:00
Kawe Mazidjatari
d5ef71200f
Update sig cache minor version
...
Invalidate old databases and rebuild as signature for 'gpGlobals' has changed.
2023-01-18 01:35:27 +01:00
Kawe Mazidjatari
3ed423543e
Add more entity structures to the SDK
...
Stuff will be separated properly very soon.
2023-01-18 01:34:40 +01:00
Kawe Mazidjatari
217bbc8ea1
Add new work-in-progress entity structures to SDK
...
Thanks to rexx for the structures.
2023-01-18 00:46:17 +01:00
Kawe Mazidjatari
94bf515ba7
Add gpGlobals to SDK
2023-01-17 11:21:10 +01:00
Kawe Mazidjatari
909a3d7876
Initialize pointer to CVEngineServer VFTable
2023-01-17 00:07:53 +01:00
Kawe Mazidjatari
76e7111101
Fixed interface method name
...
Thanks rexx!
2023-01-16 23:14:10 +01:00
Kawe Mazidjatari
1d960c50dd
Partially reversed IVEngineServer interface class
...
Partially reversed. Aligns with S0 to S3.
2023-01-16 23:05:36 +01:00
Kawe Mazidjatari
21f4d0fa07
Initial working bots implementation
...
* Changed 'CClient' handle time to 'edict_t' which is an alias of 'uint16_t'.
* Changed 'g_pServerGameDLL' and 'g_pServerGameClients' init (obtain from factory instead).
* Use interface version macro's for obtaining factory pointers instead.
* Added 'g_pServerGameEntities'.
2023-01-16 21:09:21 +01:00
Amos
39920283c0
Fix arithmetic register formatting for high number
...
High values would cause the formatting to be decimal while it should be hexadecimal if the value equals or exceeds one million.
2023-01-16 15:28:39 +01:00
Kawe Mazidjatari
d8dd9aba93
Fix CCrashHandler method name
...
Renamed from APU to ALU (typo).
2023-01-04 14:55:58 +01:00
Kawe Mazidjatari
34fddd52a8
Add cvar/command flag tooltip
...
Show a more detailed description of all flags set on cvar/command when user hovers its mouse over the flags texture.
2022-12-29 13:30:33 +01:00
Kawe Mazidjatari
08ed169cf3
Only run game's exception filter if ours didn't handle it
...
This is required as otherwise the game's exception filter will be called after ours. If we didn't handle the exception, the game's implementation, or an exception handler associated to the exception raised by address will take care of it. Unlike the game's implementation, our exception handler does not handle unknown exceptions. We only do the low level stuff reliably.
2022-12-28 21:44:51 +01:00
Kawe Mazidjatari
f00153ccb4
Rename exception filter
2022-12-28 21:39:58 +01:00
Kawe Mazidjatari
3c7ad57650
CCrashHandler improvements
...
* Move large module instance array to the heap.
* Add ability to query whether or not an exception was handled.
2022-12-28 21:38:47 +01:00
Kawe Mazidjatari
2c70283397
CCrashHandler improvements
...
* Only handle exceptions we could handle (anything that isn't in the switch case is not getting handled).
* Only show hexadecimal representation of decimal integer if could contain hexadecimal digits.
2022-12-28 20:30:33 +01:00
Kawe Mazidjatari
5de241b807
CCrashHandler: light cleanup
2022-12-28 16:36:52 +01:00
Kawe Mazidjatari
700bb48494
Fix compiler error
2022-12-28 15:38:34 +01:00
Kawe Mazidjatari
56c48f2949
Fix FPU formatting for negative numbers
...
Properly format negative numbers too. The function now checks if any of the 4 values in the SSE register are above or below one million before displaying in hexadecimal. Prior to this commit, the value was unsigned leading to negative numbers bellow one million being displayed as very high in hexadecimal.
2022-12-28 15:38:18 +01:00
Kawe Mazidjatari
bc99a064b1
Don't write null character to text file on disc
2022-12-27 23:12:21 +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
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