├── .gitignore
├── NetStream-DE
├── NetStream-DE.vcxproj
├── NetStream-DE.vcxproj.filters
├── NetStream-DE.vcxproj.user
├── download_enabler.cpp
└── paf_runtime.c
├── NetStream.sln
├── NetStream
├── CONTENTS
│ ├── module
│ │ ├── download_enabler_netstream.suprx
│ │ ├── libBEAVCorePlayer.suprx
│ │ ├── libInvidious.suprx
│ │ ├── libLootkit.suprx
│ │ ├── libSceHttpForBEAVCorePlayer.suprx
│ │ ├── libcurl.suprx
│ │ ├── libfmodngpext.suprx
│ │ ├── libfmodstudio.suprx
│ │ └── libhvdb.suprx
│ ├── netstream_plugin.rcd
│ ├── netstream_plugin.rco
│ └── sce_sys
│ │ ├── icon0.png
│ │ ├── livearea
│ │ └── contents
│ │ │ ├── gate.png
│ │ │ ├── labg.png
│ │ │ ├── template.xml
│ │ │ └── title-en.png
│ │ ├── manual
│ │ ├── 001.png
│ │ ├── 002.png
│ │ ├── 003.png
│ │ ├── 004.png
│ │ ├── 005.png
│ │ └── 006.png
│ │ └── pic0.png
├── NetStream.vcxproj
├── NetStream.vcxproj.filters
├── NetStream.vcxproj.user
├── RES_RCO
│ ├── file
│ │ └── netstream_settings.xml
│ ├── locale
│ │ ├── netstream_locale_en.xml
│ │ ├── netstream_locale_es.xml
│ │ ├── netstream_locale_fr.xml
│ │ ├── netstream_locale_it.xml
│ │ ├── netstream_locale_ja.xml
│ │ ├── netstream_locale_pl.xml
│ │ ├── netstream_locale_pt-br.xml
│ │ ├── netstream_locale_pt.xml
│ │ ├── netstream_locale_ru.xml
│ │ ├── netstream_locale_zh-s.xml
│ │ └── netstream_locale_zh-t.xml
│ ├── netstream_plugin.xml
│ └── texture
│ │ ├── tex_black.dds
│ │ ├── tex_button_arrow_left.zlib
│ │ ├── tex_button_arrow_right.zlib
│ │ ├── tex_button_big_repeat.zlib
│ │ ├── tex_button_expand.png
│ │ ├── tex_button_pause.zlib
│ │ ├── tex_button_play.zlib
│ │ ├── tex_common_bg.png
│ │ ├── tex_file_icon_folder.png
│ │ ├── tex_file_icon_music.zlib
│ │ ├── tex_file_icon_playlist.png
│ │ ├── tex_file_icon_unsupported.png
│ │ ├── tex_file_icon_video.png
│ │ ├── tex_fpmenu_icon_ftp.png
│ │ ├── tex_fpmenu_icon_http.png
│ │ ├── tex_fpmenu_icon_hvdb.png
│ │ ├── tex_fpmenu_icon_local.png
│ │ ├── tex_fpmenu_icon_youtube.png
│ │ ├── tex_vertical_separator.zlib
│ │ ├── tex_video_control_panel_status_pause.gim
│ │ ├── tex_video_control_panel_status_play.gim
│ │ ├── tex_youtube_bg.png
│ │ ├── tex_yt_icon_fav_for_player.png
│ │ ├── tex_yt_icon_fav_for_player_glow.png
│ │ ├── tex_yt_icon_favourite.zlib
│ │ ├── tex_yt_icon_history.zlib
│ │ ├── tex_yt_icon_live_now.png
│ │ └── tex_yt_icon_search.zlib
├── ebootparam.bin
├── gen_headers.bat
├── gen_rco.bat
├── include
│ ├── common.h
│ ├── debug.h
│ ├── dialog.h
│ ├── downloader.h
│ ├── event.h
│ ├── ftp_server_browser.h
│ ├── ftpparse.h
│ ├── generic_server_browser.h
│ ├── http_server_browser.h
│ ├── hvdb_utils.h
│ ├── local_server_browser.h
│ ├── main.h
│ ├── menus
│ │ ├── menu_first.h
│ │ ├── menu_ftp.h
│ │ ├── menu_generic.h
│ │ ├── menu_http.h
│ │ ├── menu_hvdb.h
│ │ ├── menu_local.h
│ │ ├── menu_player_simple.h
│ │ ├── menu_player_youtube.h
│ │ ├── menu_server.h
│ │ ├── menu_settings.h
│ │ └── menu_youtube.h
│ ├── netstream_locale.h
│ ├── netstream_plugin.h
│ ├── netstream_settings.h
│ ├── np_utils.h
│ ├── option_menu.h
│ ├── player_beav.h
│ ├── player_fmod.h
│ ├── player_generic.h
│ ├── tex_pool.h
│ ├── tw_utils.h
│ ├── utils.h
│ └── yt_utils.h
├── libs
│ ├── include
│ │ ├── fmodngpext.h
│ │ ├── hvdb.h
│ │ ├── invidious.h
│ │ └── lootkit.h
│ └── lib
│ │ ├── libInvidious_stub.a
│ │ ├── libLootkit_stub.a
│ │ ├── libfmodngpext_stub.a
│ │ └── libhvdb_stub.a
├── package.conf
├── param.sfx
└── source
│ ├── debug.cpp
│ ├── dialog.cpp
│ ├── downloader.cpp
│ ├── event.cpp
│ ├── ftp_server_browser.cpp
│ ├── ftpparse.c
│ ├── http_server_browser.cpp
│ ├── hvdb_utils.cpp
│ ├── local_server_browser.cpp
│ ├── main.cpp
│ ├── menus
│ ├── menu_first.cpp
│ ├── menu_generic.cpp
│ ├── menu_hvdb.cpp
│ ├── menu_player_simple.cpp
│ ├── menu_player_youtube.cpp
│ ├── menu_server.cpp
│ ├── menu_settings.cpp
│ └── menu_youtube.cpp
│ ├── np_utils.cpp
│ ├── option_menu.cpp
│ ├── paf_runtime.cpp
│ ├── player_beav.cpp
│ ├── player_fmod.cpp
│ ├── tex_pool.cpp
│ ├── tw_utils.cpp
│ ├── utils.cpp
│ └── yt_utils.cpp
├── README.md
├── demo.png
├── logo.PNG
├── loot.bin
└── manual.png
/.gitignore:
--------------------------------------------------------------------------------
1 | # Prerequisites
2 | *.d
3 |
4 | # Object files
5 | *.o
6 | *.ko
7 | *.obj
8 | *.elf
9 |
10 | # Linker output
11 | *.ilk
12 | *.map
13 | *.exp
14 |
15 | # Precompiled Headers
16 | *.gch
17 | *.pch
18 |
19 | # Libraries
20 | *.lib
21 | *.la
22 | *.lo
23 |
24 | # Shared objects (inc. Windows DLLs)
25 | *.dll
26 | *.so
27 | *.so.*
28 | *.dylib
29 |
30 | # Executables
31 | *.exe
32 | *.out
33 | *.app
34 | *.i*86
35 | *.x86_64
36 | *.hex
37 |
38 | # Debug files
39 | *.dSYM/
40 | *.su
41 | *.idb
42 | *.pdb
43 |
44 | # Kernel Module Compile Results
45 | *.mod*
46 | *.cmd
47 | .tmp_versions/
48 | modules.order
49 | Module.symvers
50 | Mkfile.old
51 | dkms.conf
52 |
53 | # VDS
54 | *.vs
55 | *.rco
56 | *.rcd
57 | *.pptx
58 | eboot.bin
59 | eboot2.bin
60 | param.sfo
61 | param2.sfo
62 | PSVita_Debug
63 | PSVita_Release
64 | RES_RCO_TMP
--------------------------------------------------------------------------------
/NetStream-DE/NetStream-DE.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | PSVita
7 |
8 |
9 | Release
10 | PSVita
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | {A6BB4747-BD6A-4DFC-B213-236038A9E766}
19 |
20 |
21 |
22 | DynamicLibrary
23 |
24 |
25 | DynamicLibrary
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | NDEBUG;%(PreprocessorDefinitions);
50 | Level3
51 | NotUsing
52 | $(SCE_PSP2_SDK_DIR)\target\include\vdsuite\user;$(SCE_PSP2_SDK_DIR)\target\include\vdsuite\common;%(AdditionalIncludeDirectories)
53 | Cpp11
54 |
55 |
56 | -lSceLibKernel_stub;-lScePafStdc_stub;-lScePafCommon_stub;-lScePafMisc_stub;-ltaihen_stub;-lsnc;%(AdditionalDependencies)
57 | --no-standard-libraries
58 | $(SCE_PSP2_SDK_DIR)\target\lib\vdsuite;%(AdditionalLibraryDirectories)
59 |
60 |
61 | "$(SCE_PSP2_SDK_DIR)/host_tools/build/bin/vdsuite-pubprx.exe" --strip --compress "$(LocalDebuggerCommand)" "$(OutDir)download_enabler_netstream.suprx"
62 | copy /Y "$(OutDir)download_enabler_netstream.suprx" "$(SolutionDir)NetStream\CONTENTS\module\download_enabler_netstream.suprx"
63 |
64 |
65 |
66 |
67 | _DEBUG;%(PreprocessorDefinitions);
68 | true
69 | NotUsing
70 | $(SCE_PSP2_SDK_DIR)\target\include\vdsuite\user;$(SCE_PSP2_SDK_DIR)\target\include\vdsuite\common;%(AdditionalIncludeDirectories)
71 | Cpp11
72 |
73 |
74 | -lSceLibKernel_stub;-lScePafStdc_stub;-lScePafCommon_stub;-lScePafMisc_stub;-ltaihen_stub;-lsnc;%(AdditionalDependencies)
75 | --no-standard-libraries
76 | $(SCE_PSP2_SDK_DIR)\target\lib\vdsuite;%(AdditionalLibraryDirectories)
77 |
78 |
79 | "$(SCE_PSP2_SDK_DIR)/host_tools/build/bin/vdsuite-pubprx.exe" --strip --compress "$(LocalDebuggerCommand)" "$(OutDir)download_enabler_netstream.suprx"
80 | copy /Y "$(OutDir)download_enabler_netstream.suprx" "$(SolutionDir)NetStream\CONTENTS\module\download_enabler_netstream.suprx"
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/NetStream-DE/NetStream-DE.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cxx;cc;s;asm
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp
11 |
12 |
13 |
14 |
15 | Source Files
16 |
17 |
18 | Source Files
19 |
20 |
21 |
--------------------------------------------------------------------------------
/NetStream-DE/NetStream-DE.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetStream-DE/download_enabler.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | VitaTweaks: Download Enabler
3 | Copyright (C) 2018, TheFloW
4 |
5 | This program is free software: you can redistribute it and/or modify
6 | it under the terms of the GNU General Public License as published by
7 | the Free Software Foundation, either version 3 of the License, or
8 | (at your option) any later version.
9 |
10 | This program is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with this program. If not, see .
17 | */
18 |
19 | #include
20 | #include
21 | #include
22 |
23 | static tai_hook_ref_t GetFileTypeRef;
24 | static tai_hook_ref_t ExportFileRef;
25 | static SceUID hooks[2];
26 |
27 | static int ExportFilePatched(uint32_t *data)
28 | {
29 | int res = TAI_NEXT(ExportFilePatched, ExportFileRef, data);
30 |
31 | if (res == 0x80101A09)
32 | {
33 | paf::string download_path;
34 | paf::string bgdl_path;
35 | char file_name[256];
36 | char short_name[256];
37 | uint16_t url_length = 0;
38 | uint32_t count = 0;
39 |
40 | uint32_t num = *reinterpret_cast(data[0]);
41 |
42 | bgdl_path = paf::common::FormatString("ux0:bgdl/t/%08x/d0.pdb", num);
43 |
44 | int ret = 0;
45 | paf::common::SharedPtr fd = paf::LocalFile::Open(bgdl_path.c_str(), SCE_O_RDONLY, 0, &ret);
46 | if (ret != SCE_PAF_OK)
47 | {
48 | return ret;
49 | }
50 |
51 | fd->Seek(0xD6, SCE_SEEK_SET);
52 | fd->Read(&url_length, sizeof(uint16_t));
53 | fd->Seek(0xF7 + url_length, SCE_SEEK_SET);
54 | fd->Read(file_name, sizeof(file_name));
55 | fd->Close();
56 |
57 | bgdl_path.clear();
58 | bgdl_path = paf::common::FormatString("ux0:bgdl/t/%08x/%s", num, file_name);
59 |
60 | char *ext = sce_paf_strrchr(file_name, '.');
61 | if (ext)
62 | {
63 | int len = ext - file_name;
64 | if (len > sizeof(short_name) - 1)
65 | len = sizeof(short_name) - 1;
66 | sce_paf_strncpy(short_name, file_name, len);
67 | short_name[len] = '\0';
68 | }
69 | else
70 | {
71 | sce_paf_strncpy(short_name, file_name, sizeof(short_name));
72 | ext = "";
73 | }
74 |
75 | while (1)
76 | {
77 | if (count == 0)
78 | {
79 | download_path = paf::common::FormatString("ux0:download/%s", file_name);
80 | }
81 | else
82 | {
83 | download_path = paf::common::FormatString("ux0:download/%s (%d)%s", short_name, count, ext);
84 | }
85 |
86 | if (!paf::LocalFile::Exists(download_path.c_str()))
87 | {
88 | break;
89 | }
90 |
91 | count++;
92 | }
93 |
94 | res = sceIoMkdir("ux0:download", 0006);
95 | if (res < 0 && res != 0x80010011)
96 | {
97 | return res;
98 | }
99 |
100 | return paf::LocalFile::RenameFile(bgdl_path.c_str(), download_path.c_str());
101 | }
102 |
103 | return res;
104 | }
105 |
106 | static int32_t GetFileTypePatched(int unk, int *type, char **filename, char **mime_type)
107 | {
108 | int res = TAI_NEXT(GetFileTypePatched, GetFileTypeRef, unk, type, filename, mime_type);
109 |
110 | if (!sceClibStrcmp(*mime_type, "video/mp4"))
111 | {
112 | *type = 3;
113 | return 0;
114 | }
115 | if (res == 0x80103A21)
116 | {
117 | *type = 1;
118 | return 0;
119 | }
120 |
121 | return res;
122 | }
123 |
124 | extern "C" {
125 |
126 | #include
127 |
128 | SCE_MODULE_INFO(NetStream_DE, 2, 1, 1)
129 |
130 | int module_start(size_t args, const void * argp)
131 | {
132 | tai_module_info_t info;
133 | info.size = sizeof(info);
134 | if (taiGetModuleInfo("SceShell", &info) >= 0)
135 | {
136 | switch (info.module_nid)
137 | {
138 | case 0x0552F692: // 3.60 retail
139 | {
140 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x1163F6, 1, ExportFilePatched);
141 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x11B5E4, 1, GetFileTypePatched);
142 | break;
143 | }
144 |
145 | case 0x6CB01295: // 3.60 PDEL
146 | {
147 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x111D5A, 1, ExportFilePatched);
148 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x116F48, 1, GetFileTypePatched);
149 | break;
150 | }
151 |
152 | case 0xEAB89D5C: // 3.60 PTEL
153 | {
154 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x112756, 1, ExportFilePatched);
155 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x117944, 1, GetFileTypePatched);
156 | break;
157 | }
158 |
159 | case 0x5549BF1F: // 3.65 retail
160 | case 0x34B4D82E: // 3.67 retail
161 | case 0x12DAC0F3: // 3.68 retail
162 | {
163 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x11644E, 1, ExportFilePatched);
164 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x11B63C, 1, GetFileTypePatched);
165 | break;
166 | }
167 |
168 | case 0x0703C828: // 3.69 retail
169 | case 0x2053B5A5: // 3.70 retail
170 | case 0xF476E785: // 3.71 retail
171 | case 0x939FFBE9: // 3.72 retail
172 | case 0x734D476A: // 3.73 retail
173 | case 0x51CB6207: // 3.74 retail
174 | {
175 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x11644E, 1, ExportFilePatched);
176 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x11B63C, 1, GetFileTypePatched);
177 | break;
178 | }
179 |
180 | case 0xE6A02F2B: // 3.65 PDEL
181 | {
182 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x111DB2, 1, ExportFilePatched);
183 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x116FA0, 1, GetFileTypePatched);
184 | break;
185 | }
186 |
187 | case 0x587F9CED: // 3.65 PTEL
188 | {
189 | hooks[0] = taiHookFunctionOffset(&ExportFileRef, info.modid, 0, 0x1127AE, 1, ExportFilePatched);
190 | hooks[1] = taiHookFunctionOffset(&GetFileTypeRef, info.modid, 0, 0x11799C, 1, GetFileTypePatched);
191 | break;
192 | }
193 | }
194 | }
195 |
196 | return SCE_KERNEL_START_SUCCESS;
197 | }
198 |
199 | int module_stop(size_t args, const void * argp)
200 | {
201 | return SCE_KERNEL_STOP_SUCCESS;
202 | }
203 | }
--------------------------------------------------------------------------------
/NetStream-DE/paf_runtime.c:
--------------------------------------------------------------------------------
1 | int _sceLdTlsRegisterModuleInfo()
2 | {
3 | return 0;
4 | }
5 |
6 | int _sceLdTlsUnregisterModuleInfo()
7 | {
8 | return 0;
9 | }
10 |
11 | int __at_quick_exit()
12 | {
13 | return 0;
14 | }
--------------------------------------------------------------------------------
/NetStream.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.1525
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetStream", "NetStream\NetStream.vcxproj", "{CA4F859F-6FE6-413C-A24A-44CF552FCE91}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {A6BB4747-BD6A-4DFC-B213-236038A9E766} = {A6BB4747-BD6A-4DFC-B213-236038A9E766}
9 | EndProjectSection
10 | EndProject
11 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetStream-DE", "NetStream-DE\NetStream-DE.vcxproj", "{A6BB4747-BD6A-4DFC-B213-236038A9E766}"
12 | EndProject
13 | Global
14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
15 | Debug|PSVita = Debug|PSVita
16 | Release|PSVita = Release|PSVita
17 | EndGlobalSection
18 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
19 | {CA4F859F-6FE6-413C-A24A-44CF552FCE91}.Debug|PSVita.ActiveCfg = Debug|PSVita
20 | {CA4F859F-6FE6-413C-A24A-44CF552FCE91}.Debug|PSVita.Build.0 = Debug|PSVita
21 | {CA4F859F-6FE6-413C-A24A-44CF552FCE91}.Release|PSVita.ActiveCfg = Release|PSVita
22 | {CA4F859F-6FE6-413C-A24A-44CF552FCE91}.Release|PSVita.Build.0 = Release|PSVita
23 | {A6BB4747-BD6A-4DFC-B213-236038A9E766}.Debug|PSVita.ActiveCfg = Debug|PSVita
24 | {A6BB4747-BD6A-4DFC-B213-236038A9E766}.Debug|PSVita.Build.0 = Debug|PSVita
25 | {A6BB4747-BD6A-4DFC-B213-236038A9E766}.Release|PSVita.ActiveCfg = Release|PSVita
26 | {A6BB4747-BD6A-4DFC-B213-236038A9E766}.Release|PSVita.Build.0 = Release|PSVita
27 | EndGlobalSection
28 | GlobalSection(SolutionProperties) = preSolution
29 | HideSolutionNode = FALSE
30 | EndGlobalSection
31 | GlobalSection(ExtensibilityGlobals) = postSolution
32 | SolutionGuid = {C50D68BE-AABF-49D8-B1F9-47902DAEB14E}
33 | EndGlobalSection
34 | EndGlobal
35 |
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/download_enabler_netstream.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/download_enabler_netstream.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libBEAVCorePlayer.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libBEAVCorePlayer.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libInvidious.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libInvidious.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libLootkit.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libLootkit.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libSceHttpForBEAVCorePlayer.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libSceHttpForBEAVCorePlayer.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libcurl.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libcurl.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libfmodngpext.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libfmodngpext.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libfmodstudio.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libfmodstudio.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/module/libhvdb.suprx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/module/libhvdb.suprx
--------------------------------------------------------------------------------
/NetStream/CONTENTS/netstream_plugin.rco:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/netstream_plugin.rco
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/icon0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/icon0.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/livearea/contents/gate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/livearea/contents/gate.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/livearea/contents/labg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/livearea/contents/labg.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/livearea/contents/template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | labg.png
7 |
8 |
9 |
10 | gate.png
11 |
12 |
13 |
14 | ja title-en.png
15 | en title-en.png
16 | fr title-en.png
17 | es title-en.png
18 | de title-en.png
19 | it title-en.png
20 | nl title-en.png
21 | pt title-en.png
22 | ru title-en.png
23 | ko title-en.png
24 | ch title-en.png
25 | zh title-en.png
26 | fi title-en.png
27 | sv title-en.png
28 | da title-en.png
29 | no title-en.png
30 | pl title-en.png
31 | en-gb title-en.png
32 | pt-br title-en.png
33 | tr title-en.png
34 |
35 |
36 | title-en.png
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/livearea/contents/title-en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/livearea/contents/title-en.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/001.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/002.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/003.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/004.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/005.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/005.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/manual/006.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/manual/006.png
--------------------------------------------------------------------------------
/NetStream/CONTENTS/sce_sys/pic0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/CONTENTS/sce_sys/pic0.png
--------------------------------------------------------------------------------
/NetStream/NetStream.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_en.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_es.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_it.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_pt-br.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_zh-s.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/locale/netstream_locale_zh-t.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_black.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_black.dds
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_arrow_left.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_arrow_left.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_arrow_right.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_arrow_right.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_big_repeat.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_big_repeat.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_expand.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_pause.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_pause.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_button_play.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_button_play.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_common_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_common_bg.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_file_icon_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_file_icon_folder.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_file_icon_music.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_file_icon_music.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_file_icon_playlist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_file_icon_playlist.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_file_icon_unsupported.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_file_icon_unsupported.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_file_icon_video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_file_icon_video.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_fpmenu_icon_ftp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_fpmenu_icon_ftp.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_fpmenu_icon_http.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_fpmenu_icon_http.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_fpmenu_icon_hvdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_fpmenu_icon_hvdb.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_fpmenu_icon_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_fpmenu_icon_local.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_fpmenu_icon_youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_fpmenu_icon_youtube.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_vertical_separator.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_vertical_separator.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_video_control_panel_status_pause.gim:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_video_control_panel_status_pause.gim
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_video_control_panel_status_play.gim:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_video_control_panel_status_play.gim
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_youtube_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_youtube_bg.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_fav_for_player.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_fav_for_player.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_fav_for_player_glow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_fav_for_player_glow.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_favourite.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_favourite.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_history.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_history.zlib
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_live_now.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_live_now.png
--------------------------------------------------------------------------------
/NetStream/RES_RCO/texture/tex_yt_icon_search.zlib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GrapheneCt/NetStream/10b0e4778be46a1be811097fb7e16c8d61759fcd/NetStream/RES_RCO/texture/tex_yt_icon_search.zlib
--------------------------------------------------------------------------------
/NetStream/ebootparam.bin:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/NetStream/gen_headers.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | SET PLUGIN=netstream
3 | SET HASHGEN=%SCE_PSP2_SDK_DIR%/host_tools/build/rco/bin/psp2pafhashgen.exe
4 |
5 | "%HASHGEN%" -i "RES_RCO\%PLUGIN%_plugin.xml" -o "include\%PLUGIN%_plugin.h"
6 | "%HASHGEN%" -i "RES_RCO\file\%PLUGIN%_settings.xml" -o "include\%PLUGIN%_settings.h"
7 | "%HASHGEN%" -i "RES_RCO\locale\%PLUGIN%_locale_en.xml" -o "include\%PLUGIN%_locale.h"
--------------------------------------------------------------------------------
/NetStream/gen_rco.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | SET PLUGIN=netstream
3 | SET COMPILER=%SCE_PSP2_SDK_DIR%/host_tools/build/rco/bin/acdc.exe
4 | SET TMP=RES_RCO/RES_RCO_TMP
5 |
6 | @RD /S /Q "%TMP%"
7 | mkdir "%TMP%"
8 |
9 | for %%f in (RES_RCO/locale/*.xml) do (
10 |
11 | "%COMPILER%" -c -i "RES_RCO/locale/%%f" -s "%SCE_PSP2_SDK_DIR%/host_tools/build/rco/def/rcs.cxmldef" -o "%TMP%/%%f.rcs"
12 |
13 | )
14 |
15 | "%COMPILER%" -c -i "RES_RCO/%PLUGIN%_plugin.xml" -s "%SCE_PSP2_SDK_DIR%/host_tools/build/rco/def/rco.cxmldef" -o "CONTENTS/%PLUGIN%_plugin.rco" -r "CONTENTS/%PLUGIN%_plugin.rcd"
--------------------------------------------------------------------------------
/NetStream/include/common.h:
--------------------------------------------------------------------------------
1 | #ifndef _COMMON_H_
2 | #define _COMMON_H_
3 |
4 | #include
5 |
6 | #include "netstream_plugin.h"
7 | #include "netstream_settings.h"
8 | #include "netstream_locale.h"
9 |
10 | #include "menus/menu_settings.h"
11 |
12 | #define USER_AGENT "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
13 |
14 | #define NP_TUS_FAV_LOG_SLOT (2)
15 | #define NP_TUS_HIST_LOG_SLOT (1)
16 |
17 | using namespace paf;
18 |
19 | extern Plugin *g_appPlugin;
20 |
21 | extern intrusive_ptr g_texCheckMark;
22 | extern intrusive_ptr g_texTransparent;
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/NetStream/include/debug.h:
--------------------------------------------------------------------------------
1 | #ifndef _DEBUG_H_
2 | #define _DEBUG_H_
3 |
4 | #include
5 | #include
6 |
7 | #ifdef _DEBUG
8 |
9 | //#define DEBUG_MEM_HEAP
10 | //#define DEBUG_SURFACE_HEAP
11 | //#define DEBUG_JOB_QUEUE
12 | //#define DEBUG_EXTRA_TTY
13 |
14 | void InitDebug();
15 | void SetCurrentDebugParam(paf::Plugin *plugin, paf::ui::Scene *page);
16 | void SetPageDebugMode(paf::Plugin *plugin, paf::IDParam const& id, paf::Plugin::PageDebugMode mode, bool on);
17 |
18 | #endif
19 |
20 | #endif
21 |
--------------------------------------------------------------------------------
/NetStream/include/dialog.h:
--------------------------------------------------------------------------------
1 | #ifndef _DIALOG_H_
2 | #define _DIALOG_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | using namespace paf;
9 |
10 | namespace dialog
11 | {
12 | enum
13 | {
14 | DialogEvent = (ui::Handler::CB_STATE + 0x40000),
15 | };
16 |
17 | enum ButtonCode
18 | {
19 | ButtonCode_X = 1,
20 | ButtonCode_Ok,
21 | ButtonCode_Cancel,
22 | ButtonCode_Yes,
23 | ButtonCode_No,
24 | ButtonCode_Button1 = ButtonCode_Yes,
25 | ButtonCode_Button2 = ButtonCode_No,
26 | ButtonCode_Button3 = ButtonCode_Cancel
27 | };
28 |
29 | void OpenPleaseWait(Plugin *workPlugin, const wchar_t *titleText, const wchar_t *messageText, bool withCancel = false);
30 |
31 | void OpenYesNo(Plugin *workPlugin, const wchar_t *titleText, const wchar_t *messageTextL);
32 |
33 | void OpenOk(Plugin *workPlugin, const wchar_t *titleText, const wchar_t *messageText);
34 |
35 | void OpenError(Plugin *workPlugin, int32_t errorCode, const wchar_t *messageText = NULL);
36 |
37 | void OpenTwoButton(
38 | Plugin *workPlugin,
39 | const wchar_t *titleText,
40 | const wchar_t *messageText,
41 | uint32_t button1TextHashref,
42 | uint32_t button2TextHashref);
43 |
44 | void OpenThreeButton(
45 | Plugin *workPlugin,
46 | const wchar_t *titleText,
47 | const wchar_t *messageText,
48 | uint32_t button1TextHashref,
49 | uint32_t button2TextHashref,
50 | uint32_t button3TextHashref);
51 |
52 | ui::ListView *OpenListView(
53 | Plugin *workPlugin,
54 | const wchar_t *titleText);
55 |
56 | ui::ScrollView *OpenScrollView(
57 | Plugin *workPlugin,
58 | const wchar_t *titleText);
59 |
60 | void Close();
61 |
62 | void WaitEnd();
63 | };
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/NetStream/include/downloader.h:
--------------------------------------------------------------------------------
1 | #ifndef _ELEVENMPV_DOWNLOADER_H_
2 | #define _ELEVENMPV_DOWNLOADER_H_
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 |
9 | using namespace paf;
10 |
11 | class Downloader
12 | {
13 | public:
14 |
15 | enum
16 | {
17 | DownloaderEvent = (ui::Handler::CB_STATE + 0x60000),
18 | };
19 |
20 | Downloader();
21 |
22 | ~Downloader();
23 |
24 | int32_t Enqueue(Plugin *workPlugin, const char *url, const char *name);
25 |
26 | int32_t EnqueueAsync(Plugin *workPlugin, const char *url, const char *name);
27 |
28 | private:
29 |
30 | class AsyncEnqueue : public job::JobItem
31 | {
32 | public:
33 |
34 | AsyncEnqueue(Plugin *workPlugin, Downloader *downloader, const char *url, const char *name) :
35 | job::JobItem("Downloader::AsyncEnqueue", NULL), m_plugin(workPlugin), m_downloader(downloader), m_url8(url), m_name8(name)
36 | {
37 |
38 | }
39 |
40 | ~AsyncEnqueue() {}
41 |
42 | void Run()
43 | {
44 | Downloader *pdownloader = (Downloader *)m_downloader;
45 | pdownloader->Enqueue(m_plugin, m_url8.c_str(), m_name8.c_str());
46 | }
47 |
48 | void Finish() {}
49 |
50 | private:
51 |
52 | string m_url8;
53 | string m_name8;
54 | void *m_downloader;
55 | Plugin *m_plugin;
56 | };
57 |
58 | sce::Download dw;
59 | };
60 |
61 | #endif
62 |
--------------------------------------------------------------------------------
/NetStream/include/event.h:
--------------------------------------------------------------------------------
1 | #ifndef _EVENT_UTIL_H_
2 | #define _EVENT_UTIL_H_
3 |
4 | #include
5 | #include
6 |
7 | using namespace paf;
8 |
9 | namespace event
10 | {
11 | void BroadcastGlobalEvent(Plugin *workPlugin, uint32_t type, int32_t d0 = 0, int32_t d1 = 0, int32_t d2 = 0, int32_t d3 = 0);
12 | };
13 |
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/NetStream/include/ftp_server_browser.h:
--------------------------------------------------------------------------------
1 | #ifndef _FTP_SERVER_BROWSER_H_
2 | #define _FTP_SERVER_BROWSER_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include "generic_server_browser.h"
9 |
10 | using namespace paf;
11 |
12 | class FtpServerBrowser : public GenericServerBrowser
13 | {
14 | public:
15 |
16 | FtpServerBrowser(const char *host, const char *port, const char *user, const char *password);
17 |
18 | ~FtpServerBrowser();
19 |
20 | bool Probe();
21 |
22 | bool IsAtRoot(string *current);
23 |
24 | bool IsAtRoot();
25 |
26 | void SetPath(const char *ref);
27 |
28 | string GetPath();
29 |
30 | string GetBEAVUrl(string const& in);
31 |
32 | vector *GoTo(const char *ref, int32_t *result);
33 |
34 | private:
35 |
36 | static size_t DownloadCore(char *buffer, size_t size, size_t nitems, void *userdata);
37 |
38 | CURLU *m_url;
39 | CURL *m_curl;
40 | string m_root;
41 | char *m_buffer;
42 | uint32_t m_posInBuf;
43 | int32_t m_useNlst;
44 | };
45 |
46 | #endif
--------------------------------------------------------------------------------
/NetStream/include/ftpparse.h:
--------------------------------------------------------------------------------
1 | #ifndef FTPPARSE_H
2 | #define FTPPARSE_H
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | /*
9 | ftpparse(&fp,buf,len) tries to parse one line of LIST output.
10 |
11 | The line is an array of len characters stored in buf.
12 | It should not include the terminating CR LF; so buf[len] is typically CR.
13 |
14 | If ftpparse() can't find a filename, it returns 0.
15 |
16 | If ftpparse() can find a filename, it fills in fp and returns 1.
17 | fp is a struct ftpparse, defined below.
18 | The name is an array of fp.namelen characters stored in fp.name;
19 | fp.name points somewhere within buf.
20 | */
21 |
22 | struct ftpparse {
23 | char *name; /* not necessarily 0-terminated */
24 | int namelen;
25 | int flagtrycwd; /* 0 if cwd is definitely pointless, 1 otherwise */
26 | int flagtryretr; /* 0 if retr is definitely pointless, 1 otherwise */
27 | int sizetype;
28 | long size; /* number of octets */
29 | int mtimetype;
30 | time_t mtime; /* modification time */
31 | int idtype;
32 | char *id; /* not necessarily 0-terminated */
33 | int idlen;
34 | } ;
35 |
36 | #define FTPPARSE_SIZE_UNKNOWN 0
37 | #define FTPPARSE_SIZE_BINARY 1 /* size is the number of octets in TYPE I */
38 | #define FTPPARSE_SIZE_ASCII 2 /* size is the number of octets in TYPE A */
39 |
40 | #define FTPPARSE_MTIME_UNKNOWN 0
41 | #define FTPPARSE_MTIME_LOCAL 1 /* time is correct */
42 | #define FTPPARSE_MTIME_REMOTEMINUTE 2 /* time zone and secs are unknown */
43 | #define FTPPARSE_MTIME_REMOTEDAY 3 /* time zone and time of day are unknown */
44 | /*
45 | When a time zone is unknown, it is assumed to be GMT. You may want
46 | to use localtime() for LOCAL times, along with an indication that the
47 | time is correct in the local time zone, and gmtime() for REMOTE* times.
48 | */
49 |
50 | #define FTPPARSE_ID_UNKNOWN 0
51 | #define FTPPARSE_ID_FULL 1 /* unique identifier for files on this FTP server */
52 |
53 | int ftpparse(struct ftpparse *,char *,int);
54 |
55 | #ifdef __cplusplus
56 | }
57 | #endif
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/NetStream/include/generic_server_browser.h:
--------------------------------------------------------------------------------
1 | #ifndef _GENERIC_SERVER_BROWSER_H_
2 | #define _GENERIC_SERVER_BROWSER_H_
3 |
4 | #include
5 | #include
6 |
7 | using namespace paf;
8 |
9 | class GenericServerBrowser
10 | {
11 | public:
12 |
13 | class Entry
14 | {
15 | public:
16 |
17 | enum Type
18 | {
19 | Type_UnsupportedFile,
20 | Type_SupportedFile,
21 | Type_PlaylistFile,
22 | Type_Folder
23 | };
24 |
25 | paf::string ref;
26 | uint32_t type;
27 | };
28 |
29 | GenericServerBrowser()
30 | {
31 |
32 | }
33 |
34 | virtual ~GenericServerBrowser()
35 | {
36 |
37 | }
38 |
39 | virtual bool Probe() = 0;
40 |
41 | virtual bool IsAtRoot(string *current) = 0;
42 |
43 | virtual bool IsAtRoot() = 0;
44 |
45 | virtual void SetPath(const char *ref) = 0;
46 |
47 | virtual string GetPath() = 0;
48 |
49 | virtual string GetBEAVUrl(string const& in) = 0;
50 |
51 | virtual vector *GoTo(const char *ref, int32_t *result) = 0;
52 | };
53 |
54 | #endif
--------------------------------------------------------------------------------
/NetStream/include/http_server_browser.h:
--------------------------------------------------------------------------------
1 | #ifndef _HTTP_SERVER_BROWSER_H_
2 | #define _HTTP_SERVER_BROWSER_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include "generic_server_browser.h"
9 |
10 | using namespace paf;
11 |
12 | class HttpServerBrowser : public GenericServerBrowser
13 | {
14 | public:
15 |
16 | HttpServerBrowser(const char *host, const char *port, const char *user, const char *password);
17 |
18 | ~HttpServerBrowser();
19 |
20 | bool Probe();
21 |
22 | bool IsAtRoot(string *current);
23 |
24 | bool IsAtRoot();
25 |
26 | void SetPath(const char *ref);
27 |
28 | string GetPath();
29 |
30 | string GetBEAVUrl(string const& in);
31 |
32 | vector *GoTo(const char *ref, int32_t *result);
33 |
34 | private:
35 |
36 | static size_t DownloadCore(char *buffer, size_t size, size_t nitems, void *userdata);
37 |
38 | CURLU *m_url;
39 | CURL *m_curl;
40 | string m_root;
41 | char *m_buffer;
42 | uint32_t m_posInBuf;
43 | };
44 |
45 | #endif
--------------------------------------------------------------------------------
/NetStream/include/hvdb_utils.h:
--------------------------------------------------------------------------------
1 | #ifndef _HVDBUTILS_H_
2 | #define _HVDBUTILS_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include "yt_utils.h"
9 | #include "downloader.h"
10 |
11 | using namespace paf;
12 |
13 | namespace hvdbutils
14 | {
15 | class EntryLog : public ytutils::Log
16 | {
17 | public:
18 |
19 | EntryLog();
20 |
21 | static void Clean();
22 | };
23 |
24 | void Init();
25 |
26 | void Term();
27 |
28 | void Flush();
29 |
30 | EntryLog *GetEntryLog();
31 |
32 | int32_t EnqueueDownload(const char *url, const char *name);
33 |
34 | int32_t EnqueueDownloadAsync(const char *url, const char *name);
35 | };
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/NetStream/include/local_server_browser.h:
--------------------------------------------------------------------------------
1 | #ifndef _LOCAL_SERVER_BROWSER_H_
2 | #define _LOCAL_SERVER_BROWSER_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include "generic_server_browser.h"
9 |
10 | using namespace paf;
11 |
12 | class LocalServerBrowser : public GenericServerBrowser
13 | {
14 | public:
15 |
16 | static bool DefaultFsSort(const LocalServerBrowser::Entry* a, const LocalServerBrowser::Entry* b);
17 |
18 | LocalServerBrowser();
19 |
20 | ~LocalServerBrowser();
21 |
22 | bool Probe();
23 |
24 | bool IsAtRoot(string *current);
25 |
26 | bool IsAtRoot();
27 |
28 | void SetPath(const char *ref);
29 |
30 | string GetPath();
31 |
32 | string GetBEAVUrl(string const& in);
33 |
34 | vector *GoTo(const char *ref, int32_t *result);
35 |
36 | private:
37 |
38 | string m_path;
39 | };
40 |
41 | #endif
--------------------------------------------------------------------------------
/NetStream/include/main.h:
--------------------------------------------------------------------------------
1 | #ifndef _MAIN_H_
2 | #define _MAIN_H_
3 |
4 | #include
5 | #include
6 |
7 | using namespace paf;
8 |
9 | extern "C"
10 | {
11 | SceUID _vshKernelSearchModuleByName(const char *, int *);
12 | }
13 |
14 | namespace menu {
15 | namespace main {
16 | class NetcheckJob : public job::JobItem
17 | {
18 | public:
19 |
20 | enum Type
21 | {
22 | Type_Initial,
23 | Type_NpOnly
24 | };
25 |
26 | NetcheckJob(Type type) : job::JobItem("NS::NetcheckJob", NULL), m_type(type)
27 | {
28 |
29 | }
30 |
31 | ~NetcheckJob() {}
32 |
33 | void Run();
34 |
35 | void Finish() {}
36 |
37 | private:
38 |
39 | Type m_type;
40 | };
41 |
42 | int32_t OnNpDialogComplete(void *data);
43 | }
44 | }
45 |
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_first.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_FIRST_H_
2 | #define _MENU_FIRST_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "menu_generic.h"
8 |
9 | using namespace paf;
10 |
11 | namespace menu {
12 |
13 | class First : public GenericMenu
14 | {
15 | public:
16 |
17 | class ListViewFactory : public ui::listview::ItemFactory
18 | {
19 | public:
20 |
21 | ListViewFactory(menu::First *parent) : m_parent(parent)
22 | {
23 |
24 | }
25 |
26 | ~ListViewFactory()
27 | {
28 |
29 | }
30 |
31 | ui::ListItem* Create(CreateParam& param)
32 | {
33 | return m_parent->CreateListItem(param);
34 | }
35 |
36 | private:
37 |
38 | menu::First *m_parent;
39 | };
40 |
41 | First();
42 |
43 | ~First();
44 |
45 | ui::ListItem* CreateListItem(ui::listview::ItemFactory::CreateParam& param);
46 |
47 | void OnListButton(ui::Widget *self);
48 |
49 | MenuType GetMenuType()
50 | {
51 | return MenuType_First;
52 | }
53 |
54 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
55 | {
56 | *count = 0;
57 | return nullptr;
58 | }
59 | };
60 | }
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_ftp.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_FTP_H_
2 | #define _MENU_FTP_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "menu_server.h"
9 | #include "ftp_server_browser.h"
10 | #include "menus/menu_player_simple.h"
11 |
12 | using namespace paf;
13 |
14 | namespace menu {
15 | class Ftp : public GenericServerMenu
16 | {
17 | public:
18 |
19 | Ftp()
20 | {
21 | sce::AppSettings *settings = menu::Settings::GetAppSetInstance();
22 |
23 | char host[256];
24 | char port[32];
25 | char user[256];
26 | char password[256];
27 |
28 | settings->GetString("ftp_host", host, sizeof(host), "");
29 | settings->GetString("ftp_port", port, sizeof(port), "");
30 | settings->GetString("ftp_user", user, sizeof(user), "");
31 | settings->GetString("ftp_password", password, sizeof(password), "");
32 |
33 | m_browser = new FtpServerBrowser(host, port, user, password);
34 | }
35 |
36 | MenuType GetMenuType()
37 | {
38 | return MenuType_Ftp;
39 | }
40 |
41 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
42 | {
43 | *count = sizeof(k_settingsIdList) / sizeof(char*);
44 | return k_settingsIdList;
45 | }
46 |
47 | private:
48 |
49 | const uint32_t k_settingsIdList[1] = {
50 | ftp_setting
51 | };
52 | };
53 | }
54 |
55 | #endif
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_generic.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_GENERIC_H_
2 | #define _MENU_GENERIC_H_
3 |
4 | #include
5 | #include
6 |
7 | using namespace paf;
8 |
9 | namespace menu {
10 |
11 | enum MenuType
12 | {
13 | MenuType_First,
14 | MenuType_Http,
15 | MenuType_Ftp,
16 | MenuType_Local,
17 | MenuType_Youtube,
18 | MenuType_Hvdb,
19 | MenuType_PlayerSimple,
20 | MenuType_PlayerYouTube,
21 | };
22 |
23 | void SettingsButtonCbFun(int32_t type, ui::Handler *self, ui::Event *e, void *userdata);
24 |
25 | class MenuOpenParam : public Plugin::PageOpenParam
26 | {
27 | public:
28 |
29 | MenuOpenParam(
30 | bool useFadeIn = false,
31 | float fadeinTimeMs = 200.0f,
32 | Plugin::TransitionType effectType = Plugin::TransitionType_None,
33 | uint32_t openFlags = 0,
34 | int32_t priority = -1) :
35 | m_envOpt(nullptr)
36 | {
37 | fade = useFadeIn;
38 | fade_time_ms = fadeinTimeMs;
39 | transition_type = effectType;
40 | overwrite_draw_priority = priority;
41 |
42 | if (openFlags != 0)
43 | {
44 | if ((openFlags & ui::EnvironmentParam::RESOLUTION_HD_HALF) == ui::EnvironmentParam::RESOLUTION_HD_HALF
45 | || (openFlags & ui::EnvironmentParam::RESOLUTION_HD_FULL) == ui::EnvironmentParam::RESOLUTION_HD_FULL)
46 | {
47 | if (SCE_PAF_IS_DOLCE)
48 | {
49 | m_envOpt = new ui::EnvironmentParam(openFlags);
50 | }
51 | }
52 | else
53 | {
54 | m_envOpt = new ui::EnvironmentParam(openFlags);
55 | }
56 | }
57 |
58 | env_param = m_envOpt;
59 | graphics_flag = 0x80;
60 | }
61 |
62 | ~MenuOpenParam()
63 | {
64 | delete m_envOpt;
65 | }
66 |
67 | private:
68 |
69 | ui::EnvironmentParam *m_envOpt;
70 | };
71 |
72 | class MenuCloseParam : public Plugin::PageCloseParam
73 | {
74 | public:
75 |
76 | MenuCloseParam(
77 | bool useFadeOut = false,
78 | float fadeoutTimeMs = 200.0f,
79 | Plugin::TransitionType effectType = Plugin::TransitionType_None)
80 | {
81 | fade = useFadeOut;
82 | fade_time_ms = fadeoutTimeMs;
83 | transition_type = effectType;
84 | }
85 |
86 | ~MenuCloseParam()
87 | {
88 |
89 | }
90 | };
91 |
92 | class GenericMenu
93 | {
94 | public:
95 |
96 | GenericMenu(const char *name, MenuOpenParam const& oparam, MenuCloseParam const& cparam);
97 |
98 | virtual ~GenericMenu();
99 |
100 | virtual void Activate();
101 |
102 | virtual void Deactivate(bool withDelay = false);
103 |
104 | virtual void DisableInput();
105 |
106 | virtual void EnableInput();
107 |
108 | virtual MenuType GetMenuType() = 0;
109 |
110 | virtual const uint32_t *GetSupportedSettingsItems(int32_t *count) = 0;
111 |
112 | ui::Scene *GetRoot() const;
113 |
114 | protected:
115 |
116 | ui::Scene *m_root;
117 |
118 | private:
119 |
120 | MenuCloseParam m_closeParam;
121 | };
122 |
123 | void InitMenuSystem();
124 |
125 | void TermMenuSystem();
126 |
127 | uint32_t GetMenuCount();
128 |
129 | menu::GenericMenu *GetTopMenu();
130 |
131 | menu::GenericMenu *GetMenuAt(uint32_t idx);
132 |
133 | void DeactivateAll(uint32_t endMargin = 0);
134 |
135 | void ActivateAll();
136 | }
137 |
138 |
139 | #endif
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_http.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_HTTP_H_
2 | #define _MENU_HTTP_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "menu_server.h"
9 | #include "http_server_browser.h"
10 |
11 | using namespace paf;
12 |
13 | namespace menu {
14 | class Http : public GenericServerMenu
15 | {
16 | public:
17 |
18 | Http()
19 | {
20 | sce::AppSettings *settings = menu::Settings::GetAppSetInstance();
21 |
22 | char host[256];
23 | char port[32];
24 | char user[256];
25 | char password[256];
26 |
27 | settings->GetString("http_host", host, sizeof(host), "");
28 | settings->GetString("http_port", port, sizeof(port), "");
29 | settings->GetString("http_user", user, sizeof(user), "");
30 | settings->GetString("http_password", password, sizeof(password), "");
31 |
32 | m_browser = new HttpServerBrowser(host, port, user, password);
33 | }
34 |
35 | MenuType GetMenuType()
36 | {
37 | return MenuType_Http;
38 | }
39 |
40 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
41 | {
42 | *count = sizeof(k_settingsIdList) / sizeof(char*);
43 | return k_settingsIdList;
44 | }
45 |
46 | private:
47 |
48 | const uint32_t k_settingsIdList[1] = {
49 | http_setting
50 | };
51 | };
52 | }
53 |
54 | #endif
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_hvdb.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_HVDB_H_
2 | #define _MENU_HVDB_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "tex_pool.h"
9 | #include "hvdb.h"
10 | #include "menu_generic.h"
11 | #include "menus/menu_player_simple.h"
12 |
13 | using namespace paf;
14 |
15 | namespace menu {
16 | class HVDB : public GenericMenu
17 | {
18 | public:
19 |
20 | class AudioItem;
21 |
22 | class EntryAddJob : public job::JobItem
23 | {
24 | public:
25 |
26 | EntryAddJob(HVDB *parent) : job::JobItem("HVDB::EntryAddJob", NULL), m_parent(parent)
27 | {
28 |
29 | }
30 |
31 | ~EntryAddJob() {}
32 |
33 | void Run()
34 | {
35 | m_parent->AddEntry();
36 | }
37 |
38 | void Finish() {}
39 |
40 | private:
41 |
42 | HVDB *m_parent;
43 | };
44 |
45 | class TrackParseJob : public job::JobItem
46 | {
47 | public:
48 |
49 | TrackParseJob(HVDB *parent, AudioItem *item) : job::JobItem("HVDB::TrackParseJob", NULL), m_parent(parent), m_audioItem(item)
50 | {
51 |
52 | }
53 |
54 | ~TrackParseJob() {}
55 |
56 | void Run()
57 | {
58 | m_parent->ParseTrack(m_audioItem);
59 | }
60 |
61 | void Finish() {}
62 |
63 | private:
64 |
65 | HVDB *m_parent;
66 | AudioItem *m_audioItem;
67 | };
68 |
69 | class LogClearJob : public job::JobItem
70 | {
71 | public:
72 |
73 | LogClearJob(HVDB *parent) : job::JobItem("HVDB::LogClearJob", NULL), m_parent(parent)
74 | {
75 |
76 | }
77 |
78 | ~LogClearJob() {}
79 |
80 | void Run();
81 |
82 | void Finish() {}
83 |
84 | private:
85 |
86 | HVDB *m_parent;
87 | };
88 |
89 | class ListViewCb : public ui::listview::ItemFactory
90 | {
91 | public:
92 |
93 | ListViewCb(HVDB *parent) : m_parent(parent)
94 | {
95 |
96 | }
97 |
98 | ~ListViewCb()
99 | {
100 |
101 | }
102 |
103 | ui::ListItem *Create(CreateParam& param)
104 | {
105 | return m_parent->CreateListItem(param);
106 | }
107 |
108 | void Start(StartParam& param)
109 | {
110 | param.list_item->Show(common::transition::Type_Popup1);
111 | }
112 |
113 | private:
114 |
115 | HVDB *m_parent;
116 | };
117 |
118 | class ListViewTrackCb : public ui::listview::ItemFactory
119 | {
120 | public:
121 |
122 | ListViewTrackCb(HVDB *parent) : m_parent(parent)
123 | {
124 |
125 | }
126 |
127 | ~ListViewTrackCb()
128 | {
129 |
130 | }
131 |
132 | ui::ListItem *Create(CreateParam& param)
133 | {
134 | return m_parent->CreateTrackListItem(param);
135 | }
136 |
137 | void Start(StartParam& param)
138 | {
139 | param.list_item->Show(common::transition::Type_Popup1);
140 | }
141 |
142 | private:
143 |
144 | HVDB *m_parent;
145 | };
146 |
147 | class AudioItem
148 | {
149 | public:
150 |
151 | AudioItem()
152 | {
153 |
154 | }
155 |
156 | wstring name;
157 | wstring subtitle;
158 | string id;
159 | string cover;
160 | IDParam texId;
161 | TexPool *texPool;
162 | };
163 |
164 | class TrackItem
165 | {
166 | public:
167 |
168 | TrackItem()
169 | {
170 |
171 | }
172 |
173 | wstring name;
174 | string url;
175 | AudioItem *audioItem;
176 | };
177 |
178 | HVDB();
179 |
180 | ~HVDB();
181 |
182 | void ClearEntryResults();
183 |
184 | void AddEntry();
185 |
186 | void ParseTrack(AudioItem *audioItem);
187 |
188 | ui::ListItem* CreateListItem(ui::listview::ItemFactory::CreateParam& param);
189 |
190 | ui::ListItem* CreateTrackListItem(ui::listview::ItemFactory::CreateParam& param);
191 |
192 | MenuType GetMenuType()
193 | {
194 | return MenuType_Hvdb;
195 | }
196 |
197 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
198 | {
199 | *count = 0;
200 | return k_settingsIdList;
201 | }
202 |
203 | private:
204 |
205 | void OnBackButton();
206 | void OnListButton(ui::Widget *wdg);
207 | void OnDeleteButton(ui::Widget *wdg);
208 | void OnAddEntryButton();
209 | void OnSettingsButton();
210 | void OnOptionMenuEvent(int32_t type, int32_t subtype);
211 | void OnDialogEvent(int32_t type);
212 | void OnPlayerEvent(int32_t type);
213 |
214 | static void OnTexPoolAdd(int32_t type, ui::Handler *self, ui::Event *e, void *userdata);
215 |
216 | ui::Widget *m_browserRoot;
217 | ui::BusyIndicator *m_loaderIndicator;
218 | ui::Text *m_topText;
219 | ui::TextBox *m_addEntryTextBox;
220 | ui::ListView *m_list;
221 | ui::ListView *m_trackList;
222 | ui::Button *m_backButton;
223 | menu::PlayerSimple *m_player;
224 | string m_addEntryId;
225 | int32_t m_dialogIdx;
226 | bool m_interrupted;
227 | TexPool *m_texPool;
228 | vector m_entryResults;
229 | vector m_trackResults;
230 |
231 | const uint32_t k_settingsIdList[0] = {
232 | };
233 | };
234 |
235 | }
236 |
237 | #endif
238 |
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_local.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_LOCAL_H_
2 | #define _MENU_LOCAL_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "menu_server.h"
9 | #include "local_server_browser.h"
10 |
11 | using namespace paf;
12 |
13 | namespace menu {
14 | class Local : public GenericServerMenu
15 | {
16 | public:
17 |
18 | Local()
19 | {
20 | m_browser = new LocalServerBrowser();
21 | }
22 |
23 | MenuType GetMenuType()
24 | {
25 | return MenuType_Local;
26 | }
27 |
28 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
29 | {
30 | *count = sizeof(k_settingsIdList) / sizeof(char*);
31 | return k_settingsIdList;
32 | }
33 |
34 | private:
35 |
36 | const uint32_t k_settingsIdList[1] = {
37 | local_setting
38 | };
39 | };
40 | }
41 |
42 | #endif
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_player_simple.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_PLAYER_SIMPLE_H_
2 | #define _MENU_PLAYER_SIMPLE_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "player_generic.h"
8 | #include "menu_generic.h"
9 | #include "menu_youtube.h"
10 |
11 | using namespace paf;
12 |
13 | namespace menu {
14 | class PlayerSimple : public GenericMenu
15 | {
16 | public:
17 |
18 | enum
19 | {
20 | PlayerSimpleEvent = (ui::Handler::CB_STATE + 0x10000),
21 | };
22 |
23 | enum PlayerEvent
24 | {
25 | PlayerEvent_InitFail,
26 | PlayerEvent_InitOk,
27 | PlayerEvent_Back
28 | };
29 |
30 | enum AccJumpState
31 | {
32 | AccJumpState_None,
33 | AccJumpState_Accumulate,
34 | AccJumpState_Perform
35 | };
36 |
37 | enum SettingsOverride
38 | {
39 | SettingsOverride_None,
40 | SettingsOverride_YouTube
41 | };
42 |
43 | class PadListener : public inputdevice::InputListener
44 | {
45 | public:
46 |
47 | PadListener(PlayerSimple *parent) : InputListener(inputdevice::DEVICE_TYPE_PAD), m_parent(parent)
48 | {
49 |
50 | }
51 |
52 | void OnUpdate(inputdevice::Data *data)
53 | {
54 | m_parent->OnPadUpdate(data);
55 | }
56 |
57 | private:
58 |
59 | PlayerSimple *m_parent;
60 | };
61 |
62 | typedef void(*PlayerSimpleCallback)(PlayerSimple *player, void *pUserArg);
63 |
64 | PlayerSimple(const char *url, const char *coverUrl = NULL);
65 |
66 | ~PlayerSimple();
67 |
68 | GenericPlayer *GetPlayer();
69 |
70 | void SetScale(float scale);
71 |
72 | float GetScale();
73 |
74 | void SetPosition(float x, float y);
75 |
76 | void SetSettingsOverride(SettingsOverride override);
77 |
78 | MenuType GetMenuType()
79 | {
80 | return MenuType_PlayerSimple;
81 | }
82 |
83 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
84 | {
85 | switch (m_settingsOverride)
86 | {
87 | case SettingsOverride_None:
88 | *count = 0;
89 | return nullptr;
90 | case SettingsOverride_YouTube:
91 | *count = sizeof(k_settingsIdListYoutubeOverride) / sizeof(char*);
92 | return k_settingsIdListYoutubeOverride;
93 | }
94 |
95 | return nullptr;
96 | }
97 |
98 | private:
99 |
100 | static int32_t PowerCallback(SceUID notifyId, int32_t notifyCount, int32_t notifyArg, void *pCommon);
101 | static void UpdateTask(void *pArgBlock);
102 | void OnVideoPlaneTouch();
103 | void OnProgressBarStateChange(int32_t type);
104 | void OnBackButton();
105 | void OnPlayButton();
106 | void OnWholeRepeatButton();
107 | void OnPowerCallback(int32_t notifyArg);
108 | void OnGenericPlayerStateChange(int32_t state);
109 | void OnUpdate();
110 | void OnPadUpdate(inputdevice::Data *data);
111 |
112 | ui::Widget *m_videoPlane;
113 | ui::BusyIndicator *m_loadIndicator;
114 | ui::Widget *m_leftAccText;
115 | ui::Widget *m_rightAccText;
116 | ui::Widget *m_statPlane;
117 | ui::Widget *m_backButton;
118 | ui::Widget *m_wholeRepeatButton;
119 | ui::Text *elapsedTimeText;
120 | ui::ProgressBarTouch *m_progressBar;
121 | ui::Widget *m_progressPlane;
122 | ui::Widget *m_playButton;
123 | uint32_t m_oldCurrTime;
124 | bool m_progressPlaneShown;
125 | uint32_t m_progressPlaneShownTime;
126 | bool m_isSeeking;
127 | bool m_isLS;
128 | uint32_t m_oldButtons;
129 | GenericPlayer::PlayerState m_oldState;
130 | int32_t m_accJumpTime;
131 | uint32_t m_accStartTime;
132 | AccJumpState m_accJumpState;
133 | float m_currentScale;
134 | SettingsOverride m_settingsOverride;
135 | SceUID m_pwCbId;
136 | common::SharedPtr m_padListener;
137 | GenericPlayer *m_player;
138 |
139 | const uint32_t k_settingsIdListYoutubeOverride[4] = {
140 | youtube_search_setting,
141 | youtube_comment_setting,
142 | youtube_quality_setting,
143 | youtube_player_setting
144 | };
145 | };
146 | }
147 |
148 | #endif
149 |
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_player_youtube.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_PLAYER_YOUTUBE_H_
2 | #define _MENU_PLAYER_YOUTUBE_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "invidious.h"
9 | #include "menu_generic.h"
10 | #include "menus/menu_player_simple.h"
11 |
12 | using namespace paf;
13 |
14 | #define HLS_COMMENT_NUM 6
15 | #define HLS_COMMENT_MAGIC 0x16865ddb
16 |
17 | namespace menu {
18 |
19 | class PlayerYoutube : public GenericMenu
20 | {
21 | public:
22 |
23 | enum CompanelMode
24 | {
25 | CompanelMode_None,
26 | CompanelMode_Description,
27 | CompanelMode_Comment
28 | };
29 |
30 | class LoadJob : public job::JobItem
31 | {
32 | public:
33 |
34 | LoadJob(PlayerYoutube *parent) : job::JobItem("YouTube::LoadJob", NULL), m_parent(parent)
35 | {
36 |
37 | }
38 |
39 | ~LoadJob() {}
40 |
41 | void Run()
42 | {
43 | m_parent->Load();
44 | }
45 |
46 | void Finish() {}
47 |
48 | private:
49 |
50 | PlayerYoutube *m_parent;
51 | };
52 |
53 | class CommentItem
54 | {
55 | public:
56 |
57 | wstring author;
58 | wstring content;
59 | wstring date;
60 | int32_t likeCount;
61 | bool likedByOwner;
62 | string replyContinuation;
63 | };
64 |
65 | class HlsCommentListViewCb : public ui::listview::ItemFactory
66 | {
67 | public:
68 |
69 | HlsCommentListViewCb(menu::PlayerYoutube *parent) : m_parent(parent)
70 | {
71 |
72 | }
73 |
74 | ~HlsCommentListViewCb()
75 | {
76 |
77 | }
78 |
79 | ui::ListItem* Create(CreateParam& param)
80 | {
81 | return m_parent->CreateHlsCommentListItem(param);
82 | }
83 |
84 | private:
85 |
86 | menu::PlayerYoutube *m_parent;
87 | };
88 |
89 | class CommentListViewCb : public ui::listview::ItemFactory
90 | {
91 | public:
92 |
93 | CommentListViewCb(menu::PlayerYoutube *parent) : m_parent(parent)
94 | {
95 |
96 | }
97 |
98 | ~CommentListViewCb()
99 | {
100 |
101 | }
102 |
103 | ui::ListItem* Create(CreateParam& param)
104 | {
105 | return m_parent->CreateCommentListItem(param);
106 | }
107 |
108 | private:
109 |
110 | PlayerYoutube *m_parent;
111 | };
112 |
113 | class HlsCommentParseThread : public thread::Thread
114 | {
115 | public:
116 |
117 | HlsCommentParseThread(PlayerYoutube *parent) : thread::Thread(SCE_KERNEL_DEFAULT_PRIORITY_USER + 20, SCE_KERNEL_64KiB, "YouTube::CommentParseThread", NULL), m_parent(parent)
118 | {
119 |
120 | }
121 |
122 | void EntryFunction()
123 | {
124 | m_parent->ParseHlsComments(this);
125 | }
126 |
127 | private:
128 |
129 | PlayerYoutube *m_parent;
130 | };
131 |
132 | class CommentParseJob : public job::JobItem
133 | {
134 | public:
135 |
136 | CommentParseJob(PlayerYoutube *parent) : job::JobItem("YouTube::CommentParseJob", NULL), m_parent(parent)
137 | {
138 |
139 | }
140 |
141 | ~CommentParseJob() {}
142 |
143 | void Run()
144 | {
145 | m_parent->ParseComments();
146 | }
147 |
148 | void Finish() {}
149 |
150 | private:
151 |
152 | PlayerYoutube *m_parent;
153 | };
154 |
155 | PlayerYoutube(const char *id, bool isFavourite);
156 |
157 | ~PlayerYoutube();
158 |
159 | MenuType GetMenuType()
160 | {
161 | return MenuType_PlayerYouTube;
162 | }
163 |
164 | const uint32_t *GetSupportedSettingsItems(int32_t *count)
165 | {
166 | *count = sizeof(k_settingsIdList) / sizeof(char*);
167 | return k_settingsIdList;
168 | }
169 |
170 | private:
171 |
172 | static void LoadSecondStageTask(void *pArgBlock);
173 | void OnLoadSecondStage();
174 | void OnDwAddComplete(int32_t result);
175 | void OnBackButton();
176 | void OnSettingsButton();
177 | void OnExpandButton();
178 | void OnFavButton();
179 | void OnCommentButton();
180 | void OnDescButton();
181 | void OnCommentBodyButton(ui::Widget *wdg);
182 | void OnPlayerEvent(int32_t type);
183 | void OnOptionMenuEvent(int32_t type, int32_t subtype);
184 | void OnSettingsEvent(int32_t type);
185 |
186 | void Load();
187 | void ParseComments();
188 | ui::ListItem *CreateHlsCommentListItem(ui::listview::ItemFactory::CreateParam& param);
189 | ui::ListItem *CreateCommentListItem(ui::listview::ItemFactory::CreateParam& param);
190 | void ParseHlsComments(thread::Thread *thrd);
191 |
192 | ui::Text *m_title;
193 | ui::Text *m_stat0;
194 | ui::Text *m_stat1;
195 | ui::Text *m_stat2;
196 | ui::Button *m_expandButton;
197 | ui::Button *m_favButton;
198 | ui::Widget *m_companelBase;
199 | ui::Widget *m_commentButton;
200 | ui::Widget *m_descButton;
201 | ui::ListView *m_companelRoot;
202 | menu::PlayerSimple *m_player;
203 | string m_videoLink;
204 | string m_audioLink;
205 | string m_videoId;
206 | bool m_isHls;
207 | bool m_isHighHls;
208 | bool m_isFav;
209 | string m_description;
210 | string m_commentCont;
211 | vector m_commentItems;
212 | HlsCommentParseThread *m_hlsCommentThread;
213 | bool m_lastAttempt;
214 |
215 | const uint32_t k_settingsIdList[5] = {
216 | youtube_search_setting,
217 | youtube_comment_setting,
218 | youtube_quality_setting,
219 | youtube_player_setting,
220 | cloud_sync_setting
221 | };
222 | };
223 | }
224 |
225 | #endif
226 |
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_server.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_SERVER_H_
2 | #define _MENU_SERVER_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "dialog.h"
8 | #include "menu_generic.h"
9 | #include "generic_server_browser.h"
10 | #include "menus/menu_player_simple.h"
11 |
12 | using namespace paf;
13 |
14 | namespace menu {
15 | class GenericServerMenu : public GenericMenu
16 | {
17 | public:
18 |
19 | class ListViewCb : public ui::listview::ItemFactory
20 | {
21 | public:
22 |
23 | ListViewCb(GenericServerMenu *parent) : m_parent(parent)
24 | {
25 |
26 | }
27 |
28 | ~ListViewCb()
29 | {
30 |
31 | }
32 |
33 | ui::ListItem *Create(CreateParam& param)
34 | {
35 | return m_parent->CreateListItem(param);
36 | }
37 |
38 | void Start(StartParam& param)
39 | {
40 | param.list_item->Show(common::transition::Type_Popup1);
41 | }
42 |
43 | private:
44 |
45 | GenericServerMenu *m_parent;
46 | };
47 |
48 | class GoToJob : public job::JobItem
49 | {
50 | public:
51 |
52 | GoToJob(GenericServerMenu *parent) : job::JobItem("Server::GoToJob", NULL), m_parent(parent)
53 | {
54 |
55 | }
56 |
57 | ~GoToJob() {}
58 |
59 | void Run()
60 | {
61 | m_parent->GoTo(m_targetRef);
62 | }
63 |
64 | void Finish() {}
65 |
66 | void SetRef(const string& ref)
67 | {
68 | m_targetRef = ref;
69 | }
70 |
71 | private:
72 |
73 | GenericServerMenu *m_parent;
74 | string m_targetRef;
75 | };
76 |
77 | class BrowserPage
78 | {
79 | public:
80 |
81 | BrowserPage() : m_isLoaded(false)
82 | {
83 |
84 | }
85 |
86 | ~BrowserPage()
87 | {
88 |
89 | }
90 |
91 | vector *m_itemList;
92 | ui::ListView *m_list;
93 | bool m_isLoaded;
94 | };
95 |
96 | GenericServerMenu();
97 |
98 | virtual ~GenericServerMenu();
99 |
100 | virtual MenuType GetMenuType() = 0;
101 |
102 | virtual const uint32_t *GetSupportedSettingsItems(int32_t *count) = 0;
103 |
104 | ui::ListItem* CreateListItem(ui::listview::ItemFactory::CreateParam& param);
105 |
106 | void GoTo(const string& ref);
107 |
108 | bool PushBrowserPage(string *ref);
109 |
110 | bool PopBrowserPage();
111 |
112 | protected:
113 |
114 | GenericServerBrowser *m_browser;
115 |
116 | private:
117 |
118 | void OnBackButton();
119 | void OnListButton(ui::Widget *wdg);
120 | void OnSettingsButton();
121 | void OnPlayerEvent(int32_t type);
122 | void OnOptionMenuEvent(int32_t type);
123 | void OnConnectionFailedDialogEvent();
124 | void OnPlayerCreateTimeout(GenericServerBrowser::Entry *entry);
125 |
126 | ui::Widget *m_browserRoot;
127 | ui::BusyIndicator *m_loaderIndicator;
128 | ui::Text *m_topText;
129 | vector m_pageList;
130 | menu::PlayerSimple *m_player;
131 | bool m_firstBoot;
132 | bool m_playerFailed;
133 | };
134 | }
135 |
136 | #endif
--------------------------------------------------------------------------------
/NetStream/include/menus/menu_settings.h:
--------------------------------------------------------------------------------
1 | #ifndef _MENU_SETTINGS_H_
2 | #define _MENU_SETTINGS_H_
3 |
4 | #include
5 | #include
6 |
7 | #include "menus/menu_generic.h"
8 |
9 | using namespace paf;
10 |
11 | namespace menu {
12 | class Settings
13 | {
14 | public:
15 |
16 | enum
17 | {
18 | SettingsEvent = (ui::Handler::CB_STATE + 0x30000),
19 | };
20 |
21 | enum SettingsEvent
22 | {
23 | SettingsEvent_Close,
24 | SettingsEvent_ValueChange
25 | };
26 |
27 | Settings();
28 |
29 | ~Settings();
30 |
31 | static Settings *GetInstance();
32 |
33 | static sce::AppSettings *GetAppSetInstance();
34 |
35 | static void Init();
36 |
37 | private:
38 |
39 | static void CBOnStartPageTransition(const char *elementId, int32_t type);
40 |
41 | static void CBOnPageActivate(const char *elementId, int32_t type);
42 |
43 | static void CBOnPageDeactivate(const char *elementId, int32_t type);
44 |
45 | static int32_t CBOnCheckVisible(const char *elementId, bool *pIsVisible);
46 |
47 | static int32_t CBOnPreCreate(const char *elementId, sce::AppSettings::Element *element);
48 |
49 | static int32_t CBOnPostCreate(const char *elementId, paf::ui::Widget *widget);
50 |
51 | static int32_t CBOnPress(const char *elementId, const char *newValue);
52 |
53 | static int32_t CBOnPress2(const char *elementId, const char *newValue);
54 |
55 | static void CBOnTerm(int32_t result);
56 |
57 | static wchar_t *CBOnGetString(const char *elementId);
58 |
59 | static int32_t CBOnGetSurface(graph::Surface **surf, const char *elementId);
60 | };
61 | }
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/NetStream/include/netstream_locale.h:
--------------------------------------------------------------------------------
1 | #ifndef _netstream_locale_H_
2 | #define _netstream_locale_H_
3 |
4 | //
5 | //This file was generated automatically by psp2pafhshgen.exe
6 | //
7 |
8 | #define msg_title_menu_first (0xcae20590)
9 | #define msg_fpmenu_item_0 (0xab1aa619)
10 | #define msg_fpmenu_item_1 (0xc308121f)
11 | #define msg_fpmenu_item_2 (0x45965a3d)
12 | #define msg_fpmenu_item_3 (0xa8fb98bc)
13 | #define msg_fpmenu_item_4 (0x5c491dfd)
14 | #define msg_youtube_history (0xa8a29762)
15 | #define msg_youtube_description (0x336514d8)
16 | #define msg_youtube_comment_more (0xa3ada054)
17 | #define msg_youtube_comment_detail (0x057bb502)
18 | #define msg_youtube_comment_reply (0x996ef6f5)
19 | #define msg_youtube_comment_like_count (0xc4d65d6e)
20 | #define msg_next_page (0x8adf20f8)
21 | #define msg_previous_page (0xede8bfcb)
22 | #define msg_settings (0xed3441bf)
23 | #define msg_settings_http (0x6c5673f2)
24 | #define msg_settings_ftp (0x704624b0)
25 | #define msg_settings_local (0xd9a4496d)
26 | #define msg_settings_search (0x58e3fab6)
27 | #define msg_settings_comment (0x126adfcc)
28 | #define msg_settings_quality (0xe8b7b3e1)
29 | #define msg_settings_youtube_player (0xa5f0b5bf)
30 | #define msg_settings_cloud_sync (0xd17de6c8)
31 | #define msg_settings_verinfo (0x32a4c75a)
32 | #define msg_http_host (0xdcb23ff1)
33 | #define msg_http_port (0xc7f3641b)
34 | #define msg_http_user (0x4af03db0)
35 | #define msg_http_password (0x1df489af)
36 | #define msg_ftp_host (0x3bfcdb72)
37 | #define msg_ftp_port (0xa27211e8)
38 | #define msg_ftp_user (0x91940499)
39 | #define msg_ftp_password (0x8b0f92bb)
40 | #define msg_ftp_nlst (0xc8025a39)
41 | #define msg_ftp_nlst_hint (0x8bac33a4)
42 | #define msg_local_playlist_prefix (0x4278708e)
43 | #define msg_local_sort_name (0xd5e8c8fa)
44 | #define msg_local_sort_type (0x02c5dfcb)
45 | #define msg_option_local_sort_name_0 (0x6ae3e929)
46 | #define msg_option_local_sort_name_1 (0x27cace63)
47 | #define msg_option_local_sort_type_0 (0x07755294)
48 | #define msg_option_local_sort_type_1 (0xa20432c9)
49 | #define msg_youtube_quality (0xc3f81023)
50 | #define msg_youtube_hls_quality (0x20d26d06)
51 | #define msg_youtube_inv_instance (0x40157a95)
52 | #define msg_youtube_region (0xb1f1b682)
53 | #define msg_youtube_search_sort (0x656f44a5)
54 | #define msg_youtube_search_date (0xcf93868a)
55 | #define msg_youtube_comment_sort (0xfd6ca373)
56 | #define msg_option_search_sort_0 (0x522b5f02)
57 | #define msg_option_search_sort_1 (0xecde5937)
58 | #define msg_option_search_sort_2 (0xa41c4c57)
59 | #define msg_option_search_sort_3 (0x2dc7bf9f)
60 | #define msg_option_search_date_0 (0x9dc2d0cd)
61 | #define msg_option_search_date_1 (0x7972fabe)
62 | #define msg_option_search_date_2 (0x8b497f22)
63 | #define msg_option_search_date_3 (0xe22a82a1)
64 | #define msg_option_search_date_4 (0x9a7b465f)
65 | #define msg_option_search_date_5 (0xe7a24a6b)
66 | #define msg_option_comment_sort_0 (0x0715b7f3)
67 | #define msg_option_comment_sort_1 (0x59115ba0)
68 | #define msg_option_youtube_quality_0 (0x090a5a71)
69 | #define msg_option_youtube_quality_1 (0xd17626b2)
70 | #define msg_option_youtube_hls_quality_0 (0xecf44403)
71 | #define msg_option_youtube_hls_quality_1 (0x34825a88)
72 | #define msg_option_youtube_hls_quality_2 (0x935fbb15)
73 | #define msg_option_youtube_hls_quality_3 (0x78d3872d)
74 | #define msg_option_youtube_hls_quality_4 (0x80acb85a)
75 | #define msg_toggle_cloud_sync (0xe3434564)
76 | #define msg_toggle_cloud_sync_auto (0x2144bf5c)
77 | #define msg_cloud_sync_hint (0x650bd57f)
78 | #define msg_toggle_youtube_min (0x9236786a)
79 | #define msg_settings_hvdb_clean_all_entry_confirm (0x82377bf8)
80 | #define msg_settings_hvdb_clean_all_entry (0xba37d16c)
81 | #define msg_settings_hvdb_add_entry (0x31f8a85b)
82 | #define msg_settings_youtube_cloud_upload (0x5fe6009c)
83 | #define msg_settings_youtube_cloud_download (0xb35e246e)
84 | #define msg_settings_youtube_clean_history (0xce0c7a4d)
85 | #define msg_settings_youtube_clean_fav (0x0342b229)
86 | #define msg_settings_youtube_clean_history_confirm (0xd3225a4e)
87 | #define msg_settings_youtube_clean_fav_confirm (0x68a1ba57)
88 | #define msg_settings_youtube_download (0x8449e69c)
89 | #define msg_settings_youtube_download_audio (0x99364cad)
90 | #define msg_settings_youtube_download_begin (0x5ed1d900)
91 | #define msg_hvdb_add_entry (0x5207934f)
92 | #define msg_hvdb_error_id_not_exist (0xda8c3984)
93 | #define msg_error_psn_connection (0x56f0c03c)
94 | #endif
--------------------------------------------------------------------------------
/NetStream/include/netstream_settings.h:
--------------------------------------------------------------------------------
1 | #ifndef _netstream_settings_H_
2 | #define _netstream_settings_H_
3 |
4 | //
5 | //This file was generated automatically by psp2pafhshgen.exe
6 | //
7 |
8 | #define ns_setting (0x9ae4442b)
9 | #define http_setting (0x823282d5)
10 | #define http_host (0xbe7aa61b)
11 | #define http_port (0x4d5195ab)
12 | #define http_user (0x74bca4c7)
13 | #define http_password (0x1cc16d21)
14 | #define ftp_setting (0x72e40d3f)
15 | #define ftp_host (0xe1a509f3)
16 | #define ftp_port (0xef7b3626)
17 | #define ftp_user (0x89e77ea8)
18 | #define ftp_password (0x571003fe)
19 | #define ftp_nlst (0xd6f1d921)
20 | #define local_setting (0x988ec70c)
21 | #define local_playlist_prefix (0xa088d09c)
22 | #define list_local_sort_name (0xf7bca884)
23 | #define list_local_sort_name_00 (0x8b449a7a)
24 | #define list_local_sort_name_01 (0xa0340593)
25 | #define list_local_sort_type (0x6e2b969f)
26 | #define list_local_sort_type_00 (0x8cca7adf)
27 | #define list_local_sort_type_01 (0x996d8e98)
28 | #define youtube_search_setting (0x47942f14)
29 | #define youtube_inv_instance (0xb938b374)
30 | #define youtube_region (0x4466b383)
31 | #define list_youtube_search_sort (0xcf6d2a1c)
32 | #define list_youtube_search_sort_00 (0x43d23f6c)
33 | #define list_youtube_search_sort_01 (0xa6ae18f3)
34 | #define list_youtube_search_sort_02 (0x331188e8)
35 | #define list_youtube_search_sort_03 (0x0842641b)
36 | #define list_youtube_search_date (0xcdcb47c1)
37 | #define list_youtube_search_date_00 (0xe8d5f4d5)
38 | #define list_youtube_search_date_01 (0x98d22213)
39 | #define list_youtube_search_date_02 (0x98f72046)
40 | #define list_youtube_search_date_03 (0x154a251e)
41 | #define list_youtube_search_date_04 (0xf19b986e)
42 | #define list_youtube_search_date_05 (0x8f0eac16)
43 | #define youtube_comment_setting (0x83fbebce)
44 | #define list_youtube_comment_sort (0xec9209f7)
45 | #define llist_youtube_comment_sort_00 (0x4993c0b5)
46 | #define llist_youtube_comment_sort_01 (0x197955f2)
47 | #define youtube_quality_setting (0x962064f3)
48 | #define list_youtube_quality (0x77e5a453)
49 | #define list_youtube_quality_00 (0xeb42ff53)
50 | #define list_youtube_quality_01 (0x619fad08)
51 | #define list_youtube_hls_quality (0x5f4b5e3b)
52 | #define list_youtube_hls_quality_00 (0xa1d3d966)
53 | #define list_youtube_hls_quality_01 (0x4df49f52)
54 | #define list_youtube_hls_quality_02 (0x19caa880)
55 | #define list_youtube_hls_quality_03 (0xe6bfddae)
56 | #define list_youtube_hls_quality_04 (0x4a778ca1)
57 | #define youtube_player_setting (0xb7539596)
58 | #define toggle_youtube_min (0x32513d0c)
59 | #define cloud_sync_setting (0xfb02b78a)
60 | #define toggle_cloud_sync (0x2c7de826)
61 | #define toggle_cloud_sync_auto (0x59fcfe5e)
62 | #define verinfo_setting (0x45eb30eb)
63 | #define label_verinfo (0x804ff666)
64 | #endif
--------------------------------------------------------------------------------
/NetStream/include/np_utils.h:
--------------------------------------------------------------------------------
1 | #ifndef _NP_UTILS_H_
2 | #define _NP_UTILS_H_
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | using namespace paf;
9 |
10 | namespace nputils
11 | {
12 | class TUS
13 | {
14 | public:
15 |
16 | TUS();
17 |
18 | ~TUS();
19 |
20 | int32_t Init();
21 |
22 | int32_t Term();
23 |
24 | int32_t UploadFile(uint32_t slot, const char *path);
25 |
26 | int32_t DownloadFile(uint32_t slot, const char *path);
27 |
28 | int32_t UploadString(uint32_t slot, const string& data);
29 |
30 | int32_t DownloadString(uint32_t slot, string& data);
31 |
32 | int32_t GetDataStatus(uint32_t slot, SceNpTusDataStatus *status);
33 |
34 | int32_t DeleteData(uint32_t slot);
35 |
36 | int32_t DeleteData(const vector *slots);
37 |
38 | private:
39 |
40 | SceNpId m_npid;
41 | int32_t m_ctx;
42 | };
43 |
44 | int32_t PreInit(thread::SyncCall::Function onComplete);
45 |
46 | int32_t Init(const char *tag = NULL, bool needTUS = false, const vector *usedTUSSlots = NULL);
47 |
48 | int32_t Term();
49 |
50 | bool IsAllGreen();
51 |
52 | TUS *GetTUS();
53 |
54 | int32_t NetDialogInit(void *data);
55 |
56 | void NetDialogCheck(void *data);
57 | };
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/NetStream/include/option_menu.h:
--------------------------------------------------------------------------------
1 | #ifndef _OPTION_MENU_H_
2 | #define _OPTION_MENU_H_
3 |
4 | #include
5 | #include
6 |
7 | using namespace paf;
8 |
9 | #define OPTION_MENU_BUTTON_MAGIC 0xa5448baf
10 |
11 | class OptionMenu
12 | {
13 | public:
14 |
15 | enum
16 | {
17 | OptionMenuEvent = (ui::Handler::CB_STATE + 0x50000),
18 | };
19 |
20 | enum OptionMenuEvent
21 | {
22 | OptionMenuEvent_Button,
23 | OptionMenuEvent_Close
24 | };
25 |
26 | class Button
27 | {
28 | public:
29 |
30 | wstring label;
31 | };
32 |
33 | OptionMenu(Plugin *workPlugin, ui::Widget *root, vector