Skip to content

Commit 12e2164

Browse files
authored
Merge pull request #2 from marcussacana/uibase
Implementation Improved
2 parents bde8531 + 82d4c08 commit 12e2164

File tree

1,641 files changed

+194667
-1067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,641 files changed

+194667
-1067
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,6 @@ eboot.bin
4848
!mono/*
4949
!mono/4.5
5050
!mono/4.5/*
51+
52+
53+
.vs/

Makefile

+6-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ TITLE_ID := MONO00001
55
CONTENT_ID := IV0000-MONO00001_00-MONOSAMPLE000000
66

77
# Libraries linked into the ELF.
8-
LIBS := -lc -lkernel -lc++ -lSceSystemService -lSceUserService -lSceSysmodule -lSceMsgDialog
8+
LIBS := -lc -lkernel -lc++ -lSceSystemService -lSceUserService -lSceSysmodule -lSceMsgDialog -lSceFreeType
99

1010
# Additional compile flags.
1111
#EXTRAFLAGS :=
@@ -54,19 +54,22 @@ ifeq ($(UNAME_S),Darwin)
5454
CDIR := macos
5555
endif
5656

57+
#DotNet Bundle Fix
58+
5759
all: $(CONTENT_ID).pkg
5860

59-
61+
$(CONTENT_ID).pkg: export DOTNET_BUNDLE_EXTRACT_BASE_DIR=$(TOOLCHAIN)/bin/$(CDIR)/tmp
6062
$(CONTENT_ID).pkg: main.exe
6163
$(CONTENT_ID).pkg: pkg.gp4
6264
$(TOOLCHAIN)/bin/$(CDIR)/PkgTool.Core pkg_build $< .
6365

64-
pkg.gp4: eboot.bin main.exe main.pdb sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png $(LIBMODULES) $(ASSETS)
66+
pkg.gp4: eboot.bin main.exe main.pdb sce_sys/about/right.sprx sce_sys/param.sfo sce_sys/icon0.png sce_sys/pic0.png sce_sys/pic1.png $(LIBMODULES) $(ASSETS)
6567
$(TOOLCHAIN)/bin/$(CDIR)/create-gp4 -out $@ --content-id=$(CONTENT_ID) --files "$^ $(wildcard mono/**/*)"
6668
sed -i "s/<dir targ_name=\"sce_sys\">/<dir targ_name=\"mono\">\n\t\t\t<dir targ_name=\"4.5\" \/>\n\t\t<\/dir>\n\t\t<dir targ_name=\"sce_sys\">/" pkg.gp4
6769

6870

6971
main.exe: sce_module/libSDL2.sprx
72+
msbuild main/main.sln -t:Restore -p:Configuration=$(BUILDTYPE)
7073
msbuild main/main.sln -t:Rebuild -p:Configuration=$(BUILDTYPE)
7174
mv -f main/main/bin/x64/$(BUILDTYPE)/main.exe ./main.exe
7275
mv -f main/main/bin/x64/$(BUILDTYPE)/main.pdb ./main.pdb

PS4-OpenOrbis-Mono/io.c

+20-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <orbis/libkernel.h>
22
#include <dirent.h>
3+
#include <stdarg.h>
34

45
char appRoot[0x100] = "\x0";
56
char baseCon[0x100] = "\x0";
@@ -8,39 +9,42 @@ char mainExe[0x100] = "\x0";
89

910
void klog(const char* str)
1011
{
11-
char buff[0x300];
12-
sprintf(&buff, "%s\n", str);
12+
char buff[0x600];
13+
sprintf(&buff, "[OpenOrbisMono] %s\n", str);
1314
sceKernelDebugOutText(0, buff);
1415
}
1516

16-
void klogf(const char* str, void* val)
17+
void klogf(const char* str, ...)
1718
{
18-
char buff[0x300];
19-
char buff2[0x300];
20-
sprintf(&buff, "%s\n", str);
21-
sprintf(&buff2, &buff, val);
22-
sceKernelDebugOutText(0, buff2);
19+
char buff[0x600];
20+
21+
va_list arg;
22+
va_start(arg, str);
23+
vsprintf(buff, str, arg);
24+
va_end(arg);
25+
26+
klog(buff);
2327
}
2428

25-
int direxists(const char* path){
29+
int direxists(const char* path)
30+
{
2631
void* dp = opendir(path);
2732
if (dp == 0)
2833
return 0;
2934
closedir(dp);
3035
return 1;
3136
}
3237

33-
void findAppMount(char* path){
38+
void findAppMount(char* path)
39+
{
3440
void* dp;
35-
struct dirent *ep;
41+
struct dirent* ep;
3642

3743
char* MountID = sceKernelGetFsSandboxRandomWord();
3844

3945
dp = opendir("/mnt/sandbox/");
40-
if (dp != 0)
41-
{
42-
while (ep = readdir(dp))
43-
{
46+
if (dp != 0) {
47+
while (ep = readdir(dp)) {
4448
char sbPath[0x100];
4549
sprintf(&sbPath, "/mnt/sandbox/%s/%s", ep->d_name, MountID);
4650

@@ -51,6 +55,6 @@ void findAppMount(char* path){
5155
klogf("mount dir found: %s", path);
5256
break;
5357
}
54-
closedir(dp);
58+
closedir(dp);
5559
}
5660
}

PS4-OpenOrbis-Mono/io.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ extern char mainExe[0x100];
55

66

77
void klog(const char* str);
8-
void klogf(const char* str, void* val);
8+
void klogf(const char* str, ...);
99
void findAppMount(char* path);
1010

PS4-OpenOrbis-Mono/jailbreak_man.c

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include "mono.h"
2+
#include "jailbreak_man.h"
3+
#include "ps4-libjbc/jailbreak.h"
4+
5+
struct jbc_cred OriCred;
6+
7+
int jailbroken = 0;
8+
9+
int jailbreak(U64 authID)
10+
{
11+
if (jailbroken)
12+
return 0;
13+
14+
struct jbc_cred cr;
15+
if(jbc_get_cred(&cr))
16+
return -1;
17+
if(jbc_get_cred(&OriCred))
18+
return -1;
19+
if(jbc_jailbreak_cred(&cr))
20+
return -1;
21+
22+
if (authID){
23+
cr.jdir = 0;
24+
cr.sceProcType = authID;
25+
cr.sonyCred = 0x40001c0000000000;
26+
cr.sceProcCap = 0x900000000000ff00;
27+
}
28+
if(jbc_set_cred(&cr))
29+
return -1;
30+
31+
jailbroken = 1;
32+
return 0;
33+
}
34+
35+
36+
int unjailbreak()
37+
{
38+
if (!jailbroken)
39+
return 0;
40+
if(jbc_set_cred(&OriCred))
41+
return -1;
42+
jailbroken = 0;
43+
return 0;
44+
}

PS4-OpenOrbis-Mono/jailbreak_man.h

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include "mono.h"
2+
#include "ps4-libjbc/jailbreak.h"
3+
4+
extern struct jbc_cred OriCred;
5+
extern int jailbroken;
6+
extern int jailbreak(U64 authID);
7+
extern int unjailbreak();

0 commit comments

Comments
 (0)