summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-10-03Merge pull request #1429 from lioncash/translatebunnei
configure_input: Make analog mapping strings translatable
2018-10-03Merge pull request #1436 from lioncash/viewbunnei
submission_package: Cleanup and bug fixes
2018-10-03Merge pull request #1432 from lioncash/lblbunnei
service/lbl: Update service function table
2018-10-03Merge pull request #1426 from FearlessTobi/port-4253bunnei
Port citra-emu/citra#4253: "common/string_util cleanup"
2018-10-03Merge pull request #1435 from lioncash/xcibunnei
card_image: Ensure program_nca_status is always initialized
2018-10-03submission_package: Avoid dangling std::string_view within SetTicketKeys()Lioncash
GetName() returns a std::string by value, not by reference, so after the std::string_view is constructed, it's not well defined to actually execute any member functions of std::string_view that attempt to access the data, as the std::string has already been destroyed. Instead, we can just use a std::string and erase the last four characters.
2018-10-03submission_package: Correct location of null check within SetTicketKeys()Lioncash
If a ticket file was ever a null pointer, we'd cause a null pointer dereference, as we were calling GetExtension() on the pointer instance.
2018-10-03submission_package: Use std::string's rfind() when looking for the extension ↵Lioncash
in InitializeExeFSAndRomFS() When searching for a file extension, it's generally preferable to begin the search at the end of the string rather than the beginning, as the whole string isn't going to be walked just to check for something at the end of it.
2018-10-03submission_package: Ensure the 'extracted' member variable is always initializedLioncash
If an error occurs when constructing the PartitionFilesystem instance, the constructor would be exited early, which wouldn't initialize the extracted data member, making it possible for other code to perform an uninitialized read by calling the public IsExtractedType() member function. This prevents that.
2018-10-03submission_package: Move ExeFS and RomFS initialization to its own functionLioncash
Like the other two bits of factored out code, this can also be put within its own function. We can also modify the code so that it accepts a const reference to a std::vector of files, this way, we can deduplicate the file retrieval. Now the constructor for NSP isn't a combination of multiple behaviors in one spot. It's nice and separate.
2018-10-03submission_package: Move NCA reading code to its own functionLioncash
This too, is completely separate behavior from what is in the constructor, so we can move this to its own isolated function to keep everything self-contained.
2018-10-03submission_package: Move ticket key setting to its own functionLioncash
This behavior is entirely independent of the surrounding code, so it can be put in its own function to keep the behavior separate.
2018-10-03submission_package: Invert conditionals within NSP's constructor to reduce ↵Lioncash
nesting We can use early continues here to reduce the amount of nesting.
2018-10-02card_image: Ensure program_nca_status is always initializedLioncash
If any of the error paths before the NCA retrieval are taken, it'll result in program_nca_status being left in an inconsistent state. So we initialize it by default with a value indicating an error.
2018-10-02service/lbl: Update service function tableLioncash
Amends the lbl service table to include new names of functions that were added to Switchbrew.
2018-10-02configure_input: Make analog mapping strings translatableLioncash
These strings are user-facing, so they should be specified as translatable with tr().
2018-10-02string_util: unify UTF8<->UTF16 conversion to codecvtWeiyi Wang
2018-10-02string_util: remove TString conversion for windowsWeiyi Wang
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
2018-10-02string_util: remove ShiftJIS/CP1252 conversion functionWeiyi Wang
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-10-01Merge pull request #1407 from DarkLordZach/dlcbunnei
aoc_u: Implement functions and add support for DLC loading
2018-10-01gl_rasterizer: Fixup unassigned point sizesReinUsesLisp
2018-09-30Merge pull request #1330 from raven02/tldsbunnei
TLDS: Add 1D sampler
2018-09-30Merge pull request #1322 from bunnei/tex-cubemapbunnei
gl_rasterizer_cache: Implement cubemap textures.
2018-09-30Merge pull request #1403 from DarkLordZach/install-sysnandbunnei
qt: Install System TitleTypes to System NAND
2018-09-30aoc_u: Extract AccumulateAOCTitleIDs to separate functionZach Hilman
2018-09-30aoc_u: Implement GetAddOnContentBaseIdZach Hilman
Command #5
2018-09-30aoc_u: Implement Count, List and Prepare AddOnContentZach Hilman
Commands #2, #3, and #7
2018-09-30romfs_factory: Read from all locations with StorageId NoneZach Hilman
Previous behavior was to assert. Seems to mirror expected game behavior.
2018-09-30patch_manager: Add DLC recognition to PatchManagerZach Hilman
2018-09-30Merge pull request #1338 from raven02/service_vibunnei
Implement ISystemDisplayService::GetDisplayMode
2018-09-30gl_rasterizer_cache: Fixes to how we do render to cubemap.bunnei
- Fixes issues with Splatoon 2.
2018-09-30gl_rasterizer_cache: Add check for array rendering to cubemap texture.bunnei
2018-09-30gl_rasterizer_cache: Implement render to cubemap.bunnei
2018-09-30gl_shader_decompiler: TEXS: Implement TextureType::TextureCube.bunnei
2018-09-30gl_rasterizer_cache: Add support for SurfaceTarget::TextureCubemap.bunnei
2018-09-30gl_rasterizer_cache: Implement LoadGLBuffer for Texture2DArray.bunnei
2018-09-30gl_rasterizer_cache: Update BlitTextures to support non-Texture2D ↵bunnei
ColorTexture surfaces.
2018-09-30gl_rasterizer_cache: Track texture target and depth in the cache.bunnei
2018-09-30gl_rasterizer_cache: Workaround for Texture2D -> Texture2DArray scenario.bunnei
2018-09-30gl_rasterizer_cache: Keep track of surface 2D size separately from total size.bunnei
2018-09-30Fix trailing whitespaceraven02
2018-09-30kernel/svc: Implement svcGetThreadContext()Lioncash
Now that we have all of the rearranging and proper structure sizes in place, it's fairly trivial to implement svcGetThreadContext(). In the 64-bit case we can more or less just write out the context as is, minus some minor value sanitizing. In the 32-bit case we'll need to clear out the registers that wouldn't normally be accessible from a 32-bit AArch32 exectuable (or process).
2018-09-30kernel/process: Add a data member to determine if a process is 64-bit or not.Lioncash
This will be necessary for the implementation of svcGetThreadContext(), as the kernel checks whether or not the process that owns the thread that has it context being retrieved is a 64-bit or 32-bit process. If the process is 32-bit, then the upper 15 general-purpose registers and upper 16 vector registers are cleared to zero (as AArch32 only has 15 GPRs and 16 128-bit vector registers. not 31 general-purpose registers and 32 128-bit vector registers like AArch64).
2018-09-30kernel/process: Make data member variables privateLioncash
Makes the public interface consistent in terms of how accesses are done on a process object. It also makes it slightly nicer to reason about the logic of the process class, as we don't want to expose everything to external code.
2018-09-30arm_interface: Add missing fpsr/tpidr members to the ThreadContext structLioncash
Internally within the kernel, it also includes a member variable for the floating-point status register, and TPIDR, so we should do the same here to match it. While we're at it, also fix up the size of the struct and add a static assertion to ensure it always stays the correct size.
2018-09-30Implement ISystemDisplayService::GetDisplayModeraven02
2018-09-29loader: Make the Load() function take a process as a regular reference, not ↵Lioncash
a SharedPtr A process should never require being reference counted in this situation. If the handle to a process is freed before this function is called, it's definitely a bug with our lifetime management, so we can put the requirement in place for the API that the process must be a valid instance.
2018-09-29Merge pull request #1412 from lioncash/movebunnei
kernel/object: Remove unnecessary std::move from DynamicObjectCast()
2018-09-29Merge pull request #1411 from ReinUsesLisp/point-sizebunnei
video_core: Implement point_size and add point state sync
2018-09-29Merge pull request #1406 from ReinUsesLisp/multibind-samplersbunnei
gl_state: Pack sampler bindings into a single ARB_multi_bind