Commit graph

954 commits

Author SHA1 Message Date
Lioncash
b4256431aa armemu: Fix parenthesis warnings regarding bitwise ops 2014-12-07 23:58:12 -05:00
Tony Wasserka
3d8c6e61be StringUtil: Perform some minimal cleanup. 2014-12-07 23:52:17 +01:00
Tony Wasserka
4d4572c697 Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp. 2014-12-07 23:52:17 +01:00
archshift
20d2ed0950 Make OpenDirectory fail if the directory doesn't exist
This is in line with what the hardware itself does.

It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
2014-12-07 14:47:14 -08:00
Subv
bc318c464b Mutex: Remove some forward declarations
Moved Mutex::WaitSynchronization to the end of the file.
2014-12-07 15:57:28 -05:00
Subv
64128aa61a Mutex: Release all held mutexes when a thread exits. 2014-12-07 15:44:21 -05:00
bunnei
2aa2d341d0 Merge pull request #245 from rohit-n/null-nullptr
Change NULLs to nullptrs.
2014-12-07 13:40:04 -05:00
Subv
e3c8e4901c Mutex: Properly lock the mutex when a thread enters it
Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
2014-12-05 23:40:43 -05:00
bunnei
17fae11fc7 Merge pull request #250 from Subv/cbranch_2
SVC: Implemented GetThreadId.
2014-12-04 22:15:03 -05:00
bunnei
5056329a80 Merge pull request #222 from archshift/renamexyz
Implemented RenameFile and RenameDirectory in FS:USER
2014-12-04 22:07:47 -05:00
bunnei
21d183e1e6 Merge pull request #248 from lioncash/kernel
Misc minor kernel-related changes.
2014-12-04 22:05:20 -05:00
Subv
6fac2bf0ab Threads: Remove a redundant function.
Use the next_thread_id variable directly.
2014-12-04 14:59:56 -05:00
Subv
ef1d5cda06 Threads: Implemented a sequential thread id 2014-12-04 08:13:53 -05:00
archshift
139a4d91d9 Updated archive.cpp functions for proper error handling 2014-12-03 22:50:44 -08:00
Subv
029ff9f1fd SVC: Implemented GetThreadId.
For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
2014-12-04 00:25:35 -05:00
bunnei
846dc72a37 Merge pull request #249 from lioncash/enum
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-04 00:01:13 -05:00
bunnei
306b5392ca Merge pull request #247 from lioncash/const
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 23:56:35 -05:00
Lioncash
3ba32d2b53 mem_map: Make enum for addresses use u32 as the underlying type 2014-12-03 23:36:45 -05:00
bunnei
abbc340957 Merge pull request #238 from archshift/dsp
Add stub for ConvertProcessFromDspDram
2014-12-03 23:35:06 -05:00
archshift
a404ad5272 Add stub for ConvertProcessFromDspDram
Should theoretically push retail stuff further along
2014-12-03 20:03:57 -08:00
Lioncash
208598dbe2 kernel: Shorten GetCount 2014-12-03 22:52:02 -05:00
Lioncash
9b68d5e074 kernel: Make some functions const 2014-12-03 19:48:34 -05:00
Lioncash
7ff8f0d916 hid_user: Pass by reference with PadButtonPress/PadButtonRelease 2014-12-03 19:33:54 -05:00
purpasmart96
16fc98af64 PTM_U: Added a stub for GetBatteryLevel & GetBatteryChargeState & GetAdapterState 2014-12-03 15:09:59 -08:00
Rohit Nirmal
8a62423970 Change NULLs to nullptrs. 2014-12-03 12:57:57 -06:00
bunnei
63b1453dd8 Merge pull request #236 from rohit-n/sign-compare
Silence a few -Wsign-compare warnings.
2014-12-03 10:04:47 -05:00
bunnei
e5b2733801 Merge pull request #231 from purpasmart96/serv_ac_wifi_status
AC_U: Added a stub for GetWifiStatus
2014-12-03 10:00:13 -05:00
bunnei
e2e56c7bac Merge pull request #219 from Subv/ptm
PTM_U: Implemented the GetShellState function.
2014-12-03 09:58:52 -05:00
bunnei
e3886adc22 MemMap: Updated memory map to subtract base address instead of mask.
- More readable, a little less error prone.

Conflicts:
	src/core/mem_map.h
	src/core/mem_map_funcs.cpp
