Commit Graph

2984 Commits

Author SHA1 Message Date
x1nixmzeng 95e0c7f88b Disable multi-select on data editor 2018-04-19 00:27:11 +01:00
x1nixmzeng d4c31f44bd Cleanup of numerical handling 2018-04-19 00:23:26 +01:00
x1nixmzeng 293da03bf8 Added remaining data type reads 2018-04-18 23:53:13 +01:00
x1nixmzeng f8f814c500 Update thread context on breakpoint
Dumps disassembly at the known address rather than the next instruciton
too
2018-04-18 22:56:43 +01:00
x1nixmzeng 9fb3873042 Fixed lock after closing debugger on breakpoint 2018-04-18 22:37:19 +01:00
ergo720 e8c1c7670a Use real RSA public key 2018-04-18 19:30:47 +02:00
ergo720 a6c060d54c Ported back from xqemu's xbedump gigimport improvements 2018-04-18 19:09:11 +02:00
ergo720 0b69f4e558 Forward declare LoadXboxKeys 2018-04-18 15:17:46 +02:00
x1nixmzeng 0259feb0a9 Break correctly on breakpoint exceptions
Suspend was previously called which would trace at the wrong location
2018-04-18 00:52:01 +01:00
x1nixmzeng e0e2c434d2 Cleanup of data and assembly patches
Now encapsulates patched memory differently to Cheat Engine which
doesn't actually support auto-assembly like I assumed
2018-04-18 00:25:45 +01:00
ergo720 0e250a9d8a Small updates + use HDkey provided by the user if possible 2018-04-18 00:08:55 +02:00
jarupxx 2342dae79a OOVPA : Add for LTCG D3DDevice_SetIndices 2018-04-17 18:34:35 +09:00
Luke Usher 50b6f333de
Merge pull request #1071 from PatrickvL/prepare_d3d9_port
Prepare d3d9 port
2018-04-17 08:05:51 +01:00
ergo720 50b8a0e42b Fixed RSA implementation 2018-04-17 00:26:29 +02:00
PatrickvL b22d681559 More D3D9 conversion:
* add additional arguments to functions that need them
* use newly available types where possible
* enable D3D9 porting preparations inherited from Dxbx
2018-04-16 14:03:17 +02:00
x1nixmzeng 5012078a35 Added variable watch from memory view 2018-04-15 22:54:22 +01:00
ergo720 ecbab4fdec SHA1 implementation (SHA1 works, but RSA still doesn't) 2018-04-14 23:20:14 +02:00
Luke Usher 31c328ab3e Fix an off-by-one patch error 2018-04-14 17:34:23 +01:00
Luke Usher fe8b2764f3 Remove left-over debug line 2018-04-14 17:33:56 +01:00
Luke Usher b6c1f5b714 HACK: Alternate method of handling Performance Counter 2018-04-14 17:30:47 +01:00
patrickvl 39789fe54f More porting work 2018-04-14 17:49:50 +02:00
PatrickvL 7490221b14 Groundwork for a potential port to Direct3D 9 2018-04-14 15:30:34 +02:00
x1nixmzeng 00020a1d1a Automatically load local CT files
Also fixed the debug title event, adding it to the titlebar
2018-04-14 00:39:18 +01:00
x1nixmzeng a99c919367 Additional support for common datatypes 2018-04-14 00:15:59 +01:00
x1nixmzeng 51ef652f94 Support for disabling breakpoint groups 2018-04-13 23:56:36 +01:00
x1nixmzeng 3b16f2672d Support display preferences 2018-04-13 23:40:55 +01:00
x1nixmzeng 0308b5cea3 Support for memory editing single bytes
Very rough, but useful for skipping debug interrupts
2018-04-13 23:23:56 +01:00
x1nixmzeng 8856bbc76f Cleaner CT version check 2018-04-13 22:35:41 +01:00
x1nixmzeng 90758466b7 Updated to icon resource 2018-04-13 22:35:17 +01:00
ergo720 96dc895916 Dump in the logs xbe signature info 2018-04-13 23:18:45 +02:00
x1nixmzeng 182d22854d Breakpoint logging 2018-04-13 21:48:59 +01:00
x1nixmzeng 2d01a4815b Minor additions to CT parser
Supports some known older versions too
2018-04-13 21:48:16 +01:00
Luke Usher 389ec4fb80
Merge pull request #1060 from PatrickvL/PS_fix_constant_modifier
Pixel shader fix
2018-04-13 19:59:44 +01:00
x1nixmzeng abff5b0781 Added basic cheat loader UI 2018-04-13 18:40:38 +01:00
ergo720 99770ffea6 Finished xbe header and section hash verification 2018-04-13 19:19:12 +02:00
x1nixmzeng c6968ebb8a Added parser for CT files
Early support for Cheat Engine memory tweaks
2018-04-13 18:16:13 +01:00
ergo720 ac8b798c66 Finished RSA decryption 2018-04-13 16:40:11 +02:00
PatrickvL a77967cd92 Pixel shader : Avoid modifiers on constant registers, by moving these to a temporary register (and apply the modifier when reading that) 2018-04-13 16:20:08 +02:00
ergo720 0b972c7989 Added support to read rsa key provided by the user 2018-04-12 22:19:45 +02:00
patrickvl 9fd4194adf Log test cases 2018-04-12 20:41:06 +02:00
PatrickvL 8ed749dc08 Fixes to get Burnout in-game with this code 2018-04-12 18:17:01 +02:00
PatrickvL 94d955c817 Post-rebase fixes 2018-04-12 15:32:39 +02:00
PatrickvL 0b25a736a9 Refactored CreateHostResource 2018-04-12 15:13:06 +02:00
jarupxx 6c977ec426 Add patch for LTCG optimized functions
- D3DDevice_SetVertexShaderConstant_8
- D3DDevice_SetPixelShader_0
- D3DDevice_SetTextureState_BorderColor_4
2018-04-12 20:31:01 +09:00
patrickvl 49c670a6cb I was wrong - destination pitch is not a problem, it's just that one unswizzle call must still use source pitches, because it's an intermediate step 2018-04-11 23:51:31 +02:00
PatrickvL 8b16287c73 More notes 2018-04-11 23:51:29 +02:00
PatrickvL 6a4ece315a Unswizzling turns out to require SOURCE pitches (not destination pitches), or otherwise buffer-overflows cause crashes (not to speak : incorrect results).
This does bring to light another special case : when source and destination pitches differ - this isn't handled yet, but at least it now gets logged!
2018-04-11 23:51:29 +02:00
PatrickvL 318f11c4d5 Prevent crash on call to ConvertD3DTextureToARGBBuffer 2018-04-11 23:51:28 +02:00
PatrickvL a488ab0a8a Tuned CxbxGetPixelContainerMeasures, ConvertD3DTextureToARGBBuffer, ConvertD3DTextureToARGB, CreateHostResource 2018-04-11 23:51:28 +02:00
PatrickvL 654dc1bfc9 Added missing depth argument to ConvertD3DTextureToARGBBuffer call, and
reordered unswizzle arguments
2018-04-11 23:51:28 +02:00
PatrickvL e65ac9d3f2 Added missing depth argument to ConvertD3DTextureToARGBBuffer call, and
reordered unswizzle arguments
2018-04-11 23:51:28 +02:00
patrickvl b07a594242 tiny unswizzle update 2018-04-11 23:51:28 +02:00
patrickvl 32ee5388fa Swizzle fix and simplifications 2018-04-11 23:51:28 +02:00
patrickvl ff8fd69ca3 Prepare for unswizzling in 3D 2018-04-11 23:51:27 +02:00
jarupxx b7b6f16c7b OOVPA : Add D3DDevice_SetRenderTarget/Fast 2018-04-11 22:23:03 +09:00
jarupxx ff0f043faf Fix patch on release build 2018-04-11 22:22:55 +09:00
PatrickvL 6e8248cd5c PixelShader : Repeat cleanup of useless writes and nops until no more modifications are done, so that cascading effects are handled too. 2018-04-09 18:55:40 +02:00
PatrickvL eb900b9713 When entering in-game, Turok generates a few pixel shaders that d3d8to9 marks as invalid. This branch will improve upon them. 2018-04-09 18:33:17 +02:00
jarupxx 3b99ed721d Add stub patch for LTCG optimized functions
This function is still not working so should be investigated...
- D3DDevice_SetTexture_4
2018-04-09 19:56:54 +09:00
jarupxx da8cb26ca2 Add patch for LTCG optimized functions
- D3DDevice_SetShaderConstantMode_0
- D3DDevice_SetTransform_0
2018-04-09 19:52:32 +09:00
jarupxx ab0680c19a Fix patch for LTCG optimized functions
TODO: This function works only on debug build, should be fix on release build.
2018-04-09 19:40:13 +09:00
PatrickvL 0d1c7c2a80
Merge pull request #1049 from PatrickvL/log_unicode_string
log unicode string as ANSI
2018-04-07 20:22:49 +02:00
patrickvl 65266b19fe log unicode string as ANSI 2018-04-07 20:15:02 +02:00
PatrickvL 077c06ba10
Merge pull request #1048 from x1nixmzeng/fixed-debugger-launch
Fixed CxbxDebugger launch crash
2018-04-07 19:24:50 +02:00
x1nixmzeng ef0681ec55 Enclose all string arguments with quotes 2018-04-07 17:42:38 +01:00
patrickvl d4b46bc1e0 Fixed RtlEqualUnicodeString 2018-04-07 18:06:24 +02:00
Luke Usher d784ce1f68
Merge pull request #1045 from LukeUsher/various-experiments
Fix indexed drawing in < 4034 for real this time
2018-04-07 11:18:12 +01:00
Luke Usher 63b9e87d39
Merge pull request #1042 from RadWolfie/DSound-fixes-part1.1
DSound fixes part 1.1
2018-04-07 11:17:24 +01:00
Luke Usher eeb2d5264c Fix indexed drawing in < 4034 for real this time 2018-04-07 11:16:59 +01:00
Luke Usher 55afa95b35 Revert "Should've tested better, fix for < 4034 broke other XDKs... Need different solution"
This reverts commit 2cf5077986.
2018-04-07 11:13:29 +01:00
Luke Usher f9a3706c65
Merge pull request #1044 from LukeUsher/various-experiments
Should've tested better, fix for < 4034 broke other XDKs..
2018-04-07 10:46:52 +01:00
Luke Usher 2cf5077986 Should've tested better, fix for < 4034 broke other XDKs... Need different solution 2018-04-07 10:45:23 +01:00
Luke Usher c3557a4e09
Merge pull request #1043 from LukeUsher/various-experiments
Fix broken vertices in titles using XDK < 4034 (And fix frame limiter)
2018-04-07 10:40:54 +01:00
Luke Usher a66e8f4cc1 Fix broken vertices in titles using XDK < 4034 (And fix frame limiter) 2018-04-07 10:38:57 +01:00
RadWolfie 4c2cd0ff35 Update small notes 2018-04-06 19:40:35 -05:00
RadWolfie f04e45b9c3 Implement multi-channels support in HLE DSound 2018-04-06 19:40:35 -05:00
RadWolfie 2f8b67804d Only require header once, not twice. 2018-04-06 19:40:35 -05:00
RadWolfie f3e3dd3c0f Keep it simple 2018-04-06 19:40:35 -05:00
Luke Usher ccb9ae1309
Merge pull request #1040 from LukeUsher/various-experiments
This seems to fix the .bik hang
2018-04-07 01:24:54 +01:00
Luke Usher 2ee582b56c Fix an issue where RtlAnsiStringToUnicornSize would truncate strings 2018-04-07 00:51:26 +01:00
Luke Usher bfa444d55a Fix FPS counter 2018-04-07 00:07:38 +01:00
patrickvl 5caecd2b29 fixed RtlCompareMemoryUlong 2018-04-07 01:03:46 +02:00
Luke Usher f018ca461e Unpatch XAPI QueueUserAPC, seems to fix .bik hang 2018-04-07 00:00:52 +01:00
Luke Usher e0eeb142ca Only Update FPS counter & cap framerate in actual SWAP_PRESENT calls 2018-04-06 23:37:20 +01:00
jarupxx d4175ecd0d Add patch for LTCG optimized functions
Verified at D3DDevice_SetTextureState_BorderColor_0, D3DDevice_SetTextureState_ColorKeyColor_0
But why not work at D3DDevice_SetTextureState_TexCoordIndex_4, D3DDevice_SetTextureState_BumpEnv_8?
2018-04-06 07:36:06 +09:00
Luke Usher c4c1df2f20 Change TexCoordIndex error to a warning 2018-04-04 16:54:15 +01:00
Luke Usher d7c27fdc87
Merge pull request #1035 from PatrickvL/picks
Various HLE D3D improvements
2018-04-04 16:52:15 +01:00
Luke Usher 5a977e65d6 Fix debug build 2018-04-04 16:37:11 +01:00
Luke Usher bd93e64c53 Fix a nullptr dereference in DSoundBufferTransferSettings 2018-04-04 16:21:57 +01:00
Luke Usher 357ede50e3 Use Doublebuffering 2018-04-04 15:39:42 +01:00
patrickvl 2820a584c0 D3D : Debug texture dumping works again, plus a slight optimization in EmuUnswizzleRect 2018-04-04 16:24:59 +02:00
patrickvl 2bc1288ee9 D3D : Removed no-longer used EmuAdjustPower2() 2018-04-04 16:19:00 +02:00
patrickvl 7be44e09ae D3D : Removed EmuUnswizzleTextureStages, it's no longer needed now we unswizzle when converting textures to host format in CreateHostResource 2018-04-04 16:18:23 +02:00
patrickvl 368aaf8bbb D3D : GetHostResourceKey on pixel containers now uses it's uniquely identifying values instead of the resource memory address, so changes in those are detected, and meanwhile duplicates will be converted to a host version only once. 2018-04-04 16:17:59 +02:00
patrickvl ef514f52ac D3D : SwitchTexture no longer alters the Xbox texture; Instead we use a copy. 2018-04-04 16:17:30 +02:00
patrickvl fc25603ee4 D3D : Determine texture dimensions via already existing tooling functions. This fixes the bump texture in BumpEarth XDK sample.
Also split up texture-format support array into 6 versions : texture vs surface, and normal vs render-target vs depth-stencil.
2018-04-04 16:16:58 +02:00
patrickvl 87e77493c6 D3D : Choose ARGB8 whenever possible after a failed CheckDeviceFormat() 2018-04-04 16:16:14 +02:00
patrickvl d8f6aefb00 D3D : Pass along the texture stage for which a texture needs to be created (so palette's can be applied correctly) 2018-04-04 16:15:50 +02:00
patrickvl 9a5d1ad858 D3D : Removed special resource detection (we don't create those anymore) 2018-04-04 16:15:17 +02:00
patrickvl 2fe6e99394 D3D : Fixed cartoon sample, by only applying texture expansion (of height/width to 4 instead of 1) for compressed formats. 2018-04-04 16:11:18 +02:00
patrickvl 7697fa6e22 D3D : Use CheckDeviceFormat before trying fallbacks, and use CreateDepthStencilSurface for depth stencil formats 2018-04-04 16:10:51 +02:00
patrickvl 94d3c6d75c Detect overflow of recompiled buffer in EmuRecompileVshDeclaration 2018-04-04 16:09:50 +02:00
patrickvl 11753744f0 D3D : Disable a number of function signatures that are no longer patched 2018-04-04 16:09:25 +02:00
Luke Usher 86b21b83e5 Finally fix Fibers, DOAX gets a little further now 2018-04-04 15:07:09 +01:00
Luke Usher e5d4dacaa6 Fix an issue where copy_string_to_PSTRING_to would truncate data. Fixes hang in PGR2 2018-04-04 13:30:48 +01:00
Luke Usher 2a9ea70bc4 NV2A Tweaks/Optimisation 2018-04-04 10:42:51 +01:00
Luke Usher 9fca583381 Fix FPS counter for LLE 2018-04-03 18:22:55 +01:00
Luke Usher ea14ecd5c9 Add some notes around flip stalling 2018-04-03 18:08:46 +01:00
Luke Usher c88a0ab90f Fix error in CountActiveD3DStreams 2018-04-03 18:03:05 +01:00
Luke Usher bae81988fa Move NV2A Swap into FLIP_STALL 2018-04-03 18:01:19 +01:00
Luke Usher 363c16002f Add patch for LTCG optimized D3DDevice_Swap 2018-04-03 16:53:23 +01:00
Luke Usher 574d28bafc Don't swap when NV2A is disabled 2018-04-03 15:52:33 +01:00
Luke Usher 03dff3b3df
Merge pull request #990 from RadWolfie/DSound-fixes
DSound fixes Part 1
2018-04-03 15:42:37 +01:00
Luke Usher c0be3b47da Add optional speedhack to use all available cores 2018-04-03 10:57:45 +01:00
Luke Usher 00050d74b4
Merge pull request #1023 from jarupxx/D3D8LTCG_DB
Introduced D3D8LTCG database
2018-04-03 10:20:48 +01:00
Luke Usher f60c6d7148
Merge pull request #1025 from LukeUsher/nv2a_framebuffer_size
Use real framebuffer size (NV2A LLE)
2018-04-03 10:19:38 +01:00
Luke Usher daa057830f Tweaking because of AMD crash... 2018-04-03 10:02:28 +01:00
RadWolfie 51de9851fa Now using accurate played check
Test case: Gauntlet Dark Legacy's first intro with distort audio noises.
2018-04-03 01:11:39 -05:00
RadWolfie 552ed094bf Fix conversion warn (Thanks Luke for reintroduce) 2018-04-03 01:01:01 -05:00
RadWolfie cc7e805e5e Raise DSound stream size limit
TODO: Need to merge both sizes into one. The real limit is 8MB which
split into 4KB page each which become total of 2047 SGE.
2018-04-03 00:13:25 -05:00
RadWolfie 969a4992a4 Fix memory leak on xbox audio buffer cache 2018-04-02 20:49:53 -05:00
jarupxx 672e559f93 Cleanup
3 D3D8LTCG OOVPAs have been merged into D3D8LTCG database

Verified with
-[3925] Nascar Heat 2002
-[4039] NBA 2K2
-[4432] Bruce Lee
-[4627] Battle Engine Aquila
-[4928] Shin Megami Tensei - Nine
-[5233] Midtown Madness 3
-[5455] Freaky Flyers
-[5659] Ninja Gaiden
-[5849] Grand Theft Auto - San Andreas
2018-04-03 08:02:50 +09:00
jarupxx 83f57d0b76 Add Lock offset value 2018-04-03 05:52:01 +09:00
jarupxx 3d7ddaa340 Initialize commits of HLEDB D3D8LTCG 2018-04-03 05:52:01 +09:00
RadWolfie 2857cd95d8 Add a "hack" for SetOrientation
Plus add TODO notes for both Orientation functions
2018-04-02 14:35:07 -05:00
RadWolfie 5e58773956 Hotfix DSound Stream 2018-04-02 14:35:07 -05:00
RadWolfie 0ede9c223d Stream's set position during process is more ideal
just before start play stream audio.
2018-04-02 14:35:07 -05:00
RadWolfie 2ee159fb65 More fixup for DSound Stream class 2018-04-02 14:35:07 -05:00
RadWolfie 393703f9d1 Attempted fixup for Ghost Recon titles
I believe there is unauthorized write to xbox pass-down memory since it
show different result from time to time for some reason...

However... Rayman 3 and Rayman Arena titles now shows 2nd intro
properly! 👀 I personally believe this is the best commit for ANY
FMV (background musics are not verified).
2018-04-02 14:35:07 -05:00
RadWolfie 2de464fc1b 3D flag hack implement for exclusion
Undetermined if will help with titles other than Aeon Flux.
2018-04-02 14:35:07 -05:00
RadWolfie cb19073795 Contains two set of changes
1. Incomplete experiment for out of memory.
2. Fix buffer cache size.

* Fixed Blinx: The Time Sweeper crash.
2018-04-02 14:35:07 -05:00
RadWolfie bbf7dee16a Change buffer creation to show error code
More research need to be done to find out why it's not releasing
properly or something else needs to be done behind this.
2018-04-02 14:35:07 -05:00
RadWolfie ee5596ade4 Add callback support for BackgroundMusic sample
Track counter now do update via callback request.
2018-04-02 14:35:07 -05:00
RadWolfie 0274e4c2be Proper fix for a fatal error to StopEx (DSound)
When a fatal error show up, this helps me to research better and
implement better than I originally had before. Now we can return as
invalid param to title.
2018-04-02 14:35:07 -05:00
RadWolfie 9a7121d87e Fix crashes for DSound Buffer region subclass. 2018-04-02 14:35:07 -05:00
RadWolfie ed9b104262 Fix DSound Stream infinity loop issue 2018-04-02 14:35:07 -05:00
RadWolfie 11fd4f6ff5 Update DSound buffer class fixes
Currently is able to produce accurate(?) audio output instead of cut off
early.

Titles improved
* Turok Evolution
* Smashing Drive
* Mafia
* etc
2018-04-02 14:35:06 -05:00
RadWolfie 4d1ab39d2e Append temporary hack for sound buffer (not stream)
Temporary hack since certain titles such as Mafia kept creating more
buffer. Yet did not find repeatly calls in the log.
2018-04-02 14:35:06 -05:00
RadWolfie d34eff64d1 Update Flush function for DSound 2018-04-02 14:35:06 -05:00
RadWolfie 77aec057af Clean up debug stuff.
Plus add silence packet.
2018-04-02 14:35:06 -05:00
RadWolfie b8806848fe Use correct write offset from buffer only
Now audio is stream properly without gaps problem.
2018-04-02 14:35:06 -05:00
RadWolfie 3d8944118d Proper buffer update, yet still has audio gaps...
TODO: Create memory buffer then copy all the packets to there. Then test
the audio once stream is released for audio gaps is confirmed an issue
with the code.

Note: WaveBankStream appear to be working now, before it just randomly
or remain looping. (Except one audio stream still did not continue in
the loop for some reason?)
2018-04-02 14:35:06 -05:00
RadWolfie d59e24f34d Fix shift values 2018-04-02 14:35:06 -05:00
RadWolfie 0c5819ced2 Optimize a bit plus insert debug log temporary
It is now checking the range properly.

WaveBankStream has improved, still doesn't resolve shorter packet stream
issue.
2018-04-02 14:35:06 -05:00
RadWolfie f165d699f1 Add verbose log in case anyone has a crash.
Temporary enable verbose log in release build for DSound only.

Remind me to comment this section out before merge.
2018-04-02 14:35:06 -05:00
RadWolfie 1a8476618c Add a hack for temporary time being.
Remind me to remove it before prepare to merge into master.

P.S. I do remember it worked fine before without this hack.
2018-04-02 14:35:06 -05:00
RadWolfie 3ed172988d Seamless audio is !HERE! for DirectSoundStream only
It is still experimental, need to fix 2nd intros become not playable or
stuck. However Pause and PauseEx function will affect this seamless
audio as well. Still got more to do.
2018-04-02 14:35:06 -05:00
RadWolfie add65ca173 Fix titles boot up issue with HRTF functions.
DSound HRTF does not have enter/leave criticalsection from reverse
engineering info. Removing enter/leave criticalsection allow certain
titles with this issue to progress further.
2018-04-02 14:35:06 -05:00
RadWolfie 0beb1c733e Update task doc
nothing is changed to audio in this commit.
2018-04-02 14:35:06 -05:00
RadWolfie 34a892a944 Tuneup, doesn't resolve click noises and FMVs perf. 2018-04-02 14:35:06 -05:00