Triang3l
36f4158f09
[GPU] Trace dump: Do PIX/RenderDoc capture if attached
2019-10-25 21:32:17 +03:00
illusion98
77d4b5a7d4
Merge remote-tracking branch 'upstream/master' into canary
2019-10-25 03:57:49 -05:00
Triang3l
f75d927cc5
[D3D12] Resolve fetch memory read tracing
2019-10-25 09:17:08 +03:00
Triang3l
c057b5a032
[D3D12] Make trace dump partially work
2019-10-25 08:38:06 +03:00
Triang3l
b622e894d6
[D3D12] Replicate the last texture component into non-existent ones
2019-10-23 23:47:17 +03:00
Triang3l
4623b41023
[D3D12] Trace guest memory operations
2019-10-23 23:33:50 +03:00
Triang3l
e07b0ed2ad
[VFS] Fix some security issues in StfsContainerDevice code
2019-10-22 08:55:45 +03:00
Margen67
d0e3281741
Merge remote-tracking branch 'upstream/master' into canary
2019-10-21 22:23:17 -07:00
Triang3l
1005651855
[D3D12] Fix DXN swizzle and cleanup texture swizzles
2019-10-21 21:16:29 +03:00
Triang3l
a9ed73bdd1
[GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code
2019-10-20 19:40:37 +03:00
Triang3l
f83269cf8c
[GPU] Refactor: Register structs in D3D12CommandProcessor and some other places
2019-10-19 23:32:38 +03:00
illusion98
15627fb803
Revert "Thread order tweak to threading PR"
...
This reverts commit 0fc7ac4218
.
2019-10-10 07:38:36 -05:00
illusion98
3ab478da75
Change default config file name
2019-10-10 07:38:30 -05:00
Radosław Gliński
779cfc6624
Implemented instructions: rldclx, rldcrx
2019-09-23 04:45:14 -05:00
illusion98
7a7c44b0b7
Merge remote-tracking branch 'upstream/master' into canary
2019-09-15 03:25:21 -05:00
Triang3l
f748e5af49
[Emulator] Default XEX cvar
2019-09-14 20:30:04 +03:00
illusion98
cf6cc7a108
Merge remote-tracking branch 'upstream/master' into canary
2019-09-13 03:11:03 -05:00
Cancerous
b6e1902579
return error in NetDll_WSARecvFrom so we don't wait on packets we won't be getting - fixes State of decay with other XBLA fixes already merged in canary
2019-09-13 03:10:11 -05:00
gibbed
f6e2012e8c
[Kernel] Workaround for crash seen on N3 demo boot.
...
Changes NtAllocateVirtualMemory so that it ignores specified page size when a
base address is specified. Requires verification if this is desired behavior.
2019-09-13 03:10:06 -05:00
Radosław Gliński
47f9142080
Added stub implementation of WSAFDIsSet. I hope that arguments correct
2019-09-13 03:09:48 -05:00
illusion98
4bd98ea3d8
Add command to show fps in titlebar
2019-09-13 03:09:09 -05:00
gibbed
c19a052b96
[XAM] Don't use strncpy for XamUserGetName.
2019-09-12 03:41:02 -05:00
Prism Tutaj
4b89a060d4
Fix discord cvar
2019-09-09 08:13:03 -05:00
Cancerous
73b7bad11b
Merge branch 'get-proc-address-by-ordinal' of https://github.com/CookiePLMonster/xenia into canary
...
[Kernel] Fixup GetProcAddressByOrdinal #1473
2019-09-08 23:10:12 -04:00
Silent
9021a7c922
[CPU] Fix off-by-one in max ordinals check
2019-09-08 22:34:31 +02:00
Silent
286a7a03f9
[Kernel] Fixup GetProcAddressByOrdinal
...
Now properly takes a global lock when populating guest_trampoline_map_
as opposed to taking and immediately releasing it
Also removes a redundant find() from guest_trampoline_map_
so map is not searched twice if the function has already been generated.
2019-09-08 21:32:34 +02:00
Prism Tutaj
7eb69ca255
miscellaneous linux fixes. Disables vulkan-trace-viewer and dumper
2019-09-07 20:30:25 -05:00
Prism Tutaj
313f38e538
Revert "Merge remote-tracking branch 'canary/systemlink'"
...
This reverts commit 7091177142
, reversing
changes made to c9631fb73d
.
2019-09-07 17:08:02 -05:00
Cancerous
25df5a6e94
Merge branch 'master' of https://github.com/xenia-project/xenia into canary
...
# Conflicts:
# src/xenia/kernel/xboxkrnl/xboxkrnl_modules.cc - resolved in xboxkrnl_xconfig.cc?
2019-09-05 09:18:37 -04:00
Cancerous
ba46b6a6f8
Merge cleanup and fixes
2019-09-05 08:23:43 -04:00
Cancerous
127b465ccc
Merge branch 'profile-gpds-rebase' of https://github.com/emoose/xenia into canary
...
Merge Emoose profiles-gpds https://github.com/emoose/xenia/tree/profile-gpds-rebase
2019-09-05 05:24:42 -04:00
gibbed
b422ed750b
Oops. Didn't mean to add that yet.
2019-09-04 23:16:06 -05:00
gibbed
2780e7b1a6
Add user_country cvar, rename game_language cvar.
...
- [Kernel] Rename game_language cvar to user_language.
- [Kernel] Recategorize user_language to XConfig.
- [Kernel] Add user_country cvar, used instead of hardcoded value in XConfig.
- [XAM] Use user_country cvar for xeXamGetLocaleEx instead of
xeExGetXConfigSetting.
2019-09-04 23:02:55 -05:00
gibbed
4f4b83b421
[Kernel] Move ExGetXConfigSetting to its own file.
...
- [Kernel] Clean up xboxkrnl registration function declarations.
- [Kernel] Move ExGetXConfigSetting to its own file.
2019-09-04 23:02:55 -05:00
gibbed
d58544b406
[XAM] Fix incomplete locale tables.
2019-09-04 23:02:55 -05:00
Cancerous
8200b36af7
Merge branch 'master' of https://github.com/ObsidianNA/xenia into canary
...
Recent Files Menu Bar #1396
2019-09-04 23:20:02 -04:00
Cancerous
7d03c3a28c
Merge branch 'master_XNotifyGetNext_Dequeue' of https://github.com/Gliniak/xenia into canary
...
[XAM] Dequeue remain notification when match_id is incorrect #1463
2019-09-04 22:09:06 -04:00
Cancerous
11f50b25fd
Merge branch 'master_FE_msg_getNotify_fixes' of https://github.com/Gliniak/xenia into canary
...
"Template" for 0xFE message: 0x22005
2019-09-04 22:07:00 -04:00
Cancerous
07c9533c12
Merge branch 'swapdiscv2' of https://github.com/randprint/xenia into canary
...
[Kernel] XamSwapDisc and supporting functions
swapdiscv2 (#1458 )
2019-09-04 21:52:01 -04:00
Cancerous
d5a44504a0
Merge branch 'xex-unload-image' of https://github.com/CookiePLMonster/xenia into canary
...
[Kernel] Make XexUnloadImage fully release the image
Previously XexUnloadImage did not cleanup the image fully,
and if XexLoadImage was to be called again on the same module,
it was not initialized fully, leading to a crash when using it.
[Kernel] (Partially) fix module refcounting
.xex module handles were retained twice in several places,
possibly causing them to leak.
More placed may have to be fixed too.
2019-09-04 21:40:27 -04:00
Cancerous
b91b1eb356
Merge branch 'crypt-fixes' of https://github.com/CookiePLMonster/xenia into canary
...
[Kernel] Fix SHA1 and SHA256 state endianness
Fixes malfunctioning SHA256 hash,
corrupting its state between Update and Finish calls.
crypt-fixes (#1461 )
2019-09-04 21:36:22 -04:00
Cancerous
f3a1500c20
Merge branch 'master' of https://github.com/xenia-project/xenia into canary
...
c22f76e
[Base] Const-ize store and store_and_swap templ... - gibbed
ce78d71
[CPU] Add locale export category. - gibbed
8589238
[XAM] Implement a number of language/locale rel... - gibbed
2019-09-04 21:15:16 -04:00
gibbed
858923898f
[XAM] Implement a number of language/locale related functions.
...
[XAM] Implement XamGetLocale, XamGetOnlineCountryFromLocale,
XamGetOnlineCountryString, XamGetCountryString, XamGetLanguageString,
XamGetLanguageLocaleString, XamGetOnlineLanguageAndCountryString,
XamGetLocaleString, XamGetLocaleFromOnlineCountry,
XamGetLanguageFromOnlineLanguage, XamGetOnlineLanguageString,
XamGetCountryFromOnlineCountry, and XamGetLocaleEx.
2019-09-04 20:03:25 -05:00
gibbed
ce78d7110e
[CPU] Add locale export category.
2019-09-04 20:03:25 -05:00
gibbed
c22f76e87f
[Base] Const-ize store and store_and_swap templates.
...
[Base] Make value argument for store and store_and_swap templates
const&.
2019-09-04 19:58:17 -05:00
Cancerous
7825877040
FPS Counter at the end of the display chain #1362
...
from IceTDrinker
https://github.com/xenia-project/xenia/pull/1362
2019-09-04 07:54:55 -04:00
Cancerous
0fc7ac4218
Thread order tweak to threading PR
2019-09-04 07:40:43 -04:00
illusion98
6eabaa259a
Merge remote-tracking branch 'randprint/ThreadDistribution' into canary
2019-09-04 06:20:02 -05:00
illusion98
7c52c211e1
Merge remote-tracking branch 'randprint/window-dimensions' into canary
2019-09-04 06:20:01 -05:00
illusion98
3d909462ac
[Kernel] Add Gamertag config variable
2019-09-04 06:19:41 -05:00
illusion98
bcc571e574
Merge remote-tracking branch 'upstream/master' into canary
2019-09-04 05:50:18 -05:00
Silent
2ecf687983
[Kernel] Fix SHA1 and SHA256 state endianness
...
Fixes malfunctioning SHA256 hash,
corrupting its state between Update and Finish calls.
2019-09-03 22:55:43 +02:00
Rados??aw Gli??ski
bea0cc4922
Fixed Mask incorrectness. Does mask_ == 0x01 means accept all?
...
Affected Games:
- Grid 2 (freezes)
- Skate. (Menu Soundtrack)
- Crackdown 2 Demo (ingame freeze)
2019-09-03 20:36:53 +02:00
Triang3l
84a8dc91e4
[D3D12] Filtering between array texture layers
2019-09-03 10:14:25 +03:00
Silent
19251993fc
[Kernel] Make XexUnloadImage fully release the image
...
Previously XexUnloadImage did not cleanup the image fully,
and if XexLoadImage was to be called again on the same module,
it was not initialized fully, leading to a crash when using it.
2019-09-02 21:48:51 +02:00
Silent
6630a494ac
[Kernel] (Partially) fix module refcounting
...
.xex module handles were retained twice in several places,
possibly causing them to leak.
More placed may have to be fixed too.
2019-09-02 21:44:43 +02:00
Rados??aw Gli??ski
a8978db8f9
"Template" for 0xFE message: 0x22005
2019-09-01 23:21:31 +02:00
Cancerous
551eb749eb
[Kernel] XamSwapDisc and supporting functions
2019-08-30 15:52:17 -04:00
illusion98
31f81662c4
[Discord] Change ID and new description
2019-08-29 06:42:53 -05:00
Cancerous
c385981d04
[UI] Add window dimension cvars
2019-08-28 16:14:48 -04:00
Triang3l
803fa0cba9
[Kernel] Fix TranslateUnicodeString endian and size
2019-08-28 09:20:10 +03:00
Triang3l
0ad1bd9ab4
[Kernel] XMAInitializeContext physical buffer addresses
2019-08-28 08:11:43 +03:00
illusion98
0eb250ed69
Merge remote-tracking branch 'emoose/stfs-packages' into canary
2019-08-27 23:17:59 -05:00
illusion98
874513594e
Merge remote-tracking branch 'emoose/devicetype-fix' into canary
2019-08-27 23:16:04 -05:00
illusion98
658c704470
Merge remote-tracking branch 'upstream/master' into canary
2019-08-27 23:07:16 -05:00
Triang3l
2f51949ece
[Kernel] Cya l8r recently added wrong XMAInitializeContext comment
2019-08-27 23:53:06 +03:00
Triang3l
9df39e4883
[Kernel] Fix StoreXmaContextIndexedRegister, note about physical addresses in XMAInitializeContext
2019-08-27 23:50:30 +03:00
illusion98
b7bdfdd046
[Discord] Add Time Elasped and Description Text
...
Display Time Elapsed when idle or playing a game
Display description when hovering over the icon
2019-08-27 10:30:50 -05:00
illusion98
ad57cb5267
Hack for Source engine
2019-08-27 01:35:40 -05:00
illusion98
e453ace05b
Add cvar for UE hack
2019-08-27 01:35:26 -05:00
illusion98
dfccdbc369
Merge remote-tracking branch 'upstream/master' into canary
2019-08-27 01:14:57 -05:00
Triang3l
b01f6cd7ea
[Vulkan v2] Add immediate shader SPIR-V code
2019-08-26 23:43:05 +03:00
Triang3l
b3382f3de1
[Vulkan v2] Upload buffer chain, immediate drawer without textures
2019-08-26 22:57:14 +03:00
gibbed
e9802a9f3b
[x64] Further simplification / fix buffer overrun in code cache.
...
- [x64] Further simplify padding of code / unwind reservation in code cache.
- [x64] Fix accidental buffer overrun caused by previous simplification.
2019-08-26 13:42:44 -05:00
Cancerous
97383d9003
Revert "Merge remote-tracking branch 'emoose/import-fixes'"
...
This reverts commit 974123d9c3
, reversing
changes made to e2456f662a
.
2019-08-26 11:48:13 -04:00
Cancerous
95352c30a3
[Kernel} distribute worker threads not created with affinity specified more evenly
2019-08-26 04:38:09 -05:00
illusion98
d1877b260e
Change window title
...
xenia -> xenia-canary
2019-08-26 04:32:41 -05:00
illusion98
b50feba296
Merge remote-tracking branch 'upstream/master' into canary
2019-08-25 23:58:43 -05:00
gibbed
c4ff8d7c58
[x64] Fix prolog/epilog sizes for emitted functions.
2019-08-25 17:02:42 -05:00
gibbed
c808b59834
[x64] Simplify growable function pointer definitions.
2019-08-25 17:02:42 -05:00
gibbed
015e91140a
[x64] Don't have a zeroed unwind info as the first slot.
2019-08-25 17:02:42 -05:00
gibbed
920b5c5839
[x64] Simplify padding of code / unwind reservation in code cache.
2019-08-25 17:02:42 -05:00
Triang3l
a422166123
[Kernel] Fix MmAllocatePhysicalMemoryEx range base
2019-08-24 19:23:31 +03:00
Triang3l
7e6bf8022f
[Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448
2019-08-24 17:42:06 +03:00
gibbed
3e6c2bb47c
Fix up handling of positional options in cvar handling.
...
- Fix up handling of positional options in cvar handling so that executables
other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
gibbed
24321dbcd9
[x64] Fix up offset of stack alloc in prolog for unwind info.
...
- [x64] Track offset of stack alloc in prolog within emitted functions.
- [x64] Don't use hardcoded offset of stack alloc in prolog in generated
unwind info.
2019-08-23 06:12:22 -05:00
gibbed
0dc4a13db3
[x64] Fix up unwind info for emitted functions.
...
- [x64] Track size of code within emitted functions (prolog, body, epilog).
- [x64] Don't use hardcoded prolog size in generated unwind info.
- [x64] Update URLs to MSDN documentation on UNWIND_INFO/UNWIND_CODE.
2019-08-23 06:12:22 -05:00
gibbed
918a7d4365
[x64] Reuse module handle when pulling in growable function table imports.
2019-08-23 06:12:22 -05:00
gibbed
92a85d6692
[x64] Remove outdated comment.
2019-08-23 06:12:22 -05:00
illusion98
ad6448cd29
Merge remote-tracking branch 'upstream/master' into canary
2019-08-21 07:00:47 -05:00
Radosław Gliński
765c1cc4e7
Disable debugging break on KeBugCheck
2019-08-21 06:59:36 -05:00
emoose
f46e3c7e39
[Kernel/VFS] Ensure vfs::Entry is up-to-date before retrieving file information
...
Games like Forza use NtQueryInformationFile to get the size of the file, to make sure that there's enough room inside it to write data.
Previously, updating the file size (via SetInfoFile(EndOfFile) or WriteFile) wouldn't update the vfs::Entry size field, which NtQueryInfo uses to return the size of the file.
This resulted in the game thinking that the file was smaller than it actually is, and trying to correct that by using SetInfoFile(EndOfFile), which then truncated the file and deleted important data that was written to it.
2019-08-21 02:00:57 -05:00
emoose
06cacbb9af
[Kernel] Implement XeKeysObscureKey & XeKeysAesCbcUsingKey
2019-08-21 02:00:57 -05:00
emoose
b22d76f0f9
[Kernel] Add XLiveBase 0x58046 stub
2019-08-21 02:00:57 -05:00
0x8081
071e4dce37
Merge remote-tracking branch 'emoose/ntwritefile-apc'
2019-08-20 17:29:24 -06:00
0x8081
974123d9c3
Merge remote-tracking branch 'emoose/import-fixes'
2019-08-20 16:21:23 -06:00
0x8081
e2456f662a
Merge remote-tracking branch 'randprint/XBLAfixes'
2019-08-20 15:44:23 -06:00
0x8081
e0ea242b35
Merge remote-tracking branch 'canary/canary'
2019-08-20 15:42:19 -06:00
0x8081
7091177142
Merge remote-tracking branch 'canary/systemlink'
2019-08-20 15:41:16 -06:00
0x8081
c9631fb73d
Fix STFS stuff
2019-08-20 15:37:51 -06:00
0x8081
97325d286f
Fix Emoose Dashboard merge
2019-08-20 14:12:59 -06:00
0x8081
134ea59e9a
Merge remote-tracking branch 'emoose/dashboard'
2019-08-20 13:38:26 -06:00
0x8081
3edc563bac
Merge remote-tracking branch 'emoose/title-updates'
2019-08-20 13:34:30 -06:00
illusion98
8c2f0377c4
Merge remote-tracking branch 'upstream/master' into canary
2019-08-20 01:34:45 -05:00
Triang3l
4731ae026b
[D3D12] 3D/stacked texture layer addressing
2019-08-19 23:24:58 +03:00
Cancerous
807fceefc1
add missed part of PR #1150
2019-08-19 14:41:43 -04:00
Cancerous
61eb3a7c2d
[kernel] Updated PR from Permanulled https://github.com/xenia-project/xenia/pull/1150/files#diff-358a33abb42660137d33300bbc8188c8R51
...
plus xgimessages to fix Jetpac XBLA
gets AegisWings, Jetpac, and MetalSlug 3 in game
2019-08-19 12:35:01 -04:00
0x8081
61a325ae09
Update to Master and merge inital syslink implementation
2019-08-19 10:13:25 -05:00
illusion98
4a39af2a8f
Merge branch 'systemlink'
2019-08-19 09:43:00 -05:00
chss95cs@gmail.com
2655195ee6
Reuse flag results in OPCODE_BRANCH_TRUE codegen if the preceding instruction was a comparison that already set the cpu flags
2019-08-19 09:41:48 -05:00
chss95cs@gmail.com
030a879cf8
Add constant folding for OPCODE_ROTATE_LEFT
2019-08-19 09:41:36 -05:00
Triang3l
bc4b68db45
[CPU] Data cache control instructions
2019-08-18 16:22:32 +03:00
Triang3l
b25c50164f
[APU] Physical address in XE_XMA_REG_CONTEXT_ARRAY_ADDRESS
2019-08-16 21:20:10 +03:00
Triang3l
e35c609224
Revert "[APU] Temp XMA context allocation region workaround"
...
This reverts commit 968c337d22
.
2019-08-16 21:11:55 +03:00
Triang3l
968c337d22
[APU] Temp XMA context allocation region workaround
2019-08-16 09:47:28 +03:00
Triang3l
126978d960
[Memory] Fix memory watch addresses
2019-08-16 08:49:48 +03:00
Triang3l
834ced0d63
[Memory] 0xE0000000: Fix a typo, re-enable and cleanup
2019-08-15 23:55:33 +03:00
Triang3l
e862169156
[Memory] BaseHeap::TranslateRelative including host address offset
2019-08-15 00:31:21 +03:00
Triang3l
0451153760
[Memory] Temporarily disable allocation in 0xE0000000
2019-08-15 00:06:27 +03:00
gibbed
6ab7720951
[Kernel] Fix stray whitespace in license_mask definition.
2019-08-14 14:15:56 -05:00
Triang3l
003c02c640
[CPU, Memory] 0xE0000000 adjustment by @elad335 and mapping
2019-08-14 21:37:52 +03:00
illusion98
c021c7741d
[Kernel] Add license mask as a config variable
2019-08-14 10:25:24 -05:00
Sandy Carter
3c3709dbe7
[CPU] Use c++ style cast
2019-08-14 06:42:30 -05:00
Triang3l
2507f1a819
[Memory] TranslateVirtual in shim and strings
2019-08-14 10:31:11 +03:00
Triang3l
0067f5561d
[Kernel] More TranslateVirtual/HostToGuestVirtual usage
2019-08-14 08:28:30 +03:00
Triang3l
2152c79965
[Memory] 0xE… adjustment in TranslateVirtual
2019-08-14 00:07:27 +03:00
Triang3l
741b5ae2ec
[Memory] Add HostToGuestVirtual and use it in a couple of places
2019-08-13 23:49:49 +03:00
Triang3l
f1b9e1afce
[CPU] Remove unused access violation handler variables
2019-08-13 00:06:29 +03:00
Triang3l
470f9946d6
[Vulkan v2] Present framebuffer clearing
2019-08-11 23:53:24 +03:00
Triang3l
490f3de853
[Vulkan v2] Swapchain ImageViews, error messages
2019-08-11 19:29:44 +03:00
Triang3l
be6fa2b577
[Vulkan v2] Present loop
2019-08-11 17:49:01 +03:00
Triang3l
675034670e
[Vulkan v2] Surface queries
2019-08-10 20:41:37 +03:00
Triang3l
db2898e386
Merge branch 'master' of github.com:xenia-project/xenia
2019-08-10 14:52:54 +03:00
Triang3l
fb656f3493
[Vulkan v2] GDK VkSurface
2019-08-10 14:52:33 +03:00
Jonathan Goyvaerts
c621e01dd2
Add game_language as a config variable
2019-08-10 06:51:36 -05:00
Triang3l
af93986c8f
[Vulkan v2] VkSurface
2019-08-10 00:23:31 +03:00
Triang3l
30ba2619f3
[Vulkan v2] Properly include, clean up queue families
2019-08-09 22:40:55 +03:00
Triang3l
001120605b
[Vulkan v2] Frames and fences
2019-08-08 23:58:02 +03:00
Triang3l
5744e6ba38
[Vulkan v2] Device and queue creation
2019-08-08 23:03:36 +03:00
Triang3l
940ef4ad7a
[UI/GPU] Fix include order
2019-08-08 22:11:51 +03:00
gibbed
39c3f72c41
[Kernel] Implement RtlComputeCrc32.
2019-08-07 19:50:17 -05:00
Triang3l
2334e475de
[Vulkan v2] Physical device, [D3D12] Small cleanup
2019-08-08 00:08:20 +03:00
Triang3l
40471dff32
[D3D12] Remove gflags from premake5.lua
2019-08-06 23:16:51 +03:00
emoose
e68057affb
[Kernel] Update profile-gpds to work with latest master
2019-08-05 18:26:07 +01:00
emoose
ad47cd7022
[Kernel] Allow loading info from "Account" file (gamertag etc)
...
This should let Xenia load in Account files from an actual 360, one step closer to fully supporting 360 profiles!
Only decrypts/reads atm, but the code is there for re-encrypting, maybe once new UI is ready we can make use of that for creating new 360-compatible profiles?
2019-08-05 18:26:06 +01:00
emoose
981eff5902
[Kernel] Move HmacSha function to seperate file, add RC4
2019-08-05 18:26:05 +01:00
emoose
fa61106984
[Kernel] Remove redundant 'Xdbf' from names
2019-08-05 18:26:04 +01:00
emoose
c1eaf6879a
[Kernel] Move XDBF code to its own namespace
2019-08-05 18:26:03 +01:00
emoose
8f5a82b444
[Kernel] Fix GpdFile missing default constructor & init dash with proper ID
2019-08-05 18:26:01 +01:00
emoose
fa2cd63b1f
[Kernel] Add UserProfile::GetTitles, add title_id param to UpdateTitleGpd
...
Also changed GetTItleGpd to check for -1 to use current GPD (some games might be using 00... as title id, eg. protos)
2019-08-05 18:26:00 +01:00
emoose
00cffcacbb
[Kernel] Add GpdFile::GetTitleId() member
2019-08-05 18:25:59 +01:00
emoose
69eca79402
[Kernel] Format XdbfFile class members like rest of project
...
Oops, holdover from when this was XbdfWrapper :P
2019-08-05 18:25:58 +01:00
emoose
9b8ebcfe7b
[Kernel] Fix achievement iterator inside XGIUserWriteAchievements
...
Thanks to jgoyvaerts for noticing it!
2019-08-05 18:25:56 +01:00
emoose
40145b8dbb
[Kernel] Implement XamProfileEnumerate functions
2019-08-05 18:25:55 +01:00
emoose
be8d85b168
[Kernel] Add --profile_directory flag, print achievements to log
...
Also added more error checking, and changed XELOG statements that use %ws to use %s & xe::to_string instead, seems to_string handles some non-latin strings better than %ws does.
2019-08-05 18:25:54 +01:00
emoose
66fca40b04
[Kernel] Update CreateAchEnum to actually use the title_id parameter
2019-08-05 18:25:53 +01:00
emoose
04fcdeb24d
[Kernel] GPD: Set unlock/played times, add missing SPA achievements to existing GPDs...
...
For example if a user applies a TU that adds achievements after already running the non-patched game, this should add any new achievements it finds.
Will also update the last_played time of a title when the SPA gets loaded in (on game launch), and also set the unlock_time when unlocking achievements.
Unlocking also only updates the title GPD (+ dash GPD) now, instead of needing to rewrite every GPD.
2019-08-05 18:25:52 +01:00
emoose
faeddbd34d
[Kernel] Copy title image/name from SPA->GPD, fix XDBF free data...
...
Velocity should now load Xenia-created GPDs fine :D
To try it just make a new profile package in Velocity, inject GPDs from Xenia, and inject random Account file from a 360 profile.
Then close created package, use Tools -> Profile Tools -> Profile Editor to open the package you just created, and if all goes well the profile should load up fine.
2019-08-05 18:25:51 +01:00
emoose
e510972691
[Kernel] Update XamUserCreateAchievementEnumerator to work with GPDs
...
Seems to work fine, tested with Tetris TGM ACE which uses achievements to track progression & unlock things in the game, and unlocking achievements in the GPDs does unlock things in game as intended.
Haven't actually tested unlocking the achievements in-game and then checking though (my tetris skills are awful :P), but I think it should work fine.
Strings aren't copied into it yet since I didn't want to alloc guest memory for every CreateEnumerator call...
Not many games actually have in-game achievement lists though, but I've added a placeholder string for any that might.
Like said in the comment, maybe we should alloc those strings in guest mem when the game GPD/SPA is first loaded in?
2019-08-05 18:25:49 +01:00
emoose
8368e8ce06
[Kernel] Let XGIUserWriteAchievements unlock achievements
...
XGIUserWriteAchievements seems to be the main (only?) way achievements are unlocked, when used that'll now try getting the GPD from UserProfile and unlock the achievements passed to it.
Dash GPD info is recalced and GPDs get written to disk whenever achievements are unlocked, letting achievements persist across instances.
TODO:
- "Achievement Unlocked!" UI, writing to log isn't much of an indicator :P
- XamUserCreateAchievementEnumerator, needs to return XACHIEVEMENT_DETAILS structs, which also contain pointers to strings in guest memory...
- Copy over more data from SPA? (need to check what data 360 copies to it)
- Optimize GPD writing, atm every GPD gets rewritten even if it hasn't been changed...
- Change profile folder path? Maybe allow using 360 profiles eventually?
- GPD settings
2019-08-05 18:25:48 +01:00
emoose
2a5ab07024
[Kernel] Let UserProfile load/save GPDs, convert SPA -> GPD on XEX load
...
UserProfile will now try loading dash GPD + any game GPDs from the "profile" folder when initialized.
After loading an XEX the title's SPA data gets passed to UserProfile, which will then either set current GPD based on title ID in the SPA, or create new GPD and copy achievements/images over to it.
2019-08-05 18:25:46 +01:00
emoose
734bbc7515
[Kernel] Add XdbfTitlePlayed support to GpdFile, used by dash GPD
...
Eventually user_profile would read dash GPD, loop through XdbfTitlePlayed entries, load GPD for each one...
Also eventually settings will be stored in dash GPD (eg. the ones currently defined in user_profile.cc)
2019-08-05 18:25:44 +01:00
emoose
00f3627715
[Base] Make Emulator::CompleteLaunch use SpaFile instead
2019-08-05 18:25:43 +01:00
emoose
52984280c3
[Kernel] Add achievement stuff to XdbfWrapper, convert it to a full XDBF parser...
...
XdbfWrapper would only wrap existing in-memory data, making modifying data (or creating new data) non-trivial.
The new XdbfFile class parses all the XDBF stuff into different vectors, making modifications a lot easier.
GpdFile and SpaFile are both children of XdbfWrapper, SpaFile has the same functions as the older XdbfGameData class, but now includes support for parsing achievements too.
The GpdFile class also supports achievements, and both classes parse into a common XdbfAchievement struct, which makes it simple to eg. copy achievements from a SPA file into a new GPD file.
TODO:
- images?
- GPD settings (user_profile has some code for this, not sure how much we can use here though...)
- modify user_profile to make use of this
2019-08-05 18:25:41 +01:00
gibbed
35e79d1979
[Base] Fix checks in cvar string escaping.
2019-08-04 21:55:06 -05:00
Triang3l
cb0e18c7dc
[Memory] BaseHeap::host_address_offset
2019-08-04 23:55:54 +03:00
Triang3l
25675cb8b8
[Memory] E0000000 adjustment in watches only for Windows
2019-08-04 23:10:59 +03:00
gibbed
bbe4d416ff
[Core] Fix writing of multiline values in config.
2019-08-04 13:00:15 -05:00
gibbed
41b8dbdd76
[Core] Fix SaveConfig on non-Windows.
2019-08-04 12:48:41 -05:00
gibbed
13a67d64a9
[Core] Fix ParseFile on non-Windows.
2019-08-04 12:20:51 -05:00
gibbed
306f358c07
[Base] Drop inline on string_util/vec128 implementations for now because clang is whining.
2019-08-04 12:00:04 -05:00
gibbed
7d6d732999
[Kernel] Of course I forget to commit another local change.
2019-08-04 11:44:18 -05:00
gibbed
36bd0df586
[Base] Move float/double to_hex_string implementation out of header. Maybe fix Travis complaining.
2019-08-04 11:38:01 -05:00
gibbed
1ebf7bb484
[Kernel] Implement KeTryToAcquireSpinLockAtRaisedIrql. Maybe correctly.
2019-08-04 11:36:49 -05:00
Triang3l
68017eadea
[Vulkan] Add missing line to mark a texture as watched
2019-08-04 18:29:20 +03:00
gibbed
4248f9ed19
[Base] Fix formatting in string_util.cc.
2019-08-04 07:32:24 -05:00
gibbed
693958f8b7
[Base] Fix escaping quote runs.
2019-08-04 07:29:29 -05:00
gibbed
bee55ce5bb
[Base/Core] Work on config/cvars. Properly escape string values when saving config.
2019-08-04 07:09:05 -05:00
gibbed
82f85c98f0
[Base] Add wide version of split_path.
2019-08-04 06:47:09 -05:00
gibbed
01c656b77b
[Base] Add split_string.
2019-08-04 06:46:07 -05:00
emoose
70df4f42ae
Merge branch 'master' into dashboard
2019-08-04 12:41:39 +01:00
gibbed
2048239f30
[Base] Move implementation out of header where appropriate, and qualify std namespace.
2019-08-04 04:40:19 -05:00
gibbed
40cc8c52d7
[Base] Qualify std namespace.
2019-08-04 04:39:22 -05:00
gibbed
8b1f728d85
[Base] Use vwsprintf instead of _vsnwprintf.
2019-08-04 03:44:08 -05:00
gibbed
5ea54d9326
[Core] Fix config load/save not using wide strings for path.
2019-08-04 03:30:57 -05:00
gibbed
b685211b96
[Base] Add wide versions of FatalError.
2019-08-04 03:26:18 -05:00
gibbed
85b4b561bf
[Base] Fix Travis complaints with cvar code.
2019-08-04 02:52:28 -05:00
gibbed
a1c9d57afc
[App] Make target into a transient cvar.
2019-08-04 02:18:03 -05:00
gibbed
f360053198
[Base/Core] Bring cvar/config code in line with the style guide.
2019-08-04 02:17:22 -05:00
gibbed
7ba460552c
[Base/Core] Add support for transient cvars.
2019-08-04 02:12:46 -05:00
gibbed
9a9a55aa49
[Core] Report the actual reason config parse failed.
2019-08-04 01:22:01 -05:00
gibbed
53b564c1a6
[APU] Only set the work event/wait on the worker thread when they actually exist.
2019-08-04 00:49:32 -05:00
gibbed
38a6d110e7
[APU] Only wait on the worker thread if it actually exists.
2019-08-04 00:27:49 -05:00
gibbed
e48f4ce004
[Core] Only wait on the main thread if it actually exists.
2019-08-03 23:48:05 -05:00
gibbed
4970fc8673
[Kernel] Make XObject type() const.
2019-08-03 23:47:16 -05:00
gibbed
b2f62b1982
Clean up cvars (rename, recategorize).
2019-08-03 23:46:03 -05:00
emoose
313e81ec38
[Kernel] Add XN_SYS_UI notifications to XamShow*UI exports
2019-08-04 03:57:06 +01:00
emoose
c3476e8e19
[Kernel] Make XNotifyListener::notifications_ a std::vector, allowing multiple to use the same ID.
...
Previously adding a notification that already exists would just overwrite the older notifications value, meaning the game would never see that older notification.
This would break games like Project Sylpheed, which seems to require seeing XN_SYS_UI = true eventually followed by XN_SYS_UI = false for the game to realize all system UIs are closed.
2019-08-04 03:55:57 +01:00
gibbed
0ac83f99dc
[App] Add winkey input driver last.
2019-08-03 20:47:39 -05:00
gibbed
f2dac86b3f
[App] Use make_unique when creating a derived type instance.
2019-08-03 20:46:03 -05:00
gibbed
02ea74becd
[App] Only create input nop driver when explicitly requested.
2019-08-03 20:07:19 -05:00
gibbed
e5eb59df71
[App] Remove unnecessary type aliasing (which also broke Travis).
2019-08-03 18:10:49 -05:00
gibbed
f5cddbbf3f
[App] Simplify and improve factory template.
...
[App] Rework audio and input system creation.
2019-08-03 17:36:50 -05:00
gibbed
848e2a4088
[App] Rework graphics system creation.
2019-08-03 16:42:38 -05:00
Triang3l
890a32bd98
[App] Only start D3D12 if DLL exists
2019-08-03 22:33:09 +03:00
Triang3l
d20c2fa9da
[Memory/Vulkan] Move old memory watches to the Vulkan backend
2019-08-03 21:06:59 +03:00
Triang3l
0370f8bbd9
[Memory] Pass exact_range to watch callbacks
2019-08-03 19:16:04 +03:00
Triang3l
a0c92e30ce
[Main] Add --gpu=d3d12 hint
2019-08-03 17:16:52 +03:00
Triang3l
cc7f26ada8
[GPU] Remove one merge conflict resolution line
2019-08-03 17:15:37 +03:00
Triang3l
e04dfe8833
Merge branch 'master' into d3d12
2019-08-03 16:53:37 +03:00
Triang3l
352f12f92e
[D3D12] Switch from gflags to cvars
2019-08-03 16:53:23 +03:00
gibbed
5593773a07
[Discord] Better image keys and avoid setting a small image for now.
2019-08-03 08:16:08 -05:00
gibbed
112bf6c8ab
Properly reset title id/game title.
2019-08-03 08:16:08 -05:00
gibbed
c16ef67ff9
[App/Discord] Rework how rich presence is managed.
...
Updating rich presence state every time the window title changes
is a bad idea(tm).
2019-08-03 08:16:04 -05:00
Jonathan Goyvaerts
2a1d67eada
[Base] Fix snprintf not working correctly
...
This seems to be an issue with Microsoft declaring a snprintf macro which causes issues.
Related issues:
- https://github.com/nlohmann/json/issues/1408
- https://github.com/kodi-pvr/pvr.vuplus/issues/162
2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
81fe22f1c8
Get rid of gflags alltogether
2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
67cc8b7316
Load game config on game load
2019-08-03 02:34:17 +02:00
Jonathan Goyvaerts
d12871b8b4
[App] Initialize config on emulator startup
2019-08-03 02:34:08 +02:00
Jonathan Goyvaerts
c1af632562
Replace all gflag implementations with cvar implementations
2019-08-03 02:34:07 +02:00
Jonathan Goyvaerts
a01908aa15
Add config class for loading and saving of config file
2019-08-03 02:34:07 +02:00
Jonathan Goyvaerts
bedd8ea40f
[Base] Add cvar class, a better, more flexible implementation of storing configuration variables than gflags
2019-08-03 02:33:56 +02:00
Jonathan Goyvaerts
bc6c047152
[Base] Add generic implementation for converting from string to T, and add specific implementation for string to bool
2019-08-03 02:33:40 +02:00
Triang3l
e071ca852c
Merge branch 'master' into d3d12
2019-08-02 21:50:43 +03:00
Rick Gibbed
372928cd57
Merge pull request #1387 from Margen67/update_capstone
...
Update Capstone to latest stable (4.0.1).
2019-08-02 11:09:02 -05:00
gibbed
e05f3288e4
Merge remote-tracking branch 'origin/master' into d3d12
2019-08-02 10:00:36 -05:00
Wes Taylor
ce38e7b0b1
[App] Add support for Discord rich presence.
2019-08-02 09:06:02 -05:00
Triang3l
90c9c24ca5
[D3D12] Add d3d12_readback_resolve gflag
2019-08-01 08:55:47 +03:00
Triang3l
68b2ddee86
Merge branch 'master' into d3d12
2019-07-31 23:09:44 +03:00
Triang3l
e466687f11
[Base] Fix tzcnt logic
2019-07-31 23:08:41 +03:00
Triang3l
9d0986030f
[Memory] Don't mark non-writable pages as watched
2019-07-31 08:40:26 +03:00
Triang3l
24383b9137
[Memory/D3D12] Unwatch up to 256 KB ranges
2019-07-31 00:18:12 +03:00
Triang3l
b5fb84473d
[Memory] Replace forgotten InvalidateRange in NtReadFile
2019-07-30 09:06:23 +03:00
Triang3l
4aceeb73c4
[Memory] Move new watches to heap-aware Memory from MMIOHandler
2019-07-30 08:00:20 +03:00
Triang3l
83da671bb4
Merge branch 'master' into d3d12
2019-07-30 07:59:38 +03:00
gibbed
669d83896d
[Kernel] Implement RtlImageNtHeader.
2019-07-29 19:23:16 -05:00
gibbed
cd18b702a6
[Kernel] Implement ExAllocatePool.
2019-07-29 19:21:01 -05:00
gibbed
3d67ffad81
[Kernel] Implement NtOpenSymbolicLinkObject, NtQuerySymbolicLinkObject.
2019-07-29 18:04:06 -05:00
gibbed
05d2d76cff
[VFS] Reimplement ResolvePath. Add FindSymbolicLink, ResolveSymbolicLink.
2019-07-29 17:55:46 -05:00
gibbed
54b0e2aff6
[Kernel] Add XSymbolicLink.
2019-07-29 17:52:46 -05:00
gibbed
e72cacc986
[VFS] Make ResolvePath argument a const reference.
2019-07-29 16:04:25 -05:00
gibbed
7c7d80103e
[Kernel] Use type constant instead of type enum when calling base constructor.
2019-07-29 13:53:44 -05:00
gibbed
0d6bfc1a6b
[Kernel] Rename NotifyListener to XNotifyListener to bring it in line with the naming scheme of kernel objects.
2019-07-29 13:43:13 -05:00
gibbed
e38be4c294
[Core] Use a macro for loading kernel modules (which also explicitly discards return value).
2019-07-29 13:26:09 -05:00
gibbed
ecf64d8e05
[Core] Keep a reference to the main thread's XThread rather than its underlying thread.
2019-07-29 13:24:36 -05:00
gibbed
a4d2f5e4ed
[Core] Initialize all members of Emulator.
2019-07-29 13:22:45 -05:00
emoose
7e2a163a51
[Kernel] Fix bug with deleting StfsContentPackage & ensure instance gets
...
deleted
2019-07-23 18:46:34 +01:00
emoose
dcb45e800f
[Kernel] Add virtual dtor to ContentPackage, hopefully fix travis...
2019-07-23 18:02:15 +01:00
emoose
ef00742d3d
[Kernel] Allow reading FolderContentPackage thumb from headers.bin file
2019-07-23 17:45:16 +01:00
emoose
54f9ce14c4
[Kernel/VFS] Split code into StfsContentPackage / FolderContentPackage classes
2019-07-23 17:36:32 +01:00
emoose
81d88de912
[Kernel] Add APC support to NtWriteFile
2019-07-23 09:46:44 +01:00