Commit graph

3995 commits

Author SHA1 Message Date
wwylele
4a80f45637 FileSys: add ExtSaveDataArchive
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele
420091d0e5 FileSys: add SaveDataArchive
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele
1e33d07b86 FileSys: remove Open from FileBackend
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele
4675116401 FileSys: remove Open from DirectoryBackend
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele
37d6cbc200 FileSys: add PathParser 2016-11-19 17:17:19 +02:00
wwylele
657bb716f7 FileSys: make Archive interfaces return error code
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei
cd8c0d8a36 Merge pull request #2147 from Pringo/readme-donate
Update Donation Info in Readme
2016-11-01 11:39:08 -04:00
Pringo
62c0229f73 Link to Donation Page in Readme
Link main site donation page in readme instead of providing further donation info there.
2016-10-31 21:39:42 -07:00
bunnei
f01c907f3c Merge pull request #2126 from wwylele/stub-nwm
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei
1268f5960a Merge pull request #2149 from wwylele/fix-contributing
Update CONTRIBUTING.md
2016-10-31 16:12:27 -04:00
bunnei
d76784ed0f Merge pull request #2123 from jbeich/freebsd
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
wwylele
90427a012e Update CONTRIBUTING.md 2016-10-31 21:31:47 +02:00
Pringo
3e902bbc48 Update Donation Info in Readme 2016-10-29 09:53:27 -07:00
bunnei
6a0d9f437e Merge pull request #2146 from mailwl/gdbstub-ida-regs
Small fix to let IDA see target.xml
2016-10-28 21:06:36 -04:00
mailwl
14b159aa64 Small fix to let IDA see target.xml 2016-10-28 20:50:45 +03:00
Jan Beich
c5160cdb45 build: don't install freedesktop.org metadata for SDL2-only builds
Citra SDL2 doesn't have a launcher, and citra.desktop tries to execute
citra-qt which is N/A unless built with ENABLE_QT. Limiting installed
files to one of the options also makes it easier to split them into
separate non-conflicting packages downstream.
2016-10-27 23:28:30 +00:00
Jan Beich
01f9251b53 build: add default install for DragonFly, Solaris, etc. 2016-10-27 23:28:30 +00:00
Jan Beich
9139888795 build: clock_gettime() is in libc on BSDs 2016-10-27 23:28:30 +00:00
Jan Beich
0eb266d3ee build: libc may not provide iconv() on Unix
/usr/bin/ld: ../common/libcommon.a(string_util.cpp.o): undefined reference to symbol 'libiconv_open'
2016-10-27 23:28:30 +00:00
Jan Beich
01a928d6db microprofile: unbreak on POSIX systems
In file included from src/common/microprofile.cpp:7:
In file included from src/./common/microprofile.h:23:
externals/microprofile/microprofile.h:830:5: error: use of undeclared identifier 'MP_BREAK'
    MP_ASSERT(t == nBegin);
    ^
externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT'
                                 ^
externals/microprofile/microprofile.h:831:5: error: use of undeclared identifier 'MP_BREAK'
    MP_ASSERT(nTimerIndex == (nToken&0x3fff));
    ^
externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT'
                                 ^
[...]
2016-10-27 23:28:30 +00:00
Jan Beich
914ca5ae70 core: some errno values are uncommon on Unix
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
     {ENODATA, 43},
      ^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
     {ENOSR, 53},
      ^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
     {ENOSTR, 54},
      ^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
     {ETIME, 75},
      ^
2016-10-27 23:28:30 +00:00
Jan Beich
e7c016ea8f common: use system bswap* functions on more BSDs 2016-10-27 23:28:30 +00:00
Jan Beich
6ddc8b49ff common: use system CPUID routine on DragonFly as well 2016-10-27 23:28:30 +00:00
Jan Beich
8e5d3f77fb common: some FreeBSD headers are incomplete to avoid namespace pollution
In file included from src/common/x64/cpu_detect.cpp:16:
/usr/include/machine/cpufunc.h:66:17: error: unknown type name 'u_int'
static __inline u_int
                ^
/usr/include/machine/cpufunc.h:67:6: error: unknown type name 'u_int'
bsfl(u_int mask)
     ^
/usr/include/machine/cpufunc.h:69:2: error: unknown type name 'u_int'
        u_int   result;
        ^
/usr/include/machine/cpufunc.h:75:17: error: unknown type name 'u_long'; did you mean 'long'?
static __inline u_long
                ^
/usr/include/machine/cpufunc.h:76:6: error: unknown type name 'u_long'; did you mean 'long'?
bsfq(u_long mask)
     ^