2014-12-03 01:23:29 -05:00
purpasmart96
32d420330d AC_U: Added a stub for GetWifiStatus 2014-12-02 15:30:42 -08:00
Rohit Nirmal
f9b53c3e94 Silence a few -Wsign-compare warnings. 2014-11-30 22:29:23 -06:00
bunnei
d5be332d21 Merge pull request #237 from vaguilar/fix-viewport
Fixed viewport error caused by rounding
2014-11-30 23:24:16 -05:00
bunnei
884ecd58ea Merge pull request #224 from bunnei/dsp-service-improvements
Dsp service improvements
2014-11-30 23:21:34 -05:00
bunnei
b0a5b3d986 Merge pull request #214 from Subv/master
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString
2014-11-30 23:19:07 -05:00
bunnei
1827bb1fcc Merge pull request #196 from archshift/settings
Merge Config::ReadXYZs
2014-11-30 23:17:45 -05:00
bunnei
3e286fff7c DSP: Added stubs for several commonly used DSP service functions. 2014-11-30 23:14:57 -05:00
bunnei
45fd3fe5c4 DSP: Fixed typo in port name. 2014-11-30 23:14:48 -05:00
Subv
4cdaac44d3 PTM_U: Implemented the GetShellState function. 2014-11-30 19:50:14 -05:00
vaguilar
95b33ee0a7 Fixed viewport error caused by rounding 2014-11-30 09:53:50 -08:00
bunnei
e3d1ffff4b Merge pull request #225 from bunnei/fix-release-mutex
Mutex: Changed behavior to always release mutex for all threads.
2014-11-30 08:47:49 -05:00
bunnei
a5afad0937 Merge pull request #226 from bunnei/svc-and-thread-fixes
Svc and thread fixes
2014-11-30 08:41:49 -05:00
bunnei
2ad9ad9297 Merge pull request #228 from linkmauve/glfw-error
GLFW: Add an error callback before calling glfwInit()
2014-11-30 08:41:17 -05:00
bunnei
13005d54aa Merge pull request #235 from yuriks/dyncom-map
dyncom: Use unordered_map rather than the terrible 2-level bb_map
2014-11-30 08:35:03 -05:00
Subv
5753da89e4 CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString. 2014-11-29 21:16:28 -05:00
Emmanuel Gil Peyrot
648743cf66 GLFW: Add an error callback before calling glfwInit()
It will print a message to know what happened in case something went wrong in a GLFW call.

Also replace every printf() in the glfw emu-window by ERROR_LOG().
2014-11-29 23:03:04 +00:00
Yuri Kunde Schlesner
4a68e91a62 dyncom: Use unordered_map rather than the terrible 2-level bb_map
Seems (probably just placebo/wishful thinking) to make it slightly
faster. Also reduces memory usage and makes shutdown when debugging from
MSVC fast.
2014-11-29 17:42:39 -02:00
Lioncash
4f28861008 arm_dyncom_interpreter: Get rid of unused var warnings 2014-11-29 14:13:29 -05:00
vaguilar
223e76d51d Fixed formatting and switch statement warnings 2014-11-27 02:59:14 -08:00
bunnei
de851ba1a1 Thread: Check that thread is actually in "wait state" when verifying wait. 2014-11-26 15:04:08 -05:00
bunnei
f985469901 SVC: Add debug log to ArbitrateAddress. 2014-11-26 15:04:07 -05:00
bunnei
e0e7443517 SVC: SleepThread should yield to the next ready thread. 2014-11-26 15:04:07 -05:00
bunnei
a449e0e11a Mutex: Changed behavior to always release mutex for all threads. 2014-11-26 14:38:42 -05:00
Emmanuel Gil Peyrot
f8c05e53c4 Remove unused includes to common/thread.h 2014-11-25 20:39:25 +00:00
archshift
43a682a106 Log the cmd_buff arguments when citra comes across an unimplemented function 2014-11-24 15:51:48 -08:00
archshift
e5ff01c2cd Implemented RenameDirectory in FS:USER 2014-11-24 15:09:12 -08:00
archshift
45afc15aa6 Implemented RenameFile in FS:USER 2014-11-24 15:09:11 -08:00
Yuri Kunde Schlesner
8189593255 Use pointers instead of passing handles around in some functions. 2014-11-24 17:08:37 -02:00
Yuri Kunde Schlesner
22c86824a4 Remove duplicated docs/update them for changed parameters. 2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
c2588403c0 HLE: Revamp error handling throrough the HLE code
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.

This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.

One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.