/usr/include/machine/cpufunc.h:78:2: error: use of undeclared identifier 'u_long'; did you mean
      'long'?
        u_long  result;
        ^
[...]
2016-10-27 23:28:30 +00:00
Anthony J. Bentley
f78b6cd433 common: convert to standard stat()/fstat() interfaces
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-10-27 23:28:30 +00:00
Jan Beich
dbc84319b8 common: stat64 is non-standard, hide on a random Unix
src/common/file_util.cpp:79:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:79:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:99:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:99:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:342:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:342:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
src/common/file_util.cpp:359:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:359:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
4 errors generated.
2016-10-27 23:28:29 +00:00
Jan Beich
90ac6468bb common: only FreeBSD has thread affinity compatible with Linux
src/common/thread.cpp:90:5: error: unknown type name 'cpu_set_t'; did you mean 'cpuset_t'?
    cpu_set_t cpu_set;
    ^~~~~~~~~
    cpuset_t
/usr/include/sys/_cpuset.h:48:24: note: 'cpuset_t' declared here
typedef struct _cpuset cpuset_t;
                       ^
1 error generated.
2016-10-27 23:28:29 +00:00
Jan Beich
a1497619eb common: define routines to set thread name on more BSDs
src/common/thread.cpp:123:5: error: use of undeclared identifier 'pthread_setname_np'
    pthread_setname_np(pthread_self(), szThreadName);
    ^
1 error generated.
2016-10-27 23:28:29 +00:00
Jan Beich
9832ce3f40 hooks: convert pre-commit to POSIX syntax 2016-10-27 23:28:29 +00:00
wwylele
ed0aaecaa3 Travis: only upload for push (#2134) 2016-10-27 21:45:56 +01:00
wwylele
3710de0621 Merge pull request #2139 from mailwl/frd-fix
FRD: fix GetMyFriendKey
2016-10-25 20:24:13 +08:00
mailwl
715d981403 FRD: fix GetMyFriendKey 2016-10-25 09:54:29 +03:00
wwylele
e390c20d4b Merge pull request #2131 from ricardotk/typos
Fix typos
2016-10-21 11:35:47 +08:00
Ricardo de Almeida Gonzaga
07fdcf150d Fix typos 2016-10-20 12:26:59 -02:00
wwylele
9ef5b9604b NWM: stub Initialize with an error 2016-10-12 22:33:44 +08:00
bunnei
0486aa3e8b Merge pull request #2024 from JamePeng/update-boss-code
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
bunnei
d3aba2efa8 Merge pull request #2082 from yuriks/shader-interp-crash
Fix/mask crash in shader debugger in Mii Maker
2016-10-06 19:35:37 -04:00
bunnei
79c5d3c2fb Merge pull request #1652 from wwylele/kernal-tool
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei
f28267c100 Merge pull request #2106 from wwylele/delete-recursive
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
bunnei
2c18a725be Merge pull request #2103 from wwylele/gpu-reg-cleanup
GPU: DisplayTransfer & MemoryFill cleanup and param check
2016-10-03 20:21:55 -04:00
JamePeng
97d9804d97 Update the stub code of BOSS 2016-10-02 17:36:57 +08:00
wwylele
a1a4d92f19 fs: clean up log format 2016-10-02 12:39:28 +08:00
wwylele
b2fa64ec75 fs: implement DeleteDirectoryRecursively 2016-10-02 11:29:16 +08:00
Yuri Kunde Schlesner
d4bcba2ca1 VideoCore: Shader interpreter cleanups 2016-09-29 21:15:49 -07:00
Yuri Kunde Schlesner
1de9e185af Common: Remove dangerous Vec[234] array constructors
They're not currently used, and it's easy to accidentally pass a single
pointer argument to them, causing an out-of-bounds read.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner
7872ec7cc3 VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo
As far as I can tell, memset was replaced by a fill without correcting
the parameter type, causing an out-of-bounds array read in the Vec4
constructor.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner
0dbc73270c Merge pull request #2083 from yuriks/opengl-scissor-cached-rect
OpenGL: Take cached viewport sub-rect into account for scissor
2016-09-29 21:08:32 -07:00
Yuri Kunde Schlesner
e72584084e OpenGL: Take cached viewport sub-rect into account for scissor
Fixes #1938
2016-09-29 20:55:24 -07:00
wwylele
ef9319842c gpu: DisplayTransfer: a less amazing algorithm for flip
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele
2c0cc232fa gpu: keep the old signal strategy for null pointer
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00