The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.

Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
924bbde89b Change some SkyEye defines to const ints
This prevents them from interfering with other constants defined in
different namespaces.
2014-11-24 16:47:01 -02:00
bunnei
ef1b16a7eb Merge pull request #191 from archshift/deletexyz
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 20:02:23 -05:00
archshift
8aeadbd95a Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. 2014-11-23 00:33:43 -08:00
purpasmart96
9821bfcb8e Add more services and some fixes, along with more "override"
in the service's headers
2014-11-20 17:09:57 -08:00
bunnei
c0cd0fa78e Merge pull request #211 from linkmauve/master
Remove trailing spaces from the entire project
2014-11-19 15:24:46 -05:00
bunnei
112768f436 Merge pull request #208 from lioncash/statics
Add static to some variables
2014-11-19 09:39:20 -05:00
Emmanuel Gil Peyrot
739bb58c3a Remove tabs in all files except in skyeye imports and in generated GL code 2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot
f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
Lioncash
7cbecde2ca Add static to some variables 2014-11-18 20:04:00 -05:00
bunnei
40acd63631 Merge pull request #165 from neobrain/viewport-scaling
Stretch emulation output to render window and be display density independent
2014-11-18 18:32:01 -05:00
archshift
06c9712bc7 Merge Config::ReadXYZs 2014-11-18 15:12:49 -08:00
Tony Wasserka
219628d1c8 Merge pull request #207 from lioncash/docs
Fix documentation of parameters
2014-11-18 16:55:58 +01:00
Tony Wasserka
d218a547fa Merge pull request #209 from lioncash/warn
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 16:54:56 +01:00
Tony Wasserka
ed4e599008 Merge pull request #210 from lioncash/typedef
system: Get rid of an unnecessary enum typedef
2014-11-18 16:54:37 +01:00
Lioncash
b37f91c617 system: Get rid of an unnecessary enum typedef 2014-11-18 09:00:32 -05:00
Lioncash
548c49dfe9 directory_sdmc: Fix a signed/unsigned mismatch comparison 2014-11-18 08:51:03 -05:00
Lioncash
64cc6cb6cf Fix documentation of parameters 2014-11-18 08:31:24 -05:00
Lioncash
1a8f466217 Remove extraneous semicolons 2014-11-18 08:27:16 -05:00
Tony Wasserka
963c923d59 citra GLFW: Ignore minimal window size hints.
GLFW provides no proper support for this, hence we just allow any window size to be used.
2014-11-18 13:16:02 +01:00
Tony Wasserka
5785f764ab EmuWindow: Add some explicit documentation and set proper minimal client area size. 2014-11-18 13:16:02 +01:00
Tony Wasserka
688a5c033e citra-qt: Small cleanup. 2014-11-18 13:16:02 +01:00
Tony Wasserka
6a6464807a EmuWindow: Add a TODO.
Implementing this function currently is not critical, as we don't perform any configuration changes, yet.

However, the interface is a good starting point for adding this functionality.
2014-11-18 13:16:02 +01:00
Tony Wasserka
e02ff0121f MathUtil: Make Rectangle work with unsigned types. 2014-11-18 13:15:59 +01:00
Tony Wasserka
c5c6e095f0 OpenGL Renderer: Cleanup viewport extent calculation. 2014-11-18 13:09:01 +01:00
Tony Wasserka
19bb01c223 EmuWindow: Better document the purpose of OnMinimalClientAreaChangeRequest. 2014-11-18 13:09:01 +01:00
Tony Wasserka
182476c96a EmuWindow: Remove window title getters/setters.
The window title is none of the emulation core's business. The GUI code is free to put whatever it wants there.
Providing properly thread-safe window title getters and setters is a mess anyway.
2014-11-18 13:09:01 +01:00
Tony Wasserka
ded9c8a826 EmuWindow: Add documentation. 2014-11-18 13:09:01 +01:00
Tony Wasserka
722ce22589 EmuWindow: Add support for specifying minimal client area sizes. 2014-11-18 13:09:01 +01:00
Tony Wasserka
bd8f491e4c Fixup EmuWindow interface and implementations thereof. 2014-11-18 13:09:01 +01:00
Kevin Hartman
221a9b023d Viewport scaling and display density independence
The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.
2014-11-18 13:06:05 +01:00
Tony Wasserka
c8d933a142 Add a GUI logging channel.
Replace asserts with _dbg_assert_.
2014-11-18 13:03:02 +01:00
Lioncash
72846c418e core: Mark some hle functions as static
These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
2014-11-17 22:41:49 -05:00
bunnei
11641b5e79 Archive: Fixed to not destroy archive handle on close. 2014-11-17 22:19:14 -05:00
bunnei
bcb0dbf7e1 Archive: Fixed close archive before freeing. 2014-11-17 22:19:14 -05:00
bunnei
3e09c07378 FS_User: Support FileSye::Path in a more generic way.
added a todo to kernel archive
2014-11-17 22:18:58 -05:00
bunnei
a3107a6b57 FileSys: Updated backend code to use FileSys::Path instead of string for paths. 2014-11-17 21:49:24 -05:00
bunnei
c04a04189a FileSys: Added DebugStr method to Path class. 2014-11-17 18:42:37 -05:00
bunnei
4ac4c3caf1 Merge pull request #201 from archshift/boss
Add missing boss:U service
2014-11-17 17:46:18 -05:00
bunnei
77fe4b5c9e Merge pull request #199 from lioncash/prototype
mem_map: Add missing prototype for Write64
2014-11-17 15:21:41 -05:00
archshift
e27f169acb Add missing boss:U service, needed according to Nintendo Zone logs. 2014-11-17 07:31:37 -08:00
Lioncash
827e7a1898 emu_window: Fix initializer list order.
Gets rid of a warning on OSX.
2014-11-17 09:27:59 -05:00